Update to core-js@3 (#7646)
### `@babel/runtime` - Added `@babel/runtime-corejs3` package and `corejs: 3` options to `@babel/plugin-transform-runtime`. - Added support of instance methods, fixes #8928. - Added flag `proposals` (in `corejs: { version: 3, proposals: true }` format) for support all proposals polyfills from `core-js`. - Used separate directories in runtime for `core-js` entry points with proposals and without. - Used `get-iterator-method` helper for getting iterators, fixes #2500. - As a cheap bonus, added support of IE8- (except some cases of `regenerator`). ### `@babel/polyfill` - Should be deprecated in favor of separate usage required features from `core-js` and `regenerator-runtime` with an informative message. ### `@babel/preset-env` - Uses for built-ins data from [`core-js-compat`](https://github.com/zloirock/core-js/tree/master/packages/core-js-compat) instead of `compat-table` since information from `compat-table` [is not enough](https://github.com/zloirock/core-js/tree/master/packages/core-js-compat). - `useBuilIns` now requires direct setting of `corejs` version option, without it will be used `2` by default and shown deprecation warning. - Added support of minor `core-js` versions for simplify updating in the future. - For preventing some order-related problems, polyfills in the both `core-js@3` plugins added on `post` stage in the order of `core-js-compat` data. - Divided plugins and polyfills parts of `preset-env`, instead of 2 internal plugins for adding polyfills, we have 6: usage and entry versions of plugins for `core-js@2`, ### Current state: `core-js@3`, `regenerator-runtime`. - Added support `samsung` target (for Samsung Internet) since `core-js-compat` and `compat-table` now contains mapping for this, fixes #6602. #### `useBuilIns: entry` with `corejs: 3` - No longer transforms `@babel/polyfill`. - Transforms **all possible** `core-js` entry points to import of related modules (based on data from [`core-js-compat`](https://unpkg.com/core-js-compat@3.0.0-beta.15/entries.json)). - Since of this, we no longer need `shippedProposals` / `proposals` flags with `useBuilIns: entry`. - Removes `regenerator-runtime/runtime` import where it's not required. #### `useBuilIns: usage` with `corejs: 3` - In addition to `shippedProposals`, added flag `proposals` (in `corejs: { version: 3, proposals: true }` format) for polyfill all proposals from `core-js`. - Fixed list of dependencies in built-in definitions. - Improved the way of determination method / built-in name and source of this method. - Adds import of required polyfills on `MemberExpression`, `ObjectPattern`, `in` operator. - Adds import of required polyfills on access to global object properties. - Adds import of all required common iterators on all syntax features which use iterators protocol (`for-of`, destructuring, spread, `yield` delegation, etc.). - Adds import of promises on syntax features which use promises (async functions/generators, dynamic import, etc.), fixes #9250, #7402, etc. ### `core-js@2` stuff I didn't want to tough `core-js@2`-related stuff, however - Fixed some serious errors in definitions which breaks `Object.getOwnPropertySymbols`, `Symbol.toStringTag` logic, `Promise#finally`, `Array#forEach`, etc. - `Array#flatMap` and trim methods moved to stable features as a part of ES2019 and loaded by deprecated `@babel/polyfill` and `@babel/preset-env` with `corejs: 2` option.
This commit is contained in:
parent
7df0d16131
commit
3303b079c5
@ -5,8 +5,8 @@ package.json
|
|||||||
lerna.json
|
lerna.json
|
||||||
packages/babel-runtime
|
packages/babel-runtime
|
||||||
!packages/babel-plugin-transform-runtime/scripts
|
!packages/babel-plugin-transform-runtime/scripts
|
||||||
!packages/babel-runtime-corejs2/core-js.js
|
|
||||||
packages/babel-runtime-corejs2
|
packages/babel-runtime-corejs2
|
||||||
|
packages/babel-runtime-corejs3
|
||||||
packages/*/node_modules
|
packages/*/node_modules
|
||||||
packages/*/lib
|
packages/*/lib
|
||||||
packages/*/dist
|
packages/*/dist
|
||||||
|
|||||||
5
.gitignore
vendored
5
.gitignore
vendored
@ -38,6 +38,11 @@ package-lock.json
|
|||||||
/packages/babel-runtime-corejs2/core-js/**/*.js
|
/packages/babel-runtime-corejs2/core-js/**/*.js
|
||||||
!/packages/babel-runtime-corejs2/core-js/map.js
|
!/packages/babel-runtime-corejs2/core-js/map.js
|
||||||
|
|
||||||
|
/packages/babel-runtime-corejs3/helpers/*.js
|
||||||
|
/packages/babel-runtime-corejs3/helpers/esm/*.js
|
||||||
|
/packages/babel-runtime-corejs3/core-js/**/*.js
|
||||||
|
/packages/babel-runtime-corejs3/core-js-stable/**/*.js
|
||||||
|
|
||||||
/packages/babel-register/test/.babel
|
/packages/babel-register/test/.babel
|
||||||
/packages/babel-cli/test/tmp
|
/packages/babel-cli/test/tmp
|
||||||
/packages/babel-node/test/tmp
|
/packages/babel-node/test/tmp
|
||||||
|
|||||||
@ -27,16 +27,31 @@ declare module "lodash/merge" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
declare module "semver" {
|
declare module "semver" {
|
||||||
|
declare class SemVer {
|
||||||
|
build: Array<string>;
|
||||||
|
loose: ?boolean;
|
||||||
|
major: number;
|
||||||
|
minor: number;
|
||||||
|
patch: number;
|
||||||
|
prerelease: Array<string | number>;
|
||||||
|
raw: string;
|
||||||
|
version: string;
|
||||||
|
|
||||||
|
constructor(version: string | SemVer): SemVer;
|
||||||
|
}
|
||||||
|
|
||||||
declare module.exports: {
|
declare module.exports: {
|
||||||
valid(v: string): boolean;
|
SemVer: SemVer;
|
||||||
|
|
||||||
|
coerce(version: string | SemVer): SemVer | null;
|
||||||
gt(v1: string, v2: string): boolean;
|
gt(v1: string, v2: string): boolean;
|
||||||
|
intersects(r1: string, r2: string): boolean;
|
||||||
lt(v1: string, v2: string): boolean;
|
lt(v1: string, v2: string): boolean;
|
||||||
major(v: string): number;
|
major(v: string): number;
|
||||||
minor(v: string): number;
|
minor(v: string): number;
|
||||||
patch(v: string): number;
|
patch(v: string): number;
|
||||||
satisfies(v1: string, r1: string): boolean;
|
satisfies(v1: string, r1: string): boolean;
|
||||||
|
valid(v: string): boolean;
|
||||||
intersects(r1: string, r2: string): boolean;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,3 +195,13 @@ declare module "js-levenshtein" {
|
|||||||
(string, string): number,
|
(string, string): number,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare module "core-js-compat/data" {
|
||||||
|
declare type Target = "node" | "chrome" | "opera" | "edge" | "firefox" | "safari" | "ie" | "ios" | "android" | "electron" | "samsung";
|
||||||
|
|
||||||
|
declare module.exports: {
|
||||||
|
[key: string]: {
|
||||||
|
[target: Target]: string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -998,7 +998,7 @@ helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
|
|||||||
helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")`
|
helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")`
|
||||||
export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){
|
export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){
|
||||||
var desc = {};
|
var desc = {};
|
||||||
Object['ke' + 'ys'](descriptor).forEach(function(key){
|
Object.keys(descriptor).forEach(function(key){
|
||||||
desc[key] = descriptor[key];
|
desc[key] = descriptor[key];
|
||||||
});
|
});
|
||||||
desc.enumerable = !!desc.enumerable;
|
desc.enumerable = !!desc.enumerable;
|
||||||
@ -1019,7 +1019,7 @@ helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")`
|
|||||||
if (desc.initializer === void 0){
|
if (desc.initializer === void 0){
|
||||||
// This is a hack to avoid this being processed by 'transform-runtime'.
|
// This is a hack to avoid this being processed by 'transform-runtime'.
|
||||||
// See issue #9.
|
// See issue #9.
|
||||||
Object['define' + 'Property'](target, property, desc);
|
Object.defineProperty(target, property, desc);
|
||||||
desc = null;
|
desc = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|||||||
|
|
||||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||||||
|
|
||||||
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; }
|
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
||||||
|
|
||||||
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); }
|
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); }
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
var _class, _class2;
|
var _class, _class2;
|
||||||
|
|
||||||
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; }
|
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
||||||
|
|
||||||
let A = (_class2 = class A {
|
let A = (_class2 = class A {
|
||||||
foo() {}
|
foo() {}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
var _class2;
|
var _class2;
|
||||||
|
|
||||||
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; }
|
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
||||||
|
|
||||||
let _class = (_class2 = class {
|
let _class = (_class2 = class {
|
||||||
bar() {}
|
bar() {}
|
||||||
|
|||||||
@ -7,7 +7,8 @@
|
|||||||
"targets": {
|
"targets": {
|
||||||
"node": 8
|
"node": 8
|
||||||
},
|
},
|
||||||
"useBuiltIns": "usage"
|
"useBuiltIns": "usage",
|
||||||
|
"corejs": 3
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|||||||
@ -25,6 +25,8 @@
|
|||||||
"@babel/helper-plugin-test-runner": "^7.0.0",
|
"@babel/helper-plugin-test-runner": "^7.0.0",
|
||||||
"@babel/helpers": "^7.2.0",
|
"@babel/helpers": "^7.2.0",
|
||||||
"@babel/plugin-transform-runtime": "^7.3.4",
|
"@babel/plugin-transform-runtime": "^7.3.4",
|
||||||
|
"@babel/plugin-transform-member-expression-literals": "^7.2.0",
|
||||||
|
"@babel/plugin-transform-property-literals": "^7.2.0",
|
||||||
"@babel/preset-env": "^7.3.4",
|
"@babel/preset-env": "^7.3.4",
|
||||||
"@babel/runtime": "^7.3.4",
|
"@babel/runtime": "^7.3.4",
|
||||||
"@babel/template": "^7.0.0",
|
"@babel/template": "^7.0.0",
|
||||||
|
|||||||
@ -8,43 +8,81 @@ const template = require("@babel/template");
|
|||||||
const t = require("@babel/types");
|
const t = require("@babel/types");
|
||||||
|
|
||||||
const transformRuntime = require("../");
|
const transformRuntime = require("../");
|
||||||
const getCorejs2Definitions = require("../lib/definitions").default;
|
const transformMemberExpressionLiterals = require("@babel/plugin-transform-member-expression-literals");
|
||||||
const corejs2Definitions = getCorejs2Definitions();
|
const transformPropertyLiterals = require("@babel/plugin-transform-property-literals");
|
||||||
|
|
||||||
|
const corejs2Definitions = require("../lib/runtime-corejs2-definitions").default();
|
||||||
|
const corejs3Definitions = require("../lib/runtime-corejs3-definitions").default();
|
||||||
|
|
||||||
writeHelpers("@babel/runtime");
|
writeHelpers("@babel/runtime");
|
||||||
|
|
||||||
writeCoreJS2("@babel/runtime-corejs2");
|
|
||||||
writeHelpers("@babel/runtime-corejs2", { corejs: 2 });
|
writeHelpers("@babel/runtime-corejs2", { corejs: 2 });
|
||||||
|
writeHelpers("@babel/runtime-corejs3", {
|
||||||
|
corejs: { version: 3, proposals: true },
|
||||||
|
});
|
||||||
|
|
||||||
function writeCoreJS2(runtimeName) {
|
writeCoreJS({
|
||||||
const pkgDirname = getRuntimeRoot(runtimeName);
|
corejs: 2,
|
||||||
|
proposals: true,
|
||||||
const paths = [
|
definitions: corejs2Definitions,
|
||||||
|
paths: [
|
||||||
"is-iterable",
|
"is-iterable",
|
||||||
"get-iterator",
|
"get-iterator",
|
||||||
|
|
||||||
// This was previously in definitions, but was removed to work around
|
// This was previously in definitions, but was removed to work around
|
||||||
// zloirock/core-js#262. We need to keep it in @babel/runtime-corejs2 to
|
// zloirock/core-js#262. We need to keep it in @babel/runtime-corejs2 to
|
||||||
// avoid a breaking change there.
|
// avoid a breaking change there.
|
||||||
"symbol/async-iterator",
|
"symbol/async-iterator",
|
||||||
];
|
],
|
||||||
|
corejsRoot: "core-js/library/fn",
|
||||||
|
});
|
||||||
|
writeCoreJS({
|
||||||
|
corejs: 3,
|
||||||
|
proposals: false,
|
||||||
|
definitions: corejs3Definitions,
|
||||||
|
paths: [],
|
||||||
|
corejsRoot: "core-js-pure/stable",
|
||||||
|
});
|
||||||
|
writeCoreJS({
|
||||||
|
corejs: 3,
|
||||||
|
proposals: true,
|
||||||
|
definitions: corejs3Definitions,
|
||||||
|
paths: ["is-iterable", "get-iterator", "get-iterator-method"],
|
||||||
|
corejsRoot: "core-js-pure/features",
|
||||||
|
});
|
||||||
|
|
||||||
Object.keys(corejs2Definitions.builtins).forEach(key => {
|
function writeCoreJS({
|
||||||
const path = corejs2Definitions.builtins[key];
|
corejs,
|
||||||
paths.push(path);
|
proposals,
|
||||||
|
definitions: { BuiltIns, StaticProperties, InstanceProperties },
|
||||||
|
paths,
|
||||||
|
corejsRoot,
|
||||||
|
}) {
|
||||||
|
const pkgDirname = getRuntimeRoot(`@babel/runtime-corejs${corejs}`);
|
||||||
|
|
||||||
|
Object.keys(BuiltIns).forEach(name => {
|
||||||
|
const { stable, path } = BuiltIns[name];
|
||||||
|
if (stable || proposals) paths.push(path);
|
||||||
});
|
});
|
||||||
|
|
||||||
Object.keys(corejs2Definitions.methods).forEach(key => {
|
Object.keys(StaticProperties).forEach(builtin => {
|
||||||
const props = corejs2Definitions.methods[key];
|
const props = StaticProperties[builtin];
|
||||||
Object.keys(props).forEach(key2 => {
|
Object.keys(props).forEach(name => {
|
||||||
paths.push(props[key2]);
|
const { stable, path } = props[name];
|
||||||
|
if (stable || proposals) paths.push(path);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
paths.forEach(function(corePath) {
|
if (InstanceProperties) {
|
||||||
|
Object.keys(InstanceProperties).forEach(name => {
|
||||||
|
const { stable, path } = InstanceProperties[name];
|
||||||
|
if (stable || proposals) paths.push(`instance/${path}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const runtimeRoot = proposals ? "core-js" : "core-js-stable";
|
||||||
|
paths.forEach(function(corejsPath) {
|
||||||
outputFile(
|
outputFile(
|
||||||
path.join(pkgDirname, "core-js", `${corePath}.js`),
|
path.join(pkgDirname, runtimeRoot, `${corejsPath}.js`),
|
||||||
`module.exports = require("core-js/library/fn/${corePath}");`
|
`module.exports = require("${corejsRoot}/${corejsPath}");`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -118,6 +156,8 @@ function buildHelper(
|
|||||||
presets: [[require("@babel/preset-env"), { modules: false }]],
|
presets: [[require("@babel/preset-env"), { modules: false }]],
|
||||||
plugins: [
|
plugins: [
|
||||||
[transformRuntime, { corejs, useESModules: esm }],
|
[transformRuntime, { corejs, useESModules: esm }],
|
||||||
|
[transformMemberExpressionLiterals],
|
||||||
|
[transformPropertyLiterals],
|
||||||
buildRuntimeRewritePlugin(
|
buildRuntimeRewritePlugin(
|
||||||
runtimeName,
|
runtimeName,
|
||||||
path.relative(path.dirname(helperFilename), pkgDirname),
|
path.relative(path.dirname(helperFilename), pkgDirname),
|
||||||
|
|||||||
@ -1,168 +0,0 @@
|
|||||||
import semver from "semver";
|
|
||||||
|
|
||||||
function hasMinVersion(minVersion, runtimeVersion) {
|
|
||||||
// If the range is unavailable, we're running the script during Babel's
|
|
||||||
// build process, and we want to assume that all versions are satisfied so
|
|
||||||
// that the built output will include all definitions.
|
|
||||||
if (!runtimeVersion) return true;
|
|
||||||
|
|
||||||
// semver.intersects() has some surprising behavior with comparing ranges
|
|
||||||
// with preprelease versions. We add '^' to ensure that we are always
|
|
||||||
// comparing ranges with ranges, which sidesteps this logic.
|
|
||||||
// For example:
|
|
||||||
//
|
|
||||||
// semver.intersects(`<7.0.1`, "7.0.0-beta.0") // false - surprising
|
|
||||||
// semver.intersects(`<7.0.1`, "^7.0.0-beta.0") // true - expected
|
|
||||||
//
|
|
||||||
// This is because the first falls back to
|
|
||||||
//
|
|
||||||
// semver.satisfies("7.0.0-beta.0", `<7.0.1`) // false - surprising
|
|
||||||
//
|
|
||||||
// and this fails because a prerelease version can only satisfy a range
|
|
||||||
// if it is a prerelease within the same major/minor/patch range.
|
|
||||||
//
|
|
||||||
// Note: If this is found to have issues, please also revist the logic in
|
|
||||||
// babel-core's availableHelper() API.
|
|
||||||
if (semver.valid(runtimeVersion)) runtimeVersion = `^${runtimeVersion}`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
!semver.intersects(`<${minVersion}`, runtimeVersion) &&
|
|
||||||
!semver.intersects(`>=8.0.0`, runtimeVersion)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default runtimeVersion => {
|
|
||||||
// Conditionally include 'Math' because it was not included in the 7.0.0
|
|
||||||
// release of '@babel/runtime'. See issue https://github.com/babel/babel/pull/8616.
|
|
||||||
const includeMathModule = hasMinVersion("7.0.1", runtimeVersion);
|
|
||||||
|
|
||||||
return {
|
|
||||||
builtins: {
|
|
||||||
Symbol: "symbol",
|
|
||||||
Promise: "promise",
|
|
||||||
Map: "map",
|
|
||||||
WeakMap: "weak-map",
|
|
||||||
Set: "set",
|
|
||||||
WeakSet: "weak-set",
|
|
||||||
setImmediate: "set-immediate",
|
|
||||||
clearImmediate: "clear-immediate",
|
|
||||||
parseFloat: "parse-float",
|
|
||||||
parseInt: "parse-int",
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
Array: {
|
|
||||||
from: "array/from",
|
|
||||||
isArray: "array/is-array",
|
|
||||||
of: "array/of",
|
|
||||||
},
|
|
||||||
|
|
||||||
JSON: {
|
|
||||||
stringify: "json/stringify",
|
|
||||||
},
|
|
||||||
|
|
||||||
Object: {
|
|
||||||
assign: "object/assign",
|
|
||||||
create: "object/create",
|
|
||||||
defineProperties: "object/define-properties",
|
|
||||||
defineProperty: "object/define-property",
|
|
||||||
entries: "object/entries",
|
|
||||||
freeze: "object/freeze",
|
|
||||||
getOwnPropertyDescriptor: "object/get-own-property-descriptor",
|
|
||||||
getOwnPropertyDescriptors: "object/get-own-property-descriptors",
|
|
||||||
getOwnPropertyNames: "object/get-own-property-names",
|
|
||||||
getOwnPropertySymbols: "object/get-own-property-symbols",
|
|
||||||
getPrototypeOf: "object/get-prototype-of",
|
|
||||||
isExtensible: "object/is-extensible",
|
|
||||||
isFrozen: "object/is-frozen",
|
|
||||||
isSealed: "object/is-sealed",
|
|
||||||
is: "object/is",
|
|
||||||
keys: "object/keys",
|
|
||||||
preventExtensions: "object/prevent-extensions",
|
|
||||||
seal: "object/seal",
|
|
||||||
setPrototypeOf: "object/set-prototype-of",
|
|
||||||
values: "object/values",
|
|
||||||
},
|
|
||||||
|
|
||||||
...(includeMathModule
|
|
||||||
? {
|
|
||||||
Math: {
|
|
||||||
acosh: "math/acosh",
|
|
||||||
asinh: "math/asinh",
|
|
||||||
atanh: "math/atanh",
|
|
||||||
cbrt: "math/cbrt",
|
|
||||||
clz32: "math/clz32",
|
|
||||||
cosh: "math/cosh",
|
|
||||||
expm1: "math/expm1",
|
|
||||||
fround: "math/fround",
|
|
||||||
hypot: "math/hypot",
|
|
||||||
imul: "math/imul",
|
|
||||||
log10: "math/log10",
|
|
||||||
log1p: "math/log1p",
|
|
||||||
log2: "math/log2",
|
|
||||||
sign: "math/sign",
|
|
||||||
sinh: "math/sinh",
|
|
||||||
tanh: "math/tanh",
|
|
||||||
trunc: "math/trunc",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
: {}),
|
|
||||||
|
|
||||||
Symbol: {
|
|
||||||
// FIXME: Disabled to work around zloirock/core-js#262.
|
|
||||||
// asyncIterator: "symbol/async-iterator",
|
|
||||||
for: "symbol/for",
|
|
||||||
hasInstance: "symbol/has-instance",
|
|
||||||
isConcatSpreadable: "symbol/is-concat-spreadable",
|
|
||||||
iterator: "symbol/iterator",
|
|
||||||
keyFor: "symbol/key-for",
|
|
||||||
match: "symbol/match",
|
|
||||||
replace: "symbol/replace",
|
|
||||||
search: "symbol/search",
|
|
||||||
species: "symbol/species",
|
|
||||||
split: "symbol/split",
|
|
||||||
toPrimitive: "symbol/to-primitive",
|
|
||||||
toStringTag: "symbol/to-string-tag",
|
|
||||||
unscopables: "symbol/unscopables",
|
|
||||||
},
|
|
||||||
|
|
||||||
String: {
|
|
||||||
at: "string/at",
|
|
||||||
fromCodePoint: "string/from-code-point",
|
|
||||||
raw: "string/raw",
|
|
||||||
},
|
|
||||||
|
|
||||||
Number: {
|
|
||||||
EPSILON: "number/epsilon",
|
|
||||||
isFinite: "number/is-finite",
|
|
||||||
isInteger: "number/is-integer",
|
|
||||||
isNaN: "number/is-nan",
|
|
||||||
isSafeInteger: "number/is-safe-integer",
|
|
||||||
MAX_SAFE_INTEGER: "number/max-safe-integer",
|
|
||||||
MIN_SAFE_INTEGER: "number/min-safe-integer",
|
|
||||||
parseFloat: "number/parse-float",
|
|
||||||
parseInt: "number/parse-int",
|
|
||||||
},
|
|
||||||
|
|
||||||
Reflect: {
|
|
||||||
apply: "reflect/apply",
|
|
||||||
construct: "reflect/construct",
|
|
||||||
defineProperty: "reflect/define-property",
|
|
||||||
deleteProperty: "reflect/delete-property",
|
|
||||||
getOwnPropertyDescriptor: "reflect/get-own-property-descriptor",
|
|
||||||
getPrototypeOf: "reflect/get-prototype-of",
|
|
||||||
get: "reflect/get",
|
|
||||||
has: "reflect/has",
|
|
||||||
isExtensible: "reflect/is-extensible",
|
|
||||||
ownKeys: "reflect/own-keys",
|
|
||||||
preventExtensions: "reflect/prevent-extensions",
|
|
||||||
setPrototypeOf: "reflect/set-prototype-of",
|
|
||||||
set: "reflect/set",
|
|
||||||
},
|
|
||||||
|
|
||||||
Date: {
|
|
||||||
now: "date/now",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
32
packages/babel-plugin-transform-runtime/src/helpers.js
Normal file
32
packages/babel-plugin-transform-runtime/src/helpers.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import semver from "semver";
|
||||||
|
|
||||||
|
export function hasMinVersion(minVersion, runtimeVersion) {
|
||||||
|
// If the range is unavailable, we're running the script during Babel's
|
||||||
|
// build process, and we want to assume that all versions are satisfied so
|
||||||
|
// that the built output will include all definitions.
|
||||||
|
if (!runtimeVersion) return true;
|
||||||
|
|
||||||
|
// semver.intersects() has some surprising behavior with comparing ranges
|
||||||
|
// with preprelease versions. We add '^' to ensure that we are always
|
||||||
|
// comparing ranges with ranges, which sidesteps this logic.
|
||||||
|
// For example:
|
||||||
|
//
|
||||||
|
// semver.intersects(`<7.0.1`, "7.0.0-beta.0") // false - surprising
|
||||||
|
// semver.intersects(`<7.0.1`, "^7.0.0-beta.0") // true - expected
|
||||||
|
//
|
||||||
|
// This is because the first falls back to
|
||||||
|
//
|
||||||
|
// semver.satisfies("7.0.0-beta.0", `<7.0.1`) // false - surprising
|
||||||
|
//
|
||||||
|
// and this fails because a prerelease version can only satisfy a range
|
||||||
|
// if it is a prerelease within the same major/minor/patch range.
|
||||||
|
//
|
||||||
|
// Note: If this is found to have issues, please also revist the logic in
|
||||||
|
// babel-core's availableHelper() API.
|
||||||
|
if (semver.valid(runtimeVersion)) runtimeVersion = `^${runtimeVersion}`;
|
||||||
|
|
||||||
|
return (
|
||||||
|
!semver.intersects(`<${minVersion}`, runtimeVersion) &&
|
||||||
|
!semver.intersects(`>=8.0.0`, runtimeVersion)
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -4,7 +4,8 @@ import { declare } from "@babel/helper-plugin-utils";
|
|||||||
import { addDefault, isModule } from "@babel/helper-module-imports";
|
import { addDefault, isModule } from "@babel/helper-module-imports";
|
||||||
import { types as t } from "@babel/core";
|
import { types as t } from "@babel/core";
|
||||||
|
|
||||||
import getDefinitions from "./definitions";
|
import getCoreJS2Definitions from "./runtime-corejs2-definitions";
|
||||||
|
import getCoreJS3Definitions from "./runtime-corejs3-definitions";
|
||||||
|
|
||||||
function resolveAbsoluteRuntime(moduleName: string, dirname: string) {
|
function resolveAbsoluteRuntime(moduleName: string, dirname: string) {
|
||||||
try {
|
try {
|
||||||
@ -33,7 +34,7 @@ export default declare((api, options, dirname) => {
|
|||||||
api.assertVersion(7);
|
api.assertVersion(7);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
corejs: corejsVersion = false,
|
corejs,
|
||||||
helpers: useRuntimeHelpers = true,
|
helpers: useRuntimeHelpers = true,
|
||||||
regenerator: useRuntimeRegenerator = true,
|
regenerator: useRuntimeRegenerator = true,
|
||||||
useESModules = false,
|
useESModules = false,
|
||||||
@ -41,21 +42,48 @@ export default declare((api, options, dirname) => {
|
|||||||
absoluteRuntime = false,
|
absoluteRuntime = false,
|
||||||
} = options;
|
} = options;
|
||||||
|
|
||||||
const definitions = getDefinitions(runtimeVersion);
|
let proposals = false;
|
||||||
|
let rawVersion;
|
||||||
|
|
||||||
|
if (typeof corejs === "object" && corejs !== null) {
|
||||||
|
rawVersion = corejs.version;
|
||||||
|
proposals = Boolean(corejs.proposals);
|
||||||
|
} else {
|
||||||
|
rawVersion = corejs;
|
||||||
|
}
|
||||||
|
|
||||||
|
const corejsVersion = rawVersion ? Number(rawVersion) : false;
|
||||||
|
|
||||||
|
if (![false, 2, 3].includes(corejsVersion)) {
|
||||||
|
throw new Error(
|
||||||
|
`The \`core-js\` version must be false, 2 or 3, but got ${JSON.stringify(
|
||||||
|
rawVersion,
|
||||||
|
)}.`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (proposals && (!corejsVersion || corejsVersion < 3)) {
|
||||||
|
throw new Error(
|
||||||
|
"The 'proposals' option is only supported when using 'corejs: 3'",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof useRuntimeRegenerator !== "boolean") {
|
if (typeof useRuntimeRegenerator !== "boolean") {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"The 'regenerator' option must be undefined, or a boolean.",
|
"The 'regenerator' option must be undefined, or a boolean.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof useRuntimeHelpers !== "boolean") {
|
if (typeof useRuntimeHelpers !== "boolean") {
|
||||||
throw new Error("The 'helpers' option must be undefined, or a boolean.");
|
throw new Error("The 'helpers' option must be undefined, or a boolean.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof useESModules !== "boolean" && useESModules !== "auto") {
|
if (typeof useESModules !== "boolean" && useESModules !== "auto") {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"The 'useESModules' option must be undefined, or a boolean, or 'auto'.",
|
"The 'useESModules' option must be undefined, or a boolean, or 'auto'.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
typeof absoluteRuntime !== "boolean" &&
|
typeof absoluteRuntime !== "boolean" &&
|
||||||
typeof absoluteRuntime !== "string"
|
typeof absoluteRuntime !== "string"
|
||||||
@ -64,16 +92,7 @@ export default declare((api, options, dirname) => {
|
|||||||
"The 'absoluteRuntime' option must be undefined, a boolean, or a string.",
|
"The 'absoluteRuntime' option must be undefined, a boolean, or a string.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (
|
|
||||||
corejsVersion !== false &&
|
|
||||||
(typeof corejsVersion !== "number" || corejsVersion !== 2) &&
|
|
||||||
(typeof corejsVersion !== "string" || corejsVersion !== "2")
|
|
||||||
) {
|
|
||||||
throw new Error(
|
|
||||||
`The 'corejs' option must be undefined, false, 2 or '2', ` +
|
|
||||||
`but got ${JSON.stringify(corejsVersion)}.`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (typeof runtimeVersion !== "string") {
|
if (typeof runtimeVersion !== "string") {
|
||||||
throw new Error(`The 'version' option must be a version string.`);
|
throw new Error(`The 'version' option must be a version string.`);
|
||||||
}
|
}
|
||||||
@ -81,6 +100,18 @@ export default declare((api, options, dirname) => {
|
|||||||
function has(obj, key) {
|
function has(obj, key) {
|
||||||
return Object.prototype.hasOwnProperty.call(obj, key);
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function hasMapping(methods, name) {
|
||||||
|
return has(methods, name) && (proposals || methods[name].stable);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hasStaticMapping(object, method) {
|
||||||
|
return (
|
||||||
|
has(StaticProperties, object) &&
|
||||||
|
hasMapping(StaticProperties[object], method)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (has(options, "useBuiltIns")) {
|
if (has(options, "useBuiltIns")) {
|
||||||
if (options.useBuiltIns) {
|
if (options.useBuiltIns) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
@ -90,10 +121,11 @@ export default declare((api, options, dirname) => {
|
|||||||
} else {
|
} else {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"The 'useBuiltIns' option has been removed. Use the 'corejs'" +
|
"The 'useBuiltIns' option has been removed. Use the 'corejs'" +
|
||||||
"option with value '2' to polyfill with CoreJS 2.x via @babel/runtime.",
|
"option to polyfill with `core-js` via @babel/runtime.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (has(options, "polyfill")) {
|
if (has(options, "polyfill")) {
|
||||||
if (options.polyfill === false) {
|
if (options.polyfill === false) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
@ -103,10 +135,11 @@ export default declare((api, options, dirname) => {
|
|||||||
} else {
|
} else {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"The 'polyfill' option has been removed. Use the 'corejs'" +
|
"The 'polyfill' option has been removed. Use the 'corejs'" +
|
||||||
"option with value '2' to polyfill with CoreJS 2.x via @babel/runtime.",
|
"option to polyfill with `core-js` via @babel/runtime.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (has(options, "moduleName")) {
|
if (has(options, "moduleName")) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"The 'moduleName' option has been removed. @babel/transform-runtime " +
|
"The 'moduleName' option has been removed. @babel/transform-runtime " +
|
||||||
@ -119,11 +152,22 @@ export default declare((api, options, dirname) => {
|
|||||||
const esModules =
|
const esModules =
|
||||||
useESModules === "auto" ? api.caller(supportsStaticESM) : useESModules;
|
useESModules === "auto" ? api.caller(supportsStaticESM) : useESModules;
|
||||||
|
|
||||||
const injectCoreJS2 = `${corejsVersion}` === "2";
|
const injectCoreJS2 = corejsVersion === 2;
|
||||||
const moduleName = injectCoreJS2
|
const injectCoreJS3 = corejsVersion === 3;
|
||||||
|
const injectCoreJS = corejsVersion !== false;
|
||||||
|
|
||||||
|
const moduleName = injectCoreJS3
|
||||||
|
? "@babel/runtime-corejs3"
|
||||||
|
: injectCoreJS2
|
||||||
? "@babel/runtime-corejs2"
|
? "@babel/runtime-corejs2"
|
||||||
: "@babel/runtime";
|
: "@babel/runtime";
|
||||||
|
|
||||||
|
const corejsRoot = injectCoreJS3 && !proposals ? "core-js-stable" : "core-js";
|
||||||
|
|
||||||
|
const { BuiltIns, StaticProperties, InstanceProperties } = (injectCoreJS2
|
||||||
|
? getCoreJS2Definitions
|
||||||
|
: getCoreJS3Definitions)(runtimeVersion);
|
||||||
|
|
||||||
const HEADER_HELPERS = ["interopRequireWildcard", "interopRequireDefault"];
|
const HEADER_HELPERS = ["interopRequireWildcard", "interopRequireDefault"];
|
||||||
|
|
||||||
let modulePath = moduleName;
|
let modulePath = moduleName;
|
||||||
@ -199,7 +243,10 @@ export default declare((api, options, dirname) => {
|
|||||||
visitor: {
|
visitor: {
|
||||||
ReferencedIdentifier(path) {
|
ReferencedIdentifier(path) {
|
||||||
const { node, parent, scope } = path;
|
const { node, parent, scope } = path;
|
||||||
if (node.name === "regeneratorRuntime" && useRuntimeRegenerator) {
|
const { name } = node;
|
||||||
|
|
||||||
|
// transform `regeneratorRuntime`
|
||||||
|
if (name === "regeneratorRuntime" && useRuntimeRegenerator) {
|
||||||
path.replaceWith(
|
path.replaceWith(
|
||||||
this.addDefaultImport(
|
this.addDefaultImport(
|
||||||
`${modulePath}/regenerator`,
|
`${modulePath}/regenerator`,
|
||||||
@ -209,50 +256,81 @@ export default declare((api, options, dirname) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!injectCoreJS2) return;
|
if (!injectCoreJS) return;
|
||||||
|
|
||||||
if (t.isMemberExpression(parent)) return;
|
if (t.isMemberExpression(parent)) return;
|
||||||
if (!has(definitions.builtins, node.name)) return;
|
if (!hasMapping(BuiltIns, name)) return;
|
||||||
if (scope.getBindingIdentifier(node.name)) return;
|
if (scope.getBindingIdentifier(name)) return;
|
||||||
|
|
||||||
// Symbol() -> _core.Symbol(); new Promise -> new _core.Promise
|
// transform global built-ins like `Symbol()`, `new Promise`
|
||||||
path.replaceWith(
|
path.replaceWith(
|
||||||
this.addDefaultImport(
|
this.addDefaultImport(
|
||||||
`${modulePath}/core-js/${definitions.builtins[node.name]}`,
|
`${modulePath}/${corejsRoot}/${BuiltIns[name].path}`,
|
||||||
node.name,
|
name,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
// arr[Symbol.iterator]() -> _core.$for.getIterator(arr)
|
|
||||||
CallExpression(path) {
|
CallExpression(path) {
|
||||||
if (!injectCoreJS2) return;
|
if (!injectCoreJS) return;
|
||||||
|
|
||||||
// we can't compile this
|
const { node } = path;
|
||||||
if (path.node.arguments.length) return;
|
const { callee } = node;
|
||||||
|
|
||||||
const callee = path.node.callee;
|
|
||||||
if (!t.isMemberExpression(callee)) return;
|
if (!t.isMemberExpression(callee)) return;
|
||||||
|
|
||||||
|
const { object, property } = callee;
|
||||||
|
const propertyName = property.name;
|
||||||
|
|
||||||
|
// transform calling instance methods like `something.includes()`
|
||||||
|
if (injectCoreJS3 && !hasStaticMapping(object.name, propertyName)) {
|
||||||
|
if (hasMapping(InstanceProperties, propertyName)) {
|
||||||
|
let context1, context2;
|
||||||
|
if (t.isIdentifier(object)) {
|
||||||
|
context1 = object;
|
||||||
|
context2 = t.cloneNode(object);
|
||||||
|
} else {
|
||||||
|
context1 = path.scope.generateDeclaredUidIdentifier("context");
|
||||||
|
context2 = t.assignmentExpression("=", context1, object);
|
||||||
|
}
|
||||||
|
node.callee = t.memberExpression(
|
||||||
|
t.callExpression(
|
||||||
|
this.addDefaultImport(
|
||||||
|
`${moduleName}/${corejsRoot}/instance/${
|
||||||
|
InstanceProperties[propertyName].path
|
||||||
|
}`,
|
||||||
|
`${propertyName}InstanceProperty`,
|
||||||
|
),
|
||||||
|
[context2],
|
||||||
|
),
|
||||||
|
t.identifier("call"),
|
||||||
|
);
|
||||||
|
node.arguments.unshift(context1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// we can't compile this
|
||||||
|
if (node.arguments.length) return;
|
||||||
if (!callee.computed) return;
|
if (!callee.computed) return;
|
||||||
if (!path.get("callee.property").matchesPattern("Symbol.iterator")) {
|
if (!path.get("callee.property").matchesPattern("Symbol.iterator")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// transform `something[Symbol.iterator]()` to calling `getIterator(something)` helper
|
||||||
path.replaceWith(
|
path.replaceWith(
|
||||||
t.callExpression(
|
t.callExpression(
|
||||||
this.addDefaultImport(
|
this.addDefaultImport(
|
||||||
`${modulePath}/core-js/get-iterator`,
|
`${modulePath}/core-js/get-iterator`,
|
||||||
"getIterator",
|
"getIterator",
|
||||||
),
|
),
|
||||||
[callee.object],
|
[object],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
// Symbol.iterator in arr -> core.$for.isIterable(arr)
|
// transform `Symbol.iterator in something` to calling `isIterable(something)` helper
|
||||||
BinaryExpression(path) {
|
BinaryExpression(path) {
|
||||||
if (!injectCoreJS2) return;
|
if (!injectCoreJS) return;
|
||||||
|
|
||||||
if (path.node.operator !== "in") return;
|
if (path.node.operator !== "in") return;
|
||||||
if (!path.get("left").matchesPattern("Symbol.iterator")) return;
|
if (!path.get("left").matchesPattern("Symbol.iterator")) return;
|
||||||
|
|
||||||
@ -267,61 +345,84 @@ export default declare((api, options, dirname) => {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
// Array.from -> _core.Array.from
|
// transform static built-ins methods like `Array.from`
|
||||||
MemberExpression: {
|
MemberExpression: {
|
||||||
enter(path) {
|
enter(path) {
|
||||||
if (!injectCoreJS2) return;
|
if (!injectCoreJS) return;
|
||||||
if (!path.isReferenced()) return;
|
if (!path.isReferenced()) return;
|
||||||
|
|
||||||
const { node } = path;
|
const { node } = path;
|
||||||
const obj = node.object;
|
const { object, property } = node;
|
||||||
const prop = node.property;
|
|
||||||
|
|
||||||
if (!t.isReferenced(obj, node)) return;
|
if (!t.isReferenced(object, node)) return;
|
||||||
if (node.computed) return;
|
|
||||||
if (!has(definitions.methods, obj.name)) return;
|
|
||||||
|
|
||||||
const methods = definitions.methods[obj.name];
|
if (node.computed) {
|
||||||
if (!has(methods, prop.name)) return;
|
if (injectCoreJS2) return;
|
||||||
|
// transform `something[Symbol.iterator]` to calling `getIteratorMethod(something)` helper
|
||||||
// doesn't reference the global
|
if (path.get("property").matchesPattern("Symbol.iterator")) {
|
||||||
if (path.scope.getBindingIdentifier(obj.name)) return;
|
path.replaceWith(
|
||||||
|
t.callExpression(
|
||||||
// special case Object.defineProperty to not use core-js when using string keys
|
this.addDefaultImport(
|
||||||
if (
|
`${moduleName}/core-js/get-iterator-method`,
|
||||||
obj.name === "Object" &&
|
"getIteratorMethod",
|
||||||
prop.name === "defineProperty" &&
|
),
|
||||||
path.parentPath.isCallExpression()
|
[object],
|
||||||
) {
|
),
|
||||||
const call = path.parentPath.node;
|
);
|
||||||
if (call.arguments.length === 3 && t.isLiteral(call.arguments[1])) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const objectName = object.name;
|
||||||
|
const propertyName = property.name;
|
||||||
|
// doesn't reference the global
|
||||||
|
if (
|
||||||
|
path.scope.getBindingIdentifier(objectName) ||
|
||||||
|
!hasStaticMapping(objectName, propertyName)
|
||||||
|
) {
|
||||||
|
// transform getting of instance methods like `method = something.includes`
|
||||||
|
if (injectCoreJS3 && hasMapping(InstanceProperties, propertyName)) {
|
||||||
|
path.replaceWith(
|
||||||
|
t.callExpression(
|
||||||
|
this.addDefaultImport(
|
||||||
|
`${moduleName}/${corejsRoot}/instance/${
|
||||||
|
InstanceProperties[propertyName].path
|
||||||
|
}`,
|
||||||
|
`${propertyName}InstanceProperty`,
|
||||||
|
),
|
||||||
|
[object],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
path.replaceWith(
|
path.replaceWith(
|
||||||
this.addDefaultImport(
|
this.addDefaultImport(
|
||||||
`${modulePath}/core-js/${methods[prop.name]}`,
|
`${modulePath}/${corejsRoot}/${
|
||||||
`${obj.name}$${prop.name}`,
|
StaticProperties[objectName][propertyName].path
|
||||||
|
}`,
|
||||||
|
`${objectName}$${propertyName}`,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
exit(path) {
|
exit(path) {
|
||||||
if (!injectCoreJS2) return;
|
if (!injectCoreJS) return;
|
||||||
if (!path.isReferenced()) return;
|
if (!path.isReferenced()) return;
|
||||||
|
|
||||||
const { node } = path;
|
const { node } = path;
|
||||||
const obj = node.object;
|
const { object } = node;
|
||||||
|
const { name } = object;
|
||||||
|
|
||||||
if (!has(definitions.builtins, obj.name)) return;
|
if (!hasMapping(BuiltIns, name)) return;
|
||||||
if (path.scope.getBindingIdentifier(obj.name)) return;
|
if (path.scope.getBindingIdentifier(name)) return;
|
||||||
|
|
||||||
path.replaceWith(
|
path.replaceWith(
|
||||||
t.memberExpression(
|
t.memberExpression(
|
||||||
this.addDefaultImport(
|
this.addDefaultImport(
|
||||||
`${modulePath}/core-js/${definitions.builtins[obj.name]}`,
|
`${modulePath}/${corejsRoot}/${BuiltIns[name].path}`,
|
||||||
obj.name,
|
name,
|
||||||
),
|
),
|
||||||
node.property,
|
node.property,
|
||||||
node.computed,
|
node.computed,
|
||||||
|
|||||||
@ -0,0 +1,155 @@
|
|||||||
|
import { hasMinVersion } from "./helpers";
|
||||||
|
|
||||||
|
export default runtimeVersion => {
|
||||||
|
// Conditionally include 'Math' because it was not included in the 7.0.0
|
||||||
|
// release of '@babel/runtime'. See issue https://github.com/babel/babel/pull/8616.
|
||||||
|
const includeMathModule = hasMinVersion("7.0.1", runtimeVersion);
|
||||||
|
|
||||||
|
return {
|
||||||
|
BuiltIns: {
|
||||||
|
Symbol: { stable: true, path: "symbol" },
|
||||||
|
Promise: { stable: true, path: "promise" },
|
||||||
|
Map: { stable: true, path: "map" },
|
||||||
|
WeakMap: { stable: true, path: "weak-map" },
|
||||||
|
Set: { stable: true, path: "set" },
|
||||||
|
WeakSet: { stable: true, path: "weak-set" },
|
||||||
|
setImmediate: { stable: true, path: "set-immediate" },
|
||||||
|
clearImmediate: { stable: true, path: "clear-immediate" },
|
||||||
|
parseFloat: { stable: true, path: "parse-float" },
|
||||||
|
parseInt: { stable: true, path: "parse-int" },
|
||||||
|
},
|
||||||
|
|
||||||
|
StaticProperties: {
|
||||||
|
Array: {
|
||||||
|
from: { stable: true, path: "array/from" },
|
||||||
|
isArray: { stable: true, path: "array/is-array" },
|
||||||
|
of: { stable: true, path: "array/of" },
|
||||||
|
},
|
||||||
|
|
||||||
|
JSON: {
|
||||||
|
stringify: { stable: true, path: "json/stringify" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Object: {
|
||||||
|
assign: { stable: true, path: "object/assign" },
|
||||||
|
create: { stable: true, path: "object/create" },
|
||||||
|
defineProperties: { stable: true, path: "object/define-properties" },
|
||||||
|
defineProperty: { stable: true, path: "object/define-property" },
|
||||||
|
entries: { stable: true, path: "object/entries" },
|
||||||
|
freeze: { stable: true, path: "object/freeze" },
|
||||||
|
getOwnPropertyDescriptor: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-descriptor",
|
||||||
|
},
|
||||||
|
getOwnPropertyDescriptors: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-descriptors",
|
||||||
|
},
|
||||||
|
getOwnPropertyNames: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-names",
|
||||||
|
},
|
||||||
|
getOwnPropertySymbols: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-symbols",
|
||||||
|
},
|
||||||
|
getPrototypeOf: { stable: true, path: "object/get-prototype-of" },
|
||||||
|
isExtensible: { stable: true, path: "object/is-extensible" },
|
||||||
|
isFrozen: { stable: true, path: "object/is-frozen" },
|
||||||
|
isSealed: { stable: true, path: "object/is-sealed" },
|
||||||
|
is: { stable: true, path: "object/is" },
|
||||||
|
keys: { stable: true, path: "object/keys" },
|
||||||
|
preventExtensions: { stable: true, path: "object/prevent-extensions" },
|
||||||
|
seal: { stable: true, path: "object/seal" },
|
||||||
|
setPrototypeOf: { stable: true, path: "object/set-prototype-of" },
|
||||||
|
values: { stable: true, path: "object/values" },
|
||||||
|
},
|
||||||
|
|
||||||
|
...(includeMathModule
|
||||||
|
? {
|
||||||
|
Math: {
|
||||||
|
acosh: { stable: true, path: "math/acosh" },
|
||||||
|
asinh: { stable: true, path: "math/asinh" },
|
||||||
|
atanh: { stable: true, path: "math/atanh" },
|
||||||
|
cbrt: { stable: true, path: "math/cbrt" },
|
||||||
|
clz32: { stable: true, path: "math/clz32" },
|
||||||
|
cosh: { stable: true, path: "math/cosh" },
|
||||||
|
expm1: { stable: true, path: "math/expm1" },
|
||||||
|
fround: { stable: true, path: "math/fround" },
|
||||||
|
hypot: { stable: true, path: "math/hypot" },
|
||||||
|
imul: { stable: true, path: "math/imul" },
|
||||||
|
log10: { stable: true, path: "math/log10" },
|
||||||
|
log1p: { stable: true, path: "math/log1p" },
|
||||||
|
log2: { stable: true, path: "math/log2" },
|
||||||
|
sign: { stable: true, path: "math/sign" },
|
||||||
|
sinh: { stable: true, path: "math/sinh" },
|
||||||
|
tanh: { stable: true, path: "math/tanh" },
|
||||||
|
trunc: { stable: true, path: "math/trunc" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
: {}),
|
||||||
|
|
||||||
|
Symbol: {
|
||||||
|
// FIXME: Disabled to work around zloirock/core-js#262.
|
||||||
|
// asyncIterator: { stable: true, path: "symbol/async-iterator" },
|
||||||
|
for: { stable: true, path: "symbol/for" },
|
||||||
|
hasInstance: { stable: true, path: "symbol/has-instance" },
|
||||||
|
isConcatSpreadable: {
|
||||||
|
stable: true,
|
||||||
|
path: "symbol/is-concat-spreadable",
|
||||||
|
},
|
||||||
|
iterator: { stable: true, path: "symbol/iterator" },
|
||||||
|
keyFor: { stable: true, path: "symbol/key-for" },
|
||||||
|
match: { stable: true, path: "symbol/match" },
|
||||||
|
replace: { stable: true, path: "symbol/replace" },
|
||||||
|
search: { stable: true, path: "symbol/search" },
|
||||||
|
species: { stable: true, path: "symbol/species" },
|
||||||
|
split: { stable: true, path: "symbol/split" },
|
||||||
|
toPrimitive: { stable: true, path: "symbol/to-primitive" },
|
||||||
|
toStringTag: { stable: true, path: "symbol/to-string-tag" },
|
||||||
|
unscopables: { stable: true, path: "symbol/unscopables" },
|
||||||
|
},
|
||||||
|
|
||||||
|
String: {
|
||||||
|
at: { stable: true, path: "string/at" },
|
||||||
|
fromCodePoint: { stable: true, path: "string/from-code-point" },
|
||||||
|
raw: { stable: true, path: "string/raw" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Number: {
|
||||||
|
EPSILON: { stable: true, path: "number/epsilon" },
|
||||||
|
isFinite: { stable: true, path: "number/is-finite" },
|
||||||
|
isInteger: { stable: true, path: "number/is-integer" },
|
||||||
|
isNaN: { stable: true, path: "number/is-nan" },
|
||||||
|
isSafeInteger: { stable: true, path: "number/is-safe-integer" },
|
||||||
|
MAX_SAFE_INTEGER: { stable: true, path: "number/max-safe-integer" },
|
||||||
|
MIN_SAFE_INTEGER: { stable: true, path: "number/min-safe-integer" },
|
||||||
|
parseFloat: { stable: true, path: "number/parse-float" },
|
||||||
|
parseInt: { stable: true, path: "number/parse-int" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Reflect: {
|
||||||
|
apply: { stable: true, path: "reflect/apply" },
|
||||||
|
construct: { stable: true, path: "reflect/construct" },
|
||||||
|
defineProperty: { stable: true, path: "reflect/define-property" },
|
||||||
|
deleteProperty: { stable: true, path: "reflect/delete-property" },
|
||||||
|
getOwnPropertyDescriptor: {
|
||||||
|
stable: true,
|
||||||
|
path: "reflect/get-own-property-descriptor",
|
||||||
|
},
|
||||||
|
getPrototypeOf: { stable: true, path: "reflect/get-prototype-of" },
|
||||||
|
get: { stable: true, path: "reflect/get" },
|
||||||
|
has: { stable: true, path: "reflect/has" },
|
||||||
|
isExtensible: { stable: true, path: "reflect/is-extensible" },
|
||||||
|
ownKeys: { stable: true, path: "reflect/own-keys" },
|
||||||
|
preventExtensions: { stable: true, path: "reflect/prevent-extensions" },
|
||||||
|
setPrototypeOf: { stable: true, path: "reflect/set-prototype-of" },
|
||||||
|
set: { stable: true, path: "reflect/set" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Date: {
|
||||||
|
now: { stable: true, path: "date/now" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
||||||
@ -0,0 +1,227 @@
|
|||||||
|
export default () => {
|
||||||
|
return {
|
||||||
|
BuiltIns: {
|
||||||
|
AggregateError: { stable: false, path: "aggregate-error" },
|
||||||
|
Map: { stable: true, path: "map" },
|
||||||
|
Observable: { stable: false, path: "observable" },
|
||||||
|
Promise: { stable: true, path: "promise" },
|
||||||
|
Set: { stable: true, path: "set" },
|
||||||
|
Symbol: { stable: true, path: "symbol" },
|
||||||
|
URL: { stable: true, path: "url" },
|
||||||
|
URLSearchParams: { stable: true, path: "url-search-params" },
|
||||||
|
WeakMap: { stable: true, path: "weak-map" },
|
||||||
|
WeakSet: { stable: true, path: "weak-set" },
|
||||||
|
clearImmediate: { stable: true, path: "clear-immediate" },
|
||||||
|
compositeKey: { stable: false, path: "composite-key" },
|
||||||
|
compositeSymbol: { stable: false, path: "composite-symbol" },
|
||||||
|
globalThis: { stable: false, path: "global-this" },
|
||||||
|
parseFloat: { stable: true, path: "parse-float" },
|
||||||
|
parseInt: { stable: true, path: "parse-int" },
|
||||||
|
queueMicrotask: { stable: true, path: "queue-microtask" },
|
||||||
|
setImmediate: { stable: true, path: "set-immediate" },
|
||||||
|
setInterval: { stable: true, path: "set-interval" },
|
||||||
|
setTimeout: { stable: true, path: "set-timeout" },
|
||||||
|
},
|
||||||
|
|
||||||
|
StaticProperties: {
|
||||||
|
Array: {
|
||||||
|
from: { stable: true, path: "array/from" },
|
||||||
|
isArray: { stable: true, path: "array/is-array" },
|
||||||
|
of: { stable: true, path: "array/of" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Date: {
|
||||||
|
now: { stable: true, path: "date/now" },
|
||||||
|
},
|
||||||
|
|
||||||
|
JSON: {
|
||||||
|
stringify: { stable: true, path: "json/stringify" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Math: {
|
||||||
|
DEG_PER_RAD: { stable: false, path: "math/deg-per-rad" },
|
||||||
|
RAD_PER_DEG: { stable: false, path: "math/rad-per-deg" },
|
||||||
|
acosh: { stable: true, path: "math/acosh" },
|
||||||
|
asinh: { stable: true, path: "math/asinh" },
|
||||||
|
atanh: { stable: true, path: "math/atanh" },
|
||||||
|
cbrt: { stable: true, path: "math/cbrt" },
|
||||||
|
clamp: { stable: false, path: "math/clamp" },
|
||||||
|
clz32: { stable: true, path: "math/clz32" },
|
||||||
|
cosh: { stable: true, path: "math/cosh" },
|
||||||
|
degrees: { stable: false, path: "math/degrees" },
|
||||||
|
expm1: { stable: true, path: "math/expm1" },
|
||||||
|
fround: { stable: true, path: "math/fround" },
|
||||||
|
fscale: { stable: false, path: "math/fscale" },
|
||||||
|
hypot: { stable: true, path: "math/hypot" },
|
||||||
|
iaddh: { stable: false, path: "math/iaddh" },
|
||||||
|
imul: { stable: true, path: "math/imul" },
|
||||||
|
imulh: { stable: false, path: "math/imulh" },
|
||||||
|
isubh: { stable: false, path: "math/isubh" },
|
||||||
|
log10: { stable: true, path: "math/log10" },
|
||||||
|
log1p: { stable: true, path: "math/log1p" },
|
||||||
|
log2: { stable: true, path: "math/log2" },
|
||||||
|
radians: { stable: false, path: "math/radians" },
|
||||||
|
scale: { stable: false, path: "math/scale" },
|
||||||
|
seededPRNG: { stable: false, path: "math/seeded-prng" },
|
||||||
|
sign: { stable: true, path: "math/sign" },
|
||||||
|
signbit: { stable: false, path: "math/signbit" },
|
||||||
|
sinh: { stable: true, path: "math/sinh" },
|
||||||
|
tanh: { stable: true, path: "math/tanh" },
|
||||||
|
trunc: { stable: true, path: "math/trunc" },
|
||||||
|
umulh: { stable: false, path: "math/umulh" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Number: {
|
||||||
|
EPSILON: { stable: true, path: "number/epsilon" },
|
||||||
|
MAX_SAFE_INTEGER: { stable: true, path: "number/max-safe-integer" },
|
||||||
|
MIN_SAFE_INTEGER: { stable: true, path: "number/min-safe-integer" },
|
||||||
|
fromString: { stable: false, path: "number/from-string" },
|
||||||
|
isFinite: { stable: true, path: "number/is-finite" },
|
||||||
|
isInteger: { stable: true, path: "number/is-integer" },
|
||||||
|
isNaN: { stable: true, path: "number/is-nan" },
|
||||||
|
isSafeInteger: { stable: true, path: "number/is-safe-integer" },
|
||||||
|
parseFloat: { stable: true, path: "number/parse-float" },
|
||||||
|
parseInt: { stable: true, path: "number/parse-int" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Object: {
|
||||||
|
assign: { stable: true, path: "object/assign" },
|
||||||
|
create: { stable: true, path: "object/create" },
|
||||||
|
defineProperties: { stable: true, path: "object/define-properties" },
|
||||||
|
defineProperty: { stable: true, path: "object/define-property" },
|
||||||
|
entries: { stable: true, path: "object/entries" },
|
||||||
|
freeze: { stable: true, path: "object/freeze" },
|
||||||
|
fromEntries: { stable: true, path: "object/from-entries" },
|
||||||
|
getOwnPropertyDescriptor: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-descriptor",
|
||||||
|
},
|
||||||
|
getOwnPropertyDescriptors: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-descriptors",
|
||||||
|
},
|
||||||
|
getOwnPropertyNames: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-names",
|
||||||
|
},
|
||||||
|
getOwnPropertySymbols: {
|
||||||
|
stable: true,
|
||||||
|
path: "object/get-own-property-symbols",
|
||||||
|
},
|
||||||
|
getPrototypeOf: { stable: true, path: "object/get-prototype-of" },
|
||||||
|
isExtensible: { stable: true, path: "object/is-extensible" },
|
||||||
|
isFrozen: { stable: true, path: "object/is-frozen" },
|
||||||
|
isSealed: { stable: true, path: "object/is-sealed" },
|
||||||
|
is: { stable: true, path: "object/is" },
|
||||||
|
keys: { stable: true, path: "object/keys" },
|
||||||
|
preventExtensions: { stable: true, path: "object/prevent-extensions" },
|
||||||
|
seal: { stable: true, path: "object/seal" },
|
||||||
|
setPrototypeOf: { stable: true, path: "object/set-prototype-of" },
|
||||||
|
values: { stable: true, path: "object/values" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Reflect: {
|
||||||
|
apply: { stable: true, path: "reflect/apply" },
|
||||||
|
construct: { stable: true, path: "reflect/construct" },
|
||||||
|
defineMetadata: { stable: false, path: "reflect/define-metadata" },
|
||||||
|
defineProperty: { stable: true, path: "reflect/define-property" },
|
||||||
|
deleteMetadata: { stable: false, path: "reflect/delete-metadata" },
|
||||||
|
deleteProperty: { stable: true, path: "reflect/delete-property" },
|
||||||
|
getMetadata: { stable: false, path: "reflect/get-metadata" },
|
||||||
|
getMetadataKeys: { stable: false, path: "reflect/get-metadata-keys" },
|
||||||
|
getOwnMetadata: { stable: false, path: "reflect/get-own-metadata" },
|
||||||
|
getOwnMetadataKeys: {
|
||||||
|
stable: false,
|
||||||
|
path: "reflect/get-own-metadata-keys",
|
||||||
|
},
|
||||||
|
getOwnPropertyDescriptor: {
|
||||||
|
stable: true,
|
||||||
|
path: "reflect/get-own-property-descriptor",
|
||||||
|
},
|
||||||
|
getPrototypeOf: { stable: true, path: "reflect/get-prototype-of" },
|
||||||
|
get: { stable: true, path: "reflect/get" },
|
||||||
|
has: { stable: true, path: "reflect/has" },
|
||||||
|
hasMetadata: { stable: false, path: "reflect/has-metadata" },
|
||||||
|
hasOwnMetadata: { stable: false, path: "reflect/has-own-metadata" },
|
||||||
|
isExtensible: { stable: true, path: "reflect/is-extensible" },
|
||||||
|
metadata: { stable: false, path: "reflect/metadata" },
|
||||||
|
ownKeys: { stable: true, path: "reflect/own-keys" },
|
||||||
|
preventExtensions: { stable: true, path: "reflect/prevent-extensions" },
|
||||||
|
set: { stable: true, path: "reflect/set" },
|
||||||
|
setPrototypeOf: { stable: true, path: "reflect/set-prototype-of" },
|
||||||
|
},
|
||||||
|
|
||||||
|
String: {
|
||||||
|
fromCodePoint: { stable: true, path: "string/from-code-point" },
|
||||||
|
raw: { stable: true, path: "string/raw" },
|
||||||
|
},
|
||||||
|
|
||||||
|
Symbol: {
|
||||||
|
asyncIterator: { stable: true, path: "symbol/async-iterator" },
|
||||||
|
dispose: { stable: false, path: "symbol/dispose" },
|
||||||
|
for: { stable: true, path: "symbol/for" },
|
||||||
|
hasInstance: { stable: true, path: "symbol/has-instance" },
|
||||||
|
isConcatSpreadable: {
|
||||||
|
stable: true,
|
||||||
|
path: "symbol/is-concat-spreadable",
|
||||||
|
},
|
||||||
|
iterator: { stable: true, path: "symbol/iterator" },
|
||||||
|
keyFor: { stable: true, path: "symbol/key-for" },
|
||||||
|
match: { stable: true, path: "symbol/match" },
|
||||||
|
observable: { stable: false, path: "symbol/observable" },
|
||||||
|
patternMatch: { stable: false, path: "symbol/pattern-match" },
|
||||||
|
replace: { stable: true, path: "symbol/replace" },
|
||||||
|
search: { stable: true, path: "symbol/search" },
|
||||||
|
species: { stable: true, path: "symbol/species" },
|
||||||
|
split: { stable: true, path: "symbol/split" },
|
||||||
|
toPrimitive: { stable: true, path: "symbol/to-primitive" },
|
||||||
|
toStringTag: { stable: true, path: "symbol/to-string-tag" },
|
||||||
|
unscopables: { stable: true, path: "symbol/unscopables" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
InstanceProperties: {
|
||||||
|
at: { stable: false, path: "at" },
|
||||||
|
bind: { stable: true, path: "bind" },
|
||||||
|
codePointAt: { stable: true, path: "code-point-at" },
|
||||||
|
codePoints: { stable: false, path: "code-points" },
|
||||||
|
concat: { stable: true, path: "concat" },
|
||||||
|
copyWithin: { stable: true, path: "copy-within" },
|
||||||
|
endsWith: { stable: true, path: "ends-with" },
|
||||||
|
entries: { stable: true, path: "entries" },
|
||||||
|
every: { stable: true, path: "every" },
|
||||||
|
fill: { stable: true, path: "fill" },
|
||||||
|
filter: { stable: true, path: "filter" },
|
||||||
|
find: { stable: true, path: "find" },
|
||||||
|
findIndex: { stable: true, path: "find-index" },
|
||||||
|
flags: { stable: true, path: "flags" },
|
||||||
|
flatMap: { stable: true, path: "flat-map" },
|
||||||
|
flat: { stable: true, path: "flat" },
|
||||||
|
forEach: { stable: true, path: "for-each" },
|
||||||
|
includes: { stable: true, path: "includes" },
|
||||||
|
indexOf: { stable: true, path: "index-of" },
|
||||||
|
keys: { stable: true, path: "keys" },
|
||||||
|
lastIndexOf: { stable: true, path: "last-index-of" },
|
||||||
|
map: { stable: true, path: "map" },
|
||||||
|
matchAll: { stable: false, path: "match-all" },
|
||||||
|
padEnd: { stable: true, path: "pad-end" },
|
||||||
|
padStart: { stable: true, path: "pad-start" },
|
||||||
|
reduce: { stable: true, path: "reduce" },
|
||||||
|
reduceRight: { stable: true, path: "reduce-right" },
|
||||||
|
repeat: { stable: true, path: "repeat" },
|
||||||
|
replaceAll: { stable: false, path: "replace-all" },
|
||||||
|
reverse: { stable: true, path: "reverse" },
|
||||||
|
slice: { stable: true, path: "slice" },
|
||||||
|
some: { stable: true, path: "some" },
|
||||||
|
sort: { stable: true, path: "sort" },
|
||||||
|
splice: { stable: true, path: "splice" },
|
||||||
|
startsWith: { stable: true, path: "starts-with" },
|
||||||
|
trim: { stable: true, path: "trim" },
|
||||||
|
trimEnd: { stable: true, path: "trim-end" },
|
||||||
|
trimLeft: { stable: true, path: "trim-left" },
|
||||||
|
trimRight: { stable: true, path: "trim-right" },
|
||||||
|
trimStart: { stable: true, path: "trim-start" },
|
||||||
|
values: { stable: true, path: "values" },
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
||||||
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
||||||
|
|
||||||
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
||||||
|
|
||||||
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
||||||
|
|
||||||
|
_Object$defineProperty(exports, "__esModule", {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,7 @@
|
|||||||
|
obj.constructor === Object;
|
||||||
|
obj.constructor === Promise;
|
||||||
|
|
||||||
|
Symbol();
|
||||||
|
Symbol("test");
|
||||||
|
|
||||||
|
new Map();
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
var _Map = require("@babel/runtime-corejs3/core-js-stable/map");
|
||||||
|
|
||||||
|
var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
|
||||||
|
|
||||||
|
var _Promise = require("@babel/runtime-corejs3/core-js-stable/promise");
|
||||||
|
|
||||||
|
obj.constructor === Object;
|
||||||
|
obj.constructor === _Promise;
|
||||||
|
|
||||||
|
_Symbol();
|
||||||
|
|
||||||
|
_Symbol("test");
|
||||||
|
|
||||||
|
new _Map();
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
AggregateError
|
||||||
|
Map
|
||||||
|
Observable
|
||||||
|
Promise
|
||||||
|
Set
|
||||||
|
Symbol
|
||||||
|
URL
|
||||||
|
URLSearchParams
|
||||||
|
WeakMap
|
||||||
|
WeakSet
|
||||||
|
clearImmediate
|
||||||
|
compositeKey
|
||||||
|
compositeSymbol
|
||||||
|
globalThis
|
||||||
|
parseFloat
|
||||||
|
parseInt
|
||||||
|
queueMicrotask
|
||||||
|
setImmediate
|
||||||
|
setInterval
|
||||||
|
setTimeout
|
||||||
|
|
||||||
|
Array
|
||||||
|
Boolean
|
||||||
|
Date
|
||||||
|
Infinity
|
||||||
|
JSON
|
||||||
|
NaN
|
||||||
|
Number
|
||||||
|
Object
|
||||||
|
clearInterval
|
||||||
|
clearTimeout
|
||||||
|
|
||||||
|
something
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": { "version": 3, "proposals": true } }]]
|
||||||
|
}
|
||||||
@ -0,0 +1,71 @@
|
|||||||
|
var _setTimeout = require("@babel/runtime-corejs3/core-js/set-timeout");
|
||||||
|
|
||||||
|
var _setInterval = require("@babel/runtime-corejs3/core-js/set-interval");
|
||||||
|
|
||||||
|
var _setImmediate = require("@babel/runtime-corejs3/core-js/set-immediate");
|
||||||
|
|
||||||
|
var _queueMicrotask = require("@babel/runtime-corejs3/core-js/queue-microtask");
|
||||||
|
|
||||||
|
var _parseInt = require("@babel/runtime-corejs3/core-js/parse-int");
|
||||||
|
|
||||||
|
var _parseFloat = require("@babel/runtime-corejs3/core-js/parse-float");
|
||||||
|
|
||||||
|
var _globalThis = require("@babel/runtime-corejs3/core-js/global-this");
|
||||||
|
|
||||||
|
var _compositeSymbol = require("@babel/runtime-corejs3/core-js/composite-symbol");
|
||||||
|
|
||||||
|
var _compositeKey = require("@babel/runtime-corejs3/core-js/composite-key");
|
||||||
|
|
||||||
|
var _clearImmediate = require("@babel/runtime-corejs3/core-js/clear-immediate");
|
||||||
|
|
||||||
|
var _WeakSet = require("@babel/runtime-corejs3/core-js/weak-set");
|
||||||
|
|
||||||
|
var _WeakMap = require("@babel/runtime-corejs3/core-js/weak-map");
|
||||||
|
|
||||||
|
var _URLSearchParams = require("@babel/runtime-corejs3/core-js/url-search-params");
|
||||||
|
|
||||||
|
var _URL = require("@babel/runtime-corejs3/core-js/url");
|
||||||
|
|
||||||
|
var _Symbol = require("@babel/runtime-corejs3/core-js/symbol");
|
||||||
|
|
||||||
|
var _Set = require("@babel/runtime-corejs3/core-js/set");
|
||||||
|
|
||||||
|
var _Promise = require("@babel/runtime-corejs3/core-js/promise");
|
||||||
|
|
||||||
|
var _Observable = require("@babel/runtime-corejs3/core-js/observable");
|
||||||
|
|
||||||
|
var _Map = require("@babel/runtime-corejs3/core-js/map");
|
||||||
|
|
||||||
|
var _AggregateError = require("@babel/runtime-corejs3/core-js/aggregate-error");
|
||||||
|
|
||||||
|
_AggregateError;
|
||||||
|
_Map;
|
||||||
|
_Observable;
|
||||||
|
_Promise;
|
||||||
|
_Set;
|
||||||
|
_Symbol;
|
||||||
|
_URL;
|
||||||
|
_URLSearchParams;
|
||||||
|
_WeakMap;
|
||||||
|
_WeakSet;
|
||||||
|
_clearImmediate;
|
||||||
|
_compositeKey;
|
||||||
|
_compositeSymbol;
|
||||||
|
_globalThis;
|
||||||
|
_parseFloat;
|
||||||
|
_parseInt;
|
||||||
|
_queueMicrotask;
|
||||||
|
_setImmediate;
|
||||||
|
_setInterval;
|
||||||
|
_setTimeout;
|
||||||
|
Array;
|
||||||
|
Boolean;
|
||||||
|
Date;
|
||||||
|
Infinity;
|
||||||
|
JSON;
|
||||||
|
NaN;
|
||||||
|
Number;
|
||||||
|
Object;
|
||||||
|
clearInterval;
|
||||||
|
clearTimeout;
|
||||||
|
something;
|
||||||
33
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-globals/input.js
vendored
Normal file
33
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-globals/input.js
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
AggregateError
|
||||||
|
Map
|
||||||
|
Observable
|
||||||
|
Promise
|
||||||
|
Set
|
||||||
|
Symbol
|
||||||
|
URL
|
||||||
|
URLSearchParams
|
||||||
|
WeakMap
|
||||||
|
WeakSet
|
||||||
|
clearImmediate
|
||||||
|
compositeKey
|
||||||
|
compositeSymbol
|
||||||
|
globalThis
|
||||||
|
parseFloat
|
||||||
|
parseInt
|
||||||
|
queueMicrotask
|
||||||
|
setImmediate
|
||||||
|
setInterval
|
||||||
|
setTimeout
|
||||||
|
|
||||||
|
Array
|
||||||
|
Boolean
|
||||||
|
Date
|
||||||
|
Infinity
|
||||||
|
JSON
|
||||||
|
NaN
|
||||||
|
Number
|
||||||
|
Object
|
||||||
|
clearInterval
|
||||||
|
clearTimeout
|
||||||
|
|
||||||
|
something
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }]]
|
||||||
|
}
|
||||||
61
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-globals/output.js
vendored
Normal file
61
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-globals/output.js
vendored
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
var _setTimeout = require("@babel/runtime-corejs3/core-js-stable/set-timeout");
|
||||||
|
|
||||||
|
var _setInterval = require("@babel/runtime-corejs3/core-js-stable/set-interval");
|
||||||
|
|
||||||
|
var _setImmediate = require("@babel/runtime-corejs3/core-js-stable/set-immediate");
|
||||||
|
|
||||||
|
var _queueMicrotask = require("@babel/runtime-corejs3/core-js-stable/queue-microtask");
|
||||||
|
|
||||||
|
var _parseInt = require("@babel/runtime-corejs3/core-js-stable/parse-int");
|
||||||
|
|
||||||
|
var _parseFloat = require("@babel/runtime-corejs3/core-js-stable/parse-float");
|
||||||
|
|
||||||
|
var _clearImmediate = require("@babel/runtime-corejs3/core-js-stable/clear-immediate");
|
||||||
|
|
||||||
|
var _WeakSet = require("@babel/runtime-corejs3/core-js-stable/weak-set");
|
||||||
|
|
||||||
|
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
||||||
|
|
||||||
|
var _URLSearchParams = require("@babel/runtime-corejs3/core-js-stable/url-search-params");
|
||||||
|
|
||||||
|
var _URL = require("@babel/runtime-corejs3/core-js-stable/url");
|
||||||
|
|
||||||
|
var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
|
||||||
|
|
||||||
|
var _Set = require("@babel/runtime-corejs3/core-js-stable/set");
|
||||||
|
|
||||||
|
var _Promise = require("@babel/runtime-corejs3/core-js-stable/promise");
|
||||||
|
|
||||||
|
var _Map = require("@babel/runtime-corejs3/core-js-stable/map");
|
||||||
|
|
||||||
|
AggregateError;
|
||||||
|
_Map;
|
||||||
|
Observable;
|
||||||
|
_Promise;
|
||||||
|
_Set;
|
||||||
|
_Symbol;
|
||||||
|
_URL;
|
||||||
|
_URLSearchParams;
|
||||||
|
_WeakMap;
|
||||||
|
_WeakSet;
|
||||||
|
_clearImmediate;
|
||||||
|
compositeKey;
|
||||||
|
compositeSymbol;
|
||||||
|
globalThis;
|
||||||
|
_parseFloat;
|
||||||
|
_parseInt;
|
||||||
|
_queueMicrotask;
|
||||||
|
_setImmediate;
|
||||||
|
_setInterval;
|
||||||
|
_setTimeout;
|
||||||
|
Array;
|
||||||
|
Boolean;
|
||||||
|
Date;
|
||||||
|
Infinity;
|
||||||
|
JSON;
|
||||||
|
NaN;
|
||||||
|
Number;
|
||||||
|
Object;
|
||||||
|
clearInterval;
|
||||||
|
clearTimeout;
|
||||||
|
something;
|
||||||
@ -0,0 +1,88 @@
|
|||||||
|
object.at;
|
||||||
|
object.bind;
|
||||||
|
object.codePointAt;
|
||||||
|
object.codePoints;
|
||||||
|
object.concat;
|
||||||
|
object.copyWithin;
|
||||||
|
object.endsWith;
|
||||||
|
object.entries;
|
||||||
|
object.every;
|
||||||
|
object.fill;
|
||||||
|
object.filter;
|
||||||
|
object.find;
|
||||||
|
object.findIndex;
|
||||||
|
object.flags;
|
||||||
|
object.flatMap;
|
||||||
|
object.flat;
|
||||||
|
object.forEach;
|
||||||
|
object.includes;
|
||||||
|
object.indexOf;
|
||||||
|
object.keys;
|
||||||
|
object.lastIndexOf;
|
||||||
|
object.map;
|
||||||
|
object.matchAll;
|
||||||
|
object.padEnd;
|
||||||
|
object.padStart;
|
||||||
|
object.reduce;
|
||||||
|
object.reduceRight;
|
||||||
|
object.repeat;
|
||||||
|
object.replaceAll;
|
||||||
|
object.reverse;
|
||||||
|
object.slice;
|
||||||
|
object.some;
|
||||||
|
object.sort;
|
||||||
|
object.splice;
|
||||||
|
object.startsWith;
|
||||||
|
object.trim;
|
||||||
|
object.trimEnd;
|
||||||
|
object.trimLeft;
|
||||||
|
object.trimRight;
|
||||||
|
object.trimStart;
|
||||||
|
object.values;
|
||||||
|
object.something;
|
||||||
|
|
||||||
|
object.at(arg);
|
||||||
|
object.bind(arg);
|
||||||
|
object.codePointAt(arg);
|
||||||
|
object.codePoints(arg);
|
||||||
|
object.concat(arg);
|
||||||
|
object.copyWithin(arg);
|
||||||
|
object.endsWith(arg);
|
||||||
|
object.entries(arg);
|
||||||
|
object.every(arg);
|
||||||
|
object.fill(arg);
|
||||||
|
object.filter(arg);
|
||||||
|
object.find(arg);
|
||||||
|
object.findIndex(arg);
|
||||||
|
object.flags(arg);
|
||||||
|
object.flatMap(arg);
|
||||||
|
object.flat(arg);
|
||||||
|
object.forEach(arg);
|
||||||
|
object.includes(arg);
|
||||||
|
object.indexOf(arg);
|
||||||
|
object.keys(arg);
|
||||||
|
object.lastIndexOf(arg);
|
||||||
|
object.map(arg);
|
||||||
|
object.matchAll(arg);
|
||||||
|
object.padEnd(arg);
|
||||||
|
object.padStart(arg);
|
||||||
|
object.reduce(arg);
|
||||||
|
object.reduceRight(arg);
|
||||||
|
object.repeat(arg);
|
||||||
|
object.replaceAll(arg);
|
||||||
|
object.reverse(arg);
|
||||||
|
object.slice(arg);
|
||||||
|
object.some(arg);
|
||||||
|
object.sort(arg);
|
||||||
|
object.splice(arg);
|
||||||
|
object.startsWith(arg);
|
||||||
|
object.trim(arg);
|
||||||
|
object.trimEnd(arg);
|
||||||
|
object.trimLeft(arg);
|
||||||
|
object.trimRight(arg);
|
||||||
|
object.trimStart(arg);
|
||||||
|
object.values(arg);
|
||||||
|
|
||||||
|
Function.bind
|
||||||
|
|
||||||
|
object.something(arg);
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": { "version": 3, "proposals": true } }]]
|
||||||
|
}
|
||||||
@ -0,0 +1,251 @@
|
|||||||
|
var _valuesInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/values");
|
||||||
|
|
||||||
|
var _trimStartInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/trim-start");
|
||||||
|
|
||||||
|
var _trimRightInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/trim-right");
|
||||||
|
|
||||||
|
var _trimLeftInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/trim-left");
|
||||||
|
|
||||||
|
var _trimEndInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/trim-end");
|
||||||
|
|
||||||
|
var _trimInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/trim");
|
||||||
|
|
||||||
|
var _startsWithInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/starts-with");
|
||||||
|
|
||||||
|
var _spliceInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/splice");
|
||||||
|
|
||||||
|
var _sortInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/sort");
|
||||||
|
|
||||||
|
var _someInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/some");
|
||||||
|
|
||||||
|
var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/slice");
|
||||||
|
|
||||||
|
var _reverseInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/reverse");
|
||||||
|
|
||||||
|
var _replaceAllInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/replace-all");
|
||||||
|
|
||||||
|
var _repeatInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/repeat");
|
||||||
|
|
||||||
|
var _reduceRightInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/reduce-right");
|
||||||
|
|
||||||
|
var _reduceInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/reduce");
|
||||||
|
|
||||||
|
var _padStartInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/pad-start");
|
||||||
|
|
||||||
|
var _padEndInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/pad-end");
|
||||||
|
|
||||||
|
var _matchAllInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/match-all");
|
||||||
|
|
||||||
|
var _mapInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/map");
|
||||||
|
|
||||||
|
var _lastIndexOfInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/last-index-of");
|
||||||
|
|
||||||
|
var _keysInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/keys");
|
||||||
|
|
||||||
|
var _indexOfInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/index-of");
|
||||||
|
|
||||||
|
var _includesInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/includes");
|
||||||
|
|
||||||
|
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/for-each");
|
||||||
|
|
||||||
|
var _flatInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/flat");
|
||||||
|
|
||||||
|
var _flatMapInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/flat-map");
|
||||||
|
|
||||||
|
var _flagsInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/flags");
|
||||||
|
|
||||||
|
var _findIndexInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/find-index");
|
||||||
|
|
||||||
|
var _findInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/find");
|
||||||
|
|
||||||
|
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/filter");
|
||||||
|
|
||||||
|
var _fillInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/fill");
|
||||||
|
|
||||||
|
var _everyInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/every");
|
||||||
|
|
||||||
|
var _entriesInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/entries");
|
||||||
|
|
||||||
|
var _endsWithInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/ends-with");
|
||||||
|
|
||||||
|
var _copyWithinInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/copy-within");
|
||||||
|
|
||||||
|
var _concatInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/concat");
|
||||||
|
|
||||||
|
var _codePointsInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/code-points");
|
||||||
|
|
||||||
|
var _codePointAtInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/code-point-at");
|
||||||
|
|
||||||
|
var _bindInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/bind");
|
||||||
|
|
||||||
|
var _atInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/at");
|
||||||
|
|
||||||
|
_atInstanceProperty(object);
|
||||||
|
|
||||||
|
_bindInstanceProperty(object);
|
||||||
|
|
||||||
|
_codePointAtInstanceProperty(object);
|
||||||
|
|
||||||
|
_codePointsInstanceProperty(object);
|
||||||
|
|
||||||
|
_concatInstanceProperty(object);
|
||||||
|
|
||||||
|
_copyWithinInstanceProperty(object);
|
||||||
|
|
||||||
|
_endsWithInstanceProperty(object);
|
||||||
|
|
||||||
|
_entriesInstanceProperty(object);
|
||||||
|
|
||||||
|
_everyInstanceProperty(object);
|
||||||
|
|
||||||
|
_fillInstanceProperty(object);
|
||||||
|
|
||||||
|
_filterInstanceProperty(object);
|
||||||
|
|
||||||
|
_findInstanceProperty(object);
|
||||||
|
|
||||||
|
_findIndexInstanceProperty(object);
|
||||||
|
|
||||||
|
_flagsInstanceProperty(object);
|
||||||
|
|
||||||
|
_flatMapInstanceProperty(object);
|
||||||
|
|
||||||
|
_flatInstanceProperty(object);
|
||||||
|
|
||||||
|
_forEachInstanceProperty(object);
|
||||||
|
|
||||||
|
_includesInstanceProperty(object);
|
||||||
|
|
||||||
|
_indexOfInstanceProperty(object);
|
||||||
|
|
||||||
|
_keysInstanceProperty(object);
|
||||||
|
|
||||||
|
_lastIndexOfInstanceProperty(object);
|
||||||
|
|
||||||
|
_mapInstanceProperty(object);
|
||||||
|
|
||||||
|
_matchAllInstanceProperty(object);
|
||||||
|
|
||||||
|
_padEndInstanceProperty(object);
|
||||||
|
|
||||||
|
_padStartInstanceProperty(object);
|
||||||
|
|
||||||
|
_reduceInstanceProperty(object);
|
||||||
|
|
||||||
|
_reduceRightInstanceProperty(object);
|
||||||
|
|
||||||
|
_repeatInstanceProperty(object);
|
||||||
|
|
||||||
|
_replaceAllInstanceProperty(object);
|
||||||
|
|
||||||
|
_reverseInstanceProperty(object);
|
||||||
|
|
||||||
|
_sliceInstanceProperty(object);
|
||||||
|
|
||||||
|
_someInstanceProperty(object);
|
||||||
|
|
||||||
|
_sortInstanceProperty(object);
|
||||||
|
|
||||||
|
_spliceInstanceProperty(object);
|
||||||
|
|
||||||
|
_startsWithInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimEndInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimLeftInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimRightInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimStartInstanceProperty(object);
|
||||||
|
|
||||||
|
_valuesInstanceProperty(object);
|
||||||
|
|
||||||
|
object.something;
|
||||||
|
|
||||||
|
_atInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_bindInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_codePointAtInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_codePointsInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_concatInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_copyWithinInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_endsWithInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_entriesInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_everyInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_fillInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_filterInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_findInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_findIndexInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_flagsInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_flatMapInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_flatInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_forEachInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_includesInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_indexOfInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_keysInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_lastIndexOfInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_mapInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_matchAllInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_padEndInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_padStartInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_reduceInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_reduceRightInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_repeatInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_replaceAllInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_reverseInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_sliceInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_someInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_sortInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_spliceInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_startsWithInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimEndInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimLeftInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimRightInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimStartInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_valuesInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_bindInstanceProperty(Function);
|
||||||
|
|
||||||
|
object.something(arg);
|
||||||
@ -0,0 +1,88 @@
|
|||||||
|
object.at;
|
||||||
|
object.bind;
|
||||||
|
object.codePointAt;
|
||||||
|
object.codePoints;
|
||||||
|
object.concat;
|
||||||
|
object.copyWithin;
|
||||||
|
object.endsWith;
|
||||||
|
object.entries;
|
||||||
|
object.every;
|
||||||
|
object.fill;
|
||||||
|
object.filter;
|
||||||
|
object.find;
|
||||||
|
object.findIndex;
|
||||||
|
object.flags;
|
||||||
|
object.flatMap;
|
||||||
|
object.flat;
|
||||||
|
object.forEach;
|
||||||
|
object.includes;
|
||||||
|
object.indexOf;
|
||||||
|
object.keys;
|
||||||
|
object.lastIndexOf;
|
||||||
|
object.map;
|
||||||
|
object.matchAll;
|
||||||
|
object.padEnd;
|
||||||
|
object.padStart;
|
||||||
|
object.reduce;
|
||||||
|
object.reduceRight;
|
||||||
|
object.repeat;
|
||||||
|
object.replaceAll;
|
||||||
|
object.reverse;
|
||||||
|
object.slice;
|
||||||
|
object.some;
|
||||||
|
object.sort;
|
||||||
|
object.splice;
|
||||||
|
object.startsWith;
|
||||||
|
object.trim;
|
||||||
|
object.trimEnd;
|
||||||
|
object.trimLeft;
|
||||||
|
object.trimRight;
|
||||||
|
object.trimStart;
|
||||||
|
object.values;
|
||||||
|
object.something;
|
||||||
|
|
||||||
|
object.at(arg);
|
||||||
|
object.bind(arg);
|
||||||
|
object.codePointAt(arg);
|
||||||
|
object.codePoints(arg);
|
||||||
|
object.concat(arg);
|
||||||
|
object.copyWithin(arg);
|
||||||
|
object.endsWith(arg);
|
||||||
|
object.entries(arg);
|
||||||
|
object.every(arg);
|
||||||
|
object.fill(arg);
|
||||||
|
object.filter(arg);
|
||||||
|
object.find(arg);
|
||||||
|
object.findIndex(arg);
|
||||||
|
object.flags(arg);
|
||||||
|
object.flatMap(arg);
|
||||||
|
object.flat(arg);
|
||||||
|
object.forEach(arg);
|
||||||
|
object.includes(arg);
|
||||||
|
object.indexOf(arg);
|
||||||
|
object.keys(arg);
|
||||||
|
object.lastIndexOf(arg);
|
||||||
|
object.map(arg);
|
||||||
|
object.matchAll(arg);
|
||||||
|
object.padEnd(arg);
|
||||||
|
object.padStart(arg);
|
||||||
|
object.reduce(arg);
|
||||||
|
object.reduceRight(arg);
|
||||||
|
object.repeat(arg);
|
||||||
|
object.replaceAll(arg);
|
||||||
|
object.reverse(arg);
|
||||||
|
object.slice(arg);
|
||||||
|
object.some(arg);
|
||||||
|
object.sort(arg);
|
||||||
|
object.splice(arg);
|
||||||
|
object.startsWith(arg);
|
||||||
|
object.trim(arg);
|
||||||
|
object.trimEnd(arg);
|
||||||
|
object.trimLeft(arg);
|
||||||
|
object.trimRight(arg);
|
||||||
|
object.trimStart(arg);
|
||||||
|
object.values(arg);
|
||||||
|
|
||||||
|
Function.bind
|
||||||
|
|
||||||
|
object.something(arg);
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }]]
|
||||||
|
}
|
||||||
@ -0,0 +1,242 @@
|
|||||||
|
var _valuesInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/values");
|
||||||
|
|
||||||
|
var _trimStartInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/trim-start");
|
||||||
|
|
||||||
|
var _trimRightInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/trim-right");
|
||||||
|
|
||||||
|
var _trimLeftInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/trim-left");
|
||||||
|
|
||||||
|
var _trimEndInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/trim-end");
|
||||||
|
|
||||||
|
var _trimInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/trim");
|
||||||
|
|
||||||
|
var _startsWithInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/starts-with");
|
||||||
|
|
||||||
|
var _spliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/splice");
|
||||||
|
|
||||||
|
var _sortInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/sort");
|
||||||
|
|
||||||
|
var _someInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/some");
|
||||||
|
|
||||||
|
var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
|
||||||
|
|
||||||
|
var _reverseInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/reverse");
|
||||||
|
|
||||||
|
var _repeatInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/repeat");
|
||||||
|
|
||||||
|
var _reduceRightInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/reduce-right");
|
||||||
|
|
||||||
|
var _reduceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/reduce");
|
||||||
|
|
||||||
|
var _padStartInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/pad-start");
|
||||||
|
|
||||||
|
var _padEndInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/pad-end");
|
||||||
|
|
||||||
|
var _mapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/map");
|
||||||
|
|
||||||
|
var _lastIndexOfInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/last-index-of");
|
||||||
|
|
||||||
|
var _keysInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/keys");
|
||||||
|
|
||||||
|
var _indexOfInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/index-of");
|
||||||
|
|
||||||
|
var _includesInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/includes");
|
||||||
|
|
||||||
|
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
||||||
|
|
||||||
|
var _flatInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flat");
|
||||||
|
|
||||||
|
var _flatMapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flat-map");
|
||||||
|
|
||||||
|
var _flagsInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flags");
|
||||||
|
|
||||||
|
var _findIndexInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/find-index");
|
||||||
|
|
||||||
|
var _findInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/find");
|
||||||
|
|
||||||
|
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
||||||
|
|
||||||
|
var _fillInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/fill");
|
||||||
|
|
||||||
|
var _everyInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/every");
|
||||||
|
|
||||||
|
var _entriesInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/entries");
|
||||||
|
|
||||||
|
var _endsWithInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/ends-with");
|
||||||
|
|
||||||
|
var _copyWithinInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/copy-within");
|
||||||
|
|
||||||
|
var _concatInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/concat");
|
||||||
|
|
||||||
|
var _codePointAtInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/code-point-at");
|
||||||
|
|
||||||
|
var _bindInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/bind");
|
||||||
|
|
||||||
|
object.at;
|
||||||
|
|
||||||
|
_bindInstanceProperty(object);
|
||||||
|
|
||||||
|
_codePointAtInstanceProperty(object);
|
||||||
|
|
||||||
|
object.codePoints;
|
||||||
|
|
||||||
|
_concatInstanceProperty(object);
|
||||||
|
|
||||||
|
_copyWithinInstanceProperty(object);
|
||||||
|
|
||||||
|
_endsWithInstanceProperty(object);
|
||||||
|
|
||||||
|
_entriesInstanceProperty(object);
|
||||||
|
|
||||||
|
_everyInstanceProperty(object);
|
||||||
|
|
||||||
|
_fillInstanceProperty(object);
|
||||||
|
|
||||||
|
_filterInstanceProperty(object);
|
||||||
|
|
||||||
|
_findInstanceProperty(object);
|
||||||
|
|
||||||
|
_findIndexInstanceProperty(object);
|
||||||
|
|
||||||
|
_flagsInstanceProperty(object);
|
||||||
|
|
||||||
|
_flatMapInstanceProperty(object);
|
||||||
|
|
||||||
|
_flatInstanceProperty(object);
|
||||||
|
|
||||||
|
_forEachInstanceProperty(object);
|
||||||
|
|
||||||
|
_includesInstanceProperty(object);
|
||||||
|
|
||||||
|
_indexOfInstanceProperty(object);
|
||||||
|
|
||||||
|
_keysInstanceProperty(object);
|
||||||
|
|
||||||
|
_lastIndexOfInstanceProperty(object);
|
||||||
|
|
||||||
|
_mapInstanceProperty(object);
|
||||||
|
|
||||||
|
object.matchAll;
|
||||||
|
|
||||||
|
_padEndInstanceProperty(object);
|
||||||
|
|
||||||
|
_padStartInstanceProperty(object);
|
||||||
|
|
||||||
|
_reduceInstanceProperty(object);
|
||||||
|
|
||||||
|
_reduceRightInstanceProperty(object);
|
||||||
|
|
||||||
|
_repeatInstanceProperty(object);
|
||||||
|
|
||||||
|
object.replaceAll;
|
||||||
|
|
||||||
|
_reverseInstanceProperty(object);
|
||||||
|
|
||||||
|
_sliceInstanceProperty(object);
|
||||||
|
|
||||||
|
_someInstanceProperty(object);
|
||||||
|
|
||||||
|
_sortInstanceProperty(object);
|
||||||
|
|
||||||
|
_spliceInstanceProperty(object);
|
||||||
|
|
||||||
|
_startsWithInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimEndInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimLeftInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimRightInstanceProperty(object);
|
||||||
|
|
||||||
|
_trimStartInstanceProperty(object);
|
||||||
|
|
||||||
|
_valuesInstanceProperty(object);
|
||||||
|
|
||||||
|
object.something;
|
||||||
|
object.at(arg);
|
||||||
|
|
||||||
|
_bindInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_codePointAtInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
object.codePoints(arg);
|
||||||
|
|
||||||
|
_concatInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_copyWithinInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_endsWithInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_entriesInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_everyInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_fillInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_filterInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_findInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_findIndexInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_flagsInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_flatMapInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_flatInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_forEachInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_includesInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_indexOfInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_keysInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_lastIndexOfInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_mapInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
object.matchAll(arg);
|
||||||
|
|
||||||
|
_padEndInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_padStartInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_reduceInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_reduceRightInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_repeatInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
object.replaceAll(arg);
|
||||||
|
|
||||||
|
_reverseInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_sliceInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_someInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_sortInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_spliceInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_startsWithInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimEndInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimLeftInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimRightInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_trimStartInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_valuesInstanceProperty(object).call(object, arg);
|
||||||
|
|
||||||
|
_bindInstanceProperty(Function);
|
||||||
|
|
||||||
|
object.something(arg);
|
||||||
@ -0,0 +1,123 @@
|
|||||||
|
Array.from
|
||||||
|
Array.isArray
|
||||||
|
Array.of
|
||||||
|
|
||||||
|
Date.now
|
||||||
|
|
||||||
|
JSON.stringify
|
||||||
|
|
||||||
|
Math.DEG_PER_RAD
|
||||||
|
Math.RAD_PER_DEG
|
||||||
|
Math.acosh
|
||||||
|
Math.asinh
|
||||||
|
Math.atanh
|
||||||
|
Math.cbrt
|
||||||
|
Math.clamp
|
||||||
|
Math.clz32
|
||||||
|
Math.cosh
|
||||||
|
Math.degrees
|
||||||
|
Math.expm1
|
||||||
|
Math.fround
|
||||||
|
Math.fscale
|
||||||
|
Math.hypot
|
||||||
|
Math.iaddh
|
||||||
|
Math.imul
|
||||||
|
Math.imulh
|
||||||
|
Math.isubh
|
||||||
|
Math.log10
|
||||||
|
Math.log1p
|
||||||
|
Math.log2
|
||||||
|
Math.radians
|
||||||
|
Math.scale
|
||||||
|
Math.seededPRNG
|
||||||
|
Math.sign
|
||||||
|
Math.signbit
|
||||||
|
Math.sinh
|
||||||
|
Math.tanh
|
||||||
|
Math.trunc
|
||||||
|
Math.umulh
|
||||||
|
|
||||||
|
Number.EPSILON
|
||||||
|
Number.MAX_SAFE_INTEGER
|
||||||
|
Number.MIN_SAFE_INTEGER
|
||||||
|
Number.fromString
|
||||||
|
Number.isFinite
|
||||||
|
Number.isInteger
|
||||||
|
Number.isNaN
|
||||||
|
Number.isSafeInteger
|
||||||
|
Number.parseFloat
|
||||||
|
Number.parseInt
|
||||||
|
|
||||||
|
Object.assign
|
||||||
|
Object.create
|
||||||
|
Object.defineProperties
|
||||||
|
Object.defineProperty
|
||||||
|
Object.entries
|
||||||
|
Object.freeze
|
||||||
|
Object.fromEntries
|
||||||
|
Object.getOwnPropertyDescriptor
|
||||||
|
Object.getOwnPropertyDescriptors
|
||||||
|
Object.getOwnPropertyNames
|
||||||
|
Object.getOwnPropertySymbols
|
||||||
|
Object.getPrototypeOf
|
||||||
|
Object.isExtensible
|
||||||
|
Object.isFrozen
|
||||||
|
Object.isSealed
|
||||||
|
Object.is
|
||||||
|
Object.keys
|
||||||
|
Object.preventExtensions
|
||||||
|
Object.seal
|
||||||
|
Object.setPrototypeOf
|
||||||
|
Object.values
|
||||||
|
|
||||||
|
Reflect.apply
|
||||||
|
Reflect.construct
|
||||||
|
Reflect.defineMetadata
|
||||||
|
Reflect.defineProperty
|
||||||
|
Reflect.deleteMetadata
|
||||||
|
Reflect.deleteProperty
|
||||||
|
Reflect.getMetadata
|
||||||
|
Reflect.getMetadataKeys
|
||||||
|
Reflect.getOwnMetadata
|
||||||
|
Reflect.getOwnMetadataKeys
|
||||||
|
Reflect.getOwnPropertyDescriptor
|
||||||
|
Reflect.getPrototypeOf
|
||||||
|
Reflect.get
|
||||||
|
Reflect.has
|
||||||
|
Reflect.hasMetadata
|
||||||
|
Reflect.hasOwnMetadata
|
||||||
|
Reflect.isExtensible
|
||||||
|
Reflect.metadata
|
||||||
|
Reflect.ownKeys
|
||||||
|
Reflect.preventExtensions
|
||||||
|
Reflect.set
|
||||||
|
Reflect.setPrototypeOf
|
||||||
|
|
||||||
|
String.fromCodePoint
|
||||||
|
String.raw
|
||||||
|
|
||||||
|
Symbol.asyncIterator
|
||||||
|
Symbol.dispose
|
||||||
|
Symbol.for
|
||||||
|
Symbol.hasInstance
|
||||||
|
Symbol.isConcatSpreadable
|
||||||
|
Symbol.iterator
|
||||||
|
Symbol.keyFor
|
||||||
|
Symbol.match
|
||||||
|
Symbol.observable
|
||||||
|
Symbol.patternMatch
|
||||||
|
Symbol.replace
|
||||||
|
Symbol.search
|
||||||
|
Symbol.species
|
||||||
|
Symbol.split
|
||||||
|
Symbol.toPrimitive
|
||||||
|
Symbol.toStringTag
|
||||||
|
Symbol.unscopables
|
||||||
|
|
||||||
|
Foo.bar
|
||||||
|
Array.something
|
||||||
|
Date.something
|
||||||
|
JSON.parse
|
||||||
|
Math.pow
|
||||||
|
|
||||||
|
Symbol.something
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": { "version": 3, "proposals": true } }]]
|
||||||
|
}
|
||||||
@ -0,0 +1,329 @@
|
|||||||
|
var _Symbol = require("@babel/runtime-corejs3/core-js/symbol");
|
||||||
|
|
||||||
|
var _Symbol$unscopables = require("@babel/runtime-corejs3/core-js/symbol/unscopables");
|
||||||
|
|
||||||
|
var _Symbol$toStringTag = require("@babel/runtime-corejs3/core-js/symbol/to-string-tag");
|
||||||
|
|
||||||
|
var _Symbol$toPrimitive = require("@babel/runtime-corejs3/core-js/symbol/to-primitive");
|
||||||
|
|
||||||
|
var _Symbol$split = require("@babel/runtime-corejs3/core-js/symbol/split");
|
||||||
|
|
||||||
|
var _Symbol$species = require("@babel/runtime-corejs3/core-js/symbol/species");
|
||||||
|
|
||||||
|
var _Symbol$search = require("@babel/runtime-corejs3/core-js/symbol/search");
|
||||||
|
|
||||||
|
var _Symbol$replace = require("@babel/runtime-corejs3/core-js/symbol/replace");
|
||||||
|
|
||||||
|
var _Symbol$patternMatch = require("@babel/runtime-corejs3/core-js/symbol/pattern-match");
|
||||||
|
|
||||||
|
var _Symbol$observable = require("@babel/runtime-corejs3/core-js/symbol/observable");
|
||||||
|
|
||||||
|
var _Symbol$match = require("@babel/runtime-corejs3/core-js/symbol/match");
|
||||||
|
|
||||||
|
var _Symbol$keyFor = require("@babel/runtime-corejs3/core-js/symbol/key-for");
|
||||||
|
|
||||||
|
var _Symbol$iterator = require("@babel/runtime-corejs3/core-js/symbol/iterator");
|
||||||
|
|
||||||
|
var _Symbol$isConcatSpreadable = require("@babel/runtime-corejs3/core-js/symbol/is-concat-spreadable");
|
||||||
|
|
||||||
|
var _Symbol$hasInstance = require("@babel/runtime-corejs3/core-js/symbol/has-instance");
|
||||||
|
|
||||||
|
var _Symbol$for = require("@babel/runtime-corejs3/core-js/symbol/for");
|
||||||
|
|
||||||
|
var _Symbol$dispose = require("@babel/runtime-corejs3/core-js/symbol/dispose");
|
||||||
|
|
||||||
|
var _Symbol$asyncIterator = require("@babel/runtime-corejs3/core-js/symbol/async-iterator");
|
||||||
|
|
||||||
|
var _String$raw = require("@babel/runtime-corejs3/core-js/string/raw");
|
||||||
|
|
||||||
|
var _String$fromCodePoint = require("@babel/runtime-corejs3/core-js/string/from-code-point");
|
||||||
|
|
||||||
|
var _Reflect$setPrototypeOf = require("@babel/runtime-corejs3/core-js/reflect/set-prototype-of");
|
||||||
|
|
||||||
|
var _Reflect$set = require("@babel/runtime-corejs3/core-js/reflect/set");
|
||||||
|
|
||||||
|
var _Reflect$preventExtensions = require("@babel/runtime-corejs3/core-js/reflect/prevent-extensions");
|
||||||
|
|
||||||
|
var _Reflect$ownKeys = require("@babel/runtime-corejs3/core-js/reflect/own-keys");
|
||||||
|
|
||||||
|
var _Reflect$metadata = require("@babel/runtime-corejs3/core-js/reflect/metadata");
|
||||||
|
|
||||||
|
var _Reflect$isExtensible = require("@babel/runtime-corejs3/core-js/reflect/is-extensible");
|
||||||
|
|
||||||
|
var _Reflect$hasOwnMetadata = require("@babel/runtime-corejs3/core-js/reflect/has-own-metadata");
|
||||||
|
|
||||||
|
var _Reflect$hasMetadata = require("@babel/runtime-corejs3/core-js/reflect/has-metadata");
|
||||||
|
|
||||||
|
var _Reflect$has = require("@babel/runtime-corejs3/core-js/reflect/has");
|
||||||
|
|
||||||
|
var _Reflect$get = require("@babel/runtime-corejs3/core-js/reflect/get");
|
||||||
|
|
||||||
|
var _Reflect$getPrototypeOf = require("@babel/runtime-corejs3/core-js/reflect/get-prototype-of");
|
||||||
|
|
||||||
|
var _Reflect$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js/reflect/get-own-property-descriptor");
|
||||||
|
|
||||||
|
var _Reflect$getOwnMetadataKeys = require("@babel/runtime-corejs3/core-js/reflect/get-own-metadata-keys");
|
||||||
|
|
||||||
|
var _Reflect$getOwnMetadata = require("@babel/runtime-corejs3/core-js/reflect/get-own-metadata");
|
||||||
|
|
||||||
|
var _Reflect$getMetadataKeys = require("@babel/runtime-corejs3/core-js/reflect/get-metadata-keys");
|
||||||
|
|
||||||
|
var _Reflect$getMetadata = require("@babel/runtime-corejs3/core-js/reflect/get-metadata");
|
||||||
|
|
||||||
|
var _Reflect$deleteProperty = require("@babel/runtime-corejs3/core-js/reflect/delete-property");
|
||||||
|
|
||||||
|
var _Reflect$deleteMetadata = require("@babel/runtime-corejs3/core-js/reflect/delete-metadata");
|
||||||
|
|
||||||
|
var _Reflect$defineProperty = require("@babel/runtime-corejs3/core-js/reflect/define-property");
|
||||||
|
|
||||||
|
var _Reflect$defineMetadata = require("@babel/runtime-corejs3/core-js/reflect/define-metadata");
|
||||||
|
|
||||||
|
var _Reflect$construct = require("@babel/runtime-corejs3/core-js/reflect/construct");
|
||||||
|
|
||||||
|
var _Reflect$apply = require("@babel/runtime-corejs3/core-js/reflect/apply");
|
||||||
|
|
||||||
|
var _Object$values = require("@babel/runtime-corejs3/core-js/object/values");
|
||||||
|
|
||||||
|
var _Object$setPrototypeOf = require("@babel/runtime-corejs3/core-js/object/set-prototype-of");
|
||||||
|
|
||||||
|
var _Object$seal = require("@babel/runtime-corejs3/core-js/object/seal");
|
||||||
|
|
||||||
|
var _Object$preventExtensions = require("@babel/runtime-corejs3/core-js/object/prevent-extensions");
|
||||||
|
|
||||||
|
var _Object$keys = require("@babel/runtime-corejs3/core-js/object/keys");
|
||||||
|
|
||||||
|
var _Object$is = require("@babel/runtime-corejs3/core-js/object/is");
|
||||||
|
|
||||||
|
var _Object$isSealed = require("@babel/runtime-corejs3/core-js/object/is-sealed");
|
||||||
|
|
||||||
|
var _Object$isFrozen = require("@babel/runtime-corejs3/core-js/object/is-frozen");
|
||||||
|
|
||||||
|
var _Object$isExtensible = require("@babel/runtime-corejs3/core-js/object/is-extensible");
|
||||||
|
|
||||||
|
var _Object$getPrototypeOf = require("@babel/runtime-corejs3/core-js/object/get-prototype-of");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js/object/get-own-property-symbols");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertyNames = require("@babel/runtime-corejs3/core-js/object/get-own-property-names");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js/object/get-own-property-descriptors");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js/object/get-own-property-descriptor");
|
||||||
|
|
||||||
|
var _Object$fromEntries = require("@babel/runtime-corejs3/core-js/object/from-entries");
|
||||||
|
|
||||||
|
var _Object$freeze = require("@babel/runtime-corejs3/core-js/object/freeze");
|
||||||
|
|
||||||
|
var _Object$entries = require("@babel/runtime-corejs3/core-js/object/entries");
|
||||||
|
|
||||||
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
|
||||||
|
|
||||||
|
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js/object/define-properties");
|
||||||
|
|
||||||
|
var _Object$create = require("@babel/runtime-corejs3/core-js/object/create");
|
||||||
|
|
||||||
|
var _Object$assign = require("@babel/runtime-corejs3/core-js/object/assign");
|
||||||
|
|
||||||
|
var _Number$parseInt = require("@babel/runtime-corejs3/core-js/number/parse-int");
|
||||||
|
|
||||||
|
var _Number$parseFloat = require("@babel/runtime-corejs3/core-js/number/parse-float");
|
||||||
|
|
||||||
|
var _Number$isSafeInteger = require("@babel/runtime-corejs3/core-js/number/is-safe-integer");
|
||||||
|
|
||||||
|
var _Number$isNaN = require("@babel/runtime-corejs3/core-js/number/is-nan");
|
||||||
|
|
||||||
|
var _Number$isInteger = require("@babel/runtime-corejs3/core-js/number/is-integer");
|
||||||
|
|
||||||
|
var _Number$isFinite = require("@babel/runtime-corejs3/core-js/number/is-finite");
|
||||||
|
|
||||||
|
var _Number$fromString = require("@babel/runtime-corejs3/core-js/number/from-string");
|
||||||
|
|
||||||
|
var _Number$MIN_SAFE_INTEGER = require("@babel/runtime-corejs3/core-js/number/min-safe-integer");
|
||||||
|
|
||||||
|
var _Number$MAX_SAFE_INTEGER = require("@babel/runtime-corejs3/core-js/number/max-safe-integer");
|
||||||
|
|
||||||
|
var _Number$EPSILON = require("@babel/runtime-corejs3/core-js/number/epsilon");
|
||||||
|
|
||||||
|
var _Math$umulh = require("@babel/runtime-corejs3/core-js/math/umulh");
|
||||||
|
|
||||||
|
var _Math$trunc = require("@babel/runtime-corejs3/core-js/math/trunc");
|
||||||
|
|
||||||
|
var _Math$tanh = require("@babel/runtime-corejs3/core-js/math/tanh");
|
||||||
|
|
||||||
|
var _Math$sinh = require("@babel/runtime-corejs3/core-js/math/sinh");
|
||||||
|
|
||||||
|
var _Math$signbit = require("@babel/runtime-corejs3/core-js/math/signbit");
|
||||||
|
|
||||||
|
var _Math$sign = require("@babel/runtime-corejs3/core-js/math/sign");
|
||||||
|
|
||||||
|
var _Math$seededPRNG = require("@babel/runtime-corejs3/core-js/math/seeded-prng");
|
||||||
|
|
||||||
|
var _Math$scale = require("@babel/runtime-corejs3/core-js/math/scale");
|
||||||
|
|
||||||
|
var _Math$radians = require("@babel/runtime-corejs3/core-js/math/radians");
|
||||||
|
|
||||||
|
var _Math$log2 = require("@babel/runtime-corejs3/core-js/math/log2");
|
||||||
|
|
||||||
|
var _Math$log1p = require("@babel/runtime-corejs3/core-js/math/log1p");
|
||||||
|
|
||||||
|
var _Math$log = require("@babel/runtime-corejs3/core-js/math/log10");
|
||||||
|
|
||||||
|
var _Math$isubh = require("@babel/runtime-corejs3/core-js/math/isubh");
|
||||||
|
|
||||||
|
var _Math$imulh = require("@babel/runtime-corejs3/core-js/math/imulh");
|
||||||
|
|
||||||
|
var _Math$imul = require("@babel/runtime-corejs3/core-js/math/imul");
|
||||||
|
|
||||||
|
var _Math$iaddh = require("@babel/runtime-corejs3/core-js/math/iaddh");
|
||||||
|
|
||||||
|
var _Math$hypot = require("@babel/runtime-corejs3/core-js/math/hypot");
|
||||||
|
|
||||||
|
var _Math$fscale = require("@babel/runtime-corejs3/core-js/math/fscale");
|
||||||
|
|
||||||
|
var _Math$fround = require("@babel/runtime-corejs3/core-js/math/fround");
|
||||||
|
|
||||||
|
var _Math$expm = require("@babel/runtime-corejs3/core-js/math/expm1");
|
||||||
|
|
||||||
|
var _Math$degrees = require("@babel/runtime-corejs3/core-js/math/degrees");
|
||||||
|
|
||||||
|
var _Math$cosh = require("@babel/runtime-corejs3/core-js/math/cosh");
|
||||||
|
|
||||||
|
var _Math$clz = require("@babel/runtime-corejs3/core-js/math/clz32");
|
||||||
|
|
||||||
|
var _Math$clamp = require("@babel/runtime-corejs3/core-js/math/clamp");
|
||||||
|
|
||||||
|
var _Math$cbrt = require("@babel/runtime-corejs3/core-js/math/cbrt");
|
||||||
|
|
||||||
|
var _Math$atanh = require("@babel/runtime-corejs3/core-js/math/atanh");
|
||||||
|
|
||||||
|
var _Math$asinh = require("@babel/runtime-corejs3/core-js/math/asinh");
|
||||||
|
|
||||||
|
var _Math$acosh = require("@babel/runtime-corejs3/core-js/math/acosh");
|
||||||
|
|
||||||
|
var _Math$RAD_PER_DEG = require("@babel/runtime-corejs3/core-js/math/rad-per-deg");
|
||||||
|
|
||||||
|
var _Math$DEG_PER_RAD = require("@babel/runtime-corejs3/core-js/math/deg-per-rad");
|
||||||
|
|
||||||
|
var _JSON$stringify = require("@babel/runtime-corejs3/core-js/json/stringify");
|
||||||
|
|
||||||
|
var _Date$now = require("@babel/runtime-corejs3/core-js/date/now");
|
||||||
|
|
||||||
|
var _Array$of = require("@babel/runtime-corejs3/core-js/array/of");
|
||||||
|
|
||||||
|
var _Array$isArray = require("@babel/runtime-corejs3/core-js/array/is-array");
|
||||||
|
|
||||||
|
var _Array$from = require("@babel/runtime-corejs3/core-js/array/from");
|
||||||
|
|
||||||
|
_Array$from;
|
||||||
|
_Array$isArray;
|
||||||
|
_Array$of;
|
||||||
|
_Date$now;
|
||||||
|
_JSON$stringify;
|
||||||
|
_Math$DEG_PER_RAD;
|
||||||
|
_Math$RAD_PER_DEG;
|
||||||
|
_Math$acosh;
|
||||||
|
_Math$asinh;
|
||||||
|
_Math$atanh;
|
||||||
|
_Math$cbrt;
|
||||||
|
_Math$clamp;
|
||||||
|
_Math$clz;
|
||||||
|
_Math$cosh;
|
||||||
|
_Math$degrees;
|
||||||
|
_Math$expm;
|
||||||
|
_Math$fround;
|
||||||
|
_Math$fscale;
|
||||||
|
_Math$hypot;
|
||||||
|
_Math$iaddh;
|
||||||
|
_Math$imul;
|
||||||
|
_Math$imulh;
|
||||||
|
_Math$isubh;
|
||||||
|
_Math$log;
|
||||||
|
_Math$log1p;
|
||||||
|
_Math$log2;
|
||||||
|
_Math$radians;
|
||||||
|
_Math$scale;
|
||||||
|
_Math$seededPRNG;
|
||||||
|
_Math$sign;
|
||||||
|
_Math$signbit;
|
||||||
|
_Math$sinh;
|
||||||
|
_Math$tanh;
|
||||||
|
_Math$trunc;
|
||||||
|
_Math$umulh;
|
||||||
|
_Number$EPSILON;
|
||||||
|
_Number$MAX_SAFE_INTEGER;
|
||||||
|
_Number$MIN_SAFE_INTEGER;
|
||||||
|
_Number$fromString;
|
||||||
|
_Number$isFinite;
|
||||||
|
_Number$isInteger;
|
||||||
|
_Number$isNaN;
|
||||||
|
_Number$isSafeInteger;
|
||||||
|
_Number$parseFloat;
|
||||||
|
_Number$parseInt;
|
||||||
|
_Object$assign;
|
||||||
|
_Object$create;
|
||||||
|
_Object$defineProperties;
|
||||||
|
_Object$defineProperty;
|
||||||
|
_Object$entries;
|
||||||
|
_Object$freeze;
|
||||||
|
_Object$fromEntries;
|
||||||
|
_Object$getOwnPropertyDescriptor;
|
||||||
|
_Object$getOwnPropertyDescriptors;
|
||||||
|
_Object$getOwnPropertyNames;
|
||||||
|
_Object$getOwnPropertySymbols;
|
||||||
|
_Object$getPrototypeOf;
|
||||||
|
_Object$isExtensible;
|
||||||
|
_Object$isFrozen;
|
||||||
|
_Object$isSealed;
|
||||||
|
_Object$is;
|
||||||
|
_Object$keys;
|
||||||
|
_Object$preventExtensions;
|
||||||
|
_Object$seal;
|
||||||
|
_Object$setPrototypeOf;
|
||||||
|
_Object$values;
|
||||||
|
_Reflect$apply;
|
||||||
|
_Reflect$construct;
|
||||||
|
_Reflect$defineMetadata;
|
||||||
|
_Reflect$defineProperty;
|
||||||
|
_Reflect$deleteMetadata;
|
||||||
|
_Reflect$deleteProperty;
|
||||||
|
_Reflect$getMetadata;
|
||||||
|
_Reflect$getMetadataKeys;
|
||||||
|
_Reflect$getOwnMetadata;
|
||||||
|
_Reflect$getOwnMetadataKeys;
|
||||||
|
_Reflect$getOwnPropertyDescriptor;
|
||||||
|
_Reflect$getPrototypeOf;
|
||||||
|
_Reflect$get;
|
||||||
|
_Reflect$has;
|
||||||
|
_Reflect$hasMetadata;
|
||||||
|
_Reflect$hasOwnMetadata;
|
||||||
|
_Reflect$isExtensible;
|
||||||
|
_Reflect$metadata;
|
||||||
|
_Reflect$ownKeys;
|
||||||
|
_Reflect$preventExtensions;
|
||||||
|
_Reflect$set;
|
||||||
|
_Reflect$setPrototypeOf;
|
||||||
|
_String$fromCodePoint;
|
||||||
|
_String$raw;
|
||||||
|
_Symbol$asyncIterator;
|
||||||
|
_Symbol$dispose;
|
||||||
|
_Symbol$for;
|
||||||
|
_Symbol$hasInstance;
|
||||||
|
_Symbol$isConcatSpreadable;
|
||||||
|
_Symbol$iterator;
|
||||||
|
_Symbol$keyFor;
|
||||||
|
_Symbol$match;
|
||||||
|
_Symbol$observable;
|
||||||
|
_Symbol$patternMatch;
|
||||||
|
_Symbol$replace;
|
||||||
|
_Symbol$search;
|
||||||
|
_Symbol$species;
|
||||||
|
_Symbol$split;
|
||||||
|
_Symbol$toPrimitive;
|
||||||
|
_Symbol$toStringTag;
|
||||||
|
_Symbol$unscopables;
|
||||||
|
Foo.bar;
|
||||||
|
Array.something;
|
||||||
|
Date.something;
|
||||||
|
JSON.parse;
|
||||||
|
Math.pow;
|
||||||
|
_Symbol.something;
|
||||||
@ -0,0 +1,123 @@
|
|||||||
|
Array.from
|
||||||
|
Array.isArray
|
||||||
|
Array.of
|
||||||
|
|
||||||
|
Date.now
|
||||||
|
|
||||||
|
JSON.stringify
|
||||||
|
|
||||||
|
Math.DEG_PER_RAD
|
||||||
|
Math.RAD_PER_DEG
|
||||||
|
Math.acosh
|
||||||
|
Math.asinh
|
||||||
|
Math.atanh
|
||||||
|
Math.cbrt
|
||||||
|
Math.clamp
|
||||||
|
Math.clz32
|
||||||
|
Math.cosh
|
||||||
|
Math.degrees
|
||||||
|
Math.expm1
|
||||||
|
Math.fround
|
||||||
|
Math.fscale
|
||||||
|
Math.hypot
|
||||||
|
Math.iaddh
|
||||||
|
Math.imul
|
||||||
|
Math.imulh
|
||||||
|
Math.isubh
|
||||||
|
Math.log10
|
||||||
|
Math.log1p
|
||||||
|
Math.log2
|
||||||
|
Math.radians
|
||||||
|
Math.scale
|
||||||
|
Math.seededPRNG
|
||||||
|
Math.sign
|
||||||
|
Math.signbit
|
||||||
|
Math.sinh
|
||||||
|
Math.tanh
|
||||||
|
Math.trunc
|
||||||
|
Math.umulh
|
||||||
|
|
||||||
|
Number.EPSILON
|
||||||
|
Number.MAX_SAFE_INTEGER
|
||||||
|
Number.MIN_SAFE_INTEGER
|
||||||
|
Number.fromString
|
||||||
|
Number.isFinite
|
||||||
|
Number.isInteger
|
||||||
|
Number.isNaN
|
||||||
|
Number.isSafeInteger
|
||||||
|
Number.parseFloat
|
||||||
|
Number.parseInt
|
||||||
|
|
||||||
|
Object.assign
|
||||||
|
Object.create
|
||||||
|
Object.defineProperties
|
||||||
|
Object.defineProperty
|
||||||
|
Object.entries
|
||||||
|
Object.freeze
|
||||||
|
Object.fromEntries
|
||||||
|
Object.getOwnPropertyDescriptor
|
||||||
|
Object.getOwnPropertyDescriptors
|
||||||
|
Object.getOwnPropertyNames
|
||||||
|
Object.getOwnPropertySymbols
|
||||||
|
Object.getPrototypeOf
|
||||||
|
Object.isExtensible
|
||||||
|
Object.isFrozen
|
||||||
|
Object.isSealed
|
||||||
|
Object.is
|
||||||
|
Object.keys
|
||||||
|
Object.preventExtensions
|
||||||
|
Object.seal
|
||||||
|
Object.setPrototypeOf
|
||||||
|
Object.values
|
||||||
|
|
||||||
|
Reflect.apply
|
||||||
|
Reflect.construct
|
||||||
|
Reflect.defineMetadata
|
||||||
|
Reflect.defineProperty
|
||||||
|
Reflect.deleteMetadata
|
||||||
|
Reflect.deleteProperty
|
||||||
|
Reflect.getMetadata
|
||||||
|
Reflect.getMetadataKeys
|
||||||
|
Reflect.getOwnMetadata
|
||||||
|
Reflect.getOwnMetadataKeys
|
||||||
|
Reflect.getOwnPropertyDescriptor
|
||||||
|
Reflect.getPrototypeOf
|
||||||
|
Reflect.get
|
||||||
|
Reflect.has
|
||||||
|
Reflect.hasMetadata
|
||||||
|
Reflect.hasOwnMetadata
|
||||||
|
Reflect.isExtensible
|
||||||
|
Reflect.metadata
|
||||||
|
Reflect.ownKeys
|
||||||
|
Reflect.preventExtensions
|
||||||
|
Reflect.set
|
||||||
|
Reflect.setPrototypeOf
|
||||||
|
|
||||||
|
String.fromCodePoint
|
||||||
|
String.raw
|
||||||
|
|
||||||
|
Symbol.asyncIterator
|
||||||
|
Symbol.dispose
|
||||||
|
Symbol.for
|
||||||
|
Symbol.hasInstance
|
||||||
|
Symbol.isConcatSpreadable
|
||||||
|
Symbol.iterator
|
||||||
|
Symbol.keyFor
|
||||||
|
Symbol.match
|
||||||
|
Symbol.observable
|
||||||
|
Symbol.patternMatch
|
||||||
|
Symbol.replace
|
||||||
|
Symbol.search
|
||||||
|
Symbol.species
|
||||||
|
Symbol.split
|
||||||
|
Symbol.toPrimitive
|
||||||
|
Symbol.toStringTag
|
||||||
|
Symbol.unscopables
|
||||||
|
|
||||||
|
Foo.bar
|
||||||
|
Array.something
|
||||||
|
Date.something
|
||||||
|
JSON.parse
|
||||||
|
Math.pow
|
||||||
|
|
||||||
|
Symbol.something
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }]]
|
||||||
|
}
|
||||||
@ -0,0 +1,277 @@
|
|||||||
|
var _Symbol$unscopables = require("@babel/runtime-corejs3/core-js-stable/symbol/unscopables");
|
||||||
|
|
||||||
|
var _Symbol$toStringTag = require("@babel/runtime-corejs3/core-js-stable/symbol/to-string-tag");
|
||||||
|
|
||||||
|
var _Symbol$toPrimitive = require("@babel/runtime-corejs3/core-js-stable/symbol/to-primitive");
|
||||||
|
|
||||||
|
var _Symbol$split = require("@babel/runtime-corejs3/core-js-stable/symbol/split");
|
||||||
|
|
||||||
|
var _Symbol$species = require("@babel/runtime-corejs3/core-js-stable/symbol/species");
|
||||||
|
|
||||||
|
var _Symbol$search = require("@babel/runtime-corejs3/core-js-stable/symbol/search");
|
||||||
|
|
||||||
|
var _Symbol$replace = require("@babel/runtime-corejs3/core-js-stable/symbol/replace");
|
||||||
|
|
||||||
|
var _Symbol$match = require("@babel/runtime-corejs3/core-js-stable/symbol/match");
|
||||||
|
|
||||||
|
var _Symbol$keyFor = require("@babel/runtime-corejs3/core-js-stable/symbol/key-for");
|
||||||
|
|
||||||
|
var _Symbol$iterator = require("@babel/runtime-corejs3/core-js-stable/symbol/iterator");
|
||||||
|
|
||||||
|
var _Symbol$isConcatSpreadable = require("@babel/runtime-corejs3/core-js-stable/symbol/is-concat-spreadable");
|
||||||
|
|
||||||
|
var _Symbol$hasInstance = require("@babel/runtime-corejs3/core-js-stable/symbol/has-instance");
|
||||||
|
|
||||||
|
var _Symbol$for = require("@babel/runtime-corejs3/core-js-stable/symbol/for");
|
||||||
|
|
||||||
|
var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
|
||||||
|
|
||||||
|
var _Symbol$asyncIterator = require("@babel/runtime-corejs3/core-js-stable/symbol/async-iterator");
|
||||||
|
|
||||||
|
var _String$raw = require("@babel/runtime-corejs3/core-js-stable/string/raw");
|
||||||
|
|
||||||
|
var _String$fromCodePoint = require("@babel/runtime-corejs3/core-js-stable/string/from-code-point");
|
||||||
|
|
||||||
|
var _Reflect$setPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/reflect/set-prototype-of");
|
||||||
|
|
||||||
|
var _Reflect$set = require("@babel/runtime-corejs3/core-js-stable/reflect/set");
|
||||||
|
|
||||||
|
var _Reflect$preventExtensions = require("@babel/runtime-corejs3/core-js-stable/reflect/prevent-extensions");
|
||||||
|
|
||||||
|
var _Reflect$ownKeys = require("@babel/runtime-corejs3/core-js-stable/reflect/own-keys");
|
||||||
|
|
||||||
|
var _Reflect$isExtensible = require("@babel/runtime-corejs3/core-js-stable/reflect/is-extensible");
|
||||||
|
|
||||||
|
var _Reflect$has = require("@babel/runtime-corejs3/core-js-stable/reflect/has");
|
||||||
|
|
||||||
|
var _Reflect$get = require("@babel/runtime-corejs3/core-js-stable/reflect/get");
|
||||||
|
|
||||||
|
var _Reflect$getPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/reflect/get-prototype-of");
|
||||||
|
|
||||||
|
var _Reflect$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/reflect/get-own-property-descriptor");
|
||||||
|
|
||||||
|
var _Reflect$deleteProperty = require("@babel/runtime-corejs3/core-js-stable/reflect/delete-property");
|
||||||
|
|
||||||
|
var _Reflect$defineProperty = require("@babel/runtime-corejs3/core-js-stable/reflect/define-property");
|
||||||
|
|
||||||
|
var _Reflect$construct = require("@babel/runtime-corejs3/core-js-stable/reflect/construct");
|
||||||
|
|
||||||
|
var _Reflect$apply = require("@babel/runtime-corejs3/core-js-stable/reflect/apply");
|
||||||
|
|
||||||
|
var _Object$values = require("@babel/runtime-corejs3/core-js-stable/object/values");
|
||||||
|
|
||||||
|
var _Object$setPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/set-prototype-of");
|
||||||
|
|
||||||
|
var _Object$seal = require("@babel/runtime-corejs3/core-js-stable/object/seal");
|
||||||
|
|
||||||
|
var _Object$preventExtensions = require("@babel/runtime-corejs3/core-js-stable/object/prevent-extensions");
|
||||||
|
|
||||||
|
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
||||||
|
|
||||||
|
var _Object$is = require("@babel/runtime-corejs3/core-js-stable/object/is");
|
||||||
|
|
||||||
|
var _Object$isSealed = require("@babel/runtime-corejs3/core-js-stable/object/is-sealed");
|
||||||
|
|
||||||
|
var _Object$isFrozen = require("@babel/runtime-corejs3/core-js-stable/object/is-frozen");
|
||||||
|
|
||||||
|
var _Object$isExtensible = require("@babel/runtime-corejs3/core-js-stable/object/is-extensible");
|
||||||
|
|
||||||
|
var _Object$getPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/get-prototype-of");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertyNames = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-names");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
||||||
|
|
||||||
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
||||||
|
|
||||||
|
var _Object$fromEntries = require("@babel/runtime-corejs3/core-js-stable/object/from-entries");
|
||||||
|
|
||||||
|
var _Object$freeze = require("@babel/runtime-corejs3/core-js-stable/object/freeze");
|
||||||
|
|
||||||
|
var _Object$entries = require("@babel/runtime-corejs3/core-js-stable/object/entries");
|
||||||
|
|
||||||
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
||||||
|
|
||||||
|
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
||||||
|
|
||||||
|
var _Object$create = require("@babel/runtime-corejs3/core-js-stable/object/create");
|
||||||
|
|
||||||
|
var _Object$assign = require("@babel/runtime-corejs3/core-js-stable/object/assign");
|
||||||
|
|
||||||
|
var _Number$parseInt = require("@babel/runtime-corejs3/core-js-stable/number/parse-int");
|
||||||
|
|
||||||
|
var _Number$parseFloat = require("@babel/runtime-corejs3/core-js-stable/number/parse-float");
|
||||||
|
|
||||||
|
var _Number$isSafeInteger = require("@babel/runtime-corejs3/core-js-stable/number/is-safe-integer");
|
||||||
|
|
||||||
|
var _Number$isNaN = require("@babel/runtime-corejs3/core-js-stable/number/is-nan");
|
||||||
|
|
||||||
|
var _Number$isInteger = require("@babel/runtime-corejs3/core-js-stable/number/is-integer");
|
||||||
|
|
||||||
|
var _Number$isFinite = require("@babel/runtime-corejs3/core-js-stable/number/is-finite");
|
||||||
|
|
||||||
|
var _Number$MIN_SAFE_INTEGER = require("@babel/runtime-corejs3/core-js-stable/number/min-safe-integer");
|
||||||
|
|
||||||
|
var _Number$MAX_SAFE_INTEGER = require("@babel/runtime-corejs3/core-js-stable/number/max-safe-integer");
|
||||||
|
|
||||||
|
var _Number$EPSILON = require("@babel/runtime-corejs3/core-js-stable/number/epsilon");
|
||||||
|
|
||||||
|
var _Math$trunc = require("@babel/runtime-corejs3/core-js-stable/math/trunc");
|
||||||
|
|
||||||
|
var _Math$tanh = require("@babel/runtime-corejs3/core-js-stable/math/tanh");
|
||||||
|
|
||||||
|
var _Math$sinh = require("@babel/runtime-corejs3/core-js-stable/math/sinh");
|
||||||
|
|
||||||
|
var _Math$sign = require("@babel/runtime-corejs3/core-js-stable/math/sign");
|
||||||
|
|
||||||
|
var _Math$log2 = require("@babel/runtime-corejs3/core-js-stable/math/log2");
|
||||||
|
|
||||||
|
var _Math$log1p = require("@babel/runtime-corejs3/core-js-stable/math/log1p");
|
||||||
|
|
||||||
|
var _Math$log = require("@babel/runtime-corejs3/core-js-stable/math/log10");
|
||||||
|
|
||||||
|
var _Math$imul = require("@babel/runtime-corejs3/core-js-stable/math/imul");
|
||||||
|
|
||||||
|
var _Math$hypot = require("@babel/runtime-corejs3/core-js-stable/math/hypot");
|
||||||
|
|
||||||
|
var _Math$fround = require("@babel/runtime-corejs3/core-js-stable/math/fround");
|
||||||
|
|
||||||
|
var _Math$expm = require("@babel/runtime-corejs3/core-js-stable/math/expm1");
|
||||||
|
|
||||||
|
var _Math$cosh = require("@babel/runtime-corejs3/core-js-stable/math/cosh");
|
||||||
|
|
||||||
|
var _Math$clz = require("@babel/runtime-corejs3/core-js-stable/math/clz32");
|
||||||
|
|
||||||
|
var _Math$cbrt = require("@babel/runtime-corejs3/core-js-stable/math/cbrt");
|
||||||
|
|
||||||
|
var _Math$atanh = require("@babel/runtime-corejs3/core-js-stable/math/atanh");
|
||||||
|
|
||||||
|
var _Math$asinh = require("@babel/runtime-corejs3/core-js-stable/math/asinh");
|
||||||
|
|
||||||
|
var _Math$acosh = require("@babel/runtime-corejs3/core-js-stable/math/acosh");
|
||||||
|
|
||||||
|
var _JSON$stringify = require("@babel/runtime-corejs3/core-js-stable/json/stringify");
|
||||||
|
|
||||||
|
var _Date$now = require("@babel/runtime-corejs3/core-js-stable/date/now");
|
||||||
|
|
||||||
|
var _Array$of = require("@babel/runtime-corejs3/core-js-stable/array/of");
|
||||||
|
|
||||||
|
var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array");
|
||||||
|
|
||||||
|
var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
|
||||||
|
|
||||||
|
_Array$from;
|
||||||
|
_Array$isArray;
|
||||||
|
_Array$of;
|
||||||
|
_Date$now;
|
||||||
|
_JSON$stringify;
|
||||||
|
Math.DEG_PER_RAD;
|
||||||
|
Math.RAD_PER_DEG;
|
||||||
|
_Math$acosh;
|
||||||
|
_Math$asinh;
|
||||||
|
_Math$atanh;
|
||||||
|
_Math$cbrt;
|
||||||
|
Math.clamp;
|
||||||
|
_Math$clz;
|
||||||
|
_Math$cosh;
|
||||||
|
Math.degrees;
|
||||||
|
_Math$expm;
|
||||||
|
_Math$fround;
|
||||||
|
Math.fscale;
|
||||||
|
_Math$hypot;
|
||||||
|
Math.iaddh;
|
||||||
|
_Math$imul;
|
||||||
|
Math.imulh;
|
||||||
|
Math.isubh;
|
||||||
|
_Math$log;
|
||||||
|
_Math$log1p;
|
||||||
|
_Math$log2;
|
||||||
|
Math.radians;
|
||||||
|
Math.scale;
|
||||||
|
Math.seededPRNG;
|
||||||
|
_Math$sign;
|
||||||
|
Math.signbit;
|
||||||
|
_Math$sinh;
|
||||||
|
_Math$tanh;
|
||||||
|
_Math$trunc;
|
||||||
|
Math.umulh;
|
||||||
|
_Number$EPSILON;
|
||||||
|
_Number$MAX_SAFE_INTEGER;
|
||||||
|
_Number$MIN_SAFE_INTEGER;
|
||||||
|
Number.fromString;
|
||||||
|
_Number$isFinite;
|
||||||
|
_Number$isInteger;
|
||||||
|
_Number$isNaN;
|
||||||
|
_Number$isSafeInteger;
|
||||||
|
_Number$parseFloat;
|
||||||
|
_Number$parseInt;
|
||||||
|
_Object$assign;
|
||||||
|
_Object$create;
|
||||||
|
_Object$defineProperties;
|
||||||
|
_Object$defineProperty;
|
||||||
|
_Object$entries;
|
||||||
|
_Object$freeze;
|
||||||
|
_Object$fromEntries;
|
||||||
|
_Object$getOwnPropertyDescriptor;
|
||||||
|
_Object$getOwnPropertyDescriptors;
|
||||||
|
_Object$getOwnPropertyNames;
|
||||||
|
_Object$getOwnPropertySymbols;
|
||||||
|
_Object$getPrototypeOf;
|
||||||
|
_Object$isExtensible;
|
||||||
|
_Object$isFrozen;
|
||||||
|
_Object$isSealed;
|
||||||
|
_Object$is;
|
||||||
|
_Object$keys;
|
||||||
|
_Object$preventExtensions;
|
||||||
|
_Object$seal;
|
||||||
|
_Object$setPrototypeOf;
|
||||||
|
_Object$values;
|
||||||
|
_Reflect$apply;
|
||||||
|
_Reflect$construct;
|
||||||
|
Reflect.defineMetadata;
|
||||||
|
_Reflect$defineProperty;
|
||||||
|
Reflect.deleteMetadata;
|
||||||
|
_Reflect$deleteProperty;
|
||||||
|
Reflect.getMetadata;
|
||||||
|
Reflect.getMetadataKeys;
|
||||||
|
Reflect.getOwnMetadata;
|
||||||
|
Reflect.getOwnMetadataKeys;
|
||||||
|
_Reflect$getOwnPropertyDescriptor;
|
||||||
|
_Reflect$getPrototypeOf;
|
||||||
|
_Reflect$get;
|
||||||
|
_Reflect$has;
|
||||||
|
Reflect.hasMetadata;
|
||||||
|
Reflect.hasOwnMetadata;
|
||||||
|
_Reflect$isExtensible;
|
||||||
|
Reflect.metadata;
|
||||||
|
_Reflect$ownKeys;
|
||||||
|
_Reflect$preventExtensions;
|
||||||
|
_Reflect$set;
|
||||||
|
_Reflect$setPrototypeOf;
|
||||||
|
_String$fromCodePoint;
|
||||||
|
_String$raw;
|
||||||
|
_Symbol$asyncIterator;
|
||||||
|
_Symbol.dispose;
|
||||||
|
_Symbol$for;
|
||||||
|
_Symbol$hasInstance;
|
||||||
|
_Symbol$isConcatSpreadable;
|
||||||
|
_Symbol$iterator;
|
||||||
|
_Symbol$keyFor;
|
||||||
|
_Symbol$match;
|
||||||
|
_Symbol.observable;
|
||||||
|
_Symbol.patternMatch;
|
||||||
|
_Symbol$replace;
|
||||||
|
_Symbol$search;
|
||||||
|
_Symbol$species;
|
||||||
|
_Symbol$split;
|
||||||
|
_Symbol$toPrimitive;
|
||||||
|
_Symbol$toStringTag;
|
||||||
|
_Symbol$unscopables;
|
||||||
|
Foo.bar;
|
||||||
|
Array.something;
|
||||||
|
Date.something;
|
||||||
|
JSON.parse;
|
||||||
|
Math.pow;
|
||||||
|
_Symbol.something;
|
||||||
1
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/catch-all/input.js
vendored
Normal file
1
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/catch-all/input.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
Promise.resolve;
|
||||||
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/catch-all/options.json
vendored
Normal file
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/catch-all/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/catch-all/output.js
vendored
Normal file
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/catch-all/output.js
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
var _Promise = require("@babel/runtime-corejs3/core-js-stable/promise");
|
||||||
|
|
||||||
|
_Promise.resolve;
|
||||||
1
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/class/input.js
vendored
Normal file
1
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/class/input.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
class Foo {}
|
||||||
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/class/options.json
vendored
Normal file
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/class/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-classes"]
|
||||||
|
}
|
||||||
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/class/output.js
vendored
Normal file
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/class/output.js
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
var _classCallCheck = require("@babel/runtime-corejs3/helpers/classCallCheck");
|
||||||
|
|
||||||
|
let Foo = function Foo() {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
_classCallCheck(this, Foo);
|
||||||
|
};
|
||||||
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/es6-for-of/input.js
vendored
Normal file
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/es6-for-of/input.js
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
for (var i of arr) {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": ["transform-for-of", ["transform-runtime", { "corejs": 3 }]]
|
||||||
|
}
|
||||||
24
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/es6-for-of/output.js
vendored
Normal file
24
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/es6-for-of/output.js
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
var _getIterator = require("@babel/runtime-corejs3/core-js/get-iterator");
|
||||||
|
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = _getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
|
_iterator.return();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/full/input.mjs
vendored
Normal file
9
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/full/input.mjs
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import foo, * as bar from "someModule";
|
||||||
|
|
||||||
|
export const myWord = Symbol("abc");
|
||||||
|
export function* giveWord () {
|
||||||
|
yield myWord;
|
||||||
|
}
|
||||||
|
|
||||||
|
foo;
|
||||||
|
bar;
|
||||||
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/full/options.json
vendored
Normal file
3
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/full/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
24
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/full/output.mjs
vendored
Normal file
24
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/full/output.mjs
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
|
||||||
|
import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
||||||
|
|
||||||
|
var _marked =
|
||||||
|
/*#__PURE__*/
|
||||||
|
_regeneratorRuntime.mark(giveWord);
|
||||||
|
|
||||||
|
import foo, * as bar from "someModule";
|
||||||
|
export const myWord = _Symbol("abc");
|
||||||
|
export function giveWord() {
|
||||||
|
return _regeneratorRuntime.wrap(function giveWord$(_context) {
|
||||||
|
while (1) switch (_context.prev = _context.next) {
|
||||||
|
case 0:
|
||||||
|
_context.next = 2;
|
||||||
|
return myWord;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
case "end":
|
||||||
|
return _context.stop();
|
||||||
|
}
|
||||||
|
}, _marked);
|
||||||
|
}
|
||||||
|
foo;
|
||||||
|
bar;
|
||||||
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-call/input.js
vendored
Normal file
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-call/input.js
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
foo.includes(1, 2, 3, 4);
|
||||||
|
|
||||||
|
[1, 2, 3, 4].includes(1);
|
||||||
|
|
||||||
|
'1234'.includes('1');
|
||||||
|
|
||||||
|
keys(bar).includes(1, 2);
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }]]
|
||||||
|
}
|
||||||
11
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-call/output.js
vendored
Normal file
11
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-call/output.js
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
var _includesInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/includes");
|
||||||
|
|
||||||
|
var _context, _context2, _context3;
|
||||||
|
|
||||||
|
_includesInstanceProperty(foo).call(foo, 1, 2, 3, 4);
|
||||||
|
|
||||||
|
_includesInstanceProperty(_context = [1, 2, 3, 4]).call(_context, 1);
|
||||||
|
|
||||||
|
_includesInstanceProperty(_context2 = '1234').call(_context2, '1');
|
||||||
|
|
||||||
|
_includesInstanceProperty(_context3 = keys(bar)).call(_context3, 1, 2);
|
||||||
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/input.js
vendored
Normal file
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/input.js
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
foo.includes;
|
||||||
|
|
||||||
|
keys(bar).includes;
|
||||||
|
|
||||||
|
foo.includes.apply(bar, [1, 2]);
|
||||||
|
|
||||||
|
foo.includes = 42;
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }]]
|
||||||
|
}
|
||||||
9
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/output.js
vendored
Normal file
9
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/output.js
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
var _includesInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/includes");
|
||||||
|
|
||||||
|
_includesInstanceProperty(foo);
|
||||||
|
|
||||||
|
_includesInstanceProperty(keys(bar));
|
||||||
|
|
||||||
|
_includesInstanceProperty(foo).apply(bar, [1, 2]);
|
||||||
|
|
||||||
|
foo.includes = 42;
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
import foo from "foo";
|
||||||
|
|
||||||
|
class Example {
|
||||||
|
method() {}
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
["transform-runtime", { "corejs": 3 }],
|
||||||
|
"transform-modules-commonjs",
|
||||||
|
"transform-classes"
|
||||||
|
]
|
||||||
|
}
|
||||||
23
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules-helpers/output.js
vendored
Normal file
23
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules-helpers/output.js
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
||||||
|
|
||||||
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
|
||||||
|
|
||||||
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
|
||||||
|
|
||||||
|
var _foo = _interopRequireDefault(require("foo"));
|
||||||
|
|
||||||
|
let Example =
|
||||||
|
/*#__PURE__*/
|
||||||
|
function () {
|
||||||
|
function Example() {
|
||||||
|
(0, _classCallCheck2.default)(this, Example);
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass2.default)(Example, [{
|
||||||
|
key: "method",
|
||||||
|
value: function method() {}
|
||||||
|
}]);
|
||||||
|
return Example;
|
||||||
|
}();
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
import foo from "bar";
|
||||||
|
import { baz } from "fuz";
|
||||||
|
|
||||||
|
export const exp = foo + baz;
|
||||||
|
export * from "mod";
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
["transform-runtime", { "corejs": 3 }],
|
||||||
|
["transform-modules-commonjs", { "loose": true }]
|
||||||
|
]
|
||||||
|
}
|
||||||
30
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules-loose/output.js
vendored
Normal file
30
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules-loose/output.js
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
||||||
|
|
||||||
|
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
||||||
|
|
||||||
|
var _context;
|
||||||
|
|
||||||
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
||||||
|
|
||||||
|
exports.__esModule = true;
|
||||||
|
var _exportNames = {
|
||||||
|
exp: true
|
||||||
|
};
|
||||||
|
exports.exp = void 0;
|
||||||
|
|
||||||
|
var _bar = _interopRequireDefault(require("bar"));
|
||||||
|
|
||||||
|
var _fuz = require("fuz");
|
||||||
|
|
||||||
|
var _mod = require("mod");
|
||||||
|
|
||||||
|
_forEachInstanceProperty(_context = _Object$keys(_mod)).call(_context, function (key) {
|
||||||
|
if (key === "default" || key === "__esModule") return;
|
||||||
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
||||||
|
exports[key] = _mod[key];
|
||||||
|
});
|
||||||
|
|
||||||
|
const exp = _bar.default + _fuz.baz;
|
||||||
|
exports.exp = exp;
|
||||||
5
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules/input.mjs
vendored
Normal file
5
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules/input.mjs
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import foo from "bar";
|
||||||
|
import { baz } from "fuz";
|
||||||
|
|
||||||
|
export const exp = foo + baz;
|
||||||
|
export * from "mod";
|
||||||
6
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules/options.json
vendored
Normal file
6
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules/options.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
["transform-runtime", { "corejs": 3 }],
|
||||||
|
"transform-modules-commonjs"
|
||||||
|
]
|
||||||
|
}
|
||||||
41
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules/output.js
vendored
Normal file
41
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/modules/output.js
vendored
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
||||||
|
|
||||||
|
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
||||||
|
|
||||||
|
var _context;
|
||||||
|
|
||||||
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
||||||
|
|
||||||
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
||||||
|
|
||||||
|
_Object$defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _exportNames = {
|
||||||
|
exp: true
|
||||||
|
};
|
||||||
|
exports.exp = void 0;
|
||||||
|
|
||||||
|
var _bar = _interopRequireDefault(require("bar"));
|
||||||
|
|
||||||
|
var _fuz = require("fuz");
|
||||||
|
|
||||||
|
var _mod = require("mod");
|
||||||
|
|
||||||
|
_forEachInstanceProperty(_context = _Object$keys(_mod)).call(_context, function (key) {
|
||||||
|
if (key === "default" || key === "__esModule") return;
|
||||||
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
||||||
|
|
||||||
|
_Object$defineProperty(exports, key, {
|
||||||
|
enumerable: true,
|
||||||
|
get: function () {
|
||||||
|
return _mod[key];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
const exp = _bar.default + _fuz.baz;
|
||||||
|
exports.exp = exp;
|
||||||
1
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/no-helpers/input.js
vendored
Normal file
1
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/no-helpers/input.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
class Foo {}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
["transform-runtime", { "helpers": false, "corejs": 3 }],
|
||||||
|
"transform-classes"
|
||||||
|
]
|
||||||
|
}
|
||||||
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/no-helpers/output.js
vendored
Normal file
7
packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/no-helpers/output.js
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
let Foo = function Foo() {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
_classCallCheck(this, Foo);
|
||||||
|
};
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
void function* () {
|
||||||
|
};
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
var _regeneratorRuntime = require("@babel/runtime-corejs3/regenerator");
|
||||||
|
|
||||||
|
void
|
||||||
|
/*#__PURE__*/
|
||||||
|
_regeneratorRuntime.mark(function _callee() {
|
||||||
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
||||||
|
while (1) switch (_context.prev = _context.next) {
|
||||||
|
case 0:
|
||||||
|
case "end":
|
||||||
|
return _context.stop();
|
||||||
|
}
|
||||||
|
}, _callee);
|
||||||
|
});
|
||||||
@ -0,0 +1 @@
|
|||||||
|
const method = array[Symbol.iterator];
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
|
||||||
|
|
||||||
|
const method = _getIteratorMethod(array);
|
||||||
@ -0,0 +1 @@
|
|||||||
|
const iterator = array[Symbol.iterator]();
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
var _getIterator = require("@babel/runtime-corejs3/core-js/get-iterator");
|
||||||
|
|
||||||
|
const iterator = _getIterator(array);
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Symbol.iterator in Object(arr);
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
var _isIterable = require("@babel/runtime-corejs3/core-js/is-iterable");
|
||||||
|
|
||||||
|
_isIterable(Object(arr));
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Symbol.iterator;
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"plugins": [["transform-runtime", { "corejs": 3 }], "transform-regenerator"]
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
var _Symbol$iterator = require("@babel/runtime-corejs3/core-js-stable/symbol/iterator");
|
||||||
|
|
||||||
|
_Symbol$iterator;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
var _class;
|
var _class;
|
||||||
|
|
||||||
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; }
|
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
||||||
|
|
||||||
import { computed } from 'mobx';
|
import { computed } from 'mobx';
|
||||||
let Foo = (_class = class Foo {
|
let Foo = (_class = class Foo {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
var _class, _descriptor;
|
var _class, _descriptor;
|
||||||
|
|
||||||
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; }
|
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
||||||
|
|
||||||
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); }
|
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); }
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
> Provides polyfills necessary for a full ES2015+ environment
|
> Provides polyfills necessary for a full ES2015+ environment
|
||||||
|
|
||||||
|
|
||||||
|
**This package has been deprecated in favor of separate inclusion of required parts of [`core-js`](https://github.com/zloirock/core-js) and [`regenerator-runtime`](https://www.npmjs.com/package/regenerator-runtime). See our website [@babel/polyfill](https://babeljs.io/docs/en/next/babel-polyfill.html) for more information.**
|
||||||
|
|
||||||
See our website [@babel/polyfill](https://babeljs.io/docs/en/next/babel-polyfill.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20polyfill%22+is%3Aopen) associated with this package.
|
See our website [@babel/polyfill](https://babeljs.io/docs/en/next/babel-polyfill.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20polyfill%22+is%3Aopen) associated with this package.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
"repository": "https://github.com/babel/babel/tree/master/packages/babel-polyfill",
|
"repository": "https://github.com/babel/babel/tree/master/packages/babel-polyfill",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^2.5.7",
|
"core-js": "^2.6.5",
|
||||||
"regenerator-runtime": "^0.13.2"
|
"regenerator-runtime": "^0.13.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,8 +3,11 @@ import "core-js/es6";
|
|||||||
|
|
||||||
// Standard now
|
// Standard now
|
||||||
import "core-js/fn/array/includes";
|
import "core-js/fn/array/includes";
|
||||||
|
import "core-js/fn/array/flat-map";
|
||||||
import "core-js/fn/string/pad-start";
|
import "core-js/fn/string/pad-start";
|
||||||
import "core-js/fn/string/pad-end";
|
import "core-js/fn/string/pad-end";
|
||||||
|
import "core-js/fn/string/trim-start";
|
||||||
|
import "core-js/fn/string/trim-end";
|
||||||
import "core-js/fn/symbol/async-iterator";
|
import "core-js/fn/symbol/async-iterator";
|
||||||
import "core-js/fn/object/get-own-property-descriptors";
|
import "core-js/fn/object/get-own-property-descriptors";
|
||||||
import "core-js/fn/object/values";
|
import "core-js/fn/object/values";
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
## Adding a new plugin to support (when approved in the next ECMAScript version)
|
## Adding a new plugin or polyfill to support (when approved in the next ECMAScript version)
|
||||||
|
|
||||||
### Update [`plugin-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/plugin-features.js)
|
### Update [`plugin-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/plugin-features.js)
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ And add them in this structure:
|
|||||||
},
|
},
|
||||||
```
|
```
|
||||||
|
|
||||||
### Update [`built-in-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/built-in-features.js)
|
### Update data for `core-js@2` polyfilling
|
||||||
|
|
||||||
*Example:*
|
*Example:*
|
||||||
|
|
||||||
@ -38,19 +38,29 @@ and split it with `/`:
|
|||||||
|
|
||||||
`Object static methods / Object.values`
|
`Object static methods / Object.values`
|
||||||
|
|
||||||
Find the corresponding module on [core-js](https://github.com/zloirock/core-js/tree/master/modules):
|
Find the corresponding module on [`core-js@2`](https://github.com/zloirock/core-js/tree/v2/modules):
|
||||||
|
|
||||||
`es7.object.values.js`
|
`es7.object.values.js`
|
||||||
|
|
||||||
Find required ES version in [`built-in-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/built-in-features.js) and add the new feature:
|
Find required ES version in [`corejs2-built-in-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/corejs2-built-in-features.js) and add the new feature:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const es2017 = {
|
const es = {
|
||||||
//...
|
//...
|
||||||
"es7.object.values": "Object static methods / Object.values"
|
"es7.object.values": "Object static methods / Object.values"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If you wan to transform a new built-in by `useBuiltIns: 'usage'`, add mapping to related `core-js` modules to [this file](https://github.com/babel/babel/blob/master/packages/babel-preset-env/polyfills/corejs2/built-in-definitions.js).
|
||||||
|
|
||||||
|
### Update data for `core-js@3` polyfilling
|
||||||
|
|
||||||
|
Just update the version of [`core-js-compat`](https://github.com/zloirock/core-js/tree/master/packages/core-js-compat) in dependencies.
|
||||||
|
|
||||||
|
If you wan to transform a new built-in by `useBuiltIns: 'usage'`, add mapping to related [`core-js`](https://github.com/zloirock/core-js/tree/master/packages/core-js/modules) modules to [this file](https://github.com/babel/babel/blob/master/packages/babel-preset-env/polyfills/corejs3/built-in-definitions.js).
|
||||||
|
|
||||||
|
If you want to mark a new proposal as shipped, add it to [this list](https://github.com/babel/babel/blob/master/packages/babel-preset-env/polyfills/corejs3/shipped-proposals.js).
|
||||||
|
|
||||||
### Update [`plugins.json`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/plugins.json)
|
### Update [`plugins.json`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/plugins.json)
|
||||||
|
|
||||||
Until `compat-table` is a standalone npm module for data we are using the git url
|
Until `compat-table` is a standalone npm module for data we are using the git url
|
||||||
|
|||||||
@ -46,6 +46,7 @@ const es = {
|
|||||||
},
|
},
|
||||||
"es6.array.find": "Array.prototype methods / Array.prototype.find",
|
"es6.array.find": "Array.prototype methods / Array.prototype.find",
|
||||||
"es6.array.find-index": "Array.prototype methods / Array.prototype.findIndex",
|
"es6.array.find-index": "Array.prototype methods / Array.prototype.findIndex",
|
||||||
|
"es7.array.flat-map": "Array.prototype.{flat, flatMap} / Array.prototype.flatMap",
|
||||||
"es6.array.for-each": "Array methods / Array.prototype.forEach",
|
"es6.array.for-each": "Array methods / Array.prototype.forEach",
|
||||||
"es6.array.from": "Array static methods / Array.from",
|
"es6.array.from": "Array static methods / Array.from",
|
||||||
"es7.array.includes": "Array.prototype.includes",
|
"es7.array.includes": "Array.prototype.includes",
|
||||||
@ -175,6 +176,7 @@ const es = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
"es6.object.prevent-extensions": "Object static methods accept primitives / Object.preventExtensions",
|
"es6.object.prevent-extensions": "Object static methods accept primitives / Object.preventExtensions",
|
||||||
|
"es6.object.to-string": "well-known symbols / Symbol.toStringTag",
|
||||||
"es6.object.is": "Object static methods / Object.is",
|
"es6.object.is": "Object static methods / Object.is",
|
||||||
"es6.object.is-frozen": "Object static methods accept primitives / Object.isFrozen",
|
"es6.object.is-frozen": "Object static methods accept primitives / Object.isFrozen",
|
||||||
"es6.object.is-sealed": "Object static methods accept primitives / Object.isSealed",
|
"es6.object.is-sealed": "Object static methods accept primitives / Object.isSealed",
|
||||||
@ -290,6 +292,8 @@ const es = {
|
|||||||
"es6.string.sub": "String.prototype HTML methods",
|
"es6.string.sub": "String.prototype HTML methods",
|
||||||
"es6.string.sup": "String.prototype HTML methods",
|
"es6.string.sup": "String.prototype HTML methods",
|
||||||
"es6.string.trim": "String properties and methods / String.prototype.trim",
|
"es6.string.trim": "String properties and methods / String.prototype.trim",
|
||||||
|
"es7.string.trim-left": "string trimming / String.prototype.trimStart",
|
||||||
|
"es7.string.trim-right": "string trimming / String.prototype.trimEnd",
|
||||||
|
|
||||||
"es6.typed.array-buffer": "typed arrays / ArrayBuffer[Symbol.species]",
|
"es6.typed.array-buffer": "typed arrays / ArrayBuffer[Symbol.species]",
|
||||||
"es6.typed.data-view": "typed arrays / DataView",
|
"es6.typed.data-view": "typed arrays / DataView",
|
||||||
File diff suppressed because it is too large
Load Diff
@ -4,6 +4,7 @@
|
|||||||
"edge": "13",
|
"edge": "13",
|
||||||
"firefox": "34",
|
"firefox": "34",
|
||||||
"node": "4",
|
"node": "4",
|
||||||
|
"samsung": "3.4",
|
||||||
"opera": "28",
|
"opera": "28",
|
||||||
"electron": "0.24"
|
"electron": "0.24"
|
||||||
},
|
},
|
||||||
@ -14,6 +15,7 @@
|
|||||||
"safari": "9",
|
"safari": "9",
|
||||||
"node": "4",
|
"node": "4",
|
||||||
"ios": "9",
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
"opera": "31",
|
"opera": "31",
|
||||||
"electron": "0.31"
|
"electron": "0.31"
|
||||||
},
|
},
|
||||||
@ -23,6 +25,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "6.5",
|
"node": "6.5",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "38",
|
"opera": "38",
|
||||||
"electron": "1.2"
|
"electron": "1.2"
|
||||||
},
|
},
|
||||||
@ -33,6 +36,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "6",
|
"node": "6",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "34",
|
"opera": "34",
|
||||||
"electron": "0.36"
|
"electron": "0.36"
|
||||||
},
|
},
|
||||||
@ -44,6 +48,7 @@
|
|||||||
"node": "4",
|
"node": "4",
|
||||||
"ie": "11",
|
"ie": "11",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "3.4",
|
||||||
"opera": "28",
|
"opera": "28",
|
||||||
"electron": "0.24"
|
"electron": "0.24"
|
||||||
},
|
},
|
||||||
@ -54,6 +59,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "5",
|
"node": "5",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "33",
|
"opera": "33",
|
||||||
"electron": "0.36"
|
"electron": "0.36"
|
||||||
},
|
},
|
||||||
@ -64,6 +70,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "5",
|
"node": "5",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "33",
|
"opera": "33",
|
||||||
"electron": "0.36"
|
"electron": "0.36"
|
||||||
},
|
},
|
||||||
@ -74,6 +81,7 @@
|
|||||||
"safari": "9",
|
"safari": "9",
|
||||||
"node": "4",
|
"node": "4",
|
||||||
"ios": "9",
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
"opera": "30",
|
"opera": "30",
|
||||||
"electron": "0.29"
|
"electron": "0.29"
|
||||||
},
|
},
|
||||||
@ -84,6 +92,7 @@
|
|||||||
"safari": "9",
|
"safari": "9",
|
||||||
"node": "4",
|
"node": "4",
|
||||||
"ios": "9",
|
"ios": "9",
|
||||||
|
"samsung": "3.4",
|
||||||
"opera": "29",
|
"opera": "29",
|
||||||
"electron": "0.27"
|
"electron": "0.27"
|
||||||
},
|
},
|
||||||
@ -94,6 +103,7 @@
|
|||||||
"safari": "7.1",
|
"safari": "7.1",
|
||||||
"node": "4",
|
"node": "4",
|
||||||
"ios": "8",
|
"ios": "8",
|
||||||
|
"samsung": "4",
|
||||||
"opera": "31",
|
"opera": "31",
|
||||||
"electron": "0.31"
|
"electron": "0.31"
|
||||||
},
|
},
|
||||||
@ -104,6 +114,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "6.5",
|
"node": "6.5",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "38",
|
"opera": "38",
|
||||||
"electron": "1.2"
|
"electron": "1.2"
|
||||||
},
|
},
|
||||||
@ -114,6 +125,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "6",
|
"node": "6",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "36",
|
"opera": "36",
|
||||||
"electron": "1"
|
"electron": "1"
|
||||||
},
|
},
|
||||||
@ -122,6 +134,7 @@
|
|||||||
"safari": "11.1",
|
"safari": "11.1",
|
||||||
"node": "8.10",
|
"node": "8.10",
|
||||||
"ios": "11.3",
|
"ios": "11.3",
|
||||||
|
"samsung": "8.2",
|
||||||
"opera": "49",
|
"opera": "49",
|
||||||
"electron": "3.1"
|
"electron": "3.1"
|
||||||
},
|
},
|
||||||
@ -132,6 +145,7 @@
|
|||||||
"safari": "12",
|
"safari": "12",
|
||||||
"node": "6",
|
"node": "6",
|
||||||
"ios": "12",
|
"ios": "12",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "37",
|
"opera": "37",
|
||||||
"electron": "1.1"
|
"electron": "1.1"
|
||||||
},
|
},
|
||||||
@ -142,6 +156,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "5",
|
"node": "5",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "33",
|
"opera": "33",
|
||||||
"electron": "0.36"
|
"electron": "0.36"
|
||||||
},
|
},
|
||||||
@ -152,6 +167,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "6",
|
"node": "6",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "36",
|
"opera": "36",
|
||||||
"electron": "1"
|
"electron": "1"
|
||||||
},
|
},
|
||||||
@ -162,6 +178,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "6.5",
|
"node": "6.5",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "38",
|
"opera": "38",
|
||||||
"electron": "1.2"
|
"electron": "1.2"
|
||||||
},
|
},
|
||||||
@ -172,6 +189,7 @@
|
|||||||
"safari": "10.1",
|
"safari": "10.1",
|
||||||
"node": "6",
|
"node": "6",
|
||||||
"ios": "10.3",
|
"ios": "10.3",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "36",
|
"opera": "36",
|
||||||
"electron": "1"
|
"electron": "1"
|
||||||
},
|
},
|
||||||
@ -182,6 +200,7 @@
|
|||||||
"safari": "9",
|
"safari": "9",
|
||||||
"node": "0.12",
|
"node": "0.12",
|
||||||
"ios": "9",
|
"ios": "9",
|
||||||
|
"samsung": "3",
|
||||||
"opera": "25",
|
"opera": "25",
|
||||||
"electron": "0.2"
|
"electron": "0.2"
|
||||||
},
|
},
|
||||||
@ -192,6 +211,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "5",
|
"node": "5",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "33",
|
"opera": "33",
|
||||||
"electron": "0.36"
|
"electron": "0.36"
|
||||||
},
|
},
|
||||||
@ -202,6 +222,7 @@
|
|||||||
"safari": "10",
|
"safari": "10",
|
||||||
"node": "6",
|
"node": "6",
|
||||||
"ios": "10",
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
"opera": "37",
|
"opera": "37",
|
||||||
"electron": "1.1"
|
"electron": "1.1"
|
||||||
},
|
},
|
||||||
@ -212,6 +233,7 @@
|
|||||||
"safari": "10.1",
|
"safari": "10.1",
|
||||||
"node": "7",
|
"node": "7",
|
||||||
"ios": "10.3",
|
"ios": "10.3",
|
||||||
|
"samsung": "6.2",
|
||||||
"opera": "39",
|
"opera": "39",
|
||||||
"electron": "1.3"
|
"electron": "1.3"
|
||||||
},
|
},
|
||||||
@ -222,6 +244,7 @@
|
|||||||
"safari": "11",
|
"safari": "11",
|
||||||
"node": "7.6",
|
"node": "7.6",
|
||||||
"ios": "11",
|
"ios": "11",
|
||||||
|
"samsung": "6.2",
|
||||||
"opera": "42",
|
"opera": "42",
|
||||||
"electron": "1.6"
|
"electron": "1.6"
|
||||||
},
|
},
|
||||||
@ -231,6 +254,7 @@
|
|||||||
"safari": "12",
|
"safari": "12",
|
||||||
"node": "10",
|
"node": "10",
|
||||||
"ios": "12",
|
"ios": "12",
|
||||||
|
"samsung": "8.2",
|
||||||
"opera": "50",
|
"opera": "50",
|
||||||
"electron": "3.1"
|
"electron": "3.1"
|
||||||
},
|
},
|
||||||
@ -240,6 +264,7 @@
|
|||||||
"safari": "11.1",
|
"safari": "11.1",
|
||||||
"node": "8.3",
|
"node": "8.3",
|
||||||
"ios": "11.3",
|
"ios": "11.3",
|
||||||
|
"samsung": "8.2",
|
||||||
"opera": "47",
|
"opera": "47",
|
||||||
"electron": "2.1"
|
"electron": "2.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,11 +1,7 @@
|
|||||||
// These mappings represent the builtin/feature proposals that have been
|
// These mappings represent the syntax proposals that have been
|
||||||
// shipped by browsers, and are enabled by the `shippedProposals` option.
|
// shipped by browsers, and are enabled by the `shippedProposals` option.
|
||||||
|
|
||||||
const builtIns = {
|
const proposalPlugins = {};
|
||||||
"es7.array.flat-map": "Array.prototype.{flat, flatMap} / Array.prototype.flatMap"
|
|
||||||
};
|
|
||||||
|
|
||||||
const features = {};
|
|
||||||
|
|
||||||
const pluginSyntaxMap = new Map([
|
const pluginSyntaxMap = new Map([
|
||||||
["proposal-async-generator-functions", "syntax-async-generators"],
|
["proposal-async-generator-functions", "syntax-async-generators"],
|
||||||
@ -15,4 +11,4 @@ const pluginSyntaxMap = new Map([
|
|||||||
["proposal-json-strings", "syntax-json-strings"],
|
["proposal-json-strings", "syntax-json-strings"],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
module.exports = { builtIns, features, pluginSyntaxMap };
|
module.exports = { proposalPlugins, pluginSyntaxMap };
|
||||||
|
|||||||
@ -53,7 +53,9 @@
|
|||||||
"@babel/plugin-transform-template-literals": "^7.2.0",
|
"@babel/plugin-transform-template-literals": "^7.2.0",
|
||||||
"@babel/plugin-transform-typeof-symbol": "^7.2.0",
|
"@babel/plugin-transform-typeof-symbol": "^7.2.0",
|
||||||
"@babel/plugin-transform-unicode-regex": "^7.2.0",
|
"@babel/plugin-transform-unicode-regex": "^7.2.0",
|
||||||
|
"@babel/types": "^7.3.4",
|
||||||
"browserslist": "^4.4.2",
|
"browserslist": "^4.4.2",
|
||||||
|
"core-js-compat": "^3.0.0",
|
||||||
"invariant": "^2.2.2",
|
"invariant": "^2.2.2",
|
||||||
"js-levenshtein": "^1.1.3",
|
"js-levenshtein": "^1.1.3",
|
||||||
"semver": "^5.3.0"
|
"semver": "^5.3.0"
|
||||||
@ -66,6 +68,7 @@
|
|||||||
"@babel/core": "^7.3.4",
|
"@babel/core": "^7.3.4",
|
||||||
"@babel/helper-fixtures": "^7.2.0",
|
"@babel/helper-fixtures": "^7.2.0",
|
||||||
"@babel/helper-plugin-test-runner": "^7.0.0",
|
"@babel/helper-plugin-test-runner": "^7.0.0",
|
||||||
|
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
||||||
"caniuse-db": "1.0.30000938",
|
"caniuse-db": "1.0.30000938",
|
||||||
"compat-table": "kangax/compat-table#6d012ba020fa7415e8a2d29e87924bab79b128a3",
|
"compat-table": "kangax/compat-table#6d012ba020fa7415e8a2d29e87924bab79b128a3",
|
||||||
"electron-to-chromium": "1.3.113"
|
"electron-to-chromium": "1.3.113"
|
||||||
|
|||||||
@ -132,6 +132,7 @@ const environments = [
|
|||||||
"android",
|
"android",
|
||||||
"ios",
|
"ios",
|
||||||
"phantom",
|
"phantom",
|
||||||
|
"samsung",
|
||||||
];
|
];
|
||||||
|
|
||||||
const compatibilityTests = flattenDeep(
|
const compatibilityTests = flattenDeep(
|
||||||
@ -162,22 +163,16 @@ const getLowestImplementedVersion = ({ features }, env) => {
|
|||||||
);
|
);
|
||||||
})
|
})
|
||||||
.reduce((result, test) => {
|
.reduce((result, test) => {
|
||||||
const isBuiltIn =
|
|
||||||
test.category === "built-ins" ||
|
|
||||||
test.category === "built-in extensions";
|
|
||||||
|
|
||||||
if (!test.subtests) {
|
if (!test.subtests) {
|
||||||
result.push({
|
result.push({
|
||||||
name: test.name,
|
name: test.name,
|
||||||
res: test.res,
|
res: test.res,
|
||||||
isBuiltIn,
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
test.subtests.forEach(subtest =>
|
test.subtests.forEach(subtest =>
|
||||||
result.push({
|
result.push({
|
||||||
name: `${test.name}/${subtest.name}`,
|
name: `${test.name}/${subtest.name}`,
|
||||||
res: subtest.res,
|
res: subtest.res,
|
||||||
isBuiltIn,
|
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -186,20 +181,7 @@ const getLowestImplementedVersion = ({ features }, env) => {
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const unreleasedLabelForEnv = unreleasedLabels[env];
|
const unreleasedLabelForEnv = unreleasedLabels[env];
|
||||||
const envTests = tests.map(({ res: test, isBuiltIn }, i) => {
|
const envTests = tests.map(({ res: test }, i) => {
|
||||||
// Babel itself doesn't implement the feature correctly,
|
|
||||||
// don't count against it
|
|
||||||
// only doing this for built-ins atm
|
|
||||||
//
|
|
||||||
// NOTE: when/if compat-table adds a babel7 key, we'll want to update this
|
|
||||||
if (!test.babel6corejs2 && isBuiltIn) {
|
|
||||||
return {
|
|
||||||
version: "0.0.0",
|
|
||||||
semver: "0.0.0",
|
|
||||||
implements: true,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const reportedVersions = Object.keys(test)
|
const reportedVersions = Object.keys(test)
|
||||||
.filter(t => t.startsWith(env))
|
.filter(t => t.startsWith(env))
|
||||||
.map(t => {
|
.map(t => {
|
||||||
@ -308,7 +290,7 @@ const generateData = (environments, features) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
["plugin", "built-in"].forEach(target => {
|
["plugin", "corejs2-built-in"].forEach(target => {
|
||||||
const newData = generateData(
|
const newData = generateData(
|
||||||
environments,
|
environments,
|
||||||
require(`../data/${target}-features`)
|
require(`../data/${target}-features`)
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
// @flow
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
"syntax-async-generators": require("@babel/plugin-syntax-async-generators"),
|
"syntax-async-generators": require("@babel/plugin-syntax-async-generators"),
|
||||||
"syntax-json-strings": require("@babel/plugin-syntax-json-strings"),
|
"syntax-json-strings": require("@babel/plugin-syntax-json-strings"),
|
||||||
|
|||||||
@ -1,182 +0,0 @@
|
|||||||
const ArrayNatureIterators = [
|
|
||||||
"es6.object.to-string",
|
|
||||||
"es6.array.iterator",
|
|
||||||
"web.dom.iterable",
|
|
||||||
];
|
|
||||||
|
|
||||||
const CommonIterators = ["es6.string.iterator"].concat(ArrayNatureIterators);
|
|
||||||
|
|
||||||
// TODO: this is the opposite of built-in-features so maybe generate one from the other?
|
|
||||||
export const definitions = {
|
|
||||||
builtins: {
|
|
||||||
DataView: "es6.typed.data-view",
|
|
||||||
Float32Array: "es6.typed.float32-array",
|
|
||||||
Float64Array: "es6.typed.float64-array",
|
|
||||||
Int8Array: "es6.typed.int8-array",
|
|
||||||
Int16Array: "es6.typed.int16-array",
|
|
||||||
Int32Array: "es6.typed.int32-array",
|
|
||||||
Map: ["es6.map"].concat(CommonIterators),
|
|
||||||
Number: "es6.number.constructor",
|
|
||||||
Promise: ["es6.object.to-string", "es6.promise"],
|
|
||||||
RegExp: ["es6.regexp.constructor"],
|
|
||||||
Set: ["es6.set"].concat(CommonIterators),
|
|
||||||
Symbol: ["es6.symbol", "es7.symbol.async-iterator"],
|
|
||||||
Uint8Array: "es6.typed.uint8-array",
|
|
||||||
Uint8ClampedArray: "es6.typed.uint8-clamped-array",
|
|
||||||
Uint16Array: "es6.typed.uint16-array",
|
|
||||||
Uint32Array: "es6.typed.uint32-array",
|
|
||||||
WeakMap: ["es6.weak-map"].concat(CommonIterators),
|
|
||||||
WeakSet: ["es6.weak-set"].concat(CommonIterators),
|
|
||||||
},
|
|
||||||
|
|
||||||
instanceMethods: {
|
|
||||||
__defineGetter__: ["es7.object.define-getter"],
|
|
||||||
__defineSetter__: ["es7.object.define-setter"],
|
|
||||||
__lookupGetter__: ["es7.object.lookup-getter"],
|
|
||||||
__lookupSetter__: ["es7.object.lookup-setter"],
|
|
||||||
anchor: ["es6.string.anchor"],
|
|
||||||
big: ["es6.string.big"],
|
|
||||||
bind: ["es6.function.bind"],
|
|
||||||
blink: ["es6.string.blink"],
|
|
||||||
bold: ["es6.string.bold"],
|
|
||||||
codePointAt: ["es6.string.code-point-at"],
|
|
||||||
copyWithin: ["es6.array.copy-within"],
|
|
||||||
endsWith: ["es6.string.ends-with"],
|
|
||||||
entries: ArrayNatureIterators,
|
|
||||||
every: ["es6.array.is-array"],
|
|
||||||
fill: ["es6.array.fill"],
|
|
||||||
filter: ["es6.array.filter"],
|
|
||||||
finally: ["es7.promise.finally"],
|
|
||||||
find: ["es6.array.find"],
|
|
||||||
findIndex: ["es6.array.find-index"],
|
|
||||||
fixed: ["es6.string.fixed"],
|
|
||||||
flags: ["es6.regexp.flags"],
|
|
||||||
fontcolor: ["es6.string.fontcolor"],
|
|
||||||
fontsize: ["es6.string.fontsize"],
|
|
||||||
forEach: ["es6.array.for-each", "web.dom.iterable"],
|
|
||||||
includes: ["es6.string.includes", "es7.array.includes"],
|
|
||||||
indexOf: ["es6.array.index-of"],
|
|
||||||
italics: ["es6.string.italics"],
|
|
||||||
keys: ArrayNatureIterators,
|
|
||||||
lastIndexOf: ["es6.array.last-index-of"],
|
|
||||||
link: ["es6.string.link"],
|
|
||||||
map: ["es6.array.map"],
|
|
||||||
match: ["es6.regexp.match"],
|
|
||||||
name: ["es6.function.name"],
|
|
||||||
padStart: ["es7.string.pad-start"],
|
|
||||||
padEnd: ["es7.string.pad-end"],
|
|
||||||
reduce: ["es6.array.reduce"],
|
|
||||||
reduceRight: ["es6.array.reduce-right"],
|
|
||||||
repeat: ["es6.string.repeat"],
|
|
||||||
replace: ["es6.regexp.replace"],
|
|
||||||
search: ["es6.regexp.search"],
|
|
||||||
slice: ["es6.array.slice"],
|
|
||||||
small: ["es6.string.small"],
|
|
||||||
some: ["es6.array.some"],
|
|
||||||
sort: ["es6.array.sort"],
|
|
||||||
split: ["es6.regexp.split"],
|
|
||||||
startsWith: ["es6.string.starts-with"],
|
|
||||||
strike: ["es6.string.strike"],
|
|
||||||
sub: ["es6.string.sub"],
|
|
||||||
sup: ["es6.string.sup"],
|
|
||||||
toISOString: ["es6.date.to-iso-string"],
|
|
||||||
toJSON: ["es6.date.to-json"],
|
|
||||||
toString: [
|
|
||||||
"es6.object.to-string",
|
|
||||||
"es6.date.to-string",
|
|
||||||
"es6.regexp.to-string",
|
|
||||||
],
|
|
||||||
trim: ["es6.string.trim"],
|
|
||||||
values: ArrayNatureIterators,
|
|
||||||
},
|
|
||||||
|
|
||||||
staticMethods: {
|
|
||||||
Array: {
|
|
||||||
from: ["es6.array.from", "es6.string.iterator"],
|
|
||||||
isArray: "es6.array.is-array",
|
|
||||||
of: "es6.array.of",
|
|
||||||
},
|
|
||||||
|
|
||||||
Date: {
|
|
||||||
now: "es6.date.now",
|
|
||||||
},
|
|
||||||
|
|
||||||
Object: {
|
|
||||||
assign: "es6.object.assign",
|
|
||||||
create: "es6.object.create",
|
|
||||||
defineProperty: "es6.object.define-property",
|
|
||||||
defineProperties: "es6.object.define-properties",
|
|
||||||
entries: "es7.object.entries",
|
|
||||||
freeze: "es6.object.freeze",
|
|
||||||
getOwnPropertyDescriptors: "es7.object.get-own-property-descriptors",
|
|
||||||
getOwnPropertySymbols: "es6.object.get-own-property-symbols",
|
|
||||||
is: "es6.object.is",
|
|
||||||
isExtensible: "es6.object.is-extensible",
|
|
||||||
isFrozen: "es6.object.is-frozen",
|
|
||||||
isSealed: "es6.object.is-sealed",
|
|
||||||
keys: "es6.object.keys",
|
|
||||||
preventExtensions: "es6.object.prevent-extensions",
|
|
||||||
seal: "es6.object.seal",
|
|
||||||
setPrototypeOf: "es6.object.set-prototype-of",
|
|
||||||
values: "es7.object.values",
|
|
||||||
},
|
|
||||||
|
|
||||||
Math: {
|
|
||||||
acosh: "es6.math.acosh",
|
|
||||||
asinh: "es6.math.asinh",
|
|
||||||
atanh: "es6.math.atanh",
|
|
||||||
cbrt: "es6.math.cbrt",
|
|
||||||
clz32: "es6.math.clz32",
|
|
||||||
cosh: "es6.math.cosh",
|
|
||||||
expm1: "es6.math.expm1",
|
|
||||||
fround: "es6.math.fround",
|
|
||||||
hypot: "es6.math.hypot",
|
|
||||||
imul: "es6.math.imul",
|
|
||||||
log1p: "es6.math.log1p",
|
|
||||||
log10: "es6.math.log10",
|
|
||||||
log2: "es6.math.log2",
|
|
||||||
sign: "es6.math.sign",
|
|
||||||
sinh: "es6.math.sinh",
|
|
||||||
tanh: "es6.math.tanh",
|
|
||||||
trunc: "es6.math.trunc",
|
|
||||||
},
|
|
||||||
|
|
||||||
String: {
|
|
||||||
fromCodePoint: "es6.string.from-code-point",
|
|
||||||
raw: "es6.string.raw",
|
|
||||||
},
|
|
||||||
|
|
||||||
Number: {
|
|
||||||
EPSILON: "es6.number.epsilon",
|
|
||||||
MIN_SAFE_INTEGER: "es6.number.min-safe-integer",
|
|
||||||
MAX_SAFE_INTEGER: "es6.number.max-safe-integer",
|
|
||||||
isFinite: "es6.number.is-finite",
|
|
||||||
isInteger: "es6.number.is-integer",
|
|
||||||
isSafeInteger: "es6.number.is-safe-integer",
|
|
||||||
isNaN: "es6.number.is-nan",
|
|
||||||
parseFloat: "es6.number.parse-float",
|
|
||||||
parseInt: "es6.number.parse-int",
|
|
||||||
},
|
|
||||||
|
|
||||||
Promise: {
|
|
||||||
all: CommonIterators,
|
|
||||||
race: CommonIterators,
|
|
||||||
},
|
|
||||||
|
|
||||||
Reflect: {
|
|
||||||
apply: "es6.reflect.apply",
|
|
||||||
construct: "es6.reflect.construct",
|
|
||||||
defineProperty: "es6.reflect.define-property",
|
|
||||||
deleteProperty: "es6.reflect.delete-property",
|
|
||||||
get: "es6.reflect.get",
|
|
||||||
getOwnPropertyDescriptor: "es6.reflect.get-own-property-descriptor",
|
|
||||||
getPrototypeOf: "es6.reflect.get-prototype-of",
|
|
||||||
has: "es6.reflect.has",
|
|
||||||
isExtensible: "es6.reflect.is-extensible",
|
|
||||||
ownKeys: "es6.reflect.own-keys",
|
|
||||||
preventExtensions: "es6.reflect.prevent-extensions",
|
|
||||||
set: "es6.reflect.set",
|
|
||||||
setPrototypeOf: "es6.reflect.set-prototype-of",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@ -1,20 +1,21 @@
|
|||||||
|
// @flow
|
||||||
/*eslint quotes: ["error", "double", { "avoidEscape": true }]*/
|
/*eslint quotes: ["error", "double", { "avoidEscape": true }]*/
|
||||||
import semver from "semver";
|
import semver from "semver";
|
||||||
import { isUnreleasedVersion, prettifyVersion, semverify } from "./utils";
|
import { isUnreleasedVersion, prettifyVersion, semverify } from "./utils";
|
||||||
|
|
||||||
const wordEnds = size => {
|
import type { Targets } from "./types";
|
||||||
return size > 1 ? "s" : "";
|
|
||||||
};
|
|
||||||
|
|
||||||
export const logMessage = (message, context) => {
|
const wordEnds = (size: number) => {
|
||||||
const pre = context ? `[${context}] ` : "";
|
return size > 1 ? "s" : "";
|
||||||
const logStr = ` ${pre}${message}`;
|
|
||||||
console.log(logStr);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Outputs a message that shows which target(s) caused an item to be included:
|
// Outputs a message that shows which target(s) caused an item to be included:
|
||||||
// transform-foo { "edge":"13", "firefox":"49", "ie":"10" }
|
// transform-foo { "edge":"13", "firefox":"49", "ie":"10" }
|
||||||
export const logPlugin = (item, targetVersions, list, context) => {
|
export const logPluginOrPolyfill = (
|
||||||
|
item: string,
|
||||||
|
targetVersions: Targets,
|
||||||
|
list: { [key: string]: Targets },
|
||||||
|
) => {
|
||||||
const minVersions = list[item] || {};
|
const minVersions = list[item] || {};
|
||||||
|
|
||||||
const filteredList = Object.keys(targetVersions).reduce((result, env) => {
|
const filteredList = Object.keys(targetVersions).reduce((result, env) => {
|
||||||
@ -29,7 +30,8 @@ export const logPlugin = (item, targetVersions, list, context) => {
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
!targetIsUnreleased &&
|
!targetIsUnreleased &&
|
||||||
(minIsUnreleased || semver.lt(targetVersion, semverify(minVersion)))
|
(minIsUnreleased ||
|
||||||
|
semver.lt(targetVersion.toString(), semverify(minVersion)))
|
||||||
) {
|
) {
|
||||||
result[env] = prettifyVersion(targetVersion);
|
result[env] = prettifyVersion(targetVersion);
|
||||||
}
|
}
|
||||||
@ -43,50 +45,56 @@ export const logPlugin = (item, targetVersions, list, context) => {
|
|||||||
.replace(/^\{"/, '{ "')
|
.replace(/^\{"/, '{ "')
|
||||||
.replace(/"\}$/, '" }');
|
.replace(/"\}$/, '" }');
|
||||||
|
|
||||||
logMessage(`${item} ${formattedTargets}`, context);
|
console.log(` ${item} ${formattedTargets}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const logEntryPolyfills = (
|
export const logEntryPolyfills = (
|
||||||
importPolyfillIncluded,
|
polyfillName: string,
|
||||||
polyfills,
|
importPolyfillIncluded: boolean,
|
||||||
filename,
|
polyfills: Set<string>,
|
||||||
onDebug,
|
filename: string,
|
||||||
|
polyfillTargets: Targets,
|
||||||
|
allBuiltInsList: { [key: string]: Targets },
|
||||||
) => {
|
) => {
|
||||||
if (!importPolyfillIncluded) {
|
if (!importPolyfillIncluded) {
|
||||||
console.log(
|
console.log(`\n[${filename}] Import of ${polyfillName} was not found.`);
|
||||||
`
|
|
||||||
[${filename}] \`import '@babel/polyfill'\` was not found.`,
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!polyfills.size) {
|
if (!polyfills.size) {
|
||||||
console.log(
|
console.log(
|
||||||
`
|
`\n[${filename}] Based on your targets, polyfills were not added.`,
|
||||||
[${filename}] Based on your targets, none were added.`,
|
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
`
|
`\n[${filename}] Replaced ${polyfillName} entries with the following polyfill${wordEnds(
|
||||||
[${filename}] Replaced \`@babel/polyfill\` with the following polyfill${wordEnds(
|
|
||||||
polyfills.size,
|
polyfills.size,
|
||||||
)}:`,
|
)}:`,
|
||||||
);
|
);
|
||||||
onDebug(polyfills);
|
for (const polyfill of polyfills) {
|
||||||
|
logPluginOrPolyfill(polyfill, polyfillTargets, allBuiltInsList);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const logUsagePolyfills = (polyfills, filename, onDebug) => {
|
export const logUsagePolyfills = (
|
||||||
|
polyfills: Set<string>,
|
||||||
|
filename: string,
|
||||||
|
polyfillTargets: Targets,
|
||||||
|
allBuiltInsList: { [key: string]: Targets },
|
||||||
|
) => {
|
||||||
if (!polyfills.size) {
|
if (!polyfills.size) {
|
||||||
console.log(
|
console.log(
|
||||||
`
|
`\n[${filename}] Based on your code and targets, core-js polyfills were not added.`,
|
||||||
[${filename}] Based on your code and targets, none were added.`,
|
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log(
|
console.log(
|
||||||
`
|
`\n[${filename}] Added following core-js polyfill${wordEnds(
|
||||||
[${filename}] Added following polyfill${wordEnds(polyfills.size)}:`,
|
polyfills.size,
|
||||||
|
)}:`,
|
||||||
);
|
);
|
||||||
onDebug(polyfills);
|
for (const polyfill of polyfills) {
|
||||||
|
logPluginOrPolyfill(polyfill, polyfillTargets, allBuiltInsList);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
export const defaultWebIncludes = [
|
|
||||||
"web.timers",
|
|
||||||
"web.immediate",
|
|
||||||
"web.dom.iterable",
|
|
||||||
];
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
import type { Targets } from "./types";
|
|
||||||
|
|
||||||
const defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"];
|
|
||||||
const defaultExcludesForLooseMode = ["transform-typeof-symbol"];
|
|
||||||
|
|
||||||
export const getPlatformSpecificDefaultFor = (
|
|
||||||
targets: Targets,
|
|
||||||
): ?Array<string> => {
|
|
||||||
const targetNames = Object.keys(targets);
|
|
||||||
const isAnyTarget = !targetNames.length;
|
|
||||||
const isWebTarget = targetNames.some(name => name !== "node");
|
|
||||||
|
|
||||||
return isAnyTarget || isWebTarget ? defaultWebIncludes : null;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getOptionSpecificExcludesFor = ({
|
|
||||||
loose,
|
|
||||||
}: {
|
|
||||||
loose: boolean,
|
|
||||||
}): ?Array<string> => {
|
|
||||||
if (loose) {
|
|
||||||
return defaultExcludesForLooseMode;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
};
|
|
||||||
87
packages/babel-preset-env/src/filter-items.js
Normal file
87
packages/babel-preset-env/src/filter-items.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
// @flow
|
||||||
|
import semver from "semver";
|
||||||
|
import { semverify, isUnreleasedVersion } from "./utils";
|
||||||
|
|
||||||
|
import type { Targets } from "./types";
|
||||||
|
|
||||||
|
export function isPluginRequired(
|
||||||
|
supportedEnvironments: Targets,
|
||||||
|
plugin: Targets,
|
||||||
|
) {
|
||||||
|
const targetEnvironments = Object.keys(supportedEnvironments);
|
||||||
|
|
||||||
|
if (targetEnvironments.length === 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const isRequiredForEnvironments = targetEnvironments.filter(environment => {
|
||||||
|
// Feature is not implemented in that environment
|
||||||
|
if (!plugin[environment]) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const lowestImplementedVersion = plugin[environment];
|
||||||
|
const lowestTargetedVersion = supportedEnvironments[environment];
|
||||||
|
|
||||||
|
// If targets has unreleased value as a lowest version, then don't require a plugin.
|
||||||
|
if (isUnreleasedVersion(lowestTargetedVersion, environment)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Include plugin if it is supported in the unreleased environment, which wasn't specified in targets
|
||||||
|
if (isUnreleasedVersion(lowestImplementedVersion, environment)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!semver.valid(lowestTargetedVersion.toString())) {
|
||||||
|
throw new Error(
|
||||||
|
`Invalid version passed for target "${environment}": "${lowestTargetedVersion}". ` +
|
||||||
|
"Versions must be in semver format (major.minor.patch)",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return semver.gt(
|
||||||
|
semverify(lowestImplementedVersion),
|
||||||
|
lowestTargetedVersion.toString(),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
return isRequiredForEnvironments.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function(
|
||||||
|
list: { [feature: string]: Targets },
|
||||||
|
includes: Set<string>,
|
||||||
|
excludes: Set<string>,
|
||||||
|
targets: Targets,
|
||||||
|
defaultIncludes: Array<string> | null,
|
||||||
|
defaultExcludes?: Array<string> | null,
|
||||||
|
pluginSyntaxMap?: Map<string, string | null>,
|
||||||
|
) {
|
||||||
|
const result = new Set<string>();
|
||||||
|
|
||||||
|
for (const item in list) {
|
||||||
|
if (
|
||||||
|
!excludes.has(item) &&
|
||||||
|
(isPluginRequired(targets, list[item]) || includes.has(item))
|
||||||
|
) {
|
||||||
|
result.add(item);
|
||||||
|
} else if (pluginSyntaxMap) {
|
||||||
|
const shippedProposalsSyntax = pluginSyntaxMap.get(item);
|
||||||
|
|
||||||
|
if (shippedProposalsSyntax) {
|
||||||
|
result.add(shippedProposalsSyntax);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defaultIncludes) {
|
||||||
|
defaultIncludes.forEach(item => !excludes.has(item) && result.add(item));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defaultExcludes) {
|
||||||
|
defaultExcludes.forEach(item => !includes.has(item) && result.delete(item));
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user