@jsenv/core 27.0.0-alpha.61 → 27.0.0-alpha.64

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 (43) hide show
  1. package/dist/event_source_client.js +3 -3
  2. package/dist/event_source_client.js.map +7 -8
  3. package/dist/html_supervisor_installer.js +1 -1
  4. package/dist/html_supervisor_installer.js.map +2 -2
  5. package/dist/s.js +626 -0
  6. package/dist/s.js.map +207 -0
  7. package/main.js +1 -0
  8. package/package.json +8 -8
  9. package/src/build/build.js +23 -8
  10. package/src/build/inject_global_version_mappings.js +18 -5
  11. package/src/build/start_build_server.js +49 -32
  12. package/src/dev/start_dev_server.js +11 -3
  13. package/src/execute/runtimes/browsers/from_playwright.js +10 -0
  14. package/src/execute/runtimes/node/node_process.js +8 -0
  15. package/src/omega/kitchen.js +57 -150
  16. package/src/omega/server/file_service.js +34 -17
  17. package/src/omega/url_graph/url_graph_load.js +10 -17
  18. package/src/omega/url_graph/url_info_transformations.js +1 -4
  19. package/src/omega/url_graph.js +6 -2
  20. package/src/omega/url_specifier_encoding.js +59 -0
  21. package/src/plugins/autoreload/dev_sse/client/event_source_client.js +7 -3
  22. package/src/plugins/commonjs_globals/jsenv_plugin_commonjs_globals.js +1 -1
  23. package/src/plugins/html_supervisor/client/html_supervisor_installer.js +1 -1
  24. package/src/plugins/importmap/jsenv_plugin_importmap.js +2 -4
  25. package/src/plugins/inject_globals/jsenv_plugin_inject_globals.js +51 -42
  26. package/src/plugins/inline/jsenv_plugin_data_urls.js +1 -4
  27. package/src/plugins/inline/jsenv_plugin_html_inline_content.js +3 -5
  28. package/src/plugins/inline/jsenv_plugin_inline_query_param.js +1 -4
  29. package/src/plugins/inline/jsenv_plugin_js_inline_content.js +1 -4
  30. package/src/plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +4 -0
  31. package/src/plugins/plugins.js +4 -1
  32. package/src/plugins/transpilation/as_js_classic/client/s.js +362 -807
  33. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic.js +28 -12
  34. package/src/plugins/transpilation/as_js_classic/{jsenv_plugin_workers_type_module_as_classic.js → jsenv_plugin_as_js_classic_workers.js} +2 -2
  35. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_script_type_module_as_classic.js +165 -133
  36. package/src/plugins/transpilation/babel/jsenv_plugin_babel.js +5 -2
  37. package/src/plugins/transpilation/import_assertions/jsenv_plugin_import_assertions.js +1 -2
  38. package/src/plugins/transpilation/jsenv_plugin_transpilation.js +4 -1
  39. package/src/test/execute_plan.js +39 -14
  40. package/src/test/execute_test_plan.js +2 -0
  41. package/src/test/logs_file_execution.js +47 -38
  42. package/src/plugins/transpilation/as_js_classic/client/s.js.md +0 -1
  43. package/src/plugins/transpilation/fetch_original_url_info.js +0 -30
