@jsenv/plugin-preact 1.2.31 → 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-preact",
3
- "version": "1.2.31",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "babel-plugin-transform-hook-names": "1.0.2",
28
- "@babel/plugin-transform-react-jsx": "7.22.3",
29
- "@babel/plugin-transform-react-jsx-development": "7.18.6",
30
- "@jsenv/ast": "4.0.3",
31
- "@jsenv/sourcemap": "1.0.10",
28
+ "@babel/plugin-transform-react-jsx": "7.22.5",
29
+ "@babel/plugin-transform-react-jsx-development": "7.22.5",
30
+ "@jsenv/ast": "5.0.0",
31
+ "@jsenv/sourcemap": "1.1.0",
32
32
  "@jsenv/url-meta": "8.1.0",
33
33
  "@prefresh/babel-plugin": "0.5.0",
34
34
  "@prefresh/core": "1.5.1",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "preact": "10.15.1",
42
- "react-redux": "8.0.7",
42
+ "react-redux": "8.1.1",
43
43
  "redux": "4.2.1"
44
44
  }
45
45
  }
@@ -53,30 +53,30 @@ export const jsenvPluginPreact = ({
53
53
  name: "jsenv:preact",
54
54
  appliesDuring: "*",
55
55
  resolveReference: {
56
- js_import: (reference, context) => {
56
+ js_import: (reference) => {
57
57
  if (
58
58
  reference.specifier === "react" ||
59
59
  reference.specifier === "react-dom"
60
60
  ) {
61
61
  reference.specifier = "preact/compat";
62
- return context.resolveReference(reference)[0].url;
62
+ // return context.resolveReference(reference).url;
63
63
  }
64
64
  return null;
65
65
  },
66
66
  },
67
67
  transformUrlContent: {
68
- html: (urlInfo, context) => {
68
+ html: (urlInfo) => {
69
69
  if (!preactDevtools) {
70
70
  return null;
71
71
  }
72
- if (context.build && preactDevtools !== "dev_and_build") {
72
+ if (urlInfo.context.build && preactDevtools !== "dev_and_build") {
73
73
  return null;
74
74
  }
75
75
  const htmlAst = parseHtmlString(urlInfo.content);
76
- const [preactDevtoolsReference] = context.referenceUtils.inject({
76
+ const preactDevtoolsReference = urlInfo.dependencies.inject({
77
77
  type: "js_import",
78
78
  expectedType: "js_module",
79
- specifier: context.dev ? "preact/debug" : "preact/devtools",
79
+ specifier: urlInfo.context.dev ? "preact/debug" : "preact/devtools",
80
80
  });
81
81
  injectHtmlNodeAsEarlyAsPossible(
82
82
  htmlAst,
@@ -90,18 +90,18 @@ export const jsenvPluginPreact = ({
90
90
  const htmlModified = stringifyHtmlAst(htmlAst);
91
91
  return { content: htmlModified };
92
92
  },
93
- js_module: async (urlInfo, context) => {
93
+ js_module: async (urlInfo) => {
94
94
  const urlMeta = URL_META.applyAssociations({
95
95
  url: urlInfo.url,
96
96
  associations,
97
97
  });
98
98
  const jsxEnabled = urlMeta.jsxTranspilation;
99
- const refreshEnabled = context.dev
99
+ const refreshEnabled = urlInfo.context.dev
100
100
  ? urlMeta.refreshInstrumentation &&
101
101
  !urlInfo.content.includes("import.meta.hot.decline()")
102
102
  : false;
103
103
  const hookNamesEnabled =
104
- context.dev &&
104
+ urlInfo.context.dev &&
105
105
  urlMeta.hookNamesInstrumentation &&
106
106
  (urlInfo.content.includes("useState") ||
107
107
  urlInfo.content.includes("useReducer") ||
@@ -112,7 +112,7 @@ export const jsenvPluginPreact = ({
112
112
  ...(jsxEnabled
113
113
  ? [
114
114
  [
115
- context.dev
115
+ urlInfo.context.dev
116
116
  ? "@babel/plugin-transform-react-jsx-development"
117
117
  : "@babel/plugin-transform-react-jsx",
118
118
  {
@@ -149,7 +149,7 @@ export const jsenvPluginPreact = ({
149
149
  let index = code.indexOf(importSpecifier);
150
150
  while (index > -1) {
151
151
  const specifier = importSpecifier.slice(1, -1);
152
- const [injectedReference] = context.referenceUtils.inject({
152
+ const injectedJsImportReference = urlInfo.dependencies.inject({
153
153
  type: "js_import",
154
154
  expectedType: "js_module",
155
155
  specifier,
@@ -157,7 +157,7 @@ export const jsenvPluginPreact = ({
157
157
  magicSource.replace({
158
158
  start: index,
159
159
  end: index + importSpecifier.length,
160
- replacement: injectedReference.generatedSpecifier,
160
+ replacement: injectedJsImportReference.generatedSpecifier,
161
161
  });
162
162
  index = code.indexOf(importSpecifier, index + 1);
163
163
  }
@@ -167,21 +167,20 @@ export const jsenvPluginPreact = ({
167
167
  const hasReg = /\$RefreshReg\$\(/.test(code);
168
168
  const hasSig = /\$RefreshSig\$\(/.test(code);
169
169
  if (hasReg || hasSig) {
170
- const [preactRefreshClientReference] =
171
- context.referenceUtils.inject({
172
- type: "js_import",
173
- expectedType: "js_module",
174
- specifier: "@jsenv/plugin-preact/src/client/preact_refresh.js",
175
- });
170
+ const preactRefreshClientReference = urlInfo.dependencies.inject({
171
+ type: "js_import",
172
+ expectedType: "js_module",
173
+ specifier: "@jsenv/plugin-preact/src/client/preact_refresh.js",
174
+ });
176
175
  magicSource.prepend(`import { installPreactRefresh } from ${
177
176
  preactRefreshClientReference.generatedSpecifier
178
- }
179
- const __preact_refresh__ = installPreactRefresh(${JSON.stringify(urlInfo.url)})
177
+ };
178
+ const __preact_refresh__ = installPreactRefresh(${JSON.stringify(urlInfo.url)});
180
179
  `);
181
180
  if (hasReg) {
182
181
  magicSource.append(`
183
- __preact_refresh__.end()
184
- import.meta.hot.accept(__preact_refresh__.acceptCallback)`);
182
+ __preact_refresh__.end();
183
+ import.meta.hot.accept(__preact_refresh__.acceptCallback);`);
185
184
  }
186
185
  }
187
186
  }