@jsenv/core 27.0.0-alpha.9 → 27.0.0-alpha.92

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 (277) hide show
  1. package/dist/babel_helpers/AsyncGenerator/AsyncGenerator.js +95 -0
  2. package/dist/babel_helpers/AwaitValue/AwaitValue.js +3 -0
  3. package/dist/babel_helpers/applyDecoratorDescriptor/applyDecoratorDescriptor.js +29 -0
  4. package/dist/babel_helpers/applyDecs/applyDecs.js +756 -0
  5. package/dist/babel_helpers/arrayLikeToArray/arrayLikeToArray.js +9 -0
  6. package/dist/babel_helpers/arrayWithHoles/arrayWithHoles.js +4 -0
  7. package/dist/babel_helpers/arrayWithoutHoles/arrayWithoutHoles.js +5 -0
  8. package/dist/babel_helpers/assertThisInitialized/assertThisInitialized.js +8 -0
  9. package/dist/babel_helpers/asyncGeneratorDelegate/asyncGeneratorDelegate.js +52 -0
  10. package/dist/babel_helpers/asyncIterator/asyncIterator.js +78 -0
  11. package/dist/babel_helpers/asyncToGenerator/asyncToGenerator.js +39 -0
  12. package/dist/babel_helpers/awaitAsyncGenerator/awaitAsyncGenerator.js +4 -0
  13. package/dist/babel_helpers/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +24 -0
  14. package/dist/babel_helpers/classApplyDescriptorGet/classApplyDescriptorGet.js +7 -0
  15. package/dist/babel_helpers/classApplyDescriptorSet/classApplyDescriptorSet.js +14 -0
  16. package/dist/babel_helpers/classCallCheck/classCallCheck.js +5 -0
  17. package/dist/babel_helpers/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +5 -0
  18. package/dist/babel_helpers/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +6 -0
  19. package/dist/babel_helpers/classExtractFieldDescriptor/classExtractFieldDescriptor.js +8 -0
  20. package/dist/babel_helpers/classNameTDZError/classNameTDZError.js +4 -0
  21. package/dist/babel_helpers/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +6 -0
  22. package/dist/babel_helpers/classPrivateFieldGet/classPrivateFieldGet.js +6 -0
  23. package/dist/babel_helpers/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +7 -0
  24. package/dist/babel_helpers/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +5 -0
  25. package/dist/babel_helpers/classPrivateFieldSet/classPrivateFieldSet.js +7 -0
  26. package/dist/babel_helpers/classPrivateMethodGet/classPrivateMethodGet.js +7 -0
  27. package/dist/babel_helpers/classPrivateMethodSet/classPrivateMethodSet.js +3 -0
  28. package/dist/babel_helpers/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +8 -0
  29. package/dist/babel_helpers/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +9 -0
  30. package/dist/babel_helpers/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +5 -0
  31. package/dist/babel_helpers/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +3 -0
  32. package/dist/babel_helpers/construct/construct.js +15 -0
  33. package/dist/babel_helpers/createClass/createClass.js +18 -0
  34. package/dist/babel_helpers/createForOfIteratorHelper/createForOfIteratorHelper.js +63 -0
  35. package/dist/babel_helpers/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +22 -0
  36. package/dist/babel_helpers/createRawReactElement/createRawReactElement.js +50 -0
  37. package/dist/babel_helpers/createSuper/createSuper.js +22 -0
  38. package/dist/babel_helpers/decorate/decorate.js +622 -0
  39. package/dist/babel_helpers/defaults/defaults.js +14 -0
  40. package/dist/babel_helpers/defineEnumerableProperties/defineEnumerableProperties.js +26 -0
  41. package/dist/babel_helpers/defineProperty/defineProperty.js +19 -0
  42. package/dist/babel_helpers/extends/extends.js +16 -0
  43. package/dist/babel_helpers/get/get.js +21 -0
  44. package/dist/babel_helpers/getPrototypeOf/getPrototypeOf.js +2 -0
  45. package/dist/babel_helpers/identity/identity.js +3 -0
  46. package/dist/babel_helpers/inherits/inherits.js +21 -0
  47. package/dist/babel_helpers/inheritsLoose/inheritsLoose.js +6 -0
  48. package/dist/babel_helpers/initializerDefineProperty/initializerDefineProperty.js +10 -0
  49. package/dist/babel_helpers/initializerWarningHelper/initializerWarningHelper.js +3 -0
  50. package/dist/babel_helpers/instanceof/instanceof.js +7 -0
  51. package/dist/babel_helpers/interopRequireDefault/interopRequireDefault.js +5 -0
  52. package/dist/babel_helpers/interopRequireWildcard/interopRequireWildcard.js +49 -0
  53. package/dist/babel_helpers/isNativeFunction/isNativeFunction.js +4 -0
  54. package/dist/babel_helpers/isNativeReflectConstruct/isNativeReflectConstruct.js +21 -0
  55. package/dist/babel_helpers/iterableToArray/iterableToArray.js +3 -0
  56. package/dist/babel_helpers/iterableToArrayLimit/iterableToArrayLimit.js +38 -0
  57. package/dist/babel_helpers/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +13 -0
  58. package/dist/babel_helpers/jsx/jsx.js +49 -0
  59. package/dist/babel_helpers/maybeArrayLike/maybeArrayLike.js +10 -0
  60. package/dist/babel_helpers/newArrowCheck/newArrowCheck.js +5 -0
  61. package/dist/babel_helpers/nonIterableRest/nonIterableRest.js +3 -0
  62. package/dist/babel_helpers/nonIterableSpread/nonIterableSpread.js +3 -0
  63. package/dist/babel_helpers/objectDestructuringEmpty/objectDestructuringEmpty.js +3 -0
  64. package/dist/babel_helpers/objectSpread/objectSpread.js +22 -0
  65. package/dist/babel_helpers/objectSpread2/objectSpread2.js +41 -0
  66. package/dist/babel_helpers/objectWithoutProperties/objectWithoutProperties.js +20 -0
  67. package/dist/babel_helpers/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +15 -0
  68. package/dist/babel_helpers/possibleConstructorReturn/possibleConstructorReturn.js +10 -0
  69. package/dist/babel_helpers/readOnlyError/readOnlyError.js +4 -0
  70. package/dist/babel_helpers/set/set.js +51 -0
  71. package/dist/babel_helpers/setPrototypeOf/setPrototypeOf.js +5 -0
  72. package/dist/babel_helpers/skipFirstGeneratorNext/skipFirstGeneratorNext.js +8 -0
  73. package/dist/babel_helpers/slicedToArray/slicedToArray.js +5 -0
  74. package/dist/babel_helpers/slicedToArrayLoose/slicedToArrayLoose.js +7 -0
  75. package/dist/babel_helpers/superPropBase/superPropBase.js +10 -0
  76. package/dist/babel_helpers/taggedTemplateLiteral/taggedTemplateLiteral.js +11 -0
  77. package/dist/babel_helpers/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +8 -0
  78. package/dist/babel_helpers/tdz/tdz.js +4 -0
  79. package/dist/babel_helpers/temporalRef/temporalRef.js +5 -0
  80. package/dist/babel_helpers/temporalUndefined/temporalUndefined.js +3 -0
  81. package/dist/babel_helpers/toArray/toArray.js +5 -0
  82. package/dist/babel_helpers/toConsumableArray/toConsumableArray.js +5 -0
  83. package/dist/babel_helpers/toPrimitive/toPrimitive.js +14 -0
  84. package/dist/babel_helpers/toPropertyKey/toPropertyKey.js +5 -0
  85. package/dist/babel_helpers/typeof/typeof.js +7 -0
  86. package/dist/babel_helpers/unsupportedIterableToArray/unsupportedIterableToArray.js +10 -0
  87. package/dist/babel_helpers/wrapAsyncGenerator/wrapAsyncGenerator.js +7 -0
  88. package/dist/babel_helpers/wrapNativeSuper/wrapNativeSuper.js +35 -0
  89. package/dist/babel_helpers/wrapRegExp/wrapRegExp.js +67 -0
  90. package/dist/babel_helpers/writeOnlyError/writeOnlyError.js +4 -0
  91. package/dist/html/explorer.html +557 -0
  92. package/dist/js/controllable_file.mjs +227 -0
  93. package/dist/js/event_source_client.js +528 -0
  94. package/dist/js/global_this.js +32 -0
  95. package/dist/js/html_supervisor_installer.js +522 -0
  96. package/dist/js/html_supervisor_setup.js +82 -0
  97. package/dist/js/import_meta_hot.js +84 -0
  98. package/dist/js/inline_content.js +8 -0
  99. package/dist/js/new_stylesheet.js +409 -0
  100. package/dist/js/regenerator_runtime.js +721 -0
  101. package/dist/js/s.js +429 -0
  102. package/dist/js/uneval.js +804 -0
  103. package/dist/main.js +25163 -0
  104. package/dist/other/jsenv.png +0 -0
  105. package/dist/s.js +626 -0
  106. package/dist/s.js.map +205 -0
  107. package/package.json +61 -57
  108. package/readme.md +6 -14
  109. package/src/build/build.js +1040 -551
  110. package/src/build/build_urls_generator.js +65 -25
  111. package/src/build/graph_utils.js +31 -0
  112. package/src/build/inject_global_version_mappings.js +93 -0
  113. package/src/build/inject_service_worker_urls.js +79 -0
  114. package/src/build/resync_ressource_hints.js +114 -0
  115. package/src/build/start_build_server.js +217 -0
  116. package/src/build/version_generator.js +60 -0
  117. package/src/dev/plugins/explorer/client/explorer.html +1 -1
  118. package/src/dev/plugins/explorer/jsenv_plugin_explorer.js +9 -14
  119. package/src/dev/plugins/toolbar/client/util/fetching.js +1 -1
  120. package/src/dev/plugins/toolbar/jsenv_plugin_toolbar.js +6 -4
  121. package/src/dev/start_dev_server.js +173 -38
  122. package/src/execute/execute.js +35 -8
  123. package/src/execute/run.js +21 -57
  124. package/src/execute/runtimes/browsers/from_playwright.js +224 -153
  125. package/src/execute/runtimes/node/child_exec_options.js +1 -1
  126. package/src/execute/runtimes/node/controllable_file.mjs +26 -10
  127. package/src/execute/runtimes/node/kill_process_tree.js +2 -4
  128. package/src/execute/runtimes/node/node_execution_performance.js +67 -0
  129. package/src/execute/runtimes/node/node_process.js +288 -39
  130. package/src/helpers/command/command.js +73 -0
  131. package/src/{dev/plugins/autoreload/client/event_source_connection.js → helpers/event_source/event_source.js} +2 -0
  132. package/src/helpers/event_source/sse_service.js +53 -0
  133. package/src/helpers/worker_reload.js +57 -0
  134. package/src/main.js +27 -0
  135. package/src/omega/{runtime_support/features_compatibility.js → compat/features_compats.js} +30 -7
  136. package/src/omega/{runtime_support/runtime_support.js → compat/runtime_compat.js} +16 -17
  137. package/src/omega/errors.js +63 -67
  138. package/src/omega/fetched_content_compliance.js +24 -0
  139. package/src/omega/file_url_converter.js +9 -51
  140. package/src/omega/kitchen.js +607 -466
  141. package/src/omega/omega_server.js +2 -3
  142. package/src/omega/server/file_service.js +88 -41
  143. package/src/omega/server/user_agent.js +5 -5
  144. package/src/omega/url_graph/{url_graph_sort.js → sort_by_dependencies.js} +3 -5
  145. package/src/omega/url_graph/url_graph_load.js +31 -23
  146. package/src/omega/url_graph/url_graph_report.js +94 -51
  147. package/src/omega/url_graph/url_info_transformations.js +54 -24
  148. package/src/omega/url_graph.js +88 -19
  149. package/src/omega/url_specifier_encoding.js +59 -0
  150. package/src/omega/web_workers.js +42 -0
  151. package/src/{dev/plugins/autoreload → plugins/autoreload/dev_sse}/client/autoreload_preference.js +0 -0
  152. package/src/{dev/plugins/autoreload → plugins/autoreload/dev_sse}/client/event_source_client.js +19 -12
  153. package/src/{dev/plugins/autoreload → plugins/autoreload/dev_sse}/client/reload.js +6 -3
  154. package/src/{dev/plugins/autoreload → plugins/autoreload/dev_sse}/client/url_helpers.js +0 -0
  155. package/src/plugins/autoreload/dev_sse/jsenv_plugin_dev_sse_client.js +41 -0
  156. package/src/plugins/autoreload/dev_sse/jsenv_plugin_dev_sse_server.js +204 -0
  157. package/src/plugins/autoreload/jsenv_plugin_autoreload.js +25 -0
  158. package/src/plugins/autoreload/jsenv_plugin_hmr.js +35 -0
  159. package/src/plugins/bundling/css/bundle_css.js +140 -0
  160. package/src/plugins/bundling/js_classic_workers/bundle_js_classic_workers.js +13 -0
  161. package/src/plugins/bundling/js_module/bundle_js_module.js +362 -0
  162. package/src/plugins/bundling/jsenv_plugin_bundling.js +54 -0
  163. package/src/plugins/cache_control/jsenv_plugin_cache_control.js +34 -0
  164. package/src/{omega/core_plugins → plugins}/commonjs_globals/jsenv_plugin_commonjs_globals.js +56 -43
  165. package/src/plugins/file_urls/jsenv_plugin_file_urls.js +190 -0
  166. package/src/{omega/core_plugins → plugins}/html_supervisor/client/error_in_document.js +0 -0
  167. package/src/{omega/core_plugins → plugins}/html_supervisor/client/error_in_notification.js +0 -0
  168. package/src/plugins/html_supervisor/client/html_supervisor_installer.js +254 -0
  169. package/src/plugins/html_supervisor/client/html_supervisor_setup.js +82 -0
  170. package/src/{omega/core_plugins → plugins}/html_supervisor/client/perf_browser.js +0 -0
  171. package/src/{omega/core_plugins → plugins}/html_supervisor/client/uneval_exception.js +0 -0
  172. package/src/plugins/html_supervisor/jsenv_plugin_html_supervisor.js +239 -0
  173. package/src/plugins/http_urls/jsenv_plugin_http_urls.js +16 -0
  174. package/src/{dev/plugins/autoreload → plugins/import_meta_hot}/babel_plugin_metadata_import_meta_hot.js +4 -5
  175. package/src/{dev/plugins/autoreload → plugins/import_meta_hot}/client/import_meta_hot.js +3 -1
  176. package/src/{dev/plugins/autoreload → plugins/import_meta_hot}/html_hot_dependencies.js +15 -18
  177. package/src/plugins/import_meta_hot/jsenv_plugin_import_meta_hot.js +100 -0
  178. package/src/{omega/core_plugins → plugins}/import_meta_scenarios/jsenv_plugin_import_meta_scenarios.js +35 -10
  179. package/src/plugins/import_meta_url/client/import_meta_url_browser.js +52 -0
  180. package/src/plugins/import_meta_url/client/import_meta_url_commonjs.mjs +9 -0
  181. package/src/{omega/core_plugins → plugins}/importmap/jsenv_plugin_importmap.js +56 -54
  182. package/src/plugins/inject_globals/inject_globals.js +57 -0
  183. package/src/plugins/inject_globals/jsenv_plugin_inject_globals.js +24 -0
  184. package/src/{omega/core_plugins → plugins}/inline/client/inline_content.js +0 -0
  185. package/src/{omega/core_plugins → plugins}/inline/jsenv_plugin_data_urls.js +22 -21
  186. package/src/plugins/inline/jsenv_plugin_html_inline_content.js +159 -0
  187. package/src/plugins/inline/jsenv_plugin_inline.js +36 -0
  188. package/src/{omega/core_plugins → plugins}/inline/jsenv_plugin_inline_query_param.js +8 -11
  189. package/src/plugins/inline/jsenv_plugin_js_inline_content.js +294 -0
  190. package/src/plugins/leading_slash/jsenv_plugin_leading_slash.js +13 -0
  191. package/src/plugins/minification/css/minify_css.js +9 -0
  192. package/src/plugins/minification/html/minify_html.js +13 -0
  193. package/src/{build/plugins/minify_js/jsenv_plugin_minify_js.js → plugins/minification/js/minify_js.js} +6 -22
  194. package/src/plugins/minification/jsenv_plugin_minification.js +78 -0
  195. package/src/plugins/minification/json/minify_json.js +8 -0
  196. package/src/plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +162 -0
  197. package/src/plugins/node_runtime/jsenv_plugin_node_runtime.js +12 -0
  198. package/src/{omega → plugins}/plugin_controller.js +57 -12
  199. package/src/plugins/plugins.js +91 -0
  200. package/src/plugins/transpilation/as_js_classic/client/s.js +429 -0
  201. package/src/plugins/transpilation/as_js_classic/helpers/babel_plugin_transform_import_meta_url.js +47 -0
  202. package/src/plugins/transpilation/as_js_classic/helpers/systemjs_old.js +43 -0
  203. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic.js +209 -0
  204. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic_html.js +282 -0
  205. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic_workers.js +55 -0
  206. package/src/{omega/core_plugins → plugins/transpilation}/babel/global_this/babel_plugin_global_this_as_jsenv_import.js +2 -3
  207. package/src/{omega/core_plugins → plugins/transpilation}/babel/global_this/client/global_this.js +0 -0
  208. package/src/{omega/core_plugins → plugins/transpilation}/babel/helpers/babel_plugin_babel_helpers_as_jsenv_imports.js +3 -4
  209. package/src/{omega/core_plugins → plugins/transpilation}/babel/helpers/babel_plugin_structure.js +14 -17
  210. package/src/{omega/core_plugins → plugins/transpilation}/babel/helpers/babel_plugins_compatibility.js +0 -0
  211. package/src/{omega/core_plugins → plugins/transpilation}/babel/jsenv_plugin_babel.js +40 -33
  212. package/src/{omega/core_plugins → plugins/transpilation}/babel/new_stylesheet/babel_plugin_new_stylesheet_as_jsenv_import.js +32 -9
  213. package/src/{omega/core_plugins → plugins/transpilation}/babel/new_stylesheet/client/new_stylesheet.js +0 -0
  214. package/src/{omega/core_plugins → plugins/transpilation}/babel/regenerator_runtime/babel_plugin_regenerator_runtime_as_jsenv_import.js +2 -3
  215. package/src/{omega/core_plugins → plugins/transpilation}/babel/regenerator_runtime/client/regenerator_runtime.js +0 -0
  216. package/src/plugins/transpilation/babel/require_babel_plugin.js +8 -0
  217. package/src/plugins/transpilation/css_parcel/jsenv_plugin_css_parcel.js +18 -0
  218. package/src/plugins/transpilation/import_assertions/jsenv_plugin_import_assertions.js +184 -0
  219. package/src/plugins/transpilation/jsenv_plugin_top_level_await.js +80 -0
  220. package/src/plugins/transpilation/jsenv_plugin_transpilation.js +46 -0
  221. package/src/plugins/url_analysis/css/css_urls.js +48 -0
  222. package/src/plugins/url_analysis/html/html_urls.js +257 -0
  223. package/src/plugins/url_analysis/js/js_urls.js +69 -0
  224. package/src/plugins/url_analysis/jsenv_plugin_url_analysis.js +110 -0
  225. package/src/plugins/url_analysis/webmanifest/webmanifest_urls.js +20 -0
  226. package/src/{omega/core_plugins → plugins}/url_resolution/jsenv_plugin_url_resolution.js +9 -5
  227. package/src/plugins/url_version/jsenv_plugin_url_version.js +28 -0
  228. package/src/require_from_jsenv.js +3 -0
  229. package/src/test/coverage/babel_plugin_instrument.js +82 -0
  230. package/src/test/coverage/coverage_reporter_html_directory.js +36 -0
  231. package/src/test/coverage/coverage_reporter_json_file.js +22 -0
  232. package/src/test/coverage/coverage_reporter_text_log.js +19 -0
  233. package/src/test/coverage/empty_coverage_factory.js +52 -0
  234. package/src/test/coverage/file_by_file_coverage.js +25 -0
  235. package/src/test/coverage/istanbul_coverage_composition.js +28 -0
  236. package/src/test/coverage/istanbul_coverage_map_from_coverage.js +16 -0
  237. package/src/test/coverage/list_files_not_covered.js +15 -0
  238. package/src/test/coverage/missing_coverage.js +41 -0
  239. package/src/test/coverage/report_to_coverage.js +196 -0
  240. package/src/test/coverage/v8_and_istanbul.js +37 -0
  241. package/src/test/coverage/v8_coverage_composition.js +24 -0
  242. package/src/test/coverage/v8_coverage_from_directory.js +87 -0
  243. package/src/test/coverage/v8_coverage_to_istanbul.js +99 -0
  244. package/src/test/execute_plan.js +87 -46
  245. package/src/test/execute_test_plan.js +40 -28
  246. package/src/test/execution_steps.js +2 -5
  247. package/src/test/logs_file_execution.js +56 -49
  248. package/main.js +0 -19
  249. package/src/build/inject_version_mappings.js +0 -62
  250. package/src/build/plugins/bundle_js_module/jsenv_plugin_bundle_js_module.js +0 -227
  251. package/src/build/plugins/minify_html/jsenv_plugin_minify_html.js +0 -30
  252. package/src/dev/plugins/autoreload/jsenv_plugin_autoreload.js +0 -374
  253. package/src/dev/plugins/autoreload/sse_service.js +0 -149
  254. package/src/execute/runtimes/node/controlled_process.js +0 -316
  255. package/src/omega/core_plugins/babel/new_stylesheet/client/.eslintrc.cjs +0 -24
  256. package/src/omega/core_plugins/file_urls/jsenv_plugin_file_urls.js +0 -67
  257. package/src/omega/core_plugins/filesystem_magic/jsenv_plugin_filesystem_magic.js +0 -58
  258. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_installer.js +0 -168
  259. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_setup.js +0 -77
  260. package/src/omega/core_plugins/html_supervisor/jsenv_plugin_html_supervisor.js +0 -233
  261. package/src/omega/core_plugins/import_assertions/helpers/babel_plugin_metadata_import_assertions.js +0 -98
  262. package/src/omega/core_plugins/import_assertions/helpers/json_module.js +0 -12
  263. package/src/omega/core_plugins/import_assertions/helpers/text_module.js +0 -6
  264. package/src/omega/core_plugins/import_assertions/jsenv_plugin_import_assertions.js +0 -211
  265. package/src/omega/core_plugins/inline/jsenv_plugin_inline.js +0 -13
  266. package/src/omega/core_plugins/inline/jsenv_plugin_js_and_css_inside_html.js +0 -142
  267. package/src/omega/core_plugins/inline/jsenv_plugin_new_inline_content.js +0 -207
  268. package/src/omega/core_plugins/leading_slash/jsenv_plugin_leading_slash.js +0 -12
  269. package/src/omega/core_plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +0 -77
  270. package/src/omega/core_plugins/url_version/jsenv_plugin_url_version.js +0 -50
  271. package/src/omega/core_plugins.js +0 -39
  272. package/src/omega/runtime_support/default_runtime_support.js +0 -13
  273. package/src/omega/url_mentions/css_url_mentions.js +0 -63
  274. package/src/omega/url_mentions/html_url_mentions.js +0 -185
  275. package/src/omega/url_mentions/js_module_url_mentions.js +0 -91
  276. package/src/omega/url_mentions/parse_url_mentions.js +0 -37
  277. package/src/omega/url_mentions/worker_classic_url_mentions.js +0 -37
