vite-ssg-optimized 0.24.2-optimized.51 → 0.24.2-optimized.53
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/node/cli.cjs +1 -1
- package/dist/node/cli.mjs +1 -1
- package/dist/node.cjs +1 -1
- package/dist/node.mjs +1 -1
- package/dist/shared/build.worker.cjs +1 -1
- package/dist/shared/build.worker.mjs +1 -1
- package/dist/shared/{vite-ssg-optimized.7dc8356d.mjs → vite-ssg-optimized.8d456b79.mjs} +51 -9
- package/dist/shared/{vite-ssg-optimized.a71b6942.cjs → vite-ssg-optimized.e0773de0.cjs} +53 -11
- package/package.json +1 -1
package/dist/node/cli.cjs
CHANGED
|
@@ -4,7 +4,7 @@ const process = require('node:process');
|
|
|
4
4
|
const kolorist = require('kolorist');
|
|
5
5
|
const yargs = require('yargs');
|
|
6
6
|
const helpers = require('yargs/helpers');
|
|
7
|
-
const node = require('../shared/vite-ssg-optimized.
|
|
7
|
+
const node = require('../shared/vite-ssg-optimized.e0773de0.cjs');
|
|
8
8
|
require('node:module');
|
|
9
9
|
require('node:path');
|
|
10
10
|
require('@unhead/ssr');
|
package/dist/node/cli.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import process from 'node:process';
|
|
|
2
2
|
import { gray, bold, red, reset, underline } from 'kolorist';
|
|
3
3
|
import yargs from 'yargs';
|
|
4
4
|
import { hideBin } from 'yargs/helpers';
|
|
5
|
-
import { b as build } from '../shared/vite-ssg-optimized.
|
|
5
|
+
import { b as build } from '../shared/vite-ssg-optimized.8d456b79.mjs';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import 'node:path';
|
|
8
8
|
import '@unhead/ssr';
|
package/dist/node.cjs
CHANGED
package/dist/node.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const node_module = require('node:module');
|
|
4
4
|
const node_worker_threads = require('node:worker_threads');
|
|
5
|
-
const node = require('./vite-ssg-optimized.
|
|
5
|
+
const node = require('./vite-ssg-optimized.e0773de0.cjs');
|
|
6
6
|
const kolorist = require('kolorist');
|
|
7
7
|
const vite = require('vite');
|
|
8
8
|
require('node:path');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
import { parentPort, workerData } from 'node:worker_threads';
|
|
3
|
-
import { p as plainify, e as executeTaskFn, a as buildClient, c as buildServer } from './vite-ssg-optimized.
|
|
3
|
+
import { p as plainify, e as executeTaskFn, a as buildClient, c as buildServer } from './vite-ssg-optimized.8d456b79.mjs';
|
|
4
4
|
import { red, gray, blue } from 'kolorist';
|
|
5
5
|
import { resolveConfig } from 'vite';
|
|
6
6
|
import 'node:path';
|
|
@@ -1051,6 +1051,9 @@ class BuildWorkerProxy {
|
|
|
1051
1051
|
once(type, listener) {
|
|
1052
1052
|
this.worker.once(type, listener);
|
|
1053
1053
|
}
|
|
1054
|
+
unref() {
|
|
1055
|
+
this.worker.unref();
|
|
1056
|
+
}
|
|
1054
1057
|
async send(type, args) {
|
|
1055
1058
|
const id = crypto.randomUUID();
|
|
1056
1059
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -1276,7 +1279,15 @@ async function build(ssgOptions = {}, viteConfig = {}) {
|
|
|
1276
1279
|
const workerRunCount = /* @__PURE__ */ new WeakMap();
|
|
1277
1280
|
const MAX_RUNS_PER_WORKER = 100;
|
|
1278
1281
|
let lastWorkerIndex = workers.length - 1;
|
|
1279
|
-
|
|
1282
|
+
const workerProxyMap = /* @__PURE__ */ new Map();
|
|
1283
|
+
const workerTransitionPromises = [];
|
|
1284
|
+
const pendingTasks = () => {
|
|
1285
|
+
return Array.from(workerProxyMap.keys()).map((worker) => workersInUse.get(worker) || []).flat();
|
|
1286
|
+
};
|
|
1287
|
+
async function replaceWorker(workerProxy) {
|
|
1288
|
+
if (workerProxyMap.has(workerProxy)) {
|
|
1289
|
+
return await workerProxyMap.get(workerProxy);
|
|
1290
|
+
}
|
|
1280
1291
|
const index = workers.indexOf(workerProxy);
|
|
1281
1292
|
if (index === -1) {
|
|
1282
1293
|
return workerProxy;
|
|
@@ -1284,26 +1295,57 @@ async function build(ssgOptions = {}, viteConfig = {}) {
|
|
|
1284
1295
|
++lastWorkerIndex;
|
|
1285
1296
|
config.logger.info(`${blue("[vite-ssg]")} ${yellow(`Replace worker #${workerProxy.id} => #${lastWorkerIndex}`)}`);
|
|
1286
1297
|
const workerPromises = workersInUse.get(workerProxy) || [];
|
|
1287
|
-
const
|
|
1288
|
-
|
|
1289
|
-
workerId: lastWorkerIndex
|
|
1290
|
-
});
|
|
1291
|
-
workers[index] = newWorkerProxy;
|
|
1292
|
-
Promise.allSettled([...workerPromises, Promise.resolve()]).then(async () => {
|
|
1298
|
+
const transitionPromise = Promise.allSettled([...workerPromises, Promise.resolve()]).then(async () => {
|
|
1299
|
+
await new Promise((resolve) => setTimeout(resolve, 4));
|
|
1293
1300
|
await terminateWorker(workerProxy, onFinished);
|
|
1301
|
+
workerTransitionPromises.splice(workerTransitionPromises.indexOf(transitionPromise), 1);
|
|
1302
|
+
workerProxyMap.delete(workerProxy);
|
|
1294
1303
|
});
|
|
1295
|
-
|
|
1304
|
+
workerTransitionPromises.push(transitionPromise);
|
|
1305
|
+
workerProxyMap.set(workerProxy, Promise.resolve().then(async () => {
|
|
1306
|
+
while (pendingTasks().length > MAX_RUNS_PER_WORKER / 5) {
|
|
1307
|
+
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
1308
|
+
}
|
|
1309
|
+
while (workerTransitionPromises.length > 2) {
|
|
1310
|
+
console.log(`${gray("[vite-ssg]")} ${yellow(`Waiting for worker transition to finish. ${workerTransitionPromises.length} transitions running`)}`);
|
|
1311
|
+
await Promise.race(workerTransitionPromises);
|
|
1312
|
+
}
|
|
1313
|
+
const newWorkerProxy = createProxy({
|
|
1314
|
+
...createProxyOptions,
|
|
1315
|
+
workerId: lastWorkerIndex
|
|
1316
|
+
});
|
|
1317
|
+
workers[index] = newWorkerProxy;
|
|
1318
|
+
return newWorkerProxy;
|
|
1319
|
+
}));
|
|
1320
|
+
return await workerProxyMap.get(workerProxy);
|
|
1296
1321
|
}
|
|
1297
1322
|
const queue = new PQueue({ concurrency });
|
|
1323
|
+
let shouldBreak = false;
|
|
1324
|
+
const breakHandler = () => {
|
|
1325
|
+
shouldBreak = true;
|
|
1326
|
+
workers.forEach((worker) => worker.unref());
|
|
1327
|
+
};
|
|
1328
|
+
process$1.once("SIGINT", breakHandler);
|
|
1329
|
+
process$1.once("SIGTERM", breakHandler);
|
|
1330
|
+
process$1.once("beforeExit", breakHandler);
|
|
1331
|
+
process$1.once("exit", breakHandler);
|
|
1298
1332
|
for (const route of routesPaths) {
|
|
1333
|
+
if (shouldBreak) {
|
|
1334
|
+
console.log(`${gray("[vite-ssg]")} ${yellow("Build process interrupted.")}`);
|
|
1335
|
+
break;
|
|
1336
|
+
}
|
|
1299
1337
|
await queue.onSizeLessThan(concurrency);
|
|
1300
1338
|
queue.add(async () => {
|
|
1339
|
+
if (shouldBreak) {
|
|
1340
|
+
console.log(`${gray("[vite-ssg]")} ${yellow("Build process interrupted.")}`);
|
|
1341
|
+
return Promise.resolve();
|
|
1342
|
+
}
|
|
1301
1343
|
let workerProxy = await selectWorker(workerIndex++ % numberOfWorkers);
|
|
1302
1344
|
const currentCount = (workerRunCount.get(workerProxy) ?? 0) + 1;
|
|
1303
1345
|
workerRunCount.set(workerProxy, currentCount);
|
|
1304
1346
|
if (currentCount > MAX_RUNS_PER_WORKER) {
|
|
1347
|
+
workerProxy = await replaceWorker(workerProxy);
|
|
1305
1348
|
workerRunCount.delete(workerProxy);
|
|
1306
|
-
workerProxy = replaceWorker(workerProxy);
|
|
1307
1349
|
}
|
|
1308
1350
|
let retryCount = 0;
|
|
1309
1351
|
const maxRetries = 3;
|
|
@@ -1060,6 +1060,9 @@ class BuildWorkerProxy {
|
|
|
1060
1060
|
once(type, listener) {
|
|
1061
1061
|
this.worker.once(type, listener);
|
|
1062
1062
|
}
|
|
1063
|
+
unref() {
|
|
1064
|
+
this.worker.unref();
|
|
1065
|
+
}
|
|
1063
1066
|
async send(type, args) {
|
|
1064
1067
|
const id = crypto.randomUUID();
|
|
1065
1068
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -1132,7 +1135,7 @@ async function buildServer(config, viteConfig, { ssrEntry, ssgOut, format, mock
|
|
|
1132
1135
|
}
|
|
1133
1136
|
function createProxy(options) {
|
|
1134
1137
|
const workerExt = options.format === "esm" ? ".mjs" : ".cjs";
|
|
1135
|
-
const workerProxy = new BuildWorkerProxy(new URL(`./build.worker${workerExt}`, (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/vite-ssg-optimized.
|
|
1138
|
+
const workerProxy = new BuildWorkerProxy(new URL(`./build.worker${workerExt}`, (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/vite-ssg-optimized.e0773de0.cjs', document.baseURI).href))), {
|
|
1136
1139
|
env: process__default.env,
|
|
1137
1140
|
workerData: options
|
|
1138
1141
|
});
|
|
@@ -1261,7 +1264,7 @@ async function build(ssgOptions = {}, viteConfig = {}) {
|
|
|
1261
1264
|
return worker;
|
|
1262
1265
|
};
|
|
1263
1266
|
const serverEntry = prefix + node_path.join(ssgOut, node_path.parse(ssrEntry).name + ext).replace(/\\/g, "/");
|
|
1264
|
-
const _require = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/vite-ssg-optimized.
|
|
1267
|
+
const _require = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/vite-ssg-optimized.e0773de0.cjs', document.baseURI).href)));
|
|
1265
1268
|
const { createApp, includedRoutes: serverEntryIncludedRoutes } = format === "esm" ? await import(serverEntry) : _require(serverEntry);
|
|
1266
1269
|
const includedRoutes = serverEntryIncludedRoutes || configIncludedRoutes;
|
|
1267
1270
|
const { routes } = await createApp(false);
|
|
@@ -1285,7 +1288,15 @@ async function build(ssgOptions = {}, viteConfig = {}) {
|
|
|
1285
1288
|
const workerRunCount = /* @__PURE__ */ new WeakMap();
|
|
1286
1289
|
const MAX_RUNS_PER_WORKER = 100;
|
|
1287
1290
|
let lastWorkerIndex = workers.length - 1;
|
|
1288
|
-
|
|
1291
|
+
const workerProxyMap = /* @__PURE__ */ new Map();
|
|
1292
|
+
const workerTransitionPromises = [];
|
|
1293
|
+
const pendingTasks = () => {
|
|
1294
|
+
return Array.from(workerProxyMap.keys()).map((worker) => workersInUse.get(worker) || []).flat();
|
|
1295
|
+
};
|
|
1296
|
+
async function replaceWorker(workerProxy) {
|
|
1297
|
+
if (workerProxyMap.has(workerProxy)) {
|
|
1298
|
+
return await workerProxyMap.get(workerProxy);
|
|
1299
|
+
}
|
|
1289
1300
|
const index = workers.indexOf(workerProxy);
|
|
1290
1301
|
if (index === -1) {
|
|
1291
1302
|
return workerProxy;
|
|
@@ -1293,26 +1304,57 @@ async function build(ssgOptions = {}, viteConfig = {}) {
|
|
|
1293
1304
|
++lastWorkerIndex;
|
|
1294
1305
|
config.logger.info(`${kolorist.blue("[vite-ssg]")} ${kolorist.yellow(`Replace worker #${workerProxy.id} => #${lastWorkerIndex}`)}`);
|
|
1295
1306
|
const workerPromises = workersInUse.get(workerProxy) || [];
|
|
1296
|
-
const
|
|
1297
|
-
|
|
1298
|
-
workerId: lastWorkerIndex
|
|
1299
|
-
});
|
|
1300
|
-
workers[index] = newWorkerProxy;
|
|
1301
|
-
Promise.allSettled([...workerPromises, Promise.resolve()]).then(async () => {
|
|
1307
|
+
const transitionPromise = Promise.allSettled([...workerPromises, Promise.resolve()]).then(async () => {
|
|
1308
|
+
await new Promise((resolve) => setTimeout(resolve, 4));
|
|
1302
1309
|
await terminateWorker(workerProxy, onFinished);
|
|
1310
|
+
workerTransitionPromises.splice(workerTransitionPromises.indexOf(transitionPromise), 1);
|
|
1311
|
+
workerProxyMap.delete(workerProxy);
|
|
1303
1312
|
});
|
|
1304
|
-
|
|
1313
|
+
workerTransitionPromises.push(transitionPromise);
|
|
1314
|
+
workerProxyMap.set(workerProxy, Promise.resolve().then(async () => {
|
|
1315
|
+
while (pendingTasks().length > MAX_RUNS_PER_WORKER / 5) {
|
|
1316
|
+
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
1317
|
+
}
|
|
1318
|
+
while (workerTransitionPromises.length > 2) {
|
|
1319
|
+
console.log(`${kolorist.gray("[vite-ssg]")} ${kolorist.yellow(`Waiting for worker transition to finish. ${workerTransitionPromises.length} transitions running`)}`);
|
|
1320
|
+
await Promise.race(workerTransitionPromises);
|
|
1321
|
+
}
|
|
1322
|
+
const newWorkerProxy = createProxy({
|
|
1323
|
+
...createProxyOptions,
|
|
1324
|
+
workerId: lastWorkerIndex
|
|
1325
|
+
});
|
|
1326
|
+
workers[index] = newWorkerProxy;
|
|
1327
|
+
return newWorkerProxy;
|
|
1328
|
+
}));
|
|
1329
|
+
return await workerProxyMap.get(workerProxy);
|
|
1305
1330
|
}
|
|
1306
1331
|
const queue = new PQueue({ concurrency });
|
|
1332
|
+
let shouldBreak = false;
|
|
1333
|
+
const breakHandler = () => {
|
|
1334
|
+
shouldBreak = true;
|
|
1335
|
+
workers.forEach((worker) => worker.unref());
|
|
1336
|
+
};
|
|
1337
|
+
process__default.once("SIGINT", breakHandler);
|
|
1338
|
+
process__default.once("SIGTERM", breakHandler);
|
|
1339
|
+
process__default.once("beforeExit", breakHandler);
|
|
1340
|
+
process__default.once("exit", breakHandler);
|
|
1307
1341
|
for (const route of routesPaths) {
|
|
1342
|
+
if (shouldBreak) {
|
|
1343
|
+
console.log(`${kolorist.gray("[vite-ssg]")} ${kolorist.yellow("Build process interrupted.")}`);
|
|
1344
|
+
break;
|
|
1345
|
+
}
|
|
1308
1346
|
await queue.onSizeLessThan(concurrency);
|
|
1309
1347
|
queue.add(async () => {
|
|
1348
|
+
if (shouldBreak) {
|
|
1349
|
+
console.log(`${kolorist.gray("[vite-ssg]")} ${kolorist.yellow("Build process interrupted.")}`);
|
|
1350
|
+
return Promise.resolve();
|
|
1351
|
+
}
|
|
1310
1352
|
let workerProxy = await selectWorker(workerIndex++ % numberOfWorkers);
|
|
1311
1353
|
const currentCount = (workerRunCount.get(workerProxy) ?? 0) + 1;
|
|
1312
1354
|
workerRunCount.set(workerProxy, currentCount);
|
|
1313
1355
|
if (currentCount > MAX_RUNS_PER_WORKER) {
|
|
1356
|
+
workerProxy = await replaceWorker(workerProxy);
|
|
1314
1357
|
workerRunCount.delete(workerProxy);
|
|
1315
|
-
workerProxy = replaceWorker(workerProxy);
|
|
1316
1358
|
}
|
|
1317
1359
|
let retryCount = 0;
|
|
1318
1360
|
const maxRetries = 3;
|