@jsenv/plugin-preact 0.0.7 → 0.0.10

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 (113) hide show
  1. package/package.json +11 -3
  2. package/script/test/test.mjs +14 -0
  3. package/src/client/{prefresh.js → preact_refresh.js} +1 -1
  4. package/src/jsenv_plugin_preact.js +77 -67
  5. package/test/preact_build/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/dist/preact.module.js +365 -0
  6. package/test/preact_build/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +33 -0
  7. package/test/preact_build/client/.jsenv/build/app.jsx +6 -0
  8. package/test/preact_build/client/.jsenv/build/main.html +15 -0
  9. package/test/preact_build/client/.jsenv/build/main.html@L14-L16.js +1 -0
  10. package/test/preact_build/client/.jsenv/build/main.html@L8-L12.js +3 -0
  11. package/test/preact_build/client/.jsenv/build/main.jsx +22 -0
  12. package/test/preact_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/test/preact_build/dist/js/app.es5.js +17 -0
  13. package/test/preact_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/test/preact_build/dist/js/main.es5.js +362 -0
  14. package/test/preact_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/test/preact_build/dist/js/main.html@L14-L16.es5.js +10 -0
  15. package/test/preact_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/test/preact_build/dist/js/s.js +777 -0
  16. package/test/preact_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/test/preact_build/dist/main.html +25 -0
  17. package/test/preact_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/test/preact_build/dist/main.html@L8-L12.js +3 -0
  18. package/test/preact_build/client/app.jsx +3 -0
  19. package/test/preact_build/client/main.html +20 -0
  20. package/test/preact_build/client/main.jsx +9 -0
  21. package/test/preact_build/dist/asset-manifest.json +8 -0
  22. package/test/preact_build/dist/js/app.es5.js +17 -0
  23. package/test/preact_build/dist/js/main.es5.js +362 -0
  24. package/test/preact_build/dist/js/s.js +777 -0
  25. package/test/preact_build/dist/main.html +35 -0
  26. package/test/preact_build/preact_build.test.mjs +57 -0
  27. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/index.js +3 -0
  28. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/index.js.map +9 -0
  29. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/decompose.js +405 -0
  30. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/decompose.js.map +9 -0
  31. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/escapeString.js +28 -0
  32. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/escapeString.js.map +19 -0
  33. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/global-value-path.js +60 -0
  34. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/global-value-path.js.map +9 -0
  35. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/isComposite.js +18 -0
  36. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/isComposite.js.map +12 -0
  37. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/sortRecipe.js +76 -0
  38. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/internal/sortRecipe.js.map +31 -0
  39. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/uneval.js +212 -0
  40. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/uneval.js.map +9 -0
  41. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/utils/event_source/event_source.js +197 -0
  42. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/utils/event_source/event_source.js.map +71 -0
  43. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/utils/html_ast/html_attribute_src_set.js +19 -0
  44. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/utils/html_ast/html_attribute_src_set.js.map +23 -0
  45. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/computeKey.js +38 -0
  46. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/computeKey.js.map +9 -0
  47. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/constants.js +13 -0
  48. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/constants.js.map +22 -0
  49. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/index.js +206 -0
  50. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/index.js.map +9 -0
  51. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/catchError.js +17 -0
  52. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/catchError.js.map +9 -0
  53. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/debounceRendering.js +21 -0
  54. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/debounceRendering.js.map +9 -0
  55. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/signaturesForType.js +2 -0
  56. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/signaturesForType.js.map +11 -0
  57. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/unmount.js +20 -0
  58. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/unmount.js.map +9 -0
  59. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/vnode.js +46 -0
  60. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/vnode.js.map +9 -0
  61. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/vnodesForComponent.js +3 -0
  62. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/runtime/vnodesForComponent.js.map +12 -0
  63. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/utils/src/index.js +43 -0
  64. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/utils/src/index.js.map +33 -0
  65. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/debug/dist/debug.module.js +2 -0
  66. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/debug/dist/debug.module.js.map +135 -0
  67. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/devtools/dist/devtools.module.js +2 -0
  68. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/devtools/dist/devtools.module.js.map +20 -0
  69. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/dist/preact.module.js +2 -0
  70. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/dist/preact.module.js.map +231 -0
  71. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/hooks/dist/hooks.module.js +167 -0
  72. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/hooks/dist/hooks.module.js.map +100 -0
  73. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +2 -0
  74. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +24 -0
  75. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/src/client/preact_refresh.js +38 -0
  76. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/src/client/preact_refresh.js.map +9 -0
  77. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/autoreload_preference.js +11 -0
  78. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/autoreload_preference.js.map +16 -0
  79. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/event_source_client.js +188 -0
  80. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/event_source_client.js.map +9 -0
  81. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/reload.js +103 -0
  82. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/reload.js.map +9 -0
  83. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/url_helpers.js +20 -0
  84. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/autoreload/dev_sse/client/url_helpers.js.map +26 -0
  85. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/error_in_document.js +198 -0
  86. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/error_in_document.js.map +70 -0
  87. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/error_in_notification.js +21 -0
  88. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/error_in_notification.js.map +23 -0
  89. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/html_supervisor_installer.js +171 -0
  90. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/html_supervisor_installer.js.map +9 -0
  91. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/html_supervisor_setup.js +77 -0
  92. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/uneval_exception.js +10 -0
  93. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/html_supervisor/client/uneval_exception.js.map +9 -0
  94. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/import_meta_hot/client/import_meta_hot.js +82 -0
  95. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/src/plugins/import_meta_hot/client/import_meta_hot.js.map +38 -0
  96. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/app.jsx +59 -0
  97. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/app.jsx.map +20 -0
  98. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/count_label.jsx +27 -0
  99. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/count_label.jsx.map +16 -0
  100. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.html +33 -0
  101. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.html@L10-L14.js +5 -0
  102. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.html@L3-L8.js +7 -0
  103. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.html@L3-L8.js.map +12 -0
  104. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.html@L9-L11.js +4 -0
  105. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.html@L9-L11.js.map +12 -0
  106. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.jsx +20 -0
  107. package/test/preact_refresh/client/.jsenv/dev/chrome@101.00/main.jsx.map +24 -0
  108. package/test/preact_refresh/client/app.jsx +29 -0
  109. package/test/preact_refresh/client/count_label.jsx +7 -0
  110. package/test/preact_refresh/client/main.html +18 -0
  111. package/test/preact_refresh/client/main.jsx +11 -0
  112. package/test/preact_refresh/preact_refresh.test.mjs +93 -0
  113. package/test/preact_refresh/preact_refresh.test_manual.mjs +9 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/plugin-preact",