package/dist/s.js.map ADDED
@@ -0,0 +1,207 @@
1
+ {
2
+ "version": 3,
3
+ "names": [
4
+ "_await",
5
+ "value",
6
+ "then",
7
+ "direct",
8
+ "Promise",
9
+ "resolve",
10
+ "_async",
11
+ "f",
12
+ "args",
13
+ "i",
14
+ "arguments",
15
+ "length",
16
+ "apply",
17
+ "e",
18
+ "reject",
19
+ "_empty",
20
+ "_awaitIgnored",
21
+ "_invoke",
22
+ "body",
23
+ "result",
24
+ "_catch",
25
+ "recover",
26
+ "_slicedToArray",
27
+ "arr",
28
+ "_arrayWithHoles",
29
+ "_iterableToArrayLimit",
30
+ "_unsupportedIterableToArray",
31
+ "_nonIterableRest",
32
+ "TypeError",
33
+ "o",
34
+ "minLen",
35
+ "_arrayLikeToArray",
36
+ "n",
37
+ "Object",
38
+ "prototype",
39
+ "toString",
40
+ "call",
41
+ "slice",
42
+ "constructor",
43
+ "name",
44
+ "Array",
45
+ "from",
46
+ "test",
47
+ "len",
48
+ "arr2",
49
+ "_i",
50
+ "Symbol",
51
+ "iterator",
52
+ "_arr",
53
+ "_n",
54
+ "_d",
55
+ "_s",
56
+ "_e",
57
+ "next",
58
+ "done",
59
+ "push",
60
+ "err",
61
+ "isArray",
62
+ "_typeof",
63
+ "obj",
64
+ "loadRegistry",
65
+ "create",
66
+ "registerRegistry",
67
+ "inlineScriptCount",
68
+ "System",
69
+ "hasDocument",
70
+ "document",
71
+ "envGlobal",
72
+ "self",
73
+ "isWorker",
74
+ "WorkerGlobalScope",
75
+ "isServiceWorker",
76
+ "skipWaiting",
77
+ "baseUrl",
78
+ "location",
79
+ "href",
80
+ "split",
81
+ "lastSlashIndex",
82
+ "lastIndexOf",
83
+ "resolveUrl",
84
+ "specifier",
85
+ "URL",
86
+ "baseElement",
87
+ "querySelector",
88
+ "register",
89
+ "deps",
90
+ "declare",
91
+ "currentScript",
92
+ "Error",
93
+ "__s__",
94
+ "src",
95
+ "url",
96
+ "concat",
97
+ "window",
98
+ "_import2",
99
+ "instantiate",
100
+ "script",
101
+ "createScript",
102
+ "lastWindowErrorUrl",
103
+ "lastWindowError",
104
+ "windowErrorCallback",
105
+ "event",
106
+ "filename",
107
+ "error",
108
+ "addEventListener",
109
+ "removeEventListener",
110
+ "head",
111
+ "removeChild",
112
+ "appendChild",
113
+ "createElement",
114
+ "async",
115
+ "indexOf",
116
+ "origin",
117
+ "crossOrigin",
118
+ "firstImportCallbacks",
119
+ "eventsToCatch",
120
+ "eventCallbackProxies",
121
+ "firstImportPromise",
122
+ "forEach",
123
+ "eventName",
124
+ "eventsToDispatch",
125
+ "eventCallback",
126
+ "eventCallbackProxy",
127
+ "type",
128
+ "waitUntil",
129
+ "callback",
130
+ "options",
131
+ "_eventsToCatch",
132
+ "eventQueue",
133
+ "dispatchEvent",
134
+ "namespace",
135
+ "firstImportCallback",
136
+ "fetch",
137
+ "credentials",
138
+ "response",
139
+ "ok",
140
+ "text",
141
+ "source",
142
+ "eval",
143
+ "_import",
144
+ "parentUrl",
145
+ "load",
146
+ "getOrCreateLoad",
147
+ "completionPromise",
148
+ "startExecution",
149
+ "firstParentUrl",
150
+ "existingLoad",
151
+ "importerSetters",
152
+ "createNamespace",
153
+ "instantiatePromise",
154
+ "registration",
155
+ "instantiateReturnValue",
156
+ "_export",
157
+ "firstArg",
158
+ "secondArg",
159
+ "hoistedExports",
160
+ "changed",
161
+ "keys",
162
+ "__esModule",
163
+ "importerSetter",
164
+ "_registration",
165
+ "_registration2",
166
+ "_declare",
167
+ "import",
168
+ "importId",
169
+ "meta",
170
+ "createMeta",
171
+ "setters",
172
+ "_declare$execute",
173
+ "execute",
174
+ "linkPromise",
175
+ "all",
176
+ "map",
177
+ "dep",
178
+ "index",
179
+ "setter",
180
+ "dependencyUrl",
181
+ "dependencyLoad",
182
+ "dependencyLoads",
183
+ "instantiateAll",
184
+ "postOrderExec",
185
+ "parent",
186
+ "loaded",
187
+ "seen",
188
+ "_exit",
189
+ "executePromise",
190
+ "_result3",
191
+ "depLoadPromises",
192
+ "depLoadPromise",
193
+ "executeReturnValue",
194
+ "nullContext",
195
+ "freeze",
196
+ "id",
197
+ "toStringTag",
198
+ "defineProperty"
199
+ ],
200
+ "sources": [
201
+ ""
202
+ ],
203
+ "sourcesContent": [
204
+ "function _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nfunction _empty() {}\n\nfunction _awaitIgnored(value, direct) {\n if (!direct) {\n return value && value.then ? value.then(_empty) : Promise.resolve();\n }\n}\n\nfunction _invoke(body, then) {\n var result = body();\n\n if (result && result.then) {\n return result.then(then);\n }\n\n return then(result);\n}\n\nfunction _catch(body, recover) {\n try {\n var result = body();\n } catch (e) {\n return recover(e);\n }\n\n if (result && result.then) {\n return result.then(void 0, recover);\n }\n\n return result;\n}\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n(function () {\n /* eslint-env browser */\n\n /* globals self */\n var loadRegistry = Object.create(null);\n var registerRegistry = Object.create(null);\n var inlineScriptCount = 0;\n var System = {};\n var hasDocument = (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var envGlobal = self;\n var isWorker = !hasDocument && typeof envGlobal.WorkerGlobalScope === \"function\" && envGlobal instanceof envGlobal.WorkerGlobalScope;\n var isServiceWorker = isWorker && typeof self.skipWaiting === \"function\";\n envGlobal.System = System;\n var baseUrl = envGlobal.location.href.split(\"#\")[0].split(\"?\")[0];\n var lastSlashIndex = baseUrl.lastIndexOf(\"/\");\n\n if (lastSlashIndex !== -1) {\n baseUrl = baseUrl.slice(0, lastSlashIndex + 1);\n }\n\n var resolveUrl = function resolveUrl(specifier, baseUrl) {\n return new URL(specifier, baseUrl).href;\n };\n\n if (hasDocument) {\n var baseElement = document.querySelector(\"base[href]\");\n\n if (baseElement) {\n baseUrl = baseElement.href;\n }\n\n System.register = function (deps, declare) {\n if (!document.currentScript) {\n throw new Error(\"unexpected call\");\n }\n\n if (document.currentScript.__s__) {\n registerRegistry[document.currentScript.src] = [deps, declare];\n return null;\n }\n\n var url = document.currentScript.src || \"\".concat(window.location.href, \"__inline_script__\").concat(++inlineScriptCount);\n registerRegistry[url] = [deps, declare];\n return _import2(url);\n };\n\n System.instantiate = function (url) {\n var script = createScript(url);\n return new Promise(function (resolve, reject) {\n var lastWindowErrorUrl;\n var lastWindowError;\n\n var windowErrorCallback = function windowErrorCallback(event) {\n lastWindowErrorUrl = event.filename;\n lastWindowError = event.error;\n };\n\n window.addEventListener(\"error\", windowErrorCallback);\n script.addEventListener(\"error\", function () {\n window.removeEventListener(\"error\", windowErrorCallback);\n reject(\"An error occured while loading url with <script> for \".concat(url));\n });\n script.addEventListener(\"load\", function () {\n window.removeEventListener(\"error\", windowErrorCallback);\n document.head.removeChild(script); // Note that if an error occurs that isn't caught by this if statement,\n // that getRegister will return null and a \"did not instantiate\" error will be thrown.\n\n if (lastWindowErrorUrl === url) {\n reject(lastWindowError);\n } else {\n resolve();\n }\n });\n document.head.appendChild(script);\n });\n };\n\n var createScript = function createScript(url) {\n var script = document.createElement(\"script\");\n script.async = true; // Only add cross origin for actual cross origin\n // this is because Safari triggers for all\n // - https://bugs.webkit.org/show_bug.cgi?id=171566\n\n if (url.indexOf(\"\".concat(self.location.origin, \"/\"))) {\n script.crossOrigin = \"anonymous\";\n }\n\n script.__s__ = true;\n script.src = url;\n return script;\n };\n }\n\n if (isWorker) {\n /*\n * SystemJs loads X files before executing the worker/service worker main file\n * It mean events dispatched during this phase could be missed\n * A warning like the one below is displayed in chrome devtools:\n * \"Event handler of 'install' event must be added on the initial evaluation of worker script\"\n * To fix that code below listen for these events early and redispatch them later\n * once the worker file is executed (the listeners are installed)\n */\n var firstImportCallbacks = [];\n\n if (isServiceWorker) {\n // for service worker there is more events to listen\n // and, to get rid of the warning, we override self.addEventListener\n var eventsToCatch = [\"message\", \"install\", \"activate\", \"fetch\"];\n var eventCallbackProxies = {};\n var firstImportPromise = new Promise(function (resolve) {\n firstImportCallbacks.push(resolve);\n });\n eventsToCatch.forEach(function (eventName) {\n var eventsToDispatch = [];\n\n var eventCallback = function eventCallback(event) {\n var eventCallbackProxy = eventCallbackProxies[event.type];\n\n if (eventCallbackProxy) {\n eventCallbackProxy(event);\n } else {\n eventsToDispatch.push(event);\n event.waitUntil(firstImportPromise);\n }\n };\n\n self.addEventListener(eventName, eventCallback);\n firstImportCallbacks.push(function () {\n if (eventsToDispatch.length) {\n var eventCallbackProxy = eventCallbackProxies[eventsToDispatch[0].type];\n\n if (eventCallbackProxy) {\n eventsToDispatch.forEach(function (event) {\n eventCallbackProxy(event);\n });\n }\n\n eventsToDispatch.length = 0;\n }\n });\n });\n var addEventListener = self.addEventListener;\n\n self.addEventListener = function (eventName, callback, options) {\n if (eventsToCatch.indexOf(eventName) > -1) {\n eventCallbackProxies[eventName] = callback;\n return null;\n }\n\n return addEventListener.call(self, eventName, callback, options);\n };\n } else {\n var _eventsToCatch = [\"message\"];\n\n _eventsToCatch.forEach(function (eventName) {\n var eventQueue = [];\n\n var eventCallback = function eventCallback(event) {\n eventQueue.push(event);\n };\n\n self.addEventListener(eventName, eventCallback);\n firstImportCallbacks.push(function () {\n self.removeEventListener(eventName, eventCallback);\n eventQueue.forEach(function (event) {\n self.dispatchEvent(event);\n });\n eventQueue.length = 0;\n });\n });\n }\n\n System.register = _async(function (deps, declare) {\n System.register = function () {\n throw new Error(\"unexpected call\");\n };\n\n var url = self.location.href;\n registerRegistry[url] = [deps, declare];\n return _await(_import2(url), function (namespace) {\n firstImportCallbacks.forEach(function (firstImportCallback) {\n firstImportCallback();\n });\n firstImportCallbacks.length = 0;\n return namespace;\n });\n });\n System.instantiate = _async(function (url) {\n return _await(self.fetch(url, {\n credentials: \"same-origin\"\n }), function (response) {\n if (!response.ok) {\n throw Error(\"Failed to fetch module at \".concat(url));\n }\n\n return _await(response.text(), function (source) {\n if (source.indexOf(\"//# sourceURL=\") < 0) {\n source += \"\\n//# sourceURL=\".concat(url);\n }\n\n var register = System.register;\n\n System.register = function (deps, declare) {\n registerRegistry[url] = [deps, declare];\n };\n\n (0, self.eval)(source);\n System.register = register;\n });\n });\n });\n }\n\n var _import2 = function _import(specifier, parentUrl) {\n var url = resolveUrl(specifier, parentUrl);\n var load = getOrCreateLoad(url, parentUrl);\n return load.completionPromise || startExecution(load);\n };\n\n var getOrCreateLoad = function getOrCreateLoad(url, firstParentUrl) {\n var existingLoad = loadRegistry[url];\n\n if (existingLoad) {\n return existingLoad;\n }\n\n var load = {\n url: url\n };\n loadRegistry[url] = load;\n var importerSetters = [];\n load.importerSetters = importerSetters;\n var namespace = createNamespace();\n load.namespace = namespace;\n load.instantiatePromise = _async(function () {\n return _catch(function () {\n var registration = registerRegistry[url];\n return _invoke(function () {\n if (!registration) {\n var instantiateReturnValue = System.instantiate(url, firstParentUrl);\n return _invoke(function () {\n if (instantiateReturnValue) {\n return _awaitIgnored(instantiateReturnValue);\n }\n }, function () {\n registration = registerRegistry[url];\n });\n }\n }, function () {\n if (!registration) {\n throw new Error(\"System.register() not called after executing \".concat(url));\n }\n\n var _export = function _export(firstArg, secondArg) {\n load.hoistedExports = true;\n var changed = false;\n\n if (typeof firstArg === \"string\") {\n var name = firstArg;\n var value = secondArg;\n\n if (!(name in namespace) || namespace[name] !== value) {\n namespace[name] = value;\n changed = true;\n }\n } else {\n Object.keys(firstArg).forEach(function (name) {\n var value = firstArg[name];\n\n if (!(name in namespace) || namespace[name] !== value) {\n namespace[name] = value;\n changed = true;\n }\n });\n\n if (firstArg && firstArg.__esModule) {\n namespace.__esModule = firstArg.__esModule;\n }\n }\n\n if (changed) {\n importerSetters.forEach(function (importerSetter) {\n if (importerSetter) {\n importerSetter(namespace);\n }\n });\n }\n\n return secondArg;\n };\n\n var _registration = registration,\n _registration2 = _slicedToArray(_registration, 2),\n deps = _registration2[0],\n declare = _registration2[1];\n\n var _declare = declare(_export, {\n import: function _import(importId) {\n return _import2(importId, url);\n },\n meta: createMeta(url)\n }),\n setters = _declare.setters,\n _declare$execute = _declare.execute,\n execute = _declare$execute === void 0 ? function () {} : _declare$execute;\n\n load.deps = deps;\n load.setters = setters;\n load.execute = execute;\n });\n }, function (e) {\n load.error = e;\n load.execute = null;\n });\n })();\n load.linkPromise = _async(function () {\n return _await(load.instantiatePromise, function () {\n return _await(Promise.all(load.deps.map(_async(function (dep, index) {\n var setter = load.setters[index];\n var dependencyUrl = resolveUrl(dep, url);\n var dependencyLoad = getOrCreateLoad(dependencyUrl, url);\n return _invoke(function () {\n if (dependencyLoad.instantiatePromise) {\n return _awaitIgnored(dependencyLoad.instantiatePromise);\n }\n }, function () {\n if (setter) {\n dependencyLoad.importerSetters.push(setter);\n\n if (dependencyLoad.hoistedExports || !dependencyLoad.instantiatePromise) {\n setter(dependencyLoad.namespace);\n }\n }\n\n return dependencyLoad;\n });\n }))), function (dependencyLoads) {\n load.dependencyLoads = dependencyLoads;\n });\n });\n })();\n return load;\n };\n\n var startExecution = _async(function (load) {\n load.completionPromise = function () {\n return _await(instantiateAll(load, load, {}), function () {\n return _await(postOrderExec(load, {}), function () {\n return load.namespace;\n });\n });\n }();\n\n return load.completionPromise;\n });\n\n var instantiateAll = _async(function (load, parent, loaded) {\n if (loaded[load.url]) {\n return;\n }\n\n loaded[load.url] = true;\n return _catch(function () {\n return _invoke(function () {\n if (load.linkPromise) {\n // load.linkPromise is null once instantiated\n return _awaitIgnored(load.linkPromise);\n }\n }, function () {\n // if (!load.parent || !load.parent.execute) {\n // load.parent = parent\n // }\n return _awaitIgnored(Promise.all(load.dependencyLoads.map(function (dependencyLoad) {\n return instantiateAll(dependencyLoad, parent, loaded);\n })));\n });\n }, function (error) {\n if (load.error) {\n throw error;\n }\n\n load.execute = null;\n throw error;\n });\n });\n\n var postOrderExec = _async(function (load, seen) {\n var _exit = false;\n\n if (seen[load.url]) {\n return;\n }\n\n seen[load.url] = true;\n return _invoke(function () {\n if (!load.execute) {\n if (load.error) {\n throw load.error;\n }\n\n return _invoke(function () {\n if (load.executePromise) {\n return _awaitIgnored(load.executePromise);\n }\n }, function () {\n _exit = true;\n });\n }\n }, function (_result3) {\n if (_exit) return _result3;\n // deps execute first, unless circular\n var depLoadPromises = [];\n load.dependencyLoads.forEach(function (dependencyLoad) {\n try {\n var depLoadPromise = postOrderExec(dependencyLoad, seen);\n\n if (depLoadPromise) {\n depLoadPromises.push(depLoadPromise);\n }\n } catch (err) {\n load.execute = null;\n load.error = err;\n throw err;\n }\n });\n return _invoke(function () {\n if (depLoadPromises.length) {\n return _awaitIgnored(Promise.all(depLoadPromises));\n }\n }, function () {\n try {\n var executeReturnValue = load.execute.call(nullContext);\n\n if (executeReturnValue) {\n load.executePromise = executeReturnValue.then(function () {\n load.executePromise = null;\n load.completionPromise = load.namespace;\n }, function (error) {\n load.executePromise = null;\n load.error = error;\n throw error;\n });\n return;\n }\n\n load.instantiatePromise = null;\n load.linkPromise = null;\n load.completionPromise = load.namespace;\n } catch (error) {\n load.error = error;\n throw error;\n } finally {\n load.execute = null;\n }\n });\n });\n }); // the closest we can get to call(undefined)\n\n\n var nullContext = Object.freeze(Object.create(null));\n\n var createMeta = function createMeta(url) {\n return {\n url: url,\n resolve: function resolve(id, parentUrl) {\n return resolveUrl(id, parentUrl);\n }\n };\n };\n\n var createNamespace = typeof Symbol !== \"undefined\" && Symbol.toStringTag ? function () {\n var namespace = Object.create(null);\n Object.defineProperty(namespace, Symbol.toStringTag, {\n value: \"Module\"\n });\n return namespace;\n } : function () {\n return Object.create(null);\n };\n})();\n"
205
+ ],
206
+ "mappings": ";;;;;;;;;;;;;;;EAAA,SAASA,MAAT,CAAgBC,KAAhB,EAAuBC,IAAvB,EAA6BC,MAA7B,EAAqC;IACnC,IAAIA,MAAJ,EAAY;MACV,OAAOD,IAAI,GAAGA,IAAI,CAACD,KAAD,CAAP,GAAiBA,KAA5B;IACD;;IAED,IAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACC,IAArB,EAA2B;MACzBD,KAAK,GAAGG,OAAO,CAACC,OAAR,CAAgBJ,KAAhB,CAAR;IACD;;IAED,OAAOC,IAAI,GAAGD,KAAK,CAACC,IAAN,CAAWA,IAAX,CAAH,GAAsBD,KAAjC;EACD;;EAED,SAASK,MAAT,CAAgBC,CAAhB,EAAmB;IACjB,OAAO,YAAY;MACjB,KAAK,IAAIC,IAAI,GAAG,EAAX,EAAeC,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;QACpDD,IAAI,CAACC,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;MACD;;MAED,IAAI;QACF,OAAOL,OAAO,CAACC,OAAR,CAAgBE,CAAC,CAACK,KAAF,CAAQ,IAAR,EAAcJ,IAAd,CAAhB,CAAP;MACD,CAFD,CAEE,OAAOK,CAAP,EAAU;QACV,OAAOT,OAAO,CAACU,MAAR,CAAeD,CAAf,CAAP;MACD;IACF,CAVD;EAWD;;EAED,SAASE,MAAT,GAAkB,CAAE;;EAEpB,SAASC,aAAT,CAAuBf,KAAvB,EAA8BE,MAA9B,EAAsC;IACpC,IAAI,CAACA,MAAL,EAAa;MACX,OAAOF,KAAK,IAAIA,KAAK,CAACC,IAAf,GAAsBD,KAAK,CAACC,IAAN,CAAWa,MAAX,CAAtB,GAA2CX,OAAO,CAACC,OAAR,EAAlD;IACD;EACF;;EAED,SAASY,OAAT,CAAiBC,IAAjB,EAAuBhB,IAAvB,EAA6B;IAC3B,IAAIiB,MAAM,GAAGD,IAAI,EAAjB;;IAEA,IAAIC,MAAM,IAAIA,MAAM,CAACjB,IAArB,EAA2B;MACzB,OAAOiB,MAAM,CAACjB,IAAP,CAAYA,IAAZ,CAAP;IACD;;IAED,OAAOA,IAAI,CAACiB,MAAD,CAAX;EACD;;EAED,SAASC,MAAT,CAAgBF,IAAhB,EAAsBG,OAAtB,EAA+B;IAC7B,IAAI;MACF,IAAIF,MAAM,GAAGD,IAAI,EAAjB;IACD,CAFD,CAEE,OAAOL,CAAP,EAAU;MACV,OAAOQ,OAAO,CAACR,CAAD,CAAd;IACD;;IAED,IAAIM,MAAM,IAAIA,MAAM,CAACjB,IAArB,EAA2B;MACzB,OAAOiB,MAAM,CAACjB,IAAP,CAAY,KAAK,CAAjB,EAAoBmB,OAApB,CAAP;IACD;;IAED,OAAOF,MAAP;EACD;;EAED,SAASG,cAAT,CAAwBC,GAAxB,EAA6Bd,CAA7B,EAAgC;IAAE,OAAOe,eAAe,CAACD,GAAD,CAAf,IAAwBE,qBAAqB,CAACF,GAAD,EAAMd,CAAN,CAA7C,IAAyDiB,2BAA2B,CAACH,GAAD,EAAMd,CAAN,CAApF,IAAgGkB,gBAAgB,EAAvH;EAA4H;;EAE9J,SAASA,gBAAT,GAA4B;IAAE,MAAM,IAAIC,SAAJ,CAAc,2IAAd,CAAN;EAAmK;;EAEjM,SAASF,2BAAT,CAAqCG,CAArC,EAAwCC,MAAxC,EAAgD;IAAE,IAAI,CAACD,CAAL,EAAQ;IAAQ,IAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B,OAAOE,iBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;IAAqC,IAAIE,CAAC,GAAGC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,CAA/B,EAAkCQ,KAAlC,CAAwC,CAAxC,EAA2C,CAAC,CAA5C,CAAR;IAAwD,IAAIL,CAAC,KAAK,QAAN,IAAkBH,CAAC,CAACS,WAAxB,EAAqCN,CAAC,GAAGH,CAAC,CAACS,WAAF,CAAcC,IAAlB;IAAwB,IAAIP,CAAC,KAAK,KAAN,IAAeA,CAAC,KAAK,KAAzB,EAAgC,OAAOQ,KAAK,CAACC,IAAN,CAAWZ,CAAX,CAAP;IAAsB,IAAIG,CAAC,KAAK,WAAN,IAAqB,2CAA2CU,IAA3C,CAAgDV,CAAhD,CAAzB,EAA6E,OAAOD,iBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;EAAsC;;EAEha,SAASC,iBAAT,CAA2BR,GAA3B,EAAgCoB,GAAhC,EAAqC;IAAE,IAAIA,GAAG,IAAI,IAAP,IAAeA,GAAG,GAAGpB,GAAG,CAACZ,MAA7B,EAAqCgC,GAAG,GAAGpB,GAAG,CAACZ,MAAV;;IAAkB,KAAK,IAAIF,CAAC,GAAG,CAAR,EAAWmC,IAAI,GAAG,IAAIJ,KAAJ,CAAUG,GAAV,CAAvB,EAAuClC,CAAC,GAAGkC,GAA3C,EAAgDlC,CAAC,EAAjD,EAAqD;MAAEmC,IAAI,CAACnC,CAAD,CAAJ,GAAUc,GAAG,CAACd,CAAD,CAAb;IAAmB;;IAAC,OAAOmC,IAAP;EAAc;;EAEvL,SAASnB,qBAAT,CAA+BF,GAA/B,EAAoCd,CAApC,EAAuC;IAAE,IAAIoC,EAAE,GAAGtB,GAAG,IAAI,IAAP,GAAc,IAAd,GAAqB,OAAOuB,MAAP,KAAkB,WAAlB,IAAiCvB,GAAG,CAACuB,MAAM,CAACC,QAAR,CAApC,IAAyDxB,GAAG,CAAC,YAAD,CAA1F;;IAA0G,IAAIsB,EAAE,IAAI,IAAV,EAAgB;IAAQ,IAAIG,IAAI,GAAG,EAAX;IAAe,IAAIC,EAAE,GAAG,IAAT;IAAe,IAAIC,EAAE,GAAG,KAAT;;IAAgB,IAAIC,EAAJ,EAAQC,EAAR;;IAAY,IAAI;MAAE,KAAKP,EAAE,GAAGA,EAAE,CAACT,IAAH,CAAQb,GAAR,CAAV,EAAwB,EAAE0B,EAAE,GAAG,CAACE,EAAE,GAAGN,EAAE,CAACQ,IAAH,EAAN,EAAiBC,IAAxB,CAAxB,EAAuDL,EAAE,GAAG,IAA5D,EAAkE;QAAED,IAAI,CAACO,IAAL,CAAUJ,EAAE,CAAClD,KAAb;;QAAqB,IAAIQ,CAAC,IAAIuC,IAAI,CAACrC,MAAL,KAAgBF,CAAzB,EAA4B;MAAQ;IAAE,CAArI,CAAsI,OAAO+C,GAAP,EAAY;MAAEN,EAAE,GAAG,IAAL;MAAWE,EAAE,GAAGI,GAAL;IAAW,CAA1K,SAAmL;MAAE,IAAI;QAAE,IAAI,CAACP,EAAD,IAAOJ,EAAE,CAAC,QAAD,CAAF,IAAgB,IAA3B,EAAiCA,EAAE,CAAC,QAAD,CAAF;MAAiB,CAAxD,SAAiE;QAAE,IAAIK,EAAJ,EAAQ,MAAME,EAAN;MAAW;IAAE;;IAAC,OAAOJ,IAAP;EAAc;;EAEjgB,SAASxB,eAAT,CAAyBD,GAAzB,EAA8B;IAAE,IAAIiB,KAAK,CAACiB,OAAN,CAAclC,GAAd,CAAJ,EAAwB,OAAOA,GAAP;EAAa;;EAErE,SAASmC,OAAT,CAAiBC,GAAjB,EAAsB;IAAE;;IAA2B,OAAOD,OAAO,GAAG,cAAc,OAAOZ,MAArB,IAA+B,YAAY,OAAOA,MAAM,CAACC,QAAzD,GAAoE,UAAUY,GAAV,EAAe;MAAE,OAAO,OAAOA,GAAd;IAAoB,CAAzG,GAA4G,UAAUA,GAAV,EAAe;MAAE,OAAOA,GAAG,IAAI,cAAc,OAAOb,MAA5B,IAAsCa,GAAG,CAACrB,WAAJ,KAAoBQ,MAA1D,IAAoEa,GAAG,KAAKb,MAAM,CAACZ,SAAnF,GAA+F,QAA/F,GAA0G,OAAOyB,GAAxH;IAA8H,CAArQ,EAAuQD,OAAO,CAACC,GAAD,CAArR;EAA6R;;EAEhV,CAAC,YAAY;IACX;;IAEA;IACA,IAAIC,YAAY,GAAG3B,MAAM,CAAC4B,MAAP,CAAc,IAAd,CAAnB;IACA,IAAIC,gBAAgB,GAAG7B,MAAM,CAAC4B,MAAP,CAAc,IAAd,CAAvB;IACA,IAAIE,iBAAiB,GAAG,CAAxB;IACA,IAAIC,MAAM,GAAG,EAAb;IACA,IAAIC,WAAW,GAAG,CAAC,OAAOC,QAAP,KAAoB,WAApB,GAAkC,WAAlC,GAAgDR,OAAO,CAACQ,QAAD,CAAxD,MAAwE,QAA1F;IACA,IAAIC,SAAS,GAAGC,IAAhB;IACA,IAAIC,QAAQ,GAAG,CAACJ,WAAD,IAAgB,OAAOE,SAAS,CAACG,iBAAjB,KAAuC,UAAvD,IAAqEH,SAAS,YAAYA,SAAS,CAACG,iBAAnH;IACA,IAAIC,eAAe,GAAGF,QAAQ,IAAI,OAAOD,IAAI,CAACI,WAAZ,KAA4B,UAA9D;IACAL,SAAS,CAACH,MAAV,GAAmBA,MAAnB;IACA,IAAIS,OAAO,GAAGN,SAAS,CAACO,QAAV,CAAmBC,IAAnB,CAAwBC,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,EAAsCA,KAAtC,CAA4C,GAA5C,EAAiD,CAAjD,CAAd;IACA,IAAIC,cAAc,GAAGJ,OAAO,CAACK,WAAR,CAAoB,GAApB,CAArB;;IAEA,IAAID,cAAc,KAAK,CAAC,CAAxB,EAA2B;MACzBJ,OAAO,GAAGA,OAAO,CAACpC,KAAR,CAAc,CAAd,EAAiBwC,cAAc,GAAG,CAAlC,CAAV;IACD;;IAED,IAAIE,UAAU,GAAG,SAASA,UAAT,CAAoBC,SAApB,EAA+BP,OAA/B,EAAwC;MACvD,OAAO,IAAIQ,GAAJ,CAAQD,SAAR,EAAmBP,OAAnB,EAA4BE,IAAnC;IACD,CAFD;;IAIA,IAAIV,WAAJ,EAAiB;MACf,IAAIiB,WAAW,GAAGhB,QAAQ,CAACiB,aAAT,CAAuB,YAAvB,CAAlB;;MAEA,IAAID,WAAJ,EAAiB;QACfT,OAAO,GAAGS,WAAW,CAACP,IAAtB;MACD;;MAEDX,MAAM,CAACoB,QAAP,GAAkB,UAAUC,IAAV,EAAgBC,OAAhB,EAAyB;QACzC,IAAI,CAACpB,QAAQ,CAACqB,aAAd,EAA6B;UAC3B,MAAM,IAAIC,KAAJ,CAAU,iBAAV,CAAN;QACD;;QAED,IAAItB,QAAQ,CAACqB,aAAT,CAAuBE,KAA3B,EAAkC;UAChC3B,gBAAgB,CAACI,QAAQ,CAACqB,aAAT,CAAuBG,GAAxB,CAAhB,GAA+C,CAACL,IAAD,EAAOC,OAAP,CAA/C;UACA,OAAO,IAAP;QACD;;QAED,IAAIK,GAAG,GAAGzB,QAAQ,CAACqB,aAAT,CAAuBG,GAAvB,IAA8B,GAAGE,MAAH,CAAUC,MAAM,CAACnB,QAAP,CAAgBC,IAA1B,EAAgC,mBAAhC,EAAqDiB,MAArD,CAA4D,EAAE7B,iBAA9D,CAAxC;QACAD,gBAAgB,CAAC6B,GAAD,CAAhB,GAAwB,CAACN,IAAD,EAAOC,OAAP,CAAxB;QACA,OAAOQ,QAAQ,CAACH,GAAD,CAAf;MACD,CAbD;;MAeA3B,MAAM,CAAC+B,WAAP,GAAqB,UAAUJ,GAAV,EAAe;QAClC,IAAIK,MAAM,GAAGC,YAAY,CAACN,GAAD,CAAzB;QACA,OAAO,IAAIvF,OAAJ,CAAY,UAAUC,OAAV,EAAmBS,MAAnB,EAA2B;UAC5C,IAAIoF,kBAAJ;UACA,IAAIC,eAAJ;;UAEA,IAAIC,mBAAmB,GAAG,SAASA,mBAAT,CAA6BC,KAA7B,EAAoC;YAC5DH,kBAAkB,GAAGG,KAAK,CAACC,QAA3B;YACAH,eAAe,GAAGE,KAAK,CAACE,KAAxB;UACD,CAHD;;UAKAV,MAAM,CAACW,gBAAP,CAAwB,OAAxB,EAAiCJ,mBAAjC;UACAJ,MAAM,CAACQ,gBAAP,CAAwB,OAAxB,EAAiC,YAAY;YAC3CX,MAAM,CAACY,mBAAP,CAA2B,OAA3B,EAAoCL,mBAApC;YACAtF,MAAM,CAAC,wDAAwD8E,MAAxD,CAA+DD,GAA/D,CAAD,CAAN;UACD,CAHD;UAIAK,MAAM,CAACQ,gBAAP,CAAwB,MAAxB,EAAgC,YAAY;YAC1CX,MAAM,CAACY,mBAAP,CAA2B,OAA3B,EAAoCL,mBAApC;YACAlC,QAAQ,CAACwC,IAAT,CAAcC,WAAd,CAA0BX,MAA1B,EAF0C,CAEP;YACnC;;YAEA,IAAIE,kBAAkB,KAAKP,GAA3B,EAAgC;cAC9B7E,MAAM,CAACqF,eAAD,CAAN;YACD,CAFD,MAEO;cACL9F,OAAO;YACR;UACF,CAVD;UAWA6D,QAAQ,CAACwC,IAAT,CAAcE,WAAd,CAA0BZ,MAA1B;QACD,CA1BM,CAAP;MA2BD,CA7BD;;MA+BA,IAAIC,YAAY,GAAG,SAASA,YAAT,CAAsBN,GAAtB,EAA2B;QAC5C,IAAIK,MAAM,GAAG9B,QAAQ,CAAC2C,aAAT,CAAuB,QAAvB,CAAb;QACAb,MAAM,CAACc,KAAP,GAAe,IAAf,CAF4C,CAEvB;QACrB;QACA;;QAEA,IAAInB,GAAG,CAACoB,OAAJ,CAAY,GAAGnB,MAAH,CAAUxB,IAAI,CAACM,QAAL,CAAcsC,MAAxB,EAAgC,GAAhC,CAAZ,CAAJ,EAAuD;UACrDhB,MAAM,CAACiB,WAAP,GAAqB,WAArB;QACD;;QAEDjB,MAAM,CAACP,KAAP,GAAe,IAAf;QACAO,MAAM,CAACN,GAAP,GAAaC,GAAb;QACA,OAAOK,MAAP;MACD,CAbD;IAcD;;IAED,IAAI3B,QAAJ,EAAc;MACZ;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;MACI,IAAI6C,oBAAoB,GAAG,EAA3B;;MAEA,IAAI3C,eAAJ,EAAqB;QACnB;QACA;QACA,IAAI4C,aAAa,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,EAAmC,OAAnC,CAApB;QACA,IAAIC,oBAAoB,GAAG,EAA3B;QACA,IAAIC,kBAAkB,GAAG,IAAIjH,OAAJ,CAAY,UAAUC,OAAV,EAAmB;UACtD6G,oBAAoB,CAAC3D,IAArB,CAA0BlD,OAA1B;QACD,CAFwB,CAAzB;QAGA8G,aAAa,CAACG,OAAd,CAAsB,UAAUC,SAAV,EAAqB;UACzC,IAAIC,gBAAgB,GAAG,EAAvB;;UAEA,IAAIC,aAAa,GAAG,SAASA,aAAT,CAAuBpB,KAAvB,EAA8B;YAChD,IAAIqB,kBAAkB,GAAGN,oBAAoB,CAACf,KAAK,CAACsB,IAAP,CAA7C;;YAEA,IAAID,kBAAJ,EAAwB;cACtBA,kBAAkB,CAACrB,KAAD,CAAlB;YACD,CAFD,MAEO;cACLmB,gBAAgB,CAACjE,IAAjB,CAAsB8C,KAAtB;cACAA,KAAK,CAACuB,SAAN,CAAgBP,kBAAhB;YACD;UACF,CATD;;UAWAjD,IAAI,CAACoC,gBAAL,CAAsBe,SAAtB,EAAiCE,aAAjC;UACAP,oBAAoB,CAAC3D,IAArB,CAA0B,YAAY;YACpC,IAAIiE,gBAAgB,CAAC7G,MAArB,EAA6B;cAC3B,IAAI+G,kBAAkB,GAAGN,oBAAoB,CAACI,gBAAgB,CAAC,CAAD,CAAhB,CAAoBG,IAArB,CAA7C;;cAEA,IAAID,kBAAJ,EAAwB;gBACtBF,gBAAgB,CAACF,OAAjB,CAAyB,UAAUjB,KAAV,EAAiB;kBACxCqB,kBAAkB,CAACrB,KAAD,CAAlB;gBACD,CAFD;cAGD;;cAEDmB,gBAAgB,CAAC7G,MAAjB,GAA0B,CAA1B;YACD;UACF,CAZD;QAaD,CA5BD;QA6BA,IAAI6F,gBAAgB,GAAGpC,IAAI,CAACoC,gBAA5B;;QAEApC,IAAI,CAACoC,gBAAL,GAAwB,UAAUe,SAAV,EAAqBM,QAArB,EAA+BC,OAA/B,EAAwC;UAC9D,IAAIX,aAAa,CAACJ,OAAd,CAAsBQ,SAAtB,IAAmC,CAAC,CAAxC,EAA2C;YACzCH,oBAAoB,CAACG,SAAD,CAApB,GAAkCM,QAAlC;YACA,OAAO,IAAP;UACD;;UAED,OAAOrB,gBAAgB,CAACpE,IAAjB,CAAsBgC,IAAtB,EAA4BmD,SAA5B,EAAuCM,QAAvC,EAAiDC,OAAjD,CAAP;QACD,CAPD;MAQD,CA/CD,MA+CO;QACL,IAAIC,cAAc,GAAG,CAAC,SAAD,CAArB;;QAEAA,cAAc,CAACT,OAAf,CAAuB,UAAUC,SAAV,EAAqB;UAC1C,IAAIS,UAAU,GAAG,EAAjB;;UAEA,IAAIP,aAAa,GAAG,SAASA,aAAT,CAAuBpB,KAAvB,EAA8B;YAChD2B,UAAU,CAACzE,IAAX,CAAgB8C,KAAhB;UACD,CAFD;;UAIAjC,IAAI,CAACoC,gBAAL,CAAsBe,SAAtB,EAAiCE,aAAjC;UACAP,oBAAoB,CAAC3D,IAArB,CAA0B,YAAY;YACpCa,IAAI,CAACqC,mBAAL,CAAyBc,SAAzB,EAAoCE,aAApC;YACAO,UAAU,CAACV,OAAX,CAAmB,UAAUjB,KAAV,EAAiB;cAClCjC,IAAI,CAAC6D,aAAL,CAAmB5B,KAAnB;YACD,CAFD;YAGA2B,UAAU,CAACrH,MAAX,GAAoB,CAApB;UACD,CAND;QAOD,CAfD;MAgBD;;MAEDqD,MAAM,CAACoB,QAAP,GAAkB9E,MAAM,CAAC,UAAU+E,IAAV,EAAgBC,OAAhB,EAAyB;QAChDtB,MAAM,CAACoB,QAAP,GAAkB,YAAY;UAC5B,MAAM,IAAII,KAAJ,CAAU,iBAAV,CAAN;QACD,CAFD;;QAIA,IAAIG,GAAG,GAAGvB,IAAI,CAACM,QAAL,CAAcC,IAAxB;QACAb,gBAAgB,CAAC6B,GAAD,CAAhB,GAAwB,CAACN,IAAD,EAAOC,OAAP,CAAxB;QACA,OAAOtF,MAAM,CAAC8F,QAAQ,CAACH,GAAD,CAAT,EAAgB,UAAUuC,SAAV,EAAqB;UAChDhB,oBAAoB,CAACI,OAArB,CAA6B,UAAUa,mBAAV,EAA+B;YAC1DA,mBAAmB;UACpB,CAFD;UAGAjB,oBAAoB,CAACvG,MAArB,GAA8B,CAA9B;UACA,OAAOuH,SAAP;QACD,CANY,CAAb;MAOD,CAduB,CAAxB;MAeAlE,MAAM,CAAC+B,WAAP,GAAqBzF,MAAM,CAAC,UAAUqF,GAAV,EAAe;QACzC,OAAO3F,MAAM,CAACoE,IAAI,CAACgE,KAAL,CAAWzC,GAAX,EAAgB;UAC5B0C,WAAW,EAAE;QADe,CAAhB,CAAD,EAET,UAAUC,QAAV,EAAoB;UACtB,IAAI,CAACA,QAAQ,CAACC,EAAd,EAAkB;YAChB,MAAM/C,KAAK,CAAC,6BAA6BI,MAA7B,CAAoCD,GAApC,CAAD,CAAX;UACD;;UAED,OAAO3F,MAAM,CAACsI,QAAQ,CAACE,IAAT,EAAD,EAAkB,UAAUC,MAAV,EAAkB;YAC/C,IAAIA,MAAM,CAAC1B,OAAP,CAAe,gBAAf,IAAmC,CAAvC,EAA0C;cACxC0B,MAAM,IAAI,mBAAmB7C,MAAnB,CAA0BD,GAA1B,CAAV;YACD;;YAED,IAAIP,QAAQ,GAAGpB,MAAM,CAACoB,QAAtB;;YAEApB,MAAM,CAACoB,QAAP,GAAkB,UAAUC,IAAV,EAAgBC,OAAhB,EAAyB;cACzCxB,gBAAgB,CAAC6B,GAAD,CAAhB,GAAwB,CAACN,IAAD,EAAOC,OAAP,CAAxB;YACD,CAFD;;YAIA,CAAC,GAAGlB,IAAI,CAACsE,IAAT,EAAeD,MAAf;YACAzE,MAAM,CAACoB,QAAP,GAAkBA,QAAlB;UACD,CAbY,CAAb;QAcD,CArBY,CAAb;MAsBD,CAvB0B,CAA3B;IAwBD;;IAED,IAAIU,QAAQ,GAAG,SAAS6C,OAAT,CAAiB3D,SAAjB,EAA4B4D,SAA5B,EAAuC;MACpD,IAAIjD,GAAG,GAAGZ,UAAU,CAACC,SAAD,EAAY4D,SAAZ,CAApB;MACA,IAAIC,IAAI,GAAGC,eAAe,CAACnD,GAAD,EAAMiD,SAAN,CAA1B;MACA,OAAOC,IAAI,CAACE,iBAAL,IAA0BC,cAAc,CAACH,IAAD,CAA/C;IACD,CAJD;;IAMA,IAAIC,eAAe,GAAG,SAASA,eAAT,CAAyBnD,GAAzB,EAA8BsD,cAA9B,EAA8C;MAClE,IAAIC,YAAY,GAAGtF,YAAY,CAAC+B,GAAD,CAA/B;;MAEA,IAAIuD,YAAJ,EAAkB;QAChB,OAAOA,YAAP;MACD;;MAED,IAAIL,IAAI,GAAG;QACTlD,GAAG,EAAEA;MADI,CAAX;MAGA/B,YAAY,CAAC+B,GAAD,CAAZ,GAAoBkD,IAApB;MACA,IAAIM,eAAe,GAAG,EAAtB;MACAN,IAAI,CAACM,eAAL,GAAuBA,eAAvB;MACA,IAAIjB,SAAS,GAAGkB,eAAe,EAA/B;MACAP,IAAI,CAACX,SAAL,GAAiBA,SAAjB;MACAW,IAAI,CAACQ,kBAAL,GAA0B/I,MAAM,CAAC,YAAY;QAC3C,OAAOc,MAAM,CAAC,YAAY;UACxB,IAAIkI,YAAY,GAAGxF,gBAAgB,CAAC6B,GAAD,CAAnC;UACA,OAAO1E,OAAO,CAAC,YAAY;YACzB,IAAI,CAACqI,YAAL,EAAmB;cACjB,IAAIC,sBAAsB,GAAGvF,MAAM,CAAC+B,WAAP,CAAmBJ,GAAnB,EAAwBsD,cAAxB,CAA7B;cACA,OAAOhI,OAAO,CAAC,YAAY;gBACzB,IAAIsI,sBAAJ,EAA4B;kBAC1B,OAAOvI,aAAa,CAACuI,sBAAD,CAApB;gBACD;cACF,CAJa,EAIX,YAAY;gBACbD,YAAY,GAAGxF,gBAAgB,CAAC6B,GAAD,CAA/B;cACD,CANa,CAAd;YAOD;UACF,CAXa,EAWX,YAAY;YACb,IAAI,CAAC2D,YAAL,EAAmB;cACjB,MAAM,IAAI9D,KAAJ,CAAU,gDAAgDI,MAAhD,CAAuDD,GAAvD,CAAV,CAAN;YACD;;YAED,IAAI6D,OAAO,GAAG,SAASA,OAAT,CAAiBC,QAAjB,EAA2BC,SAA3B,EAAsC;cAClDb,IAAI,CAACc,cAAL,GAAsB,IAAtB;cACA,IAAIC,OAAO,GAAG,KAAd;;cAEA,IAAI,OAAOH,QAAP,KAAoB,QAAxB,EAAkC;gBAChC,IAAIlH,IAAI,GAAGkH,QAAX;gBACA,IAAIxJ,KAAK,GAAGyJ,SAAZ;;gBAEA,IAAI,EAAEnH,IAAI,IAAI2F,SAAV,KAAwBA,SAAS,CAAC3F,IAAD,CAAT,KAAoBtC,KAAhD,EAAuD;kBACrDiI,SAAS,CAAC3F,IAAD,CAAT,GAAkBtC,KAAlB;kBACA2J,OAAO,GAAG,IAAV;gBACD;cACF,CARD,MAQO;gBACL3H,MAAM,CAAC4H,IAAP,CAAYJ,QAAZ,EAAsBnC,OAAtB,CAA8B,UAAU/E,IAAV,EAAgB;kBAC5C,IAAItC,KAAK,GAAGwJ,QAAQ,CAAClH,IAAD,CAApB;;kBAEA,IAAI,EAAEA,IAAI,IAAI2F,SAAV,KAAwBA,SAAS,CAAC3F,IAAD,CAAT,KAAoBtC,KAAhD,EAAuD;oBACrDiI,SAAS,CAAC3F,IAAD,CAAT,GAAkBtC,KAAlB;oBACA2J,OAAO,GAAG,IAAV;kBACD;gBACF,CAPD;;gBASA,IAAIH,QAAQ,IAAIA,QAAQ,CAACK,UAAzB,EAAqC;kBACnC5B,SAAS,CAAC4B,UAAV,GAAuBL,QAAQ,CAACK,UAAhC;gBACD;cACF;;cAED,IAAIF,OAAJ,EAAa;gBACXT,eAAe,CAAC7B,OAAhB,CAAwB,UAAUyC,cAAV,EAA0B;kBAChD,IAAIA,cAAJ,EAAoB;oBAClBA,cAAc,CAAC7B,SAAD,CAAd;kBACD;gBACF,CAJD;cAKD;;cAED,OAAOwB,SAAP;YACD,CApCD;;YAsCA,IAAIM,aAAa,GAAGV,YAApB;YAAA,IACIW,cAAc,GAAG3I,cAAc,CAAC0I,aAAD,EAAgB,CAAhB,CADnC;YAAA,IAEI3E,IAAI,GAAG4E,cAAc,CAAC,CAAD,CAFzB;YAAA,IAGI3E,OAAO,GAAG2E,cAAc,CAAC,CAAD,CAH5B;;YAKA,IAAIC,QAAQ,GAAG5E,OAAO,CAACkE,OAAD,EAAU;cAC9BW,MAAM,EAAE,SAASxB,OAAT,CAAiByB,QAAjB,EAA2B;gBACjC,OAAOtE,QAAQ,CAACsE,QAAD,EAAWzE,GAAX,CAAf;cACD,CAH6B;cAI9B0E,IAAI,EAAEC,UAAU,CAAC3E,GAAD;YAJc,CAAV,CAAtB;YAAA,IAMI4E,OAAO,GAAGL,QAAQ,CAACK,OANvB;YAAA,IAOIC,gBAAgB,GAAGN,QAAQ,CAACO,OAPhC;YAAA,IAQIA,OAAO,GAAGD,gBAAgB,KAAK,KAAK,CAA1B,GAA8B,YAAY,CAAE,CAA5C,GAA+CA,gBAR7D;;YAUA3B,IAAI,CAACxD,IAAL,GAAYA,IAAZ;YACAwD,IAAI,CAAC0B,OAAL,GAAeA,OAAf;YACA1B,IAAI,CAAC4B,OAAL,GAAeA,OAAf;UACD,CAxEa,CAAd;QAyED,CA3EY,EA2EV,UAAU5J,CAAV,EAAa;UACdgI,IAAI,CAACtC,KAAL,GAAa1F,CAAb;UACAgI,IAAI,CAAC4B,OAAL,GAAe,IAAf;QACD,CA9EY,CAAb;MA+ED,CAhF+B,CAAN,EAA1B;MAiFA5B,IAAI,CAAC6B,WAAL,GAAmBpK,MAAM,CAAC,YAAY;QACpC,OAAON,MAAM,CAAC6I,IAAI,CAACQ,kBAAN,EAA0B,YAAY;UACjD,OAAOrJ,MAAM,CAACI,OAAO,CAACuK,GAAR,CAAY9B,IAAI,CAACxD,IAAL,CAAUuF,GAAV,CAActK,MAAM,CAAC,UAAUuK,GAAV,EAAeC,KAAf,EAAsB;YACnE,IAAIC,MAAM,GAAGlC,IAAI,CAAC0B,OAAL,CAAaO,KAAb,CAAb;YACA,IAAIE,aAAa,GAAGjG,UAAU,CAAC8F,GAAD,EAAMlF,GAAN,CAA9B;YACA,IAAIsF,cAAc,GAAGnC,eAAe,CAACkC,aAAD,EAAgBrF,GAAhB,CAApC;YACA,OAAO1E,OAAO,CAAC,YAAY;cACzB,IAAIgK,cAAc,CAAC5B,kBAAnB,EAAuC;gBACrC,OAAOrI,aAAa,CAACiK,cAAc,CAAC5B,kBAAhB,CAApB;cACD;YACF,CAJa,EAIX,YAAY;cACb,IAAI0B,MAAJ,EAAY;gBACVE,cAAc,CAAC9B,eAAf,CAA+B5F,IAA/B,CAAoCwH,MAApC;;gBAEA,IAAIE,cAAc,CAACtB,cAAf,IAAiC,CAACsB,cAAc,CAAC5B,kBAArD,EAAyE;kBACvE0B,MAAM,CAACE,cAAc,CAAC/C,SAAhB,CAAN;gBACD;cACF;;cAED,OAAO+C,cAAP;YACD,CAda,CAAd;UAeD,CAnB6C,CAApB,CAAZ,CAAD,EAmBP,UAAUC,eAAV,EAA2B;YAC/BrC,IAAI,CAACqC,eAAL,GAAuBA,eAAvB;UACD,CArBY,CAAb;QAsBD,CAvBY,CAAb;MAwBD,CAzBwB,CAAN,EAAnB;MA0BA,OAAOrC,IAAP;IACD,CA3HD;;IA6HA,IAAIG,cAAc,GAAG1I,MAAM,CAAC,UAAUuI,IAAV,EAAgB;MAC1CA,IAAI,CAACE,iBAAL,GAAyB,YAAY;QACnC,OAAO/I,MAAM,CAACmL,cAAc,CAACtC,IAAD,EAAOA,IAAP,EAAa,EAAb,CAAf,EAAiC,YAAY;UACxD,OAAO7I,MAAM,CAACoL,aAAa,CAACvC,IAAD,EAAO,EAAP,CAAd,EAA0B,YAAY;YACjD,OAAOA,IAAI,CAACX,SAAZ;UACD,CAFY,CAAb;QAGD,CAJY,CAAb;MAKD,CANwB,EAAzB;;MAQA,OAAOW,IAAI,CAACE,iBAAZ;IACD,CAV0B,CAA3B;;IAYA,IAAIoC,cAAc,GAAG7K,MAAM,CAAC,UAAUuI,IAAV,EAAgBwC,MAAhB,EAAwBC,MAAxB,EAAgC;MAC1D,IAAIA,MAAM,CAACzC,IAAI,CAAClD,GAAN,CAAV,EAAsB;QACpB;MACD;;MAED2F,MAAM,CAACzC,IAAI,CAAClD,GAAN,CAAN,GAAmB,IAAnB;MACA,OAAOvE,MAAM,CAAC,YAAY;QACxB,OAAOH,OAAO,CAAC,YAAY;UACzB,IAAI4H,IAAI,CAAC6B,WAAT,EAAsB;YACpB;YACA,OAAO1J,aAAa,CAAC6H,IAAI,CAAC6B,WAAN,CAApB;UACD;QACF,CALa,EAKX,YAAY;UACb;UACA;UACA;UACA,OAAO1J,aAAa,CAACZ,OAAO,CAACuK,GAAR,CAAY9B,IAAI,CAACqC,eAAL,CAAqBN,GAArB,CAAyB,UAAUK,cAAV,EAA0B;YAClF,OAAOE,cAAc,CAACF,cAAD,EAAiBI,MAAjB,EAAyBC,MAAzB,CAArB;UACD,CAFgC,CAAZ,CAAD,CAApB;QAGD,CAZa,CAAd;MAaD,CAdY,EAcV,UAAU/E,KAAV,EAAiB;QAClB,IAAIsC,IAAI,CAACtC,KAAT,EAAgB;UACd,MAAMA,KAAN;QACD;;QAEDsC,IAAI,CAAC4B,OAAL,GAAe,IAAf;QACA,MAAMlE,KAAN;MACD,CArBY,CAAb;IAsBD,CA5B0B,CAA3B;;IA8BA,IAAI6E,aAAa,GAAG9K,MAAM,CAAC,UAAUuI,IAAV,EAAgB0C,IAAhB,EAAsB;MAC/C,IAAIC,KAAK,GAAG,KAAZ;;MAEA,IAAID,IAAI,CAAC1C,IAAI,CAAClD,GAAN,CAAR,EAAoB;QAClB;MACD;;MAED4F,IAAI,CAAC1C,IAAI,CAAClD,GAAN,CAAJ,GAAiB,IAAjB;MACA,OAAO1E,OAAO,CAAC,YAAY;QACzB,IAAI,CAAC4H,IAAI,CAAC4B,OAAV,EAAmB;UACjB,IAAI5B,IAAI,CAACtC,KAAT,EAAgB;YACd,MAAMsC,IAAI,CAACtC,KAAX;UACD;;UAED,OAAOtF,OAAO,CAAC,YAAY;YACzB,IAAI4H,IAAI,CAAC4C,cAAT,EAAyB;cACvB,OAAOzK,aAAa,CAAC6H,IAAI,CAAC4C,cAAN,CAApB;YACD;UACF,CAJa,EAIX,YAAY;YACbD,KAAK,GAAG,IAAR;UACD,CANa,CAAd;QAOD;MACF,CAda,EAcX,UAAUE,QAAV,EAAoB;QACrB,IAAIF,KAAJ,EAAW,OAAOE,QAAP,CADU,CAErB;;QACA,IAAIC,eAAe,GAAG,EAAtB;QACA9C,IAAI,CAACqC,eAAL,CAAqB5D,OAArB,CAA6B,UAAU2D,cAAV,EAA0B;UACrD,IAAI;YACF,IAAIW,cAAc,GAAGR,aAAa,CAACH,cAAD,EAAiBM,IAAjB,CAAlC;;YAEA,IAAIK,cAAJ,EAAoB;cAClBD,eAAe,CAACpI,IAAhB,CAAqBqI,cAArB;YACD;UACF,CAND,CAME,OAAOpI,GAAP,EAAY;YACZqF,IAAI,CAAC4B,OAAL,GAAe,IAAf;YACA5B,IAAI,CAACtC,KAAL,GAAa/C,GAAb;YACA,MAAMA,GAAN;UACD;QACF,CAZD;QAaA,OAAOvC,OAAO,CAAC,YAAY;UACzB,IAAI0K,eAAe,CAAChL,MAApB,EAA4B;YAC1B,OAAOK,aAAa,CAACZ,OAAO,CAACuK,GAAR,CAAYgB,eAAZ,CAAD,CAApB;UACD;QACF,CAJa,EAIX,YAAY;UACb,IAAI;YACF,IAAIE,kBAAkB,GAAGhD,IAAI,CAAC4B,OAAL,CAAarI,IAAb,CAAkB0J,WAAlB,CAAzB;;YAEA,IAAID,kBAAJ,EAAwB;cACtBhD,IAAI,CAAC4C,cAAL,GAAsBI,kBAAkB,CAAC3L,IAAnB,CAAwB,YAAY;gBACxD2I,IAAI,CAAC4C,cAAL,GAAsB,IAAtB;gBACA5C,IAAI,CAACE,iBAAL,GAAyBF,IAAI,CAACX,SAA9B;cACD,CAHqB,EAGnB,UAAU3B,KAAV,EAAiB;gBAClBsC,IAAI,CAAC4C,cAAL,GAAsB,IAAtB;gBACA5C,IAAI,CAACtC,KAAL,GAAaA,KAAb;gBACA,MAAMA,KAAN;cACD,CAPqB,CAAtB;cAQA;YACD;;YAEDsC,IAAI,CAACQ,kBAAL,GAA0B,IAA1B;YACAR,IAAI,CAAC6B,WAAL,GAAmB,IAAnB;YACA7B,IAAI,CAACE,iBAAL,GAAyBF,IAAI,CAACX,SAA9B;UACD,CAlBD,CAkBE,OAAO3B,KAAP,EAAc;YACdsC,IAAI,CAACtC,KAAL,GAAaA,KAAb;YACA,MAAMA,KAAN;UACD,CArBD,SAqBU;YACRsC,IAAI,CAAC4B,OAAL,GAAe,IAAf;UACD;QACF,CA7Ba,CAAd;MA8BD,CA7Da,CAAd;IA8DD,CAtEyB,CAA1B,CAlYW,CAwcP;;;IAGJ,IAAIqB,WAAW,GAAG7J,MAAM,CAAC8J,MAAP,CAAc9J,MAAM,CAAC4B,MAAP,CAAc,IAAd,CAAd,CAAlB;;IAEA,IAAIyG,UAAU,GAAG,SAASA,UAAT,CAAoB3E,GAApB,EAAyB;MACxC,OAAO;QACLA,GAAG,EAAEA,GADA;QAELtF,OAAO,EAAE,SAASA,OAAT,CAAiB2L,EAAjB,EAAqBpD,SAArB,EAAgC;UACvC,OAAO7D,UAAU,CAACiH,EAAD,EAAKpD,SAAL,CAAjB;QACD;MAJI,CAAP;IAMD,CAPD;;IASA,IAAIQ,eAAe,GAAG,OAAOtG,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACmJ,WAAxC,GAAsD,YAAY;MACtF,IAAI/D,SAAS,GAAGjG,MAAM,CAAC4B,MAAP,CAAc,IAAd,CAAhB;MACA5B,MAAM,CAACiK,cAAP,CAAsBhE,SAAtB,EAAiCpF,MAAM,CAACmJ,WAAxC,EAAqD;QACnDhM,KAAK,EAAE;MAD4C,CAArD;MAGA,OAAOiI,SAAP;IACD,CANqB,GAMlB,YAAY;MACd,OAAOjG,MAAM,CAAC4B,MAAP,CAAc,IAAd,CAAP;IACD,CARD;EASD,CA/dD"
207
+ }
package/main.js CHANGED
@@ -24,3 +24,4 @@ export { startBuildServer } from "./src/build/start_build_server.js"
24
24
 
