@hyperframes/core 0.6.68 → 0.6.70
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/compiler/assetPaths.d.ts +18 -0
- package/dist/compiler/assetPaths.d.ts.map +1 -0
- package/dist/compiler/assetPaths.js +34 -0
- package/dist/compiler/assetPaths.js.map +1 -0
- package/dist/compiler/index.d.ts +1 -0
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/index.js +2 -0
- package/dist/compiler/index.js.map +1 -1
- package/dist/compiler/rewriteSubCompPaths.d.ts.map +1 -1
- package/dist/compiler/rewriteSubCompPaths.js +2 -12
- package/dist/compiler/rewriteSubCompPaths.js.map +1 -1
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +5 -5
- package/dist/hyperframe.runtime.mjs +5 -5
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared primitives for scanning and rewriting asset paths in HTML/CSS.
|
|
3
|
+
*
|
|
4
|
+
* Used by: rewriteSubCompPaths (core), collectExternalAssets (producer),
|
|
5
|
+
* localizeExternalAssets (CLI publish).
|
|
6
|
+
*/
|
|
7
|
+
/** Regex matching CSS `url(...)` references — captures the quote style and the raw URL. */
|
|
8
|
+
export declare const CSS_URL_RE: RegExp;
|
|
9
|
+
/** Attributes that may contain relative asset paths. */
|
|
10
|
+
export declare const PATH_ATTRS: readonly ["src", "href"];
|
|
11
|
+
/** Returns true for URLs/prefixes that should never be rewritten. */
|
|
12
|
+
export declare function isNonRelativeUrl(val: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Cross-platform containment check: is `childPath` inside `parentPath`?
|
|
15
|
+
* Equality counts as "inside".
|
|
16
|
+
*/
|
|
17
|
+
export declare function isPathInside(childPath: string, parentPath: string): boolean;
|
|
18
|
+
//# sourceMappingURL=assetPaths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetPaths.d.ts","sourceRoot":"","sources":["../../src/compiler/assetPaths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,2FAA2F;AAC3F,eAAO,MAAM,UAAU,QAAuC,CAAC;AAE/D,wDAAwD;AACxD,eAAO,MAAM,UAAU,0BAA2B,CAAC;AAEnD,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUrD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAM3E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared primitives for scanning and rewriting asset paths in HTML/CSS.
|
|
3
|
+
*
|
|
4
|
+
* Used by: rewriteSubCompPaths (core), collectExternalAssets (producer),
|
|
5
|
+
* localizeExternalAssets (CLI publish).
|
|
6
|
+
*/
|
|
7
|
+
import { isAbsolute, relative, resolve } from "node:path";
|
|
8
|
+
/** Regex matching CSS `url(...)` references — captures the quote style and the raw URL. */
|
|
9
|
+
export const CSS_URL_RE = /\burl\(\s*(["']?)([^)"']+)\1\s*\)/g;
|
|
10
|
+
/** Attributes that may contain relative asset paths. */
|
|
11
|
+
export const PATH_ATTRS = ["src", "href"];
|
|
12
|
+
/** Returns true for URLs/prefixes that should never be rewritten. */
|
|
13
|
+
export function isNonRelativeUrl(val) {
|
|
14
|
+
return (!val ||
|
|
15
|
+
val.startsWith("http://") ||
|
|
16
|
+
val.startsWith("https://") ||
|
|
17
|
+
val.startsWith("//") ||
|
|
18
|
+
val.startsWith("data:") ||
|
|
19
|
+
val.startsWith("#") ||
|
|
20
|
+
val.startsWith("/"));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Cross-platform containment check: is `childPath` inside `parentPath`?
|
|
24
|
+
* Equality counts as "inside".
|
|
25
|
+
*/
|
|
26
|
+
export function isPathInside(childPath, parentPath) {
|
|
27
|
+
const absChild = resolve(childPath);
|
|
28
|
+
const absParent = resolve(parentPath);
|
|
29
|
+
if (absChild === absParent)
|
|
30
|
+
return true;
|
|
31
|
+
const rel = relative(absParent, absChild);
|
|
32
|
+
return rel !== "" && !rel.startsWith("..") && !isAbsolute(rel);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=assetPaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetPaths.js","sourceRoot":"","sources":["../../src/compiler/assetPaths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAG,oCAAoC,CAAC;AAE/D,wDAAwD;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAEnD,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,CACL,CAAC,GAAG;QACJ,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QACpB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QACvB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QACnB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,UAAkB;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/compiler/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { RUNTIME_BOOTSTRAP_ATTR, injectScriptsAtHeadStart, injectScriptsIntoHtml
|
|
|
5
5
|
export { validateHyperframeHtmlContract, type HyperframeStaticFailureReason, type HyperframeStaticGuardResult, } from "./staticGuard";
|
|
6
6
|
export { scopeCssToComposition, wrapScopedCompositionScript } from "./compositionScoping";
|
|
7
7
|
export { inlineSubCompositions, type InlineSubCompositionsOptions, type InlineSubCompositionsResult, } from "./inlineSubCompositions";
|
|
8
|
+
export { CSS_URL_RE, PATH_ATTRS, isNonRelativeUrl, isPathInside } from "./assetPaths";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,8BAA8B,EAC9B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,GACjC,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,8BAA8B,EAC9B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,GACjC,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/compiler/index.js
CHANGED
|
@@ -11,4 +11,6 @@ export { validateHyperframeHtmlContract, } from "./staticGuard";
|
|
|
11
11
|
export { scopeCssToComposition, wrapScopedCompositionScript } from "./compositionScoping";
|
|
12
12
|
// Sub-composition inlining (shared between bundler and producer)
|
|
13
13
|
export { inlineSubCompositions, } from "./inlineSubCompositions";
|
|
14
|
+
// Asset-path primitives (shared across core, producer, CLI)
|
|
15
|
+
export { CSS_URL_RE, PATH_ATTRS, isNonRelativeUrl, isPathInside } from "./assetPaths";
|
|
14
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,wBAAwB,GAKzB,MAAM,kBAAkB,CAAC;AAE1B,wCAAwC;AACxC,OAAO,EAAE,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AAEvE,0DAA0D;AAC1D,OAAO,EACL,kBAAkB,EAElB,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,OAAO,EACL,8BAA8B,GAG/B,MAAM,eAAe,CAAC;AAEvB,gCAAgC;AAChC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAE1F,iEAAiE;AACjE,OAAO,EACL,qBAAqB,GAGtB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,wBAAwB,GAKzB,MAAM,kBAAkB,CAAC;AAE1B,wCAAwC;AACxC,OAAO,EAAE,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AAEvE,0DAA0D;AAC1D,OAAO,EACL,kBAAkB,EAElB,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,OAAO,EACL,8BAA8B,GAG/B,MAAM,eAAe,CAAC;AAEvB,gCAAgC;AAChC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAE1F,iEAAiE;AACjE,OAAO,EACL,qBAAqB,GAGtB,MAAM,yBAAyB,CAAC;AAEjC,4DAA4D;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewriteSubCompPaths.d.ts","sourceRoot":"","sources":["../../src/compiler/rewriteSubCompPaths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"rewriteSubCompPaths.d.ts","sourceRoot":"","sources":["../../src/compiler/rewriteSubCompPaths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsBH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAQlF;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,EAC3D,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACvC,IAAI,CAYN;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAQhF"}
|
|
@@ -16,18 +16,8 @@
|
|
|
16
16
|
// drive-letter-prefixed artifacts from `resolve("/", ...)`).
|
|
17
17
|
import { posix } from "path";
|
|
18
18
|
const { join, resolve, dirname } = posix;
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
const CSS_URL_RE = /\burl\(\s*(["']?)([^)"']+)\1\s*\)/g;
|
|
22
|
-
/** Protocols and prefixes that should never be rewritten. */
|
|
23
|
-
function isAbsoluteOrSpecial(val) {
|
|
24
|
-
return (!val ||
|
|
25
|
-
val.startsWith("http://") ||
|
|
26
|
-
val.startsWith("https://") ||
|
|
27
|
-
val.startsWith("//") ||
|
|
28
|
-
val.startsWith("data:") ||
|
|
29
|
-
val.startsWith("#"));
|
|
30
|
-
}
|
|
19
|
+
import { CSS_URL_RE, PATH_ATTRS, isNonRelativeUrl } from "./assetPaths.js";
|
|
20
|
+
const isAbsoluteOrSpecial = isNonRelativeUrl;
|
|
31
21
|
/**
|
|
32
22
|
* Returns true only for paths that traverse up with `../`.
|
|
33
23
|
* Plain relative paths like `assets/foo.svg` are already correct from the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewriteSubCompPaths.js","sourceRoot":"","sources":["../../src/compiler/rewriteSubCompPaths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,6EAA6E;AAC7E,8EAA8E;AAC9E,6DAA6D;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AAEzC,
|
|
1
|
+
{"version":3,"file":"rewriteSubCompPaths.js","sourceRoot":"","sources":["../../src/compiler/rewriteSubCompPaths.ts"],"names":[],"mappings":"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"}
|