@jsenv/plugin-preact 0.0.1 → 0.0.4

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.
File without changes
package/package.json CHANGED
@@ -1,20 +1,26 @@
1
1
  {
2
2
  "name": "@jsenv/plugin-preact",
3
- "version": "0.0.1",
3
+ "version": "0.0.4",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/jsenv/jsenv-core",
8
- "directory": "packages/node-esm-resolution"
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.0.0",
23
+ "@jsenv/utils": "1.2.0",
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
- resolve: {
40
- js_import_export: (reference, { resolveReference }) => {
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
- transform: {
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
- url,
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(`