25
25
  // advanced
26
26
  export { execute } from "./src/execute/execute.js"
27
+ export { injectGlobals } from "./src/plugins/inject_globals/jsenv_plugin_inject_globals.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/core",
3
- "version": "27.0.0-alpha.61",
3
+ "version": "27.0.0-alpha.64",
4
4
  "description": "Tool to develop, test and build js projects",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -68,12 +68,12 @@
68
68
  "@jsenv/filesystem": "3.2.2",
69
69
  "@jsenv/importmap": "1.2.0",
70
70
  "@jsenv/integrity": "0.0.1",
71
- "@jsenv/log": "1.6.0",
72
- "@jsenv/logger": "4.0.1",
73
- "@jsenv/node-esm-resolution": "0.0.6",
74
- "@jsenv/server": "12.6.2",
71
+ "@jsenv/log": "1.6.2",
72
+ "@jsenv/logger": "4.1.1",
73
+ "@jsenv/node-esm-resolution": "0.0.8",
74
+ "@jsenv/server": "12.6.3",
75
75
  "@jsenv/uneval": "1.6.0",
76
- "@jsenv/utils": "1.7.6",
76
+ "@jsenv/utils": "1.8.0",
77
77
  "construct-style-sheets-polyfill": "3.1.0",
78
78
  "cssnano": "5.1.7",
