@jsenv/core 27.0.0-alpha.95 → 27.0.2

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 (30) hide show
  1. package/README.md +62 -0
  2. package/dist/js/s.js +580 -380
  3. package/dist/js/s.js.map +207 -0
  4. package/dist/main.js +4703 -332
  5. package/package.json +14 -14
  6. package/src/build/build.js +1 -1
  7. package/src/build/start_build_server.js +3 -1
  8. package/src/dev/plugins/toolbar/client/jsenv_logo.svg +59 -63
  9. package/src/dev/start_dev_server.js +3 -0
  10. package/src/execute/runtimes/browsers/from_playwright.js +6 -3
  11. package/src/omega/kitchen.js +1 -0
  12. package/src/omega/server/file_service.js +8 -1
  13. package/src/omega/url_graph.js +43 -21
  14. package/src/plugins/bundling/js_module/bundle_js_module.js +5 -1
  15. package/src/plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +48 -48
  16. package/src/plugins/plugin_controller.js +1 -0
  17. package/src/plugins/plugins.js +1 -0
  18. package/src/plugins/transpilation/as_js_classic/async-to-promises.js +3844 -0
  19. package/src/plugins/transpilation/as_js_classic/client/s.js +63 -54
  20. package/src/plugins/transpilation/as_js_classic/helpers-string.js +1 -0
  21. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic.js +5 -3
  22. package/src/plugins/transpilation/jsenv_plugin_top_level_await.js +8 -0
  23. package/src/test/coverage/coverage_reporter_html_directory.js +8 -12
  24. package/src/test/coverage/coverage_reporter_json_file.js +5 -10
  25. package/src/test/coverage/coverage_reporter_text_log.js +3 -3
  26. package/src/test/execute_plan.js +14 -14
  27. package/src/test/execute_test_plan.js +35 -30
  28. package/dist/s.js +0 -626
  29. package/dist/s.js.map +0 -205
  30. package/readme.md +0 -372
