vite-ssg-optimized 0.24.2-optimized.5 → 0.24.2-optimized.50

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 (32) hide show
  1. package/README.md +32 -1
  2. package/dist/client/single-page.cjs +1 -1
  3. package/dist/client/single-page.d.cts +2 -2
  4. package/dist/client/single-page.d.mts +2 -2
  5. package/dist/client/single-page.d.ts +2 -2
  6. package/dist/client/single-page.mjs +2 -2
  7. package/dist/index.cjs +20 -3
  8. package/dist/index.d.cts +2 -2
  9. package/dist/index.d.mts +2 -2
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.mjs +22 -5
  12. package/dist/node/cli.cjs +1 -1
  13. package/dist/node/cli.mjs +1 -1
  14. package/dist/node.cjs +1 -1
  15. package/dist/node.d.cts +8 -3
  16. package/dist/node.d.mts +8 -3
  17. package/dist/node.d.ts +8 -3
  18. package/dist/node.mjs +1 -1
  19. package/dist/shared/build.worker.cjs +99 -18
  20. package/dist/shared/build.worker.d.cts +4 -14
  21. package/dist/shared/build.worker.d.mts +4 -14
  22. package/dist/shared/build.worker.d.ts +4 -14
  23. package/dist/shared/build.worker.mjs +100 -19
  24. package/dist/shared/{vite-ssg-optimized.cf5cb4ee.d.cts → vite-ssg-optimized.341e382e.d.cts} +6 -1
  25. package/dist/shared/{vite-ssg-optimized.cf5cb4ee.d.mts → vite-ssg-optimized.341e382e.d.mts} +6 -1
  26. package/dist/shared/{vite-ssg-optimized.cf5cb4ee.d.ts → vite-ssg-optimized.341e382e.d.ts} +6 -1
  27. package/dist/shared/{vite-ssg-optimized.62fed880.mjs → vite-ssg-optimized.65f46348.mjs} +198 -87
  28. package/dist/shared/{vite-ssg-optimized.46e3caf6.cjs → vite-ssg-optimized.e58a8d97.cjs} +200 -87
  29. package/package.json +1 -1
  30. package/dist/shared/vite-ssg-optimized.12fd9d22.d.cts +0 -9
  31. package/dist/shared/vite-ssg-optimized.892682c8.d.mts +0 -9
  32. package/dist/shared/vite-ssg-optimized.950926bc.d.ts +0 -9
@@ -839,35 +839,6 @@ class PQueue extends EventEmitter {
839
839
  }
840
840
  }
841
841
 
