@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,39 +1,38 @@
1
- import { findHighestVersion } from "@jsenv/utils/semantic_versioning/highest_version.js"
2
- import { featureCompats } from "./features_compatibility.js"
1
+ import { findHighestVersion } from "@jsenv/utils/src/semantic_versioning/highest_version.js"
3
2
 
4
- export const RUNTIME_SUPPORT = {
3
+ import { featureCompats } from "./features_compats.js"
4
+
5
+ export const RUNTIME_COMPAT = {
5
6
  featureCompats,
6
7
 
7
- add: (originalRuntimeSupport, feature) => {
8
+ add: (originalRuntimeCompat, feature) => {
8
9
  const featureCompat = getFeatureCompat(feature)
9
- const runtimeSupport = {
10
- ...originalRuntimeSupport,
10
+ const runtimeCompat = {
11
+ ...originalRuntimeCompat,
11
12
  }
12
13
  Object.keys(featureCompat).forEach((runtimeName) => {
13
- const firstVersion = originalRuntimeSupport[runtimeName]
14
+ const firstVersion = originalRuntimeCompat[runtimeName]
14
15
  const secondVersion = featureCompat[runtimeName]
15
- runtimeSupport[runtimeName] = firstVersion
16
+ runtimeCompat[runtimeName] = firstVersion
16
17
  ? findHighestVersion(firstVersion, secondVersion)
17
18
  : secondVersion
18
19
  })
19
- return runtimeSupport
20
+ return runtimeCompat
20
21
  },
21
22
 
22
- isSupported: (runtimeSupport, feature) => {
23
+ isSupported: (runtimeCompat, feature) => {
23
24
  const featureCompat = getFeatureCompat(feature)
24
- const runtimeNames = Object.keys(runtimeSupport)
25
- return runtimeNames.every((runtimeName) => {
26
- const runtimeVersion = runtimeSupport[runtimeName]
25
+ const runtimeNames = Object.keys(runtimeCompat)
26
+ const runtimeWithoutCompat = runtimeNames.find((runtimeName) => {
27
+ const runtimeVersion = runtimeCompat[runtimeName]
27
28
  const runtimeVersionCompatible = featureCompat[runtimeName] || "Infinity"
28
29
  const highestVersion = findHighestVersion(
29
30
  runtimeVersion,
30
31
  runtimeVersionCompatible,
31
32
  )
32
- if (highestVersion !== runtimeVersion) {
33
- return false
34
- }
35
- return true
33
+ return highestVersion !== runtimeVersion
36
34
  })
35
+ return !runtimeWithoutCompat
37
36
  },
38
37
  }
39
38
 
@@ -1,13 +1,17 @@
1
- import { createDetailedMessage } from "@jsenv/logger"
1
+ import { createDetailedMessage } from "@jsenv/log"
2
2
 
3
- export const createResolveError = ({ pluginController, reference, error }) => {
4
- const createFailedToResolveError = ({
5
- code = error.code || "RESOLVE_ERROR",
3
+ export const createResolveUrlError = ({
4
+ pluginController,
5
+ reference,
6
+ error,
7
+ }) => {
8
+ const createFailedToResolveUrlError = ({
9
+ code = error.code || "RESOLVE_URL_ERROR",
6
10
  reason,
7
11
  ...details
8
12
  }) => {
9
13
  const resolveError = new Error(
10
- createDetailedMessage(`Failed to resolve specifier`, {
14
+ createDetailedMessage(`Failed to resolve url reference`, {
11
15
  reason,
12
16
  ...details,
13
17
  "specifier": `"${reference.specifier}"`,
@@ -15,35 +19,35 @@ export const createResolveError = ({ pluginController, reference, error }) => {
15
19
  ...detailsFromPluginController(pluginController),
16
20
  }),
17
21
  )
18
- resolveError.name = "RESOLVE_ERROR"
22
+ resolveError.name = "RESOLVE_URL_ERROR"
19
23
  resolveError.code = code
20
24
  resolveError.reason = reason
21
25
  return resolveError
22
26
  }
23
27
  if (error.message === "NO_RESOLVE") {
24
- return createFailedToResolveError({
25
- reason: `no plugin has handled the specifier during "resolve" hook`,
28
+ return createFailedToResolveUrlError({
29
+ reason: `no plugin has handled the specifier during "resolveUrl" hook`,
26
30
  })
27
31
  }
28
- return createFailedToResolveError({
32
+ return createFailedToResolveUrlError({
29
33
  reason: `An error occured during specifier resolution`,
30
34
  ...detailsFromValueThrown(error),
31
35
  })
32
36
  }
33
37
 
34
- export const createLoadError = ({
38
+ export const createFetchUrlContentError = ({
35
39
  pluginController,
36
40
  reference,
37
41
  urlInfo,
38
42
  error,
39
43
  }) => {
40
- const createFailedToLoadError = ({
41
- code = error.code || "LOAD_ERROR",
44
+ const createFailedToFetchUrlContentError = ({
45
+ code = error.code || "FETCH_URL_CONTENT_ERROR",
42
46
  reason,
43
47
  ...details
44
48
  }) => {
45
- const loadError = new Error(
46
- createDetailedMessage(`Failed to load url`, {
49
+ const fetchContentError = new Error(
50
+ createDetailedMessage(`Failed to fetch url content`, {
47
51
  reason,
48
52
  ...details,
49
53
  "url": urlInfo.url,
@@ -51,98 +55,90 @@ export const createLoadError = ({
51
55
  ...detailsFromPluginController(pluginController),
52
56
  }),
53
57
  )
54
- loadError.name = "LOAD_ERROR"
55
- loadError.code = code
56
- loadError.reason = reason
57
- return loadError
58
+ fetchContentError.name = "FETCH_URL_CONTENT_ERROR"
59
+ fetchContentError.code = code
60
+ fetchContentError.reason = reason
61
+ return fetchContentError
58
62
  }
59
63
 
60
- if (error.message === "NO_LOAD") {
61
- return createFailedToLoadError({
62
- code: "NOT_FOUND",
63
- reason: `no plugin has handled the url during "load" hook`,
64
- })
65
- }
66
64
  if (error.code === "EPERM") {
67
- return createFailedToLoadError({
65
+ return createFailedToFetchUrlContentError({
68
66
  code: "NOT_ALLOWED",
69
67
  reason: `not allowed to read entry on filesystem`,
70
68
  })
71
69
  }
72
- if (error.code === "EISDIR") {
73
- return createFailedToLoadError({
74
- code: "EISDIR",
70
+ if (error.code === "DIRECTORY_REFERENCE_NOT_ALLOWED") {
71
+ return createFailedToFetchUrlContentError({
72
+ code: "DIRECTORY_REFERENCE_NOT_ALLOWED",
75
73
  reason: `found a directory on filesystem`,
76
74
  })
77
75
  }
78
76
  if (error.code === "ENOENT") {
79
- return createFailedToLoadError({
77
+ return createFailedToFetchUrlContentError({
80
78
  code: "NOT_FOUND",
81
79
  reason: "no entry on filesystem",
82
80
  })
83
81
  }
84
- return createFailedToLoadError({
85
- reason: `An error occured during "load"`,
86
- ...detailsFromValueThrown(error),
87
- })
88
- }
89
-
90
- export const createParseError = ({ reference, urlInfo, error }) => {
91
- const createFailedToParseError = ({
92
- code = error.code || "PARSE_ERROR",
93
- reason,
94
- ...details
95
- }) => {
96
- const parseError = new Error(
97
- createDetailedMessage(`Failed to parse ${urlInfo.type}`, {
98
- reason,
99
- ...details,
100
- "url": urlInfo.url,
101
- "url reference trace": reference.trace,
102
- }),
103
- )
104
- parseError.name = "PARSE_ERROR"
105
- parseError.code = code
106
- parseError.reason = reason
107
- return parseError
108
- }
109
- return createFailedToParseError({
110
- reason: `An error occured while parsing content`,
82
+ return createFailedToFetchUrlContentError({
83
+ reason: `An error occured during "fetchUrlContent"`,
111
84
  ...detailsFromValueThrown(error),
112
85
  })
113
86
  }
114
87
 
115
- export const createTransformError = ({
88
+ export const createTransformUrlContentError = ({
116
89
  pluginController,
117
90
  reference,
118
91
  urlInfo,
119
92
  error,
120
93
  }) => {
121
94
  const createFailedToTransformError = ({
122
- code = error.code || "TRANSFORM_ERROR",
95
+ code = error.code || "TRANSFORM_URL_CONTENT_ERROR",
123
96
  reason,
124
97
  ...details
125
98
  }) => {
126
99
  const transformError = new Error(
127
- createDetailedMessage(`Failed to transform ${urlInfo.type}`, {
128
- reason,
129
- ...details,
130
- "url": urlInfo.url,
131
- "url reference trace": reference.trace,
132
- ...detailsFromPluginController(pluginController),
133
- }),
100
+ createDetailedMessage(
101
+ `Failed to transform url content of "${urlInfo.type}"`,
102
+ {
103
+ reason,
104
+ ...details,
105
+ "url": urlInfo.url,
106
+ "url reference trace": reference.trace,
107
+ ...detailsFromPluginController(pluginController),
108
+ },
109
+ ),
134
110
  )
135
- transformError.name = "TRANSFORM_ERROR"
111
+ transformError.name = "TRANSFORM_URL_CONTENT_ERROR"
136
112
  transformError.code = code
137
113
  transformError.reason = reason
138
114
  return transformError
139
115
  }
140
116
  return createFailedToTransformError({
141
- reason: `An error occured during "transform"`,
117
+ reason: `An error occured during "transformUrlContent"`,
142
118
  ...detailsFromValueThrown(error),
143
119
  })
144
120
  }
145
121
 
122
+ export const createFinalizeUrlContentError = ({
123
+ pluginController,
124
+ reference,
125
+ urlInfo,
126
+ error,
127
+ }) => {
128
+ const finalizeError = new Error(
129
+ createDetailedMessage(`Failed to finalize ${urlInfo.type} url content`, {
130
+ "reason": `An error occured during "finalizeUrlContent"`,
131
+ ...detailsFromValueThrown(error),
132
+ "url": urlInfo.url,
133
+ "url reference trace": reference.trace,
134
+ ...detailsFromPluginController(pluginController),
135
+ }),
136
+ )
137
+ finalizeError.name = "FINALIZE_URL_CONTENT_ERROR"
138
+ finalizeError.reason = `An error occured during "finalizeUrlContent"`
139
+ return finalizeError
140
+ }
141
+
146
142
  const detailsFromPluginController = (pluginController) => {
147
143
  const currentPlugin = pluginController.getCurrentPlugin()
148
144
  if (!currentPlugin) {
@@ -0,0 +1,24 @@
1
+ import { validateResponseIntegrity } from "@jsenv/integrity"
2
+
3
+ export const assertFetchedContentCompliance = ({ reference, urlInfo }) => {
4
+ const { expectedContentType } = reference
5
+ if (expectedContentType && urlInfo.contentType !== expectedContentType) {
6
+ throw new Error(
7
+ `Unexpected content-type on url: got "${urlInfo.contentType}" instead of "${expectedContentType}"`,
8
+ )
9
+ }
10
+ const { expectedType } = reference
11
+ if (expectedType && urlInfo.type !== expectedType) {
12
+ throw new Error(
13
+ `Unexpected type on url: got "${urlInfo.type}" instead of "${expectedType}"`,
14
+ )
15
+ }
16
+ const { integrity } = reference
17
+ if (integrity) {
18
+ validateResponseIntegrity({
19
+ url: urlInfo.url,
20
+ type: "basic",
21
+ dataRepresentation: urlInfo.content,
22
+ })
23
+ }
24
+ }
@@ -1,59 +1,17 @@
1
- import { fileSystemPathToUrl, urlToFileSystemPath } from "@jsenv/filesystem"
1
+ import { fileSystemPathToUrl, urlToFileSystemPath } from "@jsenv/urls"
2
2
 
3
3
  export const fileUrlConverter = {
4
- asUrlWithoutSpecialParams: (fileUrl) => {
5
- const urlObject = new URL(fileUrl)
6
- let { origin, pathname, searchParams, hash } = urlObject
7
- // origin is "null" for "file://" urls with Node.js
8
- if (origin === "null" && urlObject.href.startsWith("file:")) {
9
- origin = "file://"
10
- }
11
- if (searchParams.has("json_module")) {
12
- searchParams.delete("json_module")
13
- return `${origin}${pathname}.json_module${stringifyQuery(
14
- searchParams,
15
- )}${hash}`
16
- }
17
- if (searchParams.has("css_module")) {
18
- searchParams.delete("css_module")
19
- return `${origin}${pathname}.css_module${stringifyQuery(
20
- searchParams,
21
- )}${hash}`
22
- }
23
- if (searchParams.has("text_module")) {
24
- searchParams.delete("text_module")
25
- return `${origin}${pathname}.text_module${stringifyQuery(
26
- searchParams,
27
- )}${hash}`
28
- }
29
- return fileUrl
30
- },
31
4
  asFilePath: (fileUrl) => {
32
- const fileUrlWithoutSpecialParam =
33
- fileUrlConverter.asUrlWithoutSpecialParams(fileUrl)
34
- const filePath = urlToFileSystemPath(fileUrlWithoutSpecialParam)
35
- return filePath
5
+ const filePath = urlToFileSystemPath(fileUrl)
6
+ const urlObject = new URL(fileUrl)
7
+ const { searchParams } = urlObject
8
+ return `${filePath}${stringifyQuery(searchParams)}`
36
9
  },
37
10
  asFileUrl: (filePath) => {
38
- if (filePath.endsWith(".json_module")) {
39
- const jsonFileUrl = fileSystemPathToUrl(
40
- filePath.slice(0, -".json_module".length),
41
- )
42
- return `${jsonFileUrl}?json_module`
43
- }
44
- if (filePath.endsWith(".css_module")) {
45
- const cssFileUrl = fileSystemPathToUrl(
46
- filePath.slice(0, -".css_module".length),
47
- )
48
- return `${cssFileUrl}?css_module`
49
- }
50
- if (filePath.endsWith(".text_module")) {
51
- const textFileUrl = fileSystemPathToUrl(
52
- filePath.slice(0, -".text_module".length),
53
- )
54
- return `${textFileUrl}?text_module`
55
- }
56
- return fileSystemPathToUrl(filePath)
11
+ return decodeURIComponent(fileSystemPathToUrl(filePath)).replace(
12
+ /[=](?=&|$)/g,
13
+ "",
14
+ )
57
15
  },
58
16
  }
59
17