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
|
||||
packages/babel-runtime
|
||||
!packages/babel-plugin-transform-runtime/scripts
|
||||
!packages/babel-runtime-corejs2/core-js.js
|
||||
packages/babel-runtime-corejs2
|
||||
packages/babel-runtime-corejs3
|
||||
packages/*/node_modules
|
||||
packages/*/lib
|
||||
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/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-cli/test/tmp
|
||||
/packages/babel-node/test/tmp
|
||||
|
||||
@ -27,16 +27,31 @@ declare module "lodash/merge" {
|
||||
}
|
||||
|
||||
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: {
|
||||
valid(v: string): boolean;
|
||||
SemVer: SemVer;
|
||||
|
||||
coerce(version: string | SemVer): SemVer | null;
|
||||
gt(v1: string, v2: string): boolean;
|
||||
intersects(r1: string, r2: string): boolean;
|
||||
lt(v1: string, v2: string): boolean;
|
||||
major(v: string): number;
|
||||
minor(v: string): number;
|
||||
patch(v: string): number;
|
||||
satisfies(v1: string, r1: string): boolean;
|
||||
|
||||
intersects(r1: string, r2: string): boolean;
|
||||
valid(v: string): boolean;
|
||||
}
|
||||
}
|
||||
|
||||
@ -180,3 +195,13 @@ declare module "js-levenshtein" {
|
||||
(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")`
|
||||
export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){
|
||||
var desc = {};
|
||||
Object['ke' + 'ys'](descriptor).forEach(function(key){
|
||||
Object.keys(descriptor).forEach(function(key){
|
||||
desc[key] = descriptor[key];
|
||||
});
|
||||
desc.enumerable = !!desc.enumerable;
|
||||
@ -1019,7 +1019,7 @@ helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")`
|
||||
if (desc.initializer === void 0){
|
||||
// This is a hack to avoid this being processed by 'transform-runtime'.
|
||||
// See issue #9.
|
||||
Object['define' + 'Property'](target, property, desc);
|
||||
Object.defineProperty(target, property, desc);
|
||||
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 _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.'); }
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
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 {
|
||||
foo() {}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
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 {
|
||||
bar() {}
|
||||
|
||||
@ -7,7 +7,8 @@
|
||||
"targets": {
|
||||
"node": 8
|
||||
},
|
||||
"useBuiltIns": "usage"
|
||||
"useBuiltIns": "usage",
|
||||
"corejs": 3
|
||||
}
|
||||
]
|
||||
],
|
||||
|
||||
@ -25,6 +25,8 @@
|
||||
"@babel/helper-plugin-test-runner": "^7.0.0",
|
||||
"@babel/helpers": "^7.2.0",
|
||||
"@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/runtime": "^7.3.4",
|
||||
"@babel/template": "^7.0.0",
|
||||
|
||||
@ -8,43 +8,81 @@ const template = require("@babel/template");
|
||||
const t = require("@babel/types");
|
||||
|
||||
const transformRuntime = require("../");
|
||||
const getCorejs2Definitions = require("../lib/definitions").default;
|
||||
const corejs2Definitions = getCorejs2Definitions();
|
||||
const transformMemberExpressionLiterals = require("@babel/plugin-transform-member-expression-literals");
|
||||
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");
|
||||
|
||||
writeCoreJS2("@babel/runtime-corejs2");
|
||||
writeHelpers("@babel/runtime-corejs2", { corejs: 2 });
|
||||
writeHelpers("@babel/runtime-corejs3", {
|
||||
corejs: { version: 3, proposals: true },
|
||||
});
|
||||
|
||||
function writeCoreJS2(runtimeName) {
|
||||
const pkgDirname = getRuntimeRoot(runtimeName);
|
||||
|
||||
const paths = [
|
||||
writeCoreJS({
|
||||
corejs: 2,
|
||||
proposals: true,
|
||||
definitions: corejs2Definitions,
|
||||
paths: [
|
||||
"is-iterable",
|
||||
"get-iterator",
|
||||
|
||||
// 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
|
||||
// avoid a breaking change there.
|
||||
"symbol/async-iterator",
|
||||
];
|
||||
|
||||
Object.keys(corejs2Definitions.builtins).forEach(key => {
|
||||
const path = corejs2Definitions.builtins[key];
|
||||
paths.push(path);
|
||||
],
|
||||
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.methods).forEach(key => {
|
||||
const props = corejs2Definitions.methods[key];
|
||||
Object.keys(props).forEach(key2 => {
|
||||
paths.push(props[key2]);
|
||||
function writeCoreJS({
|
||||
corejs,
|
||||
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(StaticProperties).forEach(builtin => {
|
||||
const props = StaticProperties[builtin];
|
||||
Object.keys(props).forEach(name => {
|
||||
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(
|
||||
path.join(pkgDirname, "core-js", `${corePath}.js`),
|
||||
`module.exports = require("core-js/library/fn/${corePath}");`
|
||||
path.join(pkgDirname, runtimeRoot, `${corejsPath}.js`),
|
||||
`module.exports = require("${corejsRoot}/${corejsPath}");`
|
||||
);
|
||||
});
|
||||
}
|
||||
@ -118,6 +156,8 @@ function buildHelper(
|
||||
presets: [[require("@babel/preset-env"), { modules: false }]],
|
||||
plugins: [
|
||||
[transformRuntime, { corejs, useESModules: esm }],
|
||||
[transformMemberExpressionLiterals],
|
||||
[transformPropertyLiterals],
|
||||
buildRuntimeRewritePlugin(
|
||||
runtimeName,
|
||||
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 { 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) {
|
||||
try {
|
||||
@ -33,7 +34,7 @@ export default declare((api, options, dirname) => {
|
||||
api.assertVersion(7);
|
||||
|
||||
const {
|
||||
corejs: corejsVersion = false,
|
||||
corejs,
|
||||
helpers: useRuntimeHelpers = true,
|
||||
regenerator: useRuntimeRegenerator = true,
|
||||
useESModules = false,
|
||||
@ -41,21 +42,48 @@ export default declare((api, options, dirname) => {
|
||||
absoluteRuntime = false,
|
||||
} = 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") {
|
||||
throw new Error(
|
||||
"The 'regenerator' option must be undefined, or a boolean.",
|
||||
);
|
||||
}
|
||||
|
||||
if (typeof useRuntimeHelpers !== "boolean") {
|
||||
throw new Error("The 'helpers' option must be undefined, or a boolean.");
|
||||
}
|
||||
|
||||
if (typeof useESModules !== "boolean" && useESModules !== "auto") {
|
||||
throw new Error(
|
||||
"The 'useESModules' option must be undefined, or a boolean, or 'auto'.",
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
typeof absoluteRuntime !== "boolean" &&
|
||||
typeof absoluteRuntime !== "string"
|
||||
@ -64,16 +92,7 @@ export default declare((api, options, dirname) => {
|
||||
"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") {
|
||||
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) {
|
||||
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 (options.useBuiltIns) {
|
||||
throw new Error(
|
||||
@ -90,10 +121,11 @@ export default declare((api, options, dirname) => {
|
||||
} else {
|
||||
throw new Error(
|
||||
"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 (options.polyfill === false) {
|
||||
throw new Error(
|
||||
@ -103,10 +135,11 @@ export default declare((api, options, dirname) => {
|
||||
} else {
|
||||
throw new Error(
|
||||
"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")) {
|
||||
throw new Error(
|
||||
"The 'moduleName' option has been removed. @babel/transform-runtime " +
|
||||
@ -119,11 +152,22 @@ export default declare((api, options, dirname) => {
|
||||
const esModules =
|
||||
useESModules === "auto" ? api.caller(supportsStaticESM) : useESModules;
|
||||
|
||||
const injectCoreJS2 = `${corejsVersion}` === "2";
|
||||
const moduleName = injectCoreJS2
|
||||
const injectCoreJS2 = corejsVersion === 2;
|
||||
const injectCoreJS3 = corejsVersion === 3;
|
||||
const injectCoreJS = corejsVersion !== false;
|
||||
|
||||
const moduleName = injectCoreJS3
|
||||
? "@babel/runtime-corejs3"
|
||||
: injectCoreJS2
|
||||
? "@babel/runtime-corejs2"
|
||||
: "@babel/runtime";
|
||||
|
||||
const corejsRoot = injectCoreJS3 && !proposals ? "core-js-stable" : "core-js";
|
||||
|
||||
const { BuiltIns, StaticProperties, InstanceProperties } = (injectCoreJS2
|
||||
? getCoreJS2Definitions
|
||||
: getCoreJS3Definitions)(runtimeVersion);
|
||||
|
||||
const HEADER_HELPERS = ["interopRequireWildcard", "interopRequireDefault"];
|
||||
|
||||
let modulePath = moduleName;
|
||||
@ -199,7 +243,10 @@ export default declare((api, options, dirname) => {
|
||||
visitor: {
|
||||
ReferencedIdentifier(path) {
|
||||
const { node, parent, scope } = path;
|
||||
if (node.name === "regeneratorRuntime" && useRuntimeRegenerator) {
|
||||
const { name } = node;
|
||||
|
||||
// transform `regeneratorRuntime`
|
||||
if (name === "regeneratorRuntime" && useRuntimeRegenerator) {
|
||||
path.replaceWith(
|
||||
this.addDefaultImport(
|
||||
`${modulePath}/regenerator`,
|
||||
@ -209,50 +256,81 @@ export default declare((api, options, dirname) => {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!injectCoreJS2) return;
|
||||
if (!injectCoreJS) return;
|
||||
|
||||
if (t.isMemberExpression(parent)) return;
|
||||
if (!has(definitions.builtins, node.name)) return;
|
||||
if (scope.getBindingIdentifier(node.name)) return;
|
||||
if (!hasMapping(BuiltIns, 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(
|
||||
this.addDefaultImport(
|
||||
`${modulePath}/core-js/${definitions.builtins[node.name]}`,
|
||||
node.name,
|
||||
`${modulePath}/${corejsRoot}/${BuiltIns[name].path}`,
|
||||
name,
|
||||
),
|
||||
);
|
||||
},
|
||||
|
||||
// arr[Symbol.iterator]() -> _core.$for.getIterator(arr)
|
||||
CallExpression(path) {
|
||||
if (!injectCoreJS2) return;
|
||||
if (!injectCoreJS) return;
|
||||
|
||||
// we can't compile this
|
||||
if (path.node.arguments.length) return;
|
||||
const { node } = path;
|
||||
const { callee } = node;
|
||||
|
||||
const callee = path.node.callee;
|
||||
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 (!path.get("callee.property").matchesPattern("Symbol.iterator")) {
|
||||
return;
|
||||
}
|
||||
|
||||
// transform `something[Symbol.iterator]()` to calling `getIterator(something)` helper
|
||||
path.replaceWith(
|
||||
t.callExpression(
|
||||
this.addDefaultImport(
|
||||
`${modulePath}/core-js/get-iterator`,
|
||||
"getIterator",
|
||||
),
|
||||
[callee.object],
|
||||
[object],
|
||||
),
|
||||
);
|
||||
},
|
||||
|
||||
// Symbol.iterator in arr -> core.$for.isIterable(arr)
|
||||
// transform `Symbol.iterator in something` to calling `isIterable(something)` helper
|
||||
BinaryExpression(path) {
|
||||
if (!injectCoreJS2) return;
|
||||
|
||||
if (!injectCoreJS) return;
|
||||
if (path.node.operator !== "in") 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: {
|
||||
enter(path) {
|
||||
if (!injectCoreJS2) return;
|
||||
if (!injectCoreJS) return;
|
||||
if (!path.isReferenced()) return;
|
||||
|
||||
const { node } = path;
|
||||
const obj = node.object;
|
||||
const prop = node.property;
|
||||
const { object, property } = node;
|
||||
|
||||
if (!t.isReferenced(obj, node)) return;
|
||||
if (node.computed) return;
|
||||
if (!has(definitions.methods, obj.name)) return;
|
||||
if (!t.isReferenced(object, node)) return;
|
||||
|
||||
const methods = definitions.methods[obj.name];
|
||||
if (!has(methods, prop.name)) return;
|
||||
|
||||
// doesn't reference the global
|
||||
if (path.scope.getBindingIdentifier(obj.name)) return;
|
||||
|
||||
// special case Object.defineProperty to not use core-js when using string keys
|
||||
if (
|
||||
obj.name === "Object" &&
|
||||
prop.name === "defineProperty" &&
|
||||
path.parentPath.isCallExpression()
|
||||
) {
|
||||
const call = path.parentPath.node;
|
||||
if (call.arguments.length === 3 && t.isLiteral(call.arguments[1])) {
|
||||
if (node.computed) {
|
||||
if (injectCoreJS2) return;
|
||||
// transform `something[Symbol.iterator]` to calling `getIteratorMethod(something)` helper
|
||||
if (path.get("property").matchesPattern("Symbol.iterator")) {
|
||||
path.replaceWith(
|
||||
t.callExpression(
|
||||
this.addDefaultImport(
|
||||
`${moduleName}/core-js/get-iterator-method`,
|
||||
"getIteratorMethod",
|
||||
),
|
||||
[object],
|
||||
),
|
||||
);
|
||||
}
|
||||
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(
|
||||
this.addDefaultImport(
|
||||
`${modulePath}/core-js/${methods[prop.name]}`,
|
||||
`${obj.name}$${prop.name}`,
|
||||
`${modulePath}/${corejsRoot}/${
|
||||
StaticProperties[objectName][propertyName].path
|
||||
}`,
|
||||
`${objectName}$${propertyName}`,
|
||||
),
|
||||
);
|
||||
},
|
||||
|
||||
exit(path) {
|
||||
if (!injectCoreJS2) return;
|
||||
if (!injectCoreJS) return;
|
||||
if (!path.isReferenced()) return;
|
||||
|
||||
const { node } = path;
|
||||
const obj = node.object;
|
||||
const { object } = node;
|
||||
const { name } = object;
|
||||
|
||||
if (!has(definitions.builtins, obj.name)) return;
|
||||
if (path.scope.getBindingIdentifier(obj.name)) return;
|
||||
if (!hasMapping(BuiltIns, name)) return;
|
||||
if (path.scope.getBindingIdentifier(name)) return;
|
||||
|
||||
path.replaceWith(
|
||||
t.memberExpression(
|
||||
this.addDefaultImport(
|
||||
`${modulePath}/core-js/${definitions.builtins[obj.name]}`,
|
||||
obj.name,
|
||||
`${modulePath}/${corejsRoot}/${BuiltIns[name].path}`,
|
||||
name,
|
||||
),
|
||||
node.property,
|
||||
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 _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
||||
|
||||
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
|
||||
});
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
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';
|
||||
let Foo = (_class = class Foo {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
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.'); }
|
||||
|
||||
|
||||
@ -2,6 +2,9 @@
|
||||
|
||||
> 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.
|
||||
|
||||
## Install
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
"repository": "https://github.com/babel/babel/tree/master/packages/babel-polyfill",
|
||||
"main": "lib/index.js",
|
||||
"dependencies": {
|
||||
"core-js": "^2.5.7",
|
||||
"core-js": "^2.6.5",
|
||||
"regenerator-runtime": "^0.13.2"
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,8 +3,11 @@ import "core-js/es6";
|
||||
|
||||
// Standard now
|
||||
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-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/object/get-own-property-descriptors";
|
||||
import "core-js/fn/object/values";
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 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)
|
||||
|
||||
@ -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:*
|
||||
|
||||
@ -38,19 +38,29 @@ and split it with `/`:
|
||||
|
||||
`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`
|
||||
|
||||
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
|
||||
const es2017 = {
|
||||
const es = {
|
||||
//...
|
||||
"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)
|
||||
|
||||
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-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.from": "Array static methods / Array.from",
|
||||
"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.to-string": "well-known symbols / Symbol.toStringTag",
|
||||
"es6.object.is": "Object static methods / Object.is",
|
||||
"es6.object.is-frozen": "Object static methods accept primitives / Object.isFrozen",
|
||||
"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.sup": "String.prototype HTML methods",
|
||||
"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.data-view": "typed arrays / DataView",
|
||||
File diff suppressed because it is too large
Load Diff
@ -4,6 +4,7 @@
|
||||
"edge": "13",
|
||||
"firefox": "34",
|
||||
"node": "4",
|
||||
"samsung": "3.4",
|
||||
"opera": "28",
|
||||
"electron": "0.24"
|
||||
},
|
||||
@ -14,6 +15,7 @@
|
||||
"safari": "9",
|
||||
"node": "4",
|
||||
"ios": "9",
|
||||
"samsung": "4",
|
||||
"opera": "31",
|
||||
"electron": "0.31"
|
||||
},
|
||||
@ -23,6 +25,7 @@
|
||||
"safari": "10",
|
||||
"node": "6.5",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "38",
|
||||
"electron": "1.2"
|
||||
},
|
||||
@ -33,6 +36,7 @@
|
||||
"safari": "10",
|
||||
"node": "6",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "34",
|
||||
"electron": "0.36"
|
||||
},
|
||||
@ -44,6 +48,7 @@
|
||||
"node": "4",
|
||||
"ie": "11",
|
||||
"ios": "10",
|
||||
"samsung": "3.4",
|
||||
"opera": "28",
|
||||
"electron": "0.24"
|
||||
},
|
||||
@ -54,6 +59,7 @@
|
||||
"safari": "10",
|
||||
"node": "5",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "33",
|
||||
"electron": "0.36"
|
||||
},
|
||||
@ -64,6 +70,7 @@
|
||||
"safari": "10",
|
||||
"node": "5",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "33",
|
||||
"electron": "0.36"
|
||||
},
|
||||
@ -74,6 +81,7 @@
|
||||
"safari": "9",
|
||||
"node": "4",
|
||||
"ios": "9",
|
||||
"samsung": "4",
|
||||
"opera": "30",
|
||||
"electron": "0.29"
|
||||
},
|
||||
@ -84,6 +92,7 @@
|
||||
"safari": "9",
|
||||
"node": "4",
|
||||
"ios": "9",
|
||||
"samsung": "3.4",
|
||||
"opera": "29",
|
||||
"electron": "0.27"
|
||||
},
|
||||
@ -94,6 +103,7 @@
|
||||
"safari": "7.1",
|
||||
"node": "4",
|
||||
"ios": "8",
|
||||
"samsung": "4",
|
||||
"opera": "31",
|
||||
"electron": "0.31"
|
||||
},
|
||||
@ -104,6 +114,7 @@
|
||||
"safari": "10",
|
||||
"node": "6.5",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "38",
|
||||
"electron": "1.2"
|
||||
},
|
||||
@ -114,6 +125,7 @@
|
||||
"safari": "10",
|
||||
"node": "6",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "36",
|
||||
"electron": "1"
|
||||
},
|
||||
@ -122,6 +134,7 @@
|
||||
"safari": "11.1",
|
||||
"node": "8.10",
|
||||
"ios": "11.3",
|
||||
"samsung": "8.2",
|
||||
"opera": "49",
|
||||
"electron": "3.1"
|
||||
},
|
||||
@ -132,6 +145,7 @@
|
||||
"safari": "12",
|
||||
"node": "6",
|
||||
"ios": "12",
|
||||
"samsung": "5",
|
||||
"opera": "37",
|
||||
"electron": "1.1"
|
||||
},
|
||||
@ -142,6 +156,7 @@
|
||||
"safari": "10",
|
||||
"node": "5",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "33",
|
||||
"electron": "0.36"
|
||||
},
|
||||
@ -152,6 +167,7 @@
|
||||
"safari": "10",
|
||||
"node": "6",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "36",
|
||||
"electron": "1"
|
||||
},
|
||||
@ -162,6 +178,7 @@
|
||||
"safari": "10",
|
||||
"node": "6.5",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "38",
|
||||
"electron": "1.2"
|
||||
},
|
||||
@ -172,6 +189,7 @@
|
||||
"safari": "10.1",
|
||||
"node": "6",
|
||||
"ios": "10.3",
|
||||
"samsung": "5",
|
||||
"opera": "36",
|
||||
"electron": "1"
|
||||
},
|
||||
@ -182,6 +200,7 @@
|
||||
"safari": "9",
|
||||
"node": "0.12",
|
||||
"ios": "9",
|
||||
"samsung": "3",
|
||||
"opera": "25",
|
||||
"electron": "0.2"
|
||||
},
|
||||
@ -192,6 +211,7 @@
|
||||
"safari": "10",
|
||||
"node": "5",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "33",
|
||||
"electron": "0.36"
|
||||
},
|
||||
@ -202,6 +222,7 @@
|
||||
"safari": "10",
|
||||
"node": "6",
|
||||
"ios": "10",
|
||||
"samsung": "5",
|
||||
"opera": "37",
|
||||
"electron": "1.1"
|
||||
},
|
||||
@ -212,6 +233,7 @@
|
||||
"safari": "10.1",
|
||||
"node": "7",
|
||||
"ios": "10.3",
|
||||
"samsung": "6.2",
|
||||
"opera": "39",
|
||||
"electron": "1.3"
|
||||
},
|
||||
@ -222,6 +244,7 @@
|
||||
"safari": "11",
|
||||
"node": "7.6",
|
||||
"ios": "11",
|
||||
"samsung": "6.2",
|
||||
"opera": "42",
|
||||
"electron": "1.6"
|
||||
},
|
||||
@ -231,6 +254,7 @@
|
||||
"safari": "12",
|
||||
"node": "10",
|
||||
"ios": "12",
|
||||
"samsung": "8.2",
|
||||
"opera": "50",
|
||||
"electron": "3.1"
|
||||
},
|
||||
@ -240,6 +264,7 @@
|
||||
"safari": "11.1",
|
||||
"node": "8.3",
|
||||
"ios": "11.3",
|
||||
"samsung": "8.2",
|
||||
"opera": "47",
|
||||
"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.
|
||||
|
||||
const builtIns = {
|
||||
"es7.array.flat-map": "Array.prototype.{flat, flatMap} / Array.prototype.flatMap"
|
||||
};
|
||||
|
||||
const features = {};
|
||||
const proposalPlugins = {};
|
||||
|
||||
const pluginSyntaxMap = new Map([
|
||||
["proposal-async-generator-functions", "syntax-async-generators"],
|
||||
@ -15,4 +11,4 @@ const pluginSyntaxMap = new Map([
|
||||
["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-typeof-symbol": "^7.2.0",
|
||||
"@babel/plugin-transform-unicode-regex": "^7.2.0",
|
||||
"@babel/types": "^7.3.4",
|
||||
"browserslist": "^4.4.2",
|
||||
"core-js-compat": "^3.0.0",
|
||||
"invariant": "^2.2.2",
|
||||
"js-levenshtein": "^1.1.3",
|
||||
"semver": "^5.3.0"
|
||||
@ -66,6 +68,7 @@
|
||||
"@babel/core": "^7.3.4",
|
||||
"@babel/helper-fixtures": "^7.2.0",
|
||||
"@babel/helper-plugin-test-runner": "^7.0.0",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
||||
"caniuse-db": "1.0.30000938",
|
||||
"compat-table": "kangax/compat-table#6d012ba020fa7415e8a2d29e87924bab79b128a3",
|
||||
"electron-to-chromium": "1.3.113"
|
||||
|
||||
@ -132,6 +132,7 @@ const environments = [
|
||||
"android",
|
||||
"ios",
|
||||
"phantom",
|
||||
"samsung",
|
||||
];
|
||||
|
||||
const compatibilityTests = flattenDeep(
|
||||
@ -162,22 +163,16 @@ const getLowestImplementedVersion = ({ features }, env) => {
|
||||
);
|
||||
})
|
||||
.reduce((result, test) => {
|
||||
const isBuiltIn =
|
||||
test.category === "built-ins" ||
|
||||
test.category === "built-in extensions";
|
||||
|
||||
if (!test.subtests) {
|
||||
result.push({
|
||||
name: test.name,
|
||||
res: test.res,
|
||||
isBuiltIn,
|
||||
});
|
||||
} else {
|
||||
test.subtests.forEach(subtest =>
|
||||
result.push({
|
||||
name: `${test.name}/${subtest.name}`,
|
||||
res: subtest.res,
|
||||
isBuiltIn,
|
||||
})
|
||||
);
|
||||
}
|
||||
@ -186,20 +181,7 @@ const getLowestImplementedVersion = ({ features }, env) => {
|
||||
}, []);
|
||||
|
||||
const unreleasedLabelForEnv = unreleasedLabels[env];
|
||||
const envTests = tests.map(({ res: test, isBuiltIn }, 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 envTests = tests.map(({ res: test }, i) => {
|
||||
const reportedVersions = Object.keys(test)
|
||||
.filter(t => t.startsWith(env))
|
||||
.map(t => {
|
||||
@ -308,7 +290,7 @@ const generateData = (environments, features) => {
|
||||
});
|
||||
};
|
||||
|
||||
["plugin", "built-in"].forEach(target => {
|
||||
["plugin", "corejs2-built-in"].forEach(target => {
|
||||
const newData = generateData(
|
||||
environments,
|
||||
require(`../data/${target}-features`)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
// @flow
|
||||
|
||||
export default {
|
||||
"syntax-async-generators": require("@babel/plugin-syntax-async-generators"),
|
||||
"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 }]*/
|
||||
import semver from "semver";
|
||||
import { isUnreleasedVersion, prettifyVersion, semverify } from "./utils";
|
||||
|
||||
const wordEnds = size => {
|
||||
return size > 1 ? "s" : "";
|
||||
};
|
||||
import type { Targets } from "./types";
|
||||
|
||||
export const logMessage = (message, context) => {
|
||||
const pre = context ? `[${context}] ` : "";
|
||||
const logStr = ` ${pre}${message}`;
|
||||
console.log(logStr);
|
||||
const wordEnds = (size: number) => {
|
||||
return size > 1 ? "s" : "";
|
||||
};
|
||||
|
||||
// Outputs a message that shows which target(s) caused an item to be included:
|
||||
// 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 filteredList = Object.keys(targetVersions).reduce((result, env) => {
|
||||
@ -29,7 +30,8 @@ export const logPlugin = (item, targetVersions, list, context) => {
|
||||
|
||||
if (
|
||||
!targetIsUnreleased &&
|
||||
(minIsUnreleased || semver.lt(targetVersion, semverify(minVersion)))
|
||||
(minIsUnreleased ||
|
||||
semver.lt(targetVersion.toString(), semverify(minVersion)))
|
||||
) {
|
||||
result[env] = prettifyVersion(targetVersion);
|
||||
}
|
||||
@ -43,50 +45,56 @@ export const logPlugin = (item, targetVersions, list, context) => {
|
||||
.replace(/^\{"/, '{ "')
|
||||
.replace(/"\}$/, '" }');
|
||||
|
||||
logMessage(`${item} ${formattedTargets}`, context);
|
||||
console.log(` ${item} ${formattedTargets}`);
|
||||
};
|
||||
|
||||
export const logEntryPolyfills = (
|
||||
importPolyfillIncluded,
|
||||
polyfills,
|
||||
filename,
|
||||
onDebug,
|
||||
polyfillName: string,
|
||||
importPolyfillIncluded: boolean,
|
||||
polyfills: Set<string>,
|
||||
filename: string,
|
||||
polyfillTargets: Targets,
|
||||
allBuiltInsList: { [key: string]: Targets },
|
||||
) => {
|
||||
if (!importPolyfillIncluded) {
|
||||
console.log(
|
||||
`
|
||||
[${filename}] \`import '@babel/polyfill'\` was not found.`,
|
||||
);
|
||||
console.log(`\n[${filename}] Import of ${polyfillName} was not found.`);
|
||||
return;
|
||||
}
|
||||
if (!polyfills.size) {
|
||||
console.log(
|
||||
`
|
||||
[${filename}] Based on your targets, none were added.`,
|
||||
`\n[${filename}] Based on your targets, polyfills were not added.`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(
|
||||
`
|
||||
[${filename}] Replaced \`@babel/polyfill\` with the following polyfill${wordEnds(
|
||||
`\n[${filename}] Replaced ${polyfillName} entries with the following polyfill${wordEnds(
|
||||
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) {
|
||||
console.log(
|
||||
`
|
||||
[${filename}] Based on your code and targets, none were added.`,
|
||||
`\n[${filename}] Based on your code and targets, core-js polyfills were not added.`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
console.log(
|
||||
`
|
||||
[${filename}] Added following polyfill${wordEnds(polyfills.size)}:`,
|
||||
`\n[${filename}] Added following core-js polyfill${wordEnds(
|
||||
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