vue-ssr-lite 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,7 +22,7 @@ It includes routing, browser hydration, production builds, a managed Node server
22
22
  - Multiple applications and HTML entries
23
23
  - Domain and subdomain routing
24
24
  - Runtime roles for one image / many process modes
25
- - Apollo, GraphQL, REST, Pinia, and i18n support
25
+ - Generic `publicConfig` transport (Apollo, REST, Pinia, i18n stay in the app)
26
26
  - SEO metadata and status codes
27
27
  - Custom server endpoints
28
28
  - Health and readiness checks
@@ -70,33 +70,18 @@ yarn add --dev vite @vitejs/plugin-vue
70
70
 
71
71
  ## Choose Your Application Type
72
72
 
73
- `vue-ssr-lite` supports two application types.
73
+ `vue-ssr-lite` supports two render modes, both declared only in `ssr.config.ts`:
74
74
 
75
- ### SPA
76
-
77
- Use `kind: 'spa'` for a Vue application that runs in the browser.
78
-
79
- Examples:
80
-
81
- - Admin dashboard
82
- - Internal application
83
- - Editor
84
- - Authenticated application
85
- - Client-side portal
86
-
87
- A single application definition is mountable in three modes — server render,
88
- browser hydration of a server render, and pure client-side SPA. Define the app
89
- once with `defineSsrApplication()` and mount it in the SPA entry with
90
- `mountSpaApplication()`, so the SPA and SSR paths of the same application share
91
- one plugin set, router and public-config delivery and cannot drift:
75
+ | `render` | Behavior |
76
+ | --- | --- |
77
+ | `spa` | Serves the HTML shell; the library generates the browser mount entry |
78
+ | `ssr` | Server-renders Vue and generates the hydration client entry |
92
79
 
93
- ```ts
94
- // src/main.ts thin SPA entry over the shared definition
95
- import { mountSpaApplication } from 'vue-ssr-lite/client'
96
- import { app } from './app' // defineSsrApplication({ ... })
80
+ Define each application once with `defineSsrApplication()` and point
81
+ `application: { module, exportName }` at that module. Do not maintain a separate
82
+ `main.ts` / `ErpClient.ts` bootstrap `vueSsrLite()` injects the client entry
83
+ from `ssr.config`.
97
84
 
98
- void mountSpaApplication(app)
99
- ```
100
85
 
101
86
  A plain Vite `main.ts` (`createApp(App).use(router).mount('#app')`) still works
102
87
  for an application that never needs SSR, but prefer the unified definition when
@@ -276,12 +261,12 @@ cookies, endpoints, and roles. The library expands domains, matches hosts by
276
261
  specificity, and exposes context through `useSsrDomain()`.
277
262
 
278
263
  ```ts
279
- // ssr.config.ts — single source of truth for apps, domains, and Vite entries
264
+ // ssr.config.ts — the only application / domain registration source
280
265
  import { defineSsrConfig } from 'vue-ssr-lite'
281
266
 
282
267
  export default defineSsrConfig({
283
268
  name: 'my-platform',
284
- runtime: process.env.APP_RUNTIME || 'unified',
269
+ runtime: process.env.APP_RUNTIME, // required in production
285
270
  server: {
286
271
  host: '0.0.0.0',
287
272
  port: Number(process.env.PORT || 4173),
@@ -289,21 +274,32 @@ export default defineSsrConfig({
289
274
  },
290
275
  applications: {
291
276
  dashboard: {
292
- spa: true,
277
+ render: 'spa',
278
+ application: {
279
+ module: './src/dashboard/DashboardBootstrap.ts',
280
+ exportName: 'createDashboardApplication',
281
+ },
293
282
  template: 'index.html',
294
283
  roles: ['unified', 'dashboard'],
295
284
  domain: {
296
285
  development: 'localhost',
297
- production: 'app.example.com',
286
+ production: process.env.VITE_ROOT_DOMAIN!,
298
287
  mode: 'root-and-subdomains',
299
288
  localAliases: true,
300
- expose: { subdomainAs: 'workspace' },
289
+ params: {
290
+ workspace: { source: 'last-subdomain-label' },
291
+ },
292
+ },
293
+ publicConfig: {
294
+ api: {
295
+ endpoint: process.env.VITE_GRAPHQL_ENDPOINT!,
296
+ timeout: 8_000,
297
+ },
301
298
  },
302
299
  },
303
300
  website: {
304
- // Path form so Vite can derive the hydration client without importing
305
- // the application module into Node during config load.
306
- ssr: {
301
+ render: 'ssr',
302
+ application: {
307
303
  module: './src/website/SsrApplication.ts',
308
304
  exportName: 'websiteApplication',
309
305
  },
@@ -311,16 +307,27 @@ export default defineSsrConfig({
311
307
  roles: ['unified', 'website'],
312
308
  domain: {
313
309
  development: 'shop.localhost',
314
- production: 'shop.example.com',
310
+ production: process.env.VITE_SHOP_BASE_DOMAIN!,
315
311
  mode: 'root-and-subdomains',
316
312
  customDomains: true,
317
- expose: { subdomainOrHostnameAs: 'storeDomain' },
313
+ params: {
314
+ storeDomain: { source: 'subdomain-or-hostname' },
315
+ },
316
+ },
317
+ publicConfig: {
318
+ api: {
319
+ endpoint: process.env.VITE_GRAPHQL_ENDPOINT!,
320
+ timeout: 8_000,
321
+ },
318
322
  },
319
323
  },
320
324
  },
321
325
  })
322
326
  ```
