@jasonshimmy/vite-plugin-cer-app 0.1.5 → 0.2.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.
Files changed (81) hide show
  1. package/.github/workflows/publish.yml +56 -5
  2. package/CHANGELOG.md +8 -0
  3. package/README.md +5 -2
  4. package/commits.txt +1 -1
  5. package/dist/cli/commands/build.d.ts.map +1 -1
  6. package/dist/cli/commands/build.js +19 -5
  7. package/dist/cli/commands/build.js.map +1 -1
  8. package/dist/cli/commands/dev.js +1 -1
  9. package/dist/cli/commands/dev.js.map +1 -1
  10. package/dist/cli/commands/preview.d.ts.map +1 -1
  11. package/dist/cli/commands/preview.js +0 -1
  12. package/dist/cli/commands/preview.js.map +1 -1
  13. package/dist/cli/create/templates/spa/app/app.ts.tpl +93 -0
  14. package/dist/cli/create/templates/spa/app/layouts/default.ts.tpl +15 -0
  15. package/dist/cli/create/templates/spa/app/pages/index.ts.tpl +8 -0
  16. package/dist/cli/create/templates/spa/cer.config.ts.tpl +6 -0
  17. package/{e2e/kitchen-sink/index.html → dist/cli/create/templates/spa/index.html.tpl} +3 -3
  18. package/dist/cli/create/templates/spa/package.json.tpl +18 -0
  19. package/dist/cli/create/templates/ssg/app/app.ts.tpl +97 -0
  20. package/dist/cli/create/templates/ssg/app/layouts/default.ts.tpl +15 -0
  21. package/dist/cli/create/templates/ssg/app/pages/index.ts.tpl +8 -0
  22. package/dist/cli/create/templates/ssg/cer.config.ts.tpl +13 -0
  23. package/dist/cli/create/templates/ssg/index.html.tpl +12 -0
  24. package/dist/cli/create/templates/ssg/package.json.tpl +19 -0
  25. package/dist/cli/create/templates/ssr/app/app.ts.tpl +97 -0
  26. package/dist/cli/create/templates/ssr/app/layouts/default.ts.tpl +15 -0
  27. package/dist/cli/create/templates/ssr/app/pages/index.ts.tpl +8 -0
  28. package/dist/cli/create/templates/ssr/cer.config.ts.tpl +10 -0
  29. package/dist/cli/create/templates/ssr/index.html.tpl +12 -0
  30. package/dist/cli/create/templates/ssr/package.json.tpl +18 -0
  31. package/dist/plugin/build-ssg.d.ts.map +1 -1
  32. package/dist/plugin/build-ssg.js.map +1 -1
  33. package/dist/plugin/build-ssr.d.ts +10 -0
  34. package/dist/plugin/build-ssr.d.ts.map +1 -1
  35. package/dist/plugin/build-ssr.js +21 -8
  36. package/dist/plugin/build-ssr.js.map +1 -1
  37. package/dist/plugin/dev-server.d.ts.map +1 -1
  38. package/dist/plugin/dev-server.js +0 -2
  39. package/dist/plugin/dev-server.js.map +1 -1
  40. package/dist/plugin/dts-generator.d.ts +4 -4
  41. package/dist/plugin/dts-generator.d.ts.map +1 -1
  42. package/dist/plugin/dts-generator.js +39 -19
  43. package/dist/plugin/dts-generator.js.map +1 -1
  44. package/dist/plugin/generated-dir.d.ts +34 -0
  45. package/dist/plugin/generated-dir.d.ts.map +1 -0
  46. package/dist/plugin/generated-dir.js +94 -0
  47. package/dist/plugin/generated-dir.js.map +1 -0
  48. package/dist/plugin/index.d.ts.map +1 -1
  49. package/dist/plugin/index.js +27 -0
  50. package/dist/plugin/index.js.map +1 -1
  51. package/dist/plugin/path-utils.js.map +1 -1
  52. package/dist/plugin/virtual/loading.d.ts.map +1 -1
  53. package/dist/plugin/virtual/loading.js.map +1 -1
  54. package/dist/runtime/app-template.d.ts +8 -0
  55. package/dist/runtime/app-template.d.ts.map +1 -0
  56. package/dist/runtime/app-template.js +158 -0
  57. package/dist/runtime/app-template.js.map +1 -0
  58. package/docs/cli.md +10 -8
  59. package/docs/configuration.md +6 -4
  60. package/docs/getting-started.md +2 -2
  61. package/docs/rendering-modes.md +2 -2
  62. package/docs/routing.md +1 -1
  63. package/e2e/kitchen-sink/tsconfig.json +3 -0
  64. package/eslint.config.ts +22 -0
  65. package/package.json +7 -2
  66. package/src/__tests__/plugin/build-ssr.test.ts +24 -10
  67. package/src/__tests__/plugin/cer-app-plugin.test.ts +35 -0
  68. package/src/__tests__/plugin/dts-generator.test.ts +15 -6
  69. package/src/__tests__/plugin/generated-dir.test.ts +168 -0
  70. package/src/cli/commands/build.ts +19 -5
  71. package/src/cli/commands/dev.ts +2 -2
  72. package/src/cli/commands/preview.ts +7 -5
  73. package/src/plugin/build-ssg.ts +2 -2
  74. package/src/plugin/build-ssr.ts +22 -8
  75. package/src/plugin/dev-server.ts +4 -3
  76. package/src/plugin/dts-generator.ts +43 -19
  77. package/src/plugin/generated-dir.ts +102 -0
  78. package/src/plugin/index.ts +32 -1
  79. package/src/plugin/path-utils.ts +1 -1
  80. package/src/plugin/virtual/loading.ts +0 -1
  81. package/{e2e/kitchen-sink/app/app.ts → src/runtime/app-template.ts} +23 -7
