@refrakt-md/sveltekit 0.15.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +24 -1
- package/dist/plugin.js.map +1 -1
- package/dist/theme-hook.d.ts +15 -0
- package/dist/theme-hook.d.ts.map +1 -0
- package/dist/theme-hook.js +63 -0
- package/dist/theme-hook.js.map +1 -0
- package/package.json +8 -2
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAc,MAAM,MAAM,CAAC;AAI7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAqBvD,wBAAgB,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAc,MAAM,MAAM,CAAC;AAI7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAqBvD,wBAAgB,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,CA6PtE"}
|
package/dist/plugin.js
CHANGED
|
@@ -24,6 +24,7 @@ export function refrakt(options = {}) {
|
|
|
24
24
|
let mergedPackages;
|
|
25
25
|
let contentLoaded = false;
|
|
26
26
|
let activeConfigDir = '';
|
|
27
|
+
let activeRawConfig = null;
|
|
27
28
|
/** Generated CSS for site-level token overrides (presets + theme.tokens +
|
|
28
29
|
* theme.modes), or empty string if no overrides are configured. Computed
|
|
29
30
|
* asynchronously in `buildStart` and consumed by the
|
|
@@ -34,6 +35,7 @@ export function refrakt(options = {}) {
|
|
|
34
35
|
config(_, env) {
|
|
35
36
|
isBuild = env.command === 'build';
|
|
36
37
|
const rawConfig = loadRefraktConfig(configPath);
|
|
38
|
+
activeRawConfig = rawConfig;
|
|
37
39
|
// configDir is the directory containing refrakt.config.json — used by
|
|
38
40
|
// the normalizer to absolutize nested-shape relative paths so adapters
|
|
39
41
|
// see file-relative semantics rather than cwd-relative.
|
|
@@ -131,7 +133,28 @@ export function refrakt(options = {}) {
|
|
|
131
133
|
const sandboxExamplesDir = activeSite.sandbox?.examplesDir
|
|
132
134
|
? resolve(resolvedRoot, activeSite.sandbox.examplesDir)
|
|
133
135
|
: undefined;
|
|
134
|
-
|
|
136
|
+
// Run each plugin's `configure` lifecycle hook before the
|
|
137
|
+
// pipeline runs — mirrors the createRefraktLoader path so
|
|
138
|
+
// plugins that need build-time config (the plan plugin reads
|
|
139
|
+
// `plan.dir` here to drive its unconditional scan) are set up
|
|
140
|
+
// before register sees their entities. Without this, the
|
|
141
|
+
// CSS-analysis pipeline run emits spurious "entity not found"
|
|
142
|
+
// warnings for any reference whose target lives outside the
|
|
143
|
+
// content tree.
|
|
144
|
+
for (const pkg of mergedPackages ?? []) {
|
|
145
|
+
if (pkg.pipeline?.configure) {
|
|
146
|
+
await pkg.pipeline.configure({
|
|
147
|
+
config: activeRawConfig,
|
|
148
|
+
configDir: activeConfigDir,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// `projectRoot` is the directory containing refrakt.config.json
|
|
153
|
+
// (the repo root in most projects), not Vite's project root —
|
|
154
|
+
// the plan plugin and the expand/snippet resolvers all
|
|
155
|
+
// compute their sandbox + sourceFile paths relative to it.
|
|
156
|
+
// This mirrors createRefraktLoader's `projectRoot: configDir`.
|
|
157
|
+
const site = await loadContent(resolve(resolvedRoot, activeSite.contentDir), '/', undefined, communityTags, mergedPackages, sandboxExamplesDir, undefined, options.security, activeConfigDir, undefined, undefined, activeSite, activeSite.repoUrl, activeSite.repoBranch);
|
|
135
158
|
process.stderr.write(formatPipelineSummary(site.pipelineStats, site.pipelineWarnings));
|
|
136
159
|
const report = analyzeRuneUsage(site.pages);
|
|
137
160
|
const themePackage = getThemePackage(activeSite.theme);
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Handle } from '@sveltejs/kit';
|
|
2
|
+
import { type ResolvedTintCascade } from '@refrakt-md/content';
|
|
3
|
+
/** Minimal shape this hook needs from the loaded Site (the real `getSite` from
|
|
4
|
+
* `virtual:refrakt/content` is structurally compatible). */
|
|
5
|
+
interface SiteLike {
|
|
6
|
+
pages: Array<{
|
|
7
|
+
route: {
|
|
8
|
+
url: string;
|
|
9
|
+
};
|
|
10
|
+
tintCascade?: ResolvedTintCascade;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
export declare function createThemeHandle(getSite: () => Promise<SiteLike>): Handle;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=theme-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-hook.d.ts","sourceRoot":"","sources":["../src/theme-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAIN,KAAK,mBAAmB,EACxB,MAAM,qBAAqB,CAAC;AA6B7B;6DAC6D;AAC7D,UAAU,QAAQ;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAuC1E"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { htmlTintAttributes, colorSchemeMetaContent, prePaintScript, } from '@refrakt-md/content';
|
|
2
|
+
/**
|
|
3
|
+
* Server-safe theme SSR plumbing for SvelteKit apps (SPEC-073).
|
|
4
|
+
*
|
|
5
|
+
* Imported from `@refrakt-md/sveltekit/hooks` (this entry deliberately avoids
|
|
6
|
+
* the Vite plugin so it can run in the server runtime). Returns a SvelteKit
|
|
7
|
+
* `Handle` that, per request, looks up the route's tint cascade and splices the
|
|
8
|
+
* no-flash chrome into the response: tint `data-*` attributes on `<html>`, the
|
|
9
|
+
* `color-scheme` meta, and the anti-FOIT pre-paint script — before any
|
|
10
|
+
* stylesheet so the saved theme applies before first paint.
|
|
11
|
+
*
|
|
12
|
+
* Apps wire it in one line instead of hand-rolling the boilerplate:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* // src/hooks.server.ts
|
|
16
|
+
* import { createThemeHandle } from '@refrakt-md/sveltekit/hooks';
|
|
17
|
+
* import { getSite } from '$lib/content';
|
|
18
|
+
* export const handle = createThemeHandle(getSite);
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* Compose with other handles via SvelteKit's `sequence()` when needed.
|
|
22
|
+
*/
|
|
23
|
+
const DEFAULT_CASCADE = {
|
|
24
|
+
tint: null,
|
|
25
|
+
tintMode: 'auto',
|
|
26
|
+
locked: false,
|
|
27
|
+
};
|
|
28
|
+
export function createThemeHandle(getSite) {
|
|
29
|
+
const PRE_PAINT_SCRIPT = prePaintScript();
|
|
30
|
+
/** Resolve a URL's cascade from the loaded Site's pages; a sensible default
|
|
31
|
+
* for URLs that don't match (SvelteKit-internal routes, sitemap, etc.). */
|
|
32
|
+
const cascadeForUrl = async (pathname) => {
|
|
33
|
+
try {
|
|
34
|
+
const site = await getSite();
|
|
35
|
+
const page = site.pages.find((p) => p.route.url === pathname);
|
|
36
|
+
return page?.tintCascade ?? DEFAULT_CASCADE;
|
|
37
|
+
}
|
|
38
|
+
catch (_) {
|
|
39
|
+
// Site load may fail during early bootstrap or in tests — fall back
|
|
40
|
+
// to the safe default rather than crashing the response.
|
|
41
|
+
return DEFAULT_CASCADE;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return async ({ event, resolve }) => {
|
|
45
|
+
const cascade = await cascadeForUrl(event.url.pathname);
|
|
46
|
+
const htmlAttrs = htmlTintAttributes(cascade);
|
|
47
|
+
const metaScheme = colorSchemeMetaContent(cascade);
|
|
48
|
+
return resolve(event, {
|
|
49
|
+
transformPageChunk: ({ html }) => {
|
|
50
|
+
let result = html;
|
|
51
|
+
// Splice the cascade attrs inside the opening <html lang="en"> tag.
|
|
52
|
+
if (htmlAttrs) {
|
|
53
|
+
result = result.replace(/<html lang="en">/, `<html lang="en" ${htmlAttrs}>`);
|
|
54
|
+
}
|
|
55
|
+
// Pre-paint script + color-scheme meta just inside <head>, before
|
|
56
|
+
// any stylesheet, so the saved theme applies before first paint.
|
|
57
|
+
result = result.replace(/<head>/, `<head>\n\t\t<meta name="color-scheme" content="${metaScheme}" />\n\t\t<script>${PRE_PAINT_SCRIPT}</script>`);
|
|
58
|
+
return result;
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=theme-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-hook.js","sourceRoot":"","sources":["../src/theme-hook.ts"],"names":[],"mappings":"AACA,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GAEd,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,eAAe,GAAwB;IAC5C,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,KAAK;CACb,CAAC;AAQF,MAAM,UAAU,iBAAiB,CAAC,OAAgC;IACjE,MAAM,gBAAgB,GAAG,cAAc,EAAE,CAAC;IAE1C;gFAC4E;IAC5E,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAgC,EAAE;QAC9E,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;YAC9D,OAAO,IAAI,EAAE,WAAW,IAAI,eAAe,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,oEAAoE;YACpE,yDAAyD;YACzD,OAAO,eAAe,CAAC;QACxB,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEnD,OAAO,OAAO,CAAC,KAAK,EAAE;YACrB,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBAChC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,oEAAoE;gBACpE,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,mBAAmB,SAAS,GAAG,CAAC,CAAC;gBAC9E,CAAC;gBACD,kEAAkE;gBAClE,iEAAiE;gBACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CACtB,QAAQ,EACR,kDAAkD,UAAU,qBAAqB,gBAAgB,WAAW,CAC5G,CAAC;gBACF,OAAO,MAAM,CAAC;YACf,CAAC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/sveltekit",
|
|
3
3
|
"description": "SvelteKit integration plugin for refrakt.md",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.16.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
"types": "./dist/index.d.ts",
|
|
22
22
|
"default": "./dist/index.js"
|
|
23
23
|
},
|
|
24
|
+
"./hooks": {
|
|
25
|
+
"types": "./dist/theme-hook.d.ts",
|
|
26
|
+
"default": "./dist/theme-hook.js"
|
|
27
|
+
},
|
|
24
28
|
"./virtual": {
|
|
25
29
|
"types": "./virtual.d.ts"
|
|
26
30
|
}
|
|
@@ -33,9 +37,11 @@
|
|
|
33
37
|
"build": "tsc"
|
|
34
38
|
},
|
|
35
39
|
"dependencies": {
|
|
36
|
-
"@refrakt-md/
|
|
40
|
+
"@refrakt-md/content": "0.16.1",
|
|
41
|
+
"@refrakt-md/types": "0.16.1"
|
|
37
42
|
},
|
|
38
43
|
"peerDependencies": {
|
|
44
|
+
"@sveltejs/kit": ">=2.0.0",
|
|
39
45
|
"vite": ">=5.0.0"
|
|
40
46
|
}
|
|
41
47
|
}
|