323
327
 
328
+ The object key under `applications` is the canonical application ID everywhere
329
+ (routing, Apollo `applicationId`, hydration state).
330
+
324
331
  Host ownership is resolved by **specificity**, not application declaration order:
325
332
 
326
333
  1. Exact hostname
@@ -342,8 +349,8 @@ When the server starts, the console prints a ready message with a clickable loca
342
349
 
343
350
  ## 4. Configure Vite
344
351
 
345
- Keep Vite-only concerns here (Vue, CSS, GraphQL codegen, aliases). Application
346
- wiring stays in `ssr.config.ts` — `vueSsrLite()` auto-discovers it:
352
+ Keep Vite-only concerns here (Vue, CSS, codegen, aliases). Application wiring
353
+ stays in `ssr.config.ts`:
347
354
 
348
355
  ```ts
349
356
  // vite.config.ts
@@ -359,8 +366,14 @@ export default defineConfig({
359
366
  })
360
367
  ```
361
368
 
362
- `vueSsrLite()` reads each application's `template`, SPA shells (`spa: true`),
363
- and SSR module refs (`ssr: { module, exportName }`) from `ssr.config.*`.
369
+ `vueSsrLite()` generates:
370
+
371
+ - HTML Rollup inputs from each `template`
372
+ - `virtual:vue-ssr-lite/client/<id>` SPA mount / SSR hydrate entries
373
+ - `virtual:vue-ssr-lite/runtime` for the Node server (static application imports)
374
+
375
+ HTML templates should not include a manual `<script type="module" src="...">`
376
+ bootstrap — the plugin injects the generated client entry.
364
377
 
365
378
  ## 5. Add Commands
366
379
 
@@ -389,63 +402,64 @@ npm run start
389
402
 
390
403
  ## SSR-Only Application
391
404
 
392
- For a project that only needs SSR:
393
-
394
405
  ```ts
395
406
  export default defineSsrConfig({
396
407
  name: 'my-website',
408
+ runtime: process.env.APP_RUNTIME,
397
409
  applications: {
398
410
  website: {
399
- ssr: {
411
+ render: 'ssr',
412
+ application: {
400
413
  module: './src/website/SsrApplication.ts',
401
414
  exportName: 'websiteApplication',
402
415
  },
403
416
  template: 'site.html',
404
417
  domain: {
405
418
  development: 'localhost',
406
- production: 'example.com',
419
+ production: process.env.VITE_ROOT_DOMAIN!,
407
420
  customDomains: true,
408
421
  },
422
+ publicConfig: {
423
+ api: { endpoint: process.env.VITE_API_ENDPOINT!, timeout: 8_000 },
424
+ },
409
425
  },
410
426
  },
411
427
  })
412
428
  ```
413
429
 
