@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.
Files changed (68) hide show
  1. package/esm/deno.d.ts +20 -1
  2. package/esm/deno.js +31 -6
  3. package/esm/src/errors/error-registry.d.ts +2 -2
  4. package/esm/src/extensions/websocket/index.d.ts +3 -0
  5. package/esm/src/extensions/websocket/index.d.ts.map +1 -0
  6. package/esm/src/extensions/websocket/index.js +2 -0
  7. package/esm/src/extensions/websocket/node-websocket-server-provider.d.ts +51 -0
  8. package/esm/src/extensions/websocket/node-websocket-server-provider.d.ts.map +1 -0
  9. package/esm/src/extensions/websocket/node-websocket-server-provider.js +146 -0
  10. package/esm/src/platform/adapters/base.d.ts +35 -0
  11. package/esm/src/platform/adapters/base.d.ts.map +1 -1
  12. package/esm/src/platform/adapters/base.js +54 -5
  13. package/esm/src/platform/adapters/bounded-file-read.d.ts +34 -0
  14. package/esm/src/platform/adapters/bounded-file-read.d.ts.map +1 -0
  15. package/esm/src/platform/adapters/bounded-file-read.js +179 -0
  16. package/esm/src/platform/adapters/file-snapshot-error.d.ts +6 -0
  17. package/esm/src/platform/adapters/file-snapshot-error.d.ts.map +1 -0
  18. package/esm/src/platform/adapters/file-snapshot-error.js +11 -0
  19. package/esm/src/platform/adapters/runtime/shared/native-file-capabilities.d.ts +33 -0
  20. package/esm/src/platform/adapters/runtime/shared/native-file-capabilities.d.ts.map +1 -0
  21. package/esm/src/platform/adapters/runtime/shared/native-file-capabilities.js +205 -0
  22. package/esm/src/platform/compat/fs.d.ts +6 -2
  23. package/esm/src/platform/compat/fs.d.ts.map +1 -1
  24. package/esm/src/platform/compat/fs.js +55 -19
  25. package/esm/src/platform/compat/not-found-error.d.ts +7 -0
  26. package/esm/src/platform/compat/not-found-error.d.ts.map +1 -0
  27. package/esm/src/platform/compat/not-found-error.js +41 -0
  28. package/esm/src/platform/compat/path/basic-operations.d.ts +1 -1
  29. package/esm/src/platform/compat/path/basic-operations.d.ts.map +1 -1
  30. package/esm/src/platform/compat/path/basic-operations.js +24 -44
  31. package/esm/src/platform/compat/path/index.d.ts +1 -0
  32. package/esm/src/platform/compat/path/index.d.ts.map +1 -1
  33. package/esm/src/platform/compat/path/index.js +1 -0
  34. package/esm/src/platform/compat/path/parse-format.d.ts.map +1 -1
  35. package/esm/src/platform/compat/path/parse-format.js +26 -20
  36. package/esm/src/platform/compat/path/portable.d.ts +16 -0
  37. package/esm/src/platform/compat/path/portable.d.ts.map +1 -0
  38. package/esm/src/platform/compat/path/portable.js +307 -0
  39. package/esm/src/platform/compat/path/posix.d.ts +14 -0
  40. package/esm/src/platform/compat/path/posix.d.ts.map +1 -0
  41. package/esm/src/platform/compat/path/posix.js +206 -0
  42. package/esm/src/platform/compat/path/resolution.d.ts +1 -1
  43. package/esm/src/platform/compat/path/resolution.d.ts.map +1 -1
  44. package/esm/src/platform/compat/path/resolution.js +28 -112
  45. package/esm/src/platform/compat/path/runtime.d.ts +2 -1
  46. package/esm/src/platform/compat/path/runtime.d.ts.map +1 -1
  47. package/esm/src/platform/compat/path/runtime.js +5 -0
  48. package/esm/src/platform/compat/path/types.d.ts +5 -1
  49. package/esm/src/platform/compat/path/types.d.ts.map +1 -1
  50. package/esm/src/platform/compat/path/url-conversion.d.ts +10 -0
  51. package/esm/src/platform/compat/path/url-conversion.d.ts.map +1 -1
  52. package/esm/src/platform/compat/path/url-conversion.js +63 -41
  53. package/esm/src/platform/compat/process.d.ts +1 -1
  54. package/esm/src/utils/constants/build.d.ts +9 -0
  55. package/esm/src/utils/constants/build.d.ts.map +1 -1
  56. package/esm/src/utils/constants/build.js +9 -0
  57. package/esm/src/utils/constants/index.d.ts +1 -1
  58. package/esm/src/utils/constants/index.d.ts.map +1 -1
  59. package/esm/src/utils/constants/index.js +1 -1
  60. package/esm/src/utils/css-artifact-identity.d.ts +23 -0
  61. package/esm/src/utils/css-artifact-identity.d.ts.map +1 -0
  62. package/esm/src/utils/css-artifact-identity.js +77 -0
  63. package/esm/src/utils/index.d.ts +1 -0
  64. package/esm/src/utils/index.d.ts.map +1 -1
  65. package/esm/src/utils/index.js +1 -0
  66. package/esm/src/utils/version-constant.d.ts +1 -1
  67. package/esm/src/utils/version-constant.js +1 -1
  68. package/package.json +2 -2