@@ -17,7 +17,62 @@ env:
17
17
  FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
18
18
 
19
19
  jobs:
20
+ validate:
21
+ name: Lint, test, build & e2e
22
+ runs-on: ubuntu-latest
23
+ timeout-minutes: 20
24
+
25
+ steps:
26
+ - name: Checkout code
27
+ uses: actions/checkout@v4
28
+ with:
29
+ fetch-depth: 0
30
+
31
+ - name: Use Node.js version from .nvmrc
32
+ uses: actions/setup-node@v4
33
+ with:
34
+ node-version-file: .nvmrc
35
+ registry-url: 'https://registry.npmjs.org/'
36
+
37
+ - name: Cache node modules
38
+ uses: actions/cache@v4
39
+ with:
40
+ path: node_modules
41
+ key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
42
+ restore-keys: |
43
+ ${{ runner.os }}-node-
44
+
45
+ - name: Install dependencies
46
+ run: npm ci
47
+
48
+ - name: Install Cypress system dependencies
49
+ run: |
50
+ sudo apt-get update -y
51
+ sudo apt-get install -y \
52
+ libgtk2.0-0t64 libgtk-3-0t64 libgbm-dev libnotify-dev \
53
+ libnss3 libxss1 libasound2t64 libxtst6 xauth xvfb
54
+
55
+ - name: Lint
56
+ run: npm run lint
57
+
58
+ - name: Unit tests
59
+ run: npm test
60
+
61
+ - name: Build library
62
+ run: npm run build
63
+
64
+ - name: E2E tests (SSR)
65
+ run: xvfb-run --auto-servernum npm run e2e:ssr
66
+
67
+ - name: E2E tests (SSG)
68
+ run: xvfb-run --auto-servernum npm run e2e:ssg
69
+
70
+ - name: E2E tests (SPA)
71
+ run: xvfb-run --auto-servernum npm run e2e:spa
72
+
20
73
  release:
74
+ name: Version & publish
75
+ needs: validate
21
76
  runs-on: ubuntu-latest
22
77
  timeout-minutes: 15
23
78
 
@@ -25,7 +80,7 @@ jobs:
25
80
  - name: Checkout code
26
81
  uses: actions/checkout@v4
27
82
  with:
28
- fetch-depth: 0 # Fetch all history and tags
83
+ fetch-depth: 0
29
84
 
30
85
  # Resolve the latest tag once so all subsequent steps share the same baseline.
31
86
  - name: Resolve baseline tag
@@ -78,10 +133,6 @@ jobs:
78
133
  if: steps.should_release.outputs.value == 'true'
79
134
  run: npm ci
80
135
 
