@jsenv/core 36.2.1 → 36.3.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.
Files changed (124) hide show
  1. package/dist/babel_helpers/AsyncGenerator/AsyncGenerator.js +45 -35
  2. package/dist/babel_helpers/AwaitValue/AwaitValue.js +3 -3
  3. package/dist/babel_helpers/applyDecoratedDescriptor/applyDecoratedDescriptor.js +13 -13
  4. package/dist/babel_helpers/applyDecs/applyDecs.js +227 -42
  5. package/dist/babel_helpers/applyDecs2203/applyDecs2203.js +559 -418
  6. package/dist/babel_helpers/applyDecs2203R/applyDecs2203R.js +235 -87
  7. package/dist/babel_helpers/applyDecs2301/applyDecs2301.js +591 -456
  8. package/dist/babel_helpers/applyDecs2305/applyDecs2305.js +681 -0
  9. package/dist/babel_helpers/arrayLikeToArray/arrayLikeToArray.js +5 -5
  10. package/dist/babel_helpers/arrayWithHoles/arrayWithHoles.js +3 -3
  11. package/dist/babel_helpers/arrayWithoutHoles/arrayWithoutHoles.js +4 -4
  12. package/dist/babel_helpers/assertThisInitialized/assertThisInitialized.js +4 -4
  13. package/dist/babel_helpers/asyncGeneratorDelegate/asyncGeneratorDelegate.js +12 -4
  14. package/dist/babel_helpers/asyncIterator/asyncIterator.js +13 -11
  15. package/dist/babel_helpers/asyncToGenerator/asyncToGenerator.js +18 -17
  16. package/dist/babel_helpers/awaitAsyncGenerator/awaitAsyncGenerator.js +2 -1
  17. package/dist/babel_helpers/checkInRHS/checkInRHS.js +8 -5
  18. package/dist/babel_helpers/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +7 -7
  19. package/dist/babel_helpers/classApplyDescriptorGet/classApplyDescriptorGet.js +3 -3
  20. package/dist/babel_helpers/classApplyDescriptorSet/classApplyDescriptorSet.js +4 -4
  21. package/dist/babel_helpers/classCallCheck/classCallCheck.js +2 -2
  22. package/dist/babel_helpers/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +2 -2
  23. package/dist/babel_helpers/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +2 -2
  24. package/dist/babel_helpers/classExtractFieldDescriptor/classExtractFieldDescriptor.js +3 -3
  25. package/dist/babel_helpers/classNameTDZError/classNameTDZError.js +2 -2
  26. package/dist/babel_helpers/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +6 -5
  27. package/dist/babel_helpers/classPrivateFieldGet/classPrivateFieldGet.js +6 -5
  28. package/dist/babel_helpers/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +3 -3
  29. package/dist/babel_helpers/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +3 -3
  30. package/dist/babel_helpers/classPrivateFieldSet/classPrivateFieldSet.js +7 -6
  31. package/dist/babel_helpers/classPrivateMethodGet/classPrivateMethodGet.js +3 -3
  32. package/dist/babel_helpers/classPrivateMethodSet/classPrivateMethodSet.js +2 -2
  33. package/dist/babel_helpers/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +8 -7
  34. package/dist/babel_helpers/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +15 -9
  35. package/dist/babel_helpers/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +5 -4
  36. package/dist/babel_helpers/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +2 -2
  37. package/dist/babel_helpers/construct/construct.js +10 -9
  38. package/dist/babel_helpers/createClass/createClass.js +2 -3
  39. package/dist/babel_helpers/createForOfIteratorHelper/createForOfIteratorHelper.js +30 -29
  40. package/dist/babel_helpers/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +18 -16
  41. package/dist/babel_helpers/createRawReactElement/createRawReactElement.js +23 -17
  42. package/dist/babel_helpers/createSuper/createSuper.js +14 -12
  43. package/dist/babel_helpers/decorate/decorate.js +242 -210
  44. package/dist/babel_helpers/defaults/defaults.js +6 -6
  45. package/dist/babel_helpers/defineAccessor/defineAccessor.js +1 -4
  46. package/dist/babel_helpers/defineEnumerableProperties/defineEnumerableProperties.js +12 -12
  47. package/dist/babel_helpers/defineProperty/defineProperty.js +7 -6
  48. package/dist/babel_helpers/extends/extends.js +5 -4
  49. package/dist/babel_helpers/get/get.js +2 -1
  50. package/dist/babel_helpers/getPrototypeOf/getPrototypeOf.js +4 -3
  51. package/dist/babel_helpers/inherits/inherits.js +3 -4
  52. package/dist/babel_helpers/inheritsLoose/inheritsLoose.js +6 -5
  53. package/dist/babel_helpers/initializerDefineProperty/initializerDefineProperty.js +4 -4
  54. package/dist/babel_helpers/initializerWarningHelper/initializerWarningHelper.js +5 -2
  55. package/dist/babel_helpers/instanceof/instanceof.js +3 -3
  56. package/dist/babel_helpers/interopRequireDefault/interopRequireDefault.js +2 -4
  57. package/dist/babel_helpers/interopRequireWildcard/interopRequireWildcard.js +19 -21
  58. package/dist/babel_helpers/isNativeFunction/isNativeFunction.js +2 -2
  59. package/dist/babel_helpers/isNativeReflectConstruct/isNativeReflectConstruct.js +7 -7
  60. package/dist/babel_helpers/iterableToArray/iterableToArray.js +6 -2
  61. package/dist/babel_helpers/iterableToArrayLimit/iterableToArrayLimit.js +6 -1
  62. package/dist/babel_helpers/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +6 -2
  63. package/dist/babel_helpers/jsx/jsx.js +14 -7
  64. package/dist/babel_helpers/maybeArrayLike/maybeArrayLike.js +6 -5
  65. package/dist/babel_helpers/newArrowCheck/newArrowCheck.js +2 -2
  66. package/dist/babel_helpers/nonIterableRest/nonIterableRest.js +5 -3
  67. package/dist/babel_helpers/nonIterableSpread/nonIterableSpread.js +5 -3
  68. package/dist/babel_helpers/objectDestructuringEmpty/objectDestructuringEmpty.js +2 -2
  69. package/dist/babel_helpers/objectSpread/objectSpread.js +15 -12
  70. package/dist/babel_helpers/objectSpread2/objectSpread2.js +7 -2
  71. package/dist/babel_helpers/objectWithoutProperties/objectWithoutProperties.js +15 -13
  72. package/dist/babel_helpers/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +11 -11
  73. package/dist/babel_helpers/possibleConstructorReturn/possibleConstructorReturn.js +7 -6
  74. package/dist/babel_helpers/readOnlyError/readOnlyError.js +2 -2
  75. package/dist/babel_helpers/regeneratorRuntime/regeneratorRuntime.js +124 -73
  76. package/dist/babel_helpers/set/set.js +23 -20
  77. package/dist/babel_helpers/setPrototypeOf/setPrototypeOf.js +6 -5
  78. package/dist/babel_helpers/skipFirstGeneratorNext/skipFirstGeneratorNext.js +5 -5
  79. package/dist/babel_helpers/slicedToArray/slicedToArray.js +10 -5
  80. package/dist/babel_helpers/slicedToArrayLoose/slicedToArrayLoose.js +12 -6
  81. package/dist/babel_helpers/superPropBase/superPropBase.js +6 -5
  82. package/dist/babel_helpers/taggedTemplateLiteral/taggedTemplateLiteral.js +7 -7
  83. package/dist/babel_helpers/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +4 -4
  84. package/dist/babel_helpers/tdz/tdz.js +2 -2
  85. package/dist/babel_helpers/temporalRef/temporalRef.js +5 -4
  86. package/dist/babel_helpers/temporalUndefined/temporalUndefined.js +1 -1
  87. package/dist/babel_helpers/toArray/toArray.js +10 -5
  88. package/dist/babel_helpers/toConsumableArray/toConsumableArray.js +10 -5
  89. package/dist/babel_helpers/toPrimitive/toPrimitive.js +7 -7
  90. package/dist/babel_helpers/toPropertyKey/toPropertyKey.js +5 -4
  91. package/dist/babel_helpers/typeof/typeof.js +14 -5
  92. package/dist/babel_helpers/unsupportedIterableToArray/unsupportedIterableToArray.js +10 -8
  93. package/dist/babel_helpers/wrapAsyncGenerator/wrapAsyncGenerator.js +5 -4
  94. package/dist/babel_helpers/wrapNativeSuper/wrapNativeSuper.js +17 -15
  95. package/dist/babel_helpers/wrapRegExp/wrapRegExp.js +19 -8
  96. package/dist/babel_helpers/writeOnlyError/writeOnlyError.js +2 -2
  97. package/dist/js/autoreload.js +148 -133
  98. package/dist/js/import_meta_hot.js +19 -13
  99. package/dist/js/inline_content.js +1 -3
  100. package/dist/js/new_stylesheet.js +119 -60
  101. package/dist/js/regenerator_runtime.js +204 -102
  102. package/dist/js/ribbon.js +11 -6
  103. package/dist/js/server_events_client.js +122 -98
  104. package/dist/js/ws.js +968 -265
  105. package/dist/jsenv_core.js +8513 -6162
  106. package/package.json +13 -12
  107. package/src/build/build.js +497 -486
  108. package/src/build/version_mappings_injection.js +21 -44
  109. package/src/kitchen/errors.js +2 -2
  110. package/src/kitchen/fetched_content_compliance.js +6 -2
  111. package/src/kitchen/kitchen.js +285 -80
  112. package/src/kitchen/prepend_content.js +135 -0
  113. package/src/kitchen/url_graph/url_graph_visitor.js +99 -0
  114. package/src/kitchen/url_graph/url_info_transformations.js +140 -21
  115. package/src/kitchen/url_graph.js +59 -29
  116. package/src/plugins/autoreload/jsenv_plugin_hmr.js +1 -2
  117. package/src/plugins/import_meta_hot/jsenv_plugin_import_meta_hot.js +2 -2
  118. package/src/plugins/importmap/jsenv_plugin_importmap.js +2 -2
  119. package/src/plugins/inlining/jsenv_plugin_inlining_as_data_url.js +1 -1
  120. package/src/plugins/reference_analysis/html/jsenv_plugin_html_reference_analysis.js +44 -23
  121. package/src/plugins/reference_analysis/js/jsenv_plugin_js_reference_analysis.js +2 -1
  122. package/dist/js/global_this_js_classic.js +0 -24
  123. package/dist/js/global_this_js_module.js +0 -20
  124. package/src/build/graph_utils.js +0 -34
