@analogjs/vite-plugin-nitro 2.8.0-beta.5 → 2.8.0-beta.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/vite-plugin-nitro",
3
- "version": "2.8.0-beta.5",
3
+ "version": "2.8.0-beta.6",
4
4
  "description": "A Vite plugin for adding a nitro API server",
5
5
  "type": "module",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -1,3 +1,3 @@
1
1
  import { NitroConfig } from 'nitropack';
2
2
  import { Options } from './options.js';
3
- export declare function buildServer(options?: Options, nitroConfig?: NitroConfig, routeSourceFiles?: Record<string, string>): Promise<void>;
3
+ export declare function buildServer(options?: Options, nitroConfig?: NitroConfig, routeSourceFiles?: Record<string, string>, i18nWorkers?: boolean): Promise<void>;
@@ -2,54 +2,110 @@ import { copyPublicAssets, prerender } from 'nitropack';
2
2
  import { createNitro, build, prepare } from 'nitropack';
3
3
  import { existsSync, mkdirSync, unlinkSync, writeFileSync } from 'node:fs';
4
4
  import { dirname, join } from 'node:path';
5
+ import { fileURLToPath, pathToFileURL } from 'node:url';
5
6
  import { addPostRenderingHooks } from './hooks/post-rendering-hook.js';