81
- - name: Run tests
82
- if: steps.should_release.outputs.value == 'true'
83
- run: npm test
84
-
85
136
  - name: Build library
86
137
  if: steps.should_release.outputs.value == 'true'
87
138
  run: npm run build
package/CHANGELOG.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # Changelog
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
+ ## [v0.2.0] - 2026-03-20
5
+
6
+ - feat: introduce generated directory for app files and HTML (c8fdcdd)
7
+
8
+ ## [v0.1.6] - 2026-03-20
9
+
10
+ - fix: update CLI usage instructions to include --package flag for create-cer-app (457114d)
11
+
4
12
  ## [v0.1.5] - 2026-03-20
5
13
 
6
14
  - fix: use vite plugin for light dom jit css fix: update incorrect docs fix: fix the plugin config (c32cf6a)
package/README.md CHANGED
@@ -58,17 +58,20 @@ export default defineConfig({
58
58
  The fastest path is scaffolding a new project:
59
59
 
60
60
  ```sh
61
- npx create-cer-app my-app
61
+ npx --package @jasonshimmy/vite-plugin-cer-app create-cer-app my-app
62
62
  # → choose spa / ssr / ssg
63
63
  cd my-app
64
64
  npm install
65
65
  npm run dev
66
66
  ```
67
67
 
68
- Or install the CLI globally:
68
+ > **Note:** The `--package` flag is required because `create-cer-app` is bundled inside `@jasonshimmy/vite-plugin-cer-app` rather than published as a standalone package.
69
+
70
+ Or install the CLI globally to skip the flag entirely:
69
71
 
70
72
  ```sh
71
73
  npm install -g @jasonshimmy/vite-plugin-cer-app
74
+ create-cer-app my-app
72
75
  cer-app dev
73
76
  ```
74
77
 
package/commits.txt CHANGED
@@ -1 +1 @@
1
- - fix: use vite plugin for light dom jit css fix: update incorrect docs fix: fix the plugin config (c32cf6a)
1
+ - feat: introduce generated directory for app files and HTML (c8fdcdd)
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuDnC,wBAAgB,YAAY,IAAI,OAAO,CA0DtC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAwDnC,wBAAgB,YAAY,IAAI,OAAO,CAuEtC"}
@@ -1,11 +1,12 @@
1
1
  import { Command } from 'commander';
2
2
  import { build } from 'vite';
3
- import { resolve } from 'pathe';
3
+ import { resolve, join } from 'pathe';
4
4
  import { pathToFileURL } from 'node:url';
5
- import { existsSync } from 'node:fs';
5
+ import { existsSync, renameSync } from 'node:fs';
6
6
  import { cerApp, resolveConfig } from '../../plugin/index.js';
7
- import { buildSSR } from '../../plugin/build-ssr.js';
7
+ import { buildSSR, resolveClientEntry } from '../../plugin/build-ssr.js';
8
8
  import { buildSSG } from '../../plugin/build-ssg.js';
9
+ import { writeGeneratedDir } from '../../plugin/generated-dir.js';
9
10
  async function loadCerConfig(root) {
10
11
  const configPath = resolve(root, 'cer.config.ts');
11
12
  const configPathJs = resolve(root, 'cer.config.js');
@@ -64,15 +65,28 @@ export function buildCommand() {
64
65
  console.log(`[cer-app] Building in ${config.mode} mode...`);
65
66
  switch (config.mode) {
66
67
  case 'spa': {
67
- // Standard Vite build single-page app
68
+ // Write .cer/ files BEFORE resolveClientEntry checks for .cer/index.html.
69
+ writeGeneratedDir(config);
70
+ const spaEntry = resolveClientEntry(config);
71
+ const spaOutDir = resolve(root, 'dist');
68
72
  await build({
69
73
  root,
70
74
  plugins: cerApp(userConfig),
71
75
  build: {
72
- outDir: resolve(root, 'dist'),
76
+ outDir: spaOutDir,
77
+ rollupOptions: { input: spaEntry },
73
78
  },
74
79
  });
80
+ // If the entry was .cer/index.html, Vite outputs it as dist/.cer/index.html.
81
+ // Rename it to dist/index.html so the preview server can find it.
82
+ const generatedHtmlOut = join(spaOutDir, '.cer/index.html');
83
+ const rootHtmlOut = join(spaOutDir, 'index.html');
84
+ if (existsSync(generatedHtmlOut) && !existsSync(rootHtmlOut)) {
85
+ renameSync(generatedHtmlOut, rootHtmlOut);
86
+ }
75
87
  console.log('[cer-app] SPA build complete.');
88
+ // Force exit: Vite HTML builds may keep Node timers alive.
89
+ process.exit(0);
76
90
  break;
77
91
  }
78
92
  case 'ssr': {
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAGjE,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;YACxB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IAExB,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,SAAS,CAAC;YACd,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,YAAY;iBACvB;gBACD,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,6BAA6B,CAAC;gBACpD,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;aACxF;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAA;QAC3E,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC1E,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3E,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,wDAAwD,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;QAE5C,wCAAwC;QACxC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAA6B,CAAA;QACzD,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAE9C,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,IAAI,UAAU,CAAC,CAAA;QAE3D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,0EAA0E;gBAC1E,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBACzB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACvC,MAAM,KAAK,CAAC;oBACV,IAAI;oBACJ,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;oBAC3B,KAAK,EAAE;wBACL,MAAM,EAAE,SAAS;wBACjB,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;qBACnC;iBACF,CAAC,CAAA;gBACF,6EAA6E;gBAC7E,kEAAkE;gBAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;gBAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;gBACjD,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC7D,UAAU,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;gBAC3C,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;gBAC5C,2DAA2D;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,MAAK;YACP,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,cAAc,GAAG;oBACrB,IAAI;oBACJ,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;iBAC5B,CAAA;gBACD,MAAM,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;gBACtC,MAAK;YACP,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,cAAc,GAAG;oBACrB,IAAI;oBACJ,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;iBAC5B,CAAA;gBACD,MAAM,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;gBACtC,8EAA8E;gBAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,MAAK;YACP,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -23,7 +23,7 @@ async function loadCerConfig(root) {
23
23
  try {
24
24
  // Use Vite's build to transpile TS config at runtime
25
25
  const { build } = await import('vite');
26
- const result = await build({
26
+ await build({
27
27
  build: {
28
28
  lib: {
29
29
  entry: filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAG7D;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;YACxB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QACjE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,qDAAqD;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;YACzB,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,YAAY;iBACvB;gBACD,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,6BAA6B,CAAC;gBACpD,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE;oBACb,oEAAoE;oBACpE,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;iBACrE;aACF;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAA;QAC3E,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC1E,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0EAA0E,EAAE,GAAG,CAAC,CAAA;IAC/F,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3E,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,WAAW,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAElF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAE/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,IAAI;YACJ,MAAM,EAAE;gBACN,IAAI;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB;YACD,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;QACrB,MAAM,CAAC,SAAS,EAAE,CAAA;QAElB,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAG9C;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;YACxB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QACjE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,qDAAqD;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,KAAK,CAAC;YACV,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,YAAY;iBACvB;gBACD,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,6BAA6B,CAAC;gBACpD,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE;oBACb,oEAAoE;oBACpE,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;iBACrE;aACF;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAA;QAC3E,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC1E,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0EAA0E,EAAE,GAAG,CAAC,CAAA;IAC/F,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3E,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,WAAW,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAElF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAE/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,IAAI;YACJ,MAAM,EAAE;gBACN,IAAI;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB;YACD,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;QACrB,MAAM,CAAC,SAAS,EAAE,CAAA;QAElB,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoFnC,wBAAgB,cAAc,IAAI,OAAO,CAwJxC"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoFnC,wBAAgB,cAAc,IAAI,OAAO,CA0JxC"}
@@ -95,7 +95,6 @@ export function previewCommand() {
95
95
  const useSSR = options.ssr || (hasServerBundle && !hasSsgManifest);
96
96
  if (useSSR && hasServerBundle) {
97
97
  console.log('[cer-app] Starting SSR preview server...');
98
- // Load the server bundle
99
98
  let serverMod;
100
99
  try {
101
100
  serverMod = await import(pathToFileURL(serverBundle).href);
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import '@jasonshimmy/custom-elements-runtime/css'
2
+ import 'virtual:cer-jit-css'
3
+ import 'virtual:cer-components'
4
+ import routes from 'virtual:cer-routes'
5
+ import layouts from 'virtual:cer-layouts'
6
+ import plugins from 'virtual:cer-plugins'
7
+ import { hasLoading, loadingTag } from 'virtual:cer-loading'
8
+ import { hasError, errorTag } from 'virtual:cer-error'
9
+ import {
10
+ component,
11
+ ref,
12
+ provide,
13
+ useOnConnected,
14
+ useOnDisconnected,
15
+ registerBuiltinComponents,
16
+ } from '@jasonshimmy/custom-elements-runtime'
17
+ import { initRouter } from '@jasonshimmy/custom-elements-runtime/router'
18
+ import { enableJITCSS } from '@jasonshimmy/custom-elements-runtime/jit-css'
19
+
20
+ registerBuiltinComponents()
21
+ enableJITCSS()
22
+
23
+ const router = initRouter({ routes })
24
+
25
+ const isNavigating = ref(false)
26
+ const currentError = ref(null)
27
+ ;(globalThis as any).resetError = () => {
28
+ currentError.value = null
29
+ router.replace(router.getCurrent().path)
30
+ }
31
+
32
+ const _push = router.push.bind(router)
33
+ const _replace = router.replace.bind(router)
34
+ router.push = async (path) => {
35
+ isNavigating.value = true
36
+ currentError.value = null
37
+ try { await _push(path) } catch (err) { currentError.value = err instanceof Error ? err.message : String(err) } finally { isNavigating.value = false }
38
+ }
39
+ router.replace = async (path) => {
40
+ isNavigating.value = true
41
+ currentError.value = null
42
+ try { await _replace(path) } catch (err) { currentError.value = err instanceof Error ? err.message : String(err) } finally { isNavigating.value = false }
43
+ }
44
+
45
+ const _pluginProvides = new Map<string, unknown>()
46
+ ;(globalThis as any).__cerPluginProvides = _pluginProvides
47
+
48
+ component('cer-layout-view', () => {
49
+ for (const [key, value] of _pluginProvides) {
50
+ provide(key, value)
51
+ }
52
+
53
+ const current = ref(router.getCurrent())
54
+ let unsub: (() => void) | undefined
55
+ useOnConnected(() => { unsub = router.subscribe((s: typeof current.value) => { current.value = s }) })
56
+ useOnDisconnected(() => { unsub?.(); unsub = undefined })
57
+
58
+ if (currentError.value !== null) {
59
+ if (hasError && errorTag) return { tag: errorTag, props: { attrs: { error: String(currentError.value) } }, children: [] }
60
+ return { tag: 'div', props: { attrs: { style: 'padding:2rem;font-family:monospace' } }, children: String(currentError.value) }
61
+ }
62
+ if (isNavigating.value && hasLoading && loadingTag) return { tag: loadingTag, props: {}, children: [] }
63
+
64
+ const matched = router.matchRoute(current.value.path)
65
+ const layoutName = (matched?.route as any)?.meta?.layout ?? 'default'
66
+ const layoutTag = (layouts as Record<string, string>)[layoutName]
67
+ const routerView = { tag: 'router-view', props: {}, children: [] }
68
+ return layoutTag ? { tag: layoutTag, props: {}, children: [routerView] } : routerView
69
+ })
70
+
71
+ for (const plugin of plugins) {
72
+ if (plugin && typeof plugin.setup === 'function') {
73
+ await plugin.setup({ router, provide: (key: string, value: unknown) => { _pluginProvides.set(key, value) }, config: {} })
74
+ }
75
+ }
76
+
77
+ // Pre-load the current page's route chunk AFTER plugins run so that
78
+ // cer-layout-view's first render (which calls provide()) completes before
79
+ // page components are defined. This ensures inject() in child components
80
+ // can find values stored by provide().
81
+ if (typeof window !== 'undefined') {
82
+ const _initMatch = router.matchRoute(window.location.pathname)
83
+ if (_initMatch?.route?.load) {
84
+ try { await _initMatch.route.load() } catch { /* non-fatal */ }
85
+ }
86
+ }
87
+
88
+ if (typeof window !== 'undefined') {
89
+ // Use the original (unwrapped) replace so isNavigating stays false on first paint.
90
+ await _replace(window.location.pathname + window.location.search + window.location.hash)
91
+ }
92
+
93
+ export { router }
@@ -0,0 +1,15 @@
1
+ component('layout-default', () => {
2
+ return html`
3
+ <header>
4
+ <nav>
5
+ <router-link to="/">Home</router-link>
6
+ </nav>
7
+ </header>
8
+ <main>
9
+ <slot></slot>
10
+ </main>
11
+ <footer>
12
+ <p>Built with CER App</p>
13
+ </footer>
14
+ `
15
+ })
@@ -0,0 +1,8 @@
1
+ component('page-index', () => {
2
+ return html`
3
+ <div>
4
+ <h1>Welcome to {{projectName}}</h1>
5
+ <p>Edit <code>app/pages/index.ts</code> to get started.</p>
6
+ </div>
7
+ `
8
+ })
@@ -0,0 +1,6 @@
1
+ import { defineConfig } from '@jasonshimmy/vite-plugin-cer-app'
2
+
3
+ export default defineConfig({
4
+ mode: 'spa',
5
+ autoImports: { components: true, composables: true, directives: true, runtime: true },
6
+ })
@@ -1,9 +1,9 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Kitchen Sink</title>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{{projectName}}</title>
7
7
  </head>
8
8
  <body>
9
9
  <cer-layout-view></cer-layout-view>
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "cer-app dev",
7
+ "build": "cer-app build",
8
+ "preview": "cer-app preview"
9
+ },
10
+ "dependencies": {
11
+ "@jasonshimmy/custom-elements-runtime": "^3.1.1"
12
+ },
13
+ "devDependencies": {
14
+ "vite": "^5.0.0",
15
+ "@jasonshimmy/vite-plugin-cer-app": "^0.1.0",
16
+ "typescript": "^5.4.0"
17
+ }
18
+ }
@@ -0,0 +1,97 @@
1
+ import '@jasonshimmy/custom-elements-runtime/css'
2
+ import 'virtual:cer-jit-css'
3
+ import 'virtual:cer-components'
4
+ import routes from 'virtual:cer-routes'
5
+ import layouts from 'virtual:cer-layouts'
6
+ import plugins from 'virtual:cer-plugins'
7
+ import { hasLoading, loadingTag } from 'virtual:cer-loading'
8
+ import { hasError, errorTag } from 'virtual:cer-error'
9
+ import {
10
+ component,
11
+ ref,
12
+ provide,
13
+ useOnConnected,
14
+ useOnDisconnected,
15
+ registerBuiltinComponents,
16
+ } from '@jasonshimmy/custom-elements-runtime'
17
+ import { initRouter } from '@jasonshimmy/custom-elements-runtime/router'
18
+ import { enableJITCSS } from '@jasonshimmy/custom-elements-runtime/jit-css'
19
+
20
+ registerBuiltinComponents()
21
+ enableJITCSS()
22
+
23
+ const router = initRouter({ routes })
24
+
25
+ const isNavigating = ref(false)
26
+ const currentError = ref(null)
27
+ ;(globalThis as any).resetError = () => {
28
+ currentError.value = null
29
+ router.replace(router.getCurrent().path)
30
+ }
31
+
32
+ const _push = router.push.bind(router)
33
+ const _replace = router.replace.bind(router)
34
+ router.push = async (path) => {
35
+ isNavigating.value = true
36
+ currentError.value = null
37
+ try { await _push(path) } catch (err) { currentError.value = err instanceof Error ? err.message : String(err) } finally { isNavigating.value = false }
38
+ }
39
+ router.replace = async (path) => {
40
+ isNavigating.value = true
41
+ currentError.value = null
42
+ try { await _replace(path) } catch (err) { currentError.value = err instanceof Error ? err.message : String(err) } finally { isNavigating.value = false }
43
+ }
44
+
45
+ const _pluginProvides = new Map<string, unknown>()
46
+ ;(globalThis as any).__cerPluginProvides = _pluginProvides
47
+
48
+ component('cer-layout-view', () => {
49
+ for (const [key, value] of _pluginProvides) {
50
+ provide(key, value)
51
+ }
52
+
53
+ const current = ref(router.getCurrent())
54
+ let unsub: (() => void) | undefined
55
+ useOnConnected(() => { unsub = router.subscribe((s: typeof current.value) => { current.value = s }) })
56
+ useOnDisconnected(() => { unsub?.(); unsub = undefined })
57
+
58
+ if (currentError.value !== null) {
59
+ if (hasError && errorTag) return { tag: errorTag, props: { attrs: { error: String(currentError.value) } }, children: [] }
60
+ return { tag: 'div', props: { attrs: { style: 'padding:2rem;font-family:monospace' } }, children: String(currentError.value) }
61
+ }
62
+ if (isNavigating.value && hasLoading && loadingTag) return { tag: loadingTag, props: {}, children: [] }
63
+
64
+ const matched = router.matchRoute(current.value.path)
65
+ const layoutName = (matched?.route as any)?.meta?.layout ?? 'default'
66
+ const layoutTag = (layouts as Record<string, string>)[layoutName]
67
+ const routerView = { tag: 'router-view', props: {}, children: [] }
68
+ return layoutTag ? { tag: layoutTag, props: {}, children: [routerView] } : routerView
69
+ })
70
+
71
+ for (const plugin of plugins) {
72
+ if (plugin && typeof plugin.setup === 'function') {
73
+ await plugin.setup({ router, provide: (key: string, value: unknown) => { _pluginProvides.set(key, value) }, config: {} })
74
+ }
75
+ }
76
+
77
+ // Pre-load the current page's route chunk AFTER plugins run so that
78
+ // cer-layout-view's first render (which calls provide()) completes before
79
+ // page components are defined. This ensures inject() in child components
80
+ // can find values stored by provide().
81
+ if (typeof window !== 'undefined') {
82
+ const _initMatch = router.matchRoute(window.location.pathname)
83
+ if (_initMatch?.route?.load) {
84
+ try { await _initMatch.route.load() } catch { /* non-fatal */ }
85
+ }
86
+ }
87
+
88
+ if (typeof window !== 'undefined') {
89
+ // Use the original (unwrapped) replace so isNavigating stays false on first
90
+ // paint — the loading component must not flash over pre-rendered SSG content.
91
+ await _replace(window.location.pathname + window.location.search + window.location.hash)
92
+ // Clear SSR hydration data after initial navigation so subsequent navigations
93
+ // don't accidentally reuse it.
94
+ delete (globalThis as any).__CER_DATA__
95
+ }
96
+
97
+ export { router }
@@ -0,0 +1,15 @@
1
+ component('layout-default', () => {
2
+ return html`
3
+ <header>
4
+ <nav>
5
+ <router-link to="/">Home</router-link>
6
+ </nav>
7
+ </header>
8
+ <main>
9
+ <slot></slot>
10
+ </main>
11
+ <footer>
12
+ <p>Built with CER App</p>
13
+ </footer>
14
+ `
15
+ })
@@ -0,0 +1,8 @@
1
+ component('page-index', () => {
2
+ return html`
3
+ <div>
4
+ <h1>Welcome to {{projectName}}</h1>
5
+ <p>Edit <code>app/pages/index.ts</code> to get started.</p>
6
+ </div>
7
+ `
8
+ })
@@ -0,0 +1,13 @@
1
+ import { defineConfig } from '@jasonshimmy/vite-plugin-cer-app'
2
+
3
+ export default defineConfig({
4
+ mode: 'ssg',
5
+ ssg: {
6
+ routes: 'auto',
7
+ concurrency: 4,
8
+ },
9
+ ssr: {
10
+ dsd: true,
11
+ },
12
+ autoImports: { components: true, composables: true, directives: true, runtime: true },
13
+ })
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{{projectName}}</title>
7
+ </head>
8
+ <body>
9
+ <cer-layout-view></cer-layout-view>
10
+ <script type="module" src="/app/app.ts"></script>
11
+ </body>
12
+ </html>
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "cer-app dev",
7
+ "build": "cer-app build",
8
+ "generate": "cer-app generate",
9
+ "preview": "cer-app preview"
10
+ },
11
+ "dependencies": {
12
+ "@jasonshimmy/custom-elements-runtime": "^3.1.1"
13
+ },
14
+ "devDependencies": {
15
+ "vite": "^5.0.0",
16
+ "@jasonshimmy/vite-plugin-cer-app": "^0.1.0",
17
+ "typescript": "^5.4.0"
18
+ }
19
+ }