@waldjs/cli 0.3.2 → 0.5.0

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/dist/cli.js CHANGED
@@ -4,6 +4,7 @@ import { growCommand } from './commands/grow.js';
4
4
  import { buildCommand } from './commands/build.js';
5
5
  import { previewCommand } from './commands/preview.js';
6
6
  import { checkCommand } from './commands/check.js';
7
+ import { newCommand } from './commands/new.js';
7
8
  const main = defineCommand({
8
9
  meta: {
9
10
  name: 'wald',
@@ -16,6 +17,7 @@ const main = defineCommand({
16
17
  build: buildCommand,
17
18
  preview: previewCommand,
18
19
  check: checkCommand,
20
+ new: newCommand,
19
21
  },
20
22
  });
21
23
  runMain(main);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,wCAAwC;KACtD;IACD,WAAW,EAAE;QACX,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,YAAY;KACpB;CACF,CAAC,CAAA;AAEF,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,wCAAwC;KACtD;IACD,WAAW,EAAE;QACX,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,UAAU;KAChB;CACF,CAAC,CAAA;AAEF,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AAM9D,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,wBAAwB,GACxB,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,uBAAuB,GACvB,uBAAuB,GACvB,kBAAkB,CAAA;AAEtB,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC,CAAA;AAqED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,GAAE,aAAkB,GAC3B,OAAO,CAAC,UAAU,CAAC,CAkJrB;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS9E;AAED,eAAO,MAAM,YAAY;;;;;EAoDvB,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AAO9D,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,wBAAwB,GACxB,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,uBAAuB,GACvB,uBAAuB,GACvB,kBAAkB,CAAA;AAEtB,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC,CAAA;AAqED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,GAAE,aAAkB,GAC3B,OAAO,CAAC,UAAU,CAAC,CA4JrB;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS9E;AAED,eAAO,MAAM,YAAY;;;;;EAoDvB,CAAA"}
@@ -8,6 +8,7 @@ import { waldPlugin } from '../vite-plugin.js';
8
8
  import { loadWaldConfig } from '../config.js';
9
9
  import { scanRoutes } from '../router/index.js';
10
10
  import { maybeWrap, hoistScripts } from '../shell.js';
11
+ import { injectPrefetchRuntime } from '../prefetch-runtime.js';
11
12
  import { withGrowingTree } from '../growing-tree.js';
12
13
  import { runCheck } from './check.js';
13
14
  function createBuildLogger() {
@@ -99,7 +100,17 @@ export async function buildPages(pagesDir, config, publicDir, contentDir, report
99
100
  const ssrResult = await withGrowingTree('Bundling SSR pages...', build(mergeConfig(config.vite ?? {}, {
100
101
  _waldContentDir: contentDir,
101
102
  base: config.base,
102
- plugins: [waldPlugin()],
103
+ plugins: [waldPlugin({
104
+ image: { outDir: join(distDir, 'assets', 'optimized'), publicPath: '/assets/optimized' },
105
+ })],
106
+ // sharp (pulled in transitively by wald:image's renderImage) ships
107
+ // native .node bindings loaded via dynamic require() — Rollup can't
108
+ // statically bundle that, so it must stay a real runtime import
109
+ // instead of being inlined into the SSR bundle. @waldjs/cli is
110
+ // external too since it's already a real dependency of every WaldJS
111
+ // project (see wald plant's scaffolded package.json) and pulls sharp
112
+ // in with it.
113
+ ssr: { external: ['sharp', '@waldjs/cli'] },
103
114
  build: {
104
115
  ssr: true,
105
116
  outDir: ssrDir,
@@ -126,7 +137,7 @@ export async function buildPages(pagesDir, config, publicDir, contentDir, report
126
137
  const modulePath = resolveModulePath(route.file, key);
127
138
  const mod = await import(modulePath);
128
139
  const rendered = stripCanopyScripts(await mod.default.render(), canopyScriptContents);
129
- const html = applyCanopyAssets(hoistScripts(maybeWrap(rendered)), canopyAssets);
140
+ const html = injectPrefetchRuntime(applyCanopyAssets(hoistScripts(maybeWrap(rendered)), canopyAssets));
130
141
  const outPath = resolveOutPath(distDir, route.pattern);
131
142
  mkdirSync(dirname(outPath), { recursive: true });
132
143
  writeFileSync(outPath, html);
@@ -148,7 +159,7 @@ export async function buildPages(pagesDir, config, publicDir, contentDir, report
148
159
  for (const { params } of paths) {
149
160
  dynamicPages++;
150
161
  const rendered = stripCanopyScripts(await mod.default.render(params), canopyScriptContents);
151
- const html = applyCanopyAssets(hoistScripts(maybeWrap(rendered)), canopyAssets);
162
+ const html = injectPrefetchRuntime(applyCanopyAssets(hoistScripts(maybeWrap(rendered)), canopyAssets));
152
163
  const outPath = resolveOutPath(distDir, route.pattern, params);
153
164
  mkdirSync(dirname(outPath), { recursive: true });
154
165
  writeFileSync(outPath, html);
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAmB,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA6BrC,SAAS,iBAAiB;IACxB,IAAI,SAAiC,CAAA;IACrC,OAAO;QACL,KAAK;YACH,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,CAAC,KAAiB;YACrB,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAM;YAC/B,SAAS,GAAG,KAAK,CAAA;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO;YACL,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC/B,CAAC;QACD,IAAI,CAAC,KAAc;YACjB,OAAO,CAAC,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;QACzC,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,OAAe,EAAE,SAAiC,EAAE;IAC3F,IAAI,IAAI,GAAG,OAAO,CAAA;IAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,OAAO,KAAK,GAAG;QACpB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;AACxE,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAE,KAAa;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,KAAK,KAAK,EAAE,CAAC,CAAA;QACvC,OAAM;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,YAAY,KAAK,SAAS,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,oBAAiC;IACzE,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,QAAwB;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAC5C,OAAO,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,QAAQ,CAAA;IAEvD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,QAAQ,CAAA;IAEhC,MAAM,MAAM,GAAG,8BAA8B,UAAU,aAAa,CAAA;IACpE,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,MAAM,WAAW,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,MAA4B,EAC5B,SAAkB,EAClB,UAAmB,EACnB,WAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;IAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAA;IAElD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAC7E,CAAA;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAA;IACvC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACtF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtB,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAA;IACvE,QAAQ,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAE9F,QAAQ,CAAC,OAAO,EAAE,CAAC,oBAAoB,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,uBAAuB,EAAE,KAAK,CAAC,WAAW,CAChF,MAAM,CAAC,IAAI,IAAI,EAAE,EACjB;QACE,eAAe,EAAE,UAAU;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,CAAC,UAAU,CAAC;gBACnB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE;aACzF,CAAC,CAAC;QACH,mEAAmE;QACnE,oEAAoE;QACpE,gEAAgE;QAChE,+DAA+D;QAC/D,oEAAoE;QACpE,qEAAqE;QACrE,cAAc;QACd,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;QAC3C,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,EAAE,KAAK,EAAE;YACxB,WAAW,EAAE,IAAI;SAClB;KACK,CACT,CAAC,CAAC,CAAA;IAEH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACrE,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,SAAQ;QACrB,KAAK,MAAM,KAAK,IAAK,MAAc,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACpE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,EAAE,CAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAA;IAE9E,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,CAAA;QAC5C,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACjE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACrD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAElC,CAAA;YACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAA;YACrF,MAAM,IAAI,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;YACtG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACtD,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAChD,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QAED,QAAQ,CAAC,OAAO,EAAE,CAAC,yBAAyB,CAAC,CAAA;QAC7C,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACjE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAErD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAGlC,CAAA;YAED,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,0BAA0B,KAAK,CAAC,OAAO,+BAA+B,CAAA;gBACtF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtB,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;gBAC7B,SAAQ;YACV,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAA;YACxC,IAAI,YAAY,GAAG,CAAC,CAAA;YACpB,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC/B,YAAY,EAAE,CAAA;gBACd,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAA;gBAC3F,MAAM,IAAI,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;gBACtG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC9D,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBAChD,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC5B,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACzC,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;YACtD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,KAAK,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC5F,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,OAAO,EAAE,CAAC,uBAAuB,CAAC,CAAA;QAC3C,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,YAAY,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,uBAAuB,CAAC,CAAA;QAC3C,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,YAAY,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,QAAQ,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAA;IACtC,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO;QACP,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,MAAM,CAAC,MAAM;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,YAAY,EAAE,YAAY,CAAC,MAAM;QACjC,aAAa,EAAE,aAAa,CAAC,MAAM;QACnC,YAAY;QACZ,aAAa,EAAE,aAAa,CAAC,IAAI;KAClC,CAAC,CAAA;IAEF,OAAO;QACL,YAAY,EAAE,YAAY,CAAC,MAAM;QACjC,aAAa,EAAE,aAAa,CAAC,MAAM;QACnC,YAAY;QACZ,QAAQ;QACR,aAAa,EAAE,aAAa,CAAC,IAAI;QACjC,YAAY;QACZ,YAAY;QACZ,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;KACjC,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAM,GAAG,GAAG,QAAQ,GAAG;IACzE,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAiB,EAAE,MAAc;IAClE,OAAO;QACL,eAAe,MAAM,GAAG;QACxB,eAAe,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE;QAC9D,eAAe,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;QACpG,eAAe,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;QACrE,eAAe,KAAK,CAAC,WAAW,EAAE;QAClC,eAAe,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;KACvC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;IACxC,IAAI,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE;IACzD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,gDAAgD;SAC9D;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;gBACpD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACpB,OAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAEvC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;QAClC,MAAM,CAAC,KAAK,EAAE,CAAA;QACd,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE;gBACtE,OAAO,CAAC,KAAK;oBACX,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC;gBACD,SAAS,CAAC,OAAO;oBACf,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACxB,CAAC;aACF,CAAC,CAAA;YACF,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gBAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACd,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -5,6 +5,7 @@ type ViteLike = {
5
5
  render: (props?: Record<string, unknown>) => Promise<string>;
6
6
  };
7
7
  }>;
8
+ transformIndexHtml?: (url: string, html: string) => Promise<string>;
8
9
  };
9
10
  export declare function handleRequest(routes: Route[], url: string, vite: ViteLike | undefined): Promise<{
10
11
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"grow.d.ts","sourceRoot":"","sources":["../../src/commands/grow.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAKvE,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE;YAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;CACxH,CAAA;AAaD,wBAAsB,aAAa,CACjC,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3C;AAED,eAAO,MAAM,WAAW,qDAqFtB,CAAA"}
1
+ {"version":3,"file":"grow.d.ts","sourceRoot":"","sources":["../../src/commands/grow.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAOvE,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE;YAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;IACvH,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE,CAAA;AAaD,wBAAsB,aAAa,CACjC,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAW3C;AAED,eAAO,MAAM,WAAW,qDA6FtB,CAAA"}
@@ -6,6 +6,8 @@ import { waldPlugin } from '../vite-plugin.js';
6
6
  import { loadWaldConfig } from '../config.js';
7
7
  import { matchRoute, scanRoutes } from '../router/index.js';
8
8
  import { maybeWrap, hoistScripts } from '../shell.js';
9
+ import { renderErrorPage } from '../error-page.js';
10
+ import { injectPrefetchRuntime } from '../prefetch-runtime.js';
9
11
  import { withGrowingTree } from '../growing-tree.js';
10
12
  import { join } from 'node:path';
11
13
  function printGrowReady(port, cwd, base, routeCount, staticCount, dynamicCount, ms) {
@@ -24,7 +26,11 @@ export async function handleRequest(routes, url, vite) {
24
26
  return { status: 404, body: 'Page not found' };
25
27
  const mod = await vite.ssrLoadModule(match.route.file);
26
28
  const html = await mod.default.render(match.params);
27
- return { status: 200, body: hoistScripts(maybeWrap(html)) };
29
+ let body = injectPrefetchRuntime(hoistScripts(maybeWrap(html)));
30
+ if (vite.transformIndexHtml) {
31
+ body = await vite.transformIndexHtml(url, body);
32
+ }
33
+ return { status: 200, body };
28
34
  }
29
35
  export const growCommand = defineCommand({
30
36
  meta: { description: 'Start the WaldJS dev server' },
@@ -39,14 +45,12 @@ export const growCommand = defineCommand({
39
45
  const dynamicCount = routes.length - staticCount;
40
46
  const config = await loadWaldConfig(cwd);
41
47
  const start = Date.now();
42
- const vite = await withGrowingTree('Starting dev server...', createServer(mergeConfig(config.vite ?? {}, {
43
- base: config.base,
44
- server: { middlewareMode: true },
45
- appType: 'custom',
46
- plugins: [waldPlugin()],
47
- })));
48
48
  const servePublic = sirv(publicDir, { dev: true });
49
49
  const serveSrc = sirv(srcDir, { dev: true });
50
+ // Declared before the Vite server so it can be handed to `hmr.server`
51
+ // below — Vite needs a live http.Server to attach its HMR websocket to
52
+ // when running in middlewareMode, since it isn't creating one itself.
53
+ let vite;
50
54
  const server = createHttpServer((req, res) => {
51
55
  const url = req.url ?? '/';
52
56
  if (url.startsWith('/assets/')) {
@@ -73,24 +77,34 @@ export const growCommand = defineCommand({
73
77
  return;
74
78
  }
75
79
  try {
76
- const mod = await vite.ssrLoadModule(match.route.file);
77
- const html = await mod.default.render(match.params);
78
- const full = hoistScripts(maybeWrap(html));
79
- res.writeHead(200, { 'Content-Type': 'text/html' });
80
- res.end(full);
80
+ const { status, body } = await handleRequest(routes, url, vite);
81
+ res.writeHead(status, { 'Content-Type': 'text/html' });
82
+ res.end(body);
81
83
  }
82
84
  catch (e) {
83
85
  const error = e;
84
86
  vite.ssrFixStacktrace(error);
85
87
  console.error(`[waldjs] Render failed for ${url}`);
86
88
  console.error(error.stack ?? String(error));
89
+ if (error.loc && !error.loc.file)
90
+ error.loc.file = match.route.file;
87
91
  if (!res.headersSent && !res.writableEnded) {
88
- res.writeHead(500, { 'Content-Type': 'text/plain' });
89
- res.end(String(error));
92
+ let body = renderErrorPage(error);
93
+ if (vite.transformIndexHtml) {
94
+ body = await vite.transformIndexHtml(url, body);
95
+ }
96
+ res.writeHead(500, { 'Content-Type': 'text/html' });
97
+ res.end(body);
90
98
  }
91
99
  }
92
100
  });
93
101
  });
102
+ vite = await withGrowingTree('Starting dev server...', createServer(mergeConfig(config.vite ?? {}, {
103
+ base: config.base,
104
+ server: { middlewareMode: true, hmr: { server } },
105
+ appType: 'custom',
106
+ plugins: [waldPlugin()],
107
+ })));
94
108
  server.listen(port, () => {
95
109
  printGrowReady(port, cwd, config.base, routes.length, staticCount, dynamicCount, Date.now() - start);
96
110
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grow.js","sourceRoot":"","sources":["../../src/commands/grow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grow.js","sourceRoot":"","sources":["../../src/commands/grow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function componentTemplate(name: string): string;
2
+ export declare function pageTemplate(route: string): string;
3
+ export declare function componentPath(cwd: string, name: string): string;
4
+ export declare function pagePath(cwd: string, route: string): string;
5
+ export declare function writeGenerated(path: string, content: string): void;
6
+ export declare const newCommand: import("citty").CommandDef<import("citty").ArgsDef>;
7
+ //# sourceMappingURL=new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAUA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBlD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMlE;AAwCD,eAAO,MAAM,UAAU,qDAMrB,CAAA"}
@@ -0,0 +1,98 @@
1
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { defineCommand } from 'citty';
4
+ function titleCase(segment) {
5
+ return segment
6
+ .replace(/[-_]/g, ' ')
7
+ .replace(/\b\w/g, (c) => c.toUpperCase());
8
+ }
9
+ export function componentTemplate(name) {
10
+ return [
11
+ '---',
12
+ '// Add typed props here, e.g.:',
13
+ '// type Props = { title: string }',
14
+ '---',
15
+ `<div class="${name}">`,
16
+ ` <!-- ${name} -->`,
17
+ '</div>',
18
+ '',
19
+ ].join('\n');
20
+ }
21
+ export function pageTemplate(route) {
22
+ const params = [...route.matchAll(/\[(\w+)\]/g)].map((m) => m[1]);
23
+ if (params.length === 0) {
24
+ const title = titleCase(route.split('/').pop() ?? route);
25
+ return ['---', `const title = '${title}'`, '---', '<h1>{title}</h1>', ''].join('\n');
26
+ }
27
+ const propsType = `{ ${params.map((p) => `${p}: string`).join('; ')} }`;
28
+ return [
29
+ '---',
30
+ `type Props = ${propsType}`,
31
+ '',
32
+ 'export async function getStaticPaths() {',
33
+ ' return []',
34
+ '}',
35
+ '---',
36
+ `<h1>{$$props.${params[0]}}</h1>`,
37
+ '',
38
+ ].join('\n');
39
+ }
40
+ export function componentPath(cwd, name) {
41
+ return join(cwd, 'src', 'components', `${name}.wald`);
42
+ }
43
+ export function pagePath(cwd, route) {
44
+ return join(cwd, 'src', 'pages', `${route}.wald`);
45
+ }
46
+ export function writeGenerated(path, content) {
47
+ if (existsSync(path)) {
48
+ throw new Error(`${path} already exists — refusing to overwrite it.`);
49
+ }
50
+ mkdirSync(dirname(path), { recursive: true });
51
+ writeFileSync(path, content);
52
+ }
53
+ const newComponentCommand = defineCommand({
54
+ meta: { description: 'Scaffold a new component in src/components/' },
55
+ args: {
56
+ name: { type: 'positional', description: 'Component name, e.g. Foo', required: true },
57
+ },
58
+ run({ args }) {
59
+ const name = args.name;
60
+ const path = componentPath(process.cwd(), name);
61
+ try {
62
+ writeGenerated(path, componentTemplate(name));
63
+ }
64
+ catch (e) {
65
+ console.error(`[waldjs] ${e.message}`);
66
+ process.exitCode = 1;
67
+ return;
68
+ }
69
+ console.log(`✔ Created ${path}`);
70
+ },
71
+ });
72
+ const newPageCommand = defineCommand({
73
+ meta: { description: 'Scaffold a new page in src/pages/' },
74
+ args: {
75
+ route: { type: 'positional', description: 'Route, e.g. about or blog/[slug]', required: true },
76
+ },
77
+ run({ args }) {
78
+ const route = args.route;
79
+ const path = pagePath(process.cwd(), route);
80
+ try {
81
+ writeGenerated(path, pageTemplate(route));
82
+ }
83
+ catch (e) {
84
+ console.error(`[waldjs] ${e.message}`);
85
+ process.exitCode = 1;
86
+ return;
87
+ }
88
+ console.log(`✔ Created ${path}`);
89
+ },
90
+ });
91
+ export const newCommand = defineCommand({
92
+ meta: { description: 'Scaffold a new component or page' },
93
+ subCommands: {
94
+ component: newComponentCommand,
95
+ page: newPageCommand,
96
+ },
97
+ });
98
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ type LocatedError = Error & {
2
+ loc?: {
3
+ file?: string;
4
+ line?: number;
5
+ column?: number;
6
+ };
7
+ frame?: string;
8
+ };
9
+ export declare function renderErrorPage(error: LocatedError): string;
10
+ export {};
11
+ //# sourceMappingURL=error-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-page.d.ts","sourceRoot":"","sources":["../src/error-page.ts"],"names":[],"mappings":"AAMA,KAAK,YAAY,GAAG,KAAK,GAAG;IAC1B,GAAG,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AASD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CA6B3D"}
@@ -0,0 +1,41 @@
1
+ // Renders compile/render failures during `wald grow` as a readable HTML page
2
+ // instead of a bare 500 with a plain-text stack. It goes through
3
+ // vite.transformIndexHtml() the same way a normal page response does (see
4
+ // grow.ts), so the Vite HMR client still connects on an error page and the
5
+ // browser auto-reloads on its own once the underlying file is fixed.
6
+ function escapeHtml(value) {
7
+ return value
8
+ .replace(/&/g, '&amp;')
9
+ .replace(/</g, '&lt;')
10
+ .replace(/>/g, '&gt;');
11
+ }
12
+ export function renderErrorPage(error) {
13
+ const message = escapeHtml(error.message ?? String(error));
14
+ const stack = error.stack ? escapeHtml(error.stack) : '';
15
+ const loc = error.loc;
16
+ const location = loc
17
+ ? `<p class="loc">${escapeHtml(String(loc.file ?? ''))}${loc.line !== undefined ? `:${loc.line}` : ''}${loc.column !== undefined ? `:${loc.column}` : ''}</p>`
18
+ : '';
19
+ const frame = error.frame ? `<pre class="frame">${escapeHtml(error.frame)}</pre>` : '';
20
+ return `<!DOCTYPE html>
21
+ <html lang="en">
22
+ <head>
23
+ <meta charset="UTF-8">
24
+ <meta name="viewport" content="width=device-width">
25
+ <title>Error — WaldJS</title>
26
+ <style>
27
+ body { margin: 0; padding: 2rem; background: #1e1e1e; color: #f0f0f0; font-family: ui-monospace, monospace; }
28
+ h1 { color: #ff5f5f; font-size: 1.1rem; margin: 0 0 1rem; white-space: pre-wrap; }
29
+ .loc { color: #9cdcfe; margin: 0 0 1rem; }
30
+ pre { background: #111; padding: 1rem; border-radius: 6px; overflow: auto; white-space: pre-wrap; }
31
+ </style>
32
+ </head>
33
+ <body>
34
+ <h1>${message}</h1>
35
+ ${location}
36
+ ${frame}
37
+ ${stack ? `<pre class="stack">${stack}</pre>` : ''}
38
+ </body>
39
+ </html>`;
40
+ }
41
+ //# sourceMappingURL=error-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-page.js","sourceRoot":"","sources":["../src/error-page.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,iEAAiE;AACjE,0EAA0E;AAC1E,2EAA2E;AAC3E,qEAAqE;AAOrE,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;IACrB,MAAM,QAAQ,GAAG,GAAG;QAClB,CAAC,CAAC,kBAAkB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM;QAC9J,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtF,OAAO;;;;;;;;;;;;;;QAcD,OAAO;IACX,QAAQ;IACR,KAAK;IACL,KAAK,CAAC,CAAC,CAAC,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE;;QAE5C,CAAA;AACR,CAAC"}
@@ -0,0 +1,21 @@
1
+ export type OptimizedImage = {
2
+ src: string;
3
+ width: number;
4
+ height: number;
5
+ srcset: string;
6
+ };
7
+ export type ImageContext = {
8
+ assetsDir: string;
9
+ outDir?: string;
10
+ publicPath: string;
11
+ };
12
+ export type ImageProps = {
13
+ src: string;
14
+ alt?: string;
15
+ widths?: number[];
16
+ sizes?: string;
17
+ };
18
+ export declare function optimizeImage(absoluteSrcPath: string, outDir: string, publicPath: string, widths?: number[]): Promise<OptimizedImage>;
19
+ export declare function renderImageTag(image: OptimizedImage, alt: string, sizes?: string): string;
20
+ export declare function renderImage(props: ImageProps, context: ImageContext): Promise<string>;
21
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAUD,wBAAsB,aAAa,CACjC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,EAAmB,GAChC,OAAO,CAAC,cAAc,CAAC,CAQzB;AAgDD,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,SAAU,GAAG,MAAM,CAI1F;AAKD,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3F"}
package/dist/image.js ADDED
@@ -0,0 +1,72 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import { basename, extname, join } from 'node:path';
4
+ import sharp from 'sharp';
5
+ const DEFAULT_WIDTHS = [400, 800];
6
+ // Formats sharp can't usefully re-encode (vector/animated) are copied through
7
+ // unprocessed rather than failing the build.
8
+ const PASSTHROUGH_EXTENSIONS = new Set(['.svg', '.gif']);
9
+ const cache = new Map();
10
+ export async function optimizeImage(absoluteSrcPath, outDir, publicPath, widths = DEFAULT_WIDTHS) {
11
+ const cacheKey = `${absoluteSrcPath}\0${outDir}\0${publicPath}\0${widths.join(',')}`;
12
+ const cached = cache.get(cacheKey);
13
+ if (cached)
14
+ return cached;
15
+ const promise = optimizeImageUncached(absoluteSrcPath, outDir, publicPath, widths);
16
+ cache.set(cacheKey, promise);
17
+ return promise;
18
+ }
19
+ async function optimizeImageUncached(absoluteSrcPath, outDir, publicPath, widths) {
20
+ mkdirSync(outDir, { recursive: true });
21
+ const ext = extname(absoluteSrcPath).toLowerCase();
22
+ if (PASSTHROUGH_EXTENSIONS.has(ext)) {
23
+ const fileName = basename(absoluteSrcPath);
24
+ writeFileSync(join(outDir, fileName), readFileSync(absoluteSrcPath));
25
+ return { src: `${publicPath}/${fileName}`, width: 0, height: 0, srcset: '' };
26
+ }
27
+ const base = basename(absoluteSrcPath, ext);
28
+ const hash = createHash('sha1').update(absoluteSrcPath).digest('hex').slice(0, 8);
29
+ const metadata = await sharp(absoluteSrcPath).metadata();
30
+ const naturalWidth = metadata.width ?? 0;
31
+ const naturalHeight = metadata.height ?? 0;
32
+ const usableWidths = [...new Set(widths.filter((w) => w <= naturalWidth))];
33
+ if (usableWidths.length === 0 && naturalWidth > 0)
34
+ usableWidths.push(naturalWidth);
35
+ const srcsetParts = [];
36
+ let primarySrc = '';
37
+ for (const width of usableWidths.sort((a, b) => a - b)) {
38
+ const fileName = `${base}-${hash}-${width}.webp`;
39
+ await sharp(absoluteSrcPath).resize(width).webp().toFile(join(outDir, fileName));
40
+ const url = `${publicPath}/${fileName}`;
41
+ srcsetParts.push(`${url} ${width}w`);
42
+ primarySrc = url;
43
+ }
44
+ return {
45
+ src: primarySrc,
46
+ width: naturalWidth,
47
+ height: naturalHeight,
48
+ srcset: srcsetParts.join(', '),
49
+ };
50
+ }
51
+ function escapeAttr(value) {
52
+ return value.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;');
53
+ }
54
+ export function renderImageTag(image, alt, sizes = '100vw') {
55
+ const dims = image.width && image.height ? ` width="${image.width}" height="${image.height}"` : '';
56
+ const srcsetAttr = image.srcset ? ` srcset="${image.srcset}" sizes="${escapeAttr(sizes)}"` : '';
57
+ return `<img src="${image.src}" alt="${escapeAttr(alt)}"${dims}${srcsetAttr}>`;
58
+ }
59
+ // Bridges the `wald:image` virtual module (see vite-plugin.ts) to the logic
60
+ // above. In dev mode (no outDir configured) it skips processing entirely —
61
+ // wald grow's existing /assets/* static serving already handles the file.
62
+ export async function renderImage(props, context) {
63
+ const { src, alt = '', widths, sizes } = props;
64
+ if (!context.outDir) {
65
+ return `<img src="${src}" alt="${escapeAttr(alt)}">`;
66
+ }
67
+ const relative = src.replace(/^\/assets\//, '');
68
+ const absoluteSrc = join(context.assetsDir, relative);
69
+ const image = await optimizeImage(absoluteSrc, context.outDir, context.publicPath, widths);
70
+ return renderImageTag(image, alt, sizes);
71
+ }
72
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,6 @@ export { defineConfig, loadWaldConfig } from './config.js';
2
2
  export type { WaldConfig } from './config.js';
3
3
  export { defineAdapter, staticAdapter, netlifyAdapter, cloudflarePagesAdapter, vercelAdapter, } from './adapters.js';
4
4
  export type { WaldAdapter, WaldAdapterContext } from './adapters.js';
5
+ export { optimizeImage, renderImage, renderImageTag } from './image.js';
6
+ export type { ImageContext, ImageProps, OptimizedImage } from './image.js';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACvE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export { defineConfig, loadWaldConfig } from './config.js';
2
2
  export { defineAdapter, staticAdapter, netlifyAdapter, cloudflarePagesAdapter, vercelAdapter, } from './adapters.js';
3
+ export { optimizeImage, renderImage, renderImageTag } from './image.js';
3
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare function needsPrefetchRuntime(html: string): boolean;
2
+ export declare function injectPrefetchRuntime(html: string): string;
3
+ //# sourceMappingURL=prefetch-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefetch-runtime.d.ts","sourceRoot":"","sources":["../src/prefetch-runtime.ts"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D"}
@@ -0,0 +1,16 @@
1
+ import { prefetchRuntimeScript } from '@waldjs/canopy/prefetch';
2
+ const PREFETCH_ATTR_PATTERN = /\swald:prefetch\s*=/;
3
+ // Detecting per-rendered-page (rather than pre-scanning source files, the
4
+ // way Canopy islands are scanned) keeps this independent of the canopy
5
+ // asset-bundling pipeline entirely — the runtime is a small inline <script>,
6
+ // not a separate bundled asset, so there's nothing to resolve at dev time.
7
+ export function needsPrefetchRuntime(html) {
8
+ return PREFETCH_ATTR_PATTERN.test(html);
9
+ }
10
+ export function injectPrefetchRuntime(html) {
11
+ if (!needsPrefetchRuntime(html))
12
+ return html;
13
+ const script = `<script>${prefetchRuntimeScript()}</script>`;
14
+ return html.includes('</body>') ? html.replace('</body>', `${script}\n</body>`) : html + script;
15
+ }
16
+ //# sourceMappingURL=prefetch-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefetch-runtime.js","sourceRoot":"","sources":["../src/prefetch-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,MAAM,qBAAqB,GAAG,qBAAqB,CAAA;AAEnD,0EAA0E;AAC1E,uEAAuE;AACvE,6EAA6E;AAC7E,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,MAAM,GAAG,WAAW,qBAAqB,EAAE,WAAW,CAAA;IAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAA;AACjG,CAAC"}
@@ -1,3 +1,9 @@
1
1
  import type { Plugin } from 'vite';
2
- export declare function waldPlugin(): Plugin[];
2
+ export type WaldPluginOptions = {
3
+ image?: {
4
+ outDir: string;
5
+ publicPath: string;
6
+ };
7
+ };
8
+ export declare function waldPlugin(options?: WaldPluginOptions): Plugin[];
3
9
  //# sourceMappingURL=vite-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAgClC,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAkErC"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,MAAM,CAAA;AAyC9C,MAAM,MAAM,iBAAiB,GAAG;IAK9B,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/C,CAAA;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,EAAE,CA8FpE"}
@@ -1,9 +1,10 @@
1
1
  import { compile, parse } from '@waldjs/compiler';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
- import { dirname, join } from 'node:path';
3
+ import { dirname, join, sep } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { transformWithEsbuild } from 'vite';
6
6
  const VIRTUAL_CONTENT_ID = '\0wald:content';
7
+ const VIRTUAL_IMAGE_ID = '\0wald:image';
7
8
  const CANOPY_SCRIPT_SUFFIX = '.wald?canopy-script';
8
9
  // These 3 packages are vendored via the CLI, not meant to be direct project
9
10
  // dependencies — a scaffolded package.json only ever lists '@waldjs/cli'.
@@ -32,7 +33,14 @@ function resolveWaldPackage(pkgId) {
32
33
  dir = parent;
33
34
  }
34
35
  }
35
- export function waldPlugin() {
36
+ // wald grow renders every page fresh per HTTP request via ssrLoadModule(), so
37
+ // edited .wald/content modules only ever live in Vite's *ssr* module graph —
38
+ // Vite's default HMR propagation walks the *client* graph to decide who to
39
+ // notify, so it never reaches the browser on its own. We tell it explicitly.
40
+ function needsFullReload(file) {
41
+ return file.endsWith('.wald') || file.includes(`${sep}content${sep}`);
42
+ }
43
+ export function waldPlugin(options = {}) {
36
44
  return [
37
45
  {
38
46
  name: 'vite-plugin-wald',
@@ -61,6 +69,12 @@ export function waldPlugin() {
61
69
  this.error({ message, loc });
62
70
  }
63
71
  },
72
+ handleHotUpdate(ctx) {
73
+ if (!needsFullReload(ctx.file))
74
+ return;
75
+ ctx.server.ws.send({ type: 'full-reload' });
76
+ return [];
77
+ },
64
78
  },
65
79
  {
66
80
  name: 'vite-plugin-wald-content',
@@ -80,6 +94,28 @@ export function waldPlugin() {
80
94
  ].join('\n');
81
95
  },
82
96
  },
97
+ {
98
+ name: 'vite-plugin-wald-image',
99
+ resolveId(id) {
100
+ if (id === 'wald:image')
101
+ return VIRTUAL_IMAGE_ID;
102
+ },
103
+ load(id) {
104
+ if (id !== VIRTUAL_IMAGE_ID)
105
+ return;
106
+ const context = JSON.stringify({
107
+ assetsDir: join(process.cwd(), 'src', 'assets'),
108
+ outDir: options.image?.outDir,
109
+ publicPath: options.image?.publicPath ?? '/assets/optimized',
110
+ });
111
+ return [
112
+ `import { createTree } from '@waldjs/runtime'`,
113
+ `import { renderImage } from '@waldjs/cli'`,
114
+ `const $$imageContext = ${context}`,
115
+ `export const Image = createTree(async ($$result, $$props) => renderImage($$props, $$imageContext))`,
116
+ ].join('\n');
117
+ },
118
+ },
83
119
  {
84
120
  name: 'vite-plugin-wald-canopy-script',
85
121
  resolveId(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waldjs/cli",
3
- "version": "0.3.2",
3
+ "version": "0.5.0",
4
4
  "description": "CLI for WaldJS — plant, grow, build, preview",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -27,13 +27,14 @@
27
27
  "dependencies": {
28
28
  "citty": "^0.1.6",
29
29
  "ora": "^8.0.0",
30
+ "sharp": "^0.33.0",
30
31
  "sirv": "^3.0.0",
31
32
  "typescript": "^5.5.0",
32
33
  "vite": "^5.0.0",
34
+ "@waldjs/canopy": "0.2.0",
33
35
  "@waldjs/compiler": "0.1.0",
34
36
  "@waldjs/content": "0.1.0",
35
- "@waldjs/runtime": "0.1.0",
36
- "@waldjs/canopy": "0.1.0"
37
+ "@waldjs/runtime": "0.1.0"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@types/node": "^20.0.0",