@@ -1,121 +1,37 @@
1
- import * as dntShim from "../../../../_dnt.shims.js";
2
- import { isDeno, nodePath } from "./runtime.js";
3
- function hasWindowsLikePath(path) {
4
- return path.includes("\\") || /^[A-Za-z]:/.test(path) || path.startsWith("\\\\");
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
- /** Normalize backslashes to forward slashes (for Deno on Windows). */
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
- if (!isDeno && nodePath && !paths.some(hasWindowsLikePath))
15
- return nodePath.resolve(...paths);
16
- let resolvedPath = normSep(dntShim.dntGlobalThis.Deno?.cwd?.() ?? "/");
17
- for (const rawPath of paths) {
18
- if (!rawPath)
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
- if (!isDeno && nodePath && !hasWindowsLikePath(path) && nodePath.isAbsolute(path))
52
- return true;
53
- // Cross-platform fallback: Unix, Windows drive letters, and UNC paths
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
- if (!isDeno && nodePath && !hasWindowsLikePath(from) && !hasWindowsLikePath(to)) {
62
- const relativePath = nodePath.relative(from, to);
63
- return relativePath || ".";
64
- }
65
- const resolvedFrom = resolve(from);
66
- const resolvedTo = resolve(to);
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
- if (!isDeno && nodePath && !hasWindowsLikePath(path))
87
- return nodePath.normalize(path);
88
- if (path === "")
89
- return ".";
90
- const p = normSep(path);
91
- const abs = isAbsolute(p);
92
- // Preserve drive letter prefix
93
- let prefix = "";
94
- const driveMatch = p.match(DRIVE_LETTER);
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;AAKjD,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"}
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 NodePathModule {
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,cAAc;IAC7B,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"}
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":"AA6BA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAwBrD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAS3C"}
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 * as dntShim from "../../../../_dnt.shims.js";
2
- import { hasNodePath, isDeno } from "./runtime.js";
3
- import { isAbsolute, resolve } from "./resolution.js";
4
- let _fileURLToPath = null;
5
- function getFileURLToPath() {
6
- if (_fileURLToPath)
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
- catch (_) {
19
- /* expected: node:url require may fail in non-Node runtimes */
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 fileURLToPath = getFileURLToPath();
29
- if (fileURLToPath)
30
- return fileURLToPath(parsedUrl);
31
- if (isDeno) {
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
- return decodeURIComponent(parsedUrl.pathname);
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
- const absolute = hasNodePath ? path : isAbsolute(path) ? path : resolve(path);
46
- // Preserve filesystem characters that URL parsing would otherwise decode or
47
- // interpret as fragment/query delimiters.
48
- const encodedPath = absolute
49
- .replaceAll("%", "%25")
50
- .replaceAll("#", "%23")
51
- .replaceAll("?", "%3F");
52
- return new URL(`file://${encodedPath}`);
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 "./process/env.js";
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;;;CAGrB,CAAC"}
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":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/constants/index.ts"],"names":[],"mappings":"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"}
@@ -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
+ }
@@ -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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,IAAI,0BAA0B,EAC1D,WAAW,EACX,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjG,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,oBAAoB,EACpB,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,kCAAkC,EAClC,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EACL,KAAK,UAAU,IAAI,cAAc,EACjC,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEpE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,4BAA4B,CAAC"}
@@ -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";
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.1183";
2
+ export declare const VERSION = "0.1.1186";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.1183";
4
+ export const VERSION = "0.1.1186";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veryfront/ext-content-mdx",
3
- "version": "0.1.1183",
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.1183"
70
+ "veryfront": "^0.1.1186"
71
71
  },
72
72
  "type": "module",
73
73
  "types": "./esm/extensions/ext-content-mdx/src/index.d.ts",