@@ -37,7 +37,6 @@ const parseAndTransformHtmlReferences = async (
37
37
  context,
38
38
  { inlineContent, inlineConvertedScript },
39
39
  ) => {
40
- const url = urlInfo.originalUrl;
41
40
  const content = urlInfo.content;
42
41
  const htmlAst = parseHtmlString(content);
43
42
 
@@ -75,6 +74,7 @@ const parseAndTransformHtmlReferences = async (
75
74
  "modulepreload",
76
75
  ].includes(subtype);
77
76
  const [reference] = context.referenceUtils.found({
77
+ node,
78
78
  type,
79
79
  subtype,
80
80
  expectedType,
@@ -94,21 +94,13 @@ const parseAndTransformHtmlReferences = async (
94
94
  });
95
95
  });
96
96
  });
97
+ return reference;
97
98
  };
98
99
  const visitHref = (node, referenceProps) => {
99
100
  const href = getHtmlNodeAttribute(node, "href");
100
101
  if (href) {
101
102
  return createExternalReference(node, "href", href, referenceProps);
102
103
  }
103
- const inlinedFromHref = getHtmlNodeAttribute(node, "inlined-from-href");
104
- if (inlinedFromHref) {
105
- return createExternalReference(
106
- node,
107
- "inlined-from-href",
108
- new URL(inlinedFromHref, url).href,
109
- referenceProps,
110
- );
111
- }
112
104
  return null;
113
105
  };
