@epic-web/workshop-utils 4.4.0 → 4.5.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 +115 -35
- package/dist/esm/apps.server.d.ts.map +1 -1
- package/dist/esm/apps.server.js +3 -7
- package/dist/esm/apps.server.js.map +1 -1
- package/dist/esm/cache.server.d.ts.map +1 -1
- package/dist/esm/cache.server.js +0 -1
- package/dist/esm/cache.server.js.map +1 -1
- package/dist/esm/codefile-mdx.server.d.ts.map +1 -1
- package/dist/esm/codefile-mdx.server.js +1 -2
- package/dist/esm/codefile-mdx.server.js.map +1 -1
- package/dist/esm/compile-mdx.server.d.ts.map +1 -1
- package/dist/esm/compile-mdx.server.js +1 -2
- package/dist/esm/compile-mdx.server.js.map +1 -1
- package/dist/esm/db.server.d.ts +6 -6
- package/dist/esm/iframe-sync.d.ts.map +1 -1
- package/dist/esm/iframe-sync.js +0 -4
- package/dist/esm/iframe-sync.js.map +1 -1
- package/dist/esm/playwright.server.d.ts.map +1 -1
- package/dist/esm/playwright.server.js +1 -2
- package/dist/esm/playwright.server.js.map +1 -1
- package/dist/esm/process-manager.server.d.ts +14 -2
- package/dist/esm/process-manager.server.d.ts.map +1 -1
- package/dist/esm/process-manager.server.js.map +1 -1
- package/dist/esm/test.d.ts.map +1 -1
- package/dist/esm/test.js +0 -1
- package/dist/esm/test.js.map +1 -1
- package/dist/esm/timing.server.d.ts.map +1 -1
- package/dist/esm/timing.server.js +0 -2
- package/dist/esm/timing.server.js.map +1 -1
- package/dist/esm/utils.server.d.ts.map +1 -1
- package/dist/esm/utils.server.js +0 -1
- package/dist/esm/utils.server.js.map +1 -1
- package/package.json +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.server.d.ts","sourceRoot":"","sources":["../../src/timing.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,OAAO,GAAG,MAAM,CAC3B,MAAM,EACN,KAAK,CACJ;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CACjC,CACD,CACD,CAAA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,WAWtD;
|
|
1
|
+
{"version":3,"file":"timing.server.d.ts","sourceRoot":"","sources":["../../src/timing.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,OAAO,GAAG,MAAM,CAC3B,MAAM,EACN,KAAK,CACJ;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CACjC,CACD,CACD,CAAA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,WAWtD;AAgBD,wBAAsB,IAAI,CAAC,UAAU,EACpC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,EAClE,EACC,IAAI,EACJ,IAAI,EACJ,OAAO,GACP,EAAE;IACF,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,GACC,OAAO,CAAC,UAAU,CAAC,CASrB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,UAuBpD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,UAIxE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAC5C,OAAO,CAAC,EAAE,OAAO,GACf,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CA4BnC"}
|
|
@@ -15,9 +15,7 @@ function createTimer(type, desc) {
|
|
|
15
15
|
return {
|
|
16
16
|
end(timings) {
|
|
17
17
|
let timingType = timings[type];
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
19
18
|
if (!timingType) {
|
|
20
|
-
// eslint-disable-next-line no-multi-assign
|
|
21
19
|
timingType = timings[type] = [];
|
|
22
20
|
}
|
|
23
21
|
timingType.push({ desc, time: performance.now() - start });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.server.js","sourceRoot":"","sources":["../../src/timing.server.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAa;IACtD,MAAM,OAAO,GAAY;QACxB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC;KAC5C,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;QAC1C,KAAK;YACJ,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QACD,UAAU,EAAE,KAAK;KACjB,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAa;IAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAC/B,OAAO;QACN,GAAG,CAAC,OAAgB;YACnB,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAE9B,
|
|
1
|
+
{"version":3,"file":"timing.server.js","sourceRoot":"","sources":["../../src/timing.server.ts"],"names":[],"mappings":"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","sourcesContent":["import { type CreateReporter } from '@epic-web/cachified'\n\nexport type Timings = Record<\n\tstring,\n\tArray<\n\t\t{ desc?: string } & (\n\t\t\t| { time: number; start?: never }\n\t\t\t| { time?: never; start: number }\n\t\t)\n\t>\n>\n\nexport function makeTimings(type: string, desc?: string) {\n\tconst timings: Timings = {\n\t\t[type]: [{ desc, start: performance.now() }],\n\t}\n\tObject.defineProperty(timings, 'toString', {\n\t\tvalue() {\n\t\t\treturn getServerTimeHeader(timings)\n\t\t},\n\t\tenumerable: false,\n\t})\n\treturn timings\n}\n\nfunction createTimer(type: string, desc?: string) {\n\tconst start = performance.now()\n\treturn {\n\t\tend(timings: Timings) {\n\t\t\tlet timingType = timings[type]\n\n\t\t\tif (!timingType) {\n\t\t\t\ttimingType = timings[type] = []\n\t\t\t}\n\t\t\ttimingType.push({ desc, time: performance.now() - start })\n\t\t},\n\t}\n}\n\nexport async function time<ReturnType>(\n\tfn: Promise<ReturnType> | (() => ReturnType | Promise<ReturnType>),\n\t{\n\t\ttype,\n\t\tdesc,\n\t\ttimings,\n\t}: {\n\t\ttype: string\n\t\tdesc?: string\n\t\ttimings?: Timings\n\t},\n): Promise<ReturnType> {\n\tconst timer = createTimer(type, desc)\n\tconst promise = typeof fn === 'function' ? fn() : fn\n\tif (!timings) return promise\n\n\tconst result = await promise\n\n\ttimer.end(timings)\n\treturn result\n}\n\nexport function getServerTimeHeader(timings?: Timings) {\n\tif (!timings) return ''\n\treturn Object.entries(timings)\n\t\t.map(([key, timingInfos]) => {\n\t\t\tconst dur = timingInfos\n\t\t\t\t.reduce((acc, timingInfo) => {\n\t\t\t\t\tconst time = timingInfo.time ?? performance.now() - timingInfo.start\n\t\t\t\t\treturn acc + time\n\t\t\t\t}, 0)\n\t\t\t\t.toFixed(1)\n\t\t\tconst desc = timingInfos\n\t\t\t\t.map(t => t.desc)\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(' & ')\n\t\t\treturn [\n\t\t\t\tkey.replaceAll(/(:| |@|=|;|,|\\/|\\\\)/g, '_'),\n\t\t\t\tdesc ? `desc=${JSON.stringify(desc)}` : null,\n\t\t\t\t`dur=${dur}`,\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(';')\n\t\t})\n\t\t.join(',')\n}\n\nexport function combineServerTimings(headers1: Headers, headers2: Headers) {\n\tconst newHeaders = new Headers(headers1)\n\tnewHeaders.append('Server-Timing', headers2.get('Server-Timing') ?? '')\n\treturn newHeaders.get('Server-Timing') ?? ''\n}\n\nexport function cachifiedTimingReporter<Value>(\n\ttimings?: Timings,\n): undefined | CreateReporter<Value> {\n\tif (!timings) return\n\n\treturn ({ key }) => {\n\t\tconst cacheRetrievalTimer = createTimer(\n\t\t\t`cache:${key}`,\n\t\t\t`${key} cache retrieval`,\n\t\t)\n\t\tlet getFreshValueTimer: ReturnType<typeof createTimer> | undefined\n\t\treturn event => {\n\t\t\tswitch (event.name) {\n\t\t\t\tcase 'getFreshValueStart':\n\t\t\t\t\tgetFreshValueTimer = createTimer(\n\t\t\t\t\t\t`getFreshValue:${key}`,\n\t\t\t\t\t\t`request forced to wait for a fresh ${key} value`,\n\t\t\t\t\t)\n\t\t\t\t\tbreak\n\t\t\t\tcase 'getFreshValueSuccess':\n\t\t\t\t\tgetFreshValueTimer?.end(timings)\n\t\t\t\t\tbreak\n\t\t\t\tcase 'done':\n\t\t\t\t\tcacheRetrievalTimer.end(timings)\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.server.d.ts","sourceRoot":"","sources":["../../src/utils.server.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,qBAKpC;AAID,wBAAsB,UAAU,CAAC,KAAK,EACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,KAAK,GAClB,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.server.d.ts","sourceRoot":"","sources":["../../src/utils.server.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,qBAKpC;AAID,wBAAsB,UAAU,CAAC,KAAK,EACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,KAAK,GAClB,OAAO,CAAC,KAAK,CAAC,CAyBhB"}
|
package/dist/esm/utils.server.js
CHANGED
|
@@ -19,7 +19,6 @@ export async function getPkgProp(fullPath, prop, defaultValue) {
|
|
|
19
19
|
const propPath = prop.split('.');
|
|
20
20
|
let value = pkg;
|
|
21
21
|
for (const p of propPath) {
|
|
22
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
23
22
|
value = value[p];
|
|
24
23
|
if (value === undefined)
|
|
25
24
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.server.js","sourceRoot":"","sources":["../../src/utils.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,eAAe;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACrC,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACX,CAAA;AACF,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,QAAgB,EAChB,IAAY,EACZ,YAAoB;IAEpB,IAAI,GAA8B,CAAA;IAClC,IAAI,CAAC;QACJ,GAAG,GAAG,SAAS,CAAC,KAAK,CACpB,IAAI,CAAC,KAAK,CACT,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAC/D,CACD,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,EAAE;YAC9D,KAAK,EAAE,KAAK;SACZ,CAAC,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,GAAQ,GAAG,CAAA;IACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,
|
|
1
|
+
{"version":3,"file":"utils.server.js","sourceRoot":"","sources":["../../src/utils.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,eAAe;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACrC,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACX,CAAA;AACF,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,QAAgB,EAChB,IAAY,EACZ,YAAoB;IAEpB,IAAI,GAA8B,CAAA;IAClC,IAAI,CAAC;QACJ,GAAG,GAAG,SAAS,CAAC,KAAK,CACpB,IAAI,CAAC,KAAK,CACT,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAC/D,CACD,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,EAAE;YAC9D,KAAK,EAAE,KAAK;SACZ,CAAC,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,GAAQ,GAAG,CAAA;IACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAChB,IAAI,KAAK,KAAK,SAAS;YAAE,MAAK;IAC/B,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACd,oCAAoC,IAAI,uBAAuB,QAAQ,EAAE,CACzE,CAAA;IACF,CAAC;IACD,OAAO,KAAK,IAAI,YAAY,CAAA;AAC7B,CAAC","sourcesContent":["import { promises as dns } from 'node:dns'\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport { z } from 'zod'\n\nexport async function checkConnection() {\n\treturn dns.resolve('example.com').then(\n\t\t() => true,\n\t\t() => false,\n\t)\n}\n\nconst PkgSchema = z.object({}).passthrough()\n\nexport async function getPkgProp<Value>(\n\tfullPath: string,\n\tprop: string,\n\tdefaultValue?: Value,\n): Promise<Value> {\n\tlet pkg: z.infer<typeof PkgSchema>\n\ttry {\n\t\tpkg = PkgSchema.parse(\n\t\t\tJSON.parse(\n\t\t\t\tfs.readFileSync(path.join(fullPath, 'package.json')).toString(),\n\t\t\t),\n\t\t)\n\t} catch (error) {\n\t\tthrow new Error(`Could not parse package.json of ${fullPath}`, {\n\t\t\tcause: error,\n\t\t})\n\t}\n\tconst propPath = prop.split('.')\n\tlet value: any = pkg\n\tfor (const p of propPath) {\n\t\tvalue = value[p]\n\t\tif (value === undefined) break\n\t}\n\tif (value === undefined && defaultValue === undefined) {\n\t\tthrow new Error(\n\t\t\t`Could not find required property ${prop} in package.json of ${fullPath}`,\n\t\t)\n\t}\n\treturn value ?? defaultValue\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epic-web/workshop-utils",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -100,29 +100,29 @@
|
|
|
100
100
|
"build:watch": "nx watch --projects=@epic-web/workshop-utils -- nx run \\$NX_PROJECT_NAME:build"
|
|
101
101
|
},
|
|
102
102
|
"dependencies": {
|
|
103
|
-
"@epic-web/cachified": "^5.
|
|
103
|
+
"@epic-web/cachified": "^5.2.0",
|
|
104
104
|
"@epic-web/remember": "^1.0.2",
|
|
105
|
-
"@kentcdodds/md-temp": "^
|
|
105
|
+
"@kentcdodds/md-temp": "^9.0.1",
|
|
106
106
|
"@mdx-js/mdx": "^3.0.1",
|
|
107
|
-
"@playwright/test": "^1.
|
|
108
|
-
"@remix-run/node": "^2.
|
|
109
|
-
"@testing-library/dom": "^
|
|
107
|
+
"@playwright/test": "^1.44.1",
|
|
108
|
+
"@remix-run/node": "^2.9.2",
|
|
109
|
+
"@testing-library/dom": "^10.1.0",
|
|
110
110
|
"@total-typescript/ts-reset": "^0.5.1",
|
|
111
|
-
"chai": "^5.1.
|
|
111
|
+
"chai": "^5.1.1",
|
|
112
112
|
"chai-dom": "^1.12.0",
|
|
113
113
|
"chalk": "^5.3.0",
|
|
114
114
|
"chokidar": "^3.6.0",
|
|
115
115
|
"close-with-grace": "^1.3.0",
|
|
116
116
|
"cross-spawn": "^7.0.3",
|
|
117
|
-
"execa": "^
|
|
117
|
+
"execa": "^9.1.0",
|
|
118
118
|
"fkill": "^9.0.0",
|
|
119
119
|
"fs-extra": "^11.2.0",
|
|
120
|
-
"glob": "^10.3.
|
|
120
|
+
"glob": "^10.3.16",
|
|
121
121
|
"globby": "^14.0.1",
|
|
122
|
-
"lru-cache": "^10.2.
|
|
122
|
+
"lru-cache": "^10.2.2",
|
|
123
123
|
"md5-hex": "^5.0.0",
|
|
124
|
-
"mdast-util-mdx-jsx": "^3.1.
|
|
125
|
-
"mdx-bundler": "^10.0.
|
|
124
|
+
"mdast-util-mdx-jsx": "^3.1.2",
|
|
125
|
+
"mdx-bundler": "^10.0.2",
|
|
126
126
|
"p-queue": "^8.0.1",
|
|
127
127
|
"rehype": "^13.0.1",
|
|
128
128
|
"remark": "^15.0.1",
|
|
@@ -132,13 +132,13 @@
|
|
|
132
132
|
"unified": "^11.0.4",
|
|
133
133
|
"unist-util-remove-position": "^5.0.0",
|
|
134
134
|
"unist-util-visit": "^5.0.0",
|
|
135
|
-
"zod": "^3.
|
|
135
|
+
"zod": "^3.23.8"
|
|
136
136
|
},
|
|
137
137
|
"devDependencies": {
|
|
138
138
|
"@types/hast": "^3.0.4",
|
|
139
|
-
"@types/mdast": "^4.0.
|
|
140
|
-
"@types/node": "^20.
|
|
141
|
-
"tshy": "^1.
|
|
139
|
+
"@types/mdast": "^4.0.4",
|
|
140
|
+
"@types/node": "^20.12.12",
|
|
141
|
+
"tshy": "^1.14.0"
|
|
142
142
|
},
|
|
143
143
|
"tshy": {
|
|
144
144
|
"project": "./tsconfig.build.json",
|