79
79
  "cssnano-preset-default": "5.2.7",
@@ -98,9 +98,9 @@
98
98
  "@jsenv/assert": "2.5.4",
99
99
  "@jsenv/eslint-config": "16.0.9",
100
100
  "@jsenv/file-size-impact": "12.1.11",
101
- "@jsenv/https-local": "1.0.8",
101
+ "@jsenv/https-local": "1.0.11",
102
102
  "@jsenv/importmap-node-module": "5.1.3",
103
- "@jsenv/package-workspace": "0.1.1",
103
+ "@jsenv/package-workspace": "0.1.2",
104
104
  "@jsenv/performance-impact": "2.2.10",
105
105
  "@jsenv/pwa": "5.0.0",
106
106
  "eslint": "8.13.0",
@@ -25,6 +25,7 @@ import {
25
25
  setUrlFilename,
26
26
  asUrlUntilPathname,
27
27
  normalizeUrl,
28
+ asUrlWithoutSearch,
28
29
  } from "@jsenv/utils/urls/url_utils.js"
29
30
  import { createVersionGenerator } from "@jsenv/utils/versioning/version_generator.js"
30
31
  import { generateSourcemapUrl } from "@jsenv/utils/sourcemap/sourcemap_utils.js"
@@ -151,6 +152,9 @@ build "${entryPointKeys[0]}"`)
151
152
  logger.info(`
