@pyreon/vite-plugin 0.5.5 → 0.5.7

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.
@@ -1,309 +1,36 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { join, resolve } from "node:path";
3
- import { generateContext, transformJSX } from "@pyreon/compiler";
1
+ import { Plugin } from "vite";
4
2
 
5
- //#region src/index.ts
6
- /**
7
- * @pyreon/vite-plugin — Vite integration for Pyreon framework.
8
- *
9
- * Applies Pyreon's JSX reactive transform to .tsx, .jsx, and .pyreon files,
10
- * and configures Vite to use Pyreon's JSX runtime.
11
- *
12
- * ## Basic usage (SPA)
13
- *
14
- * import pyreon from "@pyreon/vite-plugin"
15
- * export default { plugins: [pyreon()] }
16
- *
17
- * ## Drop-in compat mode (zero code changes)
18
- *
19
- * import pyreon from "@pyreon/vite-plugin"
20
- * export default { plugins: [pyreon({ compat: "react" })] }
21
- *
22
- * Aliases `react`, `react-dom`, `vue`, `solid-js`, or `preact` imports to
23
- * Pyreon's compat packages — existing code works without changing imports.
24
- *
25
- * ## SSR mode
26
- *
27
- * import pyreon from "@pyreon/vite-plugin"
28
- * export default { plugins: [pyreon({ ssr: { entry: "./src/entry-server.ts" } })] }
29
- *
30
- * In SSR mode, the plugin adds dev server middleware that:
31
- * 1. Loads your server entry via Vite's `ssrLoadModule`
32
- * 2. Calls the exported `handler` or default export (Request → Response)
33
- * 3. Returns the SSR'd HTML for every non-asset request
34
- *
35
- * For production, build separately:
36
- * vite build # client bundle
37
- * vite build --ssr src/entry-server.ts --outDir dist/server # server bundle
38
- */
39
-
40
- /**
41
- * Resolve a package specifier to an absolute source path, respecting the "bun"
42
- * export condition. Falls back to the "import" condition.
43
- *
44
- * This is needed because Vite 8's resolve pipeline doesn't consistently apply
45
- * custom conditions from `resolve.conditions` during the `vite:import-analysis`
46
- * phase for aliased workspace packages.
47
- */
48
- function resolveWithBunCondition(specifier, projectRoot) {
49
- const pkgName = (specifier.startsWith("@") ? specifier.split("/").slice(0, 2) : specifier.split("/").slice(0, 1)).join("/");
50
- const subpath = specifier.slice(pkgName.length) || ".";
51
- const exportKey = subpath === "." ? "." : `.${subpath}`;
52
- try {
53
- const pkgDir = resolve(projectRoot, "node_modules", pkgName);
54
- const pkgJsonPath = resolve(pkgDir, "package.json");
55
- const exp = JSON.parse(readFileSync(pkgJsonPath, "utf-8")).exports?.[exportKey];
56
- if (!exp) return void 0;
57
- if (typeof exp === "string") return resolve(pkgDir, exp);
58
- const target = exp.bun ?? exp.import ?? exp.default;
59
- return target ? resolve(pkgDir, target) : void 0;
60
- } catch {
61
- return;
62
- }
63
- }
64
- /**
65
- * Return the Pyreon compat target for an import specifier, or undefined if
66
- * the import should not be redirected.
67
- */
68
- function getCompatTarget(compat, id) {
69
- if (!compat) return void 0;
70
- const aliased = COMPAT_ALIASES[compat][id];
71
- if (aliased) return aliased;
72
- if (id === "@pyreon/core/jsx-runtime" || id === "@pyreon/core/jsx-dev-runtime") {
73
- if (compat === "react") return "@pyreon/react-compat/jsx-runtime";
74
- if (compat === "preact") return "@pyreon/preact-compat/jsx-runtime";
75
- if (compat === "vue") return "@pyreon/vue-compat/jsx-runtime";
76
- if (compat === "solid") return "@pyreon/solid-compat/jsx-runtime";
77
- }
78
- }
79
- function pyreonPlugin(options) {
80
- const ssrConfig = options?.ssr;
81
- const compat = options?.compat;
82
- let isBuild = false;
83
- let projectRoot = "";
84
- const resolvedAliases = /* @__PURE__ */new Map();
85
- return {
86
- name: "pyreon",
87
- enforce: "pre",
88
- config(userConfig, env) {
89
- isBuild = env.command === "build";
90
- projectRoot = userConfig.root ?? process.cwd();
91
- return {
92
- resolve: {
93
- conditions: ["bun"]
94
- },
95
- optimizeDeps: {
96
- exclude: compat ? Object.keys(COMPAT_ALIASES[compat]) : []
97
- },
98
- oxc: {
99
- jsx: {
100
- runtime: "automatic",
101
- importSource: compat ? COMPAT_JSX_SOURCE[compat] : "@pyreon/core"
102
- }
103
- },
104
- ...(env.isSsrBuild && ssrConfig ? {
105
- build: {
106
- ssr: true,
107
- rollupOptions: {
108
- input: ssrConfig.entry
109
- }
110
- }
111
- } : {})
112
- };
113
- },
114
- resolveId(id) {
115
- if (id === HMR_RUNTIME_IMPORT) return HMR_RUNTIME_ID;
116
- const target = getCompatTarget(compat, id);
117
- if (!target) return;
118
- let resolved = resolvedAliases.get(target);
119
- if (!resolved) {
120
- resolved = resolveWithBunCondition(target, projectRoot);
121
- if (resolved) resolvedAliases.set(target, resolved);
122
- }
123
- return resolved;
124
- },
125
- load(id) {
126
- if (id === HMR_RUNTIME_ID) return HMR_RUNTIME_SOURCE;
127
- },
128
- transform(code, id) {
129
- const ext = getExt(id);
130
- if (ext !== ".tsx" && ext !== ".jsx" && ext !== ".pyreon") return;
131
- if (compat === "react" || compat === "preact" || compat === "vue" || compat === "solid") return;
132
- const result = transformJSX(code, id);
133
- for (const w of result.warnings) this.warn(`${w.message} (${id}:${w.line}:${w.column})`);
134
- let output = result.code;
135
- if (!isBuild) output = injectHmr(output, id);
136
- return {
137
- code: output,
138
- map: null
139
- };
140
- },
141
- configureServer(server) {
142
- generateProjectContext(projectRoot);
143
- let contextTimer = null;
144
- server.watcher.on("change", file => {
145
- if (/\.(tsx|jsx|ts|js)$/.test(file) && !file.includes("node_modules")) {
146
- if (contextTimer) clearTimeout(contextTimer);
147
- contextTimer = setTimeout(() => generateProjectContext(projectRoot), 500);
148
- }
149
- });
150
- if (!ssrConfig) return;
151
- return () => {
152
- server.middlewares.use(async (req, res, next) => {
153
- if (req.method !== "GET") return next();
154
- const url = req.url ?? "/";
155
- if (isAssetRequest(url)) return next();
156
- try {
157
- await handleSsrRequest(server, ssrConfig.entry, url, req, res, next);
158
- } catch (err) {
159
- server.ssrFixStacktrace(err);
160
- next(err);
161
- }
162
- });
163
- };
164
- }
3
+ //#region src/index.d.ts
4
+ type CompatFramework = "react" | "preact" | "vue" | "solid";
5
+ interface PyreonPluginOptions {
6
+ /**
7
+ * Alias imports from an existing framework to Pyreon's compat layer.
8
+ *
9
+ * This lets you drop Pyreon into an existing project with zero code changes —
10
+ * `import { useState } from "react"` will resolve to `@pyreon/react-compat`.
11
+ *
12
+ * @example
13
+ * pyreon({ compat: "react" }) // react + react-dom → @pyreon/react-compat
14
+ * pyreon({ compat: "vue" }) // vue → @pyreon/vue-compat
15
+ * pyreon({ compat: "solid" }) // solid-js → @pyreon/solid-compat
16
+ * pyreon({ compat: "preact" }) // preact + hooks + signals → @pyreon/preact-compat
17
+ */
18
+ compat?: CompatFramework;
19
+ /**
20
+ * Enable SSR dev middleware.
21
+ *
22
+ * Pass an object with `entry` pointing to your server entry file.
23
+ * The entry must export a `handler` function: `(req: Request) => Promise<Response>`
24
+ * or a default export of the same type.
25
+ *
26
+ * @example
27
+ * pyreonPlugin({ ssr: { entry: "./src/entry-server.ts" } })
28
+ */
29
+ ssr?: {
30
+ /** Server entry file path (e.g. "./src/entry-server.ts") */entry: string;
165
31
  };
166
32
  }
167
- async function handleSsrRequest(server, entry, url, req, res, next) {
168
- const mod = await server.ssrLoadModule(entry);
169
- const handler = mod.handler ?? mod.default;
170
- if (typeof handler !== "function") {
171
- next();
172
- return;
173
- }
174
- const origin = `http://${req.headers.host ?? "localhost"}`;
175
- const fullUrl = new URL(url, origin);
176
- const response = await handler(new Request(fullUrl.href, {
177
- method: req.method ?? "GET",
178
- headers: Object.entries(req.headers).reduce((h, [k, v]) => {
179
- if (v) h.set(k, Array.isArray(v) ? v.join(", ") : v);
180
- return h;
181
- }, new Headers())
182
- }));
183
- let html = await response.text();
184
- html = await server.transformIndexHtml(url, html);
185
- res.statusCode = response.status;
186
- response.headers.forEach((v, k) => {
187
- res.setHeader(k, v);
188
- });
189
- res.end(html);
190
- }
191
- /**
192
- * Generate .pyreon/context.json — project map for AI coding assistants.
193
- * Delegates to @pyreon/compiler's unified project scanner.
194
- */
195
- function generateProjectContext(root) {
196
- try {
197
- const context = generateContext(root);
198
- const outDir = join(root, ".pyreon");
199
- if (!existsSync(outDir)) mkdirSync(outDir, {
200
- recursive: true
201
- });
202
- writeFileSync(join(outDir, "context.json"), JSON.stringify(context, null, 2), "utf-8");
203
- } catch {}
204
- }
205
- /**
206
- * Regex that detects signal declarations (prefix + variable name).
207
- * The arguments are extracted via balanced-paren matching in `injectHmr`.
208
- * A brace-depth check filters out matches inside functions/blocks — only
209
- * module-scope (depth 0) signals are rewritten for HMR state preservation.
210
- */
211
-
212
- function skipStringLiteral(code, start, quote) {
213
- let j = start + 1;
214
- while (j < code.length) {
215
- if (code[j] === "\\") {
216
- j += 2;
217
- continue;
218
- }
219
- if (code[j] === quote) break;
220
- j++;
221
- }
222
- return j;
223
- }
224
- function extractBalancedArgs(code, start) {
225
- let depth = 1;
226
- for (let i = start; i < code.length; i++) {
227
- const ch = code[i];
228
- if (ch === "(") depth++;else if (ch === ")") {
229
- depth--;
230
- if (depth === 0) return code.slice(start, i);
231
- } else if (ch === "\"" || ch === "'" || ch === "`") i = skipStringLiteral(code, i, ch);
232
- }
233
- return null;
234
- }
235
- /**
236
- * Compute brace depth at position `pos` — returns 0 for module scope.
237
- * Skips string literals to avoid counting braces inside strings.
238
- */
239
- function braceDepthAt(code, pos) {
240
- let depth = 0;
241
- for (let i = 0; i < pos; i++) {
242
- const ch = code[i];
243
- if (ch === "{") depth++;else if (ch === "}") depth--;else if (ch === "\"" || ch === "'" || ch === "`") i = skipStringLiteral(code, i, ch);
244
- }
245
- return depth;
246
- }
247
- /** Rewrite module-scope `signal()` calls to `__hmr_signal()` for state preservation. */
248
- function rewriteSignals(code, moduleId) {
249
- const escapedId = JSON.stringify(moduleId);
250
- const matches = [];
251
- let m = SIGNAL_PREFIX_RE.exec(code);
252
- while (m !== null) {
253
- const argsStart = m.index + m[0].length;
254
- const args = extractBalancedArgs(code, argsStart);
255
- if (args === null) {
256
- m = SIGNAL_PREFIX_RE.exec(code);
257
- continue;
258
- }
259
- if (braceDepthAt(code, m.index) === 0) matches.push({
260
- start: m.index,
261
- end: argsStart + args.length + 1,
262
- prefix: m[1] ?? "",
263
- name: m[2] ?? "",
264
- args
265
- });
266
- m = SIGNAL_PREFIX_RE.exec(code);
267
- }
268
- SIGNAL_PREFIX_RE.lastIndex = 0;
269
- let output = code;
270
- for (let i = matches.length - 1; i >= 0; i--) {
271
- const {
272
- start,
273
- end,
274
- prefix,
275
- name,
276
- args
277
- } = matches[i];
278
- const replacement = `${prefix}__hmr_signal(${escapedId}, ${JSON.stringify(name)}, signal, ${args})`;
279
- output = output.slice(0, start) + replacement + output.slice(end);
280
- }
281
- return output;
282
- }
283
- function injectHmr(code, moduleId) {
284
- const hasSignals = SIGNAL_PREFIX_RE.test(code);
285
- SIGNAL_PREFIX_RE.lastIndex = 0;
286
- if (!EXPORT_COMPONENT_RE.test(code) && !hasSignals) return code;
287
- let output = hasSignals ? rewriteSignals(code, moduleId) : code;
288
- const escapedId = JSON.stringify(moduleId);
289
- const lines = [];
290
- if (hasSignals) lines.push(`import { __hmr_signal, __hmr_dispose } from "${HMR_RUNTIME_IMPORT}";`);
291
- lines.push(`if (import.meta.hot) {`);
292
- if (hasSignals) lines.push(` import.meta.hot.dispose(() => __hmr_dispose(${escapedId}));`);
293
- lines.push(` import.meta.hot.accept();`);
294
- lines.push(`}`);
295
- output = `${output}\n\n${lines.join("\n")}\n`;
296
- return output;
297
- }
298
- function getExt(id) {
299
- const clean = id.split("?")[0] ?? id;
300
- const dot = clean.lastIndexOf(".");
301
- return dot >= 0 ? clean.slice(dot) : "";
302
- }
303
- /** Skip Vite-handled asset requests (CSS, images, HMR, etc.) */
304
- function isAssetRequest(url) {
305
- return url.startsWith("/@") || url.startsWith("/__") || url.includes("/node_modules/") || /\.(css|js|ts|tsx|jsx|json|ico|png|jpg|jpeg|gif|svg|woff2?|ttf|eot|map)(\?|$)/.test(url);
306
- }
33
+ declare function pyreonPlugin(options?: PyreonPluginOptions): Plugin;
307
34
  //#endregion
308
- export { pyreonPlugin as default };
309
- //# sourceMappingURL=index.d.ts.map
35
+ export { CompatFramework, PyreonPluginOptions, pyreonPlugin as default };
36
+ //# sourceMappingURL=index2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["pathResolve","pathJoin"],"sources":["../../../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/index.ts"],"mappings":";;;KA2CY,eAAA;AAAA,UAEK,mBAAA;;;;;;;;;;;;;EAaf,MAAA,GAAS,eAAA;;;;;;;;;;;EAYT,GAAA;gEAEE,KAAA;EAAA;AAAA;AAAA,iBAkGoB,YAAA,CAAa,OAAA,GAAU,mBAAA,GAAsB,MAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pyreon/vite-plugin",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "description": "Vite plugin for Pyreon — .pyreon SFC support, HMR, compiler integration",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -39,7 +39,7 @@
39
39
  "prepublishOnly": "bun run build"
40
40
  },
41
41
  "dependencies": {
42
- "@pyreon/compiler": "^0.5.5"
42
+ "@pyreon/compiler": "^0.5.7"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "vite": ">=8.0.0"