@jsenv/core 23.8.0 → 23.8.4

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 (130) hide show
  1. package/dist/jsenv_browser_system.js +34 -34
  2. package/dist/jsenv_browser_system.js.map +13 -13
  3. package/dist/jsenv_compile_proxy.js.map +6 -6
  4. package/dist/jsenv_exploring_index.js.map +5 -5
  5. package/dist/jsenv_exploring_redirector.js.map +12 -12
  6. package/dist/jsenv_toolbar.js.map +7 -7
  7. package/dist/jsenv_toolbar_injector.js.map +5 -5
  8. package/helpers/babel/.eslintrc.cjs +24 -24
  9. package/helpers/babel/AsyncGenerator/AsyncGenerator.js +81 -81
  10. package/helpers/babel/AwaitValue/AwaitValue.js +3 -3
  11. package/helpers/babel/applyDecoratorDescriptor/applyDecoratorDescriptor.js +33 -33
  12. package/helpers/babel/arrayLikeToArray/arrayLikeToArray.js +7 -7
  13. package/helpers/babel/arrayWithHoles/arrayWithHoles.js +4 -4
  14. package/helpers/babel/arrayWithoutHoles/arrayWithoutHoles.js +6 -6
  15. package/helpers/babel/assertThisInitialized/assertThisInitialized.js +7 -7
  16. package/helpers/babel/asyncGeneratorDelegate/asyncGeneratorDelegate.js +40 -40
  17. package/helpers/babel/asyncIterator/asyncIterator.js +12 -12
  18. package/helpers/babel/asyncToGenerator/asyncToGenerator.js +34 -34
  19. package/helpers/babel/awaitAsyncGenerator/awaitAsyncGenerator.js +5 -5
  20. package/helpers/babel/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +20 -20
  21. package/helpers/babel/classApplyDescriptorGet/classApplyDescriptorGet.js +6 -6
  22. package/helpers/babel/classApplyDescriptorSet/classApplyDescriptorSet.js +13 -13
  23. package/helpers/babel/classCallCheck/classCallCheck.js +5 -5
  24. package/helpers/babel/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +5 -5
  25. package/helpers/babel/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +6 -6
  26. package/helpers/babel/classExtractFieldDescriptor/classExtractFieldDescriptor.js +7 -7
  27. package/helpers/babel/classNameTDZError/classNameTDZError.js +4 -4
  28. package/helpers/babel/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +7 -7
  29. package/helpers/babel/classPrivateFieldGet/classPrivateFieldGet.js +7 -7
  30. package/helpers/babel/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +6 -6
  31. package/helpers/babel/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +5 -5
  32. package/helpers/babel/classPrivateFieldSet/classPrivateFieldSet.js +8 -8
  33. package/helpers/babel/classPrivateMethodGet/classPrivateMethodGet.js +6 -6
  34. package/helpers/babel/classPrivateMethodSet/classPrivateMethodSet.js +3 -3
  35. package/helpers/babel/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +9 -9
  36. package/helpers/babel/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +15 -15
  37. package/helpers/babel/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +6 -6
  38. package/helpers/babel/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +3 -3
  39. package/helpers/babel/construct/construct.js +16 -16
  40. package/helpers/babel/createClass/createClass.js +15 -15
  41. package/helpers/babel/createForOfIteratorHelper/createForOfIteratorHelper.js +60 -60
  42. package/helpers/babel/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +23 -23
  43. package/helpers/babel/createRawReactElement/createRawReactElement.js +50 -50
  44. package/helpers/babel/createSuper/createSuper.js +22 -22
  45. package/helpers/babel/decorate/decorate.js +403 -403
  46. package/helpers/babel/defaults/defaults.js +11 -11
  47. package/helpers/babel/defineEnumerableProperties/defineEnumerableProperties.js +23 -23
  48. package/helpers/babel/defineProperty/defineProperty.js +18 -18
  49. package/helpers/babel/extends/extends.js +14 -14
  50. package/helpers/babel/get/get.js +13 -13
  51. package/helpers/babel/getPrototypeOf/getPrototypeOf.js +4 -4
  52. package/helpers/babel/inherits/inherits.js +15 -15
  53. package/helpers/babel/inheritsLoose/inheritsLoose.js +7 -7
  54. package/helpers/babel/initializerDefineProperty/initializerDefineProperty.js +10 -10
  55. package/helpers/babel/initializerWarningHelper/initializerWarningHelper.js +6 -6
  56. package/helpers/babel/instanceof/instanceof.js +6 -6
  57. package/helpers/babel/interopRequireDefault/interopRequireDefault.js +3 -3
  58. package/helpers/babel/interopRequireWildcard/interopRequireWildcard.js +37 -37
  59. package/helpers/babel/isNativeFunction/isNativeFunction.js +4 -4
  60. package/helpers/babel/isNativeReflectConstruct/isNativeReflectConstruct.js +21 -21
  61. package/helpers/babel/iterableToArray/iterableToArray.js +7 -7
  62. package/helpers/babel/iterableToArrayLimit/iterableToArrayLimit.js +36 -36
  63. package/helpers/babel/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +10 -10
  64. package/helpers/babel/jsx/jsx.js +45 -45
  65. package/helpers/babel/maybeArrayLike/maybeArrayLike.js +10 -10
  66. package/helpers/babel/newArrowCheck/newArrowCheck.js +5 -5
  67. package/helpers/babel/nonIterableRest/nonIterableRest.js +5 -5
  68. package/helpers/babel/nonIterableSpread/nonIterableSpread.js +5 -5
  69. package/helpers/babel/objectDestructuringEmpty/objectDestructuringEmpty.js +3 -3
  70. package/helpers/babel/objectSpread/objectSpread.js +23 -23
  71. package/helpers/babel/objectSpread2/objectSpread2.js +33 -33
  72. package/helpers/babel/objectWithoutProperties/objectWithoutProperties.js +19 -19
  73. package/helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +13 -13
  74. package/helpers/babel/possibleConstructorReturn/possibleConstructorReturn.js +10 -10
  75. package/helpers/babel/readOnlyError/readOnlyError.js +4 -4
  76. package/helpers/babel/readme.md +9 -9
  77. package/helpers/babel/set/set.js +44 -44
  78. package/helpers/babel/setPrototypeOf/setPrototypeOf.js +6 -6
  79. package/helpers/babel/skipFirstGeneratorNext/skipFirstGeneratorNext.js +8 -8
  80. package/helpers/babel/slicedToArray/slicedToArray.js +10 -10
  81. package/helpers/babel/slicedToArrayLoose/slicedToArrayLoose.js +13 -13
  82. package/helpers/babel/superPropBase/superPropBase.js +10 -10
  83. package/helpers/babel/taggedTemplateLiteral/taggedTemplateLiteral.js +10 -10
  84. package/helpers/babel/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +7 -7
  85. package/helpers/babel/tdz/tdz.js +4 -4
  86. package/helpers/babel/temporalRef/temporalRef.js +6 -6
  87. package/helpers/babel/temporalUndefined/temporalUndefined.js +3 -3
  88. package/helpers/babel/toArray/toArray.js +10 -10
  89. package/helpers/babel/toConsumableArray/toConsumableArray.js +10 -10
  90. package/helpers/babel/toPrimitive/toPrimitive.js +10 -10
  91. package/helpers/babel/toPropertyKey/toPropertyKey.js +6 -6
  92. package/helpers/babel/typeof/typeof.js +14 -14
  93. package/helpers/babel/unsupportedIterableToArray/unsupportedIterableToArray.js +12 -12
  94. package/helpers/babel/wrapAsyncGenerator/wrapAsyncGenerator.js +8 -8
  95. package/helpers/babel/wrapNativeSuper/wrapNativeSuper.js +30 -30
  96. package/helpers/babel/wrapRegExp/wrapRegExp.js +63 -63
  97. package/helpers/babel/writeOnlyError/writeOnlyError.js +4 -4
  98. package/helpers/regenerator-runtime/regenerator-runtime.js +748 -748
  99. package/{LICENSE → license} +21 -21
  100. package/package.json +1 -1
  101. package/src/buildProject.js +300 -300
  102. package/src/execute.js +184 -184
  103. package/src/internal/browser-launcher/jsenv-browser-system.js +199 -199
  104. package/src/internal/compiling/babel_plugin_import_assertions.js +121 -121
  105. package/src/internal/compiling/babel_plugin_import_metadata.js +22 -22
  106. package/src/internal/compiling/babel_plugin_import_visitor.js +84 -84
  107. package/src/internal/compiling/compile-directory/getOrGenerateCompiledFile.js +268 -268
  108. package/src/internal/compiling/compile-directory/updateMeta.js +154 -154
  109. package/src/internal/compiling/compile-directory/validateCache.js +265 -265
  110. package/src/internal/compiling/compileFile.js +222 -215
  111. package/src/internal/compiling/compileHtml.js +550 -550
  112. package/src/internal/compiling/createCompiledFileService.js +291 -291
  113. package/src/internal/compiling/html_source_file_service.js +404 -403
  114. package/src/internal/compiling/js-compilation-service/jsenvTransform.js +270 -270
  115. package/src/internal/compiling/jsenvCompilerForHtml.js +308 -300
  116. package/src/internal/compiling/jsenvCompilerForJavaScript.js +2 -0
  117. package/src/internal/compiling/startCompileServer.js +1052 -1048
  118. package/src/internal/compiling/transformResultToCompilationResult.js +220 -220
  119. package/src/internal/executing/coverage/babel_plugin_instrument.js +90 -90
  120. package/src/internal/executing/coverage/reportToCoverage.js +187 -187
  121. package/src/internal/executing/executePlan.js +183 -183
  122. package/src/internal/executing/launchAndExecute.js +458 -458
  123. package/src/internal/runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js +246 -246
  124. package/src/internal/runtime/createNodeRuntime/scanNodeRuntimeFeatures.js +112 -112
  125. package/src/internal/runtime/s.js +727 -727
  126. package/src/internal/toolbar/jsenv-logo.svg +144 -144
  127. package/src/internal/toolbar/toolbar.main.css +196 -196
  128. package/src/internal/toolbar/toolbar.main.js +227 -227
  129. package/src/internal/url_conversion.js +317 -317
  130. package/src/startExploring.js +309 -309
