vite-plugin-vanjs 0.1.1 → 0.1.3
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/README.md +1 -1
- package/package.json +3 -3
- package/plugin/index.mjs +95 -47
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/vite-plugin-vanjs)
|
|
6
6
|
[](http://npm-stat.com/charts.html?package=vite-plugin-vanjs)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
|
-
[](https://github.com/vanjs-org/van)
|
|
9
9
|
[](https://github.com/vanjs-org/mini-van-plate)
|
|
10
10
|
[](https://www.vitest.dev/)
|
|
11
11
|
[](https://vite.dev)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-vanjs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"author": "thednp",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A mini meta-framework for VanJS powered by Vite",
|
|
@@ -83,11 +83,11 @@
|
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"csstype": "^3.1.3",
|
|
85
85
|
"mini-van-plate": "^0.6.3",
|
|
86
|
-
"vanjs-core": "^1.5.
|
|
86
|
+
"vanjs-core": "^1.5.5",
|
|
87
87
|
"vanjs-ext": "^0.6.2"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@types/node": "^22.15.
|
|
90
|
+
"@types/node": "^22.15.3",
|
|
91
91
|
"@vitest/browser": "^3.1.2",
|
|
92
92
|
"@vitest/coverage-istanbul": "^3.1.2",
|
|
93
93
|
"@vitest/ui": "^3.1.2",
|
package/plugin/index.mjs
CHANGED
|
@@ -19,6 +19,49 @@ const pluginDefaults = {
|
|
|
19
19
|
extensions: [".tsx", ".jsx", ".ts", ".js"],
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
+
// Aliases coming from plugin.config()
|
|
23
|
+
// const resolvedVan = toAbsolute("../setup/van");
|
|
24
|
+
// const resolvedVanX = toAbsolute("../setup/vanX");
|
|
25
|
+
// const resolvedSetup = toAbsolute("../setup/index");
|
|
26
|
+
|
|
27
|
+
// Define module mapping configuration
|
|
28
|
+
const moduleAliases = {
|
|
29
|
+
// Core modules
|
|
30
|
+
"@vanjs/van": "../setup/van",
|
|
31
|
+
// [resolvedVan]: "../setup/van",
|
|
32
|
+
"@vanjs/vanX": "../setup/vanX",
|
|
33
|
+
// [resolvedVanX]: "../setup/vanX",
|
|
34
|
+
|
|
35
|
+
// Setup modules
|
|
36
|
+
"@vanjs/setup": "../setup/index",
|
|
37
|
+
// [resolvedSetup]: "../setup/index",
|
|
38
|
+
|
|
39
|
+
// Other modules
|
|
40
|
+
"@vanjs/client": "../client",
|
|
41
|
+
"@vanjs/server": "../server",
|
|
42
|
+
"@vanjs/meta": "../meta",
|
|
43
|
+
"@vanjs/router": "../router",
|
|
44
|
+
"@vanjs/jsx": "../jsx",
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// SSR specific module mappings
|
|
48
|
+
const ssrModuleAliases = {
|
|
49
|
+
"@vanjs/van": "../setup/van-ssr",
|
|
50
|
+
// [resolvedVan]: "../setup/van-ssr",
|
|
51
|
+
"@vanjs/vanX": "../setup/vanX-ssr",
|
|
52
|
+
// [resolvedVanX]: "../setup/vanX-ssr",
|
|
53
|
+
"@vanjs/setup": "../setup/index-ssr",
|
|
54
|
+
// [resolvedSetup]: "../setup/index-ssr",
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// Debug specific module mappings (development only)
|
|
58
|
+
const debugModuleAliases = {
|
|
59
|
+
"@vanjs/van": "../setup/van-debug",
|
|
60
|
+
// [resolvedVan]: "../setup/van-debug",
|
|
61
|
+
"@vanjs/setup": "../setup/index-debug",
|
|
62
|
+
// [resolvedSetup]: "../setup/index-debug",
|
|
63
|
+
};
|
|
64
|
+
|
|
22
65
|
export default function VitePluginVanJS(options = {}) {
|
|
23
66
|
const pluginConfig = { ...pluginDefaults, ...options };
|
|
24
67
|
const { routesDir } = pluginConfig;
|
|
@@ -101,62 +144,67 @@ export default function VitePluginVanJS(options = {}) {
|
|
|
101
144
|
server.watcher.on("change", changeHandler);
|
|
102
145
|
},
|
|
103
146
|
/** @type {(source: string, importer: string | undefined, ops: { ssr: boolean }) => string | null} */
|
|
104
|
-
resolveId(source, importer,
|
|
105
|
-
//
|
|
147
|
+
resolveId(source, importer, { ssr }) {
|
|
148
|
+
// Handle virtual module
|
|
106
149
|
if (source === virtualModuleId) {
|
|
107
150
|
return resolvedVirtualModuleId;
|
|
108
151
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const isSetupFile = importer &&
|
|
112
|
-
/vite-plugin-vanjs[\/\\]setup/.test(importer);
|
|
152
|
+
|
|
153
|
+
// Get the appropriate module aliases based on environment
|
|
113
154
|
const isProduction = process.env.NODE_ENV === "production";
|
|
114
155
|
const isTest = process.env.NODE_ENV === "test";
|
|
115
|
-
const
|
|
116
|
-
importer
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
156
|
+
const isSetupFile = typeof importer === "string" &&
|
|
157
|
+
importer.includes("vite-plugin-vanjs/setup");
|
|
158
|
+
// const isVanXFile = typeof importer === "string" &&
|
|
159
|
+
// importer.includes("vanjs-ext/src/van-x");
|
|
160
|
+
const isImportedVanXFile = typeof importer === "string" &&
|
|
161
|
+
importer.includes("vite-plugin-vanjs/setup/vanX");
|
|
162
|
+
// const isImportedVanFile = !isImportedVanXFile && typeof importer === "string" &&
|
|
163
|
+
// importer.includes("vite-plugin-vanjs/setup/van");
|
|
164
|
+
// const isImportedSetupFile = typeof importer === "string" &&
|
|
165
|
+
// importer.includes("vite-plugin-vanjs/setup/index");
|
|
166
|
+
const isResolvedVanXFile = source.includes(
|
|
167
|
+
"vite-plugin-vanjs/setup/vanX",
|
|
126
168
|
);
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
? "../setup/index.mjs"
|
|
132
|
-
: "../setup/index-debug.mjs",
|
|
169
|
+
const isResolvedVanFile = !isResolvedVanXFile &&
|
|
170
|
+
source.includes("vite-plugin-vanjs/setup/van");
|
|
171
|
+
const isResolvedSetupFile = source.includes(
|
|
172
|
+
"vite-plugin-vanjs/setup/index",
|
|
133
173
|
);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
174
|
+
const isJSXImport = source.includes("/vite-plugin-vanjs/jsx/jsx") ||
|
|
175
|
+
(typeof importer === "string" &&
|
|
176
|
+
importer.includes("/vite-plugin-vanjs/jsx/jsx.mjs"));
|
|
177
|
+
const isDebugImport = !ssr && typeof importer === "string" &&
|
|
178
|
+
importer.includes("/src/van.debug.js") &&
|
|
179
|
+
source.includes("/van.js");
|
|
180
|
+
let aliases = moduleAliases;
|
|
181
|
+
|
|
182
|
+
// Handle special case for debug
|
|
183
|
+
if (isDebugImport) {
|
|
184
|
+
return toAbsolute("../setup/van.mjs");
|
|
144
185
|
}
|
|
145
186
|
|
|
146
|
-
//
|
|
147
|
-
if (
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
187
|
+
// Select appropriate aliases based on environment
|
|
188
|
+
if (ssr) {
|
|
189
|
+
aliases = { ...aliases, ...ssrModuleAliases };
|
|
190
|
+
} else if (!isProduction && !isTest && !isJSXImport) {
|
|
191
|
+
aliases = { ...aliases, ...debugModuleAliases };
|
|
192
|
+
}
|
|
193
|
+
// Check if the source is a known module
|
|
194
|
+
const matchedSource =
|
|
195
|
+
isResolvedVanFile || (source === "vanjs-core" && !isSetupFile)
|
|
196
|
+
? "@vanjs/van"
|
|
197
|
+
: isResolvedVanXFile ||
|
|
198
|
+
(source === "vanjs-ext" && /* istanbul ignore next */
|
|
199
|
+
!isImportedVanXFile)
|
|
200
|
+
? "@vanjs/vanX"
|
|
201
|
+
: isResolvedSetupFile && (!ssr && isSetupFile || ssr && !isSetupFile)
|
|
202
|
+
? "@vanjs/setup"
|
|
203
|
+
: null;
|
|
204
|
+
const resolvedPath = matchedSource ? aliases[matchedSource] : null;
|
|
205
|
+
|
|
206
|
+
if (resolvedPath) {
|
|
207
|
+
return toAbsolute(resolvedPath + ".mjs");
|
|
160
208
|
}
|
|
161
209
|
|
|
162
210
|
return null;
|