3
- "version": "0.0.7",
3
+ "version": "0.0.10",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,16 +18,24 @@
18
18
  },
19
19
  "./*": "./*"
20
20
  },
21
+ "scripts": {
22
+ "test": "node ./script/test/test.mjs"
23
+ },
21
24
  "dependencies": {
22
25
  "@babel/plugin-transform-react-jsx": "7.17.3",
23
- "@jsenv/utils": "1.4.1",
26
+ "@jsenv/utils": "1.5.0",
24
27
  "@jsenv/url-meta": "6.2.0"
25
28
  },
26
29
  "devDependencies": {
27
30
  "@babel/plugin-transform-react-jsx-development": "7.16.7",
31
+ "@jsenv/assert": "2.5.4",
32
+ "@jsenv/core": "../../",
33
+ "@jsenv/filesystem": "3.1.0",
28
34
  "@prefresh/babel-plugin": "0.4.3",
29
35
  "@prefresh/core": "1.3.4",
30
36
  "@prefresh/utils": "1.1.3",
31
- "babel-plugin-transform-hook-names": "1.0.2"
37
+ "babel-plugin-transform-hook-names": "1.0.2",
38
+ "playwright": "1.20.2",
39
+ "preact": "10.7.1"
32
40
  }
33
41
  }
@@ -0,0 +1,14 @@
1
+ import { executeTestPlan, nodeProcess } from "@jsenv/core"
2
+
3
+ await executeTestPlan({
4
+ rootDirectoryUrl: new URL("../../", import.meta.url),
5
+ testPlan: {
6
+ "test/**/*.test.mjs": {
7
+ node: {
8
+ runtime: nodeProcess,
9
+ },
10
+ },
11
+ },
12
+ completedExecutionLogMerging: true,
13
+ coverage: process.argv.includes("--coverage"),
14
+ })
@@ -3,7 +3,7 @@
3
3
  import "@prefresh/core"
4
4
  import { flush } from "@prefresh/utils"
5
5
 