152
153
  build ${entryPointKeys.length} entry points`)
153
154
  }
155
+ const useExplicitJsClassicConversion = entryPointKeys.some((key) =>
156
+ entryPoints[key].includes("?as_js_classic"),
157
+ )
154
158
 
155
159
  const rawGraph = createUrlGraph()
156
160
  const prebuildTask = createTaskLog("prebuild", {
@@ -186,6 +190,7 @@ build ${entryPointKeys.length} entry points`)
186
190
  injectedGlobals,
187
191
  transpilation: {
188
192
  ...transpilation,
193
+ babelHelpersAsImport: !useExplicitJsClassicConversion,
189
194
  jsModuleAsJsClassic: false,
190
195
  },
191
196
  minification,
@@ -199,6 +204,7 @@ build ${entryPointKeys.length} entry points`)
199
204
  operation: buildOperation,
200
205
  urlGraph: rawGraph,
201
206
  kitchen: rawGraphKitchen,
207
+ writeGeneratedFiles,
202
208
  outDirectoryUrl: new URL(`.jsenv/build/`, rootDirectoryUrl),
203
209
  startLoading: (cookEntryFile) => {
204
210
  Object.keys(entryPoints).forEach((key) => {
@@ -209,6 +215,7 @@ build ${entryPointKeys.length} entry points`)
209
215
  })