114
106
  const visitSrc = (node, referenceProps) => {
@@ -116,15 +108,6 @@ const parseAndTransformHtmlReferences = async (
116
108
  if (src) {
117
109
  return createExternalReference(node, "src", src, referenceProps);
118
110
  }
119
- const inlinedFromSrc = getHtmlNodeAttribute(node, "inlined-from-src");
120
- if (inlinedFromSrc) {
121
- return createExternalReference(
122
- node,
123
- "inlined-from-src",
124
- new URL(inlinedFromSrc, url).href,
125
- referenceProps,
126
- );
127
- }
128
111
  return null;
129
112
  };
130
113
  const visitSrcset = (node, referenceProps) => {
@@ -146,7 +129,7 @@ const parseAndTransformHtmlReferences = async (
146
129
  const createInlineReference = (
147
130
  node,
148
131
  inlineContent,
149
- { extension, type, expectedType, contentType },
132
+ { extension, type, subtype, expectedType, contentType },
150
133
  ) => {
151
134
  const hotAccept = getHtmlNodeAttribute(node, "hot-accept") !== undefined;
152
135
  const { line, column, lineEnd, columnEnd, isOriginal } =
@@ -177,6 +160,35 @@ const parseAndTransformHtmlReferences = async (
177
160
  debug,
178
161
  },
179
162
  );
163
+
164
+ const externalSpecifierAttributeName =
165
+ type === "script"
166
+ ? "inlined-from-src"
167
+ : type === "style"
168
+ ? "inlined-from-href"
169
+ : null;
170
+ if (externalSpecifierAttributeName) {
171
+ const externalSpecifier = getHtmlNodeAttribute(
172
+ node,
173
+ externalSpecifierAttributeName,
174
+ );
175
+ if (externalSpecifier) {
176
+ // create an external ref
177
+ // the goal is only to have the url in the graph (and in dependencies/implitic urls for reload)
178
+ // not to consider the url is actually used (at least during build)
179
+ // maybe we can just exlcude these urls in a special if during build, we'll see
180
+ const externalRef = createExternalReference(
181
+ node,
182
+ externalSpecifierAttributeName,
183
+ externalSpecifier,
184
+ { type, subtype, expectedType },
185
+ );
186
+ inlineReference.prev = externalRef;
187
+ inlineReference.original = externalRef;
188
+ externalRef.next = inlineReference;
189
+ }
190
+ }
191
+
180
192
  actions.push(async () => {
181
193
  await cookInlineContent({
182
194
  context,
@@ -199,12 +211,11 @@ const parseAndTransformHtmlReferences = async (
199
211
  }
200
212
  });
201
213
  });
202
-
203
214
  return inlineReference;
204
215
  };
205
216
  const visitTextContent = (
206
217
  node,
207
- { extension, type, expectedType, contentType },
218
+ { extension, type, subtype, expectedType, contentType },
208
219
  ) => {
209
220
  const inlineContent = getHtmlNodeText(node);
210
221
  if (!inlineContent) {
@@ -213,6 +224,7 @@ const parseAndTransformHtmlReferences = async (
213
224
  return createInlineReference(node, inlineContent, {
214
225
  extension,
215
226
  type,
227
+ subtype,
216
228
  expectedType,
217
229
  contentType,
218
230
  });
@@ -254,7 +266,8 @@ const parseAndTransformHtmlReferences = async (
254
266
  return;
255
267
  }
256
268
 
257
- const { type, contentType, extension } = analyzeScriptNode(scriptNode);
269
+ const { type, subtype, contentType, extension } =
270
+ analyzeScriptNode(scriptNode);
258
271
  // ignore <script type="whatever">foobar</script>
259
272
  // per HTML spec https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-type
260
273
  if (type !== "text") {
@@ -286,6 +299,7 @@ const parseAndTransformHtmlReferences = async (
286
299
  const inlineRef = visitTextContent(scriptNode, {
287
300
  extension: extension || CONTENT_TYPE.asFileExtension(contentType),
288
301
  type: "script",
302
+ subtype,
289
303
  expectedType: type,
290
304
  contentType,
291
305
  });
@@ -427,3 +441,10 @@ const decideLinkExpectedType = (linkReference, context) => {
427
441
  }
428
442
  return undefined;
429
443
  };
444
+
445
+ // const applyWebUrlResolution = (url, baseUrl) => {
446
+ // if (url[0] === "/") {
447
+ // return new URL(url.slice(1), baseUrl).href;
448
+ // }
449
+ // return new URL(url, baseUrl).href;
450
+ // };
@@ -132,9 +132,10 @@ const parseAndTransformJsReferences = async (
132
132
  }
133
133
  });
134
134
  };
135
- const jsReferenceInfos = await parseJsUrls({
135
+ const jsReferenceInfos = parseJsUrls({
136
136
  js: urlInfo.content,
137
137
  url: urlInfo.originalUrl,
138
+ ast: urlInfo.contentAst,
138
139
  isJsModule: urlInfo.type === "js_module",
139
140
  isWebWorker: isWebWorkerUrlInfo(urlInfo),
140
141
  inlineContent,
@@ -1,24 +0,0 @@
1
- // https://mathiasbynens.be/notes/globalthis
2
-
3
- /* eslint-disable no-redeclare */
4
- /* global globalThis */
5
- let globalObject;
6
- if (typeof globalThis === "object") {
7
- globalObject = globalThis;
8
- } else {
9
- if (typeof this === "object") {
10
- globalObject = this;
11
- } else {
12
- // eslint-disable-next-line no-extend-native
13
- Object.defineProperty(Object.prototype, "__global__", {
14
- get() {
15
- return this;
16
- },
17
- configurable: true
18
- });
19
- // eslint-disable-next-line no-undef
20
- globalObject = __global__;
21
- delete Object.prototype.__global__;
22
- }
23
- globalObject.globalThis = globalObject;
24
- }
@@ -1,20 +0,0 @@
1
- // https://mathiasbynens.be/notes/globalthis
2
-
3
- /* eslint-disable no-redeclare */
4
- /* global globalThis */
5
- let globalObject;
6
- if (typeof globalThis === "object") {
7
- globalObject = globalThis;
8
- } else {
9
- // eslint-disable-next-line no-extend-native
10
- Object.defineProperty(Object.prototype, "__global__", {
11
- get() {
12
- return this;
13
- },
14
- configurable: true
15
- });
16
- // eslint-disable-next-line no-undef
17
- globalObject = __global__;
18
- delete Object.prototype.__global__;
19
- }
20
- globalObject.globalThis = globalObject;
@@ -1,34 +0,0 @@
1
- export const GRAPH = {
2
- map: (graph, callback) => {
3
- const array = [];
4
- graph.urlInfoMap.forEach((urlInfo) => {
5
- array.push(callback(urlInfo));
6
- });
7
- return array;
8
- },
9
-
10
- forEach: (graph, callback) => {
11
- graph.urlInfoMap.forEach(callback);
12
- },
13
-
14
- filter: (graph, callback) => {
15
- const urlInfos = [];
16
- graph.urlInfoMap.forEach((urlInfo) => {
17
- if (callback(urlInfo)) {
18
- urlInfos.push(urlInfo);
19
- }
20
- });
21
- return urlInfos;
22
- },
23
-
24
- find: (graph, callback) => {
25
- let found = null;
26
- for (const urlInfo of graph.urlInfoMap.values()) {
27
- if (callback(urlInfo)) {
28
- found = urlInfo;
29
- break;
30
- }
31
- }
32
- return found;
33
- },
34
- };