@zenithbuild/bundler 1.3.18 → 1.3.19

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/dev-server.js CHANGED
@@ -14,15 +14,55 @@ const port = 3000;
14
14
  const start = async (projectRoot = process.env.PROJECT_ROOT || path.resolve(__dirname, '..')) => {
15
15
  console.log(`[DevServer] Starting Zenith for: ${projectRoot}`);
16
16
 
17
+ // Dynamic import of JS-based build logic (since dist/index.js is ESM)
18
+ const { compileCssAsync, generateBundleJS, resolveGlobalsCss } = await import('./dist/index.js');
19
+
17
20
  let controller;
18
21
  try {
19
22
  controller = new ZenithDevController(projectRoot);
20
23
  } catch (e) {
21
- console.error("Failed to initialize ZenithDevController:", e);
24
+ console.error("Failed to initialize ZenithDevController:Native controller access is opaque", e);
22
25
  console.error("Ensure you have built the native module: 'napi build --platform'");
23
26
  process.exit(1);
24
27
  }
25
28
 
29
+ // Asset Cache
30
+ const assets = {
31
+ css: '',
32
+ bundle: '',
33
+ cssPath: null
34
+ };
35
+
36
+ // Helper: Rebuild Assets (JS Logic)
37
+ async function rebuildAssets() {
38
+ console.log('[DevServer] Rebuilding JS assets...');
39
+
40
+ // 1. Build CSS
41
+ const globalsCss = resolveGlobalsCss(projectRoot);
42
+ if (globalsCss) {
43
+ const res = await compileCssAsync({
44
+ input: globalsCss,
45
+ output: ':memory:',
46
+ minify: false
47
+ });
48
+ if (res.success) {
49
+ assets.css = res.css;
50
+ console.log('[DevServer] CSS Compiled');
51
+ } else {
52
+ console.error('[DevServer] CSS Compile Failed:', res.error);
53
+ }
54
+ }
55
+
56
+ // 2. Build Bundle
57
+ // optimizing: reusing previous bundle if only CSS changed? No, fast enough.
58
+ // We pass empty pluginData for now as we can't easily extract it from native controller.
59
+ assets.bundle = generateBundleJS({});
60
+ console.log('[DevServer] Bundle Generated');
61
+ }
62
+
63
+ // Initial Build
64
+ await rebuildAssets();
65
+
26
66
  // Create HTTP and WS Server
27
67
  const server = http.createServer(app);
28
68
  const wss = new WebSocketServer({ server });
@@ -40,7 +80,7 @@ const start = async (projectRoot = process.env.PROJECT_ROOT || path.resolve(__di
40
80
  });
41
81
  }
42
82
 
43
- // Watcher Integration (Tactical Fix)
83
+ // Watcher Integration
44
84
  const watchPath = path.join(projectRoot, 'src/**/*.zen');
45
85
  console.log(`[Watcher] Watching ${watchPath}`);
