@epic-web/workshop-utils 6.27.5 → 6.28.1
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/esm/apps.server.d.ts +1 -1
- package/dist/esm/apps.server.d.ts.map +1 -1
- package/dist/esm/apps.server.js +81 -98
- package/dist/esm/apps.server.js.map +1 -1
- package/dist/esm/cache.server.d.ts +43 -133
- package/dist/esm/cache.server.d.ts.map +1 -1
- package/dist/esm/cache.server.js +69 -7
- package/dist/esm/cache.server.js.map +1 -1
- package/dist/esm/logger.js +1 -1
- package/dist/esm/logger.js.map +1 -1
- package/dist/esm/modified-time.server.js +1 -1
- package/dist/esm/modified-time.server.js.map +1 -1
- package/package.json +1 -1
|
@@ -3440,7 +3440,7 @@ export declare function setModifiedTimesForAppDirs(modifiedAt: number, ...filePa
|
|
|
3440
3440
|
export declare function getForceFreshForDir(cacheEntry: CacheEntry | null | undefined | Promise<CacheEntry | null | undefined>, ...dirs: Array<string | undefined | null>): Promise<true | undefined>;
|
|
3441
3441
|
declare function _getExercises({ timings, request, }?: CachifiedOptions): Promise<Array<Exercise>>;
|
|
3442
3442
|
export declare const getExercises: typeof _getExercises;
|
|
3443
|
-
declare function _getApps({ timings, request,
|
|
3443
|
+
declare function _getApps({ timings, request, }?: CachifiedOptions & {
|
|
3444
3444
|
forceFresh?: boolean;
|
|
3445
3445
|
}): Promise<Array<App>>;
|
|
3446
3446
|
export declare const getApps: typeof _getApps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.server.d.ts","sourceRoot":"","sources":["../../src/apps.server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKrD,OAAO,4BAA4B,CAAA;AAKnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"apps.server.d.ts","sourceRoot":"","sources":["../../src/apps.server.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAJvI,sCAAsC;;QAEtC,qFAAqF;;QAErF,uIAAuI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAJvI,sCAAsC;;QAEtC,qFAAqF;;QAErF,uIAAuI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA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"}
|
package/dist/esm/apps.server.js
CHANGED
|
@@ -12,7 +12,7 @@ import { execa } from 'execa';
|
|
|
12
12
|
import fsExtra from 'fs-extra';
|
|
13
13
|
import { globby, isGitIgnored } from 'globby';
|
|
14
14
|
import { z } from 'zod';
|
|
15
|
-
import {
|
|
15
|
+
import { cachified, exampleAppCache, playgroundAppCache, problemAppCache, solutionAppCache, directoryEmptyCache, } from './cache.server.js';
|
|
16
16
|
import { compileMdx } from './compile-mdx.server.js';
|
|
17
17
|
import { getAppConfig, getStackBlitzUrl } from './config.server.js';
|
|
18
18
|
import { getPreferences } from './db.server.js';
|
|
@@ -230,17 +230,6 @@ export async function init(workshopRoot) {
|
|
|
230
230
|
closeWithGrace(() => chok.close());
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
-
async function getForceFresh(cacheEntry) {
|
|
234
|
-
const resolvedCacheEntry = await cacheEntry;
|
|
235
|
-
if (!resolvedCacheEntry)
|
|
236
|
-
return true;
|
|
237
|
-
const latestModifiedTime = Math.max(...Array.from(modifiedTimes.values()));
|
|
238
|
-
if (latestModifiedTime <= 0)
|
|
239
|
-
return undefined;
|
|
240
|
-
return latestModifiedTime > resolvedCacheEntry.metadata.createdTime
|
|
241
|
-
? true
|
|
242
|
-
: undefined;
|
|
243
|
-
}
|
|
244
233
|
export async function getModifiedTimeForFile(filepath) {
|
|
245
234
|
if (!filepath)
|
|
246
235
|
return null;
|
|
@@ -253,7 +242,10 @@ export function setModifiedTimesForAppDirs(modifiedAt, ...filePaths) {
|
|
|
253
242
|
for (const filePath of filePaths) {
|
|
254
243
|
const appDir = getAppPathFromFilePath(filePath);
|
|
255
244
|
if (appDir) {
|
|
256
|
-
modifiedTimes.
|
|
245
|
+
const existingModifiedTime = modifiedTimes.get(appDir);
|
|
246
|
+
if (!existingModifiedTime || modifiedAt > existingModifiedTime) {
|
|
247
|
+
modifiedTimes.set(appDir, modifiedAt);
|
|
248
|
+
}
|
|
257
249
|
}
|
|
258
250
|
}
|
|
259
251
|
}
|
|
@@ -366,94 +358,81 @@ async function _getExercises({ timings, request, } = {}) {
|
|
|
366
358
|
return exercises;
|
|
367
359
|
}
|
|
368
360
|
export const getExercises = requestStorageify(_getExercises);
|
|
369
|
-
|
|
370
|
-
async function _getApps({ timings, request, forceFresh, } = {}) {
|
|
361
|
+
async function _getApps({ timings, request, } = {}) {
|
|
371
362
|
await init();
|
|
372
|
-
const
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
}),
|
|
401
|
-
]);
|
|
402
|
-
const sortedApps = [
|
|
403
|
-
playgroundApp,
|
|
404
|
-
...problemApps,
|
|
405
|
-
...solutionApps,
|
|
406
|
-
...exampleApps,
|
|
407
|
-
]
|
|
408
|
-
.filter(Boolean)
|
|
409
|
-
.sort((a, b) => {
|
|
410
|
-
if (isPlaygroundApp(a)) {
|
|
411
|
-
if (isPlaygroundApp(b))
|
|
412
|
-
return a.name.localeCompare(b.name);
|
|
413
|
-
else
|
|
414
|
-
return 1;
|
|
415
|
-
}
|
|
363
|
+
const apps = await time(async () => {
|
|
364
|
+
const [playgroundApp, problemApps, solutionApps, exampleApps] = await Promise.all([
|
|
365
|
+
time(() => getPlaygroundApp({ request, timings }), {
|
|
366
|
+
type: 'getPlaygroundApp',
|
|
367
|
+
timings,
|
|
368
|
+
}),
|
|
369
|
+
time(() => getProblemApps({ request, timings }), {
|
|
370
|
+
type: 'getProblemApps',
|
|
371
|
+
timings,
|
|
372
|
+
}),
|
|
373
|
+
time(() => getSolutionApps({ request, timings }), {
|
|
374
|
+
type: 'getSolutionApps',
|
|
375
|
+
timings,
|
|
376
|
+
}),
|
|
377
|
+
time(() => getExampleApps({ request, timings }), {
|
|
378
|
+
type: 'getExampleApps',
|
|
379
|
+
timings,
|
|
380
|
+
}),
|
|
381
|
+
]);
|
|
382
|
+
const sortedApps = [
|
|
383
|
+
playgroundApp,
|
|
384
|
+
...problemApps,
|
|
385
|
+
...solutionApps,
|
|
386
|
+
...exampleApps,
|
|
387
|
+
]
|
|
388
|
+
.filter(Boolean)
|
|
389
|
+
.sort((a, b) => {
|
|
390
|
+
if (isPlaygroundApp(a)) {
|
|
416
391
|
if (isPlaygroundApp(b))
|
|
392
|
+
return a.name.localeCompare(b.name);
|
|
393
|
+
else
|
|
417
394
|
return 1;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
return 1;
|
|
423
|
-
}
|
|
395
|
+
}
|
|
396
|
+
if (isPlaygroundApp(b))
|
|
397
|
+
return 1;
|
|
398
|
+
if (isExampleApp(a)) {
|
|
424
399
|
if (isExampleApp(b))
|
|
425
|
-
return
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
400
|
+
return a.name.localeCompare(b.name);
|
|
401
|
+
else
|
|
402
|
+
return 1;
|
|
403
|
+
}
|
|
404
|
+
if (isExampleApp(b))
|
|
405
|
+
return -1;
|
|
406
|
+
if (a.type === b.type) {
|
|
407
|
+
if (a.exerciseNumber === b.exerciseNumber) {
|
|
408
|
+
return a.stepNumber - b.stepNumber;
|
|
433
409
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
if (a.exerciseNumber === b.exerciseNumber) {
|
|
437
|
-
return a.stepNumber <= b.stepNumber ? 1 : -1;
|
|
438
|
-
}
|
|
439
|
-
else {
|
|
440
|
-
return a.exerciseNumber <= b.exerciseNumber ? 1 : -1;
|
|
441
|
-
}
|
|
410
|
+
else {
|
|
411
|
+
return a.exerciseNumber - b.exerciseNumber;
|
|
442
412
|
}
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
return a.exerciseNumber < b.exerciseNumber ? -1 : 1;
|
|
449
|
-
}
|
|
413
|
+
}
|
|
414
|
+
// at this point, we know that a and b are different types...
|
|
415
|
+
if (isProblemApp(a)) {
|
|
416
|
+
if (a.exerciseNumber === b.exerciseNumber) {
|
|
417
|
+
return a.stepNumber <= b.stepNumber ? 1 : -1;
|
|
450
418
|
}
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
419
|
+
else {
|
|
420
|
+
return a.exerciseNumber <= b.exerciseNumber ? 1 : -1;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
if (isSolutionApp(a)) {
|
|
424
|
+
if (a.exerciseNumber === b.exerciseNumber) {
|
|
425
|
+
return a.stepNumber < b.stepNumber ? -1 : 1;
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
return a.exerciseNumber < b.exerciseNumber ? -1 : 1;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
console.error('unhandled sorting case', a, b);
|
|
432
|
+
return 0;
|
|
433
|
+
});
|
|
434
|
+
return sortedApps;
|
|
435
|
+
}, { type: 'get_apps', timings });
|
|
457
436
|
return apps;
|
|
458
437
|
}
|
|
459
438
|
export const getApps = requestStorageify(_getApps);
|
|
@@ -691,7 +670,8 @@ export async function getPlaygroundApp({ timings, request, } = {}) {
|
|
|
691
670
|
return cachified({
|
|
692
671
|
key,
|
|
693
672
|
cache: playgroundAppCache,
|
|
694
|
-
ttl: 1000 * 60 *
|
|
673
|
+
ttl: 1000 * 60 * 5,
|
|
674
|
+
swr: 1000 * 60 * 60 * 24 * 30,
|
|
695
675
|
timings,
|
|
696
676
|
timingKey: playgroundDir.replace(`${playgroundDir}${path.sep}`, ''),
|
|
697
677
|
request,
|
|
@@ -773,7 +753,8 @@ async function getExampleApps({ timings, request, } = {}) {
|
|
|
773
753
|
const exampleApp = await cachified({
|
|
774
754
|
key,
|
|
775
755
|
cache: exampleAppCache,
|
|
776
|
-
ttl: 1000 * 60 *
|
|
756
|
+
ttl: 1000 * 60 * 5,
|
|
757
|
+
swr: 1000 * 60 * 60 * 24 * 30,
|
|
777
758
|
timings,
|
|
778
759
|
timingKey: exampleDir.replace(`${examplesDir}${path.sep}`, ''),
|
|
779
760
|
request,
|
|
@@ -844,7 +825,8 @@ async function getSolutionApps({ timings, request, } = {}) {
|
|
|
844
825
|
timings,
|
|
845
826
|
timingKey: solutionDir.replace(`${exercisesDir}${path.sep}`, ''),
|
|
846
827
|
request,
|
|
847
|
-
ttl: 1000 * 60 *
|
|
828
|
+
ttl: 1000 * 60 * 5,
|
|
829
|
+
swr: 1000 * 60 * 60 * 24 * 30,
|
|
848
830
|
forceFresh: await getForceFreshForDir(solutionAppCache.get(solutionDir), solutionDir),
|
|
849
831
|
getFreshValue: async () => {
|
|
850
832
|
return getSolutionAppFromPath(solutionDir, request).catch((error) => {
|
|
@@ -913,7 +895,8 @@ async function getProblemApps({ timings, request, } = {}) {
|
|
|
913
895
|
timings,
|
|
914
896
|
timingKey: problemDir.replace(`${exercisesDir}${path.sep}`, ''),
|
|
915
897
|
request,
|
|
916
|
-
ttl: 1000 * 60 *
|
|
898
|
+
ttl: 1000 * 60 * 5,
|
|
899
|
+
swr: 1000 * 60 * 60 * 24 * 30,
|
|
917
900
|
forceFresh: await getForceFreshForDir(problemAppCache.get(problemDir), problemDir, solutionDir),
|
|
918
901
|
getFreshValue: async () => {
|
|
919
902
|
return getProblemAppFromPath(problemDir).catch((error) => {
|