@moostjs/vite 0.6.18 → 0.6.20
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/index.cjs +25 -8
- package/dist/index.mjs +25 -8
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -374,6 +374,11 @@ function moostVite(options) {
|
|
|
374
374
|
];
|
|
375
375
|
/** A logger instance for plugin debug output. */ const logger = isTest ? console : getLogger();
|
|
376
376
|
let reloadRequired = false;
|
|
377
|
+
/** In-flight app reload, shared so concurrent requests await one reload. */ let reloadPromise = null;
|
|
378
|
+
/**
|
|
379
|
+
* Drains any pending Moost app reload before a request is served. Assigned once
|
|
380
|
+
* the SSR module runner exists (see configureServer); a no-op until then.
|
|
381
|
+
*/ let drainReload = () => Promise.resolve();
|
|
377
382
|
patchMoostHandlerLogging();
|
|
378
383
|
const pluginConfig = {
|
|
379
384
|
name: PLUGIN_NAME,
|
|
@@ -507,18 +512,29 @@ function moostVite(options) {
|
|
|
507
512
|
async configureServer(server) {
|
|
508
513
|
const runner = (0, vite.createServerModuleRunner)(server.environments.ssr);
|
|
509
514
|
const ssrImport = (id) => runner.import(id);
|
|
515
|
+
const runReload = () => {
|
|
516
|
+
reloadRequired = false;
|
|
517
|
+
console.log();
|
|
518
|
+
logger.debug("🚀 Reloading Moost App...");
|
|
519
|
+
console.log();
|
|
520
|
+
return (async () => {
|
|
521
|
+
await ssrImport(options.entry);
|
|
522
|
+
await new Promise((resolve) => setTimeout(resolve, 1));
|
|
523
|
+
})().finally(() => {
|
|
524
|
+
reloadPromise = null;
|
|
525
|
+
});
|
|
526
|
+
};
|
|
527
|
+
drainReload = async () => {
|
|
528
|
+
while (reloadRequired || reloadPromise) {
|
|
529
|
+
if (!reloadPromise) reloadPromise = runReload();
|
|
530
|
+
await reloadPromise;
|
|
531
|
+
}
|
|
532
|
+
};
|
|
510
533
|
for (const adapter of adapters) adapter.ssrLoadModule = ssrImport;
|
|
511
534
|
moostRestartCleanup(adapters, options.onEject);
|
|
512
535
|
await ssrImport(options.entry);
|
|
513
536
|
server.middlewares.use(async (req, res, next) => {
|
|
514
|
-
|
|
515
|
-
reloadRequired = false;
|
|
516
|
-
console.log();
|
|
517
|
-
logger.debug("🚀 Reloading Moost App...");
|
|
518
|
-
console.log();
|
|
519
|
-
await ssrImport(options.entry);
|
|
520
|
-
await new Promise((resolve) => setTimeout(resolve, 1));
|
|
521
|
-
}
|
|
537
|
+
await drainReload();
|
|
522
538
|
if (options.middleware && prefix) {
|
|
523
539
|
const url = req.url || "";
|
|
524
540
|
if (url !== prefix && !url.startsWith(prefixSlash) && !url.startsWith(prefixQuery)) return next();
|
|
@@ -575,6 +591,7 @@ function moostVite(options) {
|
|
|
575
591
|
if (req.method !== "GET") return next();
|
|
576
592
|
const url = req.originalUrl || req.url || "/";
|
|
577
593
|
try {
|
|
594
|
+
await drainReload();
|
|
578
595
|
let template = await fs.readFile((0, node_path.resolve)(process.cwd(), "index.html"), "utf8");
|
|
579
596
|
template = await server.transformIndexHtml(url, template);
|
|
580
597
|
const { render } = await server.ssrLoadModule(options.ssrEntry);
|
package/dist/index.mjs
CHANGED
|
@@ -343,6 +343,11 @@ function moostVite(options) {
|
|
|
343
343
|
];
|
|
344
344
|
/** A logger instance for plugin debug output. */ const logger = getLogger();
|
|
345
345
|
let reloadRequired = false;
|
|
346
|
+
/** In-flight app reload, shared so concurrent requests await one reload. */ let reloadPromise = null;
|
|
347
|
+
/**
|
|
348
|
+
* Drains any pending Moost app reload before a request is served. Assigned once
|
|
349
|
+
* the SSR module runner exists (see configureServer); a no-op until then.
|
|
350
|
+
*/ let drainReload = () => Promise.resolve();
|
|
346
351
|
patchMoostHandlerLogging();
|
|
347
352
|
return [{
|
|
348
353
|
name: PLUGIN_NAME,
|
|
@@ -476,18 +481,29 @@ function moostVite(options) {
|
|
|
476
481
|
async configureServer(server) {
|
|
477
482
|
const runner = createServerModuleRunner(server.environments.ssr);
|
|
478
483
|
const ssrImport = (id) => runner.import(id);
|
|
484
|
+
const runReload = () => {
|
|
485
|
+
reloadRequired = false;
|
|
486
|
+
console.log();
|
|
487
|
+
logger.debug("🚀 Reloading Moost App...");
|
|
488
|
+
console.log();
|
|
489
|
+
return (async () => {
|
|
490
|
+
await ssrImport(options.entry);
|
|
491
|
+
await new Promise((resolve) => setTimeout(resolve, 1));
|
|
492
|
+
})().finally(() => {
|
|
493
|
+
reloadPromise = null;
|
|
494
|
+
});
|
|
495
|
+
};
|
|
496
|
+
drainReload = async () => {
|
|
497
|
+
while (reloadRequired || reloadPromise) {
|
|
498
|
+
if (!reloadPromise) reloadPromise = runReload();
|
|
499
|
+
await reloadPromise;
|
|
500
|
+
}
|
|
501
|
+
};
|
|
479
502
|
for (const adapter of adapters) adapter.ssrLoadModule = ssrImport;
|
|
480
503
|
moostRestartCleanup(adapters, options.onEject);
|
|
481
504
|
await ssrImport(options.entry);
|
|
482
505
|
server.middlewares.use(async (req, res, next) => {
|
|
483
|
-
|
|
484
|
-
reloadRequired = false;
|
|
485
|
-
console.log();
|
|
486
|
-
logger.debug("🚀 Reloading Moost App...");
|
|
487
|
-
console.log();
|
|
488
|
-
await ssrImport(options.entry);
|
|
489
|
-
await new Promise((resolve) => setTimeout(resolve, 1));
|
|
490
|
-
}
|
|
506
|
+
await drainReload();
|
|
491
507
|
if (options.middleware && prefix) {
|
|
492
508
|
const url = req.url || "";
|
|
493
509
|
if (url !== prefix && !url.startsWith(prefixSlash) && !url.startsWith(prefixQuery)) return next();
|
|
@@ -536,6 +552,7 @@ function moostVite(options) {
|
|
|
536
552
|
if (req.method !== "GET") return next();
|
|
537
553
|
const url = req.originalUrl || req.url || "/";
|
|
538
554
|
try {
|
|
555
|
+
await drainReload();
|
|
539
556
|
let template = await fs.readFile(resolve(process.cwd(), "index.html"), "utf8");
|
|
540
557
|
template = await server.transformIndexHtml(url, template);
|
|
541
558
|
const { render } = await server.ssrLoadModule(options.ssrEntry);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moostjs/vite",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.20",
|
|
4
4
|
"description": "Vite Dev plugin for moostjs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"composables",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"sirv": "^3.0.0",
|
|
60
60
|
"vite": "^8.0.0",
|
|
61
|
-
"@moostjs/event-http": "^0.6.
|
|
62
|
-
"moost": "^0.6.
|
|
61
|
+
"@moostjs/event-http": "^0.6.20",
|
|
62
|
+
"moost": "^0.6.20"
|
|
63
63
|
},
|
|
64
64
|
"peerDependenciesMeta": {
|
|
65
65
|
"sirv": {
|