46
86
  const watcher = chokidar.watch(watchPath, {
@@ -53,9 +93,15 @@ const start = async (projectRoot = process.env.PROJECT_ROOT || path.resolve(__di
53
93
  // 1. Tell Rust to re-compile (updates the AssetStore in RAM)
54
94
  console.time('Rebuild');
55
95
  await controller.rebuild();
96
+
97
+ // 2. Rebuild JS assets (CSS/Bundle)
98
+ if (filePath.endsWith('.css') || filePath.endsWith('.zen') || filePath.endsWith('.ts')) {
99
+ await rebuildAssets();
100
+ }
101
+
56
102
  console.timeEnd('Rebuild');
57
103
 
58
- // 2. Tell the Browser to fetch the new assets
104
+ // 3. Tell the Browser to fetch the new assets
59
105
  notifyHMR();
60
106
  } catch (e) {
61
107
  console.error("Rebuild failed:", e);
@@ -64,10 +110,58 @@ const start = async (projectRoot = process.env.PROJECT_ROOT || path.resolve(__di
64
110
 
65
111
  // Serve Assets
66
112
  app.use(async (req, res, next) => {
67
- // 1. Try to serve from memory store
113
+ // Intercept Asset Requests (that Native Controller fails on)
114
+ if (req.path === '/assets/styles.css') {
115
+ res.setHeader('Content-Type', 'text/css');
116
+ return res.send(assets.css);
117
+ }
118
+ if (req.path === '/assets/bundle.js') {
119
+ res.setHeader('Content-Type', 'application/javascript');
120
+ return res.send(assets.bundle);
121
+ }
122
+
123
+ // 1. Try to serve from native memory store (HTML mostly)
68
124
  const asset = controller.getAsset(req.path);
69
125
 
70
126
  if (asset) {
127
+ let content = asset;
128
+
129
+ // Inject Tags into HTML
130
+ if (req.path === '/' || req.path.endsWith('.html')) {
131
+ let html = content.toString();
132
+ const cssTag = `<link rel="stylesheet" href="/assets/styles.css">`;
133
+ const jsTag = `<script type="module" src="/assets/bundle.js"></script>`;
134
+
135
+ // HMR Script
136
+ const hmrScript = `
137
+ <script>
138
+ const ws = new WebSocket('ws://' + location.host);
139
+ ws.onmessage = (event) => {
140
+ const msg = JSON.parse(event.data);
141
+ if (msg.type === 'update') {
142
+ console.log('[HMR] Update received. Reloading...');
143
+ location.reload();
144
+ }
145
+ };
146
+ ws.onopen = () => console.log("[Zenith] HMR Connected");
147
+ </script>`;
148
+
149
+ if (html.includes("</head>")) {
150
+ html = html.replace("</head>", `${cssTag}${hmrScript}</head>`);
151
+ } else {
152
+ html = `${cssTag}${hmrScript}${html}`;
153
+ }
154
+
155
+ if (html.includes("</body>")) {
156
+ html = html.replace("</body>", `${jsTag}</body>`);
157
+ } else {
158
+ html = `${html}${jsTag}`;
159
+ }
160
+
161
+ res.setHeader('Content-Type', 'text/html');
162
+ return res.send(html);
163
+ }
164
+
71
165
  if (req.path.endsWith('.js')) {
72
166
  res.setHeader('Content-Type', 'application/javascript');
73
167
  } else if (req.path.endsWith('.css')) {
@@ -76,15 +170,15 @@ const start = async (projectRoot = process.env.PROJECT_ROOT || path.resolve(__di
76
170
  return res.send(asset);
77
171
  }
78
172
 
79
- // 2. SPA / HTML Fallback
173
+ // 2. Fallback HTML (if native returns nothing for /)
80
174
  if (req.path === '/' || !path.extname(req.path)) {
81
175
  res.send(`
82
176
  <!DOCTYPE html>
83
177
  <html>
84
178
  <head>
85
179
  <title>Zenith Dev</title>
86
- <script type="module" src="/index.js"></script>
87
- <link rel="stylesheet" href="/zenith.css">
180
+ <link rel="stylesheet" href="/assets/styles.css">
181
+ <script type="module" src="/assets/bundle.js"></script>
88
182
  <script>
89
183
  // HMR Client
90
184
  const ws = new WebSocket('ws://' + location.host);
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-generator.d.ts","sourceRoot":"","sources":["../src/bundle-generator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAizBzE"}
1
+ {"version":3,"file":"bundle-generator.d.ts","sourceRoot":"","sources":["../src/bundle-generator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CA2zBzE"}
@@ -829,6 +829,16 @@ ${lifecycleJS ? ` // ============================================
829
829
  global.componentRegistry = componentRegistry;
830
830
 
831
831
  })(typeof window !== 'undefined' ? window : globalThis);
832
+
833
+ // ESM Exports for modules expecting generic names
834
+ const g = typeof window !== 'undefined' ? window : globalThis;
835
+ export const signal = g.zenSignal;
836
+ export const effect = g.zenEffect;
837
+ export const computed = g.zenMemo;
838
+ export const onMount = g.zenOnMount;
839
+ export const onUnmount = g.zenOnUnmount;
840
+ export const h = g.h;
841
+ export const Fragment = g.Fragment;
832
842
  `;
833
843
  }
834
844
  // Helpers
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-generator.js","sourceRoot":"","sources":["../src/bundle-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-generator.js","sourceRoot":"","sources":["../src/bundle-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ssg-build.d.ts","sourceRoot":"","sources":["../src/ssg-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA+DH,MAAM,WAAW,eAAe;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAiND;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuPtE"}
1
+ {"version":3,"file":"ssg-build.d.ts","sourceRoot":"","sources":["../src/ssg-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA+DH,MAAM,WAAW,eAAe;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AA8ND;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuPtE"}
package/dist/ssg-build.js CHANGED
@@ -119,14 +119,16 @@ async function compilePage(pagePath, pagesDir, baseDir = process.cwd()) {
119
119
  */
120
120
  function generatePageHTML(page, globalStyles, pluginEnvelope) {
121
121
  const { html, styles, analysis, routePath, pageScript } = page;
122
- // Combine styles
122
+ // Combine styles - Page styles only, global is external
123
123
  const pageStyles = styles;
124
- const allStyles = globalStyles + '\n' + pageStyles;
124
+ const allStyles = pageStyles;
125
+ // External Global Stylesheet
126
+ const globalStylesheetLink = '<link rel="stylesheet" href="/assets/styles.css">';
125
127
  // Build script tags only if needed
126
128
  let scriptTags = '';
127
129
  if (analysis.needsHydration) {
128
130
  scriptTags = `
129
- <script src="/assets/bundle.js"></script>`;
131
+ <script type="module" src="/assets/bundle.js"></script>`;
130
132
  if (pageScript) {
131
133
  // Generate a safe filename from route path
132
134
  const pageJsName = routePath === '/'
@@ -143,7 +145,7 @@ function generatePageHTML(page, globalStyles, pluginEnvelope) {
143
145
  let finalHtml = html;
144
146
  // Inject styles into <head> if not already there
145
147
  if (!/<style[^>]*>/.test(finalHtml)) {
146
- finalHtml = finalHtml.replace('</head>', ` <style>\n${allStyles}\n </style>\n</head>`);
148
+ finalHtml = finalHtml.replace('</head>', ` ${globalStylesheetLink}\n <style>\n${allStyles}\n </style>\n</head>`);
147
149
  }
148
150
  // Inject scripts before </body>
149
151
  if (scriptTags) {
@@ -158,6 +160,16 @@ function generatePageHTML(page, globalStyles, pluginEnvelope) {
158
160
  <meta charset="UTF-8">
159
161
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
160
162
  <title>Zenith App</title>
163
+ <script type="importmap">
164
+ {
165
+ "imports": {
166
+ "@zenithbuild/core": "/assets/bundle.js",
167
+ "@zenithbuild/router": "/assets/bundle.js",
168
+ "@zenithbuild/runtime": "/assets/bundle.js"
169
+ }
170
+ }
171
+ </script>
172
+ ${globalStylesheetLink}
161
173
  <style>
162
174
  ${allStyles}
163
175
  </style>
@@ -1 +1 @@
1
- {"version":3,"file":"ssg-build.js","sourceRoot":"","sources":["../src/ssg-build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssg-build.js","sourceRoot":"","sources":["../src/ssg-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAqB,MAAM,kBAAkB,CAAA;AAC/G,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrG,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EAEb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,IAAI,MAAM,MAAM,CAAA;AA0CvB,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;GAEG;AACH,KAAK,UAAU,WAAW,CACtB,QAAgB,EAChB,QAAgB,EAChB,UAAkB,OAAO,CAAC,GAAG,EAAE;IAE/B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAEjD,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAE1C,8EAA8E;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErC,uCAAuC;IACvC,8CAA8C;IAE9C,gCAAgC;IAChC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAe,CAAA;IAEzC,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAA;QAC/C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAClD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;YAC/B,mCAAmC;YACnC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,mDAAmD;IACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE;QAC3C,UAAU;QACV,sBAAsB;KACzB,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,uBAAuB,CAAC,CAAA;IAC9E,CAAC;IAED,0BAA0B;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAA;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAA;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAA;IAE5C,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5D,6CAA6C;IAC7C,mEAAmE;IACnE,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAElF,0DAA0D;IAC1D,6CAA6C;IAC7C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAEtD,8EAA8E;IAC9E,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAEtE,OAAO;QACH,SAAS,EAAE,QAAQ,CAAC,IAAI;QACxB,QAAQ,EAAE,QAAQ;QAClB,IAAI;QACJ,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACpC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC1C,MAAM;QACN,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE;YACN,GAAG,QAAQ;YACX,cAAc;YACd,QAAQ,EAAE,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,QAAQ;SAClD;QACD,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;KAC1C,CAAA;AACL,CAAC;AAED,+CAA+C;AAC/C,kBAAkB;AAClB,+CAA+C;AAE/C;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAkB,EAAE,YAAoB,EAAE,cAAuC;IACvG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAE9D,wDAAwD;IACxD,MAAM,UAAU,GAAG,MAAM,CAAA;IACzB,MAAM,SAAS,GAAG,UAAU,CAAA;IAE5B,6BAA6B;IAC7B,MAAM,oBAAoB,GAAG,mDAAmD,CAAA;IAEhF,mCAAmC;IACnC,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,UAAU,GAAG;0DACqC,CAAA;QAElD,IAAI,UAAU,EAAE,CAAC;YACb,2CAA2C;YAC3C,MAAM,UAAU,GAAG,SAAS,KAAK,GAAG;gBAChC,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,QAAQ,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;YACnE,UAAU,IAAI;uCACa,UAAU,aAAa,CAAA;QACtD,CAAC;IACL,CAAC;IAED,oDAAoD;IACpD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE5C,IAAI,UAAU,EAAE,CAAC;QACb,qEAAqE;QACrE,IAAI,SAAS,GAAG,IAAI,CAAA;QAEpB,iDAAiD;QACjD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,SAAS,GAAG,SAAS,CAAC,OAAO,CACzB,SAAS,EACT,KAAK,oBAAoB,gBAAgB,SAAS,uBAAuB,CAC5E,CAAA;QACL,CAAC;QAED,gCAAgC;QAChC,IAAI,UAAU,EAAE,CAAC;YACb,SAAS,GAAG,SAAS,CAAC,OAAO,CACzB,SAAS,EACT,GAAG,UAAU,WAAW,CAC3B,CAAA;QACL,CAAC;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,uDAAuD;IACvD,OAAO;;;;;;;;;;;;;;;IAeP,oBAAoB;;EAEtB,SAAS;;;;EAIT,IAAI,GAAG,UAAU;;QAEX,CAAA;AACR,CAAC;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;GAEG;AACH,SAAS,cAAc,CAAC,IAAkB;IACtC,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAA;IAE/B,mCAAmC;IACnC,OAAO,mBAAmB,IAAI,CAAC,SAAS;;;EAG1C,IAAI,CAAC,UAAU;;;;;;;;;;;;;;;;CAgBhB,CAAA;AACD,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACnD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAA;IAEtE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IACpC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,+CAA+C;IAC/C,wCAAwC;IACxC,+CAA+C;IAC/C,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;IAEnC,wCAAwC;IACxC,UAAU,EAAE,CAAA;IAEZ,uCAAuC;IACvC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACxC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAEzB,oCAAoC;QACpC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACjC,CAAC;IACL,CAAC;IAED,yBAAyB;IACzB,MAAM,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;IAEpD,8EAA8E;IAC9E,MAAM,OAAO,GAAgB;QACzB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,wBAAwB;KAC1C,CAAA;IAED,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;IACzE,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAErD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,oCAAoC;IACpC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9D,iBAAiB;IACjB,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;QAC9C,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,MAAM,UAAU,CAAC,CAAA;IAEnD,oBAAoB;IACpB,MAAM,aAAa,GAAmB,EAAE,CAAA;IACxC,IAAI,gBAAgB,GAAG,KAAK,CAAA;IAE5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,iBAAiB,YAAY,EAAE,CAAC,CAAA;QAE5C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC/D,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACnC,gBAAgB,GAAG,IAAI,CAAA;YAC3B,CAAC;YAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACxD,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAErD,+EAA+E;YAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;YACxC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,KAAK,OAAO,GAAG,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC7C,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,uCAAuC;IACvC,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;QACxE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,UAAU,CAAC;YACtB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;SACf,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;YACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAA;QACxE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5D,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,IAAI,gBAAgB,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;QACjD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IACnE,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QAC/B,0BAA0B;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACpD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE7C,0BAA0B;QAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAA;QAE3D,mCAAmC;QACnC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,GAAG;gBACrC,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;YACxE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;YAEnC,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;gBACnD,uBAAuB;gBACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;oBAC3C,CAAC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC;YAED,8DAA8D;YAC9D,IAAI,SAAS,GAAG,MAAM,CAAA;YACtB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAe;oBACrB,GAAG,IAAI,CAAC,UAAU;oBAClB,KAAK,EAAE,MAAM;oBACb,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC;iBACrE,CAAA;gBACD,SAAS,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAC5C,CAAC;YACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,yBAAyB;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACxC,CAAC;IAED,oBAAoB;IACpB,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;IACpE,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;gBACrE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;gBACrD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;gBAC7C,MAAM,GAAG,IAAI,CAAA;gBACb,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;oBACvC,8DAA8D;oBAC9D,IAAI,SAAS,GAAG,MAAM,CAAA;oBACtB,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;wBACtB,MAAM,IAAI,GAAe;4BACrB,GAAG,QAAQ,CAAC,UAAU;4BACtB,KAAK,EAAE,MAAM;4BACb,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC;yBACrE,CAAA;wBACD,SAAS,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBAC5C,CAAC;oBACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAA;gBAC3E,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,2BAA2B,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC1E,CAAC;YACD,MAAK;QACT,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;QAwBvB,CAAA;QACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAA;QAC/D,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;IAClD,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACxF,OAAO,CAAC,GAAG,CAAC,sBAAsB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IAChG,OAAO,CAAC,GAAG,CAAC,iBAAiB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACrF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,gBAAgB,IAAI,GAAG,CAAC,CAAA;IAC3F,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenithbuild/bundler",
3
- "version": "1.3.18",
3
+ "version": "1.3.19",
4
4
  "scripts": {
5
5
  "build": "tsc && napi build --platform --release",
6
6
  "artifacts": "napi artifacts",
@@ -37,4 +37,4 @@
37
37
  "@zenithbuild/compiler": "^1.3.17",
38
38
  "@zenithbuild/router": "^1.3.17"
39
39
  }
40
- }
40
+ }
@@ -20,60 +20,60 @@ import path from 'path'
20
20
  * This is served as an external JS file, not inlined
21
21
  */
22
22
  export function generateBundleJS(pluginData?: Record<string, any>): string {
23
- // Serialize plugin data blindly - CLI never inspects what's inside.
24
- // We escape </script> sequences just in case this bundle is ever inlined (unlikely but safe).
25
- const serializedData = pluginData
26
- ? JSON.stringify(pluginData).replace(/<\/script/g, '<\\/script')
27
- : '{}';
28
-
29
- // Resolve core runtime paths - assumes sibling directory or relative in node_modules
30
- const rootDir = process.cwd()
31
- let coreRuntimePath = path.join(rootDir, '../zenith-core/dist/runtime')
32
- if (!existsSync(coreRuntimePath)) {
33
- coreRuntimePath = path.join(rootDir, '../zenith-core/core')
34
- }
23
+ // Serialize plugin data blindly - CLI never inspects what's inside.
24
+ // We escape </script> sequences just in case this bundle is ever inlined (unlikely but safe).
25
+ const serializedData = pluginData
26
+ ? JSON.stringify(pluginData).replace(/<\/script/g, '<\\/script')
27
+ : '{}';
35
28
 
36
- let reactivityJS = ''
37
- let lifecycleJS = ''
29
+ // Resolve core runtime paths - assumes sibling directory or relative in node_modules
30
+ const rootDir = process.cwd()
31
+ let coreRuntimePath = path.join(rootDir, '../zenith-core/dist/runtime')
32
+ if (!existsSync(coreRuntimePath)) {
33
+ coreRuntimePath = path.join(rootDir, '../zenith-core/core')
34
+ }
38
35
 
39
- try {
40
- let reactivityFile = path.join(coreRuntimePath, 'reactivity/index.js')
41
- if (!existsSync(reactivityFile)) reactivityFile = path.join(coreRuntimePath, 'reactivity/index.ts')
36
+ let reactivityJS = ''
37
+ let lifecycleJS = ''
42
38
 
43
- let lifecycleFile = path.join(coreRuntimePath, 'lifecycle/index.js')
44
- if (!existsSync(lifecycleFile)) lifecycleFile = path.join(coreRuntimePath, 'lifecycle/index.ts')
39
+ try {
40
+ let reactivityFile = path.join(coreRuntimePath, 'reactivity/index.js')
41
+ if (!existsSync(reactivityFile)) reactivityFile = path.join(coreRuntimePath, 'reactivity/index.ts')
45
42
 
46
- if (existsSync(reactivityFile) && reactivityFile.endsWith('.js')) {
47
- reactivityJS = transformExportsToGlobal(readFileSync(reactivityFile, 'utf-8'));
48
- }
49
- if (existsSync(lifecycleFile) && lifecycleFile.endsWith('.js')) {
50
- lifecycleJS = transformExportsToGlobal(readFileSync(lifecycleFile, 'utf-8'));
51
- }
52
- } catch (e) {
53
- if (process.env.ZENITH_DEBUG === 'true') {
54
- console.warn('[Zenith] Could not load runtime from core, falling back to internal', e);
55
- }
43
+ let lifecycleFile = path.join(coreRuntimePath, 'lifecycle/index.js')
44
+ if (!existsSync(lifecycleFile)) lifecycleFile = path.join(coreRuntimePath, 'lifecycle/index.ts')
45
+
46
+ if (existsSync(reactivityFile) && reactivityFile.endsWith('.js')) {
47
+ reactivityJS = transformExportsToGlobal(readFileSync(reactivityFile, 'utf-8'));
48
+ }
49
+ if (existsSync(lifecycleFile) && lifecycleFile.endsWith('.js')) {
50
+ lifecycleJS = transformExportsToGlobal(readFileSync(lifecycleFile, 'utf-8'));
56
51
  }
52
+ } catch (e) {
53
+ if (process.env.ZENITH_DEBUG === 'true') {
54
+ console.warn('[Zenith] Could not load runtime from core, falling back to internal', e);
55
+ }
56
+ }
57
57
 
58
- // Fallback to internal hydration_runtime.js from native compiler source
59
- // Use the compiler's own location to find the file, not process.cwd()
60
- if (!reactivityJS || !lifecycleJS) {
61
- // Resolve relative to this bundle-generator.ts file's location
62
- // In compiled form, this will be in dist/runtime/, so we go up to find native/
63
- // ADAPTATION: zenith-bundler is sibling to zenith-compiler
64
- const compilerRoot = path.resolve(path.dirname(import.meta.url.replace('file://', '')), '../../zenith-compiler');
65
- const nativeRuntimePath = path.join(compilerRoot, 'native/compiler-native/src/hydration_runtime.js');
66
- if (existsSync(nativeRuntimePath)) {
67
- const nativeJS = readFileSync(nativeRuntimePath, 'utf-8');
68
- // IMPORTANT: Include the FULL IIFE - do NOT strip the wrapper!
69
- // The runtime has its own bootstrap guard and idempotency check.
70
- // It will install primitives to window and create window.__ZENITH_RUNTIME__
71
- reactivityJS = nativeJS;
72
- lifecycleJS = ' '; // Ensure it doesn't trigger the "not found" message
73
- }
58
+ // Fallback to internal hydration_runtime.js from native compiler source
59
+ // Use the compiler's own location to find the file, not process.cwd()
60
+ if (!reactivityJS || !lifecycleJS) {
61
+ // Resolve relative to this bundle-generator.ts file's location
62
+ // In compiled form, this will be in dist/runtime/, so we go up to find native/
63
+ // ADAPTATION: zenith-bundler is sibling to zenith-compiler
64
+ const compilerRoot = path.resolve(path.dirname(import.meta.url.replace('file://', '')), '../../zenith-compiler');
65
+ const nativeRuntimePath = path.join(compilerRoot, 'native/compiler-native/src/hydration_runtime.js');
66
+ if (existsSync(nativeRuntimePath)) {
67
+ const nativeJS = readFileSync(nativeRuntimePath, 'utf-8');
68
+ // IMPORTANT: Include the FULL IIFE - do NOT strip the wrapper!
69
+ // The runtime has its own bootstrap guard and idempotency check.
70
+ // It will install primitives to window and create window.__ZENITH_RUNTIME__
71
+ reactivityJS = nativeJS;
72
+ lifecycleJS = ' '; // Ensure it doesn't trigger the "not found" message
74
73
  }
74
+ }
75
75
 
76
- return `/*!
76
+ return `/*!
77
77
  * Zenith Runtime v1.0.1
78
78
  * Shared client-side runtime for hydration and reactivity
79
79
  */
@@ -835,10 +835,20 @@ ${lifecycleJS ? ` // ============================================
835
835
  global.componentRegistry = componentRegistry;
836
836
 
837
837
  })(typeof window !== 'undefined' ? window : globalThis);
838
+
839
+ // ESM Exports for modules expecting generic names
840
+ const g = typeof window !== 'undefined' ? window : globalThis;
841
+ export const signal = g.zenSignal;
842
+ export const effect = g.zenEffect;
843
+ export const computed = g.zenMemo;
844
+ export const onMount = g.zenOnMount;
845
+ export const onUnmount = g.zenOnUnmount;
846
+ export const h = g.h;
847
+ export const Fragment = g.Fragment;
838
848
  `;
839
849
  }
840
850
 
841
851
  // Helpers
842
852
  function transformExportsToGlobal(source: string): string {
843
- return source.replace(/export\s+(const|function|class)\s+(\w+)/g, 'var $2');
853
+ return source.replace(/export\s+(const|function|class)\s+(\w+)/g, 'var $2');
844
854
  }
package/src/ssg-build.ts CHANGED
@@ -190,15 +190,18 @@ async function compilePage(
190
190
  function generatePageHTML(page: CompiledPage, globalStyles: string, pluginEnvelope: Record<string, unknown>): string {
191
191
  const { html, styles, analysis, routePath, pageScript } = page
192
192
 
193
- // Combine styles
193
+ // Combine styles - Page styles only, global is external
194
194
  const pageStyles = styles
195
- const allStyles = globalStyles + '\n' + pageStyles
195
+ const allStyles = pageStyles
196
+
197
+ // External Global Stylesheet
198
+ const globalStylesheetLink = '<link rel="stylesheet" href="/assets/styles.css">'
196
199
 
197
200
  // Build script tags only if needed
198
201
  let scriptTags = ''
199
202
  if (analysis.needsHydration) {
200
203
  scriptTags = `
201
- <script src="/assets/bundle.js"></script>`
204
+ <script type="module" src="/assets/bundle.js"></script>`
202
205
 
203
206
  if (pageScript) {
204
207
  // Generate a safe filename from route path
@@ -221,7 +224,7 @@ function generatePageHTML(page: CompiledPage, globalStyles: string, pluginEnvelo
221
224
  if (!/<style[^>]*>/.test(finalHtml)) {
222
225
  finalHtml = finalHtml.replace(
223
226
  '</head>',
224
- ` <style>\n${allStyles}\n </style>\n</head>`
227
+ ` ${globalStylesheetLink}\n <style>\n${allStyles}\n </style>\n</head>`
225
228
  )
226
229
  }
227
230
 
@@ -243,6 +246,16 @@ function generatePageHTML(page: CompiledPage, globalStyles: string, pluginEnvelo
243
246
  <meta charset="UTF-8">
244
247
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
245
248
  <title>Zenith App</title>
249
+ <script type="importmap">
250
+ {
251
+ "imports": {
252
+ "@zenithbuild/core": "/assets/bundle.js",
253
+ "@zenithbuild/router": "/assets/bundle.js",
254
+ "@zenithbuild/runtime": "/assets/bundle.js"
255
+ }
256
+ }
257
+ </script>
258
+ ${globalStylesheetLink}
246
259
  <style>
247
260
  ${allStyles}
248
261
  </style>