6
- export async function buildServer(options, nitroConfig, routeSourceFiles) {
7
+ import { validateI18nWorkers } from './utils/i18n-workers.js';
8
+ export async function buildServer(options, nitroConfig = {}, routeSourceFiles, i18nWorkers = false) {
9
+ if (i18nWorkers && options?.i18n) {
10
+ validateI18nWorkers(options, nitroConfig);
11
+ nitroConfig = {
12
+ ...nitroConfig,
13
+ entry: fileURLToPath(new URL('./runtime/locale-worker-entry.mjs', import.meta.url)),
14
+ externals: {
15
+ ...nitroConfig.externals,
16
+ inline: [...(nitroConfig.externals?.inline ?? []), '@analogjs/router'],
17
+ },
18
+ replace: {
19
+ ...nitroConfig.replace,
20
+ ANALOG_I18N_FIXED_LOCALE: "process.env['ANALOG_I18N_LOCALE']",
21
+ ANALOG_I18N_DEFAULT_LOCALE: JSON.stringify(options.i18n.defaultLocale),
22
+ ANALOG_I18N_LOCALES: JSON.stringify(options.i18n.locales),
23
+ },
24
+ virtual: {
25
+ ...nitroConfig.virtual,
26
+ '#analog/i18n-workers': `export default ${JSON.stringify({
27
+ locales: options.i18n.locales,
28
+ defaultLocale: options.i18n.defaultLocale,
29
+ baseURL: nitroConfig.baseURL || '/',
30
+ })}`,
31
+ },
32
+ };
33
+ }
7
34
  const nitro = await createNitro({
8
35
  dev: false,
9
36
  preset: process.env['BUILD_PRESET'],
10
37
  ...nitroConfig,
11
38
  });
12
- if (options?.prerender?.postRenderingHooks) {
13
- addPostRenderingHooks(nitro, options.prerender.postRenderingHooks);
14
- }
15
- await prepare(nitro);
16
- await copyPublicAssets(nitro);
17
- if (options?.ssr &&
18
- nitroConfig?.prerender?.routes &&
19
- (nitroConfig?.prerender?.routes.find((route) => route === '/') ||
20
- nitroConfig?.prerender?.routes?.length === 0)) {
21
- const indexFileExts = ['', '.br', '.gz'];
22
- indexFileExts.forEach((fileExt) => {
23
- // Remove the root index.html(.br|.gz) files
24
- const indexFilePath = `${nitroConfig?.output?.publicDir}/index.html${fileExt ? `${fileExt}` : ''}`;
25
- if (existsSync(indexFilePath)) {
26
- unlinkSync(indexFilePath);
39
+ try {
40
+ if (options?.prerender?.postRenderingHooks) {
41
+ addPostRenderingHooks(nitro, options.prerender.postRenderingHooks);
42
+ }
43
+ await prepare(nitro);
44
+ await copyPublicAssets(nitro);
45
+ if (options?.ssr &&
46
+ nitroConfig?.prerender?.routes &&
47
+ (nitroConfig?.prerender?.routes.find((route) => route === '/') ||
48
+ nitroConfig?.prerender?.routes?.length === 0)) {
49
+ const indexFileExts = ['', '.br', '.gz'];
50
+ indexFileExts.forEach((fileExt) => {
51
+ // Remove the root index.html(.br|.gz) files
52
+ const indexFilePath = `${nitroConfig?.output?.publicDir}/index.html${fileExt ? `${fileExt}` : ''}`;
53
+ if (existsSync(indexFilePath)) {
54
+ unlinkSync(indexFilePath);
55
+ }
56
+ });
57
+ }
58
+ if (nitroConfig?.prerender?.routes &&
59
+ nitroConfig?.prerender?.routes?.length > 0) {
60
+ console.log(`Prerendering static pages...`);
61
+ let closePrerenderer;
62
+ let prerenderer;
63
+ const unhook = i18nWorkers
64
+ ? nitro.hooks.hook('prerender:init', (renderer) => {
65
+ prerenderer = renderer;
66
+ renderer.hooks.hook('compiled', async () => {
67
+ const fileName = renderer.options.rollupConfig?.output?.entryFileNames;
68
+ const entry = join(renderer.options.output.serverDir, typeof fileName === 'string' ? fileName : 'index.mjs');
69
+ // Capture cleanup only after a successful build, before Nitro starts rendering.
70
+ const runtime = await import(pathToFileURL(entry).href);
71
+ closePrerenderer = runtime.closePrerenderer;
72
+ });
73
+ })
74
+ : undefined;
75
+ try {
76
+ await prerender(nitro);
77
+ }
78
+ finally {
79
+ unhook?.();
80
+ try {
81
+ await closePrerenderer?.();
82
+ }
83
+ finally {
84
+ await prerenderer?.close();
85
+ }
27
86
  }
28
- });
29
- }
30
- if (nitroConfig?.prerender?.routes &&
31
- nitroConfig?.prerender?.routes?.length > 0) {
32
- console.log(`Prerendering static pages...`);
33
- await prerender(nitro);
34
- }
35
- if (routeSourceFiles && Object.keys(routeSourceFiles).length > 0) {
36
- const publicDir = nitroConfig?.output?.publicDir;
37
- if (!publicDir) {
38
- throw new Error('Nitro public output directory is required to write route source files.');
39
87
  }
40
- for (const [route, content] of Object.entries(routeSourceFiles)) {
41
- const outputPath = join(publicDir, `${route}.md`);
42
- const outputDir = dirname(outputPath);
43
- if (!existsSync(outputDir)) {
44
- mkdirSync(outputDir, { recursive: true });
88
+ if (routeSourceFiles && Object.keys(routeSourceFiles).length > 0) {
89
+ const publicDir = nitroConfig?.output?.publicDir;
90
+ if (!publicDir) {
91
+ throw new Error('Nitro public output directory is required to write route source files.');
45
92
  }
46
- writeFileSync(outputPath, content, 'utf8');
93
+ for (const [route, content] of Object.entries(routeSourceFiles)) {
94
+ const outputPath = join(publicDir, `${route}.md`);
95
+ const outputDir = dirname(outputPath);
96
+ if (!existsSync(outputDir)) {
97
+ mkdirSync(outputDir, { recursive: true });
98
+ }
99
+ writeFileSync(outputPath, content, 'utf8');
100
+ }
101
+ }
102
+ if (!options?.static) {
103
+ console.log('Building Server...');
104
+ await build(nitro);
47
105
  }
48
106
  }
49
- if (!options?.static) {
50
- console.log('Building Server...');
51
- await build(nitro);
107
+ finally {
108
+ await nitro.close();
52
109
  }
53
- await nitro.close();
54
110
  }
55
111
  //# sourceMappingURL=build-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-server.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-server.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { UserConfig } from 'vite';
2
2
  import { Options } from './options.js';
3
- export declare function buildSSRApp(config: UserConfig, options?: Options): Promise<void>;
3
+ export declare function buildSSRApp(config: UserConfig, options?: Options, i18nWorkers?: boolean): Promise<void>;
@@ -1,7 +1,8 @@
1
1
  import { build, mergeConfig } from 'vite';
2
2
  import * as vite from 'vite';
3
3
  import { relative, resolve } from 'node:path';
4
- export async function buildSSRApp(config, options) {
4
+ import { I18N_WORKER_SSR_ENTRY } from './utils/i18n-workers.js';
5
+ export async function buildSSRApp(config, options, i18nWorkers = false) {
5
6
  const workspaceRoot = options?.workspaceRoot ?? process.cwd();
6
7
  const sourceRoot = options?.sourceRoot ?? 'src';
7
8
  const rootDir = relative(workspaceRoot, config.root || '.') || '.';
@@ -9,8 +10,10 @@ export async function buildSSRApp(config, options) {
9
10
  build: {
10
11
  ssr: true,
11
12
  [vite.rolldownVersion ? 'rolldownOptions' : 'rollupOptions']: {
12
- input: options?.entryServer ||
13
- resolve(workspaceRoot, rootDir, `${sourceRoot}/main.server.ts`),
13
+ input: i18nWorkers
14
+ ? { 'main.server': I18N_WORKER_SSR_ENTRY }
15
+ : options?.entryServer ||
16
+ resolve(workspaceRoot, rootDir, `${sourceRoot}/main.server.ts`),
14
17
  },
15
18
  outDir: options?.ssrBuildDir || resolve(workspaceRoot, 'dist', rootDir, 'ssr'),
16
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"build-ssr.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-ssr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAc,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAI9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAkB,EAAE,OAAiB;IACrE,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;IACnE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAc;QACrD,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAC5D,KAAK,EACH,OAAO,EAAE,WAAW;oBACpB,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,UAAU,iBAAiB,CAAC;aAClE;YACD,MAAM,EACJ,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;SACzE;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"build-ssr.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-ssr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAc,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAkB,EAClB,OAAiB,EACjB,WAAW,GAAG,KAAK;IAEnB,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;IACnE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAc;QACrD,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAC5D,KAAK,EAAE,WAAW;oBAChB,CAAC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE;oBAC1C,CAAC,CAAC,OAAO,EAAE,WAAW;wBACpB,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,UAAU,iBAAiB,CAAC;aACpE;YACD,MAAM,EACJ,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;SACzE;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,8 +1,6 @@
1
1
  export function addPostRenderingHooks(nitro, hooks) {
2
2
  hooks.forEach((hook) => {
3
- nitro.hooks.hook('prerender:generate', (route) => {
4
- hook(route);
5
- });
3
+ nitro.hooks.hook('prerender:generate', hook);
6
4
  });
7
5
  }
8
6
  //# sourceMappingURL=post-rendering-hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-rendering-hook.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/hooks/post-rendering-hook.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACnC,KAAY,EACZ,KAAgD;IAEhD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAwC,EAAE,EAAE;QACzD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAqB,EAAE,EAAE;YAC/D,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"post-rendering-hook.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/hooks/post-rendering-hook.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACnC,KAAY,EACZ,KAAgD;IAEhD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import { PrerenderRoute } from 'nitropack';
2
2
  export interface I18nPrerenderOptions {
3
+ /** Path to the translation loader module, relative to the app root. */
4
+ loader?: string;
5
+ /** Automatic when eligible; false disables workers, true requires them. */
6
+ workers?: boolean;
3
7
  /**
4
8
  * The default/source locale for the application.
5
9
  */
@@ -0,0 +1,71 @@
1
+ import { isMainThread, parentPort } from 'node:worker_threads';
2
+ import { createServer } from 'node:http';
3
+ import { once } from 'node:events';
4
+ import config from '#analog/i18n-workers';
5
+ import { createLocaleListener, createLocaleServer } from './locale-workers.mjs';
6
+
7
+ export let localFetch;
8
+ export let closePrerenderer;
9
+
10
+ if (isMainThread) {
11
+ if (
12
+ !import.meta.prerender &&
13
+ (process.env.NITRO_SSL_CERT ||
14
+ process.env.NITRO_SSL_KEY ||
15
+ process.env.NITRO_UNIX_SOCKET)
16
+ ) {
17
+ throw new Error(
18
+ 'i18n.workers requires an HTTP TCP listener; terminate TLS at your reverse proxy.',
19
+ );
20
+ }
21
+ const { server, close } = await createLocaleServer(new URL(import.meta.url), {
22
+ ...config,
23
+ baseURL: process.env.NITRO_APP_BASE_URL || config.baseURL,
24
+ });
25
+ if (import.meta.prerender) {
26
+ server.listen(0, '127.0.0.1');
27
+ await once(server, 'listening');
28
+ const origin = `http://127.0.0.1:${server.address().port}`;
29
+ localFetch = (input, init) => {
30
+ if (!input.toString().startsWith('/')) return fetch(input, init);
31
+ const headers = new Headers(init?.headers);
32
+ if (!headers.has('host')) headers.set('host', 'localhost');
33
+ return fetch(origin + input, { ...init, headers, redirect: 'manual' });
34
+ };
35
+ closePrerenderer = close;
36
+ } else {
37
+ for (const signal of ['SIGINT', 'SIGTERM'])
38
+ process.once(signal, () => void close());
39
+ server.on('error', (error) => {
40
+ console.error(error);
41
+ process.exitCode = 1;
42
+ void close();
43
+ });
44
+ server.listen(
45
+ Number(process.env.NITRO_PORT || process.env.PORT || 3000),
46
+ process.env.NITRO_HOST || process.env.HOST || '0.0.0.0',
47
+ () => {
48
+ console.log(
49
+ `Listening on http://${server.address().address}:${server.address().port}`,
50
+ );
51
+ },
52
+ );
53
+ }
54
+ } else {
55
+ // Initialize before Nitro plugins, endpoints, or the SSR app can evaluate $localize.
56
+ await (
57
+ await import('#analog/ssr')
58
+ ).i18nReady;
59
+ const { useNitroApp } = await import('nitropack/runtime');
60
+ const app = useNitroApp();
61
+ const server = createServer(createLocaleListener(app.h3App));
62
+ server.listen(0, '127.0.0.1');
63
+ await once(server, 'listening');
64
+ parentPort.on('message', async (message) => {
65
+ if (message !== 'close') return;
66
+ await new Promise((resolve) => server.close(resolve));
67
+ await app.hooks.callHook('close');
68
+ parentPort.close();
69
+ });
70
+ parentPort.postMessage({ type: 'ready', port: server.address().port });
71
+ }
@@ -0,0 +1,193 @@
1
+ import { Agent, createServer, request } from 'node:http';
2
+ import { Worker } from 'node:worker_threads';
3
+ import { toNodeListener } from 'h3';
4
+
5
+ const CLIENT_ADDRESS_HEADER = 'x-analog-client-address';
6
+ const HOP_BY_HOP_HEADERS = new Set([
7
+ 'connection',
8
+ 'keep-alive',
9
+ 'proxy-authenticate',
10
+ 'proxy-authorization',
11
+ 'te',
12
+ 'trailer',
13
+ 'transfer-encoding',
14
+ 'upgrade',
15
+ ]);
16
+
17
+ function proxyHeaders(headers) {
18
+ const connectionHeaders = new Set(
19
+ headers.connection?.split(',').map((name) => name.trim().toLowerCase()),
20
+ );
21
+ return Object.fromEntries(
22
+ Object.entries(headers).filter(
23
+ ([name]) => !HOP_BY_HOP_HEADERS.has(name) && !connectionHeaders.has(name),
24
+ ),
25
+ );
26
+ }
27
+
28
+ export function createLocaleListener(app) {
29
+ return toNodeListener({
30
+ ...app,
31
+ handler(event) {
32
+ const address = event.node.req.headers[CLIENT_ADDRESS_HEADER];
33
+ delete event.node.req.headers[CLIENT_ADDRESS_HEADER];
34
+ if (address) event.context.clientAddress = address;
35
+ return app.handler(event);
36
+ },
37
+ });
38
+ }
39
+
40
+ export function selectLocale(
41
+ url,
42
+ acceptLanguage,
43
+ { locales, defaultLocale, baseURL = '/' },
44
+ ) {
45
+ let path = url.split('?')[0];
46
+ const base = baseURL.replace(/\/$/, '');
47
+ if (base && path.startsWith(base + '/')) path = path.slice(base.length);
48
+ const first = path.split('/').filter(Boolean)[0];
49
+ if (locales.includes(first)) return first;
50
+ // Match the router's URL-first locale detection, including unsupported tags.
51
+ if (first && /^[a-z]{2}(-[a-zA-Z]{2,4})?(-[a-zA-Z]{2}|\d{3})?$/.test(first))
52
+ return defaultLocale;
53
+ const preferred = acceptLanguage
54
+ ?.split(',')
55
+ .map((part) => {
56
+ const [locale, quality] = part.trim().split(';');
57
+ return {
58
+ locale: locale.trim(),
59
+ quality: quality ? parseFloat(quality.replace('q=', '')) : 1,
60
+ };
61
+ })
62
+ .sort((a, b) => b.quality - a.quality)[0]?.locale;
63
+ return locales.includes(preferred) ? preferred : defaultLocale;
64
+ }
65
+
66
+ export async function createLocaleServer(entry, config) {
67
+ const workers = [];
68
+ const ports = new Map();
69
+ const agent = new Agent({ keepAlive: true });
70
+ let closing;
71
+ const server = createServer((req, res) => {
72
+ const locale = selectLocale(
73
+ req.url || '/',
74
+ req.headers['accept-language'],
75
+ config,
76
+ );
77
+ const upstream = request(
78
+ {
79
+ hostname: '127.0.0.1',
80
+ port: ports.get(locale),
81
+ path: req.url,
82
+ method: req.method,
83
+ headers: {
84
+ ...proxyHeaders(req.headers),
85
+ [CLIENT_ADDRESS_HEADER]: req.socket.remoteAddress,
86
+ },
87
+ agent,
88
+ },
89
+ (response) => {
90
+ res.writeHead(
91
+ response.statusCode,
92
+ response.statusMessage,
93
+ proxyHeaders(response.headers),
94
+ );
95
+ response.on('error', (error) => res.destroy(error));
96
+ response.pipe(res);
97
+ },
98
+ );
99
+ upstream.on('error', () => {
100
+ if (res.headersSent) res.destroy();
101
+ else {
102
+ res.writeHead(502);
103
+ res.end('Locale worker unavailable');
104
+ }
105
+ });
106
+ req.on('aborted', () => upstream.destroy());
107
+ res.on('close', () => {
108
+ if (!res.writableFinished) upstream.destroy();
109
+ });
110
+ req.pipe(upstream);
111
+ });
112
+
113
+ function close() {
114
+ return (closing ??= (async () => {
115
+ const deadline = setTimeout(() => {
116
+ server.closeAllConnections();
117
+ for (const worker of workers) void worker.terminate();
118
+ }, 30_000);
119
+ deadline.unref();
120
+ try {
121
+ await new Promise((resolve) => server.close(resolve));
122
+ agent.destroy();
123
+ await Promise.all(
124
+ workers.map(
125
+ (worker) =>
126
+ new Promise((resolve) => {
127
+ if (worker.threadId === -1) return resolve();
128
+ worker.once('exit', resolve);
129
+ worker.postMessage('close');
130
+ }),
131
+ ),
132
+ );
133
+ } finally {
134
+ clearTimeout(deadline);
135
+ }
136
+ })());
137
+ }
138
+
139
+ try {
140
+ await Promise.all(
141
+ config.locales.map(
142
+ (locale) =>
143
+ new Promise((resolve, reject) => {
144
+ const worker = new Worker(entry, {
145
+ env: { ...process.env, ANALOG_I18N_LOCALE: locale },
146
+ });
147
+ workers.push(worker);
148
+ let ready = false;
149
+ const timeout = setTimeout(
150
+ () =>
151
+ reject(
152
+ new Error(`Locale worker ${locale} timed out during startup`),
153
+ ),
154
+ 30_000,
155
+ );
156
+ const fail = (error) => {
157
+ clearTimeout(timeout);
158
+ if (!ready) reject(error);
159
+ else if (!closing) {
160
+ console.error(error);
161
+ process.exitCode = 1;
162
+ void close();
163
+ }
164
+ };
165
+ worker.on('error', fail);
166
+ worker.on('exit', (code) =>
167
+ fail(new Error(`Locale worker ${locale} exited (${code})`)),
168
+ );
169
+ worker.once('message', (message) => {
170
+ clearTimeout(timeout);
171
+ if (message.type !== 'ready' || !Number.isInteger(message.port)) {
172
+ reject(
173
+ new Error(
174
+ `Invalid startup response from locale worker ${locale}`,
175
+ ),
176
+ );
177
+ return;
178
+ }
179
+ ready = true;
180
+ ports.set(locale, message.port);
181
+ resolve();
182
+ });
183
+ }),
184
+ ),
185
+ );
186
+ } catch (error) {
187
+ closing = Promise.resolve();
188
+ agent.destroy();
189
+ await Promise.all(workers.map((worker) => worker.terminate()));
190
+ throw error;
191
+ }
192
+ return { server, close };
193
+ }
@@ -0,0 +1,6 @@
1
+ import type { NitroConfig } from 'nitropack';
2
+ import type { Options, I18nPrerenderOptions } from '../options.js';
3
+ export declare const I18N_WORKER_SSR_ENTRY = "virtual:analog-i18n/main.server";
4
+ export declare function validateI18nWorkers(options: Options, nitro: NitroConfig): void;
5
+ export declare function resolveI18nWorkers(options: Options, nitro: NitroConfig): boolean;
6
+ export declare function i18nWorkerSsrEntry(entry: string, loader: string, config: I18nPrerenderOptions): string;
@@ -0,0 +1,66 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ export const I18N_WORKER_SSR_ENTRY = 'virtual:analog-i18n/main.server';
3
+ export function validateI18nWorkers(options, nitro) {
4
+ if (!options.i18n?.loader) {
5
+ throw new Error('i18n.workers requires an i18n.loader module.');
6
+ }
7
+ if (!options.ssr || nitro.preset !== 'node-server') {
8
+ throw new Error('i18n.workers requires SSR and the node-server preset.');
9
+ }
10
+ if (options.experimental?.streaming ||
11
+ nitro.experimental?.websocket ||
12
+ Object.keys(nitro.scheduledTasks ?? {}).length) {
13
+ throw new Error('i18n.workers does not support experimental streaming, WebSockets, or scheduled tasks.');
14
+ }
15
+ const { locales, defaultLocale } = options.i18n;
16
+ if (!locales.length ||
17
+ new Set(locales).size !== locales.length ||
18
+ !locales.includes(defaultLocale)) {
19
+ throw new Error('i18n.workers requires unique locales including defaultLocale.');
20
+ }
21
+ }
22
+ export function resolveI18nWorkers(options, nitro) {
23
+ const i18n = options.i18n;
24
+ if (!i18n || i18n.workers === false)
25
+ return false;
26
+ if (i18n.workers !== true && (!i18n.loader || i18n.locales.length < 2))
27
+ return false;
28
+ try {
29
+ validateI18nWorkers(options, nitro);
30
+ return true;
31
+ }
32
+ catch (error) {
33
+ if (i18n.workers === true)
34
+ throw error;
35
+ console.warn(`[@analogjs/platform] Automatic i18n workers disabled: ${error.message} Concurrent cross-locale SSR remains unisolated.`);
36
+ return false;
37
+ }
38
+ }
39
+ export function i18nWorkerSsrEntry(entry, loader, config) {
40
+ return `
41
+ import '@angular/localize/init';
42
+ import { loadTranslations } from '@angular/localize';
43
+ import load from ${JSON.stringify(loader)};
44
+ import { setHtmlLang } from ${JSON.stringify(fileURLToPath(new URL('./i18n-prerender.js', import.meta.url)))};
45
+
46
+ const locale = process.env['ANALOG_I18N_LOCALE'];
47
+ let renderer;
48
+ export const i18nReady = locale ? (async () => {
49
+ if (!${JSON.stringify(config.locales)}.includes(locale)) {
50
+ throw new Error('Unsupported i18n worker locale: ' + locale);
51
+ }
52
+ if (locale !== ${JSON.stringify(config.locales[0])}) {
53
+ loadTranslations(await load(locale));
54
+ }
55
+ renderer = (await import(${JSON.stringify(entry)})).default;
56
+ })() : Promise.resolve();
57
+
58
+ export default async function (...args) {
59
+ if (!locale) throw new Error('This SSR build must run in its locale worker.');
60
+ await i18nReady;
61
+ args[1] = setHtmlLang(args[1], locale);
62
+ return renderer(...args);
63
+ }
64
+ `;
65
+ }
66
+ //# sourceMappingURL=i18n-workers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-workers.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/utils/i18n-workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,iCAAiC,CAAC;AAEvE,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,KAAkB;IACtE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IACE,OAAO,CAAC,YAAY,EAAE,SAAS;QAC/B,KAAK,CAAC,YAAY,EAAE,SAAS;QAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAChD,IACE,CAAC,OAAO,CAAC,MAAM;QACf,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACxC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,KAAkB;IAElB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,IAAI,CAAC;QACH,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC;QACvC,OAAO,CAAC,IAAI,CACV,yDAA0D,KAAe,CAAC,OAAO,kDAAkD,CACpI,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,MAAc,EACd,MAA4B;IAE5B,OAAO;;;mBAGU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;8BACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;SAKnG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;;;mBAGpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;;6BAGvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;;;;;;;CASjD,CAAC;AACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { build, createDevServer, createNitro } from 'nitropack';
1
+ import { build, createDevServer, createNitro, loadOptions, } from 'nitropack';
2
2
  import { toNodeListener } from 'h3';
3
3
  import { mergeConfig, normalizePath } from 'vite';
4
4
  import { dirname, relative, resolve } from 'node:path';
@@ -7,6 +7,7 @@ import { fileURLToPath, pathToFileURL } from 'node:url';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import { buildServer } from './build-server.js';
9
9
  import { buildSSRApp } from './build-ssr.js';
10
+ import { I18N_WORKER_SSR_ENTRY, i18nWorkerSsrEntry, resolveI18nWorkers, } from './utils/i18n-workers.js';
10
11
  import { pageEndpointsPlugin } from './plugins/page-endpoints.js';
11
12
  import { serverFnIdPlugin } from './plugins/server-fn-id-plugin.js';
12
13
  import { getPageHandlers } from './utils/get-page-handlers.js';
@@ -32,6 +33,7 @@ export function nitro(options, nitroOptions) {
32
33
  const useAPIMiddleware = typeof options?.useAPIMiddleware !== 'undefined'
33
34
  ? options?.useAPIMiddleware
34
35
  : true;
36
+ let i18nWorkers = false;
35
37
  let isBuild = false;
36
38
  let isServe = false;
37
39
  let ssrBuild = false;
@@ -44,6 +46,22 @@ export function nitro(options, nitroOptions) {
44
46
  const routeSourceFiles = {};
45
47
  let rootDir = workspaceRoot;
46
48
  return [
49
+ ...(options?.i18n?.loader
50
+ ? [
51
+ {
52
+ name: 'analog-i18n-worker-entry',
53
+ apply: 'build',
54
+ resolveId(id) {
55
+ return id === I18N_WORKER_SSR_ENTRY ? '\0' + id : undefined;
56
+ },
57
+ load(id) {
58
+ if (id !== '\0' + I18N_WORKER_SSR_ENTRY || !options?.i18n?.loader)
59
+ return;
60
+ return i18nWorkerSsrEntry(normalizePath(resolve(workspaceRoot, rootDir, options.entryServer || `${sourceRoot}/main.server.ts`)), normalizePath(resolve(workspaceRoot, rootDir, options.i18n.loader)), options.i18n);
61
+ },
62
+ },
63
+ ]
64
+ : []),
47
65
  (options?.ssr
48
66
  ? devServerPlugin({
49
67
  entryServer: options?.entryServer,
@@ -314,7 +332,25 @@ export function nitro(options, nitroOptions) {
314
332
  }
315
333
  }
316
334
  nitroConfig = mergeConfig(nitroConfig, nitroOptions);
335
+ i18nWorkers = false;
336
+ if (isBuild &&
337
+ options?.i18n &&
338
+ options.i18n.workers !== false &&
339
+ (options.i18n.loader || options.i18n.workers === true)) {
340
+ const resolvedNitro = await loadOptions({
341
+ dev: false,
342
+ preset: process.env['BUILD_PRESET'],
343
+ ...nitroConfig,
344
+ });
345
+ i18nWorkers = resolveI18nWorkers(options, resolvedNitro);
346
+ nitroConfig.preset = resolvedNitro.preset;
347
+ }
317
348
  return {
349
+ define: {
350
+ ANALOG_I18N_FIXED_LOCALE: i18nWorkers
351
+ ? 'globalThis.process.env.ANALOG_I18N_LOCALE'
352
+ : 'undefined',
353
+ },
318
354
  environments: {
319
355
  client: {
320
356
  build: {
@@ -326,8 +362,10 @@ export function nitro(options, nitroOptions) {
326
362
  build: {
327
363
  ssr: true,
328
364
  rollupOptions: {
329
- input: options?.entryServer ||
330
- resolve(workspaceRoot, rootDir, `${sourceRoot}/main.server.ts`),
365
+ input: i18nWorkers
366
+ ? { 'main.server': I18N_WORKER_SSR_ENTRY }
367
+ : options?.entryServer ||
368
+ resolve(workspaceRoot, rootDir, `${sourceRoot}/main.server.ts`),
331
369
  },
332
370
  outDir: options?.ssrBuildDir ||
333
371
  resolve(workspaceRoot, 'dist', rootDir, 'ssr'),
@@ -354,7 +392,7 @@ export function nitro(options, nitroOptions) {
354
392
  ...nitroConfig.alias,
355
393
  '#analog/ssr': ssrEntry,
356
394
  };
357
- await buildServer(options, nitroConfig, routeSourceFiles);
395
+ await buildServer(options, nitroConfig, routeSourceFiles, i18nWorkers);
358
396
  if (nitroConfig.prerender?.routes?.length &&
359
397
  options?.prerender?.sitemap) {
360
398
  const publicDir = nitroConfig.output?.publicDir;
@@ -428,7 +466,7 @@ export function nitro(options, nitroOptions) {
428
466
  if (isBuild) {
429
467
  if (options?.ssr) {
430
468
  console.log('Building SSR application...');
431
- await buildSSRApp(config, options);
469
+ await buildSSRApp(config, options, i18nWorkers);
432
470
  }
433
471
  if (nitroConfig.prerender?.routes?.length &&
434
472
  options?.prerender?.sitemap) {
@@ -447,7 +485,7 @@ export function nitro(options, nitroOptions) {
447
485
  ...nitroConfig.alias,
448
486
  '#analog/ssr': ssrEntry,
449
487
  };
450
- await buildServer(options, nitroConfig, routeSourceFiles);
488
+ await buildServer(options, nitroConfig, routeSourceFiles, i18nWorkers);
451
489
  console.log(`\n\nThe '@analogjs/platform' server has been successfully built.`);
452
490
  }
453
491
  },
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":"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"}