@jsenv/plugin-preact 0.0.2 → 0.0.5
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/{index.js → main.js} +0 -0
- package/package.json +9 -3
- package/src/jsenv_plugin_preact.js +11 -13
package/{index.js → main.js}
RENAMED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsenv/plugin-preact",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/jsenv/jsenv-core",
|
|
8
|
-
"directory": "packages/plugin-preact"
|
|
8
|
+
"directory": "packages/jsenv-plugin-preact"
|
|
9
9
|
},
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public",
|
|
12
12
|
"registry": "https://registry.npmjs.org"
|
|
13
13
|
},
|
|
14
14
|
"type": "module",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"import": "./main.js"
|
|
18
|
+
},
|
|
19
|
+
"./*": "./*"
|
|
20
|
+
},
|
|
15
21
|
"dependencies": {
|
|
16
22
|
"@babel/plugin-transform-react-jsx": "7.17.3",
|
|
17
|
-
"@jsenv/utils": "1.
|
|
23
|
+
"@jsenv/utils": "1.2.1",
|
|
18
24
|
"@jsenv/url-meta": "6.2.0"
|
|
19
25
|
},
|
|
20
26
|
"devDependencies": {
|
|
@@ -36,19 +36,19 @@ export const jsenvPluginPreact = ({
|
|
|
36
36
|
return {
|
|
37
37
|
name: "jsenv:preact",
|
|
38
38
|
appliesDuring: "*",
|
|
39
|
-
|
|
40
|
-
js_import_export: (reference,
|
|
39
|
+
resolveUrl: {
|
|
40
|
+
js_import_export: (reference, context) => {
|
|
41
41
|
if (
|
|
42
42
|
reference.specifier === "react" ||
|
|
43
43
|
reference.specifier === "react-dom"
|
|
44
44
|
) {
|
|
45
45
|
reference.specifier = "preact/compat"
|
|
46
|
-
return resolveReference(reference).url
|
|
46
|
+
return context.resolveReference(reference).url
|
|
47
47
|
}
|
|
48
48
|
return null
|
|
49
49
|
},
|
|
50
50
|
},
|
|
51
|
-
|
|
51
|
+
transformUrlContent: {
|
|
52
52
|
html: ({ content }, { scenario, referenceUtils }) => {
|
|
53
53
|
if (!preactDevtoolsDuringBuild && scenario === "build") {
|
|
54
54
|
return null
|
|
@@ -56,6 +56,7 @@ export const jsenvPluginPreact = ({
|
|
|
56
56
|
const htmlAst = parseHtmlString(content)
|
|
57
57
|
const [preactDevtoolsReference] = referenceUtils.inject({
|
|
58
58
|
type: "js_import_export",
|
|
59
|
+
expectedType: "js_module",
|
|
59
60
|
specifier:
|
|
60
61
|
scenario === "dev" || scenario === "test"
|
|
61
62
|
? "preact/debug"
|
|
@@ -75,10 +76,7 @@ import ${preactDevtoolsReference.generatedSpecifier}
|
|
|
75
76
|
const htmlModified = stringifyHtmlAst(htmlAst)
|
|
76
77
|
return { content: htmlModified }
|
|
77
78
|
},
|
|
78
|
-
js_module: async (
|
|
79
|
-
{ url, generatedUrl, content },
|
|
80
|
-
{ scenario, referenceUtils },
|
|
81
|
-
) => {
|
|
79
|
+
js_module: async (urlInfo, { scenario, referenceUtils }) => {
|
|
82
80
|
// case "Fragment":
|
|
83
81
|
// return `${source}/${development ? "jsx-dev-runtime" : "jsx-runtime"}`;
|
|
84
82
|
// case "jsxDEV":
|
|
@@ -89,7 +87,7 @@ import ${preactDevtoolsReference.generatedSpecifier}
|
|
|
89
87
|
// case "createElement":
|
|
90
88
|
// return source;
|
|
91
89
|
const prefreshEnabled =
|
|
92
|
-
scenario === "dev" ? shouldEnablePrefresh(url) : false
|
|
90
|
+
scenario === "dev" ? shouldEnablePrefresh(urlInfo.url) : false
|
|
93
91
|
const hookNamesEnabled = scenario === "dev"
|
|
94
92
|
const { code, map } = await applyBabelPlugins({
|
|
95
93
|
babelPlugins: [
|
|
@@ -105,9 +103,7 @@ import ${preactDevtoolsReference.generatedSpecifier}
|
|
|
105
103
|
...(hookNamesEnabled ? ["babel-plugin-transform-hook-names"] : []),
|
|
106
104
|
...(prefreshEnabled ? ["@prefresh/babel-plugin"] : []),
|
|
107
105
|
],
|
|
108
|
-
|
|
109
|
-
generatedUrl,
|
|
110
|
-
content,
|
|
106
|
+
urlInfo,
|
|
111
107
|
})
|
|
112
108
|
const magicSource = createMagicSource(code)
|
|
113
109
|
// When a plugin wants to inject import, it must use "generatedSpecifier" returned by "addReference":
|
|
@@ -138,6 +134,7 @@ import ${preactDevtoolsReference.generatedSpecifier}
|
|
|
138
134
|
end: index + importSpecifier.length,
|
|
139
135
|
replacement: referenceUtils.inject({
|
|
140
136
|
type: "js_import_export",
|
|
137
|
+
expectedType: "js_module",
|
|
141
138
|
specifier: importSpecifier.slice(1, -1),
|
|
142
139
|
}).generatedSpecifier,
|
|
143
140
|
})
|
|
@@ -149,12 +146,13 @@ import ${preactDevtoolsReference.generatedSpecifier}
|
|
|
149
146
|
if (hasReg || hasSig) {
|
|
150
147
|
const prefreshClientFileReference = referenceUtils.inject({
|
|
151
148
|
type: "js_import_export",
|
|
149
|
+
expectedType: "js_module",
|
|
152
150
|
specifier: "@jsenv/plugin-preact/src/client/prefresh.js",
|
|
153
151
|
})
|
|
154
152
|
magicSource.prepend(`import { installPrefresh } from ${
|
|
155
153
|
prefreshClientFileReference.generatedSpecifier
|
|
156
154
|
}
|
|
157
|
-
const __prefresh__ = installPrefresh(${JSON.stringify(url)})
|
|
155
|
+
const __prefresh__ = installPrefresh(${JSON.stringify(urlInfo.url)})
|
|
158
156
|
`)
|
|
159
157
|
if (hasReg) {
|
|
160
158
|
magicSource.append(`
|