842
- async function getBeastiesOrCritters(outDir, options = {}) {
843
- try {
844
- const BeastiesClass = (await import('beasties')).default;
845
- return new BeastiesClass({
846
- path: outDir,
847
- logLevel: "warn",
848
- external: true,
849
- inlineFonts: true,
850
- preloadFonts: true,
851
- ...options
852
- });
853
- } catch {
854
- }
855
- try {
856
- const CrittersClass = (await import('critters')).default;
857
- console.warn("`critters` is deprecated. Please use `beasties` instead.");
858
- return new CrittersClass({
859
- path: outDir,
860
- logLevel: "warn",
861
- external: true,
862
- inlineFonts: true,
863
- preloadFonts: true,
864
- ...options
865
- });
866
- } catch {
867
- return void 0;
868
- }
869
- }
870
-
871
842
  function isMatchOption(node, opts) {
872
843
  if (opts.match.tag && !(node.name === opts.match.tag)) {
873
844
  return false;
@@ -1053,15 +1024,16 @@ class BuildWorkerProxy {
1053
1024
  constructor(path, options) {
1054
1025
  __publicField(this, "worker");
1055
1026
  __publicField(this, "pending", /* @__PURE__ */ new Map());
1027
+ __publicField(this, "_id");
1056
1028
  this.worker = new node_worker_threads.Worker(path, options);
1029
+ this._id = options.workerData.workerId;
1057
1030
  this.worker.on("message", (message) => {
1058
1031
  const { type, level = "info", args = [] } = message;
1059
1032
  if (type !== "log")
1060
1033
  return;
1061
1034
  const fn = console[level]?.bind(console);
1062
- let msg = args.map((arg) => typeof arg === "object" && !!arg ? "[object]" : arg).join(" ");
1063
1035
  const workerId = options.workerData.workerId;
1064
- fn?.(`[woker #${workerId}] ${msg}`);
1036
+ fn?.(`[woker #${workerId}] `, ...args, kolorist.reset(""));
1065
1037
  });
1066
1038
  this.worker.on("message", (message) => {
1067
1039
  const { id, type, result = void 0, error = void 0 } = message;
@@ -1076,12 +1048,18 @@ class BuildWorkerProxy {
1076
1048
  }
1077
1049
  });
1078
1050
  }
1051
+ get id() {
1052
+ return this._id;
1053
+ }
1079
1054
  on(type, listener) {
1080
1055
  this.worker.on(type, listener);
1081
1056
  }
1082
1057
  off(type, listener) {
1083
1058
  this.worker.off(type, listener);
1084
1059
  }
1060
+ once(type, listener) {
1061
+ this.worker.once(type, listener);
1062
+ }
1085
1063
  async send(type, args) {
1086
1064
  const id = crypto.randomUUID();
1087
1065
  const promise = new Promise((resolve, reject) => {
@@ -1094,7 +1072,9 @@ class BuildWorkerProxy {
1094
1072
  return promise;
1095
1073
  }
1096
1074
  terminate() {
1097
- this.worker.terminate();
1075
+ return this.worker.terminate().finally(() => {
1076
+ this.pending.clear();
1077
+ });
1098
1078
  }
1099
1079
  }
1100
1080
 
@@ -1122,10 +1102,14 @@ async function buildClient(config, viteConfig) {
1122
1102
  mode: config.mode
1123
1103
  }));
1124
1104
  }
1125
- async function buildServer(config, viteConfig, { ssrEntry, ssgOut, format }) {
1105
+ async function buildServer(config, viteConfig, { ssrEntry, ssgOut, format, mock }) {
1126
1106
  buildLog("Build for server...");
1127
1107
  process__default.env.VITE_SSG = "true";
1128
1108
  const { base } = config;
1109
+ if (mock) {
1110
+ const { jsdomGlobal } = await import('../chunks/jsdomGlobal.cjs');
1111
+ jsdomGlobal();
1112
+ }
1129
1113
  await vite.build(vite.mergeConfig(viteConfig, {
1130
1114
  base,
1131
1115
  build: {
@@ -1146,6 +1130,19 @@ async function buildServer(config, viteConfig, { ssrEntry, ssgOut, format }) {
1146
1130
  mode: config.mode
1147
1131
  }));
1148
1132
  }
1133
+ function createProxy(options) {
1134
+ 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.e58a8d97.cjs', document.baseURI).href))), {
1136
+ env: process__default.env,
1137
+ workerData: options
1138
+ });
1139
+ process__default.once("SIGINT", workerProxy.terminate.bind(workerProxy));
1140
+ process__default.once("SIGTERM", workerProxy.terminate.bind(workerProxy));
1141
+ process__default.once("SIGBREAK", workerProxy.terminate.bind(workerProxy));
1142
+ process__default.once("beforeExit", workerProxy.terminate.bind(workerProxy));
1143
+ process__default.once("exit", workerProxy.terminate.bind(workerProxy));
1144
+ return workerProxy;
1145
+ }
1149
1146
  async function build(ssgOptions = {}, viteConfig = {}) {
1150
1147
  const nodeEnv = process__default.env.NODE_ENV || "production";
1151
1148
  const mode = process__default.env.MODE || ssgOptions.mode || nodeEnv;
@@ -1160,12 +1157,13 @@ async function build(ssgOptions = {}, viteConfig = {}) {
1160
1157
  ssgOut: _ssgOutDir = node_path.join(root, ".vite-ssg-temp", Math.random().toString(36).substring(2, 12)),
1161
1158
  formatting = "none",
1162
1159
  minifyOptions = {},
1163
- crittersOptions = {},
1160
+ // crittersOptions = {},
1164
1161
  beastiesOptions = {},
1165
1162
  includedRoutes: configIncludedRoutes = DefaultIncludedRoutes,
1166
- onBeforePageRender,
1167
- onPageRendered,
1168
- onDonePageRender,
1163
+ // onBeforePageRender,
1164
+ // onPageRendered,
1165
+ // onDonePageRender,
1166
+ numberOfWorkers: _numberOfWorkers = 5,
1169
1167
  onFinished,
1170
1168
  dirStyle = "flat",
1171
1169
  includeAllRoutes = false,
@@ -1174,6 +1172,14 @@ async function build(ssgOptions = {}, viteConfig = {}) {
1174
1172
  rootContainerId = "app"
1175
1173
  } = Object.assign({}, config.ssgOptions || {}, ssgOptions);
1176
1174
  const ssgOut = node_path.isAbsolute(_ssgOutDir) ? _ssgOutDir : node_path.join(root, _ssgOutDir);
1175
+ const createProxyOptions = {
1176
+ format,
1177
+ out,
1178
+ dirStyle,
1179
+ viteConfig: {
1180
+ configFile: config.configFile
1181
+ }
1182
+ };
1177
1183
  let willRunBuild = true;
1178
1184
  if (fs__default.existsSync(ssgOut)) {
1179
1185
  willRunBuild = !ssgOptions["skip-build"];
@@ -1181,28 +1187,87 @@ async function build(ssgOptions = {}, viteConfig = {}) {
1181
1187
  await fs__default.remove(ssgOut);
1182
1188
  }
1183
1189
  }
1184
- if (willRunBuild)
1185
- await buildClient(config, viteConfig);
1186
- if (mock) {
1187
- const { jsdomGlobal } = await import('../chunks/jsdomGlobal.cjs');
1188
- jsdomGlobal();
1190
+ const buildPromises = [];
1191
+ if (willRunBuild) {
1192
+ const clientWorker = createProxy({
1193
+ ...createProxyOptions,
1194
+ workerId: "client"
1195
+ });
1196
+ clientWorker.on("unhandledRejection", (error) => {
1197
+ console.error(error);
1198
+ clientWorker.terminate();
1199
+ });
1200
+ const cpBuildClient = execInWorker(clientWorker, buildClient, config, viteConfig).finally(() => clientWorker.terminate());
1201
+ buildPromises.push(cpBuildClient);
1189
1202
  }
1190
1203
  const ssrEntry = await resolveAlias(config, entry);
1191
- if (willRunBuild)
1192
- await buildServer(config, viteConfig, { ssrEntry, ssgOut, format });
1204
+ if (willRunBuild) {
1205
+ const serverWorker = createProxy({
1206
+ ...createProxyOptions,
1207
+ workerId: "server"
1208
+ });
1209
+ const cpBuildServer = execInWorker(serverWorker, buildServer, config, viteConfig, { ssrEntry, ssgOut, format, mock }).finally(() => serverWorker.terminate());
1210
+ buildPromises.push(cpBuildServer);
1211
+ }
1212
+ await Promise.all(buildPromises);
1193
1213
  const prefix = format === "esm" && process__default.platform === "win32" ? "file://" : "";
1194
1214
  const ext = format === "esm" ? ".mjs" : ".cjs";
1215
+ const numberOfWorkers = Math.max(1, _numberOfWorkers);
1216
+ console.log(`${kolorist.gray("[vite-ssg]")} ${kolorist.blue(`Using ${numberOfWorkers} workers`)}`);
1217
+ const workers = Array.from({ length: numberOfWorkers }, (_, index) => createProxy({
1218
+ ...createProxyOptions,
1219
+ workerId: index
1220
+ }));
1221
+ const workersInUse = /* @__PURE__ */ new Map();
1222
+ const terminateWorker = async (worker, onFinished2) => {
1223
+ if (onFinished2) {
1224
+ await execInWorker(worker, onFinished2);
1225
+ }
1226
+ const foundIndex = workers.indexOf(worker);
1227
+ if (foundIndex > -1) {
1228
+ workers.splice(foundIndex, 1);
1229
+ }
1230
+ await worker.terminate().finally(() => {
1231
+ workersInUse.delete(worker);
1232
+ });
1233
+ };
1234
+ const terminateWorkers = async (onFinished2) => {
1235
+ await Promise.all(workers.map((worker) => terminateWorker(worker, onFinished2)));
1236
+ };
1237
+ let workerIndex = 0;
1238
+ const maxTasksPerWorker = Math.ceil(concurrency / numberOfWorkers);
1239
+ const workerTasksRunning = (w) => workersInUse.get(w)?.length || 0;
1240
+ const selectIdleWorker = () => workers.filter((w) => workerTasksRunning(w) < maxTasksPerWorker).sort((a, b) => workerTasksRunning(a) - workerTasksRunning(b))[0];
1241
+ const selectWorker = async (workerIndex2) => {
1242
+ const index = workerIndex2 ?? Math.round(Math.random() * numberOfWorkers);
1243
+ const maybeWorker = workers[index % numberOfWorkers];
1244
+ const worker = maybeWorker && workerTasksRunning(maybeWorker) < maxTasksPerWorker ? maybeWorker : selectIdleWorker();
1245
+ if (!worker) {
1246
+ await Promise.race(Array.from(workersInUse.values()).flat());
1247
+ return selectWorker(workerIndex2);
1248
+ }
1249
+ const workerPromises = workersInUse.get(worker) || [];
1250
+ const delayPromise = new Promise((resolve) => setImmediate(resolve));
1251
+ workerPromises.push(delayPromise);
1252
+ workersInUse.set(worker, workerPromises);
1253
+ delayPromise.finally(() => {
1254
+ const workerPromises2 = workersInUse.get(worker) || [];
1255
+ const foundIndex = workerPromises2.indexOf(delayPromise);
1256
+ if (foundIndex > -1) {
1257
+ workerPromises2.splice(foundIndex, 1);
1258
+ }
1259
+ workersInUse.set(worker, workerPromises2);
1260
+ });
1261
+ return worker;
1262
+ };
1195
1263
  const serverEntry = prefix + node_path.join(ssgOut, node_path.parse(ssrEntry).name + ext).replace(/\\/g, "/");
1196
- 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.46e3caf6.cjs', document.baseURI).href)));
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.e58a8d97.cjs', document.baseURI).href)));
1197
1265
  const { createApp, includedRoutes: serverEntryIncludedRoutes } = format === "esm" ? await import(serverEntry) : _require(serverEntry);
1198
1266
  const includedRoutes = serverEntryIncludedRoutes || configIncludedRoutes;
1199
1267
  const { routes } = await createApp(false);
1200
1268
  let routesPaths = includeAllRoutes ? routesToPaths(routes) : await includedRoutes(routesToPaths(routes), routes || []);
1201
1269
  routesPaths = Array.from(new Set(routesPaths));
1202
1270
  buildLog("Rendering Pages...", routesPaths.length);
1203
- const beasties = beastiesOptions !== false ? await getBeastiesOrCritters(outDir, beastiesOptions) : void 0;
1204
- if (beasties)
1205
- console.log(`${kolorist.gray("[vite-ssg]")} ${kolorist.blue("Critical CSS generation enabled via `beasties`")}`);
1206
1271
  const {
1207
1272
  path: _ssrManifestPath,
1208
1273
  content: ssrManifestRaw
@@ -1217,46 +1282,76 @@ async function build(ssgOptions = {}, viteConfig = {}) {
1217
1282
  indexHTML = rewriteScripts(indexHTML, script);
1218
1283
  const IS_PROD = nodeEnv === "production";
1219
1284
  indexHTML = await formatHtml(indexHTML, IS_PROD ? "minify" : formatting, minifyOptions);
1285
+ const workerRunCount = /* @__PURE__ */ new WeakMap();
1286
+ const MAX_RUNS_PER_WORKER = 100;
1287
+ let lastWorkerIndex = workers.length - 1;
1288
+ function replaceWorker(workerProxy) {
1289
+ const index = workers.indexOf(workerProxy);
1290
+ if (index === -1) {
1291
+ return workerProxy;
1292
+ }
1293
+ ++lastWorkerIndex;
1294
+ config.logger.info(`${kolorist.blue("[vite-ssg]")} ${kolorist.yellow(`Replace worker #${workerProxy.id} => #${lastWorkerIndex}`)}`);
1295
+ const workerPromises = workersInUse.get(workerProxy) || [];
1296
+ const newWorkerProxy = createProxy({
1297
+ ...createProxyOptions,
1298
+ workerId: lastWorkerIndex
1299
+ });
1300
+ workers[index] = newWorkerProxy;
1301
+ Promise.allSettled([...workerPromises, Promise.resolve()]).then(async () => {
1302
+ await terminateWorker(workerProxy, onFinished);
1303
+ });
1304
+ return newWorkerProxy;
1305
+ }
1220
1306
  const queue = new PQueue({ concurrency });
1221
- const workerExt = format === "esm" ? ".mjs" : ".cjs";
1222
- const createProxy = (index) => {
1223
- 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.46e3caf6.cjs', document.baseURI).href))), {
1224
- env: process__default.env,
1225
- workerData: {
1226
- workerId: index,
1227
- serverEntry,
1307
+ for (const route of routesPaths) {
1308
+ await queue.onSizeLessThan(concurrency);
1309
+ queue.add(async () => {
1310
+ let workerProxy = await selectWorker(workerIndex++ % numberOfWorkers);
1311
+ const currentCount = (workerRunCount.get(workerProxy) ?? 0) + 1;
1312
+ workerRunCount.set(workerProxy, currentCount);
1313
+ if (currentCount > MAX_RUNS_PER_WORKER) {
1314
+ workerRunCount.delete(workerProxy);
1315
+ workerProxy = replaceWorker(workerProxy);
1316
+ }
1317
+ let retryCount = 0;
1318
+ const maxRetries = 3;
1319
+ const execOpts = {
1320
+ route,
1228
1321
  ssrManifest,
1229
- format,
1230
- out,
1231
- beastiesOptions,
1232
- dirStyle,
1233
1322
  indexHTML,
1234
1323
  rootContainerId,
1235
1324
  formatting,
1236
1325
  minifyOptions,
1237
- viteConfig: {
1238
- configFile: config.configFile || "vite.config.ts"
1326
+ // out,
1327
+ // dirStyle,
1328
+ beastiesOptions,
1329
+ serverEntry
1330
+ };
1331
+ const taskPromise = executeTaskInWorker(workerProxy, execOpts);
1332
+ const workerPromises = workersInUse.get(workerProxy) || [];
1333
+ workerPromises.push(taskPromise);
1334
+ workersInUse.set(workerProxy, workerPromises);
1335
+ const retryFn = async (e) => {
1336
+ if (retryCount++ < maxRetries) {
1337
+ console.log(`${kolorist.gray("[vite-ssg]")} ${kolorist.yellow(`Retrying ${retryCount} of ${maxRetries} for route: ${kolorist.cyan(route)}`)}`);
1338
+ return await executeTaskInWorker(workerProxy, execOpts).catch(retryFn);
1239
1339
  }
1240
- }
1241
- });
1242
- return workerProxy;
1243
- };
1244
- const numberOfWorkers = 5;
1245
- const workers = Array.from({ length: numberOfWorkers }, (_, index) => createProxy(index));
1246
- let workerIndex = 0;
1247
- for (const route of routesPaths) {
1248
- await queue.onSizeLessThan(concurrency + 5);
1249
- const workerProxy = workers[workerIndex];
1250
- workerIndex = (workerIndex + 1) % numberOfWorkers;
1251
- queue.add(async () => {
1252
- const taskPromise = executeTaskInWorker(workerProxy, {
1253
- route
1340
+ throw e;
1341
+ };
1342
+ taskPromise.catch(retryFn).finally(() => {
1343
+ const workerPromises2 = workersInUse.get(workerProxy) || [];
1344
+ const foundIndex = workerPromises2.indexOf(taskPromise);
1345
+ if (foundIndex > -1) {
1346
+ workerPromises2.splice(foundIndex, 1);
1347
+ }
1348
+ workersInUse.set(workerProxy, workerPromises2);
1254
1349
  });
1255
1350
  return taskPromise;
1256
1351
  });
1257
1352
  }
1258
1353
  await queue.start().onIdle();
1259
- workers.forEach((worker) => worker.terminate());
1354
+ await terminateWorkers(onFinished);
1260
1355
  if (!ssgOptions["skip-build"]) {
1261
1356
  await fs__default.remove(ssgOut);
1262
1357
  }
@@ -1276,14 +1371,10 @@ ${kolorist.gray("[vite-ssg]")} ${kolorist.green("Build finished.")}`);
1276
1371
  timeout.unref();
1277
1372
  }
1278
1373
  function executeTaskInWorker(worker, opts) {
1279
- opts = Object.entries(opts).reduce((acc, [key, value]) => {
1280
- if (typeof value === "function")
1281
- return acc;
1282
- const newKey = key;
1283
- acc[newKey] = value;
1284
- return acc;
1285
- }, {});
1286
- return worker.send("executeTaskFn", [opts]);
1374
+ return execInWorker(worker, executeTaskFn, opts);
1375
+ }
1376
+ async function execInWorker(worker, fn, ...args) {
1377
+ return await worker.send(fn.name, plainify(args ?? []));
1287
1378
  }
1288
1379
  async function executeTaskFn(opts) {
1289
1380
  const {
@@ -1292,7 +1383,7 @@ async function executeTaskFn(opts) {
1292
1383
  renderToString,
1293
1384
  indexHTML,
1294
1385
  onBeforePageRender,
1295
- onDonePageRender,
1386
+ // onDonePageRender,
1296
1387
  onPageRendered,
1297
1388
  ssrManifest,
1298
1389
  rootContainerId,
@@ -1352,7 +1443,6 @@ async function executeTaskFn(opts) {
1352
1443
  config.logger.info(
1353
1444
  `${kolorist.dim(`${outDir}/`)}${kolorist.cyan(filename.padEnd(15, " "))} ${kolorist.dim(getSize(formatted))}`
1354
1445
  );
1355
- onDonePageRender?.(route, html, appCtx);
1356
1446
  return { route, html };
1357
1447
  });
1358
1448
  } catch (err) {
@@ -1360,6 +1450,27 @@ async function executeTaskFn(opts) {
1360
1450
  ${err.stack}`);
1361
1451
  }
1362
1452
  }
1453
+ function plainify(m) {
1454
+ if (m instanceof Function) {
1455
+ return void 0;
1456
+ }
1457
+ if (Array.isArray(m)) {
1458
+ return m.map(plainify);
1459
+ }
1460
+ if (typeof m === "object" && m !== null) {
1461
+ if (m instanceof Error || "stack" in m) {
1462
+ return {
1463
+ message: m.message,
1464
+ stack: m.stack
1465
+ };
1466
+ }
1467
+ return Object.entries(m).reduce((acc, [key, value]) => {
1468
+ acc[key] = plainify(value);
1469
+ return acc;
1470
+ }, {});
1471
+ }
1472
+ return m;
1473
+ }
1363
1474
  async function detectEntry(root) {
1364
1475
  const scriptSrcReg = /<script.*?src=["'](.+?)["'](?!<).*>\s*<\/script>/gi;
1365
1476
  const html = await fs__default.readFile(node_path.join(root, "index.html"), "utf-8");
@@ -1459,5 +1570,7 @@ async function readFiles(...paths) {
1459
1570
  }
1460
1571
 
1461
1572
  exports.build = build;
1573
+ exports.buildClient = buildClient;
1574
+ exports.buildServer = buildServer;
1462
1575
  exports.executeTaskFn = executeTaskFn;
1463
- exports.getBeastiesOrCritters = getBeastiesOrCritters;
1576
+ exports.plainify = plainify;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-ssg-optimized",
3
- "version": "0.24.2-optimized.5",
3
+ "version": "0.24.2-optimized.50",
4
4
  "description": "Server-side generation for Vite",
5
5
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
6
6
  "license": "MIT",
@@ -1,9 +0,0 @@
1
- import { InlineConfig } from 'vite';
2
- import { b as ViteSSGOptions } from './vite-ssg-optimized.cf5cb4ee.cjs';
3
-
4
- type Manifest = Record<string, string[]>;
5
- declare function build(ssgOptions?: Partial<ViteSSGOptions & {
6
- 'skip-build'?: boolean;
7
- }>, viteConfig?: InlineConfig): Promise<void>;
8
-
9
- export { type Manifest as M, build as b };
@@ -1,9 +0,0 @@
1
- import { InlineConfig } from 'vite';
2
- import { b as ViteSSGOptions } from './vite-ssg-optimized.cf5cb4ee.mjs';
3
-
4
- type Manifest = Record<string, string[]>;
5
- declare function build(ssgOptions?: Partial<ViteSSGOptions & {
6
- 'skip-build'?: boolean;
7
- }>, viteConfig?: InlineConfig): Promise<void>;
8
-
9
- export { type Manifest as M, build as b };
@@ -1,9 +0,0 @@
1
- import { InlineConfig } from 'vite';
2
- import { b as ViteSSGOptions } from './vite-ssg-optimized.cf5cb4ee.js';
3
-
4
- type Manifest = Record<string, string[]>;
5
- declare function build(ssgOptions?: Partial<ViteSSGOptions & {
6
- 'skip-build'?: boolean;
7
- }>, viteConfig?: InlineConfig): Promise<void>;
8
-
9
- export { type Manifest as M, build as b };