6
- export const installPrefresh = (url) => {
6
+ export const installPreactRefresh = (url) => {
7
7
  let prevRefreshReg = self.$RefreshReg$ || (() => {})
8
8
  let prevRefreshSig = self.$RefreshSig$ || (() => (type) => type)
9
9
  self.$RefreshReg$ = (type, id) => {
@@ -16,7 +16,12 @@ import {
16
16
  } from "@jsenv/utils/html_ast/html_ast.js"
17
17
 
18
18
  export const jsenvPluginPreact = ({
19
- hotRefreshPatterns = {
19
+ jsxPatterns = {
20
+ "./**/*.jsx": true,
21
+ "./**/*.tsx": true,
22
+ "./**/node_modules/": false,
23
+ },
24
+ refreshPatterns = {
20
25
  "./**/*.jsx": true,
21
26
  "./**/*.tsx": true,
22
27
  "./**/node_modules/": false,
@@ -25,13 +30,15 @@ export const jsenvPluginPreact = ({
25
30
  } = {}) => {
26
31
  const structuredMetaMap = normalizeStructuredMetaMap(
27
32
  {
28
- hot: hotRefreshPatterns,
33
+ jsx: jsxPatterns,
34
+ refresh: refreshPatterns,
35
+ hookNames: {
36
+ "./**/*": true,
37
+ "./**/node_modules": false,
38
+ },
29
39
  },
30
40
  "file://",
31
41
  )
32
- const shouldEnablePrefresh = (url) => {
33
- return urlToMeta({ url, structuredMetaMap }).hot
34
- }
35
42
 
36
43
  return {
37
44
  name: "jsenv:preact",
@@ -77,91 +84,94 @@ import ${preactDevtoolsReference.generatedSpecifier}
77
84
  return { content: htmlModified }
78
85
  },
79
86
  js_module: async (urlInfo, { scenario, referenceUtils }) => {
80
- // case "Fragment":
81
- // return `${source}/${development ? "jsx-dev-runtime" : "jsx-runtime"}`;
82
- // case "jsxDEV":
83
- // return `${source}/jsx-dev-runtime`;
84
- // case "jsx":
85
- // case "jsxs":
86
- // return `${source}/jsx-runtime`;
87
- // case "createElement":
88
- // return source;
89
- const prefreshEnabled =
90
- scenario === "dev" ? shouldEnablePrefresh(urlInfo.url) : false
91
- const hookNamesEnabled = scenario === "dev"
87
+ const urlMeta = urlToMeta({ url: urlInfo.url, structuredMetaMap })
88
+ const jsxEnabled = urlMeta.jsx
89
+ const refreshEnabled = scenario === "dev" ? urlMeta.refresh : false
90
+ const hookNamesEnabled =
91
+ scenario === "dev" &&
92
+ urlMeta.hookNames &&
93
+ (urlInfo.content.includes("useState") ||
94
+ urlInfo.content.includes("useReducer") ||
95
+ urlInfo.content.includes("useRef") ||
96
+ urlInfo.content.includes("useMemo"))
97
+
92
98
  const { code, map } = await applyBabelPlugins({
93
99
  babelPlugins: [
94
- [
95
- scenario === "dev"
96
- ? "@babel/plugin-transform-react-jsx-development"
97
- : "@babel/plugin-transform-react-jsx",
98
- {
99
- runtime: "automatic",
100
- importSource: "preact",
101
- },
102
- ],
100
+ ...(jsxEnabled
101
+ ? [
102
+ [
103
+ scenario === "dev"
104
+ ? "@babel/plugin-transform-react-jsx-development"
105
+ : "@babel/plugin-transform-react-jsx",
106
+ {
107
+ runtime: "automatic",
108
+ importSource: "preact",
109
+ },
110
+ ],
111
+ ]
112
+ : []),
103
113
  ...(hookNamesEnabled ? ["babel-plugin-transform-hook-names"] : []),
104
- ...(prefreshEnabled ? ["@prefresh/babel-plugin"] : []),
114
+ ...(refreshEnabled ? ["@prefresh/babel-plugin"] : []),
105
115
  ],
106
116
  urlInfo,
107
117
  })
108
118
  const magicSource = createMagicSource(code)
109
- // When a plugin wants to inject import, it must use "generatedSpecifier" returned by "addReference":
110
- // const preactJsxRuntimeReference = addReference({
111
- // type: "js_import_export",
112
- // specifier: "preact/jsx-runtime"
113
- // })
114
- // console.log(preactJsxRuntimeReference.generatedSpecifier)
115
- // -> "/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js"
116
- // Here "@babel/plugin-transform-react-jsx" is injecting some of these 3 imports into the code:
117
- // 1. import { jsx } from "preact/jsx-runtime"
118
- // 2. import { jsxDev } from "preact/jsx-dev-runtime"
119
- // 3. import { createElement } from "preact"
120
- // see https://github.com/babel/babel/blob/410c9acf1b9212cac69d50b5bb2015b9f372acc4/packages/babel-plugin-transform-react-jsx/src/create-plugin.ts#L743-L755
121
- // "@babel/plugin-transform-react-jsx" cannot be configured to inject
122
- // "/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js" instead of "preact/jsx-runtime"
123
- // But that's fine we can still replace these imports afterwards as done below
124
- const injectedSpecifiers = [
125
- `"preact"`,
126
- `"preact/jsx-dev-runtime"`,
127
- `"preact/jsx-runtime"`,
128
- ]
129
- for (const importSpecifier of injectedSpecifiers) {
130
- const index = code.indexOf(importSpecifier)
131
- if (index > -1) {
132
- magicSource.replace({
133
- start: index,
134
- end: index + importSpecifier.length,
135
- replacement: referenceUtils.inject({
119
+ if (jsxEnabled) {
120
+ // "@babel/plugin-transform-react-jsx" is injecting some of these 3 imports into the code:
121
+ // 1. import { jsx } from "preact/jsx-runtime"
122
+ // 2. import { jsxDev } from "preact/jsx-dev-runtime"
123
+ // 3. import { createElement } from "preact"
124
+ // see https://github.com/babel/babel/blob/410c9acf1b9212cac69d50b5bb2015b9f372acc4/packages/babel-plugin-transform-react-jsx/src/create-plugin.ts#L743-L755
125
+ // "@babel/plugin-transform-react-jsx" cannot be configured to inject what we want
126
+ // ("/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js" instead of "preact/jsx-runtime")
127
+ // but that's fine we can still replace these imports afterwards as done below.
128
+ const injectedSpecifiers = [
129
+ `"preact"`,
130
+ `"preact/jsx-dev-runtime"`,
131
+ `"preact/jsx-runtime"`,
132
+ ]
133
+ for (const importSpecifier of injectedSpecifiers) {
134
+ let index = code.indexOf(importSpecifier)
135
+ while (index > -1) {
136
+ const specifier = importSpecifier.slice(1, -1)
137
+ const [injectedReference] = referenceUtils.inject({
136
138
  type: "js_import_export",
137
139
  expectedType: "js_module",
138
- specifier: importSpecifier.slice(1, -1),
139
- }).generatedSpecifier,
140
- })
140
+ specifier,
141
+ })
142
+ magicSource.replace({
143
+ start: index,
144
+ end: index + importSpecifier.length,
145
+ replacement: injectedReference.generatedSpecifier,
146
+ })
147
+ index = code.indexOf(importSpecifier, index + 1)
148
+ }
141
149
  }
142
150
  }
143
- if (prefreshEnabled) {
151
+ if (refreshEnabled) {
144
152
  const hasReg = /\$RefreshReg\$\(/.test(code)
145
153
  const hasSig = /\$RefreshSig\$\(/.test(code)
146
154
  if (hasReg || hasSig) {
147
- const prefreshClientFileReference = referenceUtils.inject({
155
+ const [preactRefreshClientReference] = referenceUtils.inject({
148
156
  type: "js_import_export",
149
157
  expectedType: "js_module",
150
- specifier: "@jsenv/plugin-preact/src/client/prefresh.js",
158
+ specifier: "@jsenv/plugin-preact/src/client/preact_refresh.js",
151
159
  })
152
- magicSource.prepend(`import { installPrefresh } from ${
153
- prefreshClientFileReference.generatedSpecifier
160
+ magicSource.prepend(`import { installPreactRefresh } from ${
161
+ preactRefreshClientReference.generatedSpecifier
154
162
  }
155
- const __prefresh__ = installPrefresh(${JSON.stringify(urlInfo.url)})
156
- `)
163
+ const __preact_refresh__ = installPreactRefresh(${JSON.stringify(urlInfo.url)})
164
+ `)
157
165
  if (hasReg) {
158
166
  magicSource.append(`
159
- __prefresh__.end()
160
- import.meta.hot.accept(__prefresh__.acceptCallback)`)
167
+ __preact_refresh__.end()
168
+ import.meta.hot.accept(__preact_refresh__.acceptCallback)`)
161
169
  }
162
170
  }
163
171
  }
164
- const result = magicSource.toContentAndSourcemap()
172
+ const result = magicSource.toContentAndSourcemap({
173
+ source: "jsenv:plugin_preact",
174
+ })
165
175
  return {
166
176
  content: result.content,
167
177
  sourcemap: await composeTwoSourcemaps(map, result.sourcemap),
@@ -0,0 +1,365 @@
1
+ var n,
2
+ l,
3
+ u,
4
+ i,
5
+ t,
6
+ o,
7
+ r,
8
+ f,
9
+ e = {},
10
+ c = [],
11
+ s = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
12
+
13
+ function a(n, l) {
14
+ for (var u in l) n[u] = l[u];
15
+
16
+ return n;
17
+ }
18
+
19
+ function h(n) {
20
+ var l = n.parentNode;
21
+ l && l.removeChild(n);
22
+ }
23
+
24
+ function v(l, u, i) {
25
+ var t,
26
+ o,
27
+ r,
28
+ f = {};
29
+
30
+ for (r in u) "key" == r ? t = u[r] : "ref" == r ? o = u[r] : f[r] = u[r];
31
+
32
+ if (arguments.length > 2 && (f.children = arguments.length > 3 ? n.call(arguments, 2) : i), "function" == typeof l && null != l.defaultProps) for (r in l.defaultProps) void 0 === f[r] && (f[r] = l.defaultProps[r]);
33
+ return y(l, f, t, o, null);
34
+ }
35
+
36
+ function y(n, i, t, o, r) {
37
+ var f = {
38
+ type: n,
39
+ props: i,
40
+ key: t,
41
+ ref: o,
42
+ __k: null,
43
+ __: null,
44
+ __b: 0,
45
+ __e: null,
46
+ __d: void 0,
47
+ __c: null,
48
+ __h: null,
49
+ constructor: void 0,
50
+ __v: null == r ? ++u : r
51
+ };
52
+ return null == r && null != l.vnode && l.vnode(f), f;
53
+ }
54
+
55
+ function p() {
56
+ return {
57
+ current: null
58
+ };
59
+ }
60
+
61
+ function d(n) {
62
+ return n.children;
63
+ }
64
+
65
+ function _(n, l) {
66
+ this.props = n, this.context = l;
67
+ }
68
+
69
+ function k(n, l) {
70
+ if (null == l) return n.__ ? k(n.__, n.__.__k.indexOf(n) + 1) : null;
71
+
72
+ for (var u; l < n.__k.length; l++) if (null != (u = n.__k[l]) && null != u.__e) return u.__e;
73
+
74
+ return "function" == typeof n.type ? k(n) : null;
75
+ }
76
+
77
+ function b(n) {
78
+ var l, u;
79
+
80
+ if (null != (n = n.__) && null != n.__c) {
81
+ for (n.__e = n.__c.base = null, l = 0; l < n.__k.length; l++) if (null != (u = n.__k[l]) && null != u.__e) {
82
+ n.__e = n.__c.base = u.__e;
83
+ break;
84
+ }
85
+
86
+ return b(n);
87
+ }
88
+ }
89
+
90
+ function m(n) {
91
+ (!n.__d && (n.__d = !0) && t.push(n) && !g.__r++ || r !== l.debounceRendering) && ((r = l.debounceRendering) || o)(g);
92
+ }
93
+
94
+ function g() {
95
+ for (var n; g.__r = t.length;) n = t.sort(function (n, l) {
96
+ return n.__v.__b - l.__v.__b;
97
+ }), t = [], n.some(function (n) {
98
+ var l, u, i, t, o, r;
99
+ n.__d && (o = (t = (l = n).__v).__e, (r = l.__P) && (u = [], (i = a({}, t)).__v = t.__v + 1, j(r, t, i, l.__n, void 0 !== r.ownerSVGElement, null != t.__h ? [o] : null, u, null == o ? k(t) : o, t.__h), z(u, t), t.__e != o && b(t)));
100
+ });
101
+ }
102
+
103
+ function w(n, l, u, i, t, o, r, f, s, a) {
104
+ var h,
105
+ v,
106
+ p,
107
+ _,
108
+ b,
109
+ m,
110
+ g,
111
+ w = i && i.__k || c,
112
+ A = w.length;
113
+
114
+ for (u.__k = [], h = 0; h < l.length; h++) if (null != (_ = u.__k[h] = null == (_ = l[h]) || "boolean" == typeof _ ? null : "string" == typeof _ || "number" == typeof _ || "bigint" == typeof _ ? y(null, _, null, null, _) : Array.isArray(_) ? y(d, {
115
+ children: _
116
+ }, null, null, null) : _.__b > 0 ? y(_.type, _.props, _.key, null, _.__v) : _)) {
117
+ if (_.__ = u, _.__b = u.__b + 1, null === (p = w[h]) || p && _.key == p.key && _.type === p.type) w[h] = void 0;else for (v = 0; v < A; v++) {
118
+ if ((p = w[v]) && _.key == p.key && _.type === p.type) {
119
+ w[v] = void 0;
120
+ break;
121
+ }
122
+
123
+ p = null;
124
+ }
125
+ j(n, _, p = p || e, t, o, r, f, s, a), b = _.__e, (v = _.ref) && p.ref != v && (g || (g = []), p.ref && g.push(p.ref, null, _), g.push(v, _.__c || b, _)), null != b ? (null == m && (m = b), "function" == typeof _.type && _.__k === p.__k ? _.__d = s = x(_, s, n) : s = P(n, _, p, w, b, s), "function" == typeof u.type && (u.__d = s)) : s && p.__e == s && s.parentNode != n && (s = k(p));
126
+ }
127
+
128
+ for (u.__e = m, h = A; h--;) null != w[h] && ("function" == typeof u.type && null != w[h].__e && w[h].__e == u.__d && (u.__d = k(i, h + 1)), N(w[h], w[h]));
129
+
130
+ if (g) for (h = 0; h < g.length; h++) M(g[h], g[++h], g[++h]);
131
+ }
132
+
133
+ function x(n, l, u) {
134
+ for (var i, t = n.__k, o = 0; t && o < t.length; o++) (i = t[o]) && (i.__ = n, l = "function" == typeof i.type ? x(i, l, u) : P(u, i, i, t, i.__e, l));
135
+
136
+ return l;
137
+ }
138
+
139
+ function A(n, l) {
140
+ return l = l || [], null == n || "boolean" == typeof n || (Array.isArray(n) ? n.some(function (n) {
141
+ A(n, l);
142
+ }) : l.push(n)), l;
143
+ }
144
+
145
+ function P(n, l, u, i, t, o) {
146
+ var r, f, e;
147
+ if (void 0 !== l.__d) r = l.__d, l.__d = void 0;else if (null == u || t != o || null == t.parentNode) n: if (null == o || o.parentNode !== n) n.appendChild(t), r = null;else {
148
+ for (f = o, e = 0; (f = f.nextSibling) && e < i.length; e += 2) if (f == t) break n;
149
+
150
+ n.insertBefore(t, o), r = o;
151
+ }
152
+ return void 0 !== r ? r : t.nextSibling;
153
+ }
154
+
155
+ function C(n, l, u, i, t) {
156
+ var o;
157
+
158
+ for (o in u) "children" === o || "key" === o || o in l || H(n, o, null, u[o], i);
159
+
160
+ for (o in l) t && "function" != typeof l[o] || "children" === o || "key" === o || "value" === o || "checked" === o || u[o] === l[o] || H(n, o, l[o], u[o], i);
161
+ }
162
+
163
+ function $(n, l, u) {
164
+ "-" === l[0] ? n.setProperty(l, u) : n[l] = null == u ? "" : "number" != typeof u || s.test(l) ? u : u + "px";
165
+ }
166
+
167
+ function H(n, l, u, i, t) {
168
+ var o;
169
+
170
+ n: if ("style" === l) {
171
+ if ("string" == typeof u) n.style.cssText = u;else {
172
+ if ("string" == typeof i && (n.style.cssText = i = ""), i) for (l in i) u && l in u || $(n.style, l, "");
173
+ if (u) for (l in u) i && u[l] === i[l] || $(n.style, l, u[l]);
174
+ }
175
+ } else if ("o" === l[0] && "n" === l[1]) o = l !== (l = l.replace(/Capture$/, "")), l = l.toLowerCase() in n ? l.toLowerCase().slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + o] = u, u ? i || n.addEventListener(l, o ? T : I, o) : n.removeEventListener(l, o ? T : I, o);else if ("dangerouslySetInnerHTML" !== l) {
176
+ if (t) l = l.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");else if ("href" !== l && "list" !== l && "form" !== l && "tabIndex" !== l && "download" !== l && l in n) try {
177
+ n[l] = null == u ? "" : u;
178
+ break n;
179
+ } catch (n) {}
180
+ "function" == typeof u || (null != u && (!1 !== u || "a" === l[0] && "r" === l[1]) ? n.setAttribute(l, u) : n.removeAttribute(l));
181
+ }
182
+ }
183
+
184
+ function I(n) {
185
+ this.l[n.type + !1](l.event ? l.event(n) : n);
186
+ }
187
+
188
+ function T(n) {
189
+ this.l[n.type + !0](l.event ? l.event(n) : n);
190
+ }
191
+
192
+ function j(n, u, i, t, o, r, f, e, c) {
193
+ var s,
194
+ h,
195
+ v,
196
+ y,
197
+ p,
198
+ k,
199
+ b,
200
+ m,
201
+ g,
202
+ x,
203
+ A,
204
+ P = u.type;
205
+ if (void 0 !== u.constructor) return null;
206
+ null != i.__h && (c = i.__h, e = u.__e = i.__e, u.__h = null, r = [e]), (s = l.__b) && s(u);
207
+
208
+ try {
209
+ n: if ("function" == typeof P) {
210
+ if (m = u.props, g = (s = P.contextType) && t[s.__c], x = s ? g ? g.props.value : s.__ : t, i.__c ? b = (h = u.__c = i.__c).__ = h.__E : ("prototype" in P && P.prototype.render ? u.__c = h = new P(m, x) : (u.__c = h = new _(m, x), h.constructor = P, h.render = O), g && g.sub(h), h.props = m, h.state || (h.state = {}), h.context = x, h.__n = t, v = h.__d = !0, h.__h = []), null == h.__s && (h.__s = h.state), null != P.getDerivedStateFromProps && (h.__s == h.state && (h.__s = a({}, h.__s)), a(h.__s, P.getDerivedStateFromProps(m, h.__s))), y = h.props, p = h.state, v) null == P.getDerivedStateFromProps && null != h.componentWillMount && h.componentWillMount(), null != h.componentDidMount && h.__h.push(h.componentDidMount);else {
211
+ if (null == P.getDerivedStateFromProps && m !== y && null != h.componentWillReceiveProps && h.componentWillReceiveProps(m, x), !h.__e && null != h.shouldComponentUpdate && !1 === h.shouldComponentUpdate(m, h.__s, x) || u.__v === i.__v) {
212
+ h.props = m, h.state = h.__s, u.__v !== i.__v && (h.__d = !1), h.__v = u, u.__e = i.__e, u.__k = i.__k, u.__k.forEach(function (n) {
213
+ n && (n.__ = u);
214
+ }), h.__h.length && f.push(h);
215
+ break n;
216
+ }
217
+
218
+ null != h.componentWillUpdate && h.componentWillUpdate(m, h.__s, x), null != h.componentDidUpdate && h.__h.push(function () {
219
+ h.componentDidUpdate(y, p, k);
220
+ });
221
+ }
222
+ h.context = x, h.props = m, h.state = h.__s, (s = l.__r) && s(u), h.__d = !1, h.__v = u, h.__P = n, s = h.render(h.props, h.state, h.context), h.state = h.__s, null != h.getChildContext && (t = a(a({}, t), h.getChildContext())), v || null == h.getSnapshotBeforeUpdate || (k = h.getSnapshotBeforeUpdate(y, p)), A = null != s && s.type === d && null == s.key ? s.props.children : s, w(n, Array.isArray(A) ? A : [A], u, i, t, o, r, f, e, c), h.base = u.__e, u.__h = null, h.__h.length && f.push(h), b && (h.__E = h.__ = null), h.__e = !1;
223
+ } else null == r && u.__v === i.__v ? (u.__k = i.__k, u.__e = i.__e) : u.__e = L(i.__e, u, i, t, o, r, f, c);
224
+
225
+ (s = l.diffed) && s(u);
226
+ } catch (n) {
227
+ u.__v = null, (c || null != r) && (u.__e = e, u.__h = !!c, r[r.indexOf(e)] = null), l.__e(n, u, i);
228
+ }
229
+ }
230
+
231
+ function z(n, u) {
232
+ l.__c && l.__c(u, n), n.some(function (u) {
233
+ try {
234
+ n = u.__h, u.__h = [], n.some(function (n) {
235
+ n.call(u);
236
+ });
237
+ } catch (n) {
238
+ l.__e(n, u.__v);
239
+ }
240
+ });
241
+ }
242
+
243
+ function L(l, u, i, t, o, r, f, c) {
244
+ var s,
245
+ a,
246
+ v,
247
+ y = i.props,
248
+ p = u.props,
249
+ d = u.type,
250
+ _ = 0;
251
+ if ("svg" === d && (o = !0), null != r) for (; _ < r.length; _++) if ((s = r[_]) && "setAttribute" in s == !!d && (d ? s.localName === d : 3 === s.nodeType)) {
252
+ l = s, r[_] = null;
253
+ break;
254
+ }
255
+
256
+ if (null == l) {
257
+ if (null === d) return document.createTextNode(p);
258
+ l = o ? document.createElementNS("http://www.w3.org/2000/svg", d) : document.createElement(d, p.is && p), r = null, c = !1;
259
+ }
260
+
261
+ if (null === d) y === p || c && l.data === p || (l.data = p);else {
262
+ if (r = r && n.call(l.childNodes), a = (y = i.props || e).dangerouslySetInnerHTML, v = p.dangerouslySetInnerHTML, !c) {
263
+ if (null != r) for (y = {}, _ = 0; _ < l.attributes.length; _++) y[l.attributes[_].name] = l.attributes[_].value;
264
+ (v || a) && (v && (a && v.__html == a.__html || v.__html === l.innerHTML) || (l.innerHTML = v && v.__html || ""));
265
+ }
266
+
267
+ if (C(l, p, y, o, c), v) u.__k = [];else if (_ = u.props.children, w(l, Array.isArray(_) ? _ : [_], u, i, t, o && "foreignObject" !== d, r, f, r ? r[0] : i.__k && k(i, 0), c), null != r) for (_ = r.length; _--;) null != r[_] && h(r[_]);
268
+ c || ("value" in p && void 0 !== (_ = p.value) && (_ !== l.value || "progress" === d && !_ || "option" === d && _ !== y.value) && H(l, "value", _, y.value, !1), "checked" in p && void 0 !== (_ = p.checked) && _ !== l.checked && H(l, "checked", _, y.checked, !1));
269
+ }
270
+ return l;
271
+ }
272
+
273
+ function M(n, u, i) {
274
+ try {
275
+ "function" == typeof n ? n(u) : n.current = u;
276
+ } catch (n) {
277
+ l.__e(n, i);
278
+ }
279
+ }
280
+
281
+ function N(n, u, i) {
282
+ var t, o;
283
+
284
+ if (l.unmount && l.unmount(n), (t = n.ref) && (t.current && t.current !== n.__e || M(t, null, u)), null != (t = n.__c)) {
285
+ if (t.componentWillUnmount) try {
286
+ t.componentWillUnmount();
287
+ } catch (n) {
288
+ l.__e(n, u);
289
+ }
290
+ t.base = t.__P = null;
291
+ }
292
+
293
+ if (t = n.__k) for (o = 0; o < t.length; o++) t[o] && N(t[o], u, "function" != typeof n.type);
294
+ i || null == n.__e || h(n.__e), n.__e = n.__d = void 0;
295
+ }
296
+
297
+ function O(n, l, u) {
298
+ return this.constructor(n, u);
299
+ }
300
+
301
+ function S(u, i, t) {
302
+ var o, r, f;
303
+ l.__ && l.__(u, i), r = (o = "function" == typeof t) ? null : t && t.__k || i.__k, f = [], j(i, u = (!o && t || i).__k = v(d, null, [u]), r || e, e, void 0 !== i.ownerSVGElement, !o && t ? [t] : r ? null : i.firstChild ? n.call(i.childNodes) : null, f, !o && t ? t : r ? r.__e : i.firstChild, o), z(f, u);
304
+ }
305
+
306
+ function q(n, l) {
307
+ S(n, l, q);
308
+ }
309
+
310
+ function B(l, u, i) {
311
+ var t,
312
+ o,
313
+ r,
314
+ f = a({}, l.props);
315
+
316
+ for (r in u) "key" == r ? t = u[r] : "ref" == r ? o = u[r] : f[r] = u[r];
317
+
318
+ return arguments.length > 2 && (f.children = arguments.length > 3 ? n.call(arguments, 2) : i), y(l.type, f, t || l.key, o || l.ref, null);
319
+ }
320
+
321
+ function D(n, l) {
322
+ var u = {
323
+ __c: l = "__cC" + f++,
324
+ __: n,
325
+ Consumer: function Consumer(n, l) {
326
+ return n.children(l);
327
+ },
328
+ Provider: function Provider(n) {
329
+ var u, i;
330
+ return this.getChildContext || (u = [], (i = {})[l] = this, this.getChildContext = function () {
331
+ return i;
332
+ }, this.shouldComponentUpdate = function (n) {
333
+ this.props.value !== n.value && u.some(m);
334
+ }, this.sub = function (n) {
335
+ u.push(n);
336
+ var l = n.componentWillUnmount;
337
+
338
+ n.componentWillUnmount = function () {
339
+ u.splice(u.indexOf(n), 1), l && l.call(n);
340
+ };
341
+ }), n.children;
342
+ }
343
+ };
344
+ return u.Provider.__ = u.Consumer.contextType = u;
345
+ }
346
+
347
+ n = c.slice, l = {
348
+ __e: function __e(n, l, u, i) {
349
+ for (var t, o, r; l = l.__;) if ((t = l.__c) && !t.__) try {
350
+ if ((o = t.constructor) && null != o.getDerivedStateFromError && (t.setState(o.getDerivedStateFromError(n)), r = t.__d), null != t.componentDidCatch && (t.componentDidCatch(n, i || {}), r = t.__d), r) return t.__E = t;
351
+ } catch (l) {
352
+ n = l;
353
+ }
354
+
355
+ throw n;
356
+ }
357
+ }, u = 0, i = function i(n) {
358
+ return null != n && void 0 === n.constructor;
359
+ }, _.prototype.setState = function (n, l) {
360
+ var u;
361
+ u = null != this.__s && this.__s !== this.state ? this.__s : this.__s = a({}, this.state), "function" == typeof n && (n = n(a({}, u), this.props)), n && a(u, n), null != n && this.__v && (l && this.__h.push(l), m(this));
362
+ }, _.prototype.forceUpdate = function (n) {
363
+ this.__v && (this.__e = !0, n && this.__h.push(n), m(this));
364
+ }, _.prototype.render = d, t = [], o = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, g.__r = 0, f = 0;
365
+ export { S as render, q as hydrate, v as createElement, v as h, d as Fragment, p as createRef, i as isValidElement, _ as Component, B as cloneElement, D as createContext, A as toChildArray, l as options };
@@ -0,0 +1,33 @@
1
+ import { options as r, Fragment as _ } from "file:///Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/dist/preact.module.js";
2
+ export { Fragment } from "file:///Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/dist/preact.module.js";
3
+ var o = 0;
4
+
5
+ function e(_, e, n, t, f) {
6
+ var l,
7
+ s,
8
+ u = {};
9
+
10
+ for (s in e) "ref" == s ? l = e[s] : u[s] = e[s];
11
+
12
+ var a = {
13
+ type: _,
14
+ props: u,
15
+ key: n,
16
+ ref: l,
17
+ __k: null,
18
+ __: null,
19
+ __b: 0,
20
+ __e: null,
21
+ __d: void 0,
22
+ __c: null,
23
+ __h: null,
24
+ constructor: void 0,
25
+ __v: --o,
26
+ __source: f,
27
+ __self: t
28
+ };
29
+ if ("function" == typeof _ && (l = _.defaultProps)) for (s in l) void 0 === u[s] && (u[s] = l[s]);
30
+ return r.vnode && r.vnode(a), a;
31
+ }
32
+
33
+ export { e as jsx, e as jsxs, e as jsxDEV };
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "file:///Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js";
2
+ export const App = () => {
3
+ return _jsx("span", {
4
+ children: "Hello world"
5
+ });
6
+ };
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html><html original-position-stored=""><head>
2
+ <title>Title</title>
3
+ <meta charset="utf-8">
4
+ <link rel="icon" href="data:," original-href-position="4:22;4:35">
5
+ </head>
6
+
7
+ <body>
8
+ <script original-position="8:5;12:14" generated-by="jsenv:html_inline_content">window.resultPromise = new Promise(resolve => {
9
+ window.resolveResultPromise = resolve;
10
+ });</script>
11
+ <div id="app"></div>
12
+ <script type="module" original-position="14:5;16:14" generated-by="jsenv:html_inline_content">import("file:///Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-preact/test/preact_build/client/main.jsx");</script>
13
+
14
+
15
+ </body></html>