414
- ```ts
415
- // vite.config.ts
416
- vueSsrLite()
417
- ```
418
-
419
430
  ## SPA-Only Application
420
431
 
421
- A config can also serve a normal SPA without an SSR application:
422
-
423
432
  ```ts
424
433
  export default defineSsrConfig({
425
434
  name: 'my-dashboard',
435
+ runtime: process.env.APP_RUNTIME,
426
436
  applications: {
427
437
  dashboard: {
428
- spa: true,
438
+ render: 'spa',
439
+ application: {
440
+ module: './src/dashboard/DashboardBootstrap.ts',
441
+ exportName: 'createDashboardApplication',
442
+ },
429
443
  template: 'index.html',
430
444
  domain: {
431
445
  development: 'localhost',
432
- production: 'app.example.com',
446
+ production: process.env.VITE_ROOT_DOMAIN!,
433
447
  localAliases: true,
434
448
  },
449
+ publicConfig: {
450
+ api: { endpoint: process.env.VITE_API_ENDPOINT!, timeout: 8_000 },
451
+ },
435
452
  },
436
453
  },
437
454
  })
438
455
  ```
439
456
 
440
- Mount the SPA from a browser entry with `mountSpaApplication()` (see the HTML
441
- `script` pointing at your client file). `vueSsrLite()` still registers the SPA
442
- HTML input from `ssr.config`.
457
+ The library generates the SPA client entry from `application.module`. Keep
458
+ `index.html` free of manual bootstrap scripts.
443
459
 
444
460
  ## Using the Same Vue Plugins
445
461
 
446
- You may use the same plugin configuration in your SPA and SSR applications.
447
-
448
- For example:
462
+ Plugins read opaque `publicConfig` the library does not know about GraphQL:
449
463
 
450
464
  ```ts
451
465
  // src/config/apollo.ts
@@ -453,30 +467,12 @@ import { defineApollo } from 'vue-apollo-client'
453
467
 
454
468
  export default defineApollo(({ publicConfig }) => ({
455
469
  endPoints: {
456
- default:
457
- publicConfig?.graphqlEndpoint ||
458
- import.meta.env.VITE_GRAPHQL_ENDPOINT,
470
+ default: publicConfig?.api?.endpoint,
459
471
  },
472
+ requestTimeoutMs: publicConfig?.api?.timeout,
460
473
  }))
461
474
  ```
462
475
 
463
- Use it in the SPA:
464
-
465
- ```ts
466
- // src/spa/main.ts
467
- import { createApp } from 'vue'
468
-
469
- import apollo from '../config/apollo'
470
- import App from './App.vue'
471
- import router from './router'
472
-
473
- const app = createApp(App)
474
-
475
- app.use(apollo)
476
- app.use(router)
477
- app.mount('#app')
478
- ```
479
-
480
476
  Use the same configuration in SSR:
481
477
 
