@refrakt-md/types 0.24.5 → 0.25.0
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/compat.d.ts +40 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +83 -0
- package/dist/compat.js.map +1 -0
- package/dist/distribution.d.ts +72 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/distribution.js +11 -0
- package/dist/distribution.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/theme.d.ts +27 -3
- package/dist/theme.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/compat.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** Versioning & compatibility helpers for distributed extensions (ADR-023).
|
|
2
|
+
*
|
|
3
|
+
* Extensions (themes, templates, preset packs) declare a `refrakt`
|
|
4
|
+
* compatibility range in their manifest; the install path validates it against
|
|
5
|
+
* the project's refrakt version and refuses/warns on a mismatch rather than
|
|
6
|
+
* letting it surface as a build crash. This module is intentionally
|
|
7
|
+
* dependency-free so both the CLI install path and `create-refrakt` can import
|
|
8
|
+
* it without pulling in a semver library.
|
|
9
|
+
*
|
|
10
|
+
* The supported range grammar is the comparator-set form the scaffold emits —
|
|
11
|
+
* space-separated comparators (`>=0.25 <0.26`), each one of `>= > <= < =`
|
|
12
|
+
* followed by a `MAJOR.MINOR[.PATCH]` version. A missing/empty range means
|
|
13
|
+
* "universal — no constraint". This deliberately does not implement the full
|
|
14
|
+
* semver range grammar (`^`, `~`, `||`, pre-release tags); the scaffold never
|
|
15
|
+
* emits those, and keeping the parser small keeps `@refrakt-md/types`
|
|
16
|
+
* dependency-light. */
|
|
17
|
+
export interface SemverParts {
|
|
18
|
+
major: number;
|
|
19
|
+
minor: number;
|
|
20
|
+
patch: number;
|
|
21
|
+
}
|
|
22
|
+
/** Parse a `MAJOR.MINOR[.PATCH]` version (pre-release/build metadata stripped). */
|
|
23
|
+
export declare function parseVersion(version: string): SemverParts | null;
|
|
24
|
+
/** Test a concrete version against a comparator-set range (see module doc).
|
|
25
|
+
* Returns false if the range is malformed (callers decide how to treat that). */
|
|
26
|
+
export declare function satisfiesRange(version: string, range: string): boolean;
|
|
27
|
+
export interface CompatResult {
|
|
28
|
+
/** True when the project version satisfies the range, or the range is absent. */
|
|
29
|
+
ok: boolean;
|
|
30
|
+
/** Set when the declared range is present but malformed. */
|
|
31
|
+
malformed?: boolean;
|
|
32
|
+
/** Human-readable explanation when `ok` is false. */
|
|
33
|
+
message?: string;
|
|
34
|
+
}
|
|
35
|
+
/** Validate a distributable's declared `refrakt` range against the project's
|
|
36
|
+
* refrakt version (ADR-023). A missing range is treated as universal (ok). A
|
|
37
|
+
* malformed range is reported as `{ ok: false, malformed: true }` so callers
|
|
38
|
+
* can downgrade it to a warning rather than a hard failure. */
|
|
39
|
+
export declare function checkRefraktCompat(range: string | undefined, projectVersion: string): CompatResult;
|
|
40
|
+
//# sourceMappingURL=compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;wBAewB;AAExB,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAKhE;AAMD;kFACkF;AAClF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAqBtE;AAED,MAAM,WAAW,YAAY;IAC5B,iFAAiF;IACjF,EAAE,EAAE,OAAO,CAAC;IACZ,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;gEAGgE;AAChE,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,cAAc,EAAE,MAAM,GACpB,YAAY,CAoBd"}
|
package/dist/compat.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** Versioning & compatibility helpers for distributed extensions (ADR-023).
|
|
2
|
+
*
|
|
3
|
+
* Extensions (themes, templates, preset packs) declare a `refrakt`
|
|
4
|
+
* compatibility range in their manifest; the install path validates it against
|
|
5
|
+
* the project's refrakt version and refuses/warns on a mismatch rather than
|
|
6
|
+
* letting it surface as a build crash. This module is intentionally
|
|
7
|
+
* dependency-free so both the CLI install path and `create-refrakt` can import
|
|
8
|
+
* it without pulling in a semver library.
|
|
9
|
+
*
|
|
10
|
+
* The supported range grammar is the comparator-set form the scaffold emits —
|
|
11
|
+
* space-separated comparators (`>=0.25 <0.26`), each one of `>= > <= < =`
|
|
12
|
+
* followed by a `MAJOR.MINOR[.PATCH]` version. A missing/empty range means
|
|
13
|
+
* "universal — no constraint". This deliberately does not implement the full
|
|
14
|
+
* semver range grammar (`^`, `~`, `||`, pre-release tags); the scaffold never
|
|
15
|
+
* emits those, and keeping the parser small keeps `@refrakt-md/types`
|
|
16
|
+
* dependency-light. */
|
|
17
|
+
/** Parse a `MAJOR.MINOR[.PATCH]` version (pre-release/build metadata stripped). */
|
|
18
|
+
export function parseVersion(version) {
|
|
19
|
+
const core = version.trim().replace(/^v/, '').split(/[-+]/)[0] ?? '';
|
|
20
|
+
const m = /^(\d+)\.(\d+)(?:\.(\d+))?$/.exec(core);
|
|
21
|
+
if (!m)
|
|
22
|
+
return null;
|
|
23
|
+
return { major: Number(m[1]), minor: Number(m[2]), patch: m[3] ? Number(m[3]) : 0 };
|
|
24
|
+
}
|
|
25
|
+
function cmp(a, b) {
|
|
26
|
+
return a.major - b.major || a.minor - b.minor || a.patch - b.patch;
|
|
27
|
+
}
|
|
28
|
+
/** Test a concrete version against a comparator-set range (see module doc).
|
|
29
|
+
* Returns false if the range is malformed (callers decide how to treat that). */
|
|
30
|
+
export function satisfiesRange(version, range) {
|
|
31
|
+
const v = parseVersion(version);
|
|
32
|
+
if (!v)
|
|
33
|
+
return false;
|
|
34
|
+
const comparators = range.trim().split(/\s+/).filter(Boolean);
|
|
35
|
+
if (comparators.length === 0)
|
|
36
|
+
return true; // empty → universal
|
|
37
|
+
for (const c of comparators) {
|
|
38
|
+
const m = /^(>=|<=|>|<|=)?\s*(.+)$/.exec(c);
|
|
39
|
+
if (!m)
|
|
40
|
+
return false;
|
|
41
|
+
const op = m[1] ?? '=';
|
|
42
|
+
const bound = parseVersion(m[2]);
|
|
43
|
+
if (!bound)
|
|
44
|
+
return false;
|
|
45
|
+
const d = cmp(v, bound);
|
|
46
|
+
const ok = op === '>=' ? d >= 0 :
|
|
47
|
+
op === '<=' ? d <= 0 :
|
|
48
|
+
op === '>' ? d > 0 :
|
|
49
|
+
op === '<' ? d < 0 :
|
|
50
|
+
d === 0;
|
|
51
|
+
if (!ok)
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
/** Validate a distributable's declared `refrakt` range against the project's
|
|
57
|
+
* refrakt version (ADR-023). A missing range is treated as universal (ok). A
|
|
58
|
+
* malformed range is reported as `{ ok: false, malformed: true }` so callers
|
|
59
|
+
* can downgrade it to a warning rather than a hard failure. */
|
|
60
|
+
export function checkRefraktCompat(range, projectVersion) {
|
|
61
|
+
if (!range || range.trim() === '')
|
|
62
|
+
return { ok: true };
|
|
63
|
+
const comparators = range.trim().split(/\s+/).filter(Boolean);
|
|
64
|
+
// Detect a malformed range up front so we can distinguish "incompatible"
|
|
65
|
+
// from "uninterpretable".
|
|
66
|
+
for (const c of comparators) {
|
|
67
|
+
const m = /^(>=|<=|>|<|=)?\s*(.+)$/.exec(c);
|
|
68
|
+
if (!m || !parseVersion(m[2])) {
|
|
69
|
+
return {
|
|
70
|
+
ok: false,
|
|
71
|
+
malformed: true,
|
|
72
|
+
message: `could not parse refrakt compatibility range "${range}"`,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (satisfiesRange(projectVersion, range))
|
|
77
|
+
return { ok: true };
|
|
78
|
+
return {
|
|
79
|
+
ok: false,
|
|
80
|
+
message: `needs refrakt ${range}, project has ${projectVersion}`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** Manifest shapes for distributable extensions (SPEC-109, SPEC-111, ADR-023).
|
|
2
|
+
*
|
|
3
|
+
* Three things travel through refrakt's shared install surface: themes
|
|
4
|
+
* (`ThemeManifest`, in `./theme`), site templates (`TemplateManifest`,
|
|
5
|
+
* `template.json`), and preset packs (`PresetPackManifest`, `presets.json`).
|
|
6
|
+
* Each declares a `refrakt` compatibility range validated at install
|
|
7
|
+
* (ADR-023). A package may declare several capabilities at once — Lumina is a
|
|
8
|
+
* theme that *also* ships a preset pack — so these are independent manifests,
|
|
9
|
+
* not a single `kind` discriminator (SPEC-111 §1). */
|
|
10
|
+
import type { SiteConfig } from './theme.js';
|
|
11
|
+
/** Site-template manifest — `template.json` (SPEC-109 §2).
|
|
12
|
+
*
|
|
13
|
+
* A full-site template **is a site**: its payload is a `SiteConfig` partial,
|
|
14
|
+
* slotted under a target site key at install. The `site` partial deliberately
|
|
15
|
+
* omits `contentDir`/`sandbox.dir` — those destinations are install-derived
|
|
16
|
+
* from the framework starter layout and the target site key, not author-set
|
|
17
|
+
* (SPEC-109 §2). The package always ships fixed `content/` (and optional
|
|
18
|
+
* `sandboxes/`) source folders. */
|
|
19
|
+
export interface TemplateManifest {
|
|
20
|
+
/** Only `"site"` is implemented (full-site, SPEC-109). `"section"` is
|
|
21
|
+
* reserved for a future overlay-into-existing-site template and defaults to
|
|
22
|
+
* `"site"` when omitted. */
|
|
23
|
+
kind?: 'site' | 'section';
|
|
24
|
+
name: string;
|
|
25
|
+
title: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
/** Catalog category, e.g. `"docs"`, `"portfolio"`. */
|
|
28
|
+
category?: string;
|
|
29
|
+
/** Compatible refrakt range, validated at install (ADR-023). */
|
|
30
|
+
refrakt?: string;
|
|
31
|
+
/** Optional URL of a published demo of this template. */
|
|
32
|
+
previewUrl?: string;
|
|
33
|
+
/** The site this template provides: a `SiteConfig` partial **without**
|
|
34
|
+
* `contentDir`/`sandbox.dir` (install-derived). */
|
|
35
|
+
site: TemplateSiteConfig;
|
|
36
|
+
}
|
|
37
|
+
/** A `SiteConfig` partial as authored in `template.json` — every field is
|
|
38
|
+
* optional, and the two install-derived path fields are removed so an author
|
|
39
|
+
* cannot (mistakenly) pin a project-root destination that would collide under
|
|
40
|
+
* a non-default site key. */
|
|
41
|
+
export type TemplateSiteConfig = Omit<Partial<SiteConfig>, 'contentDir' | 'sandbox'>;
|
|
42
|
+
/** The scope of a preset — the mood-vs-skeleton boundary the engine already
|
|
43
|
+
* enforces via `filterScopeEligible` (SPEC-111 §2).
|
|
44
|
+
* - `syntax`: touches only `syntax.*` (+ optionally `color.code.*`).
|
|
45
|
+
* Theme-universal by construction.
|
|
46
|
+
* - `palette`: also claims chrome tokens. Reskins the page; tuned to a canvas. */
|
|
47
|
+
export type PresetScope = 'syntax' | 'palette';
|
|
48
|
+
/** One preset entry in a `presets.json` manifest (SPEC-111 §3). */
|
|
49
|
+
export interface PresetEntry {
|
|
50
|
+
/** Stable identifier, referenced in listings. */
|
|
51
|
+
id: string;
|
|
52
|
+
/** Human-readable title. */
|
|
53
|
+
title: string;
|
|
54
|
+
/** Declared scope, validated against the module's actual token namespaces. */
|
|
55
|
+
scope: PresetScope;
|
|
56
|
+
/** Module path that resolves to a `ThemeTokensConfig`. May be a `.json`
|
|
57
|
+
* file (declarative carrier, the default) or a JS/TS module with a
|
|
58
|
+
* `default`/`config` export (SPEC-111 §6). */
|
|
59
|
+
module: string;
|
|
60
|
+
/** Advisory list of theme package names this preset was tuned against.
|
|
61
|
+
* Absence means universal; applying outside the set is never an error. */
|
|
62
|
+
tunedFor?: string[];
|
|
63
|
+
}
|
|
64
|
+
/** Preset-pack manifest — `presets.json` (SPEC-111 §1, §3). A standalone pack
|
|
65
|
+
* that ships one or more presets independent of any theme. */
|
|
66
|
+
export interface PresetPackManifest {
|
|
67
|
+
name: string;
|
|
68
|
+
/** Compatible refrakt range, validated at install (ADR-023). */
|
|
69
|
+
refrakt?: string;
|
|
70
|
+
presets: PresetEntry[];
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=distribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;uDAQuD;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;oCAOoC;AACpC,MAAM,WAAW,gBAAgB;IAChC;;iCAE6B;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;wDACoD;IACpD,IAAI,EAAE,kBAAkB,CAAC;CACzB;AAED;;;8BAG8B;AAC9B,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;AAErF;;;;mFAImF;AACnF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/C,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC3B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,WAAW,CAAC;IACnB;;mDAE+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf;+EAC2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;+DAC+D;AAC/D,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;CACvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Manifest shapes for distributable extensions (SPEC-109, SPEC-111, ADR-023).
|
|
2
|
+
*
|
|
3
|
+
* Three things travel through refrakt's shared install surface: themes
|
|
4
|
+
* (`ThemeManifest`, in `./theme`), site templates (`TemplateManifest`,
|
|
5
|
+
* `template.json`), and preset packs (`PresetPackManifest`, `presets.json`).
|
|
6
|
+
* Each declares a `refrakt` compatibility range validated at install
|
|
7
|
+
* (ADR-023). A package may declare several capabilities at once — Lumina is a
|
|
8
|
+
* theme that *also* ships a preset pack — so these are independent manifests,
|
|
9
|
+
* not a single `kind` discriminator (SPEC-111 §1). */
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=distribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;uDAQuD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,7 @@ export type { TransformedPage, PipelineHeadingInfo, EntityRegistration, EntityRe
|
|
|
11
11
|
export type { CliPlugin, CliPluginCommand, McpHandlerContext, JSONSchema7, } from './cli-plugin.js';
|
|
12
12
|
export type { SecurityPolicy, ResolvedSecurityPolicy } from './security.js';
|
|
13
13
|
export { resolveSecurityPolicy } from './security.js';
|
|
14
|
+
export type { TemplateManifest, TemplateSiteConfig, PresetScope, PresetEntry, PresetPackManifest, } from './distribution.js';
|
|
15
|
+
export type { SemverParts, CompatResult } from './compat.js';
|
|
16
|
+
export { parseVersion, satisfiesRange, checkRefraktCompat } from './compat.js';
|
|
14
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,YAAY,EACV,MAAM,EACN,UAAU,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,YAAY,EACX,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,eAAe,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,eAAe,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,YAAY,EACV,MAAM,EACN,UAAU,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,YAAY,EACX,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,eAAe,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,eAAe,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,YAAY,EACX,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0E7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0E7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAatD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/theme.d.ts
CHANGED
|
@@ -84,6 +84,16 @@ export interface SiteConfig {
|
|
|
84
84
|
/** Declarative entity → page routes (SPEC-069). Each rule generates one page
|
|
85
85
|
* per registered entity matching `type` + optional `filter`. */
|
|
86
86
|
entityRoutes?: EntityRoute[];
|
|
87
|
+
/** Whether to render the site-wide search UI — the header search button
|
|
88
|
+
* plus the Cmd/Ctrl+K dialog, powered by Pagefind. Defaults to `true`.
|
|
89
|
+
*
|
|
90
|
+
* Set to `false` to omit the search chrome entirely: the `search` client
|
|
91
|
+
* behavior is never initialized and the trigger button is not rendered in
|
|
92
|
+
* any layout. Leave it enabled (the default) to keep the button; note that
|
|
93
|
+
* results only appear once a Pagefind index has been built and served at
|
|
94
|
+
* `/pagefind/` — see the "Setting up search" guide. Until then the button
|
|
95
|
+
* opens to a graceful "Search is not available." message. */
|
|
96
|
+
search?: boolean;
|
|
87
97
|
/** Syntax highlighting options */
|
|
88
98
|
highlight?: {
|
|
89
99
|
theme?: string | {
|
|
@@ -102,8 +112,14 @@ export interface SiteConfig {
|
|
|
102
112
|
tints?: Record<string, Record<string, unknown>>;
|
|
103
113
|
/** Project-level background presets — merged after theme backgrounds (last wins) */
|
|
104
114
|
backgrounds?: Record<string, Record<string, unknown>>;
|
|
105
|
-
/** Sandbox configuration */
|
|
115
|
+
/** Sandbox configuration. The runtime program-source directory (SPEC-104). */
|
|
106
116
|
sandbox?: {
|
|
117
|
+
/** Directory of sandbox program sources, scanned at build time
|
|
118
|
+
* (ADR-022). Relative to the project root. */
|
|
119
|
+
dir?: string;
|
|
120
|
+
/** @deprecated Renamed to `dir` (ADR-022). Still accepted as input — the
|
|
121
|
+
* config normalizer coalesces it into `dir` and emits a deprecation
|
|
122
|
+
* warning — but will be removed in a future release. */
|
|
107
123
|
examplesDir?: string;
|
|
108
124
|
};
|
|
109
125
|
/** Base URL for canonical links and og:url */
|
|
@@ -183,6 +199,8 @@ export interface RefraktConfig {
|
|
|
183
199
|
overrides?: Record<string, string>;
|
|
184
200
|
/** @deprecated Shorthand for `sites.default.routeRules` */
|
|
185
201
|
routeRules?: RouteRule[];
|
|
202
|
+
/** @deprecated Shorthand for `sites.default.search` */
|
|
203
|
+
search?: boolean;
|
|
186
204
|
/** @deprecated Shorthand for `sites.default.highlight` */
|
|
187
205
|
highlight?: {
|
|
188
206
|
theme?: string | {
|
|
@@ -196,6 +214,8 @@ export interface RefraktConfig {
|
|
|
196
214
|
backgrounds?: Record<string, Record<string, unknown>>;
|
|
197
215
|
/** @deprecated Shorthand for `sites.default.sandbox` */
|
|
198
216
|
sandbox?: {
|
|
217
|
+
dir?: string;
|
|
218
|
+
/** @deprecated Renamed to `dir` (ADR-022). */
|
|
199
219
|
examplesDir?: string;
|
|
200
220
|
};
|
|
201
221
|
/** @deprecated Shorthand for `sites.default.baseUrl` */
|
|
@@ -255,8 +275,12 @@ export interface ThemeManifest {
|
|
|
255
275
|
name: string;
|
|
256
276
|
version: string;
|
|
257
277
|
description?: string;
|
|
258
|
-
/**
|
|
259
|
-
|
|
278
|
+
/** Compatible refrakt range, validated at install (ADR-023). Optional — a
|
|
279
|
+
* missing range is treated as universal/no-constraint. */
|
|
280
|
+
refrakt?: string;
|
|
281
|
+
/** @deprecated Target framework hint (e.g. "svelte"). Documentation-only —
|
|
282
|
+
* adapters do not gate on it (ADR-024). A framework-agnostic theme omits it. */
|
|
283
|
+
target?: string;
|
|
260
284
|
/** Relative path to CSS custom properties file */
|
|
261
285
|
designTokens: string;
|
|
262
286
|
/** Layout definitions keyed by name */
|
package/dist/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;yEAGyE;AACzE,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAEvE;AAED;;;;;;;2DAO2D;AAC3D,MAAM,WAAW,eAAe;IAC/B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;wDAEoD;IACpD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;oFAGgF;IAChF,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC;oEACgE;IAChE,MAAM,CAAC,EAAE,OAAO,qBAAqB,EAAE,iBAAiB,CAAC;IACzD;sCACkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IAC3E,0CAA0C;IAC1C,IAAI,CAAC,EAAE;QACN;;;;;;;yEAOiE;QACjE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;KACxC,CAAC;CACF;AAED;;;;0BAI0B;AAC1B,MAAM,WAAW,WAAW;IAC3B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;gFAEgF;AAChF,MAAM,WAAW,UAAU;IAC1B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB;;uCAEmC;IACnC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;IAChC;;8EAE0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;qEACiE;IACjE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,kCAAkC;IAClC,SAAS,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KACjD,CAAC;IACF,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;kDAG8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|