@jsenv/plugin-react 0.0.1

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 (164) hide show
  1. package/main.js +1 -0
  2. package/package.json +39 -0
  3. package/script/test/test.mjs +14 -0
  4. package/src/client/react_refresh.js +33 -0
  5. package/src/client/react_refresh_preamble.js +22 -0
  6. package/src/jsenv_plugin_react.js +190 -0
  7. package/src/jsenv_plugin_react_refresh_preamble.js +39 -0
  8. package/test/react_build/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js +2438 -0
  9. package/test/react_build/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.js +1332 -0
  10. package/test/react_build/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js +27173 -0
  11. package/test/react_build/client/.jsenv/build/app.jsx +6 -0
  12. package/test/react_build/client/.jsenv/build/main.html +15 -0
  13. package/test/react_build/client/.jsenv/build/main.html@L14-L16.js +1 -0
  14. package/test/react_build/client/.jsenv/build/main.html@L8-L12.js +3 -0
  15. package/test/react_build/client/.jsenv/build/main.jsx +22 -0
  16. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js +2482 -0
  17. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js__compile_info__.json +22 -0
  18. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.map +1 -0
  19. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.js +1347 -0
  20. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.js__compile_info__.json +22 -0
  21. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.map +1 -0
  22. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js +27410 -0
  23. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js__compile_info__.json +38 -0
  24. package/test/react_build/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.map +1 -0
  25. package/test/react_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/test/react_build/dist/js/app.es5.js +17 -0
  26. package/test/react_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/test/react_build/dist/js/main.es5.js +30944 -0
  27. package/test/react_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/test/react_build/dist/js/main.html@L14-L16.es5.js +10 -0
  28. package/test/react_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/test/react_build/dist/js/s.js +777 -0
  29. package/test/react_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/test/react_build/dist/main.html +25 -0
  30. package/test/react_build/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/test/react_build/dist/main.html@L8-L12.js +3 -0
  31. package/test/react_build/client/app.jsx +3 -0
  32. package/test/react_build/client/main.html +20 -0
  33. package/test/react_build/client/main.jsx +9 -0
  34. package/test/react_build/dist/asset-manifest.json +8 -0
  35. package/test/react_build/dist/js/app.es5.js +17 -0
  36. package/test/react_build/dist/js/main.es5.js +30944 -0
  37. package/test/react_build/dist/js/s.js +777 -0
  38. package/test/react_build/dist/main.html +35 -0
  39. package/test/react_build/react_build.test.mjs +57 -0
  40. package/test/react_refresh/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js +2438 -0
  41. package/test/react_refresh/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.js +1332 -0
  42. package/test/react_refresh/client/.jsenv/build/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js +27165 -0
  43. package/test/react_refresh/client/.jsenv/build/app.jsx +24 -0
  44. package/test/react_refresh/client/.jsenv/build/index.html +12 -0
  45. package/test/react_refresh/client/.jsenv/build/main.jsx +8 -0
  46. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js +2482 -0
  47. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js__compile_info__.json +21 -0
  48. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.map +1 -0
  49. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-dev-runtime.js +1328 -0
  50. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-dev-runtime.js__compile_info__.json +21 -0
  51. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-dev-runtime.map +1 -0
  52. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.js +1347 -0
  53. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.js__compile_info__.json +22 -0
  54. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-runtime.map +1 -0
  55. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js +27410 -0
  56. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js__compile_info__.json +37 -0
  57. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.map +1 -0
  58. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-refresh/runtime.js +694 -0
  59. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-refresh/runtime.js__compile_info__.json +17 -0
  60. package/test/react_refresh/client/.jsenv/cjs_to_esm/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-refresh/runtime.map +1 -0
  61. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/plugin-preact/src/client/preact_refresh.js +38 -0
  62. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/plugin-preact/src/client/preact_refresh.js.map +9 -0
  63. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/plugin-react/src/client/react_refresh.js +35 -0
  64. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/plugin-react/src/client/react_refresh.js.map +27 -0
  65. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/index.js +3 -0
  66. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/index.js.map +9 -0
  67. package/test/react_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
  68. package/test/react_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
  69. package/test/react_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
  70. package/test/react_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
  71. package/test/react_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
  72. package/test/react_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
  73. package/test/react_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
  74. package/test/react_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
  75. package/test/react_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
  76. package/test/react_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
  77. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@jsenv/uneval/src/uneval.js +212 -0
  78. package/test/react_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
  79. package/test/react_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
  80. package/test/react_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
  81. package/test/react_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
  82. package/test/react_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
  83. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/computeKey.js +38 -0
  84. package/test/react_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
  85. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/constants.js +13 -0
  86. package/test/react_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
  87. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/core/src/index.js +206 -0
  88. package/test/react_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
  89. package/test/react_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
  90. package/test/react_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
  91. package/test/react_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
  92. package/test/react_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
  93. package/test/react_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
  94. package/test/react_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
  95. package/test/react_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
  96. package/test/react_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
  97. package/test/react_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
  98. package/test/react_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
  99. package/test/react_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
  100. package/test/react_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
  101. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/@prefresh/utils/src/index.js +43 -0
  102. package/test/react_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
  103. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/compat/dist/compat.module.js +408 -0
  104. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/compat/dist/compat.module.js.map +229 -0
  105. package/test/react_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
  106. package/test/react_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
  107. package/test/react_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
  108. package/test/react_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
  109. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/preact/dist/preact.module.js +2 -0
  110. package/test/react_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
  111. package/test/react_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
  112. package/test/react_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
  113. package/test/react_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
  114. package/test/react_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
  115. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js +2484 -0
  116. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/index.js.map +19 -0
  117. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-dev-runtime.js +1330 -0
  118. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react/jsx-dev-runtime.js.map +13 -0
  119. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js +27412 -0
  120. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-dom/index.js.map +19 -0
  121. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-refresh/runtime.js +696 -0
  122. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/node_modules/react-refresh/runtime.js.map +16 -0
  123. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/src/client/react_refresh.js +35 -0
  124. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/src/client/react_refresh.js.map +9 -0
  125. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/src/client/react_refresh_preamble.js +24 -0
  126. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/@fs/Users/d.maillard/dev/jsenv/jsenv-core/packages/jsenv-plugin-react/src/client/react_refresh_preamble.js.map +9 -0
  127. package/test/react_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
  128. package/test/react_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
  129. package/test/react_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
  130. package/test/react_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
  131. package/test/react_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
  132. package/test/react_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
  133. package/test/react_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
  134. package/test/react_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
  135. package/test/react_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
  136. package/test/react_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
  137. package/test/react_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
  138. package/test/react_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
  139. package/test/react_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
  140. package/test/react_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
  141. package/test/react_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
  142. package/test/react_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
  143. package/test/react_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
  144. package/test/react_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
  145. package/test/react_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
  146. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/app.jsx +58 -0
  147. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/app.jsx.map +16 -0
  148. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/count_label.jsx +29 -0
  149. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/count_label.jsx.map +13 -0
  150. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/main.html +26 -0
  151. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/main.html@L3-L8.js +7 -0
  152. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/main.html@L3-L8.js.map +12 -0
  153. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/main.html@L9-L11.js +4 -0
  154. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/main.html@L9-L11.js.map +12 -0
  155. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/main.jsx +16 -0
  156. package/test/react_refresh/client/.jsenv/dev/chrome@101.00/main.jsx.map +18 -0
  157. package/test/react_refresh/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/test/dev_server/react_and_autoreload/dist/index.html +12 -0
  158. package/test/react_refresh/client/.jsenv/postbuild/@fs/Users/d.maillard/dev/jsenv/jsenv-core/test/dev_server/react_and_autoreload/dist/js/main.js +30952 -0
  159. package/test/react_refresh/client/app.jsx +29 -0
  160. package/test/react_refresh/client/count_label.jsx +7 -0
  161. package/test/react_refresh/client/main.html +13 -0
  162. package/test/react_refresh/client/main.jsx +8 -0
  163. package/test/react_refresh/react_refresh.test.mjs +93 -0
  164. package/test/react_refresh/react_refresh.test_manual.mjs +26 -0
