@veryfront/ext-content-mdx 0.1.1183 → 0.1.1186
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/esm/deno.d.ts +20 -1
- package/esm/deno.js +31 -6
- package/esm/src/errors/error-registry.d.ts +2 -2
- package/esm/src/extensions/websocket/index.d.ts +3 -0
- package/esm/src/extensions/websocket/index.d.ts.map +1 -0
- package/esm/src/extensions/websocket/index.js +2 -0
- package/esm/src/extensions/websocket/node-websocket-server-provider.d.ts +51 -0
- package/esm/src/extensions/websocket/node-websocket-server-provider.d.ts.map +1 -0
- package/esm/src/extensions/websocket/node-websocket-server-provider.js +146 -0
- package/esm/src/platform/adapters/base.d.ts +35 -0
- package/esm/src/platform/adapters/base.d.ts.map +1 -1
- package/esm/src/platform/adapters/base.js +54 -5
- package/esm/src/platform/adapters/bounded-file-read.d.ts +34 -0
- package/esm/src/platform/adapters/bounded-file-read.d.ts.map +1 -0
- package/esm/src/platform/adapters/bounded-file-read.js +179 -0
- package/esm/src/platform/adapters/file-snapshot-error.d.ts +6 -0
- package/esm/src/platform/adapters/file-snapshot-error.d.ts.map +1 -0
- package/esm/src/platform/adapters/file-snapshot-error.js +11 -0
- package/esm/src/platform/adapters/runtime/shared/native-file-capabilities.d.ts +33 -0
- package/esm/src/platform/adapters/runtime/shared/native-file-capabilities.d.ts.map +1 -0
- package/esm/src/platform/adapters/runtime/shared/native-file-capabilities.js +205 -0
- package/esm/src/platform/compat/fs.d.ts +6 -2
- package/esm/src/platform/compat/fs.d.ts.map +1 -1
- package/esm/src/platform/compat/fs.js +55 -19
- package/esm/src/platform/compat/not-found-error.d.ts +7 -0
- package/esm/src/platform/compat/not-found-error.d.ts.map +1 -0
- package/esm/src/platform/compat/not-found-error.js +41 -0
- package/esm/src/platform/compat/path/basic-operations.d.ts +1 -1
- package/esm/src/platform/compat/path/basic-operations.d.ts.map +1 -1
- package/esm/src/platform/compat/path/basic-operations.js +24 -44
- package/esm/src/platform/compat/path/index.d.ts +1 -0
- package/esm/src/platform/compat/path/index.d.ts.map +1 -1
- package/esm/src/platform/compat/path/index.js +1 -0
- package/esm/src/platform/compat/path/parse-format.d.ts.map +1 -1
- package/esm/src/platform/compat/path/parse-format.js +26 -20
- package/esm/src/platform/compat/path/portable.d.ts +16 -0
- package/esm/src/platform/compat/path/portable.d.ts.map +1 -0
- package/esm/src/platform/compat/path/portable.js +307 -0
- package/esm/src/platform/compat/path/posix.d.ts +14 -0
- package/esm/src/platform/compat/path/posix.d.ts.map +1 -0
- package/esm/src/platform/compat/path/posix.js +206 -0
- package/esm/src/platform/compat/path/resolution.d.ts +1 -1
- package/esm/src/platform/compat/path/resolution.d.ts.map +1 -1
- package/esm/src/platform/compat/path/resolution.js +28 -112
- package/esm/src/platform/compat/path/runtime.d.ts +2 -1
- package/esm/src/platform/compat/path/runtime.d.ts.map +1 -1
- package/esm/src/platform/compat/path/runtime.js +5 -0
- package/esm/src/platform/compat/path/types.d.ts +5 -1
- package/esm/src/platform/compat/path/types.d.ts.map +1 -1
- package/esm/src/platform/compat/path/url-conversion.d.ts +10 -0
- package/esm/src/platform/compat/path/url-conversion.d.ts.map +1 -1
- package/esm/src/platform/compat/path/url-conversion.js +63 -41
- package/esm/src/platform/compat/process.d.ts +1 -1
- package/esm/src/utils/constants/build.d.ts +9 -0
- package/esm/src/utils/constants/build.d.ts.map +1 -1
- package/esm/src/utils/constants/build.js +9 -0
- package/esm/src/utils/constants/index.d.ts +1 -1
- package/esm/src/utils/constants/index.d.ts.map +1 -1
- package/esm/src/utils/constants/index.js +1 -1
- package/esm/src/utils/css-artifact-identity.d.ts +23 -0
- package/esm/src/utils/css-artifact-identity.d.ts.map +1 -0
- package/esm/src/utils/css-artifact-identity.js +77 -0
- package/esm/src/utils/index.d.ts +1 -0
- package/esm/src/utils/index.d.ts.map +1 -1
- package/esm/src/utils/index.js +1 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +2 -2
|
@@ -1,121 +1,37 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
function
|
|
4
|
-
return
|
|
1
|
+
import { hasWindowsLikePath, portableIsAbsolute, portableNormalize, portableRelative, portableResolve, removeTrailingSeparatorsExceptRoot, runtimeUsesWindowsPaths, toPortableSeparators, } from "./portable.js";
|
|
2
|
+
import { getNativePathImplementation } from "./runtime.js";
|
|
3
|
+
function usesWindowsFlavor(paths) {
|
|
4
|
+
return runtimeUsesWindowsPaths() || paths.some(hasWindowsLikePath);
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
7
|
-
function normSep(p) {
|
|
8
|
-
return p.includes("\\") ? p.replace(/\\/g, "/") : p;
|
|
9
|
-
}
|
|
10
|
-
/** Match Windows drive letter prefix like "C:/" */
|
|
11
|
-
const DRIVE_LETTER = /^[A-Za-z]:\//;
|
|
12
|
-
/** Resolve path segments to an absolute path. */
|
|
6
|
+
/** Resolve path segments to an absolute, normalized path. */
|
|
13
7
|
export function resolve(...paths) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
continue;
|
|
20
|
-
const path = normSep(rawPath);
|
|
21
|
-
if (path.startsWith("/") || DRIVE_LETTER.test(path)) {
|
|
22
|
-
resolvedPath = path;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
resolvedPath = `${resolvedPath}/${path}`;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
// Preserve drive letter prefix (e.g. "D:/") if present
|
|
29
|
-
let prefix = "/";
|
|
30
|
-
const driveMatch = resolvedPath.match(DRIVE_LETTER);
|
|
31
|
-
if (driveMatch) {
|
|
32
|
-
prefix = driveMatch[0]; // e.g. "D:/"
|
|
33
|
-
resolvedPath = resolvedPath.slice(prefix.length);
|
|
34
|
-
}
|
|
35
|
-
else if (resolvedPath.startsWith("/")) {
|
|
36
|
-
resolvedPath = resolvedPath.slice(1);
|
|
37
|
-
}
|
|
38
|
-
const parts = resolvedPath.split("/").filter(Boolean);
|
|
39
|
-
const resolved = [];
|
|
40
|
-
for (const part of parts) {
|
|
41
|
-
if (part === "..") {
|
|
42
|
-
resolved.pop();
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
if (part !== ".")
|
|
46
|
-
resolved.push(part);
|
|
47
|
-
}
|
|
48
|
-
return `${prefix}${resolved.join("/")}`;
|
|
8
|
+
const windows = usesWindowsFlavor(paths);
|
|
9
|
+
const pathApi = getNativePathImplementation(windows);
|
|
10
|
+
return pathApi
|
|
11
|
+
? toPortableSeparators(pathApi.resolve(...paths))
|
|
12
|
+
: portableResolve(paths, windows);
|
|
49
13
|
}
|
|
50
14
|
export function isAbsolute(path) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (path.startsWith("/"))
|
|
55
|
-
return true;
|
|
56
|
-
if (/^[A-Za-z]:[/\\]/.test(path))
|
|
57
|
-
return true;
|
|
58
|
-
return /^\\\\[^\\]+\\[^\\]+/.test(path);
|
|
15
|
+
const windows = usesWindowsFlavor([path]);
|
|
16
|
+
const pathApi = getNativePathImplementation(windows);
|
|
17
|
+
return pathApi?.isAbsolute(path) ?? portableIsAbsolute(path, windows);
|
|
59
18
|
}
|
|
60
19
|
export function relative(from, to) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// Strip drive prefix for comparison (both will share the same drive after resolve)
|
|
68
|
-
const fromDrive = resolvedFrom.match(DRIVE_LETTER);
|
|
69
|
-
const fromBase = fromDrive ? resolvedFrom.slice(fromDrive[0].length) : resolvedFrom.slice(1);
|
|
70
|
-
const toDrive = resolvedTo.match(DRIVE_LETTER);
|
|
71
|
-
const toBase = toDrive ? resolvedTo.slice(toDrive[0].length) : resolvedTo.slice(1);
|
|
72
|
-
const fromParts = fromBase.split("/").filter(Boolean);
|
|
73
|
-
const toParts = toBase.split("/").filter(Boolean);
|
|
74
|
-
let common = 0;
|
|
75
|
-
const minLen = Math.min(fromParts.length, toParts.length);
|
|
76
|
-
for (let i = 0; i < minLen; i++) {
|
|
77
|
-
if (fromParts[i] !== toParts[i])
|
|
78
|
-
break;
|
|
79
|
-
common++;
|
|
80
|
-
}
|
|
81
|
-
const ups = fromParts.length - common;
|
|
82
|
-
const result = [...new Array(ups).fill(".."), ...toParts.slice(common)];
|
|
83
|
-
return result.join("/") || ".";
|
|
20
|
+
const windows = usesWindowsFlavor([from, to]);
|
|
21
|
+
const pathApi = getNativePathImplementation(windows);
|
|
22
|
+
const result = pathApi
|
|
23
|
+
? toPortableSeparators(pathApi.relative(from, to))
|
|
24
|
+
: portableRelative(from, to, windows);
|
|
25
|
+
return result || ".";
|
|
84
26
|
}
|
|
85
27
|
export function normalize(path) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
//
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (driveMatch) {
|
|
96
|
-
prefix = driveMatch[0];
|
|
97
|
-
}
|
|
98
|
-
else if (abs) {
|
|
99
|
-
prefix = "/";
|
|
100
|
-
}
|
|
101
|
-
const pathWithoutPrefix = driveMatch ? p.slice(prefix.length) : abs ? p.slice(1) : p;
|
|
102
|
-
const parts = pathWithoutPrefix.split("/").filter((s) => s && s !== ".");
|
|
103
|
-
const normalized = [];
|
|
104
|
-
for (const part of parts) {
|
|
105
|
-
if (part !== "..") {
|
|
106
|
-
normalized.push(part);
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
const last = normalized[normalized.length - 1];
|
|
110
|
-
if (normalized.length > 0 && last !== "..") {
|
|
111
|
-
normalized.pop();
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
if (!abs)
|
|
115
|
-
normalized.push("..");
|
|
116
|
-
}
|
|
117
|
-
const result = normalized.join("/");
|
|
118
|
-
if (abs)
|
|
119
|
-
return result ? `${prefix}${result}` : prefix || "/";
|
|
120
|
-
return result || ".";
|
|
28
|
+
const windows = usesWindowsFlavor([path]);
|
|
29
|
+
const pathApi = getNativePathImplementation(windows);
|
|
30
|
+
const normalized = pathApi
|
|
31
|
+
? toPortableSeparators(pathApi.normalize(path))
|
|
32
|
+
: portableNormalize(path, windows);
|
|
33
|
+
// The established Veryfront facade contract returns canonical paths without
|
|
34
|
+
// a trailing separator, except for filesystem roots. Enforce that
|
|
35
|
+
// postcondition independently of whether the runtime supplies node:path.
|
|
36
|
+
return removeTrailingSeparatorsExceptRoot(normalized, windows);
|
|
121
37
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { NodePathModule } from "./types.js";
|
|
1
|
+
import type { NodePathModule, PathImplementation } from "./types.js";
|
|
2
2
|
export declare const isDeno: boolean;
|
|
3
3
|
declare let nodePath: NodePathModule | null;
|
|
4
4
|
export { nodePath };
|
|
5
5
|
export declare const sep: string;
|
|
6
6
|
export declare const delimiter: string;
|
|
7
7
|
export declare const hasNodePath: boolean;
|
|
8
|
+
export declare function getNativePathImplementation(windows: boolean): PathImplementation | null;
|
|
8
9
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/path/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/path/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKrE,eAAO,MAAM,MAAM,SAAsC,CAAC;AAE1D,QAAA,IAAI,QAAQ,EAAE,cAAc,GAAG,IAAW,CAAC;AAe3C,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,eAAO,MAAM,GAAG,QAAuB,CAAC;AACxC,eAAO,MAAM,SAAS,QAA6B,CAAC;AACpD,eAAO,MAAM,WAAW,SAAoB,CAAC;AAE7C,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,GACf,kBAAkB,GAAG,IAAI,CAG3B"}
|
|
@@ -18,3 +18,8 @@ export { nodePath };
|
|
|
18
18
|
export const sep = nodePath?.sep ?? "/";
|
|
19
19
|
export const delimiter = nodePath?.delimiter ?? ":";
|
|
20
20
|
export const hasNodePath = nodePath !== null;
|
|
21
|
+
export function getNativePathImplementation(windows) {
|
|
22
|
+
if (!nodePath)
|
|
23
|
+
return null;
|
|
24
|
+
return windows ? nodePath.win32 : nodePath.posix;
|
|
25
|
+
}
|
|
@@ -5,7 +5,7 @@ export interface PathObject {
|
|
|
5
5
|
ext?: string;
|
|
6
6
|
name?: string;
|
|
7
7
|
}
|
|
8
|
-
export interface
|
|
8
|
+
export interface PathImplementation {
|
|
9
9
|
sep: string;
|
|
10
10
|
delimiter: string;
|
|
11
11
|
join(...paths: string[]): string;
|
|
@@ -19,4 +19,8 @@ export interface NodePathModule {
|
|
|
19
19
|
parse(path: string): PathObject;
|
|
20
20
|
format(pathObject: PathObject): string;
|
|
21
21
|
}
|
|
22
|
+
export interface NodePathModule extends PathImplementation {
|
|
23
|
+
posix: PathImplementation;
|
|
24
|
+
win32: PathImplementation;
|
|
25
|
+
}
|
|
22
26
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/path/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/path/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjC,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,kBAAkB,CAAC;CAC3B"}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a file URL to a runtime-native filesystem path.
|
|
3
|
+
*
|
|
4
|
+
* Local and `localhost` URLs are supported on every runtime. A non-local host
|
|
5
|
+
* becomes a UNC path on Windows; other runtimes reject it because no
|
|
6
|
+
* unambiguous local path representation exists.
|
|
7
|
+
*
|
|
8
|
+
* @throws {TypeError} If the URL is not a file URL, contains an encoded path
|
|
9
|
+
* separator, or names a non-local host on a non-Windows runtime.
|
|
10
|
+
*/
|
|
1
11
|
export declare function fromFileUrl(url: string | URL): string;
|
|
2
12
|
export declare function toFileUrl(path: string): URL;
|
|
3
13
|
//# sourceMappingURL=url-conversion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-conversion.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/path/url-conversion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"url-conversion.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/path/url-conversion.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAwBrD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAmB3C"}
|
|
@@ -1,53 +1,75 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return _fileURLToPath;
|
|
8
|
-
if (!hasNodePath)
|
|
9
|
-
return null;
|
|
10
|
-
try {
|
|
11
|
-
const nodeUrl = dntShim.dntGlobalThis.require?.("node:url");
|
|
12
|
-
const fileURLToPath = nodeUrl?.fileURLToPath;
|
|
13
|
-
if (!fileURLToPath)
|
|
14
|
-
return null;
|
|
15
|
-
_fileURLToPath = fileURLToPath;
|
|
16
|
-
return _fileURLToPath;
|
|
1
|
+
import { posix } from "./posix.js";
|
|
2
|
+
import { resolve } from "./resolution.js";
|
|
3
|
+
import { runtimeUsesWindowsPaths } from "./portable.js";
|
|
4
|
+
function decodeFilePath(pathname, windows) {
|
|
5
|
+
if (/%2f/i.test(pathname) || (windows && /%5c/i.test(pathname))) {
|
|
6
|
+
throw new TypeError("File URL path must not include encoded path separators");
|
|
17
7
|
}
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
return decodeURIComponent(pathname);
|
|
9
|
+
}
|
|
10
|
+
function encodePath(path) {
|
|
11
|
+
// Match filesystem URL encoding: protect characters that URL parsing would
|
|
12
|
+
// interpret structurally while leaving valid path characters such as a
|
|
13
|
+
// drive-like colon untouched when it appears inside a POSIX path segment.
|
|
14
|
+
return path
|
|
15
|
+
.replaceAll("%", "%25")
|
|
16
|
+
.replaceAll("\\", "%5C")
|
|
17
|
+
.replaceAll("#", "%23")
|
|
18
|
+
.replaceAll("?", "%3F");
|
|
19
|
+
}
|
|
20
|
+
function parseUncPath(path) {
|
|
21
|
+
if (!runtimeUsesWindowsPaths() && !path.startsWith("\\\\"))
|
|
20
22
|
return null;
|
|
21
|
-
|
|
23
|
+
const portable = path.replaceAll("\\", "/");
|
|
24
|
+
const match = portable.match(/^\/\/([^/]+)(\/.*)$/);
|
|
25
|
+
if (!match?.[1] || !match[2])
|
|
26
|
+
return null;
|
|
27
|
+
return { host: match[1], pathname: match[2] };
|
|
22
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Convert a file URL to a runtime-native filesystem path.
|
|
31
|
+
*
|
|
32
|
+
* Local and `localhost` URLs are supported on every runtime. A non-local host
|
|
33
|
+
* becomes a UNC path on Windows; other runtimes reject it because no
|
|
34
|
+
* unambiguous local path representation exists.
|
|
35
|
+
*
|
|
36
|
+
* @throws {TypeError} If the URL is not a file URL, contains an encoded path
|
|
37
|
+
* separator, or names a non-local host on a non-Windows runtime.
|
|
38
|
+
*/
|
|
23
39
|
export function fromFileUrl(url) {
|
|
24
40
|
const parsedUrl = typeof url === "string" ? new URL(url) : url;
|
|
25
41
|
if (parsedUrl.protocol !== "file:") {
|
|
26
42
|
throw new TypeError("Must be a file URL");
|
|
27
43
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const g = dntShim.dntGlobalThis;
|
|
33
|
-
const hasCwd = Boolean(g.Deno?.cwd);
|
|
34
|
-
const isWindows = g.Deno?.build?.os === "windows";
|
|
35
|
-
if (hasCwd && isWindows) {
|
|
36
|
-
return decodeURIComponent(parsedUrl.pathname)
|
|
37
|
-
.replace(/^\/([A-Za-z]:)/, "$1")
|
|
38
|
-
.replace(/\//g, "\\");
|
|
39
|
-
}
|
|
40
|
-
return decodeURIComponent(parsedUrl.pathname);
|
|
44
|
+
const windows = runtimeUsesWindowsPaths();
|
|
45
|
+
const host = parsedUrl.hostname;
|
|
46
|
+
if (host && host !== "localhost" && !windows) {
|
|
47
|
+
throw new TypeError("File URL host must be empty or localhost on non-Windows runtimes");
|
|
41
48
|
}
|
|
42
|
-
|
|
49
|
+
const pathname = decodeFilePath(parsedUrl.pathname, windows);
|
|
50
|
+
if (host && host !== "localhost") {
|
|
51
|
+
return `\\\\${host}${pathname.replaceAll("/", "\\")}`;
|
|
52
|
+
}
|
|
53
|
+
if (!windows)
|
|
54
|
+
return pathname;
|
|
55
|
+
return pathname
|
|
56
|
+
.replace(/^\/([A-Za-z]:)/, "$1")
|
|
57
|
+
.replaceAll("/", "\\");
|
|
43
58
|
}
|
|
44
59
|
export function toFileUrl(path) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
|
|
52
|
-
|
|
60
|
+
if (typeof path !== "string") {
|
|
61
|
+
throw new TypeError(`Path must be a string. Received ${typeof path}`);
|
|
62
|
+
}
|
|
63
|
+
const unc = parseUncPath(path);
|
|
64
|
+
if (unc) {
|
|
65
|
+
return new URL(`file://${unc.host}${encodePath(unc.pathname)}`);
|
|
66
|
+
}
|
|
67
|
+
const portable = path.replaceAll("\\", "/");
|
|
68
|
+
const drive = portable.match(/^([A-Za-z]:)(\/.*)?$/);
|
|
69
|
+
if (drive?.[1]) {
|
|
70
|
+
const pathname = drive[2] ?? "/";
|
|
71
|
+
return new URL(`file:///${drive[1]}${encodePath(pathname)}`);
|
|
72
|
+
}
|
|
73
|
+
const absolute = runtimeUsesWindowsPaths() ? resolve(path) : posix.resolve(path);
|
|
74
|
+
return new URL(`file://${encodePath(absolute)}`);
|
|
53
75
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { deleteEnv, env, type EnvBooleanOptions, getEnv, getEnvBoolean, getEnvNumber, getEnvOverlayStorage, getEnvString, getHostEnv, setEnv, } from "
|
|
1
|
+
export { deleteEnv, env, type EnvBooleanOptions, getEnv, getEnvBoolean, getEnvNumber, getEnvOverlayStorage, getEnvString, getHostEnv, setEnv, } from "veryfront/platform/env";
|
|
2
2
|
export { chdir, cwd, execPath, exit, getArgs, getOsType, getRuntimeVersion, getStdout, getTerminalSize, isInteractive, isStdoutTTY, memoryUsage, onGlobalError, onSignal, pid, promptSync, readStdinByteSync, unrefTimer, uptime, writeStdout, writeStdoutAsync, } from "./process/lifecycle.js";
|
|
3
3
|
export { testHasRuntimeProcess } from "./process/runtime-process.js";
|
|
4
4
|
export { type CommandOptions, type CommandResult, runCommand } from "./process/command.js";
|
|
@@ -4,5 +4,14 @@ export declare const DEFAULT_BUILD_CONCURRENCY = 4;
|
|
|
4
4
|
export declare const IMAGE_OPTIMIZATION: {
|
|
5
5
|
readonly DEFAULT_SIZES: readonly [640, 750, 828, 1080, 1200, 1920, 2048, 3840];
|
|
6
6
|
readonly DEFAULT_QUALITY: 80;
|
|
7
|
+
readonly MAX_DIMENSION: 32768;
|
|
8
|
+
readonly MAX_OUTPUT_SIZES: 64;
|
|
9
|
+
readonly MAX_ENGINE_IDENTITY_CHARACTERS: 256;
|
|
10
|
+
};
|
|
11
|
+
/** Shared CSS optimization resource bounds. */
|
|
12
|
+
export declare const CSS_OPTIMIZATION: {
|
|
13
|
+
readonly MAX_FILES: 10000;
|
|
14
|
+
readonly MAX_PURGE_PATTERNS: 128;
|
|
15
|
+
readonly MAX_PURGE_SAFELIST_ENTRIES: 1024;
|
|
7
16
|
};
|
|
8
17
|
//# sourceMappingURL=build.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/constants/build.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,uCAAuC;AACvC,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/constants/build.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,uCAAuC;AACvC,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC"}
|
|
@@ -4,4 +4,13 @@ export const DEFAULT_BUILD_CONCURRENCY = 4;
|
|
|
4
4
|
export const IMAGE_OPTIMIZATION = {
|
|
5
5
|
DEFAULT_SIZES: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
|
|
6
6
|
DEFAULT_QUALITY: 80,
|
|
7
|
+
MAX_DIMENSION: 32_768,
|
|
8
|
+
MAX_OUTPUT_SIZES: 64,
|
|
9
|
+
MAX_ENGINE_IDENTITY_CHARACTERS: 256,
|
|
10
|
+
};
|
|
11
|
+
/** Shared CSS optimization resource bounds. */
|
|
12
|
+
export const CSS_OPTIMIZATION = {
|
|
13
|
+
MAX_FILES: 10_000,
|
|
14
|
+
MAX_PURGE_PATTERNS: 128,
|
|
15
|
+
MAX_PURGE_SAFELIST_ENTRIES: 1_024,
|
|
7
16
|
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module utils/constants
|
|
5
5
|
*/
|
|
6
|
-
export { DEFAULT_BUILD_CONCURRENCY, IMAGE_OPTIMIZATION } from "./build.js";
|
|
6
|
+
export { CSS_OPTIMIZATION, DEFAULT_BUILD_CONCURRENCY, IMAGE_OPTIMIZATION } from "./build.js";
|
|
7
7
|
export { BUFFER_SIZE_16_KB, BUFFER_SIZE_1_KB, BUFFER_SIZE_256_BYTES, BUFFER_SIZE_2_KB, BUFFER_SIZE_32_KB, BUFFER_SIZE_4_KB, BUFFER_SIZE_512_BYTES, BUFFER_SIZE_64_KB, BUFFER_SIZE_8_KB, DEFAULT_MAX_BODY_SIZE_BYTES, DEFAULT_MAX_FILE_SIZE_BYTES, DEFAULT_MAX_HEADER_SIZE_BYTES, DEFAULT_MAX_URL_LENGTH_BYTES, MAX_BUNDLE_CHUNK_SIZE_BYTES, PREFETCH_QUEUE_MAX_SIZE_BYTES, RSC_FILE_READ_BUFFER_SIZE_BYTES, } from "./buffers.js";
|
|
8
8
|
export { BUNDLE_CACHE_TTL_DEVELOPMENT_MS, BUNDLE_CACHE_TTL_PRODUCTION_MS, BUNDLE_MANIFEST_DEV_TTL_MS, BUNDLE_MANIFEST_DISTRIBUTED_TTL_SEC, BUNDLE_MANIFEST_LRU_MAX_ENTRIES, BUNDLE_MANIFEST_PROD_TTL_MS, CACHE_CLEANUP_INTERVAL_MS, CLEANUP_INTERVAL_MULTIPLIER, COMPONENT_LOADER_MAX_ENTRIES, COMPONENT_LOADER_TTL_MS, DATA_FETCHING_MAX_ENTRIES, DATA_FETCHING_TTL_MS, DEFAULT_LRU_MAX_ENTRIES, DENO_KV_SAFE_SIZE_LIMIT_BYTES, DISTRIBUTED_CSS_TTL_PREVIEW_SEC, DISTRIBUTED_CSS_TTL_PRODUCTION_SEC, DISTRIBUTED_FILE_TTL_PREVIEW_SEC, DISTRIBUTED_FILE_TTL_PRODUCTION_SEC, DISTRIBUTED_SSR_MODULE_TTL_PREVIEW_SEC, DISTRIBUTED_SSR_MODULE_TTL_PRODUCTION_SEC, DISTRIBUTED_TRANSFORM_TTL_PREVIEW_SEC, DISTRIBUTED_TRANSFORM_TTL_PRODUCTION_SEC, ESM_CACHE_MAX_ENTRIES, ESM_CACHE_TTL_MS, FILE_CACHE_MAX_ENTRIES, FILE_CACHE_MAX_SIZE_MB, getDistributedCacheTTL, HOURS_PER_DAY, HTTP_CACHE_LONG_MAX_AGE_SEC, HTTP_CACHE_MEDIUM_MAX_AGE_SEC, HTTP_CACHE_SHORT_MAX_AGE_SEC, HTTP_MODULE_CACHE_MAX_ENTRIES, HTTP_MODULE_DISTRIBUTED_TTL_SEC, LRU_DEFAULT_MAX_ENTRIES_V2, LRU_DEFAULT_MAX_SIZE_BYTES, MAX_CONCURRENT_HTTP_FETCHES, MAX_CONCURRENT_REVALIDATIONS, MDX_CACHE_TTL_DEVELOPMENT_MS, MDX_CACHE_TTL_PRODUCTION_MS, MDX_RENDERER_MAX_ENTRIES, MDX_RENDERER_TTL_MS, MEMORY_CACHE_MAX_ENTRIES, MEMORY_CACHE_MAX_SIZE_BYTES, MINUTES_PER_HOUR, MODULE_CACHE_MAX_ENTRIES, MODULE_CACHE_TTL_MS, MS_PER_HOUR, MS_PER_MINUTE, MS_PER_SECOND, ONE_DAY_MS, RENDERER_CORE_MAX_ENTRIES, RENDERER_CORE_TTL_MS, REVALIDATION_PER_PROJECT_LIMIT, REVALIDATION_TIMEOUT_MS, RSC_MANIFEST_CACHE_TTL_MS, SECONDS_PER_MINUTE, SERVER_ACTION_DEFAULT_TTL_SEC, TRANSFORM_DISTRIBUTED_TTL_SEC, TSX_LAYOUT_MAX_ENTRIES, TSX_LAYOUT_PER_PROJECT_MAX_ENTRIES, TSX_LAYOUT_TTL_MS, } from "./cache.js";
|
|
9
9
|
export { DEFAULT_ALLOWED_CDN_HOSTS, DENO_STD_BASE, DENO_STD_VERSION, ESM_CDN_BASE, esmShReact, getDenoStdNodeBase, getReactCDNUrl, getReactDOMCDNUrl, getReactDOMClientCDNUrl, getReactDOMServerCDNUrl, getReactImportMap, getReactJSXDevRuntimeCDNUrl, getReactJSXRuntimeCDNUrl, getReactUrls, getTailwindCSSUrl, JSDELIVR_CDN_BASE, REACT_DEFAULT_VERSION, REACT_VERSION_17, REACT_VERSION_18_2, REACT_VERSION_18_3, REACT_VERSION_19, REACT_VERSION_19_RC, TAILWIND_VERSION, VERYFRONT_VERSION, } from "./cdn.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/constants/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/constants/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,0BAA0B,EAC1B,mCAAmC,EACnC,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,kCAAkC,EAClC,gCAAgC,EAChC,mCAAmC,EACnC,sCAAsC,EACtC,yCAAyC,EACzC,qCAAqC,EACrC,wCAAwC,EACxC,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,oBAAoB,EACpB,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,6BAA6B,EAC7B,sBAAsB,EACtB,kCAAkC,EAClC,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,OAAO,EACP,sBAAsB,EACtB,mBAAmB,EACnB,oCAAoC,EACpC,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,8BAA8B,EAC9B,6BAA6B,EAC7B,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,sCAAsC,EACtC,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,eAAe,EACf,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,aAAa,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module utils/constants
|
|
5
5
|
*/
|
|
6
|
-
export { DEFAULT_BUILD_CONCURRENCY, IMAGE_OPTIMIZATION } from "./build.js";
|
|
6
|
+
export { CSS_OPTIMIZATION, DEFAULT_BUILD_CONCURRENCY, IMAGE_OPTIMIZATION } from "./build.js";
|
|
7
7
|
export { BUFFER_SIZE_16_KB, BUFFER_SIZE_1_KB, BUFFER_SIZE_256_BYTES, BUFFER_SIZE_2_KB, BUFFER_SIZE_32_KB, BUFFER_SIZE_4_KB, BUFFER_SIZE_512_BYTES, BUFFER_SIZE_64_KB, BUFFER_SIZE_8_KB, DEFAULT_MAX_BODY_SIZE_BYTES, DEFAULT_MAX_FILE_SIZE_BYTES, DEFAULT_MAX_HEADER_SIZE_BYTES, DEFAULT_MAX_URL_LENGTH_BYTES, MAX_BUNDLE_CHUNK_SIZE_BYTES, PREFETCH_QUEUE_MAX_SIZE_BYTES, RSC_FILE_READ_BUFFER_SIZE_BYTES, } from "./buffers.js";
|
|
8
8
|
export { BUNDLE_CACHE_TTL_DEVELOPMENT_MS, BUNDLE_CACHE_TTL_PRODUCTION_MS, BUNDLE_MANIFEST_DEV_TTL_MS, BUNDLE_MANIFEST_DISTRIBUTED_TTL_SEC, BUNDLE_MANIFEST_LRU_MAX_ENTRIES, BUNDLE_MANIFEST_PROD_TTL_MS, CACHE_CLEANUP_INTERVAL_MS, CLEANUP_INTERVAL_MULTIPLIER, COMPONENT_LOADER_MAX_ENTRIES, COMPONENT_LOADER_TTL_MS, DATA_FETCHING_MAX_ENTRIES, DATA_FETCHING_TTL_MS, DEFAULT_LRU_MAX_ENTRIES, DENO_KV_SAFE_SIZE_LIMIT_BYTES, DISTRIBUTED_CSS_TTL_PREVIEW_SEC, DISTRIBUTED_CSS_TTL_PRODUCTION_SEC, DISTRIBUTED_FILE_TTL_PREVIEW_SEC, DISTRIBUTED_FILE_TTL_PRODUCTION_SEC, DISTRIBUTED_SSR_MODULE_TTL_PREVIEW_SEC, DISTRIBUTED_SSR_MODULE_TTL_PRODUCTION_SEC, DISTRIBUTED_TRANSFORM_TTL_PREVIEW_SEC, DISTRIBUTED_TRANSFORM_TTL_PRODUCTION_SEC, ESM_CACHE_MAX_ENTRIES, ESM_CACHE_TTL_MS, FILE_CACHE_MAX_ENTRIES, FILE_CACHE_MAX_SIZE_MB, getDistributedCacheTTL, HOURS_PER_DAY, HTTP_CACHE_LONG_MAX_AGE_SEC, HTTP_CACHE_MEDIUM_MAX_AGE_SEC, HTTP_CACHE_SHORT_MAX_AGE_SEC, HTTP_MODULE_CACHE_MAX_ENTRIES, HTTP_MODULE_DISTRIBUTED_TTL_SEC, LRU_DEFAULT_MAX_ENTRIES_V2, LRU_DEFAULT_MAX_SIZE_BYTES, MAX_CONCURRENT_HTTP_FETCHES, MAX_CONCURRENT_REVALIDATIONS, MDX_CACHE_TTL_DEVELOPMENT_MS, MDX_CACHE_TTL_PRODUCTION_MS, MDX_RENDERER_MAX_ENTRIES, MDX_RENDERER_TTL_MS, MEMORY_CACHE_MAX_ENTRIES, MEMORY_CACHE_MAX_SIZE_BYTES, MINUTES_PER_HOUR, MODULE_CACHE_MAX_ENTRIES, MODULE_CACHE_TTL_MS, MS_PER_HOUR, MS_PER_MINUTE, MS_PER_SECOND, ONE_DAY_MS, RENDERER_CORE_MAX_ENTRIES, RENDERER_CORE_TTL_MS, REVALIDATION_PER_PROJECT_LIMIT, REVALIDATION_TIMEOUT_MS, RSC_MANIFEST_CACHE_TTL_MS, SECONDS_PER_MINUTE, SERVER_ACTION_DEFAULT_TTL_SEC, TRANSFORM_DISTRIBUTED_TTL_SEC, TSX_LAYOUT_MAX_ENTRIES, TSX_LAYOUT_PER_PROJECT_MAX_ENTRIES, TSX_LAYOUT_TTL_MS, } from "./cache.js";
|
|
9
9
|
export { DEFAULT_ALLOWED_CDN_HOSTS, DENO_STD_BASE, DENO_STD_VERSION, ESM_CDN_BASE, esmShReact, getDenoStdNodeBase, getReactCDNUrl, getReactDOMCDNUrl, getReactDOMClientCDNUrl, getReactDOMServerCDNUrl, getReactImportMap, getReactJSXDevRuntimeCDNUrl, getReactJSXRuntimeCDNUrl, getReactUrls, getTailwindCSSUrl, JSDELIVR_CDN_BASE, REACT_DEFAULT_VERSION, REACT_VERSION_17, REACT_VERSION_18_2, REACT_VERSION_18_3, REACT_VERSION_19, REACT_VERSION_19_RC, TAILWIND_VERSION, VERYFRONT_VERSION, } from "./cdn.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical identities shared by CSS generation, cache, and control-plane boundaries.
|
|
3
|
+
*
|
|
4
|
+
* This module deliberately has no vendor dependencies. Cache identities may cross
|
|
5
|
+
* process and service boundaries, so accepting two strings with the same encoded
|
|
6
|
+
* representation—or an unbounded string—is unsafe even when TypeScript calls the
|
|
7
|
+
* value a `string`.
|
|
8
|
+
*
|
|
9
|
+
* @module utils/css-artifact-identity
|
|
10
|
+
*/
|
|
11
|
+
/** Maximum UTF-16 code units accepted for one complete CSS pipeline identity. */
|
|
12
|
+
export declare const MAX_CSS_PIPELINE_IDENTITY_CODE_UNITS = 2048;
|
|
13
|
+
/** Maximum encoded UTF-8 bytes accepted for one complete CSS pipeline identity. */
|
|
14
|
+
export declare const MAX_CSS_PIPELINE_IDENTITY_UTF8_BYTES = 2048;
|
|
15
|
+
/** Whether a value is safe to compare, encode, and persist as a CSS pipeline identity. */
|
|
16
|
+
export declare function isCSSPipelineIdentity(value: unknown): value is string;
|
|
17
|
+
/** Validate and return an immutable string snapshot for cache or wire use. */
|
|
18
|
+
export declare function assertCSSPipelineIdentity(value: unknown, label?: string): string;
|
|
19
|
+
/** Whether a value is the canonical style-scope profile SHA-256 identity. */
|
|
20
|
+
export declare function isStyleProfileHash(value: unknown): value is string;
|
|
21
|
+
/** Validate and return the canonical style-scope profile SHA-256 identity. */
|
|
22
|
+
export declare function assertStyleProfileHash(value: unknown, label?: string): string;
|
|
23
|
+
//# sourceMappingURL=css-artifact-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css-artifact-identity.d.ts","sourceRoot":"","sources":["../../../src/src/utils/css-artifact-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,iFAAiF;AACjF,eAAO,MAAM,oCAAoC,OAAQ,CAAC;AAE1D,mFAAmF;AACnF,eAAO,MAAM,oCAAoC,OAAQ,CAAC;AAiC1D,0FAA0F;AAC1F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAkBrE;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,KAAK,SAA0B,GAC9B,MAAM,CAOR;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAGlE;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,KAAK,SAAuB,GAC3B,MAAM,CAKR"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical identities shared by CSS generation, cache, and control-plane boundaries.
|
|
3
|
+
*
|
|
4
|
+
* This module deliberately has no vendor dependencies. Cache identities may cross
|
|
5
|
+
* process and service boundaries, so accepting two strings with the same encoded
|
|
6
|
+
* representation—or an unbounded string—is unsafe even when TypeScript calls the
|
|
7
|
+
* value a `string`.
|
|
8
|
+
*
|
|
9
|
+
* @module utils/css-artifact-identity
|
|
10
|
+
*/
|
|
11
|
+
/** Maximum UTF-16 code units accepted for one complete CSS pipeline identity. */
|
|
12
|
+
export const MAX_CSS_PIPELINE_IDENTITY_CODE_UNITS = 2_048;
|
|
13
|
+
/** Maximum encoded UTF-8 bytes accepted for one complete CSS pipeline identity. */
|
|
14
|
+
export const MAX_CSS_PIPELINE_IDENTITY_UTF8_BYTES = 2_048;
|
|
15
|
+
const CSS_STYLE_PROFILE_HASH_PATTERN = /^[a-f0-9]{64}$/;
|
|
16
|
+
const ReflectApply = Reflect.apply;
|
|
17
|
+
const RegExpPrototypeTest = RegExp.prototype.test;
|
|
18
|
+
const StringPrototypeCharCodeAt = String.prototype.charCodeAt;
|
|
19
|
+
const StringPrototypeNormalize = String.prototype.normalize;
|
|
20
|
+
const StringPrototypeTrim = String.prototype.trim;
|
|
21
|
+
const TextEncoderPrototypeEncode = TextEncoder.prototype.encode;
|
|
22
|
+
const cssIdentityTextEncoder = new TextEncoder();
|
|
23
|
+
function charCodeAt(value, index) {
|
|
24
|
+
return ReflectApply(StringPrototypeCharCodeAt, value, [index]);
|
|
25
|
+
}
|
|
26
|
+
function hasOnlyWellFormedNonControlCharacters(value) {
|
|
27
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
28
|
+
const codeUnit = charCodeAt(value, index);
|
|
29
|
+
if (codeUnit <= 0x1f || (codeUnit >= 0x7f && codeUnit <= 0x9f)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if (codeUnit >= 0xd800 && codeUnit <= 0xdbff) {
|
|
33
|
+
if (index + 1 >= value.length)
|
|
34
|
+
return false;
|
|
35
|
+
const trailing = charCodeAt(value, index + 1);
|
|
36
|
+
if (trailing < 0xdc00 || trailing > 0xdfff)
|
|
37
|
+
return false;
|
|
38
|
+
index += 1;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (codeUnit >= 0xdc00 && codeUnit <= 0xdfff)
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
/** Whether a value is safe to compare, encode, and persist as a CSS pipeline identity. */
|
|
47
|
+
export function isCSSPipelineIdentity(value) {
|
|
48
|
+
if (typeof value !== "string" ||
|
|
49
|
+
value.length === 0 ||
|
|
50
|
+
value.length > MAX_CSS_PIPELINE_IDENTITY_CODE_UNITS ||
|
|
51
|
+
ReflectApply(StringPrototypeTrim, value, []) !== value ||
|
|
52
|
+
ReflectApply(StringPrototypeNormalize, value, ["NFC"]) !== value ||
|
|
53
|
+
!hasOnlyWellFormedNonControlCharacters(value)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const bytes = ReflectApply(TextEncoderPrototypeEncode, cssIdentityTextEncoder, [value]);
|
|
57
|
+
return bytes.byteLength <= MAX_CSS_PIPELINE_IDENTITY_UTF8_BYTES;
|
|
58
|
+
}
|
|
59
|
+
/** Validate and return an immutable string snapshot for cache or wire use. */
|
|
60
|
+
export function assertCSSPipelineIdentity(value, label = "CSS pipeline identity") {
|
|
61
|
+
if (!isCSSPipelineIdentity(value)) {
|
|
62
|
+
throw new TypeError(`${label} must be a trimmed, NFC-normalized, well-formed string without control characters and no larger than ${MAX_CSS_PIPELINE_IDENTITY_CODE_UNITS} code units or ${MAX_CSS_PIPELINE_IDENTITY_UTF8_BYTES} UTF-8 bytes`);
|
|
63
|
+
}
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
/** Whether a value is the canonical style-scope profile SHA-256 identity. */
|
|
67
|
+
export function isStyleProfileHash(value) {
|
|
68
|
+
return typeof value === "string" &&
|
|
69
|
+
ReflectApply(RegExpPrototypeTest, CSS_STYLE_PROFILE_HASH_PATTERN, [value]) === true;
|
|
70
|
+
}
|
|
71
|
+
/** Validate and return the canonical style-scope profile SHA-256 identity. */
|
|
72
|
+
export function assertStyleProfileHash(value, label = "Style profile hash") {
|
|
73
|
+
if (!isStyleProfileHash(value)) {
|
|
74
|
+
throw new TypeError(`${label} must be a full lowercase SHA-256 digest`);
|
|
75
|
+
}
|
|
76
|
+
return value;
|
|
77
|
+
}
|
package/esm/src/utils/index.d.ts
CHANGED
|
@@ -29,4 +29,5 @@ export { computeIntegrity, createLockfileManager, type LockfileManager, } from "
|
|
|
29
29
|
export { endRequest, isEnabled, startRequest, startTimer, timeAsync } from "./perf-timer.js";
|
|
30
30
|
export { parallelMap } from "./parallel.js";
|
|
31
31
|
export { safeJsonParse, type SafeJsonParseResult } from "./json.js";
|
|
32
|
+
export { assertCSSPipelineIdentity, assertStyleProfileHash, isCSSPipelineIdentity, isStyleProfileHash, MAX_CSS_PIPELINE_IDENTITY_CODE_UNITS, MAX_CSS_PIPELINE_IDENTITY_UTF8_BYTES, } from "./css-artifact-identity.js";
|
|
32
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/utils/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/esm/src/utils/index.js
CHANGED
|
@@ -29,3 +29,4 @@ export { computeIntegrity, createLockfileManager, } from "./import-lockfile.js";
|
|
|
29
29
|
export { endRequest, isEnabled, startRequest, startTimer, timeAsync } from "./perf-timer.js";
|
|
30
30
|
export { parallelMap } from "./parallel.js";
|
|
31
31
|
export { safeJsonParse } from "./json.js";
|
|
32
|
+
export { assertCSSPipelineIdentity, assertStyleProfileHash, isCSSPipelineIdentity, isStyleProfileHash, MAX_CSS_PIPELINE_IDENTITY_CODE_UNITS, MAX_CSS_PIPELINE_IDENTITY_UTF8_BYTES, } from "./css-artifact-identity.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veryfront/ext-content-mdx",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1186",
|
|
4
4
|
"description": "Veryfront first-party extension package for ext-content-mdx",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"veryfront",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"vfile": "6.0.3"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"veryfront": "^0.1.
|
|
70
|
+
"veryfront": "^0.1.1186"
|
|
71
71
|
},
|
|
72
72
|
"type": "module",
|
|
73
73
|
"types": "./esm/extensions/ext-content-mdx/src/index.d.ts",
|