210
216
  entryUrls.push(entryUrlInfo.url)
211
217
  entryUrlInfo.filename = entryPoints[key]
218
+ // entryUrlInfo.data.entryPointKey = key
212
219
  })
213
220
  },
214
221
  })
@@ -334,7 +341,7 @@ build ${entryPointKeys.length} entry points`)
334
341
  },
335
342
  urlInfosToBundle,
336
343
  {
337
- ...rawGraphKitchen.baseContext,
344
+ ...rawGraphKitchen.kitchenContext,
338
345
  buildDirectoryUrl,
339
346
  },
340
347
  )
@@ -358,6 +365,9 @@ build ${entryPointKeys.length} entry points`)
358
365
  rawUrlRedirections[url] = buildUrl
359
366
  rawUrls[buildUrl] = url
360
367
  bundleUrlInfos[buildUrl] = bundleUrlInfo
368
+ if (buildUrl.includes("?")) {
369
+ bundleUrlInfos[asUrlWithoutSearch(buildUrl)] = bundleUrlInfo
370
+ }
361
371
  if (bundlerGeneratedUrlInfo.data.bundleRelativeUrl) {
362
372
  const urlForBundler = new URL(
363
373
  bundlerGeneratedUrlInfo.data.bundleRelativeUrl,
@@ -389,6 +399,7 @@ build ${entryPointKeys.length} entry points`)
389
399
  plugins: [
390
400
  jsenvPluginUrlAnalysis(),
391
401
  jsenvPluginAsJsClassic({
402
+ rootDirectoryUrl,
392
403
  systemJsInjection: true,
393
404
  }),
394
405
  jsenvPluginInline({
@@ -401,16 +412,18 @@ build ${entryPointKeys.length} entry points`)
401
412
  if (reference.specifier[0] === "#") {
402
413
  reference.external = true
403
414
  }
404
- let url =
415
+ const urlBeforePotentialRedirect =
405
416
  reference.specifier[0] === "/"
406
417
  ? new URL(reference.specifier.slice(1), buildDirectoryUrl).href
407
418
  : new URL(reference.specifier, reference.parentUrl).href
419
+ const url =
420
+ rawUrlRedirections[urlBeforePotentialRedirect] ||
421
+ urlBeforePotentialRedirect
408
422
  const urlRedirectedByBundle = bundleUrlRedirections[url]
409
423
  if (urlRedirectedByBundle) {
410
424
  return urlRedirectedByBundle
411
425
  }
412
- const urlRedirected = rawUrlRedirections[url]
413
- return urlRedirected || url
426
+ return url
414
427
  },
