@jsenv/core 24.2.2 → 24.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser_runtime/browser_runtime-fbd309a1.js +5137 -0
- package/dist/browser_runtime/browser_runtime-fbd309a1.js.map +1064 -0
- package/dist/{jsenv_browser_system.js → browser_system/browser_system-29eda202.js} +12 -12
- package/dist/{jsenv_browser_system.js.map → browser_system/browser_system-29eda202.js.map} +64 -64
- package/dist/build_manifest.js +12 -0
- package/dist/compile_proxy/assets/s.js-749702e8.map +242 -0
- package/dist/compile_proxy/compile_proxy-405777e6.html +2074 -0
- package/dist/compile_proxy/compile_proxy.html__inline__20-39c0801c.js.map +385 -0
- package/dist/{jsenv_event_source_client.js → event_source_client/event_source_client-9f14c8b9.js} +39 -21
- package/dist/event_source_client/event_source_client-9f14c8b9.js.map +127 -0
- package/dist/redirector/assets/s.js-749702e8.map +242 -0
- package/dist/redirector/redirector-237cd168.html +2118 -0
- package/dist/redirector/redirector.html__inline__15-33acb0b9.js.map +390 -0
- package/dist/toolbar/assets/compilation.css-209d68b4.map +12 -0
- package/dist/toolbar/assets/eventsource.css-38cd0a36.map +12 -0
- package/dist/toolbar/assets/execution.css-0ebe522f.map +12 -0
- package/dist/toolbar/assets/focus.css-3f9c156d.map +12 -0
- package/dist/toolbar/assets/light-theme.css-78b19a80.map +12 -0
- package/dist/toolbar/assets/overflow-menu.css-d9688a1c.map +12 -0
- package/dist/toolbar/assets/s.js-749702e8.map +242 -0
- package/dist/toolbar/assets/settings.css-2b81b245.map +12 -0
- package/dist/toolbar/assets/toolbar.main.css-846920e9.map +28 -0
- package/dist/toolbar/assets/tooltip.css-03395ee6.map +12 -0
- package/dist/toolbar/toolbar-29e91dcd.html +4779 -0
- package/dist/toolbar/toolbar.main-53e1ab2b.js.map +795 -0
- package/dist/toolbar_injector/assets/jsenv-logo-188b9ca6.svg +95 -0
- package/dist/{jsenv_toolbar_injector.js → toolbar_injector/toolbar_injector-0af91b43.js} +87 -65
- package/dist/toolbar_injector/toolbar_injector-0af91b43.js.map +294 -0
- package/main.js +0 -1
- package/package.json +2 -1
- package/readme.md +10 -7
- package/src/buildProject.js +6 -2
- package/src/dev_server.js +22 -130
- package/src/execute.js +7 -10
- package/src/executeTestPlan.js +7 -1
- package/src/importUsingChildProcess.js +1 -1
- package/src/internal/{runtime/detectBrowser/detectBrowser.js → browser_detection/browser_detection.js} +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectAndroid.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectChrome.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectEdge.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectElectron.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectFirefox.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectIOS.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectInternetExplorer.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectOpera.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectSafari.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/util.js +0 -0
- package/src/internal/{runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js → browser_feature_detection/browser_feature_detection.js} +116 -81
- package/src/internal/browser_feature_detection/compile_proxy.html +27 -0
- package/src/internal/browser_launcher/browser_runtime_report.js +75 -0
- package/src/internal/{browser-launcher → browser_launcher}/executeHtmlFile.js +13 -16
- package/src/internal/browser_launcher/from_playwright.js +314 -0
- package/src/internal/{browser-launcher → browser_launcher}/trackPageToNotify.js +0 -0
- package/src/internal/{browser-launcher/jsenv-browser-system.js → browser_runtime/browser_runtime.js} +4 -4
- package/src/internal/{runtime/createBrowserRuntime/createBrowserSystem.js → browser_runtime/browser_system.js} +3 -2
- package/src/internal/{runtime/createBrowserRuntime → browser_runtime}/createBrowserRuntime.js +7 -5
- package/src/internal/{browser-launcher → browser_runtime}/displayErrorInDocument.js +0 -0
- package/src/internal/{browser-launcher → browser_runtime}/displayErrorNotification.js +2 -4
- package/src/internal/{runtime/createBrowserRuntime → browser_runtime}/evalSource.js +2 -0
- package/src/internal/{runtime/createBrowserRuntime → browser_runtime}/makeNamespaceTransferable.js +0 -0
- package/src/internal/{browser-utils → browser_utils}/fetch-browser.js +2 -0
- package/src/internal/{browser-utils → browser_utils}/fetchAndEvalUsingFetch.js +3 -0
- package/src/internal/{browser-utils → browser_utils}/fetchAndEvalUsingScript.js +2 -0
- package/src/internal/{browser-utils → browser_utils}/fetchJson.js +0 -0
- package/src/internal/{browser-utils → browser_utils}/fetchUsingXHR.js +4 -4
- package/src/internal/building/buildUsingRollup.js +4 -0
- package/src/internal/building/createJsenvRollupPlugin.js +19 -9
- package/src/internal/building/css/applyPostCss.js +19 -8
- package/src/internal/building/css/moveCssUrls.js +44 -0
- package/src/internal/building/css/parseCssRessource.js +67 -17
- package/src/internal/building/css/parseCssUrls.js +29 -23
- package/src/internal/building/css/postcss_plugin_url_visitor.js +11 -20
- package/src/internal/building/css/replaceCssUrls.js +38 -19
- package/src/internal/building/css_module.js +6 -10
- package/src/internal/building/html/parseHtmlRessource.js +37 -11
- package/src/internal/building/parseRessource.js +3 -0
- package/src/internal/building/ressource_builder.js +12 -3
- package/src/internal/compiling/babel_plugin_import_assertions.js +1 -2
- package/src/internal/compiling/html_source_file_service.js +23 -21
- package/src/internal/compiling/jsenvCompilerForHtml.js +15 -22
- package/src/internal/compiling/startCompileServer.js +37 -32
- package/src/internal/dev_server/event_source_client/event_source_connection.js +28 -19
- package/src/internal/dev_server/exploring/exploring.html +7 -2
- package/src/internal/dev_server/exploring/fetchExploringJson.js +4 -9
- package/src/internal/dev_server/redirector/redirector.html +37 -2
- package/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +4 -7
- package/src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js +2 -2
- package/src/internal/dev_server/toolbar/notification/toolbar.notification.js +75 -44
- package/src/internal/dev_server/toolbar/toolbar.html +31 -5
- package/src/internal/dev_server/toolbar/toolbar.injector.js +55 -36
- package/src/internal/dev_server/toolbar/toolbar.main.js +45 -31
- package/src/internal/dev_server/toolbar/util/fetching.js +1 -1
- package/src/internal/executing/executeConcurrently.js +15 -11
- package/src/internal/executing/executePlan.js +3 -2
- package/src/internal/generateGroupMap/one_runtime_compat.js +1 -1
- package/src/internal/generateGroupMap/runtime_compat_composition.js +1 -1
- package/src/internal/generateGroupMap/runtime_support.js +1 -1
- package/src/internal/jsenvInternalFiles.js +0 -26
- package/src/internal/jsenv_builds.js +19 -0
- package/src/internal/{runtime/node-feature-detect/feature-detect-dynamic-import.mjs → node_feature_detection/feature_detect_dynamic_import.mjs} +0 -0
- package/src/internal/{runtime/node-feature-detect/feature-detect-top-level-await.mjs → node_feature_detection/feature_detect_top_level_await.mjs} +0 -0
- package/src/internal/{runtime/node-feature-detect → node_feature_detection}/nodeSupportsDynamicImport.js +0 -0
- package/src/internal/node_feature_detection/nodeSupportsTopLevelAwait.js +16 -0
- package/src/internal/{runtime/createNodeRuntime/scanNodeRuntimeFeatures.js → node_feature_detection/node_feature_detection.js} +12 -13
- package/src/internal/{node-launcher → node_launcher}/createChildProcessOptions.js +0 -0
- package/src/internal/{node-launcher → node_launcher}/createControllableNodeProcess.js +9 -14
- package/src/internal/{node-launcher → node_launcher}/kill_process_tree.js +0 -0
- package/src/internal/node_launcher/node_runtime_report.js +71 -0
- package/src/internal/{node-launcher → node_launcher}/processOptions.js +0 -0
- package/src/internal/{runtime/detectNode → node_runtime}/detectNode.js +0 -0
- package/src/internal/{runtime/createNodeRuntime → node_runtime}/evalSource.js +1 -1
- package/src/internal/{runtime/createNodeRuntime → node_runtime}/fetchSource.js +1 -1
- package/src/internal/{node-launcher → node_runtime}/nodeControllableFile.mjs +14 -11
- package/src/internal/{runtime/createNodeRuntime/createNodeExecutionWithDynamicImport.js → node_runtime/node_execution_dynamic_import.js} +34 -6
- package/src/internal/node_runtime/node_execution_performance.js +67 -0
- package/src/internal/{runtime/createNodeRuntime/createNodeExecutionWithSystemJs.js → node_runtime/node_execution_systemjs.js} +38 -24
- package/src/internal/{runtime/createNodeRuntime/createNodeSystem.js → node_runtime/node_system.js} +4 -4
- package/src/internal/runtime/computeCompileIdFromGroupId.js +1 -0
- package/src/internal/runtime/resolveGroup.js +1 -1
- package/src/internal/runtime/resolveRuntimeGroup.js +2 -2
- package/src/internal/{semantic-versioning → semantic_versioning}/findHighestVersion.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/findLowestVersion.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/index.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/valueToVersion.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionCompare.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionIsAbove.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionIsBelow.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionIsEqual.js +0 -0
- package/src/launchBrowser.js +33 -492
- package/src/launchNode.js +36 -7
- package/src/requireUsingChildProcess.js +1 -1
- package/dist/jsenv_compile_proxy.js +0 -1339
- package/dist/jsenv_compile_proxy.js.map +0 -378
- package/dist/jsenv_event_source_client.js.map +0 -126
- package/dist/jsenv_exploring_index.js +0 -1092
- package/dist/jsenv_exploring_index.js.map +0 -353
- package/dist/jsenv_exploring_redirector.js +0 -1386
- package/dist/jsenv_exploring_redirector.js.map +0 -384
- package/dist/jsenv_redirector.js +0 -1388
- package/dist/jsenv_redirector.js.map +0 -384
- package/dist/jsenv_toolbar.js +0 -2880
- package/dist/jsenv_toolbar.js.map +0 -771
- package/dist/jsenv_toolbar_injector.js.map +0 -301
- package/src/internal/browser-launcher/createSharing.js +0 -70
- package/src/internal/browser-launcher/jsenv_compile_proxy.html +0 -13
- package/src/internal/browser-launcher/jsenv_compile_proxy.js +0 -5
- package/src/internal/dev_server/event_source_client/event_source_client_file_info.js +0 -17
- package/src/internal/dev_server/exploring/exploring_file_info.js +0 -21
- package/src/internal/dev_server/redirector/redirector.js +0 -30
- package/src/internal/dev_server/redirector/redirector_file_info.js +0 -24
- package/src/internal/dev_server/toolbar/backtolist/toolbar.backtolist.js +0 -33
- package/src/internal/dev_server/toolbar/toolbar_file_info.js +0 -37
- package/src/internal/node-launcher/node-js-file.js +0 -110
- package/src/internal/runtime/createNodeRuntime/createNodeRuntime.js +0 -32
- package/src/internal/runtime/node-feature-detect/nodeSupportsTopLevelAwait.js +0 -18
- package/src/nodeRuntime.js +0 -5
package/dist/jsenv_redirector.js
DELETED
|
@@ -1,1388 +0,0 @@
|
|
|
1
|
-
(function () {
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var _defineProperty = (function (obj, key, value) {
|
|
5
|
-
// Shortcircuit the slow defineProperty path when possible.
|
|
6
|
-
// We are trying to avoid issues where setters defined on the
|
|
7
|
-
// prototype cause side effects under the fast path of simple
|
|
8
|
-
// assignment. By checking for existence of the property with
|
|
9
|
-
// the in operator, we can optimize most of this overhead away.
|
|
10
|
-
if (key in obj) {
|
|
11
|
-
Object.defineProperty(obj, key, {
|
|
12
|
-
value: value,
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true
|
|
16
|
-
});
|
|
17
|
-
} else {
|
|
18
|
-
obj[key] = value;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return obj;
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
function ownKeys(object, enumerableOnly) {
|
|
25
|
-
var keys = Object.keys(object);
|
|
26
|
-
|
|
27
|
-
if (Object.getOwnPropertySymbols) {
|
|
28
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
29
|
-
|
|
30
|
-
if (enumerableOnly) {
|
|
31
|
-
symbols = symbols.filter(function (sym) {
|
|
32
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
keys.push.apply(keys, symbols);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return keys;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function _objectSpread2(target) {
|
|
43
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
44
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
45
|
-
|
|
46
|
-
if (i % 2) {
|
|
47
|
-
ownKeys(Object(source), true).forEach(function (key) {
|
|
48
|
-
_defineProperty(target, key, source[key]);
|
|
49
|
-
});
|
|
50
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
51
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
52
|
-
} else {
|
|
53
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
54
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return target;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
var objectWithoutPropertiesLoose = (function (source, excluded) {
|
|
63
|
-
if (source === null) return {};
|
|
64
|
-
var target = {};
|
|
65
|
-
var sourceKeys = Object.keys(source);
|
|
66
|
-
var key;
|
|
67
|
-
var i;
|
|
68
|
-
|
|
69
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
70
|
-
key = sourceKeys[i];
|
|
71
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
72
|
-
target[key] = source[key];
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return target;
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
var _objectWithoutProperties = (function (source, excluded) {
|
|
79
|
-
if (source === null) return {};
|
|
80
|
-
var target = objectWithoutPropertiesLoose(source, excluded);
|
|
81
|
-
var key;
|
|
82
|
-
var i;
|
|
83
|
-
|
|
84
|
-
if (Object.getOwnPropertySymbols) {
|
|
85
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
86
|
-
|
|
87
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
88
|
-
key = sourceSymbolKeys[i];
|
|
89
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
90
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
91
|
-
target[key] = source[key];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return target;
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
var nativeTypeOf = function nativeTypeOf(obj) {
|
|
99
|
-
return typeof obj;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
var customTypeOf = function customTypeOf(obj) {
|
|
103
|
-
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf;
|
|
107
|
-
|
|
108
|
-
var createDetailedMessage = function createDetailedMessage(message) {
|
|
109
|
-
var details = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
110
|
-
var string = "".concat(message);
|
|
111
|
-
Object.keys(details).forEach(function (key) {
|
|
112
|
-
var value = details[key];
|
|
113
|
-
string += "\n--- ".concat(key, " ---\n").concat(Array.isArray(value) ? value.join("\n") : value);
|
|
114
|
-
});
|
|
115
|
-
return string;
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
function _await$4(value, then, direct) {
|
|
119
|
-
if (direct) {
|
|
120
|
-
return then ? then(value) : value;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (!value || !value.then) {
|
|
124
|
-
value = Promise.resolve(value);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return then ? value.then(then) : value;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
function _async$4(f) {
|
|
131
|
-
return function () {
|
|
132
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
133
|
-
args[i] = arguments[i];
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
try {
|
|
137
|
-
return Promise.resolve(f.apply(this, args));
|
|
138
|
-
} catch (e) {
|
|
139
|
-
return Promise.reject(e);
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function _call$1(body, then, direct) {
|
|
145
|
-
if (direct) {
|
|
146
|
-
return then ? then(body()) : body();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
try {
|
|
150
|
-
var result = Promise.resolve(body());
|
|
151
|
-
return then ? result.then(then) : result;
|
|
152
|
-
} catch (e) {
|
|
153
|
-
return Promise.reject(e);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
var fetchUsingXHR = _async$4(function (url) {
|
|
158
|
-
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
159
|
-
signal = _ref.signal,
|
|
160
|
-
_ref$method = _ref.method,
|
|
161
|
-
method = _ref$method === void 0 ? "GET" : _ref$method,
|
|
162
|
-
_ref$credentials = _ref.credentials,
|
|
163
|
-
credentials = _ref$credentials === void 0 ? "same-origin" : _ref$credentials,
|
|
164
|
-
_ref$headers = _ref.headers,
|
|
165
|
-
headers = _ref$headers === void 0 ? {} : _ref$headers,
|
|
166
|
-
_ref$body = _ref.body,
|
|
167
|
-
body = _ref$body === void 0 ? null : _ref$body;
|
|
168
|
-
|
|
169
|
-
var headersPromise = createPromiseAndHooks();
|
|
170
|
-
var bodyPromise = createPromiseAndHooks();
|
|
171
|
-
var xhr = new XMLHttpRequest();
|
|
172
|
-
|
|
173
|
-
var failure = function failure(error) {
|
|
174
|
-
// if it was already resolved, we must reject the body promise
|
|
175
|
-
if (headersPromise.settled) {
|
|
176
|
-
bodyPromise.reject(error);
|
|
177
|
-
} else {
|
|
178
|
-
headersPromise.reject(error);
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
var cleanup = function cleanup() {
|
|
183
|
-
xhr.ontimeout = null;
|
|
184
|
-
xhr.onerror = null;
|
|
185
|
-
xhr.onload = null;
|
|
186
|
-
xhr.onreadystatechange = null;
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
xhr.ontimeout = function () {
|
|
190
|
-
cleanup();
|
|
191
|
-
failure(new Error("xhr request timeout on ".concat(url, ".")));
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
xhr.onerror = function (error) {
|
|
195
|
-
cleanup(); // unfortunately with have no clue why it fails
|
|
196
|
-
// might be cors for instance
|
|
197
|
-
|
|
198
|
-
failure(createRequestError(error, {
|
|
199
|
-
url: url
|
|
200
|
-
}));
|
|
201
|
-
};
|
|
202
|
-
|
|
203
|
-
xhr.onload = function () {
|
|
204
|
-
cleanup();
|
|
205
|
-
bodyPromise.resolve();
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
signal.addEventListener("abort", function () {
|
|
209
|
-
xhr.abort();
|
|
210
|
-
var abortError = new Error("aborted");
|
|
211
|
-
abortError.name = "AbortError";
|
|
212
|
-
failure(abortError);
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
xhr.onreadystatechange = function () {
|
|
216
|
-
// https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState
|
|
217
|
-
var readyState = xhr.readyState;
|
|
218
|
-
|
|
219
|
-
if (readyState === 2) {
|
|
220
|
-
headersPromise.resolve();
|
|
221
|
-
} else if (readyState === 4) {
|
|
222
|
-
cleanup();
|
|
223
|
-
bodyPromise.resolve();
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
xhr.open(method, url, true);
|
|
228
|
-
Object.keys(headers).forEach(function (key) {
|
|
229
|
-
xhr.setRequestHeader(key, headers[key]);
|
|
230
|
-
});
|
|
231
|
-
xhr.withCredentials = computeWithCredentials({
|
|
232
|
-
credentials: credentials,
|
|
233
|
-
url: url
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
if ("responseType" in xhr && hasBlob) {
|
|
237
|
-
xhr.responseType = "blob";
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
xhr.send(body);
|
|
241
|
-
return _await$4(headersPromise, function () {
|
|
242
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL
|
|
243
|
-
var responseUrl = "responseURL" in xhr ? xhr.responseURL : headers["x-request-url"];
|
|
244
|
-
var responseStatus = xhr.status;
|
|
245
|
-
var responseStatusText = xhr.statusText;
|
|
246
|
-
var responseHeaders = getHeadersFromXHR(xhr);
|
|
247
|
-
|
|
248
|
-
var readBody = function readBody() {
|
|
249
|
-
return _await$4(bodyPromise, function () {
|
|
250
|
-
var status = xhr.status; // in Chrome on file:/// URLs, status is 0
|
|
251
|
-
|
|
252
|
-
if (status === 0) {
|
|
253
|
-
responseStatus = 200;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
var body = "response" in xhr ? xhr.response : xhr.responseText;
|
|
257
|
-
return {
|
|
258
|
-
responseBody: body,
|
|
259
|
-
responseBodyType: detectBodyType(body)
|
|
260
|
-
};
|
|
261
|
-
});
|
|
262
|
-
};
|
|
263
|
-
|
|
264
|
-
var text = function text() {
|
|
265
|
-
return _call$1(readBody, function (_ref2) {
|
|
266
|
-
var responseBody = _ref2.responseBody,
|
|
267
|
-
responseBodyType = _ref2.responseBodyType;
|
|
268
|
-
|
|
269
|
-
if (responseBodyType === "blob") {
|
|
270
|
-
return blobToText(responseBody);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
if (responseBodyType === "formData") {
|
|
274
|
-
throw new Error("could not read FormData body as text");
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
return responseBodyType === "dataView" ? arrayBufferToText(responseBody.buffer) : responseBodyType === "arrayBuffer" ? arrayBufferToText(responseBody) : String(responseBody);
|
|
278
|
-
});
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
var json = function json() {
|
|
282
|
-
return _call$1(text, JSON.parse);
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
var blob = _async$4(function () {
|
|
286
|
-
if (!hasBlob) {
|
|
287
|
-
throw new Error("blob not supported");
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
return _call$1(readBody, function (_ref3) {
|
|
291
|
-
var responseBody = _ref3.responseBody,
|
|
292
|
-
responseBodyType = _ref3.responseBodyType;
|
|
293
|
-
|
|
294
|
-
if (responseBodyType === "blob") {
|
|
295
|
-
return responseBody;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
if (responseBodyType === "dataView") {
|
|
299
|
-
return new Blob([cloneBuffer(responseBody.buffer)]);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
if (responseBodyType === "arrayBuffer") {
|
|
303
|
-
return new Blob([cloneBuffer(responseBody)]);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
if (responseBodyType === "formData") {
|
|
307
|
-
throw new Error("could not read FormData body as blob");
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
return new Blob([String(responseBody)]);
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
|
|
314
|
-
var arrayBuffer = function arrayBuffer() {
|
|
315
|
-
return _call$1(readBody, function (_ref4) {
|
|
316
|
-
var responseBody = _ref4.responseBody,
|
|
317
|
-
responseBodyType = _ref4.responseBodyType;
|
|
318
|
-
return responseBodyType === "arrayBuffer" ? cloneBuffer(responseBody) : _call$1(blob, blobToArrayBuffer);
|
|
319
|
-
});
|
|
320
|
-
};
|
|
321
|
-
|
|
322
|
-
var formData = _async$4(function () {
|
|
323
|
-
if (!hasFormData) {
|
|
324
|
-
throw new Error("formData not supported");
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
return _call$1(text, textToFormData);
|
|
328
|
-
});
|
|
329
|
-
|
|
330
|
-
return {
|
|
331
|
-
url: responseUrl,
|
|
332
|
-
status: responseStatus,
|
|
333
|
-
statusText: responseStatusText,
|
|
334
|
-
headers: responseHeaders,
|
|
335
|
-
text: text,
|
|
336
|
-
json: json,
|
|
337
|
-
blob: blob,
|
|
338
|
-
arrayBuffer: arrayBuffer,
|
|
339
|
-
formData: formData
|
|
340
|
-
};
|
|
341
|
-
});
|
|
342
|
-
});
|
|
343
|
-
|
|
344
|
-
var canUseBlob = function canUseBlob() {
|
|
345
|
-
if (typeof window.FileReader !== "function") return false;
|
|
346
|
-
if (typeof window.Blob !== "function") return false;
|
|
347
|
-
|
|
348
|
-
try {
|
|
349
|
-
// eslint-disable-next-line no-new
|
|
350
|
-
new Blob();
|
|
351
|
-
return true;
|
|
352
|
-
} catch (e) {
|
|
353
|
-
return false;
|
|
354
|
-
}
|
|
355
|
-
};
|
|
356
|
-
|
|
357
|
-
var hasBlob = canUseBlob();
|
|
358
|
-
var hasFormData = typeof window.FormData === "function";
|
|
359
|
-
var hasArrayBuffer = typeof window.ArrayBuffer === "function";
|
|
360
|
-
var hasSearchParams = typeof window.URLSearchParams === "function";
|
|
361
|
-
|
|
362
|
-
var createRequestError = function createRequestError(error, _ref5) {
|
|
363
|
-
var url = _ref5.url;
|
|
364
|
-
return new Error(createDetailedMessage("error during xhr request on ".concat(url, "."), _defineProperty({}, "error stack", error.stack)));
|
|
365
|
-
};
|
|
366
|
-
|
|
367
|
-
var createPromiseAndHooks = function createPromiseAndHooks() {
|
|
368
|
-
var resolve;
|
|
369
|
-
var reject;
|
|
370
|
-
var promise = new Promise(function (res, rej) {
|
|
371
|
-
resolve = function resolve(value) {
|
|
372
|
-
promise.settled = true;
|
|
373
|
-
res(value);
|
|
374
|
-
};
|
|
375
|
-
|
|
376
|
-
reject = function reject(value) {
|
|
377
|
-
promise.settled = true;
|
|
378
|
-
rej(value);
|
|
379
|
-
};
|
|
380
|
-
});
|
|
381
|
-
promise.resolve = resolve;
|
|
382
|
-
promise.reject = reject;
|
|
383
|
-
return promise;
|
|
384
|
-
}; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
var computeWithCredentials = function computeWithCredentials(_ref6) {
|
|
388
|
-
var credentials = _ref6.credentials,
|
|
389
|
-
url = _ref6.url;
|
|
390
|
-
|
|
391
|
-
if (credentials === "same-origin") {
|
|
392
|
-
return originSameAsGlobalOrigin(url);
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
return credentials === "include";
|
|
396
|
-
};
|
|
397
|
-
|
|
398
|
-
var originSameAsGlobalOrigin = function originSameAsGlobalOrigin(url) {
|
|
399
|
-
// if we cannot read globalOrigin from window.location.origin, let's consider it's ok
|
|
400
|
-
if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== "object") return true;
|
|
401
|
-
if (_typeof(window.location) !== "object") return true;
|
|
402
|
-
var globalOrigin = window.location.origin;
|
|
403
|
-
if (globalOrigin === "null") return true;
|
|
404
|
-
return hrefToOrigin(url) === globalOrigin;
|
|
405
|
-
};
|
|
406
|
-
|
|
407
|
-
var detectBodyType = function detectBodyType(body) {
|
|
408
|
-
if (!body) {
|
|
409
|
-
return "";
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
if (typeof body === "string") {
|
|
413
|
-
return "text";
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
if (hasBlob && Blob.prototype.isPrototypeOf(body)) {
|
|
417
|
-
return "blob";
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
if (hasFormData && FormData.prototype.isPrototypeOf(body)) {
|
|
421
|
-
return "formData";
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
if (hasArrayBuffer) {
|
|
425
|
-
if (hasBlob && isDataView(body)) {
|
|
426
|
-
return "dataView";
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {
|
|
430
|
-
return "arrayBuffer";
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
|
435
|
-
return "searchParams";
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
return "";
|
|
439
|
-
}; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
var getHeadersFromXHR = function getHeadersFromXHR(xhr) {
|
|
443
|
-
var headerMap = {};
|
|
444
|
-
var headersString = xhr.getAllResponseHeaders();
|
|
445
|
-
if (headersString === "") return headerMap;
|
|
446
|
-
var lines = headersString.trim().split(/[\r\n]+/);
|
|
447
|
-
lines.forEach(function (line) {
|
|
448
|
-
var parts = line.split(": ");
|
|
449
|
-
var name = parts.shift();
|
|
450
|
-
var value = parts.join(": ");
|
|
451
|
-
headerMap[name.toLowerCase()] = value;
|
|
452
|
-
});
|
|
453
|
-
return headerMap;
|
|
454
|
-
};
|
|
455
|
-
|
|
456
|
-
var hrefToOrigin = function hrefToOrigin(href) {
|
|
457
|
-
var scheme = hrefToScheme(href);
|
|
458
|
-
|
|
459
|
-
if (scheme === "file") {
|
|
460
|
-
return "file://";
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
if (scheme === "http" || scheme === "https") {
|
|
464
|
-
var secondProtocolSlashIndex = scheme.length + "://".length;
|
|
465
|
-
var pathnameSlashIndex = href.indexOf("/", secondProtocolSlashIndex);
|
|
466
|
-
if (pathnameSlashIndex === -1) return href;
|
|
467
|
-
return href.slice(0, pathnameSlashIndex);
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
return href.slice(0, scheme.length + 1);
|
|
471
|
-
};
|
|
472
|
-
|
|
473
|
-
var hrefToScheme = function hrefToScheme(href) {
|
|
474
|
-
var colonIndex = href.indexOf(":");
|
|
475
|
-
if (colonIndex === -1) return "";
|
|
476
|
-
return href.slice(0, colonIndex);
|
|
477
|
-
};
|
|
478
|
-
|
|
479
|
-
var isDataView = function isDataView(obj) {
|
|
480
|
-
return obj && DataView.prototype.isPrototypeOf(obj);
|
|
481
|
-
};
|
|
482
|
-
|
|
483
|
-
var isArrayBufferView = ArrayBuffer.isView || function () {
|
|
484
|
-
var viewClasses = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"];
|
|
485
|
-
return function (value) {
|
|
486
|
-
return value && viewClasses.includes(Object.prototype.toString.call(value));
|
|
487
|
-
};
|
|
488
|
-
}();
|
|
489
|
-
|
|
490
|
-
var textToFormData = function textToFormData(text) {
|
|
491
|
-
var form = new FormData();
|
|
492
|
-
text.trim().split("&").forEach(function (bytes) {
|
|
493
|
-
if (bytes) {
|
|
494
|
-
var split = bytes.split("=");
|
|
495
|
-
var name = split.shift().replace(/\+/g, " ");
|
|
496
|
-
var value = split.join("=").replace(/\+/g, " ");
|
|
497
|
-
form.append(decodeURIComponent(name), decodeURIComponent(value));
|
|
498
|
-
}
|
|
499
|
-
});
|
|
500
|
-
return form;
|
|
501
|
-
};
|
|
502
|
-
|
|
503
|
-
var blobToArrayBuffer = _async$4(function (blob) {
|
|
504
|
-
var reader = new FileReader();
|
|
505
|
-
var promise = fileReaderReady(reader);
|
|
506
|
-
reader.readAsArrayBuffer(blob);
|
|
507
|
-
return promise;
|
|
508
|
-
});
|
|
509
|
-
|
|
510
|
-
var blobToText = function blobToText(blob) {
|
|
511
|
-
var reader = new FileReader();
|
|
512
|
-
var promise = fileReaderReady(reader);
|
|
513
|
-
reader.readAsText(blob);
|
|
514
|
-
return promise;
|
|
515
|
-
};
|
|
516
|
-
|
|
517
|
-
var arrayBufferToText = function arrayBufferToText(arrayBuffer) {
|
|
518
|
-
var view = new Uint8Array(arrayBuffer);
|
|
519
|
-
var chars = new Array(view.length);
|
|
520
|
-
var i = 0;
|
|
521
|
-
|
|
522
|
-
while (i < view.length) {
|
|
523
|
-
chars[i] = String.fromCharCode(view[i]);
|
|
524
|
-
i++;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
return chars.join("");
|
|
528
|
-
};
|
|
529
|
-
|
|
530
|
-
var fileReaderReady = function fileReaderReady(reader) {
|
|
531
|
-
return new Promise(function (resolve, reject) {
|
|
532
|
-
reader.onload = function () {
|
|
533
|
-
resolve(reader.result);
|
|
534
|
-
};
|
|
535
|
-
|
|
536
|
-
reader.onerror = function () {
|
|
537
|
-
reject(reader.error);
|
|
538
|
-
};
|
|
539
|
-
});
|
|
540
|
-
};
|
|
541
|
-
|
|
542
|
-
var cloneBuffer = function cloneBuffer(buffer) {
|
|
543
|
-
if (buffer.slice) {
|
|
544
|
-
return buffer.slice(0);
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
var view = new Uint8Array(buffer.byteLength);
|
|
548
|
-
view.set(new Uint8Array(buffer));
|
|
549
|
-
return view.buffer;
|
|
550
|
-
};
|
|
551
|
-
|
|
552
|
-
var _excluded = ["mode"];
|
|
553
|
-
|
|
554
|
-
function _await$3(value, then, direct) {
|
|
555
|
-
if (direct) {
|
|
556
|
-
return then ? then(value) : value;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
if (!value || !value.then) {
|
|
560
|
-
value = Promise.resolve(value);
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
return then ? value.then(then) : value;
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
var fetchNative = _async$3(function (url) {
|
|
567
|
-
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
568
|
-
|
|
569
|
-
var _ref$mode = _ref.mode,
|
|
570
|
-
mode = _ref$mode === void 0 ? "cors" : _ref$mode,
|
|
571
|
-
options = _objectWithoutProperties(_ref, _excluded);
|
|
572
|
-
|
|
573
|
-
return _await$3(window.fetch(url, _objectSpread2({
|
|
574
|
-
mode: mode
|
|
575
|
-
}, options)), function (response) {
|
|
576
|
-
return {
|
|
577
|
-
url: response.url,
|
|
578
|
-
status: response.status,
|
|
579
|
-
statusText: "",
|
|
580
|
-
headers: responseToHeaders(response),
|
|
581
|
-
text: function text() {
|
|
582
|
-
return response.text();
|
|
583
|
-
},
|
|
584
|
-
json: function json() {
|
|
585
|
-
return response.json();
|
|
586
|
-
},
|
|
587
|
-
blob: function blob() {
|
|
588
|
-
return response.blob();
|
|
589
|
-
},
|
|
590
|
-
arrayBuffer: function arrayBuffer() {
|
|
591
|
-
return response.arrayBuffer();
|
|
592
|
-
},
|
|
593
|
-
formData: function formData() {
|
|
594
|
-
return response.formData();
|
|
595
|
-
}
|
|
596
|
-
};
|
|
597
|
-
});
|
|
598
|
-
});
|
|
599
|
-
|
|
600
|
-
function _async$3(f) {
|
|
601
|
-
return function () {
|
|
602
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
603
|
-
args[i] = arguments[i];
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
try {
|
|
607
|
-
return Promise.resolve(f.apply(this, args));
|
|
608
|
-
} catch (e) {
|
|
609
|
-
return Promise.reject(e);
|
|
610
|
-
}
|
|
611
|
-
};
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
var responseToHeaders = function responseToHeaders(response) {
|
|
615
|
-
var headers = {};
|
|
616
|
-
response.headers.forEach(function (value, name) {
|
|
617
|
-
headers[name] = value;
|
|
618
|
-
});
|
|
619
|
-
return headers;
|
|
620
|
-
};
|
|
621
|
-
|
|
622
|
-
var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR;
|
|
623
|
-
|
|
624
|
-
function _await$2(value, then, direct) {
|
|
625
|
-
if (direct) {
|
|
626
|
-
return then ? then(value) : value;
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
if (!value || !value.then) {
|
|
630
|
-
value = Promise.resolve(value);
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
return then ? value.then(then) : value;
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
function _async$2(f) {
|
|
637
|
-
return function () {
|
|
638
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
639
|
-
args[i] = arguments[i];
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
try {
|
|
643
|
-
return Promise.resolve(f.apply(this, args));
|
|
644
|
-
} catch (e) {
|
|
645
|
-
return Promise.reject(e);
|
|
646
|
-
}
|
|
647
|
-
};
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
var fetchJson = _async$2(function (url) {
|
|
651
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
652
|
-
return _await$2(fetchUrl(url, options), function (response) {
|
|
653
|
-
return _await$2(response.json());
|
|
654
|
-
});
|
|
655
|
-
});
|
|
656
|
-
|
|
657
|
-
var COMPILE_ID_OTHERWISE = "otherwise";
|
|
658
|
-
|
|
659
|
-
var computeCompileIdFromGroupId = function computeCompileIdFromGroupId(_ref) {
|
|
660
|
-
var groupId = _ref.groupId,
|
|
661
|
-
groupMap = _ref.groupMap;
|
|
662
|
-
|
|
663
|
-
if (typeof groupId === "undefined") {
|
|
664
|
-
if (COMPILE_ID_OTHERWISE in groupMap) {
|
|
665
|
-
return COMPILE_ID_OTHERWISE;
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
var keys = Object.keys(groupMap);
|
|
669
|
-
|
|
670
|
-
if (keys.length === 1) {
|
|
671
|
-
return keys[0];
|
|
672
|
-
}
|
|
673
|
-
|
|
674
|
-
throw new Error(createUnexpectedGroupIdMessage({
|
|
675
|
-
groupMap: groupMap
|
|
676
|
-
}));
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
if (groupId in groupMap === false) {
|
|
680
|
-
throw new Error(createUnexpectedGroupIdMessage({
|
|
681
|
-
groupId: groupId,
|
|
682
|
-
groupMap: groupMap
|
|
683
|
-
}));
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
return groupId;
|
|
687
|
-
};
|
|
688
|
-
|
|
689
|
-
var createUnexpectedGroupIdMessage = function createUnexpectedGroupIdMessage(_ref2) {
|
|
690
|
-
var _createDetailedMessag;
|
|
691
|
-
|
|
692
|
-
var compileId = _ref2.compileId,
|
|
693
|
-
groupMap = _ref2.groupMap;
|
|
694
|
-
return createDetailedMessage("unexpected groupId.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "expected compiled id", Object.keys(groupMap)), _defineProperty(_createDetailedMessag, "received compile id", compileId), _createDetailedMessag));
|
|
695
|
-
};
|
|
696
|
-
|
|
697
|
-
var firstMatch = function firstMatch(regexp, string) {
|
|
698
|
-
var match = string.match(regexp);
|
|
699
|
-
return match && match.length > 0 ? match[1] || undefined : undefined;
|
|
700
|
-
};
|
|
701
|
-
var secondMatch = function secondMatch(regexp, string) {
|
|
702
|
-
var match = string.match(regexp);
|
|
703
|
-
return match && match.length > 1 ? match[2] || undefined : undefined;
|
|
704
|
-
};
|
|
705
|
-
var userAgentToVersion = function userAgentToVersion(userAgent) {
|
|
706
|
-
return firstMatch(/version\/(\d+(\.?_?\d+)+)/i, userAgent) || undefined;
|
|
707
|
-
};
|
|
708
|
-
|
|
709
|
-
var detectAndroid = function detectAndroid() {
|
|
710
|
-
return navigatorToBrowser$1(window.navigator);
|
|
711
|
-
};
|
|
712
|
-
|
|
713
|
-
var navigatorToBrowser$1 = function navigatorToBrowser(_ref) {
|
|
714
|
-
var userAgent = _ref.userAgent,
|
|
715
|
-
appVersion = _ref.appVersion;
|
|
716
|
-
|
|
717
|
-
if (/(android)/i.test(userAgent)) {
|
|
718
|
-
return {
|
|
719
|
-
name: "android",
|
|
720
|
-
version: firstMatch(/Android (\d+(\.?_?\d+)+)/i, appVersion)
|
|
721
|
-
};
|
|
722
|
-
}
|
|
723
|
-
|
|
724
|
-
return null;
|
|
725
|
-
};
|
|
726
|
-
|
|
727
|
-
var detectInternetExplorer = function detectInternetExplorer() {
|
|
728
|
-
return userAgentToBrowser$5(window.navigator.userAgent);
|
|
729
|
-
};
|
|
730
|
-
|
|
731
|
-
var userAgentToBrowser$5 = function userAgentToBrowser(userAgent) {
|
|
732
|
-
if (/msie|trident/i.test(userAgent)) {
|
|
733
|
-
return {
|
|
734
|
-
name: "ie",
|
|
735
|
-
version: firstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, userAgent)
|
|
736
|
-
};
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
return null;
|
|
740
|
-
};
|
|
741
|
-
|
|
742
|
-
var detectOpera = function detectOpera() {
|
|
743
|
-
return userAgentToBrowser$4(window.navigator.userAgent);
|
|
744
|
-
};
|
|
745
|
-
|
|
746
|
-
var userAgentToBrowser$4 = function userAgentToBrowser(userAgent) {
|
|
747
|
-
// opera below 13
|
|
748
|
-
if (/opera/i.test(userAgent)) {
|
|
749
|
-
return {
|
|
750
|
-
name: "opera",
|
|
751
|
-
version: userAgentToVersion(userAgent) || firstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, userAgent)
|
|
752
|
-
};
|
|
753
|
-
} // opera above 13
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
if (/opr\/|opios/i.test(userAgent)) {
|
|
757
|
-
return {
|
|
758
|
-
name: "opera",
|
|
759
|
-
version: firstMatch(/(?:opr|opios)[\s/](\S+)/i, userAgent) || userAgentToVersion(userAgent)
|
|
760
|
-
};
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
return null;
|
|
764
|
-
};
|
|
765
|
-
|
|
766
|
-
var detectEdge = function detectEdge() {
|
|
767
|
-
return userAgentToBrowser$3(window.navigator.userAgent);
|
|
768
|
-
};
|
|
769
|
-
|
|
770
|
-
var userAgentToBrowser$3 = function userAgentToBrowser(userAgent) {
|
|
771
|
-
if (/edg([ea]|ios)/i.test(userAgent)) {
|
|
772
|
-
return {
|
|
773
|
-
name: "edge",
|
|
774
|
-
version: secondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, userAgent)
|
|
775
|
-
};
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
return null;
|
|
779
|
-
};
|
|
780
|
-
|
|
781
|
-
var detectFirefox = function detectFirefox() {
|
|
782
|
-
return userAgentToBrowser$2(window.navigator.userAgent);
|
|
783
|
-
};
|
|
784
|
-
|
|
785
|
-
var userAgentToBrowser$2 = function userAgentToBrowser(userAgent) {
|
|
786
|
-
if (/firefox|iceweasel|fxios/i.test(userAgent)) {
|
|
787
|
-
return {
|
|
788
|
-
name: "firefox",
|
|
789
|
-
version: firstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, userAgent)
|
|
790
|
-
};
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
return null;
|
|
794
|
-
};
|
|
795
|
-
|
|
796
|
-
var detectChrome = function detectChrome() {
|
|
797
|
-
return userAgentToBrowser$1(window.navigator.userAgent);
|
|
798
|
-
};
|
|
799
|
-
|
|
800
|
-
var userAgentToBrowser$1 = function userAgentToBrowser(userAgent) {
|
|
801
|
-
if (/chromium/i.test(userAgent)) {
|
|
802
|
-
return {
|
|
803
|
-
name: "chrome",
|
|
804
|
-
version: firstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, userAgent) || userAgentToVersion(userAgent)
|
|
805
|
-
};
|
|
806
|
-
}
|
|
807
|
-
|
|
808
|
-
if (/chrome|crios|crmo/i.test(userAgent)) {
|
|
809
|
-
return {
|
|
810
|
-
name: "chrome",
|
|
811
|
-
version: firstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, userAgent)
|
|
812
|
-
};
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
return null;
|
|
816
|
-
};
|
|
817
|
-
|
|
818
|
-
var detectSafari = function detectSafari() {
|
|
819
|
-
return userAgentToBrowser(window.navigator.userAgent);
|
|
820
|
-
};
|
|
821
|
-
|
|
822
|
-
var userAgentToBrowser = function userAgentToBrowser(userAgent) {
|
|
823
|
-
if (/safari|applewebkit/i.test(userAgent)) {
|
|
824
|
-
return {
|
|
825
|
-
name: "safari",
|
|
826
|
-
version: userAgentToVersion(userAgent)
|
|
827
|
-
};
|
|
828
|
-
}
|
|
829
|
-
|
|
830
|
-
return null;
|
|
831
|
-
};
|
|
832
|
-
|
|
833
|
-
var detectElectron = function detectElectron() {
|
|
834
|
-
return null;
|
|
835
|
-
}; // TODO
|
|
836
|
-
|
|
837
|
-
var detectIOS = function detectIOS() {
|
|
838
|
-
return navigatorToBrowser(window.navigator);
|
|
839
|
-
};
|
|
840
|
-
|
|
841
|
-
var navigatorToBrowser = function navigatorToBrowser(_ref) {
|
|
842
|
-
var userAgent = _ref.userAgent,
|
|
843
|
-
appVersion = _ref.appVersion;
|
|
844
|
-
|
|
845
|
-
if (/iPhone;/.test(userAgent)) {
|
|
846
|
-
return {
|
|
847
|
-
name: "ios",
|
|
848
|
-
version: firstMatch(/OS (\d+(\.?_?\d+)+)/i, appVersion)
|
|
849
|
-
};
|
|
850
|
-
}
|
|
851
|
-
|
|
852
|
-
if (/iPad;/.test(userAgent)) {
|
|
853
|
-
return {
|
|
854
|
-
name: "ios",
|
|
855
|
-
version: firstMatch(/OS (\d+(\.?_?\d+)+)/i, appVersion)
|
|
856
|
-
};
|
|
857
|
-
}
|
|
858
|
-
|
|
859
|
-
return null;
|
|
860
|
-
};
|
|
861
|
-
|
|
862
|
-
// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1
|
|
863
|
-
|
|
864
|
-
var detectorCompose = function detectorCompose(detectors) {
|
|
865
|
-
return function () {
|
|
866
|
-
var i = 0;
|
|
867
|
-
|
|
868
|
-
while (i < detectors.length) {
|
|
869
|
-
var _detector = detectors[i];
|
|
870
|
-
i++;
|
|
871
|
-
|
|
872
|
-
var result = _detector();
|
|
873
|
-
|
|
874
|
-
if (result) {
|
|
875
|
-
return result;
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
|
|
879
|
-
return null;
|
|
880
|
-
};
|
|
881
|
-
};
|
|
882
|
-
|
|
883
|
-
var detector = detectorCompose([detectOpera, detectInternetExplorer, detectEdge, detectFirefox, detectChrome, detectSafari, detectElectron, detectIOS, detectAndroid]);
|
|
884
|
-
var detectBrowser = function detectBrowser() {
|
|
885
|
-
var _ref = detector() || {},
|
|
886
|
-
_ref$name = _ref.name,
|
|
887
|
-
name = _ref$name === void 0 ? "other" : _ref$name,
|
|
888
|
-
_ref$version = _ref.version,
|
|
889
|
-
version = _ref$version === void 0 ? "unknown" : _ref$version;
|
|
890
|
-
|
|
891
|
-
return {
|
|
892
|
-
name: normalizeName(name),
|
|
893
|
-
version: normalizeVersion(version)
|
|
894
|
-
};
|
|
895
|
-
};
|
|
896
|
-
|
|
897
|
-
var normalizeName = function normalizeName(name) {
|
|
898
|
-
return name.toLowerCase();
|
|
899
|
-
};
|
|
900
|
-
|
|
901
|
-
var normalizeVersion = function normalizeVersion(version) {
|
|
902
|
-
if (version.indexOf(".") > -1) {
|
|
903
|
-
var parts = version.split("."); // remove extraneous .
|
|
904
|
-
|
|
905
|
-
return parts.slice(0, 3).join(".");
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
if (version.indexOf("_") > -1) {
|
|
909
|
-
var _parts = version.split("_"); // remove extraneous _
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
return _parts.slice(0, 3).join("_");
|
|
913
|
-
}
|
|
914
|
-
|
|
915
|
-
return version;
|
|
916
|
-
};
|
|
917
|
-
|
|
918
|
-
var valueToVersion = function valueToVersion(value) {
|
|
919
|
-
if (typeof value === "number") {
|
|
920
|
-
return numberToVersion(value);
|
|
921
|
-
}
|
|
922
|
-
|
|
923
|
-
if (typeof value === "string") {
|
|
924
|
-
return stringToVersion(value);
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
throw new TypeError("version must be a number or a string, got ".concat(value));
|
|
928
|
-
};
|
|
929
|
-
|
|
930
|
-
var numberToVersion = function numberToVersion(number) {
|
|
931
|
-
return {
|
|
932
|
-
major: number,
|
|
933
|
-
minor: 0,
|
|
934
|
-
patch: 0
|
|
935
|
-
};
|
|
936
|
-
};
|
|
937
|
-
|
|
938
|
-
var stringToVersion = function stringToVersion(string) {
|
|
939
|
-
if (string.indexOf(".") > -1) {
|
|
940
|
-
var parts = string.split(".");
|
|
941
|
-
return {
|
|
942
|
-
major: Number(parts[0]),
|
|
943
|
-
minor: parts[1] ? Number(parts[1]) : 0,
|
|
944
|
-
patch: parts[2] ? Number(parts[2]) : 0
|
|
945
|
-
};
|
|
946
|
-
}
|
|
947
|
-
|
|
948
|
-
if (isNaN(string)) {
|
|
949
|
-
return {
|
|
950
|
-
major: 0,
|
|
951
|
-
minor: 0,
|
|
952
|
-
patch: 0
|
|
953
|
-
};
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
return {
|
|
957
|
-
major: Number(string),
|
|
958
|
-
minor: 0,
|
|
959
|
-
patch: 0
|
|
960
|
-
};
|
|
961
|
-
};
|
|
962
|
-
|
|
963
|
-
var versionCompare = function versionCompare(versionA, versionB) {
|
|
964
|
-
var semanticVersionA = valueToVersion(versionA);
|
|
965
|
-
var semanticVersionB = valueToVersion(versionB);
|
|
966
|
-
var majorDiff = semanticVersionA.major - semanticVersionB.major;
|
|
967
|
-
|
|
968
|
-
if (majorDiff > 0) {
|
|
969
|
-
return majorDiff;
|
|
970
|
-
}
|
|
971
|
-
|
|
972
|
-
if (majorDiff < 0) {
|
|
973
|
-
return majorDiff;
|
|
974
|
-
}
|
|
975
|
-
|
|
976
|
-
var minorDiff = semanticVersionA.minor - semanticVersionB.minor;
|
|
977
|
-
|
|
978
|
-
if (minorDiff > 0) {
|
|
979
|
-
return minorDiff;
|
|
980
|
-
}
|
|
981
|
-
|
|
982
|
-
if (minorDiff < 0) {
|
|
983
|
-
return minorDiff;
|
|
984
|
-
}
|
|
985
|
-
|
|
986
|
-
var patchDiff = semanticVersionA.patch - semanticVersionB.patch;
|
|
987
|
-
|
|
988
|
-
if (patchDiff > 0) {
|
|
989
|
-
return patchDiff;
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
if (patchDiff < 0) {
|
|
993
|
-
return patchDiff;
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
return 0;
|
|
997
|
-
};
|
|
998
|
-
|
|
999
|
-
var versionIsBelow = function versionIsBelow(versionSupposedBelow, versionSupposedAbove) {
|
|
1000
|
-
return versionCompare(versionSupposedBelow, versionSupposedAbove) < 0;
|
|
1001
|
-
};
|
|
1002
|
-
|
|
1003
|
-
var findHighestVersion = function findHighestVersion() {
|
|
1004
|
-
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1005
|
-
values[_key] = arguments[_key];
|
|
1006
|
-
}
|
|
1007
|
-
|
|
1008
|
-
if (values.length === 0) throw new Error("missing argument");
|
|
1009
|
-
return values.reduce(function (highestVersion, value) {
|
|
1010
|
-
if (versionIsBelow(highestVersion, value)) {
|
|
1011
|
-
return value;
|
|
1012
|
-
}
|
|
1013
|
-
|
|
1014
|
-
return highestVersion;
|
|
1015
|
-
});
|
|
1016
|
-
};
|
|
1017
|
-
|
|
1018
|
-
var resolveGroup = function resolveGroup(_ref, groupMap) {
|
|
1019
|
-
var name = _ref.name,
|
|
1020
|
-
version = _ref.version;
|
|
1021
|
-
return Object.keys(groupMap).find(function (compileIdCandidate) {
|
|
1022
|
-
var minRuntimeVersions = groupMap[compileIdCandidate].minRuntimeVersions;
|
|
1023
|
-
var versionForGroup = minRuntimeVersions[name];
|
|
1024
|
-
|
|
1025
|
-
if (!versionForGroup) {
|
|
1026
|
-
return false;
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
var highestVersion = findHighestVersion(version, versionForGroup);
|
|
1030
|
-
return highestVersion === version;
|
|
1031
|
-
});
|
|
1032
|
-
};
|
|
1033
|
-
|
|
1034
|
-
function _await$1(value, then, direct) {
|
|
1035
|
-
if (direct) {
|
|
1036
|
-
return then ? then(value) : value;
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
|
-
if (!value || !value.then) {
|
|
1040
|
-
value = Promise.resolve(value);
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
|
-
return then ? value.then(then) : value;
|
|
1044
|
-
}
|
|
1045
|
-
|
|
1046
|
-
function _async$1(f) {
|
|
1047
|
-
return function () {
|
|
1048
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
1049
|
-
args[i] = arguments[i];
|
|
1050
|
-
}
|
|
1051
|
-
|
|
1052
|
-
try {
|
|
1053
|
-
return Promise.resolve(f.apply(this, args));
|
|
1054
|
-
} catch (e) {
|
|
1055
|
-
return Promise.reject(e);
|
|
1056
|
-
}
|
|
1057
|
-
};
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
|
-
function _call(body, then, direct) {
|
|
1061
|
-
if (direct) {
|
|
1062
|
-
return then ? then(body()) : body();
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
try {
|
|
1066
|
-
var result = Promise.resolve(body());
|
|
1067
|
-
return then ? result.then(then) : result;
|
|
1068
|
-
} catch (e) {
|
|
1069
|
-
return Promise.reject(e);
|
|
1070
|
-
}
|
|
1071
|
-
}
|
|
1072
|
-
|
|
1073
|
-
function _invoke(body, then) {
|
|
1074
|
-
var result = body();
|
|
1075
|
-
|
|
1076
|
-
if (result && result.then) {
|
|
1077
|
-
return result.then(then);
|
|
1078
|
-
}
|
|
1079
|
-
|
|
1080
|
-
return then(result);
|
|
1081
|
-
}
|
|
1082
|
-
|
|
1083
|
-
function _catch(body, recover) {
|
|
1084
|
-
try {
|
|
1085
|
-
var result = body();
|
|
1086
|
-
} catch (e) {
|
|
1087
|
-
return recover(e);
|
|
1088
|
-
}
|
|
1089
|
-
|
|
1090
|
-
if (result && result.then) {
|
|
1091
|
-
return result.then(void 0, recover);
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
|
-
return result;
|
|
1095
|
-
}
|
|
1096
|
-
|
|
1097
|
-
var scanBrowserRuntimeFeatures = _async$1(function () {
|
|
1098
|
-
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1099
|
-
_ref$coverageHandledF = _ref.coverageHandledFromOutside,
|
|
1100
|
-
coverageHandledFromOutside = _ref$coverageHandledF === void 0 ? false : _ref$coverageHandledF,
|
|
1101
|
-
_ref$failFastOnFeatur = _ref.failFastOnFeatureDetection,
|
|
1102
|
-
failFastOnFeatureDetection = _ref$failFastOnFeatur === void 0 ? false : _ref$failFastOnFeatur;
|
|
1103
|
-
|
|
1104
|
-
return _await$1(fetchJson("/.jsenv/__compile_server_meta__.json"), function (_ref2) {
|
|
1105
|
-
var outDirectoryRelativeUrl = _ref2.outDirectoryRelativeUrl,
|
|
1106
|
-
inlineImportMapIntoHTML = _ref2.inlineImportMapIntoHTML,
|
|
1107
|
-
customCompilerPatterns = _ref2.customCompilerPatterns,
|
|
1108
|
-
compileServerGroupMap = _ref2.compileServerGroupMap;
|
|
1109
|
-
var browser = detectBrowser();
|
|
1110
|
-
var compileId = computeCompileIdFromGroupId({
|
|
1111
|
-
groupId: resolveGroup(browser, compileServerGroupMap),
|
|
1112
|
-
groupMap: compileServerGroupMap
|
|
1113
|
-
});
|
|
1114
|
-
var groupInfo = compileServerGroupMap[compileId];
|
|
1115
|
-
var featuresReport = {
|
|
1116
|
-
importmap: undefined,
|
|
1117
|
-
dynamicImport: undefined,
|
|
1118
|
-
topLevelAwait: undefined,
|
|
1119
|
-
jsonImportAssertions: undefined,
|
|
1120
|
-
cssImportAssertions: undefined,
|
|
1121
|
-
newStylesheet: undefined
|
|
1122
|
-
};
|
|
1123
|
-
return _await$1(detectSupportedFeatures({
|
|
1124
|
-
featuresReport: featuresReport,
|
|
1125
|
-
failFastOnFeatureDetection: failFastOnFeatureDetection,
|
|
1126
|
-
inlineImportMapIntoHTML: inlineImportMapIntoHTML
|
|
1127
|
-
}), function () {
|
|
1128
|
-
return _await$1(pluginRequiredNamesFromGroupInfo(groupInfo, {
|
|
1129
|
-
featuresReport: featuresReport,
|
|
1130
|
-
coverageHandledFromOutside: coverageHandledFromOutside
|
|
1131
|
-
}), function (pluginRequiredNameArray) {
|
|
1132
|
-
var canAvoidCompilation = customCompilerPatterns.length === 0 && pluginRequiredNameArray.length === 0 && featuresReport.importmap && featuresReport.dynamicImport && featuresReport.topLevelAwait;
|
|
1133
|
-
return {
|
|
1134
|
-
canAvoidCompilation: canAvoidCompilation,
|
|
1135
|
-
featuresReport: featuresReport,
|
|
1136
|
-
customCompilerPatterns: customCompilerPatterns,
|
|
1137
|
-
pluginRequiredNameArray: pluginRequiredNameArray,
|
|
1138
|
-
inlineImportMapIntoHTML: inlineImportMapIntoHTML,
|
|
1139
|
-
outDirectoryRelativeUrl: outDirectoryRelativeUrl,
|
|
1140
|
-
compileId: compileId,
|
|
1141
|
-
browser: browser
|
|
1142
|
-
};
|
|
1143
|
-
});
|
|
1144
|
-
});
|
|
1145
|
-
});
|
|
1146
|
-
});
|
|
1147
|
-
|
|
1148
|
-
var detectSupportedFeatures = _async$1(function (_ref3) {
|
|
1149
|
-
var featuresReport = _ref3.featuresReport,
|
|
1150
|
-
failFastOnFeatureDetection = _ref3.failFastOnFeatureDetection,
|
|
1151
|
-
inlineImportMapIntoHTML = _ref3.inlineImportMapIntoHTML;
|
|
1152
|
-
// start testing importmap support first and not in paralell
|
|
1153
|
-
// so that there is not module script loaded beore importmap is injected
|
|
1154
|
-
// it would log an error in chrome console and return undefined
|
|
1155
|
-
return _await$1(supportsImportmap({
|
|
1156
|
-
// chrome supports inline but not remote importmap
|
|
1157
|
-
// https://github.com/WICG/import-maps/issues/235
|
|
1158
|
-
// at this stage we won't know if the html file will use
|
|
1159
|
-
// an importmap or not and if that importmap is inline or specified with an src
|
|
1160
|
-
// so we should test if browser support local and remote importmap.
|
|
1161
|
-
// But there exploring server can inline importmap by transforming html
|
|
1162
|
-
// and in that case we can test only the local importmap support
|
|
1163
|
-
// so we test importmap support and the remote one
|
|
1164
|
-
remote: !inlineImportMapIntoHTML
|
|
1165
|
-
}), function (importmap) {
|
|
1166
|
-
featuresReport.importmap = importmap;
|
|
1167
|
-
|
|
1168
|
-
if (!importmap && failFastOnFeatureDetection) {
|
|
1169
|
-
return;
|
|
1170
|
-
}
|
|
1171
|
-
|
|
1172
|
-
return _call(supportsDynamicImport, function (dynamicImport) {
|
|
1173
|
-
featuresReport.dynamicImport = dynamicImport;
|
|
1174
|
-
|
|
1175
|
-
if (!dynamicImport && failFastOnFeatureDetection) {
|
|
1176
|
-
return;
|
|
1177
|
-
}
|
|
1178
|
-
|
|
1179
|
-
return _call(supportsTopLevelAwait, function (topLevelAwait) {
|
|
1180
|
-
featuresReport.topLevelAwait = topLevelAwait;
|
|
1181
|
-
});
|
|
1182
|
-
});
|
|
1183
|
-
});
|
|
1184
|
-
});
|
|
1185
|
-
|
|
1186
|
-
var pluginRequiredNamesFromGroupInfo = _async$1(function (groupInfo, _ref4) {
|
|
1187
|
-
var featuresReport = _ref4.featuresReport,
|
|
1188
|
-
coverageHandledFromOutside = _ref4.coverageHandledFromOutside;
|
|
1189
|
-
var pluginRequiredNameArray = groupInfo.pluginRequiredNameArray;
|
|
1190
|
-
var requiredPluginNames = pluginRequiredNameArray.slice();
|
|
1191
|
-
|
|
1192
|
-
var markPluginAsSupported = function markPluginAsSupported(name) {
|
|
1193
|
-
var index = requiredPluginNames.indexOf(name);
|
|
1194
|
-
|
|
1195
|
-
if (index > -1) {
|
|
1196
|
-
requiredPluginNames.splice(index, 1);
|
|
1197
|
-
}
|
|
1198
|
-
}; // When instrumentation CAN be handed by playwright
|
|
1199
|
-
// https://playwright.dev/docs/api/class-chromiumcoverage#chromiumcoveragestartjscoverageoptions
|
|
1200
|
-
// coverageHandledFromOutside is true and "transform-instrument" becomes non mandatory
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
if (coverageHandledFromOutside) {
|
|
1204
|
-
markPluginAsSupported("transform-instrument");
|
|
1205
|
-
}
|
|
1206
|
-
|
|
1207
|
-
return _invoke(function () {
|
|
1208
|
-
if (pluginRequiredNameArray.includes("transform-import-assertions")) {
|
|
1209
|
-
return _call(supportsJsonImportAssertions, function (jsonImportAssertions) {
|
|
1210
|
-
featuresReport.jsonImportAssertions = jsonImportAssertions;
|
|
1211
|
-
return _call(supportsCssImportAssertions, function (cssImportAssertions) {
|
|
1212
|
-
featuresReport.cssImportAssertions = cssImportAssertions;
|
|
1213
|
-
|
|
1214
|
-
if (jsonImportAssertions && cssImportAssertions) {
|
|
1215
|
-
markPluginAsSupported("transform-import-assertions");
|
|
1216
|
-
}
|
|
1217
|
-
});
|
|
1218
|
-
});
|
|
1219
|
-
}
|
|
1220
|
-
}, function () {
|
|
1221
|
-
if (pluginRequiredNameArray.includes("new-stylesheet-as-jsenv-import")) {
|
|
1222
|
-
var newStylesheet = supportsNewStylesheet();
|
|
1223
|
-
featuresReport.newStylesheet = newStylesheet;
|
|
1224
|
-
markPluginAsSupported("new-stylesheet-as-jsenv-import");
|
|
1225
|
-
}
|
|
1226
|
-
|
|
1227
|
-
return requiredPluginNames;
|
|
1228
|
-
});
|
|
1229
|
-
});
|
|
1230
|
-
|
|
1231
|
-
var supportsNewStylesheet = function supportsNewStylesheet() {
|
|
1232
|
-
try {
|
|
1233
|
-
// eslint-disable-next-line no-new
|
|
1234
|
-
new CSSStyleSheet();
|
|
1235
|
-
return true;
|
|
1236
|
-
} catch (e) {
|
|
1237
|
-
return false;
|
|
1238
|
-
}
|
|
1239
|
-
};
|
|
1240
|
-
|
|
1241
|
-
var supportsImportmap = _async$1(function () {
|
|
1242
|
-
var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1243
|
-
_ref5$remote = _ref5.remote,
|
|
1244
|
-
remote = _ref5$remote === void 0 ? true : _ref5$remote;
|
|
1245
|
-
|
|
1246
|
-
var specifier = asBase64Url("export default false");
|
|
1247
|
-
var importMap = {
|
|
1248
|
-
imports: _defineProperty({}, specifier, asBase64Url("export default true"))
|
|
1249
|
-
};
|
|
1250
|
-
var importmapScript = document.createElement("script");
|
|
1251
|
-
var importmapString = JSON.stringify(importMap, null, " ");
|
|
1252
|
-
importmapScript.type = "importmap";
|
|
1253
|
-
|
|
1254
|
-
if (remote) {
|
|
1255
|
-
importmapScript.src = "data:application/json;base64,".concat(window.btoa(importmapString));
|
|
1256
|
-
} else {
|
|
1257
|
-
importmapScript.textContent = importmapString;
|
|
1258
|
-
}
|
|
1259
|
-
|
|
1260
|
-
document.body.appendChild(importmapScript);
|
|
1261
|
-
var scriptModule = document.createElement("script");
|
|
1262
|
-
scriptModule.type = "module";
|
|
1263
|
-
scriptModule.src = asBase64Url("import supported from \"".concat(specifier, "\"; window.__importmap_supported = supported"));
|
|
1264
|
-
return new Promise(function (resolve, reject) {
|
|
1265
|
-
scriptModule.onload = function () {
|
|
1266
|
-
var supported = window.__importmap_supported;
|
|
1267
|
-
delete window.__importmap_supported;
|
|
1268
|
-
document.body.removeChild(scriptModule);
|
|
1269
|
-
document.body.removeChild(importmapScript);
|
|
1270
|
-
resolve(supported);
|
|
1271
|
-
};
|
|
1272
|
-
|
|
1273
|
-
scriptModule.onerror = function () {
|
|
1274
|
-
document.body.removeChild(scriptModule);
|
|
1275
|
-
document.body.removeChild(importmapScript);
|
|
1276
|
-
reject();
|
|
1277
|
-
};
|
|
1278
|
-
|
|
1279
|
-
document.body.appendChild(scriptModule);
|
|
1280
|
-
});
|
|
1281
|
-
});
|
|
1282
|
-
|
|
1283
|
-
var supportsDynamicImport = _async$1(function () {
|
|
1284
|
-
var moduleSource = asBase64Url("export default 42");
|
|
1285
|
-
return _catch(function () {
|
|
1286
|
-
return _await$1(import(moduleSource), function (namespace) {
|
|
1287
|
-
return namespace.default === 42;
|
|
1288
|
-
});
|
|
1289
|
-
}, function () {
|
|
1290
|
-
return false;
|
|
1291
|
-
});
|
|
1292
|
-
});
|
|
1293
|
-
|
|
1294
|
-
var supportsTopLevelAwait = _async$1(function () {
|
|
1295
|
-
var moduleSource = asBase64Url("export default await Promise.resolve(42)");
|
|
1296
|
-
return _catch(function () {
|
|
1297
|
-
return _await$1(import(moduleSource), function (namespace) {
|
|
1298
|
-
return namespace.default === 42;
|
|
1299
|
-
});
|
|
1300
|
-
}, function () {
|
|
1301
|
-
return false;
|
|
1302
|
-
});
|
|
1303
|
-
});
|
|
1304
|
-
|
|
1305
|
-
var supportsJsonImportAssertions = _async$1(function () {
|
|
1306
|
-
var jsonBase64Url = asBase64Url("42", "application/json");
|
|
1307
|
-
var moduleSource = asBase64Url("export { default } from \"".concat(jsonBase64Url, "\" assert { type: \"json\" }"));
|
|
1308
|
-
return _catch(function () {
|
|
1309
|
-
return _await$1(import(moduleSource), function (namespace) {
|
|
1310
|
-
return namespace.default === 42;
|
|
1311
|
-
});
|
|
1312
|
-
}, function () {
|
|
1313
|
-
return false;
|
|
1314
|
-
});
|
|
1315
|
-
});
|
|
1316
|
-
|
|
1317
|
-
var supportsCssImportAssertions = _async$1(function () {
|
|
1318
|
-
var cssBase64Url = asBase64Url("p { color: red; }", "text/css");
|
|
1319
|
-
var moduleSource = asBase64Url("export { default } from \"".concat(cssBase64Url, "\" assert { type: \"css\" }"));
|
|
1320
|
-
return _catch(function () {
|
|
1321
|
-
return _await$1(import(moduleSource), function (namespace) {
|
|
1322
|
-
return namespace.default instanceof CSSStyleSheet;
|
|
1323
|
-
});
|
|
1324
|
-
}, function () {
|
|
1325
|
-
return false;
|
|
1326
|
-
});
|
|
1327
|
-
});
|
|
1328
|
-
|
|
1329
|
-
var asBase64Url = function asBase64Url(text) {
|
|
1330
|
-
var mimeType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "application/javascript";
|
|
1331
|
-
return "data:".concat(mimeType, ";base64,").concat(window.btoa(text));
|
|
1332
|
-
};
|
|
1333
|
-
|
|
1334
|
-
function _await(value, then, direct) {
|
|
1335
|
-
if (direct) {
|
|
1336
|
-
return then ? then(value) : value;
|
|
1337
|
-
}
|
|
1338
|
-
|
|
1339
|
-
if (!value || !value.then) {
|
|
1340
|
-
value = Promise.resolve(value);
|
|
1341
|
-
}
|
|
1342
|
-
|
|
1343
|
-
return then ? value.then(then) : value;
|
|
1344
|
-
}
|
|
1345
|
-
|
|
1346
|
-
var redirect = _async(function () {
|
|
1347
|
-
var redirectTarget = new URLSearchParams(window.location.search).get("redirect");
|
|
1348
|
-
return _await(scanBrowserRuntimeFeatures({
|
|
1349
|
-
failFastOnFeatureDetection: true
|
|
1350
|
-
}), function (browserRuntimeFeaturesReport) {
|
|
1351
|
-
var href = "".concat(getDirectoryUrl(browserRuntimeFeaturesReport)).concat(redirectTarget); // It's IMPORTANT to use location.replace and NOT location.href = url
|
|
1352
|
-
// otherwise it would break the back button
|
|
1353
|
-
|
|
1354
|
-
window.location.replace(href);
|
|
1355
|
-
});
|
|
1356
|
-
});
|
|
1357
|
-
|
|
1358
|
-
function _async(f) {
|
|
1359
|
-
return function () {
|
|
1360
|
-
for (var args = [], i = 0; i < arguments.length; i++) {
|
|
1361
|
-
args[i] = arguments[i];
|
|
1362
|
-
}
|
|
1363
|
-
|
|
1364
|
-
try {
|
|
1365
|
-
return Promise.resolve(f.apply(this, args));
|
|
1366
|
-
} catch (e) {
|
|
1367
|
-
return Promise.reject(e);
|
|
1368
|
-
}
|
|
1369
|
-
};
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1372
|
-
var getDirectoryUrl = function getDirectoryUrl(_ref) {
|
|
1373
|
-
var canAvoidCompilation = _ref.canAvoidCompilation,
|
|
1374
|
-
outDirectoryRelativeUrl = _ref.outDirectoryRelativeUrl,
|
|
1375
|
-
compileId = _ref.compileId;
|
|
1376
|
-
|
|
1377
|
-
if (canAvoidCompilation) {
|
|
1378
|
-
return "/";
|
|
1379
|
-
}
|
|
1380
|
-
|
|
1381
|
-
return "/".concat(outDirectoryRelativeUrl).concat(compileId, "/");
|
|
1382
|
-
};
|
|
1383
|
-
|
|
1384
|
-
redirect();
|
|
1385
|
-
|
|
1386
|
-
})();
|
|
1387
|
-
|
|
1388
|
-
//# sourceMappingURL=jsenv_redirector.js.map
|