babel-plugin-polyfill-es-shims 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm/index.mjs CHANGED
@@ -11,7 +11,6 @@ const has = Function.call.bind(Object.hasOwnProperty);
11
11
  const Globals = {};
12
12
  const StaticProperties = {};
13
13
  const InstanceProperties = {};
14
-
15
14
  const lessThanArgs = num => (meta, path) => {
16
15
  const {
17
16
  node,
@@ -23,41 +22,34 @@ const lessThanArgs = num => (meta, path) => {
23
22
  if (parent.arguments.length >= num) return false;
24
23
  return parent.arguments.every(arg => !t.isSpreadElement(arg));
25
24
  };
26
-
27
25
  for (const [name, causeArgNum] of [["Error", 2], ["AggregateError", 3], ["EvalError", 2], ["RangeError", 2], ["ReferenceError", 2], ["SyntaxError", 2], ["TypeError", 2], ["URIError", 2]]) {
28
26
  defineGlobal(name, "1.0.1", "error-cause", {
29
27
  exclude: lessThanArgs(causeArgNum),
30
28
  subfolder: name,
31
29
  polyfillName: "Error cause"
32
30
  });
33
- } // This needs to come after the AggregateError cause polyfill, since this
31
+ }
32
+ // This needs to come after the AggregateError cause polyfill, since this
34
33
  // one polyfills less features.
35
-
36
-
37
34
  defineGlobal("AggregateError", "1.0.2", "es-aggregate-error");
38
- const DATE_VERSION = "2.0.0"; // MISSING DATA: defineGlobal("Date", DATE_VERSION, "date", { subfolder: "Date" });
39
-
35
+ const DATE_VERSION = "2.0.0";
36
+ // MISSING DATA: defineGlobal("Date", DATE_VERSION, "date", { subfolder: "Date" });
40
37
  defineGlobal("globalThis", "1.0.0");
41
38
  defineGlobal("parseInt", "2.0.0");
42
39
  defineGlobal("Map", "1.0.4", "es-map");
43
40
  defineGlobal("Set", "1.1.0", "es-set");
44
-
45
41
  const arrayCheck = thisObj => expr`Array.isArray(${thisObj})`;
46
-
47
42
  const typeofCheck = type => thisObj => expr`typeof ${thisObj} === "${type}"`;
48
-
49
43
  const instanceofCheck = Class => thisObj => expr`${thisObj} instanceof ${t.identifier(Class)}`;
50
-
51
- const stringCheck = typeofCheck("string"); // const setCheck = instanceofCheck("Set");
44
+ const stringCheck = typeofCheck("string");
45
+ // const setCheck = instanceofCheck("Set");
52
46
 
53
47
  const getter = {
54
48
  getter: true
55
49
  };
56
-
57
50
  const excludeStatic = obj => ({
58
51
  exclude: meta => meta.kind === "property" && meta.placement === "static" && meta.object === obj
59
52
  });
60
-
61
53
  const excludeObject = excludeStatic("Object");
62
54
  defineStatic("Array", "from", "1.1.0");
63
55
  defineStatic("Array", "of", "1.0.0");
@@ -76,14 +68,14 @@ defineInstance("Array", "flatMap", "1.2.3", arrayCheck);
76
68
  defineInstance("Array", "includes", "3.1.1", arrayCheck, {
77
69
  pkg: "array-includes"
78
70
  });
79
- defineInstance("Array", "indexOf", "1.0.1", arrayCheck); // MISSING DATA: defineInstance("Array", "join", "1.0.0", arrayCheck);
80
-
71
+ defineInstance("Array", "indexOf", "1.0.1", arrayCheck);
72
+ // MISSING DATA: defineInstance("Array", "join", "1.0.0", arrayCheck);
81
73
  defineInstance("Array", "keys", "1.0.0", arrayCheck, excludeObject);
82
74
  defineInstance("Array", "lastIndexOf", "1.0.0", arrayCheck);
83
75
  defineInstance("Array", "map", "1.0.2", arrayCheck);
84
76
  defineInstance("Array", "reduce", "1.0.1", arrayCheck);
85
- defineInstance("Array", "reduceRight", "1.0.1", arrayCheck); // MISSING DATA: defineInstance("Array", "slice", "1.0.0", arrayCheck);
86
-
77
+ defineInstance("Array", "reduceRight", "1.0.1", arrayCheck);
78
+ // MISSING DATA: defineInstance("Array", "slice", "1.0.0", arrayCheck);
87
79
  defineInstance("Array", "some", "1.1.1", arrayCheck);
88
80
  defineInstance("Array", "splice", "1.0.1", arrayCheck);
89
81
  defineInstance("Array", "toReversed", "1.0.1", arrayCheck);
@@ -92,16 +84,16 @@ defineInstance("Array", "toSpliced", "1.0.0", arrayCheck);
92
84
  defineInstance("Array", "unshift", "1.0.0", arrayCheck);
93
85
  defineInstance("Array", "values", "1.0.0", arrayCheck, excludeObject);
94
86
  defineInstance("Array", "with", "1.0.1", arrayCheck);
95
-
96
- for (const name of ["now" // MISSING DATA: "parse"
87
+ for (const name of ["now"
88
+ // MISSING DATA: "parse"
97
89
  ]) {
98
90
  defineStatic("Date", name, DATE_VERSION, {
99
91
  pkg: "date",
100
92
  subfolder: `Date.${name}`
101
93
  });
102
94
  }
103
-
104
- for (const name of [// MISSING DATA: "getFullYear",
95
+ for (const name of [
96
+ // MISSING DATA: "getFullYear",
105
97
  // MISSING DATA: "getMonth",
106
98
  // MISSING DATA: "getDate",
107
99
  // MISSING DATA: "getUTCDate",
@@ -116,7 +108,6 @@ for (const name of [// MISSING DATA: "getFullYear",
116
108
  subfolder: `Date.prototype.${name}`
117
109
  });
118
110
  }
119
-
120
111
  defineInstance("Function", "name", "1.1.2", typeofCheck("function"), getter);
121
112
  defineStatic("Math", "acosh", "1.0.0");
122
113
  defineStatic("Math", "atanh", "1.0.0");
@@ -151,7 +142,9 @@ defineInstance("Promise", "finally", "1.2.1", instanceofCheck("Promise"));
151
142
  defineStatic("Reflect", "apply", "1.0.0");
152
143
  defineStatic("Reflect", "ownKeys", "1.0.1");
153
144
  defineStatic("Reflect", "getPrototypeOf", "1.0.0");
154
- defineInstance("RegExp", "flags", "1.3.0", instanceofCheck("RegExp"), getter); // TODO: Uncomment when Stage 4
145
+ defineInstance("RegExp", "flags", "1.3.0", instanceofCheck("RegExp"), getter);
146
+
147
+ // TODO: Uncomment when Stage 4
155
148
  // defineInstance("Set", "difference", "1.0.2", setCheck);
156
149
  // defineInstance("Set", "intersection", "1.0.2", setCheck);
157
150
  // defineInstance("Set", "isDisjointFrom", "1.0.2", setCheck);
@@ -179,15 +172,15 @@ defineInstance("String", "trimEnd", "1.0.0", stringCheck);
179
172
  defineInstance("String", "trimLeft", "2.1.1", stringCheck);
180
173
  defineInstance("String", "trimRight", "2.1.1", stringCheck);
181
174
  defineInstance("String", "trimStart", "1.0.0", stringCheck);
182
- defineInstance("Symbol", "description", "1.0.2", instanceofCheck("Symbol"), getter); // Annex B
175
+ defineInstance("Symbol", "description", "1.0.2", instanceofCheck("Symbol"), getter);
183
176
 
177
+ // Annex B
184
178
  for (const name of ["anchor", "big", "blink", "bold", "fixed", "fontcolor", "fontsize", "italics", "link", "small", "strike", "sub", "sup"]) {
185
179
  defineInstance("String", name, "1.0.0", stringCheck, {
186
180
  pkg: `es-string-html-methods`,
187
181
  subfolder: name
188
182
  });
189
183
  }
190
-
191
184
  function createDescriptor(name, version, pkg = name.toLowerCase(), subfolder) {
192
185
  return {
193
186
  name,
@@ -196,19 +189,18 @@ function createDescriptor(name, version, pkg = name.toLowerCase(), subfolder) {
196
189
  path: subfolder ? `${pkg}/${subfolder}` : pkg
197
190
  };
198
191
  }
199
-
200
192
  function defineGlobal(name, version, pkg, {
201
193
  exclude,
202
194
  subfolder,
203
195
  polyfillName = name
204
196
  } = {}) {
205
197
  if (!has(Globals, name)) Globals[name] = [];
206
- Globals[name].push({ ...createDescriptor(polyfillName, version, pkg, subfolder),
198
+ Globals[name].push({
199
+ ...createDescriptor(polyfillName, version, pkg, subfolder),
207
200
  exclude,
208
201
  nameHint: name
209
202
  });
210
203
  }
211
-
212
204
  function defineStatic(object, property, version, {
213
205
  pkg,
214
206
  subfolder
@@ -216,7 +208,6 @@ function defineStatic(object, property, version, {
216
208
  if (!has(StaticProperties, object)) StaticProperties[object] = {};
217
209
  StaticProperties[object][property] = [createDescriptor(`${object}.${property}`, version, pkg, subfolder)];
218
210
  }
219
-
220
211
  function defineInstance(object, property, version, thisCheck, {
221
212
  getter = false,
222
213
  exclude,
@@ -224,7 +215,8 @@ function defineInstance(object, property, version, thisCheck, {
224
215
  subfolder
225
216
  } = {}) {
226
217
  if (!has(InstanceProperties, property)) InstanceProperties[property] = [];
227
- InstanceProperties[property].push({ ...createDescriptor(`${object}.prototype.${property}`, version, pkg, subfolder),
218
+ InstanceProperties[property].push({
219
+ ...createDescriptor(`${object}.prototype.${property}`, version, pkg, subfolder),
228
220
  thisCheck,
229
221
  exclude,
230
222
  getter
@@ -247,7 +239,6 @@ var index = defineProvider(function ({
247
239
  static: StaticProperties,
248
240
  instance: InstanceProperties
249
241
  });
250
-
251
242
  function createDescIterator(cb, instance) {
252
243
  return (meta, utils, path) => {
253
244
  if (path.parentPath.isUnaryExpression({
@@ -255,17 +246,16 @@ var index = defineProvider(function ({
255
246
  })) return;
256
247
  const resolved = resolvePolyfill(meta);
257
248
  if (!resolved) return;
258
-
259
249
  if (instance && resolved.kind === "instance") {
260
250
  instance(meta, resolved, utils, path);
261
251
  return;
262
252
  }
263
-
264
253
  for (const desc of resolved.desc) {
265
254
  if (!(desc.exclude != null && desc.exclude(meta, path)) && shouldInjectPolyfill(desc.name)) {
266
- cb(desc, utils, path); // Since global and static polyfills are unambiguous, we only need to
267
- // inject the first non-excluded one.
255
+ cb(desc, utils, path);
268
256
 
257
+ // Since global and static polyfills are unambiguous, we only need to
258
+ // inject the first non-excluded one.
269
259
  if (resolved.kind !== "instance") {
270
260
  break;
271
261
  }
@@ -273,13 +263,11 @@ var index = defineProvider(function ({
273
263
  }
274
264
  };
275
265
  }
276
-
277
266
  function injectDefault(desc, utils) {
278
267
  assertDependency(desc.package, desc.version);
279
268
  debug(desc.name);
280
269
  return utils.injectDefaultImport(desc.path, desc.nameHint || desc.name);
281
270
  }
282
-
283
271
  const seen = new WeakSet();
284
272
  return {
285
273
  name: "es-shims",
@@ -303,19 +291,16 @@ var index = defineProvider(function ({
303
291
  callee: path.node
304
292
  });
305
293
  const isGetter = resolved.desc[0].getter;
306
-
307
294
  const matchesPolyfill = ({
308
295
  name
309
296
  }) => name.startsWith(meta.object);
310
-
311
297
  let index = -1;
312
-
313
- if ( // This is the actual method for sure.
298
+ if (
299
+ // This is the actual method for sure.
314
300
  meta.kind === "property" && meta.placement === "prototype" && meta.object != null && (index = resolved.desc.findIndex(matchesPolyfill)) !== -1) {
315
301
  const desc = resolved.desc[index];
316
302
  if (!shouldInjectPolyfill(desc.name)) return;
317
303
  const id = injectDefault(desc, utils);
318
-
319
304
  if (isGetter) {
320
305
  path.replaceWith(expr`${id}(${path.node.object})`);
321
306
  } else if (isCall) {
@@ -338,18 +323,14 @@ var index = defineProvider(function ({
338
323
  const {
339
324
  object
340
325
  } = path.node;
341
-
342
326
  for (const desc of resolved.desc) {
343
327
  var _parent;
344
-
345
328
  const {
346
329
  thisCheck
347
330
  } = desc;
348
-
349
331
  if (!thisCheck || desc.exclude != null && desc.exclude(meta) || !shouldInjectPolyfill(desc.name)) {
350
332
  continue;
351
333
  }
352
-
353
334
  if (!tmp) {
354
335
  tmp = path.scope.generateUidIdentifierBasedOnNode(object);
355
336
  path.scope.push({
@@ -357,20 +338,16 @@ var index = defineProvider(function ({
357
338
  });
358
339
  path.get("object").replaceWith(tmp);
359
340
  }
360
-
361
341
  const id = injectDefault(desc, utils);
362
342
  replacement = t.conditionalExpression(thisCheck(t.cloneNode(tmp)), isGetter ? expr`${id}(${t.cloneNode(tmp)})` : isCall ? id : expr`${id}.getPolyfill()`, replacement);
363
343
  parent = (_parent = parent) != null ? _parent : replacement;
364
344
  }
365
-
366
345
  if (!parent) return;
367
346
  replacement = expr`(${t.cloneNode(tmp)} = ${object}, ${replacement})`;
368
-
369
347
  if (!isGetter && isCall) {
370
348
  parent.alternate = expr`Function.call.bind(${parent.alternate})`;
371
349
  path.parentPath.unshiftContainer("arguments", t.cloneNode(tmp));
372
350
  }
373
-
374
351
  path.replaceWith(replacement);
375
352
  }
376
353
  })
package/esm/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/mappings.ts","../src/index.ts"],"sourcesContent":["import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type { MetaDescriptor } from \"@babel/helper-define-polyfill-provider\";\n\nconst expr = template.expression.ast;\n\nconst has = Function.call.bind(Object.hasOwnProperty);\n\nexport type Descriptor = {\n name: string;\n version: string;\n package: string;\n path: string; // This is different from .package for multi-entry-point packages,\n pure?: false;\n global?: false;\n thisCheck?: (thisObj: any) => any;\n exclude?: (meta: MetaDescriptor, path: NodePath) => boolean;\n getter?: true;\n};\n\nexport const Globals = {};\nexport const StaticProperties = {};\nexport const InstanceProperties = {};\n\nconst lessThanArgs = num => (meta, path: NodePath) => {\n const { node, parent } = path;\n if (!t.isNewExpression(parent, { callee: node })) return false;\n if (parent.arguments.length >= num) return false;\n return parent.arguments.every(arg => !t.isSpreadElement(arg));\n};\n\nfor (const [name, causeArgNum] of [\n [\"Error\", 2],\n [\"AggregateError\", 3],\n [\"EvalError\", 2],\n [\"RangeError\", 2],\n [\"ReferenceError\", 2],\n [\"SyntaxError\", 2],\n [\"TypeError\", 2],\n [\"URIError\", 2],\n] as [string, number][]) {\n defineGlobal(name, \"1.0.1\", \"error-cause\", {\n exclude: lessThanArgs(causeArgNum),\n subfolder: name,\n polyfillName: \"Error cause\",\n });\n}\n// This needs to come after the AggregateError cause polyfill, since this\n// one polyfills less features.\ndefineGlobal(\"AggregateError\", \"1.0.2\", \"es-aggregate-error\");\nconst DATE_VERSION = \"2.0.0\";\n// MISSING DATA: defineGlobal(\"Date\", DATE_VERSION, \"date\", { subfolder: \"Date\" });\ndefineGlobal(\"globalThis\", \"1.0.0\");\ndefineGlobal(\"parseInt\", \"2.0.0\");\n\ndefineGlobal(\"Map\", \"1.0.4\", \"es-map\");\ndefineGlobal(\"Set\", \"1.1.0\", \"es-set\");\n\nconst arrayCheck = thisObj => expr`Array.isArray(${thisObj})`;\nconst typeofCheck = type => thisObj => expr`typeof ${thisObj} === \"${type}\"`;\nconst instanceofCheck = Class => thisObj =>\n expr`${thisObj} instanceof ${t.identifier(Class)}`;\nconst stringCheck = typeofCheck(\"string\");\n// const setCheck = instanceofCheck(\"Set\");\n\nconst getter = { getter: true };\nconst excludeStatic = obj => ({\n exclude: meta =>\n meta.kind === \"property\" &&\n meta.placement === \"static\" &&\n meta.object === obj,\n});\nconst excludeObject = excludeStatic(\"Object\");\n\ndefineStatic(\"Array\", \"from\", \"1.1.0\");\ndefineStatic(\"Array\", \"of\", \"1.0.0\");\ndefineInstance(\"Array\", \"at\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"concat\", \"1.0.2\", arrayCheck);\ndefineInstance(\"Array\", \"copyWithin\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"entries\", \"1.0.0\", arrayCheck, excludeObject);\ndefineInstance(\"Array\", \"every\", \"1.1.0\", arrayCheck);\ndefineInstance(\"Array\", \"filter\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"find\", \"2.1.1\", arrayCheck);\ndefineInstance(\"Array\", \"findIndex\", \"2.1.0\", arrayCheck);\ndefineInstance(\"Array\", \"findLast\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"findLastIndex\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"flat\", \"1.2.3\", arrayCheck);\ndefineInstance(\"Array\", \"flatMap\", \"1.2.3\", arrayCheck);\ndefineInstance(\"Array\", \"includes\", \"3.1.1\", arrayCheck, {\n pkg: \"array-includes\",\n});\ndefineInstance(\"Array\", \"indexOf\", \"1.0.1\", arrayCheck);\n// MISSING DATA: defineInstance(\"Array\", \"join\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"keys\", \"1.0.0\", arrayCheck, excludeObject);\ndefineInstance(\"Array\", \"lastIndexOf\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"map\", \"1.0.2\", arrayCheck);\ndefineInstance(\"Array\", \"reduce\", \"1.0.1\", arrayCheck);\ndefineInstance(\"Array\", \"reduceRight\", \"1.0.1\", arrayCheck);\n// MISSING DATA: defineInstance(\"Array\", \"slice\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"some\", \"1.1.1\", arrayCheck);\ndefineInstance(\"Array\", \"splice\", \"1.0.1\", arrayCheck);\ndefineInstance(\"Array\", \"toReversed\", \"1.0.1\", arrayCheck);\ndefineInstance(\"Array\", \"toSorted\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"toSpliced\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"unshift\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"values\", \"1.0.0\", arrayCheck, excludeObject);\ndefineInstance(\"Array\", \"with\", \"1.0.1\", arrayCheck);\n\nfor (const name of [\n \"now\",\n // MISSING DATA: \"parse\"\n]) {\n defineStatic(\"Date\", name, DATE_VERSION, {\n pkg: \"date\",\n subfolder: `Date.${name}`,\n });\n}\nfor (const name of [\n // MISSING DATA: \"getFullYear\",\n // MISSING DATA: \"getMonth\",\n // MISSING DATA: \"getDate\",\n // MISSING DATA: \"getUTCDate\",\n // MISSING DATA: \"getUTCFullYear\",\n // MISSING DATA: \"getUTCMonth\",\n // MISSING DATA: \"toUTCString\",\n // MISSING DATA: \"toDateString\",\n // MISSING DATA: \"toString\",\n \"toISOString\",\n \"toJSON\",\n]) {\n defineInstance(\"Date\", name, DATE_VERSION, instanceofCheck(\"Date\"), {\n pkg: \"date\",\n subfolder: `Date.prototype.${name}`,\n });\n}\n\ndefineInstance(\"Function\", \"name\", \"1.1.2\", typeofCheck(\"function\"), getter);\n\ndefineStatic(\"Math\", \"acosh\", \"1.0.0\");\ndefineStatic(\"Math\", \"atanh\", \"1.0.0\");\ndefineStatic(\"Math\", \"clz32\", \"1.0.0\");\ndefineStatic(\"Math\", \"cbrt\", \"1.0.0\");\ndefineStatic(\"Math\", \"fround\", \"1.0.0\");\ndefineStatic(\"Math\", \"log1p\", \"1.0.1\");\ndefineStatic(\"Math\", \"sign\", \"2.0.0\");\n\ndefineStatic(\"Number\", \"isFinite\", \"1.0.0\");\ndefineStatic(\"Number\", \"isInteger\", \"1.0.0\");\ndefineStatic(\"Number\", \"isSafeInteger\", \"1.0.0\");\ndefineStatic(\"Number\", \"isNaN\", \"1.0.0\", { pkg: \"number.isnan\" });\ndefineStatic(\"Number\", \"parseFloat\", \"1.0.0\");\ndefineStatic(\"Number\", \"parseInt\", \"1.0.0\");\n\ndefineStatic(\"Object\", \"assign\", \"4.1.0\");\ndefineStatic(\"Object\", \"defineProperties\", \"1.0.0\");\ndefineStatic(\"Object\", \"entries\", \"1.1.1\");\ndefineStatic(\"Object\", \"fromEntries\", \"2.0.2\");\ndefineStatic(\"Object\", \"hasOwn\", \"1.0.0\");\ndefineStatic(\"Object\", \"is\", \"1.1.2\", { pkg: \"object-is\" });\ndefineStatic(\"Object\", \"getOwnPropertyDescriptors\", \"2.1.0\");\ndefineStatic(\"Object\", \"getPrototypeOf\", \"1.0.1\");\ndefineStatic(\"Object\", \"values\", \"1.1.1\");\n\ndefineStatic(\"Promise\", \"allSettled\", \"1.0.2\");\ndefineStatic(\"Promise\", \"any\", \"2.0.1\");\ndefineStatic(\"Promise\", \"try\", \"1.0.0\");\ndefineInstance(\"Promise\", \"finally\", \"1.2.1\", instanceofCheck(\"Promise\"));\n\ndefineStatic(\"Reflect\", \"apply\", \"1.0.0\");\ndefineStatic(\"Reflect\", \"ownKeys\", \"1.0.1\");\ndefineStatic(\"Reflect\", \"getPrototypeOf\", \"1.0.0\");\n\ndefineInstance(\"RegExp\", \"flags\", \"1.3.0\", instanceofCheck(\"RegExp\"), getter);\n\n// TODO: Uncomment when Stage 4\n// defineInstance(\"Set\", \"difference\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"intersection\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"isDisjointFrom\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"isSubsetOf\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"isSupersetOf\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"symmetricDifference\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"union\", \"1.0.2\", setCheck);\n\ndefineStatic(\"String\", \"fromCodePoint\", \"1.0.0\");\ndefineStatic(\"String\", \"raw\", \"1.0.1\");\ndefineInstance(\"String\", \"codePoitAt\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"endsWith\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"includes\", \"2.0.0\", stringCheck);\ndefineInstance(\"String\", \"at\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"matchAll\", \"4.0.2\", stringCheck);\ndefineInstance(\"String\", \"padEnd\", \"1.1.1\", stringCheck);\ndefineInstance(\"String\", \"padStart\", \"3.1.0\", stringCheck);\ndefineInstance(\"String\", \"repeat\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"replaceAll\", \"1.0.3\", stringCheck);\ndefineInstance(\n \"String\",\n \"split\",\n \"1.0.1\",\n stringCheck,\n excludeStatic(\"Symbol\"),\n);\ndefineInstance(\"String\", \"startsWith\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"substr\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"trim\", \"1.2.1\", stringCheck);\ndefineInstance(\"String\", \"trimEnd\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"trimLeft\", \"2.1.1\", stringCheck);\ndefineInstance(\"String\", \"trimRight\", \"2.1.1\", stringCheck);\ndefineInstance(\"String\", \"trimStart\", \"1.0.0\", stringCheck);\n\ndefineInstance(\n \"Symbol\",\n \"description\",\n \"1.0.2\",\n instanceofCheck(\"Symbol\"),\n getter,\n);\n\n// Annex B\nfor (const name of [\n \"anchor\",\n \"big\",\n \"blink\",\n \"bold\",\n \"fixed\",\n \"fontcolor\",\n \"fontsize\",\n \"italics\",\n \"link\",\n \"small\",\n \"strike\",\n \"sub\",\n \"sup\",\n]) {\n defineInstance(\"String\", name, \"1.0.0\", stringCheck, {\n pkg: `es-string-html-methods`,\n subfolder: name,\n });\n}\n\nfunction createDescriptor(name, version, pkg = name.toLowerCase(), subfolder?) {\n return {\n name,\n version,\n package: pkg,\n path: subfolder ? `${pkg}/${subfolder}` : pkg,\n };\n}\n\ntype ExcludeFilter = (meta: MetaDescriptor, path: NodePath) => boolean;\n\nfunction defineGlobal(\n name,\n version,\n pkg?,\n {\n exclude,\n subfolder,\n polyfillName = name,\n }: {\n exclude?: ExcludeFilter;\n subfolder?: string;\n polyfillName?: string;\n } = {},\n) {\n if (!has(Globals, name)) Globals[name] = [];\n Globals[name].push({\n ...createDescriptor(polyfillName, version, pkg, subfolder),\n exclude,\n nameHint: name,\n });\n}\n\nfunction defineStatic(\n object,\n property,\n version,\n { pkg, subfolder }: { pkg?: string; subfolder?: string } = {},\n) {\n if (!has(StaticProperties, object)) StaticProperties[object] = {};\n\n StaticProperties[object][property] = [\n createDescriptor(`${object}.${property}`, version, pkg, subfolder),\n ];\n}\n\nfunction defineInstance(\n object,\n property,\n version,\n thisCheck,\n {\n getter = false,\n exclude,\n pkg,\n subfolder,\n }: {\n getter?: boolean;\n exclude?: ExcludeFilter;\n pkg?: string;\n subfolder?: string;\n } = {},\n) {\n if (!has(InstanceProperties, property)) InstanceProperties[property] = [];\n\n InstanceProperties[property].push({\n ...createDescriptor(\n `${object}.prototype.${property}`,\n version,\n pkg,\n subfolder,\n ),\n thisCheck,\n exclude,\n getter,\n });\n}\n","import defineProvider, {\n type Utils,\n type MetaDescriptor,\n} from \"@babel/helper-define-polyfill-provider\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport polyfills from \"../data/polyfills.js\";\n\nimport {\n type Descriptor,\n Globals,\n StaticProperties,\n InstanceProperties,\n} from \"./mappings\";\n\nexport default defineProvider<{}>(function ({\n shouldInjectPolyfill,\n assertDependency,\n createMetaResolver,\n debug,\n babel: { template, types: t },\n}) {\n const expr = template.expression.ast;\n\n const resolvePolyfill = createMetaResolver<Descriptor[]>({\n global: Globals,\n static: StaticProperties,\n instance: InstanceProperties,\n });\n\n function createDescIterator(\n cb: (desc: Descriptor, utils: Utils, path: NodePath) => void,\n instance?: (\n meta: MetaDescriptor,\n resolved: any,\n utils: Utils,\n path: any,\n ) => void,\n ) {\n return (meta: MetaDescriptor, utils: Utils, path: NodePath) => {\n if (path.parentPath.isUnaryExpression({ operator: \"delete\" })) return;\n\n const resolved = resolvePolyfill(meta);\n if (!resolved) return;\n\n if (instance && resolved.kind === \"instance\") {\n instance(meta, resolved, utils, path);\n return;\n }\n\n for (const desc of resolved.desc) {\n if (!desc.exclude?.(meta, path) && shouldInjectPolyfill(desc.name)) {\n cb(desc, utils, path);\n\n // Since global and static polyfills are unambiguous, we only need to\n // inject the first non-excluded one.\n if (resolved.kind !== \"instance\") {\n break;\n }\n }\n }\n };\n }\n\n function injectDefault(desc, utils) {\n assertDependency(desc.package, desc.version);\n debug(desc.name);\n\n return utils.injectDefaultImport(desc.path, desc.nameHint || desc.name);\n }\n\n const seen = new WeakSet();\n\n return {\n name: \"es-shims\",\n polyfills,\n\n usageGlobal: createDescIterator((desc, utils) => {\n if (desc.global === false) return;\n\n assertDependency(desc.package, desc.version);\n\n utils.injectGlobalImport(`${desc.path}/auto`);\n\n debug(desc.name);\n }),\n\n usagePure: createDescIterator(\n (desc, utils, path) => {\n path.replaceWith(injectDefault(desc, utils));\n },\n (meta, resolved, utils, path) => {\n if (meta.kind !== \"property\") return;\n if (path.parentPath.isAssignmentExpression({ left: path.node })) return;\n\n if (seen.has(path.node)) return;\n seen.add(path.node);\n\n const isCall = path.parentPath.isCallExpression({ callee: path.node });\n const isGetter = resolved.desc[0].getter;\n\n const matchesPolyfill = ({ name }) =>\n name.startsWith(meta.object as any as string);\n\n let index = -1;\n if (\n // This is the actual method for sure.\n meta.kind === \"property\" &&\n meta.placement === \"prototype\" &&\n meta.object != null &&\n (index = resolved.desc.findIndex(matchesPolyfill)) !== -1\n ) {\n const desc = resolved.desc[index];\n if (!shouldInjectPolyfill(desc.name)) return;\n\n const id = injectDefault(desc, utils);\n\n if (isGetter) {\n path.replaceWith(expr`${id}(${path.node.object})`);\n } else if (isCall) {\n path.parentPath.unshiftContainer(\"arguments\", path.node.object);\n path.replaceWith(id);\n } else if (\n path.parentPath.isMemberExpression({\n object: path.node,\n computed: false,\n }) &&\n path.parent.property.name === \"call\" &&\n path.parentPath.parentPath.isCallExpression({ callee: path.parent })\n ) {\n path.parentPath.replaceWith(id);\n } else {\n path.replaceWith(expr`${id}.getPolyfill()`);\n }\n } else {\n let tmp;\n let parent;\n let replacement = path.node;\n const { object } = path.node;\n\n for (const desc of resolved.desc) {\n const { thisCheck } = desc;\n if (\n !thisCheck ||\n desc.exclude?.(meta) ||\n !shouldInjectPolyfill(desc.name)\n ) {\n continue;\n }\n\n if (!tmp) {\n tmp = path.scope.generateUidIdentifierBasedOnNode(object);\n path.scope.push({ id: t.cloneNode(tmp) });\n path.get(\"object\").replaceWith(tmp);\n }\n\n const id = injectDefault(desc, utils);\n\n replacement = t.conditionalExpression(\n thisCheck(t.cloneNode(tmp)),\n isGetter\n ? expr`${id}(${t.cloneNode(tmp)})`\n : isCall\n ? id\n : expr`${id}.getPolyfill()`,\n replacement,\n );\n\n parent = parent ?? replacement;\n }\n\n if (!parent) return;\n\n replacement = expr`(${t.cloneNode(tmp)} = ${object}, ${replacement})`;\n\n if (!isGetter && isCall) {\n parent.alternate = expr`Function.call.bind(${parent.alternate})`;\n path.parentPath.unshiftContainer(\"arguments\", t.cloneNode(tmp));\n }\n\n path.replaceWith(replacement);\n }\n },\n ),\n };\n});\n"],"names":["types","t","template","expr","expression","ast","has","Function","call","bind","Object","hasOwnProperty","Globals","StaticProperties","InstanceProperties","lessThanArgs","num","meta","path","node","parent","isNewExpression","callee","arguments","length","every","arg","isSpreadElement","name","causeArgNum","defineGlobal","exclude","subfolder","polyfillName","DATE_VERSION","arrayCheck","thisObj","typeofCheck","type","instanceofCheck","Class","identifier","stringCheck","getter","excludeStatic","obj","kind","placement","object","excludeObject","defineStatic","defineInstance","pkg","createDescriptor","version","toLowerCase","package","push","nameHint","property","thisCheck","defineProvider","shouldInjectPolyfill","assertDependency","createMetaResolver","debug","babel","resolvePolyfill","global","static","instance","createDescIterator","cb","utils","parentPath","isUnaryExpression","operator","resolved","desc","injectDefault","injectDefaultImport","seen","WeakSet","polyfills","usageGlobal","injectGlobalImport","usagePure","replaceWith","isAssignmentExpression","left","add","isCall","isCallExpression","isGetter","matchesPolyfill","startsWith","index","findIndex","id","unshiftContainer","isMemberExpression","computed","tmp","replacement","scope","generateUidIdentifierBasedOnNode","cloneNode","get","conditionalExpression","alternate"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/mappings.ts","../src/index.ts"],"sourcesContent":["import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type { MetaDescriptor } from \"@babel/helper-define-polyfill-provider\";\n\nconst expr = template.expression.ast;\n\nconst has = Function.call.bind(Object.hasOwnProperty);\n\nexport type Descriptor = {\n name: string;\n version: string;\n package: string;\n path: string; // This is different from .package for multi-entry-point packages,\n pure?: false;\n global?: false;\n thisCheck?: (thisObj: any) => any;\n exclude?: (meta: MetaDescriptor, path: NodePath) => boolean;\n getter?: true;\n};\n\nexport const Globals = {};\nexport const StaticProperties = {};\nexport const InstanceProperties = {};\n\nconst lessThanArgs = num => (meta, path: NodePath) => {\n const { node, parent } = path;\n if (!t.isNewExpression(parent, { callee: node })) return false;\n if (parent.arguments.length >= num) return false;\n return parent.arguments.every(arg => !t.isSpreadElement(arg));\n};\n\nfor (const [name, causeArgNum] of [\n [\"Error\", 2],\n [\"AggregateError\", 3],\n [\"EvalError\", 2],\n [\"RangeError\", 2],\n [\"ReferenceError\", 2],\n [\"SyntaxError\", 2],\n [\"TypeError\", 2],\n [\"URIError\", 2],\n] as [string, number][]) {\n defineGlobal(name, \"1.0.1\", \"error-cause\", {\n exclude: lessThanArgs(causeArgNum),\n subfolder: name,\n polyfillName: \"Error cause\",\n });\n}\n// This needs to come after the AggregateError cause polyfill, since this\n// one polyfills less features.\ndefineGlobal(\"AggregateError\", \"1.0.2\", \"es-aggregate-error\");\nconst DATE_VERSION = \"2.0.0\";\n// MISSING DATA: defineGlobal(\"Date\", DATE_VERSION, \"date\", { subfolder: \"Date\" });\ndefineGlobal(\"globalThis\", \"1.0.0\");\ndefineGlobal(\"parseInt\", \"2.0.0\");\n\ndefineGlobal(\"Map\", \"1.0.4\", \"es-map\");\ndefineGlobal(\"Set\", \"1.1.0\", \"es-set\");\n\nconst arrayCheck = thisObj => expr`Array.isArray(${thisObj})`;\nconst typeofCheck = type => thisObj => expr`typeof ${thisObj} === \"${type}\"`;\nconst instanceofCheck = Class => thisObj =>\n expr`${thisObj} instanceof ${t.identifier(Class)}`;\nconst stringCheck = typeofCheck(\"string\");\n// const setCheck = instanceofCheck(\"Set\");\n\nconst getter = { getter: true };\nconst excludeStatic = obj => ({\n exclude: meta =>\n meta.kind === \"property\" &&\n meta.placement === \"static\" &&\n meta.object === obj,\n});\nconst excludeObject = excludeStatic(\"Object\");\n\ndefineStatic(\"Array\", \"from\", \"1.1.0\");\ndefineStatic(\"Array\", \"of\", \"1.0.0\");\ndefineInstance(\"Array\", \"at\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"concat\", \"1.0.2\", arrayCheck);\ndefineInstance(\"Array\", \"copyWithin\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"entries\", \"1.0.0\", arrayCheck, excludeObject);\ndefineInstance(\"Array\", \"every\", \"1.1.0\", arrayCheck);\ndefineInstance(\"Array\", \"filter\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"find\", \"2.1.1\", arrayCheck);\ndefineInstance(\"Array\", \"findIndex\", \"2.1.0\", arrayCheck);\ndefineInstance(\"Array\", \"findLast\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"findLastIndex\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"flat\", \"1.2.3\", arrayCheck);\ndefineInstance(\"Array\", \"flatMap\", \"1.2.3\", arrayCheck);\ndefineInstance(\"Array\", \"includes\", \"3.1.1\", arrayCheck, {\n pkg: \"array-includes\",\n});\ndefineInstance(\"Array\", \"indexOf\", \"1.0.1\", arrayCheck);\n// MISSING DATA: defineInstance(\"Array\", \"join\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"keys\", \"1.0.0\", arrayCheck, excludeObject);\ndefineInstance(\"Array\", \"lastIndexOf\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"map\", \"1.0.2\", arrayCheck);\ndefineInstance(\"Array\", \"reduce\", \"1.0.1\", arrayCheck);\ndefineInstance(\"Array\", \"reduceRight\", \"1.0.1\", arrayCheck);\n// MISSING DATA: defineInstance(\"Array\", \"slice\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"some\", \"1.1.1\", arrayCheck);\ndefineInstance(\"Array\", \"splice\", \"1.0.1\", arrayCheck);\ndefineInstance(\"Array\", \"toReversed\", \"1.0.1\", arrayCheck);\ndefineInstance(\"Array\", \"toSorted\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"toSpliced\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"unshift\", \"1.0.0\", arrayCheck);\ndefineInstance(\"Array\", \"values\", \"1.0.0\", arrayCheck, excludeObject);\ndefineInstance(\"Array\", \"with\", \"1.0.1\", arrayCheck);\n\nfor (const name of [\n \"now\",\n // MISSING DATA: \"parse\"\n]) {\n defineStatic(\"Date\", name, DATE_VERSION, {\n pkg: \"date\",\n subfolder: `Date.${name}`,\n });\n}\nfor (const name of [\n // MISSING DATA: \"getFullYear\",\n // MISSING DATA: \"getMonth\",\n // MISSING DATA: \"getDate\",\n // MISSING DATA: \"getUTCDate\",\n // MISSING DATA: \"getUTCFullYear\",\n // MISSING DATA: \"getUTCMonth\",\n // MISSING DATA: \"toUTCString\",\n // MISSING DATA: \"toDateString\",\n // MISSING DATA: \"toString\",\n \"toISOString\",\n \"toJSON\",\n]) {\n defineInstance(\"Date\", name, DATE_VERSION, instanceofCheck(\"Date\"), {\n pkg: \"date\",\n subfolder: `Date.prototype.${name}`,\n });\n}\n\ndefineInstance(\"Function\", \"name\", \"1.1.2\", typeofCheck(\"function\"), getter);\n\ndefineStatic(\"Math\", \"acosh\", \"1.0.0\");\ndefineStatic(\"Math\", \"atanh\", \"1.0.0\");\ndefineStatic(\"Math\", \"clz32\", \"1.0.0\");\ndefineStatic(\"Math\", \"cbrt\", \"1.0.0\");\ndefineStatic(\"Math\", \"fround\", \"1.0.0\");\ndefineStatic(\"Math\", \"log1p\", \"1.0.1\");\ndefineStatic(\"Math\", \"sign\", \"2.0.0\");\n\ndefineStatic(\"Number\", \"isFinite\", \"1.0.0\");\ndefineStatic(\"Number\", \"isInteger\", \"1.0.0\");\ndefineStatic(\"Number\", \"isSafeInteger\", \"1.0.0\");\ndefineStatic(\"Number\", \"isNaN\", \"1.0.0\", { pkg: \"number.isnan\" });\ndefineStatic(\"Number\", \"parseFloat\", \"1.0.0\");\ndefineStatic(\"Number\", \"parseInt\", \"1.0.0\");\n\ndefineStatic(\"Object\", \"assign\", \"4.1.0\");\ndefineStatic(\"Object\", \"defineProperties\", \"1.0.0\");\ndefineStatic(\"Object\", \"entries\", \"1.1.1\");\ndefineStatic(\"Object\", \"fromEntries\", \"2.0.2\");\ndefineStatic(\"Object\", \"hasOwn\", \"1.0.0\");\ndefineStatic(\"Object\", \"is\", \"1.1.2\", { pkg: \"object-is\" });\ndefineStatic(\"Object\", \"getOwnPropertyDescriptors\", \"2.1.0\");\ndefineStatic(\"Object\", \"getPrototypeOf\", \"1.0.1\");\ndefineStatic(\"Object\", \"values\", \"1.1.1\");\n\ndefineStatic(\"Promise\", \"allSettled\", \"1.0.2\");\ndefineStatic(\"Promise\", \"any\", \"2.0.1\");\ndefineStatic(\"Promise\", \"try\", \"1.0.0\");\ndefineInstance(\"Promise\", \"finally\", \"1.2.1\", instanceofCheck(\"Promise\"));\n\ndefineStatic(\"Reflect\", \"apply\", \"1.0.0\");\ndefineStatic(\"Reflect\", \"ownKeys\", \"1.0.1\");\ndefineStatic(\"Reflect\", \"getPrototypeOf\", \"1.0.0\");\n\ndefineInstance(\"RegExp\", \"flags\", \"1.3.0\", instanceofCheck(\"RegExp\"), getter);\n\n// TODO: Uncomment when Stage 4\n// defineInstance(\"Set\", \"difference\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"intersection\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"isDisjointFrom\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"isSubsetOf\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"isSupersetOf\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"symmetricDifference\", \"1.0.2\", setCheck);\n// defineInstance(\"Set\", \"union\", \"1.0.2\", setCheck);\n\ndefineStatic(\"String\", \"fromCodePoint\", \"1.0.0\");\ndefineStatic(\"String\", \"raw\", \"1.0.1\");\ndefineInstance(\"String\", \"codePoitAt\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"endsWith\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"includes\", \"2.0.0\", stringCheck);\ndefineInstance(\"String\", \"at\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"matchAll\", \"4.0.2\", stringCheck);\ndefineInstance(\"String\", \"padEnd\", \"1.1.1\", stringCheck);\ndefineInstance(\"String\", \"padStart\", \"3.1.0\", stringCheck);\ndefineInstance(\"String\", \"repeat\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"replaceAll\", \"1.0.3\", stringCheck);\ndefineInstance(\n \"String\",\n \"split\",\n \"1.0.1\",\n stringCheck,\n excludeStatic(\"Symbol\"),\n);\ndefineInstance(\"String\", \"startsWith\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"substr\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"trim\", \"1.2.1\", stringCheck);\ndefineInstance(\"String\", \"trimEnd\", \"1.0.0\", stringCheck);\ndefineInstance(\"String\", \"trimLeft\", \"2.1.1\", stringCheck);\ndefineInstance(\"String\", \"trimRight\", \"2.1.1\", stringCheck);\ndefineInstance(\"String\", \"trimStart\", \"1.0.0\", stringCheck);\n\ndefineInstance(\n \"Symbol\",\n \"description\",\n \"1.0.2\",\n instanceofCheck(\"Symbol\"),\n getter,\n);\n\n// Annex B\nfor (const name of [\n \"anchor\",\n \"big\",\n \"blink\",\n \"bold\",\n \"fixed\",\n \"fontcolor\",\n \"fontsize\",\n \"italics\",\n \"link\",\n \"small\",\n \"strike\",\n \"sub\",\n \"sup\",\n]) {\n defineInstance(\"String\", name, \"1.0.0\", stringCheck, {\n pkg: `es-string-html-methods`,\n subfolder: name,\n });\n}\n\nfunction createDescriptor(name, version, pkg = name.toLowerCase(), subfolder?) {\n return {\n name,\n version,\n package: pkg,\n path: subfolder ? `${pkg}/${subfolder}` : pkg,\n };\n}\n\ntype ExcludeFilter = (meta: MetaDescriptor, path: NodePath) => boolean;\n\nfunction defineGlobal(\n name,\n version,\n pkg?,\n {\n exclude,\n subfolder,\n polyfillName = name,\n }: {\n exclude?: ExcludeFilter;\n subfolder?: string;\n polyfillName?: string;\n } = {},\n) {\n if (!has(Globals, name)) Globals[name] = [];\n Globals[name].push({\n ...createDescriptor(polyfillName, version, pkg, subfolder),\n exclude,\n nameHint: name,\n });\n}\n\nfunction defineStatic(\n object,\n property,\n version,\n { pkg, subfolder }: { pkg?: string; subfolder?: string } = {},\n) {\n if (!has(StaticProperties, object)) StaticProperties[object] = {};\n\n StaticProperties[object][property] = [\n createDescriptor(`${object}.${property}`, version, pkg, subfolder),\n ];\n}\n\nfunction defineInstance(\n object,\n property,\n version,\n thisCheck,\n {\n getter = false,\n exclude,\n pkg,\n subfolder,\n }: {\n getter?: boolean;\n exclude?: ExcludeFilter;\n pkg?: string;\n subfolder?: string;\n } = {},\n) {\n if (!has(InstanceProperties, property)) InstanceProperties[property] = [];\n\n InstanceProperties[property].push({\n ...createDescriptor(\n `${object}.prototype.${property}`,\n version,\n pkg,\n subfolder,\n ),\n thisCheck,\n exclude,\n getter,\n });\n}\n","import defineProvider, {\n type Utils,\n type MetaDescriptor,\n} from \"@babel/helper-define-polyfill-provider\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport polyfills from \"../data/polyfills.js\";\n\nimport {\n type Descriptor,\n Globals,\n StaticProperties,\n InstanceProperties,\n} from \"./mappings\";\n\nexport default defineProvider<{}>(function ({\n shouldInjectPolyfill,\n assertDependency,\n createMetaResolver,\n debug,\n babel: { template, types: t },\n}) {\n const expr = template.expression.ast;\n\n const resolvePolyfill = createMetaResolver<Descriptor[]>({\n global: Globals,\n static: StaticProperties,\n instance: InstanceProperties,\n });\n\n function createDescIterator(\n cb: (desc: Descriptor, utils: Utils, path: NodePath) => void,\n instance?: (\n meta: MetaDescriptor,\n resolved: any,\n utils: Utils,\n path: any,\n ) => void,\n ) {\n return (meta: MetaDescriptor, utils: Utils, path: NodePath) => {\n if (path.parentPath.isUnaryExpression({ operator: \"delete\" })) return;\n\n const resolved = resolvePolyfill(meta);\n if (!resolved) return;\n\n if (instance && resolved.kind === \"instance\") {\n instance(meta, resolved, utils, path);\n return;\n }\n\n for (const desc of resolved.desc) {\n if (!desc.exclude?.(meta, path) && shouldInjectPolyfill(desc.name)) {\n cb(desc, utils, path);\n\n // Since global and static polyfills are unambiguous, we only need to\n // inject the first non-excluded one.\n if (resolved.kind !== \"instance\") {\n break;\n }\n }\n }\n };\n }\n\n function injectDefault(desc, utils) {\n assertDependency(desc.package, desc.version);\n debug(desc.name);\n\n return utils.injectDefaultImport(desc.path, desc.nameHint || desc.name);\n }\n\n const seen = new WeakSet();\n\n return {\n name: \"es-shims\",\n polyfills,\n\n usageGlobal: createDescIterator((desc, utils) => {\n if (desc.global === false) return;\n\n assertDependency(desc.package, desc.version);\n\n utils.injectGlobalImport(`${desc.path}/auto`);\n\n debug(desc.name);\n }),\n\n usagePure: createDescIterator(\n (desc, utils, path) => {\n path.replaceWith(injectDefault(desc, utils));\n },\n (meta, resolved, utils, path) => {\n if (meta.kind !== \"property\") return;\n if (path.parentPath.isAssignmentExpression({ left: path.node })) return;\n\n if (seen.has(path.node)) return;\n seen.add(path.node);\n\n const isCall = path.parentPath.isCallExpression({ callee: path.node });\n const isGetter = resolved.desc[0].getter;\n\n const matchesPolyfill = ({ name }) =>\n name.startsWith(meta.object as any as string);\n\n let index = -1;\n if (\n // This is the actual method for sure.\n meta.kind === \"property\" &&\n meta.placement === \"prototype\" &&\n meta.object != null &&\n (index = resolved.desc.findIndex(matchesPolyfill)) !== -1\n ) {\n const desc = resolved.desc[index];\n if (!shouldInjectPolyfill(desc.name)) return;\n\n const id = injectDefault(desc, utils);\n\n if (isGetter) {\n path.replaceWith(expr`${id}(${path.node.object})`);\n } else if (isCall) {\n path.parentPath.unshiftContainer(\"arguments\", path.node.object);\n path.replaceWith(id);\n } else if (\n path.parentPath.isMemberExpression({\n object: path.node,\n computed: false,\n }) &&\n path.parent.property.name === \"call\" &&\n path.parentPath.parentPath.isCallExpression({ callee: path.parent })\n ) {\n path.parentPath.replaceWith(id);\n } else {\n path.replaceWith(expr`${id}.getPolyfill()`);\n }\n } else {\n let tmp;\n let parent;\n let replacement = path.node;\n const { object } = path.node;\n\n for (const desc of resolved.desc) {\n const { thisCheck } = desc;\n if (\n !thisCheck ||\n desc.exclude?.(meta) ||\n !shouldInjectPolyfill(desc.name)\n ) {\n continue;\n }\n\n if (!tmp) {\n tmp = path.scope.generateUidIdentifierBasedOnNode(object);\n path.scope.push({ id: t.cloneNode(tmp) });\n path.get(\"object\").replaceWith(tmp);\n }\n\n const id = injectDefault(desc, utils);\n\n replacement = t.conditionalExpression(\n thisCheck(t.cloneNode(tmp)),\n isGetter\n ? expr`${id}(${t.cloneNode(tmp)})`\n : isCall\n ? id\n : expr`${id}.getPolyfill()`,\n replacement,\n );\n\n parent = parent ?? replacement;\n }\n\n if (!parent) return;\n\n replacement = expr`(${t.cloneNode(tmp)} = ${object}, ${replacement})`;\n\n if (!isGetter && isCall) {\n parent.alternate = expr`Function.call.bind(${parent.alternate})`;\n path.parentPath.unshiftContainer(\"arguments\", t.cloneNode(tmp));\n }\n\n path.replaceWith(replacement);\n }\n },\n ),\n };\n});\n"],"names":["types","t","template","_babel","default","expr","expression","ast","has","Function","call","bind","Object","hasOwnProperty","Globals","StaticProperties","InstanceProperties","lessThanArgs","num","meta","path","node","parent","isNewExpression","callee","arguments","length","every","arg","isSpreadElement","name","causeArgNum","defineGlobal","exclude","subfolder","polyfillName","DATE_VERSION","arrayCheck","thisObj","typeofCheck","type","instanceofCheck","Class","identifier","stringCheck","getter","excludeStatic","obj","kind","placement","object","excludeObject","defineStatic","defineInstance","pkg","createDescriptor","version","toLowerCase","package","push","nameHint","property","thisCheck","defineProvider","shouldInjectPolyfill","assertDependency","createMetaResolver","debug","babel","resolvePolyfill","global","static","instance","createDescIterator","cb","utils","parentPath","isUnaryExpression","operator","resolved","desc","injectDefault","injectDefaultImport","seen","WeakSet","polyfills","usageGlobal","injectGlobalImport","usagePure","replaceWith","isAssignmentExpression","left","add","isCall","isCallExpression","isGetter","matchesPolyfill","startsWith","index","findIndex","id","unshiftContainer","isMemberExpression","computed","tmp","replacement","_parent","scope","generateUidIdentifierBasedOnNode","cloneNode","get","conditionalExpression","alternate"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -2,15 +2,10 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
-
6
5
  var _helperDefinePolyfillProvider = _interopRequireDefault(require("@babel/helper-define-polyfill-provider"));
7
-
8
6
  var _polyfills = _interopRequireDefault(require("../data/polyfills.js"));
9
-
10
7
  var _mappings = require("./mappings");
11
-
12
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
9
  var _default = (0, _helperDefinePolyfillProvider.default)(function ({
15
10
  shouldInjectPolyfill,
16
11
  assertDependency,
@@ -27,7 +22,6 @@ var _default = (0, _helperDefinePolyfillProvider.default)(function ({
27
22
  static: _mappings.StaticProperties,
28
23
  instance: _mappings.InstanceProperties
29
24
  });
30
-
31
25
  function createDescIterator(cb, instance) {
32
26
  return (meta, utils, path) => {
33
27
  if (path.parentPath.isUnaryExpression({
@@ -35,17 +29,16 @@ var _default = (0, _helperDefinePolyfillProvider.default)(function ({
35
29
  })) return;
36
30
  const resolved = resolvePolyfill(meta);
37
31
  if (!resolved) return;
38
-
39
32
  if (instance && resolved.kind === "instance") {
40
33
  instance(meta, resolved, utils, path);
41
34
  return;
42
35
  }
43
-
44
36
  for (const desc of resolved.desc) {
45
37
  if (!(desc.exclude != null && desc.exclude(meta, path)) && shouldInjectPolyfill(desc.name)) {
46
- cb(desc, utils, path); // Since global and static polyfills are unambiguous, we only need to
47
- // inject the first non-excluded one.
38
+ cb(desc, utils, path);
48
39
 
40
+ // Since global and static polyfills are unambiguous, we only need to
41
+ // inject the first non-excluded one.
49
42
  if (resolved.kind !== "instance") {
50
43
  break;
51
44
  }
@@ -53,13 +46,11 @@ var _default = (0, _helperDefinePolyfillProvider.default)(function ({
53
46
  }
54
47
  };
55
48
  }
56
-
57
49
  function injectDefault(desc, utils) {
58
50
  assertDependency(desc.package, desc.version);
59
51
  debug(desc.name);
60
52
  return utils.injectDefaultImport(desc.path, desc.nameHint || desc.name);
61
53
  }
62
-
63
54
  const seen = new WeakSet();
64
55
  return {
65
56
  name: "es-shims",
@@ -83,19 +74,16 @@ var _default = (0, _helperDefinePolyfillProvider.default)(function ({
83
74
  callee: path.node
84
75
  });
85
76
  const isGetter = resolved.desc[0].getter;
86
-
87
77
  const matchesPolyfill = ({
88
78
  name
89
79
  }) => name.startsWith(meta.object);
90
-
91
80
  let index = -1;
92
-
93
- if ( // This is the actual method for sure.
81
+ if (
82
+ // This is the actual method for sure.
94
83
  meta.kind === "property" && meta.placement === "prototype" && meta.object != null && (index = resolved.desc.findIndex(matchesPolyfill)) !== -1) {
95
84
  const desc = resolved.desc[index];
96
85
  if (!shouldInjectPolyfill(desc.name)) return;
97
86
  const id = injectDefault(desc, utils);
98
-
99
87
  if (isGetter) {
100
88
  path.replaceWith(expr`${id}(${path.node.object})`);
101
89
  } else if (isCall) {
@@ -118,18 +106,14 @@ var _default = (0, _helperDefinePolyfillProvider.default)(function ({
118
106
  const {
119
107
  object
120
108
  } = path.node;
121
-
122
109
  for (const desc of resolved.desc) {
123
110
  var _parent;
124
-
125
111
  const {
126
112
  thisCheck
127
113
  } = desc;
128
-
129
114
  if (!thisCheck || desc.exclude != null && desc.exclude(meta) || !shouldInjectPolyfill(desc.name)) {
130
115
  continue;
131
116
  }
132
-
133
117
  if (!tmp) {
134
118
  tmp = path.scope.generateUidIdentifierBasedOnNode(object);
135
119
  path.scope.push({
@@ -137,24 +121,19 @@ var _default = (0, _helperDefinePolyfillProvider.default)(function ({
137
121
  });
138
122
  path.get("object").replaceWith(tmp);
139
123
  }
140
-
141
124
  const id = injectDefault(desc, utils);
142
125
  replacement = t.conditionalExpression(thisCheck(t.cloneNode(tmp)), isGetter ? expr`${id}(${t.cloneNode(tmp)})` : isCall ? id : expr`${id}.getPolyfill()`, replacement);
143
126
  parent = (_parent = parent) != null ? _parent : replacement;
144
127
  }
145
-
146
128
  if (!parent) return;
147
129
  replacement = expr`(${t.cloneNode(tmp)} = ${object}, ${replacement})`;
148
-
149
130
  if (!isGetter && isCall) {
150
131
  parent.alternate = expr`Function.call.bind(${parent.alternate})`;
151
132
  path.parentPath.unshiftContainer("arguments", t.cloneNode(tmp));
152
133
  }
153
-
154
134
  path.replaceWith(replacement);
155
135
  }
156
136
  })
157
137
  };
158
138
  });
159
-
160
139
  exports.default = _default;
package/lib/mappings.js CHANGED
@@ -2,15 +2,10 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.StaticProperties = exports.InstanceProperties = exports.Globals = void 0;
5
-
6
5
  var _babel = _interopRequireWildcard(require("@babel/core"));
7
-
8
6
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
-
10
7
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
-
12
8
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
-
14
9
  const {
15
10
  types: t,
16
11
  template: template
@@ -23,7 +18,6 @@ const StaticProperties = {};
23
18
  exports.StaticProperties = StaticProperties;
24
19
  const InstanceProperties = {};
25
20
  exports.InstanceProperties = InstanceProperties;
26
-
27
21
  const lessThanArgs = num => (meta, path) => {
28
22
  const {
29
23
  node,
@@ -35,41 +29,34 @@ const lessThanArgs = num => (meta, path) => {
35
29
  if (parent.arguments.length >= num) return false;
36
30
  return parent.arguments.every(arg => !t.isSpreadElement(arg));
37
31
  };
38
-
39
32
  for (const [name, causeArgNum] of [["Error", 2], ["AggregateError", 3], ["EvalError", 2], ["RangeError", 2], ["ReferenceError", 2], ["SyntaxError", 2], ["TypeError", 2], ["URIError", 2]]) {
40
33
  defineGlobal(name, "1.0.1", "error-cause", {
41
34
  exclude: lessThanArgs(causeArgNum),
42
35
  subfolder: name,
43
36
  polyfillName: "Error cause"
44
37
  });
45
- } // This needs to come after the AggregateError cause polyfill, since this
38
+ }
39
+ // This needs to come after the AggregateError cause polyfill, since this
46
40
  // one polyfills less features.
47
-
48
-
49
41
  defineGlobal("AggregateError", "1.0.2", "es-aggregate-error");
50
- const DATE_VERSION = "2.0.0"; // MISSING DATA: defineGlobal("Date", DATE_VERSION, "date", { subfolder: "Date" });
51
-
42
+ const DATE_VERSION = "2.0.0";
43
+ // MISSING DATA: defineGlobal("Date", DATE_VERSION, "date", { subfolder: "Date" });
52
44
  defineGlobal("globalThis", "1.0.0");
53
45
  defineGlobal("parseInt", "2.0.0");
54
46
  defineGlobal("Map", "1.0.4", "es-map");
55
47
  defineGlobal("Set", "1.1.0", "es-set");
56
-
57
48
  const arrayCheck = thisObj => expr`Array.isArray(${thisObj})`;
58
-
59
49
  const typeofCheck = type => thisObj => expr`typeof ${thisObj} === "${type}"`;
60
-
61
50
  const instanceofCheck = Class => thisObj => expr`${thisObj} instanceof ${t.identifier(Class)}`;
62
-
63
- const stringCheck = typeofCheck("string"); // const setCheck = instanceofCheck("Set");
51
+ const stringCheck = typeofCheck("string");
52
+ // const setCheck = instanceofCheck("Set");
64
53
 
65
54
  const getter = {
66
55
  getter: true
67
56
  };
68
-
69
57
  const excludeStatic = obj => ({
70
58
  exclude: meta => meta.kind === "property" && meta.placement === "static" && meta.object === obj
71
59
  });
72
-
73
60
  const excludeObject = excludeStatic("Object");
74
61
  defineStatic("Array", "from", "1.1.0");
75
62
  defineStatic("Array", "of", "1.0.0");
@@ -88,14 +75,14 @@ defineInstance("Array", "flatMap", "1.2.3", arrayCheck);
88
75
  defineInstance("Array", "includes", "3.1.1", arrayCheck, {
89
76
  pkg: "array-includes"
90
77
  });
91
- defineInstance("Array", "indexOf", "1.0.1", arrayCheck); // MISSING DATA: defineInstance("Array", "join", "1.0.0", arrayCheck);
92
-
78
+ defineInstance("Array", "indexOf", "1.0.1", arrayCheck);
79
+ // MISSING DATA: defineInstance("Array", "join", "1.0.0", arrayCheck);
93
80
  defineInstance("Array", "keys", "1.0.0", arrayCheck, excludeObject);
94
81
  defineInstance("Array", "lastIndexOf", "1.0.0", arrayCheck);
95
82
  defineInstance("Array", "map", "1.0.2", arrayCheck);
96
83
  defineInstance("Array", "reduce", "1.0.1", arrayCheck);
97
- defineInstance("Array", "reduceRight", "1.0.1", arrayCheck); // MISSING DATA: defineInstance("Array", "slice", "1.0.0", arrayCheck);
98
-
84
+ defineInstance("Array", "reduceRight", "1.0.1", arrayCheck);
85
+ // MISSING DATA: defineInstance("Array", "slice", "1.0.0", arrayCheck);
99
86
  defineInstance("Array", "some", "1.1.1", arrayCheck);
100
87
  defineInstance("Array", "splice", "1.0.1", arrayCheck);
101
88
  defineInstance("Array", "toReversed", "1.0.1", arrayCheck);
@@ -104,16 +91,16 @@ defineInstance("Array", "toSpliced", "1.0.0", arrayCheck);
104
91
  defineInstance("Array", "unshift", "1.0.0", arrayCheck);
105
92
  defineInstance("Array", "values", "1.0.0", arrayCheck, excludeObject);
106
93
  defineInstance("Array", "with", "1.0.1", arrayCheck);
107
-
108
- for (const name of ["now" // MISSING DATA: "parse"
94
+ for (const name of ["now"
95
+ // MISSING DATA: "parse"
109
96
  ]) {
110
97
  defineStatic("Date", name, DATE_VERSION, {
111
98
  pkg: "date",
112
99
  subfolder: `Date.${name}`
113
100
  });
114
101
  }
115
-
116
- for (const name of [// MISSING DATA: "getFullYear",
102
+ for (const name of [
103
+ // MISSING DATA: "getFullYear",
117
104
  // MISSING DATA: "getMonth",
118
105
  // MISSING DATA: "getDate",
119
106
  // MISSING DATA: "getUTCDate",
@@ -128,7 +115,6 @@ for (const name of [// MISSING DATA: "getFullYear",
128
115
  subfolder: `Date.prototype.${name}`
129
116
  });
130
117
  }
131
-
132
118
  defineInstance("Function", "name", "1.1.2", typeofCheck("function"), getter);
133
119
  defineStatic("Math", "acosh", "1.0.0");
134
120
  defineStatic("Math", "atanh", "1.0.0");
@@ -163,7 +149,9 @@ defineInstance("Promise", "finally", "1.2.1", instanceofCheck("Promise"));
163
149
  defineStatic("Reflect", "apply", "1.0.0");
164
150
  defineStatic("Reflect", "ownKeys", "1.0.1");
165
151
  defineStatic("Reflect", "getPrototypeOf", "1.0.0");
166
- defineInstance("RegExp", "flags", "1.3.0", instanceofCheck("RegExp"), getter); // TODO: Uncomment when Stage 4
152
+ defineInstance("RegExp", "flags", "1.3.0", instanceofCheck("RegExp"), getter);
153
+
154
+ // TODO: Uncomment when Stage 4
167
155
  // defineInstance("Set", "difference", "1.0.2", setCheck);
168
156
  // defineInstance("Set", "intersection", "1.0.2", setCheck);
169
157
  // defineInstance("Set", "isDisjointFrom", "1.0.2", setCheck);
@@ -191,15 +179,15 @@ defineInstance("String", "trimEnd", "1.0.0", stringCheck);
191
179
  defineInstance("String", "trimLeft", "2.1.1", stringCheck);
192
180
  defineInstance("String", "trimRight", "2.1.1", stringCheck);
193
181
  defineInstance("String", "trimStart", "1.0.0", stringCheck);
194
- defineInstance("Symbol", "description", "1.0.2", instanceofCheck("Symbol"), getter); // Annex B
182
+ defineInstance("Symbol", "description", "1.0.2", instanceofCheck("Symbol"), getter);
195
183
 
184
+ // Annex B
196
185
  for (const name of ["anchor", "big", "blink", "bold", "fixed", "fontcolor", "fontsize", "italics", "link", "small", "strike", "sub", "sup"]) {
197
186
  defineInstance("String", name, "1.0.0", stringCheck, {
198
187
  pkg: `es-string-html-methods`,
199
188
  subfolder: name
200
189
  });
201
190
  }
202
-
203
191
  function createDescriptor(name, version, pkg = name.toLowerCase(), subfolder) {
204
192
  return {
205
193
  name,
@@ -208,7 +196,6 @@ function createDescriptor(name, version, pkg = name.toLowerCase(), subfolder) {
208
196
  path: subfolder ? `${pkg}/${subfolder}` : pkg
209
197
  };
210
198
  }
211
-
212
199
  function defineGlobal(name, version, pkg, {
213
200
  exclude,
214
201
  subfolder,
@@ -220,7 +207,6 @@ function defineGlobal(name, version, pkg, {
220
207
  nameHint: name
221
208
  }));
222
209
  }
223
-
224
210
  function defineStatic(object, property, version, {
225
211
  pkg,
226
212
  subfolder
@@ -228,7 +214,6 @@ function defineStatic(object, property, version, {
228
214
  if (!has(StaticProperties, object)) StaticProperties[object] = {};
229
215
  StaticProperties[object][property] = [createDescriptor(`${object}.${property}`, version, pkg, subfolder)];
230
216
  }
231
-
232
217
  function defineInstance(object, property, version, thisCheck, {
233
218
  getter = false,
234
219
  exclude,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babel-plugin-polyfill-es-shims",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "A Babel plugin to inject imports to es-shims polyfills",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,16 +26,16 @@
26
26
  "babel-plugin"
27
27
  ],
28
28
  "dependencies": {
29
- "@babel/helper-define-polyfill-provider": "^0.4.0"
29
+ "@babel/helper-define-polyfill-provider": "^0.4.1"
30
30
  },
31
31
  "devDependencies": {
32
- "@babel/core": "^7.17.8",
33
- "@babel/helper-plugin-test-runner": "^7.16.7",
32
+ "@babel/core": "^7.22.6",
33
+ "@babel/helper-plugin-test-runner": "^7.22.5",
34
34
  "array.from": "^1.1.0",
35
35
  "math.clz32": "^1.0.0"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "@babel/core": "^7.0.0-0"
39
39
  },
40
- "gitHead": "391a1f4049fe1d6943ca8e91cf7e2e23f3f1ef73"
40
+ "gitHead": "74956db5d547985ac8e60bf1af56f4c61af12e4e"
41
41
  }