415
428
  redirectUrl: (reference) => {
416
429
  if (!reference.url.startsWith("file:")) {
@@ -514,6 +527,9 @@ build ${entryPointKeys.length} entry points`)
514
527
  const buildUrl = buildUrlsGenerator.generate(reference.url, {
515
528
  urlInfo: rawUrlInfo,
516
529
  })
530
+ if (buildUrl.includes("?")) {
531
+ rawUrls[asUrlWithoutSearch(buildUrl)] = rawUrlInfo.url
532
+ }
517
533
  rawUrls[buildUrl] = rawUrlInfo.url
518
534
  return buildUrl
519
535
  }
@@ -609,10 +625,7 @@ build ${entryPointKeys.length} entry points`)
609
625
  specifier: context.reference.specifier,
610
626
  injected: true,
611
627
  })
612
- await rawGraphKitchen.cook({
613
- reference: ref,
614
- urlInfo: rawUrlInfo,
615
- })
628
+ await rawGraphKitchen.cook(rawUrlInfo, { reference: ref })
616
629
  return rawUrlInfo
617
630
  }
618
631
  // reference updated during "postbuild":
@@ -652,6 +665,7 @@ build ${entryPointKeys.length} entry points`)
652
665
  urlGraph: finalGraph,
653
666
  kitchen: finalGraphKitchen,
654
667
  outDirectoryUrl: new URL(".jsenv/postbuild/", rootDirectoryUrl),
668
+ writeGeneratedFiles,
655
669
  skipRessourceHint: true,
656
670
  startLoading: (cookEntryFile) => {
657
671
  entryUrls.forEach((entryUrl) => {
@@ -1090,6 +1104,7 @@ const applyUrlVersioning = async ({
1090
1104
  urlGraph: finalGraph,
1091
1105
  kitchen: versioningKitchen,
1092
1106
  skipRessourceHint: true,
1107
+ writeGeneratedFiles,
1093
1108
  startLoading: (cookEntryFile) => {
1094
1109
  postBuildEntryUrls.forEach((postBuildEntryUrl) => {
1095
1110
  cookEntryFile({
@@ -41,7 +41,11 @@ const injectVersionMappings = async ({ urlInfo, kitchen, versionMappings }) => {
41
41
 
42
42
  const jsInjector = (urlInfo, { versionMappings }) => {
43
43
  const magicSource = createMagicSource(urlInfo.content)
44
- magicSource.prepend(generateClientCodeForVersionMappings(versionMappings))
44
+ magicSource.prepend(
45
+ generateClientCodeForVersionMappings(versionMappings, {
46
+ globalName: urlInfo.data.isWebWorkerEntryPoint ? "self" : "window",
47
+ }),
48
+ )
45
49
  return magicSource.toContentAndSourcemap()
46
50
  }
47
51
 
@@ -57,7 +61,9 @@ const injectors = {
57
61
  htmlAst,
58
62
  createHtmlNode({
59
63
  "tagName": "script",
60
- "textContent": generateClientCodeForVersionMappings(versionMappings),
64
+ "textContent": generateClientCodeForVersionMappings(versionMappings, {
65
+ globalName: "window",
66
+ }),
61
67
  "injected-by": "jsenv:versioning",
62
68
  }),
63
69
  )
@@ -69,12 +75,19 @@ const injectors = {
69
75
  js_module: jsInjector,
70
76
  }
71
77
 
72
- const generateClientCodeForVersionMappings = (versionMappings) => {
78
+ const generateClientCodeForVersionMappings = (
79
+ versionMappings,
80
+ { globalName },
81
+ ) => {
73
82
  return `