482
478
  ```ts
@@ -681,32 +677,47 @@ import { defineSsrConfig, useSsrDomain } from 'vue-ssr-lite'
681
677
 
682
678
  export default defineSsrConfig({
683
679
  name: 'my-platform',
684
- runtime: process.env.APP_RUNTIME || 'unified',
680
+ runtime: process.env.APP_RUNTIME,
685
681
  server: { trustProxy: true },
686
682
  applications: {
687
683
  admin: {
688
- spa: true,
684
+ render: 'spa',
685
+ application: {
686
+ module: './src/admin/AdminBootstrap.ts',
687
+ exportName: 'createAdminApplication',
688
+ },
689
689
  template: 'index.html',
690
690
  domain: {
691
691
  development: 'localhost',
692
- production: process.env.VITE_ROOT_DOMAIN || 'app.example.com',
692
+ production: process.env.VITE_ROOT_DOMAIN!,
693
693
  mode: 'root-and-subdomains',
694
694
  localAliases: true,
695
- expose: { subdomainAs: 'workspace' },
695
+ params: {
696
+ workspace: { source: 'last-subdomain-label' },
697
+ },
698
+ },
699
+ publicConfig: {
700
+ api: { endpoint: process.env.VITE_API_ENDPOINT!, timeout: 8_000 },
696
701
  },
697
702
  },
698
703
  website: {
699
- ssr: {
704
+ render: 'ssr',
705
+ application: {
700
706
  module: './src/website/SsrApplication.ts',
701
707
  exportName: 'websiteApplication',
702
708
  },
703
709
  template: 'site.html',
704
710
  domain: {
705
711
  development: 'shop.localhost',
706
- production: process.env.VITE_SHOP_BASE_DOMAIN || 'shop.example.com',
712
+ production: process.env.VITE_SHOP_BASE_DOMAIN!,
707
713
  mode: 'root-and-subdomains',
708
714
  customDomains: true,
709
- expose: { subdomainOrHostnameAs: 'storeDomain' },
715
+ params: {
716
+ storeDomain: { source: 'subdomain-or-hostname' },
717
+ },
718
+ },
719
+ publicConfig: {
720
+ api: { endpoint: process.env.VITE_API_ENDPOINT!, timeout: 8_000 },
710
721
  },
711
722
  },
712
723
  },
@@ -725,7 +736,7 @@ domain.subdomain
725
736
  domain.isCustomDomain
726
737
  domain.params.workspace
727
738
  domain.params.storeDomain
728
- domain.buildSubdomainUrl('acme', '/dashboard')
739
+ domain.createUrl({ subdomain: 'department.acme', path: '/projects', query: { page: 2 } })
729
740
  ```
730
741
 
731
742
  ### Precedence
@@ -767,21 +778,29 @@ Example:
767
778
  ```ts
768
779
  export default defineSsrConfig({
769
780
  name: 'my-platform',
770
- runtime: process.env.APP_RUNTIME || 'unified',
781
+ runtime: process.env.APP_RUNTIME, // required in production
771
782
  applications: {
772
783
  admin: {
773
- spa: true,
784
+ render: 'spa',
785
+ application: {
786
+ module: './src/admin/AdminBootstrap.ts',
787
+ exportName: 'createAdminApplication',
788
+ },
774
789
  template: 'index.html',
775
790
  roles: ['unified', 'admin'],
776
791
  domain: {
777
792
  development: 'localhost',
778
- production: 'app.example.com',
793
+ production: process.env.VITE_ROOT_DOMAIN!,
779
794
  mode: 'root-and-subdomains',
780
795
  localAliases: true,
781
796
  },
797
+ publicConfig: {
798
+ api: { endpoint: process.env.VITE_API_ENDPOINT!, timeout: 8_000 },
799
+ },
782
800
  },
783
801
  website: {
784
- ssr: {
802
+ render: 'ssr',
803
+ application: {
785
804
  module: './src/website/SsrApplication.ts',
786
805
  exportName: 'websiteApplication',
787
806
  },
@@ -789,10 +808,13 @@ export default defineSsrConfig({
789
808
  roles: ['unified', 'website'],
790
809
  domain: {
791
810
  development: 'shop.localhost',
792
- production: 'shop.example.com',
811
+ production: process.env.VITE_SHOP_BASE_DOMAIN!,
793
812
  mode: 'root-and-subdomains',
794
813
  customDomains: true,
795
814
  },
815
+ publicConfig: {
816
+ api: { endpoint: process.env.VITE_API_ENDPOINT!, timeout: 8_000 },
817
+ },
796
818
  },
797
819
  },
798
820
  })
@@ -806,6 +828,9 @@ With that setup:
806
828
 
807
829
  If a host matches an application that the current role does not allow, the server responds with `421`.
808
830
 
831
+ Development may default `runtime` in your `ssr.config`. Production compilation
832
+ rejects a missing `runtime`, `domain.production`, or `publicConfig.api.endpoint`.
833
+
809
834
  `defineSsrConfig` accepts either a plain object or an async factory function.
810
835
 
811
836
  ## Custom Endpoints
@@ -876,37 +901,45 @@ const responseCache = createSsrMemoryResponseCache({
876
901
  })
877
902
  ```
878
903
 
879
- Add it to an SSR entry:
904
+ Add it on the application object:
880
905
 