package/main.js ADDED
@@ -0,0 +1 @@
1
+ export { jsenvPluginReact } from "./src/jsenv_plugin_react.js"
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@jsenv/plugin-react",
3
+ "version": "0.0.1",
4
+ "license": "MIT",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/jsenv/jsenv-core",
8
+ "directory": "packages/jsenv-plugin-react"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public",
12
+ "registry": "https://registry.npmjs.org"
13
+ },
14
+ "type": "module",
15
+ "exports": {
16
+ ".": {
17
+ "import": "./main.js"
18
+ },
19
+ "./*": "./*"
20
+ },
21
+ "scripts": {
22
+ "test": "node ./script/test/test.mjs"
23
+ },
24
+ "dependencies": {
25
+ "@jsenv/cjs-to-esm": "0.0.2",
26
+ "@babel/plugin-transform-react-jsx": "7.17.3",
27
+ "@jsenv/url-meta": "6.2.0",
28
+ "@jsenv/utils": "1.5.0"
29
+ },
30
+ "devDependencies": {
31
+ "@babel/plugin-transform-react-jsx-development": "7.16.7",
32
+ "@jsenv/assert": "2.5.4",
33
+ "@jsenv/core": "../../",
34
+ "playwright": "1.20.2",
35
+ "react": "17.0.2",
36
+ "react-dom": "17.0.2",
37
+ "react-refresh": "0.13.0"
38
+ }
39
+ }
@@ -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
+ })
@@ -0,0 +1,33 @@
1
+ /* globals self */
2
+
3
+ import RefreshRuntime from "react-refresh"
4
+
5
+ export const installReactRefresh = (url) => {
6
+ if (!self.__react_refresh_installed__) {
7
+ throw new Error("react refresh not installed")
8
+ }
9
+
10
+ let prevRefreshReg
11
+ let prevRefreshSig
12
+ prevRefreshReg = self.$RefreshReg$
13
+ prevRefreshSig = self.$RefreshSig$
14
+ self.$RefreshReg$ = (type, id) => {
15
+ RefreshRuntime.register(type, `${url} ${id}`)
16
+ }
17
+ self.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform
18
+
19
+ return {
20
+ end: () => {
21
+ self.$RefreshReg$ = prevRefreshReg
22
+ self.$RefreshSig$ = prevRefreshSig
23
+ },
24
+ acceptCallback: () => {
25
+ if (!self.__react_refresh_timeout__) {
26
+ self.__react_refresh_timeout__ = setTimeout(() => {
27
+ self.__react_refresh_timeout__ = 0
28
+ RefreshRuntime.performReactRefresh()
29
+ }, 30)
30
+ }
31
+ },
32
+ }
33
+ }
@@ -0,0 +1,22 @@
1
+ /* globals self */
2
+
3
+ import RefreshRuntime from "react-refresh"
4
+
5
+ // see https://github.com/vitejs/vite/blob/0858450b2a258b216ae9aa797cc02e9a0d4eb0af/packages/plugin-react/src/fast-refresh.ts#L29-L35
6
+ RefreshRuntime.injectIntoGlobalHook(self)
7
+ self.$RefreshReg$ = () => {}
8
+ self.$RefreshSig$ = () => (type) => type
9
+ const debounce = (fn, delay) => {
10
+ let handle
11
+ return () => {
12
+ clearTimeout(handle)
13
+ handle = setTimeout(fn, delay)
14
+ }
15
+ }
16
+ // see https://github.com/vitejs/vite/blob/0858450b2a258b216ae9aa797cc02e9a0d4eb0af/packages/plugin-react/src/fast-refresh.ts#L16-L26
17
+ RefreshRuntime.performReactRefresh = debounce(
18
+ RefreshRuntime.performReactRefresh,
19
+ 16,
20
+ )
21
+
22
+ self.__react_refresh_installed__ = true
@@ -0,0 +1,190 @@
1
+ /*
2
+ * - https://github.com/vitejs/vite/blob/main/packages/plugin-react/src/index.ts
3
+ */
4
+
5
+ import { normalizeStructuredMetaMap, urlToMeta } from "@jsenv/url-meta"
6
+
7
+ import { applyBabelPlugins } from "@jsenv/utils/js_ast/apply_babel_plugins.js"
8
+ import { createMagicSource } from "@jsenv/utils/sourcemap/magic_source.js"
9
+ import { composeTwoSourcemaps } from "@jsenv/utils/sourcemap/sourcemap_composition_v3.js"
10
+ import { injectQueryParams } from "@jsenv/utils/urls/url_utils.js"
11
+ import { commonJsToJsModule } from "@jsenv/cjs-to-esm"
12
+ import { fetchOriginalUrlInfo } from "@jsenv/core/src/plugins/transpilation/fetch_original_url_info.js"
13
+
14
+ import { jsenvPluginReactRefreshPreamble } from "./jsenv_plugin_react_refresh_preamble.js"
15
+
16
+ export const jsenvPluginReact = ({ hotRefreshPatterns } = {}) => {
17
+ return [
18
+ jsenvPluginReactAsJsModule(),
19
+ jsenvPluginReactRefreshPreamble(),
20
+ jsenvPluginJsxAndRefresh({
21
+ hotRefreshPatterns,
22
+ }),
23
+ ]
24
+ }
25
+
26
+ const jsenvPluginReactAsJsModule = () => {
27
+ return {
28
+ name: "jsenv:react_as_js_module",
29
+ appliesDuring: "*",
30
+ normalizeUrl: {
31
+ js_import_export: (reference) => {
32
+ if (
33
+ [
34
+ "react",
35
+ "react-dom",
36
+ "react/jsx-runtime",
37
+ "react/jsx-dev-runtime",
38
+ "react-refresh",
39
+ ].includes(reference.specifier)
40
+ ) {
41
+ return injectQueryParams(reference.url, {
42
+ react_as_js_module: "",
43
+ })
44
+ }
45
+ return null
46
+ },
47
+ },
48
+ fetchUrlContent: async (urlInfo, context) => {
49
+ const originalUrlInfo = await fetchOriginalUrlInfo({
50
+ urlInfo,
51
+ context,
52
+ searchParam: "react_as_js_module",
53
+ // during this fetch we don't want to alter the original file
54
+ // so we consider it as text
55
+ expectedType: "text",
56
+ })
57
+ if (!originalUrlInfo) {
58
+ return null
59
+ }
60
+ const { content, sourcemap } = await commonJsToJsModule({
61
+ rootDirectoryUrl: context.rootDirectoryUrl,
62
+ sourceFileUrl: originalUrlInfo.url,
63
+ external: ["react"],
64
+ })
65
+ return {
66
+ type: "js_module",
67
+ contentType: "text/javascript",
68
+ content,
69
+ sourcemap,
70
+ }
71
+ },
72
+ }
73
+ }
74
+
75
+ const jsenvPluginJsxAndRefresh = ({
76
+ jsxPatterns = {
77
+ "./**/*.jsx": true,
78
+ "./**/*.tsx": true,
79
+ "./**/node_modules/": false,
80
+ },
81
+ refreshPatterns = {
82
+ "./**/*.jsx": true,
83
+ "./**/*.tsx": true,
84
+ "./**/node_modules/": false,
85
+ },
86
+ }) => {
87
+ const structuredMetaMap = normalizeStructuredMetaMap(
88
+ {
89
+ jsx: jsxPatterns,
90
+ refresh: refreshPatterns,
91
+ hookNames: {
92
+ "./**/*": true,
93
+ "./**/node_modules": false,
94
+ },
95
+ },
96
+ "file://",
97
+ )
98
+
99
+ return {
100
+ name: "jsenv:jsx_and_refresh",
101
+ appliesDuring: "*",
102
+ transformUrlContent: {
103
+ js_module: async (urlInfo, { scenario, referenceUtils }) => {
104
+ const urlMeta = urlToMeta({ url: urlInfo.url, structuredMetaMap })
105
+ const jsxEnabled = urlMeta.jsx
106
+ const refreshEnabled = scenario === "dev" ? urlMeta.refresh : false
107
+ const babelPlugins = [
108
+ ...(jsxEnabled
109
+ ? [
110
+ [
111
+ scenario === "dev"
112
+ ? "@babel/plugin-transform-react-jsx-development"
113
+ : "@babel/plugin-transform-react-jsx",
114
+ {
115
+ runtime: "automatic",
116
+ importSource: "react",
117
+ },
118
+ ],
119
+ ]
120
+ : []),
121
+ ...(refreshEnabled
122
+ ? [["react-refresh/babel", { skipEnvCheck: true }]]
123
+ : []),
124
+ ]
125
+ const { code, map } = await applyBabelPlugins({
126
+ babelPlugins,
127
+ urlInfo,
128
+ })
129
+ const magicSource = createMagicSource(code)
130
+ if (jsxEnabled) {
131
+ // "@babel/plugin-transform-react-jsx" is injecting some of these 3 imports into the code:
132
+ // 1. import { jsx } from "react/jsx-runtime"
133
+ // 2. import { jsxDev } from "react/jsx-dev-runtime"
134
+ // 3. import { createElement } from "react"
135
+ // see https://github.com/babel/babel/blob/410c9acf1b9212cac69d50b5bb2015b9f372acc4/packages/babel-plugin-transform-react-jsx/src/create-plugin.ts#L743-L755
136
+ // "@babel/plugin-transform-react-jsx" cannot be configured to inject what we want
137
+ // but that's fine we can still replace these imports afterwards as done below
138
+ const injectedSpecifiers = [
139
+ `"react"`,
140
+ `"react/jsx-dev-runtime"`,
141
+ `"react/jsx-runtime"`,
142
+ ]
143
+ for (const importSpecifier of injectedSpecifiers) {
144
+ let index = code.indexOf(importSpecifier)
145
+ while (index > -1) {
146
+ const specifier = importSpecifier.slice(1, -1)
147
+ const [injectedReference] = referenceUtils.inject({
148
+ type: "js_import_export",
149
+ expectedType: "js_module",
150
+ specifier,
151
+ })
152
+ magicSource.replace({
153
+ start: index,
154
+ end: index + importSpecifier.length,
155
+ replacement: injectedReference.generatedSpecifier,
156
+ })
157
+ index = code.indexOf(importSpecifier, index + 1)
158
+ }
159
+ }
160
+ }
161
+ if (refreshEnabled) {
162
+ const hasReg = /\$RefreshReg\$\(/.test(code)
163
+ const hasSig = /\$RefreshSig\$\(/.test(code)
164
+ if (hasReg || hasSig) {
165
+ const [reactRefreshClientReference] = referenceUtils.inject({
166
+ type: "js_import_export",
167
+ expectedType: "js_module",
168
+ specifier: "@jsenv/plugin-react/src/client/react_refresh.js",
169
+ })
170
+ magicSource.prepend(`import { installReactRefresh } from ${
171
+ reactRefreshClientReference.generatedSpecifier
172
+ }
173
+ const __react_refresh__ = installReactRefresh(${JSON.stringify(urlInfo.url)})
174
+ `)
175
+ if (hasReg) {
176
+ magicSource.append(`
177
+ __react_refresh__.end()
178
+ import.meta.hot.accept(__react_refresh__.acceptCallback)`)
179
+ }
180
+ }
181
+ }
182
+ const result = magicSource.toContentAndSourcemap()
183
+ return {
184
+ content: result.content,
185
+ sourcemap: await composeTwoSourcemaps(map, result.sourcemap),
186
+ }
187
+ },
188
+ },
189
+ }
190
+ }
@@ -0,0 +1,39 @@
1
+ import {
2
+ parseHtmlString,
3
+ stringifyHtmlAst,
4
+ injectScriptAsEarlyAsPossible,
5
+ createHtmlNode,
6
+ } from "@jsenv/utils/html_ast/html_ast.js"
7
+
8
+ export const jsenvPluginReactRefreshPreamble = () => {
9
+ const reactRefreshPreambleClientFileUrl = new URL(
10
+ "./client/react_refresh_preamble.js",
11
+ import.meta.url,
12
+ ).href
13
+
14
+ return {
15
+ name: "jsenv:react_refresh_preamble",
16
+ appliesDuring: { dev: true },
17
+ transformUrlContent: {
18
+ html: (urlInfo, context) => {
19
+ const htmlAst = parseHtmlString(urlInfo.content)
20
+ const [reactRefreshPreambleReference] = context.referenceUtils.inject({
21
+ type: "script_src",
22
+ expectedType: "js_module",
23
+ specifier: reactRefreshPreambleClientFileUrl,
24
+ })
25
+ injectScriptAsEarlyAsPossible(
26
+ htmlAst,
27
+ createHtmlNode({
28
+ "tagName": "script",
29
+ "type": "module",
30
+ "src": reactRefreshPreambleReference.generatedSpecifier,
31
+ "injected-by": "jsenv:react_refresh_preamble",
32
+ }),
33
+ )
34
+ const htmlModified = stringifyHtmlAst(htmlAst)
35
+ return htmlModified
36
+ },
37
+ },
38
+ }
39
+ }