83
+ ;(function() {
84
+
74
85
  var __versionMappings__ = ${JSON.stringify(versionMappings, null, " ")};
75
- var __envGlobal__ = typeof self === 'undefined' ? global : self;
76
- __envGlobal__.__v__ = function (specifier) {
86
+ ${globalName}.__v__ = function (specifier) {
77
87
  return __versionMappings__[specifier] || specifier
78
88
  };
89
+
90
+ })();
91
+
79
92
  `
80
93
  }
@@ -13,6 +13,7 @@
13
13
  * we want to be in the user shoes and we should not alter build files.
14
14
  */
15
15
 
16
+ import { parentPort } from "node:worker_threads"
16
17
  import {
17
18
  jsenvAccessControlAllowedHeaders,
18
19
  startServer,
@@ -20,6 +21,7 @@ import {
20
21
  pluginRequestWaitingCheck,
21
22
  pluginCORS,
22
23
  fetchFileSystem,
24
+ composeServices,
23
25
  } from "@jsenv/server"
24
26
  import {
25
27
  assertAndNormalizeDirectoryUrl,
@@ -28,6 +30,7 @@ import {
28
30
  import { createLogger, loggerToLevels } from "@jsenv/logger"
29
31
 
30
32
  import { createTaskLog } from "@jsenv/log"
33
+ import { getCallerPosition } from "@jsenv/utils/src/caller_position.js"
31
34
  import { initReloadableProcess } from "@jsenv/utils/process_reload/process_reload.js"
32
35
 
33
36
  export const startBuildServer = async ({
@@ -42,17 +45,24 @@ export const startBuildServer = async ({
42
45
  listenAnyIp,
43
46
  ip,
44
47
  port = 9779,
48
+ services = {},
45
49
 
46
50
  rootDirectoryUrl,
47
51
  buildDirectoryUrl,
52
+ mainBuildFileUrl = "/index.html",
48
53
  buildServerFiles = {
49
54
  "./package.json": true,
50
55
  "./jsenv.config.mjs": true,
51
56
  },
52
- buildServerMainFile,
53
- buildServerAutoreload = false,
57
+ buildServerMainFile = getCallerPosition().url,
58
+ // force disable server autoreload when this code is executed:
59
+ // - inside a forked child process
60
+ // - inside a worker thread
61
+ // (because node cluster won't work)
62
+ buildServerAutoreload = typeof process.send !== "function" &&
63
+ !parentPort &&
64
+ !process.debugPort,
54
65
  cooldownBetweenFileEvents,
55
- mainBuildFileUrl = "/index.html",
56
66
  }) => {
57
67
  const logger = createLogger({ logLevel })
58
68
  rootDirectoryUrl = assertAndNormalizeDirectoryUrl(rootDirectoryUrl)
@@ -138,10 +148,7 @@ export const startBuildServer = async ({
138
148
  accessControlAllowRequestOrigin: true,
139
149
  accessControlAllowRequestMethod: true,
140
150
  accessControlAllowRequestHeaders: true,
141
- accessControlAllowedRequestHeaders: [
142
- ...jsenvAccessControlAllowedHeaders,
143
- "x-jsenv-execution-id",
144
- ],
151
+ accessControlAllowedRequestHeaders: jsenvAccessControlAllowedHeaders,
145
152
  accessControlAllowCredentials: true,
146
153
  }),
147
154
  ...pluginServerTiming(),
@@ -150,31 +157,13 @@ export const startBuildServer = async ({
150
157
  }),
151
158
  },
152
159
  sendErrorDetails: true,
153
- requestToResponse: (request) => {
154
- const urlIsVersioned = new URL(
155
- request.ressource,
156
- request.origin,
157
- ).searchParams.has("v")
158
- if (mainBuildFileUrl && request.ressource === "/") {
159
- request = {
160
- ...request,
161
- ressource: mainBuildFileUrl,
162
- }
163
- }
164
- return fetchFileSystem(
165
- new URL(request.ressource.slice(1), buildDirectoryUrl),
166
- {
167
- headers: request.headers,
168
- cacheControl: urlIsVersioned
169
- ? `private,max-age=${SECONDS_IN_30_DAYS},immutable`
170
- : "private,max-age=0,must-revalidate",
171
- etagEnabled: true,
172
- compressionEnabled: !request.pathname.endsWith(".mp4"),
173
- rootDirectoryUrl: buildDirectoryUrl,
174
- canReadDirectory: true,
175
- },
176
- )
177
- },
160
+ requestToResponse: composeServices({
161
+ ...services,
162
+ build_files_service: createBuildFilesService({
163
+ buildDirectoryUrl,
164
+ mainBuildFileUrl,
165
+ }),
166
+ }),
178
167
  })
179
168
  startBuildServerTask.done()
180
169
  logger.info(``)
@@ -191,4 +180,32 @@ export const startBuildServer = async ({
191
180
  }
192
181
  }
193
182
 
183
+ const createBuildFilesService = ({ buildDirectoryUrl, mainBuildFileUrl }) => {
184
+ return (request) => {
185
+ const urlIsVersioned = new URL(
186
+ request.ressource,
187
+ request.origin,
188
+ ).searchParams.has("v")
189
+ if (mainBuildFileUrl && request.ressource === "/") {
190
+ request = {
191
+ ...request,
192
+ ressource: mainBuildFileUrl,
193
+ }
194
+ }
195
+ return fetchFileSystem(
196
+ new URL(request.ressource.slice(1), buildDirectoryUrl),
197
+ {
198
+ headers: request.headers,
199
+ cacheControl: urlIsVersioned
200
+ ? `private,max-age=${SECONDS_IN_30_DAYS},immutable`
201
+ : "private,max-age=0,must-revalidate",
202
+ etagEnabled: true,
203
+ compressionEnabled: !request.pathname.endsWith(".mp4"),
204
+ rootDirectoryUrl: buildDirectoryUrl,
205
+ canReadDirectory: true,
206
+ },
207
+ )
208
+ }
209
+ }
210
+
194
211
  const SECONDS_IN_30_DAYS = 60 * 60 * 24 * 30
@@ -1,3 +1,4 @@
1
+ import { parentPort } from "node:worker_threads"
1
2
  import {
2
3
  assertAndNormalizeDirectoryUrl,
3
4
  registerDirectoryLifecycle,
@@ -5,6 +6,7 @@ import {
5
6
  import { createLogger, loggerToLevels } from "@jsenv/logger"
6
7
 
7
8
  import { createTaskLog } from "@jsenv/log"
9
+ import { getCallerPosition } from "@jsenv/utils/src/caller_position.js"
8
10
  import { initReloadableProcess } from "@jsenv/utils/process_reload/process_reload.js"
9
11
  import { getCorePlugins } from "@jsenv/core/src/plugins/plugins.js"
10
12
  import { createUrlGraph } from "@jsenv/core/src/omega/url_graph.js"
@@ -33,8 +35,14 @@ export const startDevServer = async ({
33
35
  "./package.json": true,
34
36
  "./jsenv.config.mjs": true,
35
37
  },
36
- devServerMainFile,
37
- devServerAutoreload = false,
38
+ devServerMainFile = getCallerPosition().url,
39
+ // force disable server autoreload when this code is executed:
40
+ // - inside a forked child process
41
+ // - inside a worker thread
42
+ // (because node cluster won't work)
43
+ devServerAutoreload = typeof process.send !== "function" &&
44
+ !parentPort &&
45
+ !process.debugPort,
38
46
  clientFiles = {
39
47
  "./**": true,
40
48
  "./**/.*/": false, // any folder starting with a dot is ignored (includes .git,.jsenv for instance)
@@ -202,7 +210,7 @@ export const startDevServer = async ({
202
210
  logger.info(``)
203
211
  server.addEffect(() => {
204
212
  return () => {
205
- kitchen.pluginController.callHooks("destroy")
213
+ kitchen.pluginController.callHooks("destroy", {})
206
214
  }
207
215
  })
208
216
  return {