@@ -1,50 +0,0 @@
1
- export const jsenvPluginUrlVersion = ({
2
- longTermCache = false, // will become true once things get more stable
3
- } = {}) => {
4
- return {
5
- name: "jsenv:url_version",
6
- appliesDuring: "*", // maybe only during dev?
7
- normalize: ({ url }) => {
8
- // "v" search param goal is to enable long-term cache
9
- // for server response headers
10
- // it is also used by hmr to bypass browser cache
11
- // this goal is achieved when we reach this part of the code
12
- // We get rid of this params so that urlGraph and other parts of the code
13
- // recognize the url (it is not considered as a different url)
14
- const urlObject = new URL(url)
15
- urlObject.searchParams.delete("v")
16
- return urlObject.href
17
- },
18
- transformReferencedUrl: ({ url, data }) => {
19
- if (!data.version) {
20
- return null
21
- }
22
- const urlObject = new URL(url)
23
- if (urlObject.searchParams.has("v")) {
24
- return null
25
- }
26
- urlObject.searchParams.set("v", data.version)
27
- return urlObject.href
28
- },
29
- augmentResponse: ({ url }) => {
30
- if (!longTermCache) {
31
- return null
32
- }
33
- const urlObject = new URL(url)
34
- if (!urlObject.searchParams.has("v")) {
35
- return null
36
- }
37
- if (urlObject.searchParams.has("hmr")) {
38
- return null
39
- }
40
- // When url is versioned put it in browser cache for 30 days
41
- return {
42
- headers: {
43
- "cache-control": `private,max-age=${SECONDS_IN_30_DAYS},immutable`,
44
- },
45
- }
46
- },
47
- }
48
- }
49
-
50
- const SECONDS_IN_30_DAYS = 60 * 60 * 24 * 30
@@ -1,39 +0,0 @@
1
- import { jsenvPluginLeadingSlash } from "./core_plugins/leading_slash/jsenv_plugin_leading_slash.js"
2
- import { jsenvPluginImportmap } from "./core_plugins/importmap/jsenv_plugin_importmap.js"
3
- import { jsenvPluginUrlResolution } from "./core_plugins/url_resolution/jsenv_plugin_url_resolution.js"
4
- import { jsenvPluginNodeEsmResolution } from "./core_plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js"
5
- import { jsenvPluginUrlVersion } from "./core_plugins/url_version/jsenv_plugin_url_version.js"
6
- import { jsenvPluginFileUrls } from "./core_plugins/file_urls/jsenv_plugin_file_urls.js"
7
- import { jsenvPluginFileSystemMagic } from "./core_plugins/filesystem_magic/jsenv_plugin_filesystem_magic.js"
8
- import { jsenvPluginInline } from "./core_plugins/inline/jsenv_plugin_inline.js"
9
- import { jsenvPluginHtmlSupervisor } from "./core_plugins/html_supervisor/jsenv_plugin_html_supervisor.js"
10
- import { jsenvPluginCommonJsGlobals } from "./core_plugins/commonjs_globals/jsenv_plugin_commonjs_globals.js"
11
- import { jsenvPluginImportAssertions } from "./core_plugins/import_assertions/jsenv_plugin_import_assertions.js"
12
- import { jsenvPluginImportMetaScenarios } from "./core_plugins/import_meta_scenarios/jsenv_plugin_import_meta_scenarios.js"
13
- import { jsenvPluginBabel } from "./core_plugins/babel/jsenv_plugin_babel.js"
14
-
15
- export const getCorePlugins = ({
16
- htmlSupervisor,
17
- nodeEsmResolution,
18
- fileSystemMagicResolution,
19
- babel,
20
- } = {}) => {
21
- const asFewAsPossible = false // useful during dev
22
- return [
23
- ...(asFewAsPossible ? [] : [jsenvPluginImportAssertions()]),
24
- ...(asFewAsPossible ? [] : [jsenvPluginHtmlSupervisor(htmlSupervisor)]), // before inline as it turns inline <script> into <script src>
25
- ...(asFewAsPossible ? [] : [jsenvPluginInline()]), // before "file urls" to resolve and load inline urls
26
- jsenvPluginImportmap(), // before node esm to handle bare specifiers before node esm
27
- jsenvPluginFileUrls(),
28
- jsenvPluginLeadingSlash(),
29
- jsenvPluginNodeEsmResolution(nodeEsmResolution), // before url resolution to handle "js_import_export" resolution
30
- jsenvPluginUrlResolution(),
31
- ...(asFewAsPossible
32
- ? []
33
- : [jsenvPluginFileSystemMagic(fileSystemMagicResolution)]),
34
- jsenvPluginUrlVersion(),
35
- ...(asFewAsPossible ? [] : [jsenvPluginCommonJsGlobals()]),
36
- ...(asFewAsPossible ? [] : [jsenvPluginImportMetaScenarios()]),
37
- jsenvPluginBabel(babel),
38
- ]
39
- }
@@ -1,13 +0,0 @@
1
- // correspond to dynamic import
2
- export const defaultRuntimeSupport = {
3
- // android: "8",
4
- chrome: "63",
5
- edge: "79",
6
- electron: "8.1",
7
- firefox: "67",
8
- ios: "11",
9
- opera: "50",
10
- safari: "11.3",
11
- node: "13.2",
12
- samsung: "8.0",
13
- }
@@ -1,63 +0,0 @@
1
- /*
2
- * https://github.com/parcel-bundler/parcel/blob/v2/packages/transformers/css/src/CSSTransformer.js
3
- */
4
-
5
- import { applyPostCss } from "@jsenv/utils/css_ast/apply_post_css.js"
6
- import { postCssPluginUrlVisitor } from "@jsenv/utils/css_ast/postcss_plugin_url_visitor.js"
7
- import { replaceCssUrls } from "@jsenv/utils/css_ast/replace_css_urls.js"
8
-
9
- export const parseCssUrlMentions = async ({ url, content }) => {
10
- const cssUrlMentions = []
11
- await applyPostCss({
12
- sourcemaps: false,
13
- plugins: [
14
- postCssPluginUrlVisitor({
15
- urlVisitor: ({ type, url, specifier, urlNode }) => {
16
- cssUrlMentions.push({
17
- type: `css_${type}`,
18
- specifier,
19
- start: urlNode.sourceIndex,
20
- end: urlNode.sourceEndIndex,
21
- url,
22
- })
23
- },
24
- }),
25
- ],
26
- url,
27
- content,
28
- })
29
- return {
30
- urlMentions: cssUrlMentions,
31
- replaceUrls: async (getReplacement) => {
32
- // we can't use magic source because urlMention.start/end do not match the url specifier
33
- // const magicSource = createMagicSource({ url, content })
34
- // cssUrlMentions.forEach((urlMention) => {
35
- // magicSource.replace({
36
- // start: urlMention.start,
37
- // end: urlMention.end,
38
- // replacement: JSON.stringify(transformUrlMention(urlMention)),
39
- // })
40
- // })
41
- // return magicSource.toContentAndSourcemap()
42
- const result = await replaceCssUrls({
43
- url,
44
- content,
45
- urlVisitor: ({ url, replace }) => {
46
- const cssUrlMention = cssUrlMentions.find(
47
- (urlMention) => urlMention.url === url,
48
- )
49
- if (cssUrlMention) {
50
- const replacement = getReplacement(cssUrlMention)
51
- if (replacement) {
52
- replace(replacement)
53
- }
54
- }
55
- },
56
- })
57
- return {
58
- content: result.content,
59
- sourcemap: result.map,
60
- }
61
- },
62
- }
63
- }
@@ -1,185 +0,0 @@
1
- import {
2
- parseHtmlString,
3
- stringifyHtmlAst,
4
- getHtmlNodeAttributeByName,
5
- htmlNodePosition,
6
- visitHtmlAst,
7
- } from "@jsenv/utils/html_ast/html_ast.js"
8
- import { htmlAttributeSrcSet } from "@jsenv/utils/html_ast/html_attribute_src_set.js"
9
-
10
- export const parseHtmlUrlMentions = ({ url, content, scenario }) => {
11
- const htmlAst = parseHtmlString(content, {
12
- storeOriginalPositions: scenario !== "build",
13
- })
14
- const htmlUrlMentions = collectHtmlUrlMentions({ url, htmlAst })
15
- return {
16
- urlMentions: htmlUrlMentions,
17
- replaceUrls: (getReplacement) => {
18
- htmlUrlMentions.forEach((urlMention) => {
19
- const replacement = getReplacement(urlMention)
20
- if (replacement) {
21
- urlMention.attribute.value = replacement
22
- }
23
- })
24
- return {
25
- content: stringifyHtmlAst(htmlAst),
26
- }
27
- },
28
- }
29
- }
30
-
31
- const collectHtmlUrlMentions = ({ url, htmlAst }) => {
32
- const htmlUrlMentions = []
33
- const addDependency = ({ type, node, attribute, specifier }) => {
34
- const injected = Boolean(getHtmlNodeAttributeByName(node, "injected-by"))
35
- const srcGeneratedFromInlineContent = Boolean(
36
- getHtmlNodeAttributeByName(node, "src-generated-from-inline-content"),
37
- )
38
- let position
39
- if (srcGeneratedFromInlineContent) {
40
- // when generated from inline content,
41
- // line, column is not "src" nor "content-src" but "original-position"
42
- position = htmlNodePosition.readNodePosition(node)
43
- } else {
44
- position = htmlNodePosition.readAttributePosition(node, attribute.name)
45
- }
46
- const { line, column, originalLine, originalColumn } = position
47
- htmlUrlMentions.push({
48
- type,
49
- htmlNode: node,
50
- attribute,
51
- injected,
52
- srcGeneratedFromInlineContent,
53
- specifier,
54
- line,
55
- column,
56
- originalLine,
57
- originalColumn,
58
- })
59
- }
60
- const onNode = (node) => {
61
- if (node.nodeName === "link") {
62
- visitAttributeAsUrlSpecifier({
63
- type: "link_href",
64
- node,
65
- attributeName: "href",
66
- })
67
- return
68
- }
69
- // if (node.nodeName === "style") {
70
- // // styles.push(node)
71
- // return
72
- // }
73
- if (node.nodeName === "script") {
74
- visitAttributeAsUrlSpecifier({
75
- type: "script_src",
76
- node,
77
- attributeName: "src",
78
- })
79
- return
80
- }
81
- if (node.nodeName === "a") {
82
- visitAttributeAsUrlSpecifier({
83
- type: "a_href",
84
- node,
85
- attributeName: "href",
86
- })
87
- }
88
- if (node.nodeName === "iframe") {
89
- visitAttributeAsUrlSpecifier({
90
- type: "iframe_src",
91
- node,
92
- attributeName: "src",
93
- })
94
- }
95
- if (node.nodeName === "img") {
96
- visitAttributeAsUrlSpecifier({
97
- type: "img_src",
98
- node,
99
- attributeName: "src",
100
- })
101
- visitSrcset({
102
- type: "img_srcset",
103
- node,
104
- })
105
- return
106
- }
107
- if (node.nodeName === "source") {
108
- visitAttributeAsUrlSpecifier({
109
- type: "source_src",
110
- node,
111
- attributeName: "src",
112
- })
113
- visitSrcset({
114
- type: "source_srcset",
115
- node,
116
- })
117
- return
118
- }
119
- // svg <image> tag
120
- if (node.nodeName === "image") {
121
- visitAttributeAsUrlSpecifier({
122
- type: "image_href",
123
- node,
124
- attributeName: "href",
125
- })
126
- return
127
- }
128
- if (node.nodeName === "use") {
129
- visitAttributeAsUrlSpecifier({
130
- type: "use_href",
131
- node,
132
- attributeName: "href",
133
- })
134
- return
135
- }
136
- }
137
- const visitAttributeAsUrlSpecifier = ({ type, node, attributeName }) => {
138
- const attribute = getHtmlNodeAttributeByName(node, attributeName)
139
- const value = attribute ? attribute.value : undefined
140
- if (value) {
141
- const inlinedBy = getHtmlNodeAttributeByName(node, "inlined-by")
142
- if (inlinedBy) {
143
- // during build the importmap is inlined
144
- // and shoud not be considered as a dependency anymore
145
- return
146
- }
147
- addDependency({
148
- type,
149
- node,
150
- attribute,
151
- specifier:
152
- attributeName === "content-src" ? new URL(value, url).href : value,
153
- })
154
- } else if (attributeName === "src") {
155
- visitAttributeAsUrlSpecifier({
156
- type,
157
- node,
158
- attributeName: "content-src",
159
- })
160
- } else if (attributeName === "href") {
161
- visitAttributeAsUrlSpecifier({
162
- type,
163
- node,
164
- attributeName: "content-href",
165
- })
166
- }
167
- }
168
- const visitSrcset = ({ type, node }) => {
169
- const srcsetAttribute = getHtmlNodeAttributeByName(node, "srcset")
170
- const srcset = srcsetAttribute ? srcsetAttribute.value : undefined
171
- if (srcset) {
172
- const srcCandidates = htmlAttributeSrcSet.parse(srcset)
173
- srcCandidates.forEach((srcCandidate) => {
174
- addDependency({
175
- type,
176
- node,
177
- attribute: srcsetAttribute,
178
- specifier: srcCandidate.specifier,
179
- })
180
- })
181
- }
182
- }
183
- visitHtmlAst(htmlAst, onNode)
184
- return htmlUrlMentions
185
- }
@@ -1,91 +0,0 @@
1
- import { collectProgramUrlMentions } from "@jsenv/utils/js_ast/program_url_mentions.js"
2
- import { applyBabelPlugins } from "@jsenv/utils/js_ast/apply_babel_plugins.js"
3
- import { createMagicSource } from "@jsenv/utils/sourcemap/magic_source.js"
4
-
5
- export const parseJsModuleUrlMentions = async ({
6
- url,
7
- generatedUrl,
8
- content,
9
- }) => {
10
- const { metadata } = await applyBabelPlugins({
11
- babelPlugins: [
12
- babelPluginMetadataUrlMentions,
13
- babelPluginMetadataUsesTopLevelAwait,
14
- ],
15
- url,
16
- generatedUrl,
17
- content,
18
- })
19
- const { urlMentions, usesTopLevelAwait } = metadata
20
- return {
21
- urlMentions,
22
- replaceUrls: async (getReplacement) => {
23
- const magicSource = createMagicSource(content)
24
- urlMentions.forEach((urlMention) => {
25
- const replacement = getReplacement(urlMention)
26
- if (replacement) {
27
- const { start, end } = urlMention
28
- magicSource.replace({
29
- start,
30
- end,
31
- replacement,
32
- })
33
- }
34
- })
35
- return magicSource.toContentAndSourcemap()
36
- },
37
- data: {
38
- usesTopLevelAwait,
39
- },
40
- }
41
- }
42
-
43
- const babelPluginMetadataUrlMentions = () => {
44
- return {
45
- name: "metadata-url-mentions",
46
- visitor: {
47
- Program(programPath, state) {
48
- const urlMentions = []
49
- collectProgramUrlMentions(programPath).forEach(
50
- ({ type, subtype, path, specifierPath }) => {
51
- const specifierNode = specifierPath.node
52
- if (specifierNode.type === "StringLiteral") {
53
- urlMentions.push({
54
- type,
55
- subtype,
56
- path,
57
- specifier: specifierNode.value,
58
- start: specifierNode.start,
59
- end: specifierNode.end,
60
- line: specifierNode.loc.start.line,
61
- column: specifierNode.loc.start.column,
62
- })
63
- }
64
- },
65
- )
66
- state.file.metadata.urlMentions = urlMentions
67
- },
68
- },
69
- }
70
- }
71
-
72
- const babelPluginMetadataUsesTopLevelAwait = () => {
73
- return {
74
- name: "metadata-uses-top-level-await",
75
- visitor: {
76
- Program: (programPath, state) => {
77
- let usesTopLevelAwait = false
78
- programPath.traverse({
79
- AwaitExpression: (awaitPath) => {
80
- const closestFunction = awaitPath.getFunctionParent()
81
- if (!closestFunction) {
82
- usesTopLevelAwait = true
83
- awaitPath.stop()
84
- }
85
- },
86
- })
87
- state.file.metadata.usesTopLevelAwait = usesTopLevelAwait
88
- },
89
- },
90
- }
91
- }
@@ -1,37 +0,0 @@
1
- import { parseHtmlUrlMentions } from "./html_url_mentions.js"
2
- import { parseCssUrlMentions } from "./css_url_mentions.js"
3
- import { parseJsModuleUrlMentions } from "./js_module_url_mentions.js"
4
- import { parseWorkerClassicUrlMentions } from "./worker_classic_url_mentions.js"
5
-
6
- const parsers = {
7
- html: parseHtmlUrlMentions,
8
- css: parseCssUrlMentions,
9
- js_classic: (urlInfo) => {
10
- if (urlInfo.subtype === "worker" || urlInfo.subtype === "service_worker") {
11
- return parseWorkerClassicUrlMentions(urlInfo)
12
- }
13
- return {}
14
- },
15
- js_module: parseJsModuleUrlMentions,
16
- }
17
-
18
- export const parseUrlMentions = async ({ type, url, content, scenario }) => {
19
- const parser = parsers[type]
20
- if (!parser) {
21
- return null
22
- }
23
- const {
24
- urlMentions = [],
25
- hotDecline = false,
26
- hotAcceptSelf = false,
27
- replaceUrls,
28
- data,
29
- } = await parser({ url, content, scenario })
30
- return {
31
- urlMentions,
32
- hotDecline,
33
- hotAcceptSelf,
34
- replaceUrls,
35
- data,
36
- }
37
- }
@@ -1,37 +0,0 @@
1
- import { createMagicSource } from "@jsenv/utils/sourcemap/magic_source.js"
2
-
3
- export const jsenvPluginImportScriptsBundler = () => {
4
- return {
5
- name: "jsenv:import_scripts_bundler",
6
- bundle: {
7
- js_classic: async (workerUrlInfos, { urlGraph }) => {
8
- const bundleResult = {}
9
- workerUrlInfos.forEach((workerUrlInfo) => {
10
- const magicSource = createMagicSource(workerUrlInfo.content)
11
- const visitDependencies = (urlInfo) => {
12
- urlInfo.dependencies.forEach((dependencyUrl) => {
13
- const dependencyUrlInfo = urlGraph.getUrlInfo(dependencyUrl)
14
- // what if there was some sourcemap for this urlInfo?
15
- // we should compose it too
16
- magicSource.append(dependencyUrlInfo.content)
17
- visitDependencies(dependencyUrlInfo)
18
- })
19
- }
20
- visitDependencies(workerUrlInfo)
21
- const { content, sourcemap } = magicSource.toContentAndSourcemap()
22
- bundleResult[workerUrlInfo.url] = {
23
- type: "worker_classic",
24
- content,
25
- sourcemap,
26
- }
27
- })
28
- return bundleResult
29
- },
30
- },
31
- }
32
- }
33
-
34
- export const parseWorkerClassicUrlMentions = () => {
35
- // use babel_plugin_inline_worker_imports.js
36
- return {}
37
- }