@jsenv/plugin-react 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/plugin-react",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,9 +26,9 @@
26
26
  "dependencies": {
27
27
  "@babel/plugin-transform-react-jsx": "7.22.5",
28
28
  "@babel/plugin-transform-react-jsx-development": "7.22.5",
29
- "@jsenv/ast": "4.1.0",
30
- "@jsenv/plugin-commonjs": "2.1.0",
31
- "@jsenv/sourcemap": "1.0.10",
29
+ "@jsenv/ast": "5.0.0",
30
+ "@jsenv/plugin-commonjs": "2.2.0",
31
+ "@jsenv/sourcemap": "1.1.0",
32
32
  "@jsenv/url-meta": "8.1.0",
33
33
  "react-refresh": "0.14.0"
34
34
  },
@@ -76,13 +76,13 @@ const jsenvPluginJsxAndRefresh = ({
76
76
  name: "jsenv:jsx_and_refresh",
77
77
  appliesDuring: "*",
78
78
  transformUrlContent: {
79
- js_module: async (urlInfo, context) => {
79
+ js_module: async (urlInfo) => {
80
80
  const urlMeta = URL_META.applyAssociations({
81
81
  url: urlInfo.url,
82
82
  associations,
83
83
  });
84
84
  const jsxEnabled = urlMeta.jsxTranspilation;
85
- const refreshEnabled = context.dev
85
+ const refreshEnabled = urlInfo.context.dev
86
86
  ? urlMeta.refreshInstrumentation &&
87
87
  !urlInfo.content.includes("import.meta.hot.decline()")
88
88
  : false;
@@ -90,7 +90,7 @@ const jsenvPluginJsxAndRefresh = ({
90
90
  ...(jsxEnabled
91
91
  ? [
92
92
  [
93
- context.dev
93
+ urlInfo.context.dev
94
94
  ? "@babel/plugin-transform-react-jsx-development"
95
95
  : "@babel/plugin-transform-react-jsx",
96
96
  {
@@ -129,7 +129,7 @@ const jsenvPluginJsxAndRefresh = ({
129
129
  let index = code.indexOf(importSpecifier);
130
130
  while (index > -1) {
131
131
  const specifier = importSpecifier.slice(1, -1);
132
- const [injectedReference] = context.referenceUtils.inject({
132
+ const injectedJsImportReference = urlInfo.dependencies.inject({
133
133
  type: "js_import",
134
134
  expectedType: "js_module",
135
135
  specifier,
@@ -137,7 +137,7 @@ const jsenvPluginJsxAndRefresh = ({
137
137
  magicSource.replace({
138
138
  start: index,
139
139
  end: index + importSpecifier.length,
140
- replacement: injectedReference.generatedSpecifier,
140
+ replacement: injectedJsImportReference.generatedSpecifier,
141
141
  });
142
142
  index = code.indexOf(importSpecifier, index + 1);
143
143
  }
@@ -147,22 +147,20 @@ const jsenvPluginJsxAndRefresh = ({
147
147
  const hasReg = /\$RefreshReg\$\(/.test(code);
148
148
  const hasSig = /\$RefreshSig\$\(/.test(code);
149
149
  if (hasReg || hasSig) {
150
- const [reactRefreshClientReference] = context.referenceUtils.inject(
151
- {
152
- type: "js_import",
153
- expectedType: "js_module",
154
- specifier: "@jsenv/plugin-react/src/client/react_refresh.js",
155
- },
156
- );
150
+ const reactRefreshClientReference = urlInfo.dependencies.inject({
151
+ type: "js_import",
152
+ expectedType: "js_module",
153
+ specifier: "@jsenv/plugin-react/src/client/react_refresh.js",
154
+ });
157
155
  magicSource.prepend(`import { installReactRefresh } from ${
158
156
  reactRefreshClientReference.generatedSpecifier
159
157
  }
160
- const __react_refresh__ = installReactRefresh(${JSON.stringify(urlInfo.url)})
158
+ const __react_refresh__ = installReactRefresh(${JSON.stringify(urlInfo.url)});
161
159
  `);
162
160
  if (hasReg) {
163
161
  magicSource.append(`
164
- __react_refresh__.end()
165
- import.meta.hot.accept(__react_refresh__.acceptCallback)`);
162
+ __react_refresh__.end();
163
+ import.meta.hot.accept(__react_refresh__.acceptCallback);`);
166
164
  }
167
165
  }
168
166
  }
@@ -15,9 +15,9 @@ export const jsenvPluginReactRefreshPreamble = () => {
15
15
  name: "jsenv:react_refresh_preamble",
16
16
  appliesDuring: "dev",
17
17
  transformUrlContent: {
18
- html: (urlInfo, context) => {
18
+ html: (urlInfo) => {
19
19
  const htmlAst = parseHtmlString(urlInfo.content);
20
- const [reactRefreshPreambleReference] = context.referenceUtils.inject({
20
+ const reactRefreshPreambleReference = urlInfo.dependencies.inject({
21
21
  type: "script",
22
22
  subtype: "js_module",
23
23
  expectedType: "js_module",