package/src/execute.js CHANGED
@@ -1,184 +1,184 @@
1
- import { Abort, raceProcessTeardownEvents } from "@jsenv/abort"
2
-
3
- import { normalizeRuntimeSupport } from "@jsenv/core/src/internal/generateGroupMap/runtime_support.js"
4
- import {
5
- assertProjectDirectoryUrl,
6
- assertProjectDirectoryExists,
7
- } from "./internal/argUtils.js"
8
- import { startCompileServer } from "./internal/compiling/startCompileServer.js"
9
- import { launchAndExecute } from "./internal/executing/launchAndExecute.js"
10
-
11
- export const execute = async ({
12
- signal = new AbortController().signal,
13
- handleSIGINT = true,
14
-
15
- logLevel = "warn",
16
- compileServerLogLevel = logLevel,
17
- launchAndExecuteLogLevel = logLevel,
18
-
19
- projectDirectoryUrl,
20
- jsenvDirectoryRelativeUrl,
21
- jsenvDirectoryClean,
22
-
23
- importDefaultExtension,
24
-
25
- fileRelativeUrl,
26
- runtime,
27
- runtimeParams,
28
-
29
- allocatedMs,
30
- mirrorConsole = true,
31
- captureConsole,
32
- inheritCoverage,
33
- collectCoverage,
34
- measurePerformance,
35
- collectPerformance,
36
- collectCompileServerInfo = false,
37
- stopAfterExecute = false,
38
- stopAfterExecuteReason,
39
- gracefulStopAllocatedMs,
40
- ignoreError = false,
41
-
42
- compileServerProtocol,
43
- compileServerPrivateKey,
44
- compileServerCertificate,
45
- compileServerIp,
46
- compileServerPort,
47
- babelPluginMap,
48
- customCompilers,
49
- compileServerCanReadFromFilesystem,
50
- compileServerCanWriteOnFilesystem,
51
-
52
- runtimeConsoleCallback,
53
- runtimeStartedCallback,
54
- runtimeStoppedCallback,
55
- runtimeErrorAfterExecutionCallback,
56
- runtimeDisconnectCallback,
57
- }) => {
58
- projectDirectoryUrl = assertProjectDirectoryUrl({ projectDirectoryUrl })
59
- await assertProjectDirectoryExists({ projectDirectoryUrl })
60
-
61
- if (typeof fileRelativeUrl !== "string") {
62
- throw new TypeError(
63
- `fileRelativeUrl must be a string, got ${fileRelativeUrl}`,
64
- )
65
- }
66
- fileRelativeUrl = fileRelativeUrl.replace(/\\/g, "/")
67
-
68
- if (typeof runtime !== "object") {
69
- throw new TypeError(`runtime must be an object, got ${runtime}`)
70
- }
71
- if (typeof runtime.launch !== "function") {
72
- throw new TypeError(
73
- `runtime.launch must be a function, got ${runtime.launch}`,
74
- )
75
- }
76
-
77
- const executeOperation = Abort.startOperation()
78
- executeOperation.addAbortSignal(signal)
79
- if (handleSIGINT) {
80
- executeOperation.addAbortSource((abort) => {
81
- return raceProcessTeardownEvents(
82
- {
83
- SIGINT: true,
84
- },
85
- abort,
86
- )
87
- })
88
- }
89
-
90
- try {
91
- const {
92
- outDirectoryRelativeUrl,
93
- origin: compileServerOrigin,
94
- stop,
95
- } = await startCompileServer({
96
- signal: executeOperation.signal,
97
- compileServerLogLevel,
98
-
99
- projectDirectoryUrl,
100
- jsenvDirectoryRelativeUrl,
101
- jsenvDirectoryClean,
102
- outDirectoryName: "dev",
103
-
104
- importDefaultExtension,
105
-
106
- compileServerProtocol,
107
- compileServerPrivateKey,
108
- compileServerCertificate,
109
- compileServerIp,
110
- compileServerPort,
111
- babelPluginMap,
112
- customCompilers,
113
- runtimeSupport: normalizeRuntimeSupport({
114
- [runtime.name]: runtime.version,
115
- }),
116
- compileServerCanReadFromFilesystem,
117
- compileServerCanWriteOnFilesystem,
118
- })
119
- executeOperation.addEndCallback(async () => {
120
- await stop("execution done")
121
- })
122
-
123
- const result = await launchAndExecute({
124
- signal: executeOperation.signal,
125
- launchAndExecuteLogLevel,
126
-
127
- runtime,
128
- runtimeParams: {
129
- projectDirectoryUrl,
130
- compileServerOrigin,
131
- outDirectoryRelativeUrl,
132
- ...runtimeParams,
133
- },
134
- executeParams: {
135
- fileRelativeUrl,
136
- },
137
-
138
- allocatedMs,
139
- mirrorConsole,
140
- captureConsole,
141
- inheritCoverage,
142
- collectCoverage,
143
- measurePerformance,
144
- collectPerformance,
145
-
146
- stopAfterExecute,
147
- stopAfterExecuteReason,
148
- gracefulStopAllocatedMs,
149
-
150
- runtimeConsoleCallback,
151
- runtimeStartedCallback,
152
- runtimeStoppedCallback,
153
- runtimeErrorAfterExecutionCallback,
154
- runtimeDisconnectCallback,
155
- })
156
-
157
- if (collectCompileServerInfo) {
158
- result.outDirectoryRelativeUrl = outDirectoryRelativeUrl
159
- result.compileServerOrigin = compileServerOrigin
160
- }
161
-
162
- if (result.status === "errored") {
163
- if (ignoreError) {
164
- return result
165
- }
166
- /*
167
- Warning: when node launched with --unhandled-rejections=strict, despites
168
- this promise being rejected by throw result.error node will compltely ignore it.
169
-
170
- The error can be logged by doing
171
- ```js
172
- process.setUncaughtExceptionCaptureCallback((error) => {
173
- console.error(error.stack)
174
- })
175
- ```
176
- But it feels like a hack.
177
- */
178
- throw result.error
179
- }
180
- return result
181
- } finally {
182
- await executeOperation.end()
183
- }
184
- }
1
+ import { Abort, raceProcessTeardownEvents } from "@jsenv/abort"
2
+
3
+ import { normalizeRuntimeSupport } from "@jsenv/core/src/internal/generateGroupMap/runtime_support.js"
4
+ import {
5
+ assertProjectDirectoryUrl,
6
+ assertProjectDirectoryExists,
7
+ } from "./internal/argUtils.js"
8
+ import { startCompileServer } from "./internal/compiling/startCompileServer.js"
9
+ import { launchAndExecute } from "./internal/executing/launchAndExecute.js"
10
+
11
+ export const execute = async ({
12
+ signal = new AbortController().signal,
13
+ handleSIGINT = true,
14
+
15
+ logLevel = "warn",
16
+ compileServerLogLevel = logLevel,
17
+ launchAndExecuteLogLevel = logLevel,
18
+
19
+ projectDirectoryUrl,
20
+ jsenvDirectoryRelativeUrl,
21
+ jsenvDirectoryClean,
22
+
23
+ importDefaultExtension,
24
+
25
+ fileRelativeUrl,
26
+ runtime,
27
+ runtimeParams,
28
+
29
+ allocatedMs,
30
+ mirrorConsole = true,
31
+ captureConsole,
32
+ inheritCoverage,
33
+ collectCoverage,
34
+ measurePerformance,
35
+ collectPerformance,
36
+ collectCompileServerInfo = false,
37
+ stopAfterExecute = false,
38
+ stopAfterExecuteReason,
39
+ gracefulStopAllocatedMs,
40
+ ignoreError = false,
41
+
42
+ compileServerProtocol,
43
+ compileServerPrivateKey,
44
+ compileServerCertificate,
45
+ compileServerIp,
46
+ compileServerPort,
47
+ babelPluginMap,
48
+ customCompilers,
49
+ compileServerCanReadFromFilesystem,
50
+ compileServerCanWriteOnFilesystem,
51
+
52
+ runtimeConsoleCallback,
53
+ runtimeStartedCallback,
54
+ runtimeStoppedCallback,
55
+ runtimeErrorAfterExecutionCallback,
56
+ runtimeDisconnectCallback,
57
+ }) => {
58
+ projectDirectoryUrl = assertProjectDirectoryUrl({ projectDirectoryUrl })
59
+ await assertProjectDirectoryExists({ projectDirectoryUrl })
60
+
61
+ if (typeof fileRelativeUrl !== "string") {
62
+ throw new TypeError(
63
+ `fileRelativeUrl must be a string, got ${fileRelativeUrl}`,
64
+ )
65
+ }
66
+ fileRelativeUrl = fileRelativeUrl.replace(/\\/g, "/")
67
+
68
+ if (typeof runtime !== "object") {
69
+ throw new TypeError(`runtime must be an object, got ${runtime}`)
70
+ }
71
+ if (typeof runtime.launch !== "function") {
72
+ throw new TypeError(
73
+ `runtime.launch must be a function, got ${runtime.launch}`,
74
+ )
75
+ }
76
+
77
+ const executeOperation = Abort.startOperation()
78
+ executeOperation.addAbortSignal(signal)
79
+ if (handleSIGINT) {
80
+ executeOperation.addAbortSource((abort) => {
81
+ return raceProcessTeardownEvents(
82
+ {
83
+ SIGINT: true,
84
+ },
85
+ abort,
86
+ )
87
+ })
88
+ }
89
+
90
+ try {
91
+ const {
92
+ outDirectoryRelativeUrl,
93
+ origin: compileServerOrigin,
94
+ stop,
95
+ } = await startCompileServer({
96
+ signal: executeOperation.signal,
97
+ compileServerLogLevel,
98
+
99
+ projectDirectoryUrl,
100
+ jsenvDirectoryRelativeUrl,
101
+ jsenvDirectoryClean,
102
+ outDirectoryName: "dev",
103
+
104
+ importDefaultExtension,
105
+
106
+ compileServerProtocol,
107
+ compileServerPrivateKey,
108
+ compileServerCertificate,
109
+ compileServerIp,
110
+ compileServerPort,
111
+ babelPluginMap,
112
+ customCompilers,
113
+ runtimeSupport: normalizeRuntimeSupport({
114
+ [runtime.name]: runtime.version,
115
+ }),
116
+ compileServerCanReadFromFilesystem,
117
+ compileServerCanWriteOnFilesystem,
118
+ })
119
+ executeOperation.addEndCallback(async () => {
120
+ await stop("execution done")
121
+ })
122
+
123
+ const result = await launchAndExecute({
124
+ signal: executeOperation.signal,
125
+ launchAndExecuteLogLevel,
126
+
127
+ runtime,
128
+ runtimeParams: {
129
+ projectDirectoryUrl,
130
+ compileServerOrigin,
131
+ outDirectoryRelativeUrl,
132
+ ...runtimeParams,
133
+ },
134
+ executeParams: {
135
+ fileRelativeUrl,
136
+ },
137
+
138
+ allocatedMs,
139
+ mirrorConsole,
140
+ captureConsole,
141
+ inheritCoverage,
142
+ collectCoverage,
143
+ measurePerformance,
144
+ collectPerformance,
145
+
146
+ stopAfterExecute,
147
+ stopAfterExecuteReason,
148
+ gracefulStopAllocatedMs,
149
+
150
+ runtimeConsoleCallback,
151
+ runtimeStartedCallback,
152
+ runtimeStoppedCallback,
153
+ runtimeErrorAfterExecutionCallback,
154
+ runtimeDisconnectCallback,
155
+ })
156
+
157
+ if (collectCompileServerInfo) {
158
+ result.outDirectoryRelativeUrl = outDirectoryRelativeUrl
159
+ result.compileServerOrigin = compileServerOrigin
160
+ }
161
+
162
+ if (result.status === "errored") {
163
+ if (ignoreError) {
164
+ return result
165
+ }
166
+ /*
167
+ Warning: when node launched with --unhandled-rejections=strict, despites
168
+ this promise being rejected by throw result.error node will compltely ignore it.
169
+
170
+ The error can be logged by doing
171
+ ```js
172
+ process.setUncaughtExceptionCaptureCallback((error) => {
173
+ console.error(error.stack)
174
+ })
175
+ ```
176
+ But it feels like a hack.
177
+ */
178
+ throw result.error
179
+ }
180
+ return result
181
+ } finally {
182
+ await executeOperation.end()
183
+ }
184
+ }