881
906
  ```ts
882
- {
883
- id: 'website',
884
- kind: 'ssr',
907
+ website: {
908
+ render: 'ssr',
909
+ application: {
910
+ module: './src/website/SsrApplication.ts',
911
+ exportName: 'websiteApplication',
912
+ },
885
913
  template: 'site.html',
886
- hosts: ['*'],
887
- application: websiteApplication,
888
-
914
+ domain: {
915
+ development: 'localhost',
916
+ production: process.env.VITE_ROOT_DOMAIN!,
917
+ customDomains: true,
918
+ },
889
919
  responseCache: {
890
920
  store: responseCache,
891
921
  ttlMs: 60_000,
892
922
  },
923
+ publicConfig: {
924
+ api: { endpoint: process.env.VITE_API_ENDPOINT!, timeout: 8_000 },
925
+ },
893
926
  }
894
927
  ```
895
928
 
896
929
  ## Cookie Filtering
897
930
 
898
- SSR requests can forward a filtered `Cookie` header to upstream APIs.
931
+ SSR requests can forward a filtered `Cookie` header to upstream APIs. Configure
932
+ cookies per application:
899
933
 
900
934
  ```ts
901
- server: {
902
- cookieAllowlist: ['session'],
903
- cookieDenylist: ['admin_token', 'refresh_token'],
904
- publicConfig: {},
935
+ cookies: {
936
+ allow: ['session'],
937
+ deny: ['admin_token', 'refresh_token'],
905
938
  }
906
939
  ```
907
940
 
908
- - If `cookieAllowlist` is non-empty, only listed cookies are forwarded.
909
- - `cookieDenylist` always removes matching cookies.
941
+ - If `allow` is non-empty, only listed cookies are forwarded.
942
+ - `deny` always removes matching cookies.
910
943
  - Leave both empty when the browser talks to the API directly and SSR needs no cookies.
911
944
 
912
945
  ## Server Configuration
