@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
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js"
|
|
2
|
-
|
|
3
|
-
const injectorSourceRelativeUrl =
|
|
4
|
-
"./src/internal/dev_server/toolbar/toolbar.injector.js"
|
|
5
|
-
const injectorBuildRelativeUrl = "./jsenv_toolbar_injector.js"
|
|
6
|
-
const injectorBuildUrl = new URL(
|
|
7
|
-
"./dist/jsenv_toolbar_injector.js",
|
|
8
|
-
jsenvCoreDirectoryUrl,
|
|
9
|
-
).href
|
|
10
|
-
export const toolbarInjectorFileInfo = {
|
|
11
|
-
sourceRelativeUrl: injectorSourceRelativeUrl,
|
|
12
|
-
buildRelativeUrl: injectorBuildRelativeUrl,
|
|
13
|
-
buildUrl: injectorBuildUrl,
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const htmlSourceUrl = new URL(
|
|
17
|
-
"./src/internal/dev_server/toolbar/toolbar.html",
|
|
18
|
-
jsenvCoreDirectoryUrl,
|
|
19
|
-
).href
|
|
20
|
-
export const toolbarHtmlFileInfo = {
|
|
21
|
-
sourceUrl: htmlSourceUrl,
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const jsSourceRelativeUrl = "./src/internal/dev_server/toolbar/toolbar.main.js"
|
|
25
|
-
const jsBuildRelativeUrl = "./jsenv_toolbar.js"
|
|
26
|
-
const jsSourceUrl = new URL(
|
|
27
|
-
"./src/internal/dev_server/toolbar/toolbar.main.js",
|
|
28
|
-
jsenvCoreDirectoryUrl,
|
|
29
|
-
).href
|
|
30
|
-
const jsBuildUrl = new URL("./dist/jsenv_toolbar.js", jsenvCoreDirectoryUrl)
|
|
31
|
-
.href
|
|
32
|
-
export const toolbarJsFileInfo = {
|
|
33
|
-
sourceRelativeUrl: jsSourceRelativeUrl,
|
|
34
|
-
buildRelativeUrl: jsBuildRelativeUrl,
|
|
35
|
-
sourceUrl: jsSourceUrl,
|
|
36
|
-
buildUrl: jsBuildUrl,
|
|
37
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { nodeRuntime } from "../../nodeRuntime.js"
|
|
2
|
-
import { PerformanceObserver, performance } from "perf_hooks"
|
|
3
|
-
|
|
4
|
-
export const execute = async ({
|
|
5
|
-
projectDirectoryUrl,
|
|
6
|
-
fileRelativeUrl,
|
|
7
|
-
compileServerOrigin,
|
|
8
|
-
outDirectoryRelativeUrl,
|
|
9
|
-
executionId,
|
|
10
|
-
// do not log in the console
|
|
11
|
-
// because error handling becomes responsability
|
|
12
|
-
// of node code launching node process
|
|
13
|
-
// it avoids seeing error in runtime logs during testing
|
|
14
|
-
errorExposureInConsole = false,
|
|
15
|
-
collectCoverage,
|
|
16
|
-
measurePerformance,
|
|
17
|
-
collectPerformance,
|
|
18
|
-
canUseNativeModuleSystem,
|
|
19
|
-
}) => {
|
|
20
|
-
let finalizeExecutionResult = (result) => result
|
|
21
|
-
|
|
22
|
-
if (collectPerformance) {
|
|
23
|
-
const measureEntries = []
|
|
24
|
-
// https://nodejs.org/dist/latest-v16.x/docs/api/perf_hooks.html
|
|
25
|
-
const perfObserver = new PerformanceObserver(
|
|
26
|
-
(
|
|
27
|
-
// https://nodejs.org/dist/latest-v16.x/docs/api/perf_hooks.html#perf_hooks_class_performanceobserverentrylist
|
|
28
|
-
list,
|
|
29
|
-
) => {
|
|
30
|
-
const perfMeasureEntries = list.getEntriesByType("measure")
|
|
31
|
-
measureEntries.push(...perfMeasureEntries)
|
|
32
|
-
},
|
|
33
|
-
)
|
|
34
|
-
perfObserver.observe({
|
|
35
|
-
entryTypes: ["measure"],
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
finalizeExecutionResult = async (executionResult) => {
|
|
39
|
-
// wait for node to call the performance observer
|
|
40
|
-
await new Promise((resolve) => {
|
|
41
|
-
setTimeout(resolve)
|
|
42
|
-
})
|
|
43
|
-
performance.clearMarks()
|
|
44
|
-
perfObserver.disconnect()
|
|
45
|
-
return {
|
|
46
|
-
...executionResult,
|
|
47
|
-
performance: {
|
|
48
|
-
...readNodePerformance(),
|
|
49
|
-
measures: measuresFromMeasureEntries(measureEntries),
|
|
50
|
-
},
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const { executeFile } = await nodeRuntime.create({
|
|
56
|
-
projectDirectoryUrl,
|
|
57
|
-
compileServerOrigin,
|
|
58
|
-
outDirectoryRelativeUrl,
|
|
59
|
-
canUseNativeModuleSystem,
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
const executionResult = await executeFile(fileRelativeUrl, {
|
|
63
|
-
executionId,
|
|
64
|
-
errorExposureInConsole,
|
|
65
|
-
measurePerformance,
|
|
66
|
-
collectCoverage,
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
return finalizeExecutionResult({
|
|
70
|
-
...executionResult,
|
|
71
|
-
indirectCoverage: global.__indirectCoverage__,
|
|
72
|
-
})
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const readNodePerformance = () => {
|
|
76
|
-
const nodePerformance = {
|
|
77
|
-
nodeTiming: asPlainObject(performance.nodeTiming),
|
|
78
|
-
timeOrigin: performance.timeOrigin,
|
|
79
|
-
eventLoopUtilization: performance.eventLoopUtilization(),
|
|
80
|
-
}
|
|
81
|
-
return nodePerformance
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// remove getters that cannot be stringified
|
|
85
|
-
const asPlainObject = (objectWithGetters) => {
|
|
86
|
-
const objectWithoutGetters = {}
|
|
87
|
-
Object.keys(objectWithGetters).forEach((key) => {
|
|
88
|
-
objectWithoutGetters[key] = objectWithGetters[key]
|
|
89
|
-
})
|
|
90
|
-
return objectWithoutGetters
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const measuresFromMeasureEntries = (measureEntries) => {
|
|
94
|
-
const measures = {}
|
|
95
|
-
// Sort to ensure measures order is predictable
|
|
96
|
-
// It seems to be already predictable on Node 16+ but
|
|
97
|
-
// it's not the case on Node 14.
|
|
98
|
-
measureEntries.sort((a, b) => {
|
|
99
|
-
return a.startTime - b.startTime
|
|
100
|
-
})
|
|
101
|
-
measureEntries.forEach(
|
|
102
|
-
(
|
|
103
|
-
// https://nodejs.org/dist/latest-v16.x/docs/api/perf_hooks.html#perf_hooks_class_performanceentry
|
|
104
|
-
perfMeasureEntry,
|
|
105
|
-
) => {
|
|
106
|
-
measures[perfMeasureEntry.name] = perfMeasureEntry.duration
|
|
107
|
-
},
|
|
108
|
-
)
|
|
109
|
-
return measures
|
|
110
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { scanNodeRuntimeFeatures } from "./scanNodeRuntimeFeatures.js"
|
|
2
|
-
import { createNodeExecutionWithSystemJs } from "./createNodeExecutionWithSystemJs.js"
|
|
3
|
-
import { createNodeExecutionWithDynamicImport } from "./createNodeExecutionWithDynamicImport.js"
|
|
4
|
-
|
|
5
|
-
export const createNodeRuntime = async ({
|
|
6
|
-
projectDirectoryUrl,
|
|
7
|
-
compileServerOrigin,
|
|
8
|
-
outDirectoryRelativeUrl,
|
|
9
|
-
canUseNativeModuleSystem = true,
|
|
10
|
-
}) => {
|
|
11
|
-
const nodeFeatures = await scanNodeRuntimeFeatures({
|
|
12
|
-
compileServerOrigin,
|
|
13
|
-
outDirectoryRelativeUrl,
|
|
14
|
-
})
|
|
15
|
-
const { canAvoidCompilation, compileId, importDefaultExtension } =
|
|
16
|
-
nodeFeatures
|
|
17
|
-
|
|
18
|
-
if (canAvoidCompilation && canUseNativeModuleSystem) {
|
|
19
|
-
return createNodeExecutionWithDynamicImport({
|
|
20
|
-
projectDirectoryUrl,
|
|
21
|
-
compileServerOrigin,
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return createNodeExecutionWithSystemJs({
|
|
26
|
-
projectDirectoryUrl,
|
|
27
|
-
compileServerOrigin,
|
|
28
|
-
outDirectoryRelativeUrl,
|
|
29
|
-
compileId,
|
|
30
|
-
importDefaultExtension,
|
|
31
|
-
})
|
|
32
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { memoize, resolveUrl } from "@jsenv/filesystem"
|
|
2
|
-
|
|
3
|
-
import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js"
|
|
4
|
-
|
|
5
|
-
const featureDetetcTopLevelAwaitFileUrl = resolveUrl(
|
|
6
|
-
"./src/internal/runtime/node-feature-detect/feature-detect-top-level-await.mjs",
|
|
7
|
-
jsenvCoreDirectoryUrl,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
export const nodeSupportsTopLevelAwait = memoize(async () => {
|
|
11
|
-
try {
|
|
12
|
-
const namespace = await import(featureDetetcTopLevelAwaitFileUrl)
|
|
13
|
-
const supported = namespace.default === 42
|
|
14
|
-
return supported
|
|
15
|
-
} catch (e) {
|
|
16
|
-
return false
|
|
17
|
-
}
|
|
18
|
-
})
|