package/dist/s.js.map DELETED
@@ -1,205 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [
4
- "../src/plugins/transpilation/as_js_classic/client/s.js",
5
- "../src/plugins/transpilation/as_js_classic/client/s.js"
6
- ],
7
- "names": [
8
- "value",
9
- "then",
10
- "direct",
11
- "Promise",
12
- "resolve",
13
- "f",
14
- "args",
15
- "i",
16
- "arguments",
17
- "length",
18
- "apply",
19
- "e",
20
- "reject",
21
- "body",
22
- "result",
23
- "recover",
24
- "loadRegistry",
25
- "Object",
26
- "create",
27
- "registerRegistry",
28
- "inlineScriptCount",
29
- "System",
30
- "hasDocument",
31
- "document",
32
- "envGlobal",
33
- "self",
34
- "isWorker",
35
- "WorkerGlobalScope",
36
- "isServiceWorker",
37
- "skipWaiting",
38
- "baseUrl",
39
- "location",
40
- "href",
41
- "split",
42
- "lastSlashIndex",
43
- "lastIndexOf",
44
- "slice",
45
- "resolveUrl",
46
- "specifier",
47
- "URL",
48
- "baseElement",
49
- "querySelector",
50
- "register",
51
- "deps",
52
- "declare",
53
- "currentScript",
54
- "Error",
55
- "__s__",
56
- "src",
57
- "url",
58
- "window",
59
- "_import",
60
- "instantiate",
61
- "script",
62
- "createScript",
63
- "lastWindowErrorUrl",
64
- "lastWindowError",
65
- "windowErrorCallback",
66
- "event",
67
- "filename",
68
- "error",
69
- "addEventListener",
70
- "removeEventListener",
71
- "head",
72
- "removeChild",
73
- "appendChild",
74
- "createElement",
75
- "async",
76
- "indexOf",
77
- "origin",
78
- "crossOrigin",
79
- "firstImportCallbacks",
80
- "eventsToCatch",
81
- "eventCallbackProxies",
82
- "firstImportPromise",
83
- "push",
84
- "forEach",
85
- "eventName",
86
- "eventsToDispatch",
87
- "eventCallback",
88
- "eventCallbackProxy",
89
- "type",
90
- "waitUntil",
91
- "callback",
92
- "options",
93
- "call",
94
- "eventQueue",
95
- "dispatchEvent",
96
- "namespace",
97
- "firstImportCallback",
98
- "fetch",
99
- "credentials",
100
- "response",
101
- "ok",
102
- "text",
103
- "source",
104
- "eval",
105
- "parentUrl",
106
- "load",
107
- "getOrCreateLoad",
108
- "completionPromise",
109
- "startExecution",
110
- "firstParentUrl",
111
- "existingLoad",
112
- "importerSetters",
113
- "createNamespace",
114
- "instantiatePromise",
115
- "registration",
116
- "instantiateReturnValue",
117
- "_export",
118
- "firstArg",
119
- "secondArg",
120
- "hoistedExports",
121
- "changed",
122
- "name",
123
- "keys",
124
- "__esModule",
125
- "importerSetter",
126
- "import",
127
- "importId",
128
- "meta",
129
- "createMeta",
130
- "setters",
131
- "execute",
132
- "linkPromise",
133
- "all",
134
- "map",
135
- "dep",
136
- "index",
137
- "setter",
138
- "dependencyUrl",
139
- "dependencyLoad",
140
- "dependencyLoads",
141
- "instantiateAll",
142
- "postOrderExec",
143
- "parent",
144
- "loaded",
145
- "seen",
146
- "executePromise",
147
- "depLoadPromises",
148
- "depLoadPromise",
149
- "err",
150
- "executeReturnValue",
151
- "nullContext",
152
- "freeze",
153
- "id",
154
- "Symbol",
155
- "toStringTag",
156
- "defineProperty",
157
- "_await",
158
- "_async",
159
- "_empty",
160
- "_awaitIgnored",
161
- "_invoke",
162
- "_catch",
163
- "_slicedToArray",
164
- "arr",
165
- "_arrayWithHoles",
166
- "_iterableToArrayLimit",
167
- "_unsupportedIterableToArray",
168
- "_nonIterableRest",
169
- "TypeError",
170
- "o",
171
- "minLen",
172
- "_arrayLikeToArray",
173
- "n",
174
- "prototype",
175
- "toString",
176
- "constructor",
177
- "Array",
178
- "from",
179
- "test",
180
- "len",
181
- "arr2",
182
- "_i",
183
- "iterator",
184
- "_arr",
185
- "_n",
186
- "_d",
187
- "_s",
188
- "_e",
189
- "next",
190
- "done",
191
- "isArray",
192
- "_typeof",
193
- "obj",
194
- "concat",
195
- "_import2",
196
- "_eventsToCatch",
197
- "_registration",
198
- "_registration2",
199
- "_declare",
200
- "_declare$execute",
201
- "_exit",
202
- "_result3"
203
- ],
204
- "mappings": "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"
205
- }
package/readme.md DELETED
@@ -1,372 +0,0 @@
1
- # @jsenv/core [![npm package](https://img.shields.io/npm/v/@jsenv/core.svg?logo=npm&label=package)](https://www.npmjs.com/package/@jsenv/core)
2
-
3
- _@jsenv/core_ is a quick start pack to launch a js project. It provides what you need from the beginning: develoment, testing and building all in one.
4
-
5
- Jsenv integrates naturally with standard HTML, CSS and JS: you don't have to pick a JavaScript framework.
6
-
7
- # Overview
8
-
9
- This section demos 3 things jsenv provides:
10
-
11
- 1. A test runner
12
- 2. A dev server
13
- 3. A build script
14
-
15
- The upcoming demos applies jsenv to simple use cases to make them straightforward.
16
-
17
- ## Test runner overview
18
-
19
- Let's assume you want to test `countDogs` exported by _animals.js_ file.
20
-
21
- ```js
22
- export const countDogs = (animals) => {
23
- return animals.filter((animal) => animal === "dog").length
24
- }
25
- ```
26
-
27
- 1 - Create _animals.test.html_
28
-
29
- ```html
30
- <!DOCTYPE html>
31
- <html>
32
- <head>
33
- <meta charset="utf8" />
34
- <link rel="icon" href="data:," />
35
- </head>
36
- <body>
37
- <script type="module">
38
- import { countDogs } from "./animals.js"
39
-
40
- const animals = ["dog", "dog", "cat", "cat", "cat"]
41
- const actual = countDogs(animals)
42
- const expected = 2
43
- if (actual !== expected) {
44
- throw new Error(`countDogs should return ${expected}, got ${actual}`)
45
- }
46
- </script>
47
- </body>
48
- </html>
49
- ```
50
-
51
- 2 - Create _test.mjs_
52
-
53
- ```js
54
- import { executeTestPlan, chromium, firefox } from "@jsenv/core"
55
-
56
- await executeTestPlan({
57
- rootDirectoryUrl: new URL("./", import.meta.url),
58
- testPlan: {
59
- "./animals.test.html": {
60
- chromium: {
61
- runtime: chromium,
62
- },
63
- firefox: {
64
- runtime: firefox,
65
- },
66
- },
67
- },
68
- })
69
- ```
70
-
71
- 3 - Add _@jsenv/core_ and _playwright_
72
-
73
- ```console
74
- npm install --save-dev @jsenv/core
75
- npm install --save-dev playwright
76
- npx playwright install-deps
77
- npx playwright install
78
- ```
79
-
80
- 4 - Run _test.mjs_ with Node.js
81
-
82
- ```console
83
- > node ./test.mjs
84
-
85
- ✔ execution 1 of 2 completed (all completed)
86
- file: animals.test.html
87
- runtime: chromium/97.0.4666.0
88
- duration: 0.45 seconds
89
-
90
- ✔ execution 2 of 2 completed (all completed)
91
- file: animals.test.html
92
- runtime: firefox/93.0
93
- duration: 0.81 seconds
94
-
95
- -------------- summary -----------------
96
- 2 executions: all completed
97
- total duration: 1.2 seconds
98
- ----------------------------------------
99
- ```
100
-
101
- To read more about testing in jsenv, check [jsenv test runner documentation](./docs/testing/readme.md#jsenv-test-runner).
102
-
103
- ## Dev server overview
104
-
105
- You want to execute the following _main.html_ file in a browser.
106
-
107
- ```html
108
- <!DOCTYPE html>
109
- <html>
110
- <head>
111
- <meta charset="utf8" />
112
- <link rel="icon" href="data:," />
113
- </head>
114
- <body>
115
- <h1>Hello world!</h1>
116
- </body>
117
- </html>
118
- ```
119
-
120
- 1 - Add _@jsenv/core_ to your _devDependencies_
121
-
122
- ```console
123
- npm install --save-dev @jsenv/core
124
- ```
125
-
126
- 2 - Create _start_dev_server.mjs_
127
-
128
- ```js
129
- import { startDevServer } from "@jsenv/core"
130
-
131
- await startDevServer({
132
- rootDirectoryUrl: new URL("./", import.meta.url),
133
- explorerGroups: {
134
- source: {
135
- "./*.html": true,
136
- },
137
- },
138
- port: 3456,
139
- })
140
- ```
141
-
142
- 3 - Run _start_dev_server.mjs_ with Node.js
143
-
144
- ```console
145
- > node ./start_dev_server.mjs
146
- ✔ server started (done in 0.01 second)
147
-
148
- - http://localhost:3456
149
- ```
150
-
151
- 4 - Open a browser and navigate to `http://localhost:3456`
152
-
153
- When you open `http://localhost:3456` in a browser, a page called jsenv exploring index is shown. It displays a list of links to your html files.
154
-
155
- ![dev server index screenshot](./docs/demo_exploring_index.png)
156
-
157
- 5 - Click _main.html_
158
-
159
- Browser navigates to _main.html_ and execute the file. Hello world is displayed in the browser.
160
-
161
- ![dev server hello world screenshot](./docs/demo_exploring_hello_world.png)
162
-
163
- To read more about jsenv dev server, check [jsenv dev server documentation](./docs/dev_server/readme.md#jsenv-dev-server).
164
-
165
- ## Build overview
166
-
167
- Following the steps below turns a `main.html` into an optimized `dist/main.prod.html`.
168
- Only the content of html files is shown below because the content of non-html files is trivial.
169
-
170
- ```html
171
- <!DOCTYPE html>
172
- <html>
173
- <head>
174
- <title>Title</title>
175
- <meta charset="utf-8" />
176
- <link rel="modulepreload" href="./main.js" />
177
- <link rel="icon" href="./favicon.ico" />
178
- <link rel="stylesheet" type="text/css" href="./main.css" />
179
- </head>
180
-
181
- <body>
182
- <script type="module" src="./main.js"></script>
183
- </body>
184
- </html>
185
- ```
186
-
187
- 1 - Add _@jsenv/core_ to your _devDependencies_
188
-
189
- ```console
190
- npm install --save-dev @jsenv/core
191
- ```
192
-
193
- 2 - Create _build.mjs_
194
-
195
- ```js
196
- import { build } from "@jsenv/core"
197
-
198
- await build({
199
- rootDirectoryUrl: new URL("./", import.meta.url),
200
- buildDirectoryUrl: new URL("./dist/", import.meta.url),
201
- entryPoints: {
202
- "./main.html": "main.prod.html",
203
- },
204
- })
205
- ```
206
-
207
- 3 - Run _build.mjs_ with Node.js
208
-
209
- ```console
210
- > node ./build.mjs
211
-
212
- building ./main.html...
213
- --- build files (excluding sourcemap files) ---
214
- dist/assets/favicon_25e95a00.ico (6.67 KB)
215
- dist/assets/main_cd3a5025.css (70 B)
216
- dist/main_c588dd03.js (167 B)
217
- dist/main.prod.html (886 B)
218
- ------- build summary -------
219
- project files: 5 (70.32 KB)
220
- build files: 4 (45.77 KB)
221
- build sourcemap files: 2 (705 B)
222
- build duration: 0.14 seconds
223
- ------------------------------
224
- ✔ build end
225
- ```
226
-
227
- 4 - Open _dist/main.prod.html_
228
-
229
- ```html
230
- <!DOCTYPE html>
231
- <html>
232
- <head>
233
- <title>Title</title>
234
- <meta charset="utf-8" />
235
- <link rel="modulepreload" href="/js/main.js?v=c588dd03" />
236
- <link rel="icon" href="/other/favicon.ico?v=25e95a00" />
237
- <link rel="stylesheet" type="text/css" href="/css/main.css?vcd3a5025" />
238
- </head>
239
-
240
- <body>
241
- <script type="module" src="/js/main?v=c588dd03.js"></script>
242
- </body>
243
- </html>
244
- ```
245
-
246
- To read more about jsenv build tool, check [jsenv build documentation](./docs/building/readme.md#jsenv-build).
247
-
248
- # Installation
249
-
250
- ```console
251
- npm install --save-dev @jsenv/core
252
- ```
253
-
254
- _@jsenv/core_ is tested on Mac, Windows, Linux on Node.js 16.13.0. Other operating systems and Node.js versions are not tested.
255
-
256
- # Configuration
257
-
258
- We recommend to put some jsenv configuration in a top level file named _jsenv.config.mjs_.
259
-
260
- The presence of a jsenv configuration file is **optional**.
261
-
262
- ```js
263
- /*
264
- * This file exports configuration reused by other files such as
265
- *
266
- * scripts/test/test.mjs
267
- * scripts/build/build.mjs
268
- *
269
- * Read more at https://github.com/jsenv/jsenv-core#configuration
270
- */
271
-
272
- export const rootDirectoryUrl = new URL("./", import.meta.url)
273
- ```
274
-
275
- _jsenv.config.mjs_ is meant to share configuration, other files will simply import what they need.
276
-
277
- ```diff
278
- import { build } from '@jsenv/core'
279
-
280
- + import { rootDirectoryUrl } from "./jsenv.config.mjs"
281
- ```
282
-
283
- > We recommend to use ".mjs" extension when a file is written for Node.js but you can name the file as you want, "jsenv.config.js" is fine too.
284
-
285
- # Documentation
286
-
287
- | Link | Description |
288
- | --------------------------------------------------- | ------------------------------------------ |
289
- | [Browser support](./docs/browser_support/readme.md) | Documentation around browser support |
290
- | [Assets](./docs/assets/readme.md) | How to use assets (CSS, JSON, images, ...) |
291
- | [Web workers](./docs/web_workers/readme.md) | How to use web workers |
292
- | [NPM package](./docs/npm_package/readme.md) | How to use a NPM package |
293
- | [CDN](./docs/cdn/readme.md) | How to use ressources from CDN |
294
- | [React](./docs/react/readme.md) | How to enable react (or preact) and JSX |
295
-
296
- # About
297
-
298
- Jsenv was first created to write tests that could be executed in different runtimes. It has naturally evolved to cover the core needs of a JavaScript project:
299
-
300
- - A development server
301
- - A test runner to execute test files
302
- - A build tool to optimize files for production
303
-
304
- Jsenv relies on **standard web features**. Each standard listed below is potentially supported natively by the browser. When browser supports all of them, jsenv will use source files without modification. Otherwise, the files are compiled to be executable in the browser.
305
-
306
- - `<script type="module">`
307
- - `<script type="importmap">`
308
- - dynamic imports
309
- - import.meta.url
310
- - import assertions
311
- - top level await
312
-
313
- ## When to use it?
314
-
315
- Amongst other use cases, the ease of use and flexibility of jsenv makes it a great tool to start and learn web development.
316
-
317
- First because jsenv is a tool that was built to run raw js, html and css. It starts from the **simplest form of coding**. If a browser can run your code, so can jsenv without configuration or things to learn. There is no magic that will bite you right away or later. Jsenv can be configured to add more stuff later, on demand.
318
-
319
- Second because jsenv is compatible with the latest standards. Even some that are not yet mature in the js ecosystem, such as import maps. This will makes you at ease with technologies that will be part of the ecosystem once you are confortable with coding.
320
-
321
- To sum up, jsenv focuses on simplicity and flexibility making it a perfect candidate to learn the ecosystem gradually.
322
-
323
- ## Main dependencies
324
-
325
- An overview of the main dependencies used by _@jsenv/core_.
326
-
327
- | Dependency | How it is used by jsenv |
328
- | ----------------------------------------------------- | ------------------------------------------- |
329
- | [systemjs](https://github.com/systemjs/systemjs) | "Polyfill" js modules, import maps and more |
330
- | [playwright](https://github.com/microsoft/playwright) | Launch Chromium, Firefox and WebKit |
331
- | [istanbul](https://github.com/gotwarlost/istanbul) | Collect and generate code coverage |
332
- | [rollup](https://github.com/rollup/rollup) | Tree shaking when building |
333
- | [babel](https://github.com/babel/babel) | Parse and transform js |
334
- | [parse5](https://github.com/inikulin/parse5) | Parse and transform html |
335
- | [postCSS](https://github.com/postcss/postcss) | Parse and transform css |
336
-
337
- ## Name
338
-
339
- The name "jsenv" stands for JavaScript environments. This is because the original purpose of jsenv was to bring closer two JavaScript runtimes: web browsers and Node.js.
340
-
341
- Maybe "jsenv" should be written "JSEnv"? That makes typing the name too complex:
342
-
343
- 1. Hold `shift` on keyboard
344
- 2. While holding `shift`, type `JSE`
345
- 3. Release `shift`
346
- 4. Finally, type `nv`.
347
-
348
- No one wants to do that: the prefered syntax is "jsenv".
349
-
350
- ## Logo
351
-
352
- The logo is composed by the name at the center and two circles orbiting around it. One of the circle is web browsers, the other is Node.js. It represents the two JavaScript environments supported by jsenv.
353
-
354
- ![jsenv logo with legend](./docs/jsenv-logo-legend.png)
355
-
356
- <details>
357
- <summary>Jsenv logo origin explained</summary>
358
-
359
- ![jsenv logo origin explained](./docs/jsenv-logo-origin-explained.jpg)
360
-
361
- > This is a joke
362
-
363
- </details>
364
-
365
- # See also
366
-
367
- | Link | Description |
368
- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ |
369
- | [@jsenv/template-pwa](https://github.com/jsenv/jsenv-template-pwa) | GitHub repository template for a progressive web application |
370
- | [@jsenv/template-node-package](https://github.com/jsenv/jsenv-template-node-package) | GitHub repository template for a node package |
371
- | [@jsenv/assert](https://github.com/jsenv/assert) | NPM package to write assertions |
372
- | [I am too lazy for a test framework](https://medium.com/@DamienMaillard/i-am-too-lazy-for-a-test-framework-ca08d216ee05) | Article presenting a straightforward testing experience |