@@ -915,21 +948,11 @@ server: {
915
948
  server: {
916
949
  host: '0.0.0.0',
917
950
  port: 4173,
918
- role: 'unified',
919
-
920
- publicConfig: {},
921
-
951
+ trustProxy: false,
922
952
  requestTimeoutMs: 15_000,
923
953
  shutdownTimeoutMs: 10_000,
924
-
925
954
  healthPath: '/healthz',
926
955
  readinessPath: '/readyz',
927
-
928
- trustProxy: false,
929
-
930
- cookieAllowlist: [],
931
- cookieDenylist: [],
932
-
933
956
  logger: {
934
957
  info: (event, details) => console.info(event, details ?? ''),
935
958
  warn: (event, details) => console.warn(event, details ?? ''),
@@ -938,7 +961,8 @@ server: {
938
961
  }
939
962
  ```
940
963
 
941
- `/healthz` and `/readyz` include the active `role` in their JSON responses.
964
+ The active process role comes from top-level `runtime`, not `server.role`.
965
+ `/healthz` and `/readyz` include that role in their JSON responses.
942
966
 
943
967
  ## Server-side data resolution
944
968
 
@@ -1,7 +1,9 @@
1
- import { SsrApplicationDomainConfig, SsrApplicationModuleRef, SsrConfig, SsrDomainMode } from './SsrConfigTypes';
1
+ import { SsrApplicationDomainConfig, SsrApplicationModuleRef, SsrConfig, SsrDomainMode, SsrRenderMode } from './SsrConfigTypes';
2
2
  import { defineSsrConfig } from './SsrConfigRuntime';
3
3
  import { SsrApplicationDefinition, SsrEndpointDefinition, SsrEntryKind, SsrReadinessProbe, SsrResponseCacheStrategy, SsrServerOptions } from './SsrRuntimeTypes';
4
4
  export { defineSsrConfig };
5
+ export declare const SSR_RUNTIME_VIRTUAL_ID = "virtual:vue-ssr-lite/runtime";
6
+ export declare const SSR_CLIENT_VIRTUAL_PREFIX = "virtual:vue-ssr-lite/client/";
5
7
  export interface SsrCompiledApplication {
6
8
  id: string;
7
9
  kind: SsrEntryKind;
@@ -16,15 +18,14 @@ export interface SsrCompiledApplication {
16
18
  cookieAllowlist: string[];
17
19
  cookieDenylist: string[];
18
20
  publicConfig: Record<string, unknown>;
19
- /** Present when `ssr` was declared as a module reference. */
20
- ssrModule?: SsrApplicationModuleRef;
21
+ applicationModule?: SsrApplicationModuleRef;
21
22
  domain: {
22
23
  development: string;
23
24
  production: string;
24
25
  mode: SsrDomainMode;
25
26
  localAliases: boolean;
26
27
  customDomains: boolean;
27
- expose: SsrApplicationDomainConfig['expose'];
28
+ params: SsrApplicationDomainConfig['params'];
28
29
  };
29
30
  }
30
31
  export interface SsrCompiledConfig {
@@ -37,6 +38,7 @@ export interface SsrCompiledConfig {
37
38
  }
38
39
  export interface SsrViteApplicationEntry {
39
40
  id: string;
41
+ kind: SsrRenderMode;
40
42
  definition: string;
41
43
  exportName?: string;
42
44
  template: string;
@@ -44,37 +46,27 @@ export interface SsrViteApplicationEntry {
44
46
  }
45
47
  export interface SsrViteEntries {
46
48
  applications: SsrViteApplicationEntry[];
47
- spaEntries: Record<string, string>;
48
49
  }
49
50
  export declare const isSsrApplicationModuleRef: (value: unknown) => value is SsrApplicationModuleRef;
50
51
  export interface CompileSsrConfigOptions {
51
52
  development?: boolean;
52
- /** Project root used to resolve `{ module }` paths. */
53
53
  root?: string;
54
- /**
55
- * Custom importer for module references (Vite `ssrLoadModule` in development).
56
- * Falls back to a Node ESM import of the resolved file URL.
57
- */
58
54
  importModule?: (specifier: string) => Promise<Record<string, unknown>>;
59
55
  }
60
56
  export declare const resolveSsrConfigPath: (root: string, explicit?: string) => Promise<string>;
61
- /** Derive Vite HTML / hydration entries from a loaded `SsrConfig`. */
57
+ /** Derive Vite HTML / client entries from a loaded `SsrConfig`. */
62
58
  export declare const extractSsrViteEntries: (config: SsrConfig) => SsrViteEntries;
63
59
  /**
64
- * Load `ssr.config` for Vite entry discovery without going through the
65
- * consumer's Vite plugin graph. Relative local imports are bundled; packages
66
- * stay external.
67
- *
68
- * The bundled file is written under the project `node_modules` tree so Node can
69
- * resolve bare imports like `vue-ssr-lite` from the consumer's dependencies.
70
- * Writing under the OS temp directory breaks package resolution.
60
+ * Load `ssr.config` for Vite entry discovery / runtime module generation.
61
+ * Written under the project `node_modules` tree so bare imports resolve.
71
62
  */
72
63
  export declare const loadSsrConfigFile: (root: string, configPath?: string) => Promise<SsrConfig>;
73
64
  export declare const resolveSsrViteEntries: (root: string, configPath?: string) => Promise<SsrViteEntries>;
74
65
  /**
75
- * Rewrite `ssr: { module, exportName }` object literals into Vite-analyzable
76
- * dynamic import loaders so production SSR bundles include the application.
66
+ * Generate a Vite-analyzable runtime module that imports each application
67
+ * module statically and merges it into the user `ssr.config` export.
77
68
  */
78
- export declare const transformSsrModuleRefs: (code: string, filename: string) => string | null;
69
+ export declare const generateSsrRuntimeModule: (root: string, configPath: string, entries: SsrViteApplicationEntry[]) => string;
70
+ export declare const generateSsrClientModule: (root: string, entry: SsrViteApplicationEntry) => string;
79
71
  export declare const compileSsrConfig: (loaded: unknown, options?: CompileSsrConfigOptions) => Promise<SsrCompiledConfig>;
80
72
  //# sourceMappingURL=SsrConfigCompileRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SsrConfigCompileRuntime.d.ts","sourceRoot":"","sources":["../src/SsrConfigCompileRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SsrConfigCompileRuntime.d.ts","sourceRoot":"","sources":["../src/SsrConfigCompileRuntime.ts"],"names":[],"mappings":"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"}