From 9a832441af7940f8ae0fc01e7060de5d1c8d743e Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Wed, 10 Mar 2021 07:16:29 +0700 Subject: [PATCH] generate indexes of namespaces --- .gitignore | 3 + package.json | 3 +- packages/core-js/es/index.js | 214 ----------------------------- packages/core-js/features/index.js | 3 - packages/core-js/index.js | 7 +- packages/core-js/stable/index.js | 5 - scripts/generate-indexes.js | 20 +++ 7 files changed, 26 insertions(+), 229 deletions(-) delete mode 100644 packages/core-js/es/index.js delete mode 100644 packages/core-js/features/index.js delete mode 100644 packages/core-js/stable/index.js create mode 100644 scripts/generate-indexes.js diff --git a/.gitignore b/.gitignore index 5f4b75971e17..9ea9558aab9a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,9 @@ node_modules/ *.bak *.swp +/packages/core-js/es/index.js +/packages/core-js/features/index.js +/packages/core-js/stable/index.js /packages/core-js/LICENSE /packages/core-js-builder/LICENSE /packages/core-js-bundle/LICENSE diff --git a/package.json b/package.json index e6d13d9696a4..5d0fca742225 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "url": "https://github.com/zloirock/core-js.git" }, "scripts": { - "init": "run-s clean-and-copy bootstrap build-compat", + "init": "run-p generate-indexes bootstrap && run-p clean-and-copy build-compat", "clean-and-copy": "node scripts/clean-and-copy", "bootstrap": "lerna bootstrap --hoist --no-ci && lerna link", "build": "run-s init bundle-package", @@ -78,6 +78,7 @@ "bundle-helpers": "webpack --entry ./tests/helpers/qunit-helpers.js --output-filename qunit-helpers.js", "bundle-tests-global": "webpack --entry ./tests/tests/index.js --output-filename tests.js", "bundle-tests-pure": "webpack --entry ./tests/pure/index.js --output-filename pure.js", + "generate-indexes": "node scripts/generate-indexes", "lint": "run-s init test-lint", "test-lint": "eslint ./", "test-unit": "run-s test-unit-global test-unit-minified test-unit-pure", diff --git a/packages/core-js/es/index.js b/packages/core-js/es/index.js deleted file mode 100644 index d88512236909..000000000000 --- a/packages/core-js/es/index.js +++ /dev/null @@ -1,214 +0,0 @@ -require('../modules/es.symbol'); -require('../modules/es.symbol.async-iterator'); -require('../modules/es.symbol.description'); -require('../modules/es.symbol.has-instance'); -require('../modules/es.symbol.is-concat-spreadable'); -require('../modules/es.symbol.iterator'); -require('../modules/es.symbol.match'); -require('../modules/es.symbol.match-all'); -require('../modules/es.symbol.replace'); -require('../modules/es.symbol.search'); -require('../modules/es.symbol.species'); -require('../modules/es.symbol.split'); -require('../modules/es.symbol.to-primitive'); -require('../modules/es.symbol.to-string-tag'); -require('../modules/es.symbol.unscopables'); -require('../modules/es.aggregate-error'); -require('../modules/es.array.from'); -require('../modules/es.array.is-array'); -require('../modules/es.array.of'); -require('../modules/es.array.concat'); -require('../modules/es.array.copy-within'); -require('../modules/es.array.every'); -require('../modules/es.array.fill'); -require('../modules/es.array.filter'); -require('../modules/es.array.find'); -require('../modules/es.array.find-index'); -require('../modules/es.array.flat'); -require('../modules/es.array.flat-map'); -require('../modules/es.array.for-each'); -require('../modules/es.array.includes'); -require('../modules/es.array.index-of'); -require('../modules/es.array.join'); -require('../modules/es.array.last-index-of'); -require('../modules/es.array.map'); -require('../modules/es.array.reduce'); -require('../modules/es.array.reduce-right'); -require('../modules/es.array.reverse'); -require('../modules/es.array.slice'); -require('../modules/es.array.some'); -require('../modules/es.array.sort'); -require('../modules/es.array.splice'); -require('../modules/es.array.species'); -require('../modules/es.array.unscopables.flat'); -require('../modules/es.array.unscopables.flat-map'); -require('../modules/es.array.iterator'); -require('../modules/es.function.bind'); -require('../modules/es.function.name'); -require('../modules/es.function.has-instance'); -require('../modules/es.global-this'); -require('../modules/es.object.assign'); -require('../modules/es.object.create'); -require('../modules/es.object.define-property'); -require('../modules/es.object.define-properties'); -require('../modules/es.object.entries'); -require('../modules/es.object.freeze'); -require('../modules/es.object.from-entries'); -require('../modules/es.object.get-own-property-descriptor'); -require('../modules/es.object.get-own-property-descriptors'); -require('../modules/es.object.get-own-property-names'); -require('../modules/es.object.get-prototype-of'); -require('../modules/es.object.is'); -require('../modules/es.object.is-extensible'); -require('../modules/es.object.is-frozen'); -require('../modules/es.object.is-sealed'); -require('../modules/es.object.keys'); -require('../modules/es.object.prevent-extensions'); -require('../modules/es.object.seal'); -require('../modules/es.object.set-prototype-of'); -require('../modules/es.object.values'); -require('../modules/es.object.to-string'); -require('../modules/es.object.define-getter'); -require('../modules/es.object.define-setter'); -require('../modules/es.object.lookup-getter'); -require('../modules/es.object.lookup-setter'); -require('../modules/es.string.from-code-point'); -require('../modules/es.string.raw'); -require('../modules/es.string.code-point-at'); -require('../modules/es.string.ends-with'); -require('../modules/es.string.includes'); -require('../modules/es.string.match'); -require('../modules/es.string.match-all'); -require('../modules/es.string.pad-end'); -require('../modules/es.string.pad-start'); -require('../modules/es.string.repeat'); -require('../modules/es.string.replace'); -require('../modules/es.string.search'); -require('../modules/es.string.split'); -require('../modules/es.string.starts-with'); -require('../modules/es.string.trim'); -require('../modules/es.string.trim-start'); -require('../modules/es.string.trim-end'); -require('../modules/es.string.iterator'); -require('../modules/es.string.anchor'); -require('../modules/es.string.big'); -require('../modules/es.string.blink'); -require('../modules/es.string.bold'); -require('../modules/es.string.fixed'); -require('../modules/es.string.fontcolor'); -require('../modules/es.string.fontsize'); -require('../modules/es.string.italics'); -require('../modules/es.string.link'); -require('../modules/es.string.small'); -require('../modules/es.string.strike'); -require('../modules/es.string.sub'); -require('../modules/es.string.sup'); -require('../modules/es.string.replace-all'); -require('../modules/es.regexp.constructor'); -require('../modules/es.regexp.exec'); -require('../modules/es.regexp.flags'); -require('../modules/es.regexp.sticky'); -require('../modules/es.regexp.test'); -require('../modules/es.regexp.to-string'); -require('../modules/es.parse-int'); -require('../modules/es.parse-float'); -require('../modules/es.number.constructor'); -require('../modules/es.number.epsilon'); -require('../modules/es.number.is-finite'); -require('../modules/es.number.is-integer'); -require('../modules/es.number.is-nan'); -require('../modules/es.number.is-safe-integer'); -require('../modules/es.number.max-safe-integer'); -require('../modules/es.number.min-safe-integer'); -require('../modules/es.number.parse-float'); -require('../modules/es.number.parse-int'); -require('../modules/es.number.to-fixed'); -require('../modules/es.number.to-precision'); -require('../modules/es.math.acosh'); -require('../modules/es.math.asinh'); -require('../modules/es.math.atanh'); -require('../modules/es.math.cbrt'); -require('../modules/es.math.clz32'); -require('../modules/es.math.cosh'); -require('../modules/es.math.expm1'); -require('../modules/es.math.fround'); -require('../modules/es.math.hypot'); -require('../modules/es.math.imul'); -require('../modules/es.math.log10'); -require('../modules/es.math.log1p'); -require('../modules/es.math.log2'); -require('../modules/es.math.sign'); -require('../modules/es.math.sinh'); -require('../modules/es.math.tanh'); -require('../modules/es.math.to-string-tag'); -require('../modules/es.math.trunc'); -require('../modules/es.date.now'); -require('../modules/es.date.to-json'); -require('../modules/es.date.to-iso-string'); -require('../modules/es.date.to-string'); -require('../modules/es.date.to-primitive'); -require('../modules/es.json.stringify'); -require('../modules/es.json.to-string-tag'); -require('../modules/es.promise'); -require('../modules/es.promise.all-settled'); -require('../modules/es.promise.any'); -require('../modules/es.promise.finally'); -require('../modules/es.map'); -require('../modules/es.set'); -require('../modules/es.weak-map'); -require('../modules/es.weak-set'); -require('../modules/es.array-buffer.constructor'); -require('../modules/es.array-buffer.is-view'); -require('../modules/es.array-buffer.slice'); -require('../modules/es.data-view'); -require('../modules/es.typed-array.int8-array'); -require('../modules/es.typed-array.uint8-array'); -require('../modules/es.typed-array.uint8-clamped-array'); -require('../modules/es.typed-array.int16-array'); -require('../modules/es.typed-array.uint16-array'); -require('../modules/es.typed-array.int32-array'); -require('../modules/es.typed-array.uint32-array'); -require('../modules/es.typed-array.float32-array'); -require('../modules/es.typed-array.float64-array'); -require('../modules/es.typed-array.from'); -require('../modules/es.typed-array.of'); -require('../modules/es.typed-array.copy-within'); -require('../modules/es.typed-array.every'); -require('../modules/es.typed-array.fill'); -require('../modules/es.typed-array.filter'); -require('../modules/es.typed-array.find'); -require('../modules/es.typed-array.find-index'); -require('../modules/es.typed-array.for-each'); -require('../modules/es.typed-array.includes'); -require('../modules/es.typed-array.index-of'); -require('../modules/es.typed-array.iterator'); -require('../modules/es.typed-array.join'); -require('../modules/es.typed-array.last-index-of'); -require('../modules/es.typed-array.map'); -require('../modules/es.typed-array.reduce'); -require('../modules/es.typed-array.reduce-right'); -require('../modules/es.typed-array.reverse'); -require('../modules/es.typed-array.set'); -require('../modules/es.typed-array.slice'); -require('../modules/es.typed-array.some'); -require('../modules/es.typed-array.sort'); -require('../modules/es.typed-array.subarray'); -require('../modules/es.typed-array.to-locale-string'); -require('../modules/es.typed-array.to-string'); -require('../modules/es.reflect.apply'); -require('../modules/es.reflect.construct'); -require('../modules/es.reflect.define-property'); -require('../modules/es.reflect.delete-property'); -require('../modules/es.reflect.get'); -require('../modules/es.reflect.get-own-property-descriptor'); -require('../modules/es.reflect.get-prototype-of'); -require('../modules/es.reflect.has'); -require('../modules/es.reflect.is-extensible'); -require('../modules/es.reflect.own-keys'); -require('../modules/es.reflect.prevent-extensions'); -require('../modules/es.reflect.set'); -require('../modules/es.reflect.set-prototype-of'); -require('../modules/es.reflect.to-string-tag'); -var path = require('../internals/path'); - -module.exports = path; diff --git a/packages/core-js/features/index.js b/packages/core-js/features/index.js deleted file mode 100644 index 9a8b0cb08c7c..000000000000 --- a/packages/core-js/features/index.js +++ /dev/null @@ -1,3 +0,0 @@ -var parent = require('..'); - -module.exports = parent; diff --git a/packages/core-js/index.js b/packages/core-js/index.js index 10f0e3fe826a..e94c88ddacc0 100644 --- a/packages/core-js/index.js +++ b/packages/core-js/index.js @@ -1,6 +1 @@ -require('./es'); -require('./proposals'); -require('./web'); -var path = require('./internals/path'); - -module.exports = path; +module.exports = require('./features'); diff --git a/packages/core-js/stable/index.js b/packages/core-js/stable/index.js deleted file mode 100644 index f0dc47051652..000000000000 --- a/packages/core-js/stable/index.js +++ /dev/null @@ -1,5 +0,0 @@ -require('../es'); -require('../web'); -var path = require('../internals/path'); - -module.exports = path; diff --git a/scripts/generate-indexes.js b/scripts/generate-indexes.js new file mode 100644 index 000000000000..3d8b41f64228 --- /dev/null +++ b/scripts/generate-indexes.js @@ -0,0 +1,20 @@ +'use strict'; +const { writeFile } = require('fs').promises; +const compat = require('core-js-compat/src/data'); + +const modules = Object.keys(compat); + +function generate(ns, filter) { + return writeFile(`./packages/core-js/${ ns }/index.js`, `${ modules + .filter(it => filter.test(it)) + .map(it => `require('../modules/${ it }');\n`) + .join('') }\nmodule.exports = require('../internals/path');\n`); +} + +(async () => { + await generate('es', /^es\./); + await generate('stable', /^(es|web)\./); + await generate('features', /^(es|esnext|web)\./); + // eslint-disable-next-line no-console -- output + console.log('\u001B[32mindexes generated\u001B[0m'); +})();