Final configuration changes in preparation for TS (#12351)

This commit is contained in:
Nicolò Ribaudo 2020-11-12 16:09:29 +01:00 committed by GitHub
parent 5bbad8936b
commit 3e0fa927c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 45 additions and 63 deletions

View File

@ -9,7 +9,6 @@ packages/babel-runtime-corejs2
packages/babel-runtime-corejs3 packages/babel-runtime-corejs3
packages/*/node_modules packages/*/node_modules
packages/*/lib packages/*/lib
packages/*/dts
packages/*/dist packages/*/dist
packages/*/test/fixtures packages/*/test/fixtures
packages/*/test/tmp packages/*/test/tmp

8
.gitignore vendored
View File

@ -71,9 +71,5 @@ packages/babel-standalone/babel.min.js
!/packages/babel-eslint-plugin/LICENSE !/packages/babel-eslint-plugin/LICENSE
/.vscode /.vscode
/tsconfig.json tsconfig.json
/packages/*/tsconfig.json tsconfig.tsbuildinfo
/packages/*/tsconfig.tsbuildinfo
/packages/*/dts
/codemods/*/dts
/eslint/*/dts

View File

@ -146,7 +146,9 @@ clean: test-clean
clean-tsconfig: clean-tsconfig:
rm -f tsconfig.json rm -f tsconfig.json
rm -f packages/*/tsconfig.json rm -f packages/*/tsconfig.{tsbuildinfo,json}
rm -f codemods/*/tsconfig.{tsbuildinfo,json}
rm -f eslint/*/tsconfig.{tsbuildinfo,json}
test-clean: test-clean:
$(foreach source, $(SOURCES), \ $(foreach source, $(SOURCES), \
@ -223,14 +225,18 @@ clone-license:
prepublish-build: clean-lib clean-runtime-helpers prepublish-build: clean-lib clean-runtime-helpers
NODE_ENV=production BABEL_ENV=production $(MAKE) build-bundle NODE_ENV=production BABEL_ENV=production $(MAKE) build-bundle
$(MAKE) prepublish-build-standalone clone-license $(MAKE) prepublish-build-standalone clone-license
# We don't want to publish .d.ts files yet
rm -rf packages/*/dts
prepublish: prepublish:
$(MAKE) check-yarn-bug-1882 $(MAKE) check-yarn-bug-1882
$(MAKE) bootstrap-only $(MAKE) bootstrap-only
$(MAKE) prepublish-build $(MAKE) prepublish-build
IS_PUBLISH=true $(MAKE) test IS_PUBLISH=true $(MAKE) test
# We don't want to publish TS-related files yet, except for @babel/types
rm -f packages/*/lib/**/*.d.ts{,.map}
rm -f codemods/*/lib/**/*.d.ts{,.map}
rm -f eslint/*/lib/**/*.d.ts{,.map}
$(MAKE) clean-tsconfig
$(MAKE) build-typescript-typings
new-version: new-version:
git pull --rebase git pull --rebase
@ -272,7 +278,7 @@ endif
bootstrap-only: clean-all bootstrap-only: clean-all
yarn install yarn install
bootstrap: bootstrap-only bootstrap: bootstrap-only generate-tsconfig
$(MAKE) build $(MAKE) build
clean-lib: clean-lib:

View File

@ -1,11 +1,8 @@
module.exports = { module.exports = {
collectCoverageFrom: [ collectCoverageFrom: [
"packages/*/src/**/*.mjs", "packages/*/src/**/*.{js,mjs,ts}",
"packages/*/src/**/*.js", "codemods/*/src/**/*.{js,mjs,ts}",
"codemods/*/src/**/*.mjs", "eslint/*/src/**/*.{js,mjs,ts}",
"codemods/*/src/**/*.js",
"eslint/*/src/**/*.mjs",
"eslint/*/src/**/*.js",
], ],
// The eslint/* packages use ESLint v6, which has dropped support for Node v6. // The eslint/* packages use ESLint v6, which has dropped support for Node v6.
// TODO: Remove this process.version check in Babel 8. // TODO: Remove this process.version check in Babel 8.

View File

@ -74,7 +74,10 @@
], ],
"resolutions": { "resolutions": {
"browserslist": "npm:4.14.5", "browserslist": "npm:4.14.5",
"caniuse-lite": "npm:1.0.30001077" "caniuse-lite": "npm:1.0.30001077",
"@types/babel__core": "link:./nope",
"@types/babel__traverse": "link:./nope",
"@babel/parser/@babel/types": "workspace:*"
}, },
"engines": { "engines": {
"node": ">= 6.9.0", "node": ">= 6.9.0",

View File

@ -24,8 +24,18 @@ const tsPkgs = fs
for (const { dir } of tsPkgs) { for (const { dir } of tsPkgs) {
const pkg = require(`${dir}/package.json`); const pkg = require(`${dir}/package.json`);
try {
const tsconfig = require(`${dir}/tsconfig.json`);
// Don't overwrite manually written configs
if (!tsconfig.generated) continue;
} catch {}
const deps = [];
if (pkg.dependencies) deps.push(...Object.keys(pkg.dependencies));
if (pkg.peerDependencies) deps.push(...Object.keys(pkg.peerDependencies));
const references = []; const references = [];
for (const dep of Object.keys(pkg.dependencies)) { for (const dep of deps) {
if (!dep.startsWith("@babel/")) continue; if (!dep.startsWith("@babel/")) continue;
for (const { name, dir: depDir } of tsPkgs) { for (const { name, dir: depDir } of tsPkgs) {
if (name === dep) { if (name === dep) {
@ -39,12 +49,10 @@ for (const { dir } of tsPkgs) {
path.resolve(dir, "tsconfig.json"), path.resolve(dir, "tsconfig.json"),
JSON.stringify( JSON.stringify(
{ {
generated: true,
extends: "../../tsconfig.base.json", extends: "../../tsconfig.base.json",
compilerOptions: { compilerOptions: {
// Until we have converted every package, we cannot store outDir: "./lib",
// .d.ts files inside lib/ because it causes conflicts
// with Babel-related type definitions in node_modules/@types
outDir: "./dts",
rootDir: "./src", rootDir: "./src",
}, },
include: ["./src/**/*"], include: ["./src/**/*"],

View File

@ -15,7 +15,7 @@ if (process.env.CI && parseInt(process.versions.node, 10) < 10) {
filename = filename || __filename; filename = filename || __filename;
const prettierConfig = prettier.resolveConfig.sync(filename); const prettierConfig = prettier.resolveConfig.sync(filename);
prettierConfig.filepath = filename; prettierConfig.filepath = filename;
prettierConfig.parser = "babel"; prettierConfig.parser = filename.endsWith(".ts") ? "babel-ts" : "babel";
return prettier.format(code, prettierConfig); return prettier.format(code, prettierConfig);
}; };

View File

@ -5,6 +5,8 @@
"lib": [ "lib": [
"esnext" "esnext"
], ],
"declaration": true,
"declarationMap": true,
"emitDeclarationOnly": true, "emitDeclarationOnly": true,
"composite": true, "composite": true,
"moduleResolution": "node", "moduleResolution": "node",

View File

@ -889,7 +889,7 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.4, @babel/parser@npm:^7.12.0, @babel/parser@npm:^7.12.5": "@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.10.4, @babel/parser@npm:^7.12.0, @babel/parser@npm:^7.12.5":
version: 7.12.5 version: 7.12.5
resolution: "@babel/parser@npm:7.12.5" resolution: "@babel/parser@npm:7.12.5"
bin: bin:
@ -3379,7 +3379,7 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.4, @babel/types@npm:^7.10.5, @babel/types@npm:^7.11.0, @babel/types@npm:^7.12.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.5, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": "@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.4, @babel/types@npm:^7.10.5, @babel/types@npm:^7.11.0, @babel/types@npm:^7.12.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
version: 7.12.6 version: 7.12.6
resolution: "@babel/types@npm:7.12.6" resolution: "@babel/types@npm:7.12.6"
dependencies: dependencies:
@ -3807,46 +3807,17 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.7": "@types/babel__core@link:./nope::locator=babel%40workspace%3A.":
version: 7.1.10 version: 0.0.0-use.local
resolution: "@types/babel__core@npm:7.1.10" resolution: "@types/babel__core@link:./nope::locator=babel%40workspace%3A."
dependencies:
"@babel/parser": ^7.1.0
"@babel/types": ^7.0.0
"@types/babel__generator": "*"
"@types/babel__template": "*"
"@types/babel__traverse": "*"
checksum: fd013086d241527c708844ff379ec5204b31dfb4e50a427bc24e77172af74041f6eab650da16edf1a20f445595052505792ec7fa1978bb5f8f2c191bfc8c767d
languageName: node languageName: node
linkType: hard linkType: soft
"@types/babel__generator@npm:*": "@types/babel__traverse@link:./nope::locator=babel%40workspace%3A.":
version: 7.6.0 version: 0.0.0-use.local
resolution: "@types/babel__generator@npm:7.6.0" resolution: "@types/babel__traverse@link:./nope::locator=babel%40workspace%3A."
dependencies:
"@babel/types": ^7.0.0
checksum: 97228549b9bba6351d92891b29acfa7eb324a832a6b1d8373042ae8b1bce4e2aa300e9a349e1ec10d06115f597adcd3881635da8dfe7e21724da19e56800fe09
languageName: node languageName: node
linkType: hard linkType: soft
"@types/babel__template@npm:*":
version: 7.0.2
resolution: "@types/babel__template@npm:7.0.2"
dependencies:
"@babel/parser": ^7.1.0
"@babel/types": ^7.0.0
checksum: dd13bcf6f016866dba8310053302ac657de9966d85c67748d07ee385d07bdd8af56930ed4192c426b5118f43db268c17784bc6eb051ba94c5fcd50d5ca2db74f
languageName: node
linkType: hard
"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6":
version: 7.0.8
resolution: "@types/babel__traverse@npm:7.0.8"
dependencies:
"@babel/types": ^7.3.0
checksum: 01ac8f7c1426184330a3d510b7701cc731da0f1778772e7c8c31edd1350b21ea55ee28a8de2e1546dff679cd05c731b03505231965a92ec2422f17dc81800bf9
languageName: node
linkType: hard
"@types/color-name@npm:^1.1.1": "@types/color-name@npm:^1.1.1":
version: 1.1.1 version: 1.1.1