diff --git a/.babelrc-deno.json b/.babelrc-deno.json index 4b9b17ddad..7363f79d12 100644 --- a/.babelrc-deno.json +++ b/.babelrc-deno.json @@ -3,11 +3,5 @@ "@babel/plugin-transform-flow-strip-types", ["./resources/add-extension-to-import-paths", { "extension": "js" }], "./resources/inline-invariant" - ], - "overrides": [ - { - "include": "src/error/GraphQLError.js", - "plugins": [["@babel/plugin-transform-classes", { "loose": false }]] - } ] } diff --git a/.babelrc-npm.json b/.babelrc-npm.json new file mode 100644 index 0000000000..c35103a6b8 --- /dev/null +++ b/.babelrc-npm.json @@ -0,0 +1,27 @@ +{ + "plugins": [ + "@babel/plugin-transform-flow-strip-types", + "./resources/inline-invariant" + ], + "env": { + "cjs": { + "presets": [ + [ + "@babel/preset-env", + { "modules": "commonjs", "targets": { "node": "10" } } + ] + ], + "plugins": [ + ["./resources/add-extension-to-import-paths", { "extension": "js" }] + ] + }, + "mjs": { + "presets": [ + ["@babel/preset-env", { "modules": false, "targets": { "node": "10" } }] + ], + "plugins": [ + ["./resources/add-extension-to-import-paths", { "extension": "mjs" }] + ] + } + } +} diff --git a/.babelrc.json b/.babelrc.json index 8c98e626b2..e7e59a32a2 100644 --- a/.babelrc.json +++ b/.babelrc.json @@ -1,42 +1,4 @@ { - "presets": [["@babel/preset-env", { "targets": { "node": "current" } }]], "plugins": ["@babel/plugin-transform-flow-strip-types"], - "overrides": [ - { - "exclude": ["src/__testUtils__/**/*", "**/__tests__/**/*"], - "presets": ["@babel/preset-env"], - "plugins": [ - ["@babel/plugin-transform-classes", { "loose": true }], - ["@babel/plugin-transform-destructuring", { "loose": true }], - ["@babel/plugin-transform-spread", { "loose": true }], - ["@babel/plugin-transform-for-of", { "assumeArray": true }] - ], - "env": { - "cjs": { - "presets": [["@babel/preset-env", { "modules": "commonjs" }]], - "plugins": [ - [ - "./resources/add-extension-to-import-paths", - { "extension": "js" } - ], - "./resources/inline-invariant" - ] - }, - "mjs": { - "presets": [["@babel/preset-env", { "modules": false }]], - "plugins": [ - [ - "./resources/add-extension-to-import-paths", - { "extension": "mjs" } - ], - "./resources/inline-invariant" - ] - } - } - }, - { - "include": "src/error/GraphQLError.js", - "plugins": [["@babel/plugin-transform-classes", { "loose": false }]] - } - ] + "presets": [["@babel/preset-env", { "targets": { "node": "current" } }]] } diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index 7871455921..0000000000 --- a/.browserslistrc +++ /dev/null @@ -1,6 +0,0 @@ -node 8 -ie 9 -ios 9 -last 2 chrome versions -last 2 edge versions -last 2 firefox versions diff --git a/.eslintrc.yml b/.eslintrc.yml index 0687c304b2..6b17bb8fce 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -51,8 +51,8 @@ rules: node/no-unpublished-import: error node/no-unpublished-require: error node/no-unsupported-features/es-builtins: error - node/no-unsupported-features/es-syntax: off # TODO enable - node/no-unsupported-features/node-builtins: off # TODO enable + node/no-unsupported-features/es-syntax: [error, { ignores: [modules] }] + node/no-unsupported-features/node-builtins: error node/process-exit-as-throw: error node/shebang: error diff --git a/package.json b/package.json index 69f4d05f5e..a63c25a332 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,6 @@ "graphql-js" ], "engines": { - "node": ">= 14.2" - }, - "engines_on_npm": { "node": ">= 10.x" }, "scripts": { diff --git a/resources/build-npm.js b/resources/build-npm.js index e39a2c63df..dab2fbec5d 100644 --- a/resources/build-npm.js +++ b/resources/build-npm.js @@ -46,7 +46,12 @@ if (require.main === module) { } function babelBuild(srcPath, options) { - return babel.transformFileSync(srcPath, options).code + '\n'; + const { code } = babel.transformFileSync(srcPath, { + babelrc: false, + configFile: './.babelrc-npm.json', + ...options, + }); + return code + '\n'; } function buildPackageJSON() { @@ -55,9 +60,6 @@ function buildPackageJSON() { delete packageJSON.scripts; delete packageJSON.devDependencies; - packageJSON.engines = packageJSON.engines_on_npm; - delete packageJSON.engines_on_npm; - const { version } = packageJSON; const versionMatch = /^\d+\.\d+\.\d+-?(?.*)?$/.exec(version); if (!versionMatch) { diff --git a/tsconfig.json b/tsconfig.json index d158e41db9..e7da535227 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,8 @@ "exclude": ["integrationTests/ts/**/*"], "compilerOptions": { "module": "commonjs", - "lib": ["es6", "esnext.asynciterable"], + "lib": ["es2018"], + "target": "es2018", "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true,