@stati/core 1.8.0 → 1.10.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/README.md +6 -6
- package/dist/core/build.d.ts.map +1 -1
- package/dist/core/build.js +39 -4
- package/dist/core/dev.d.ts.map +1 -1
- package/dist/core/dev.js +70 -2
- package/dist/core/isg/deps.js +21 -0
- package/dist/core/isg/hash.d.ts +14 -0
- package/dist/core/isg/hash.d.ts.map +1 -1
- package/dist/core/isg/hash.js +32 -1
- package/dist/core/isg/index.d.ts +1 -1
- package/dist/core/isg/index.d.ts.map +1 -1
- package/dist/core/isg/index.js +1 -1
- package/dist/core/isg/manifest.d.ts.map +1 -1
- package/dist/core/isg/manifest.js +7 -1
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/templates.js +43 -8
- package/dist/core/utils/callable-partials.d.ts +60 -0
- package/dist/core/utils/callable-partials.d.ts.map +1 -0
- package/dist/core/utils/callable-partials.js +108 -0
- package/dist/core/utils/index.d.ts +4 -0
- package/dist/core/utils/index.d.ts.map +1 -1
- package/dist/core/utils/index.js +6 -0
- package/dist/core/utils/navigation-helpers.d.ts +124 -0
- package/dist/core/utils/navigation-helpers.d.ts.map +1 -0
- package/dist/core/utils/navigation-helpers.js +219 -0
- package/dist/core/utils/partial-validation.d.ts +5 -2
- package/dist/core/utils/partial-validation.d.ts.map +1 -1
- package/dist/core/utils/partial-validation.js +35 -7
- package/dist/core/utils/server.d.ts +1 -1
- package/dist/core/utils/server.d.ts.map +1 -1
- package/dist/core/utils/server.js +14 -1
- package/dist/core/utils/tailwind-inventory.d.ts +91 -0
- package/dist/core/utils/tailwind-inventory.d.ts.map +1 -0
- package/dist/core/utils/tailwind-inventory.js +228 -0
- package/dist/core/utils/template-utils.d.ts +3 -0
- package/dist/core/utils/template-utils.d.ts.map +1 -1
- package/dist/core/utils/template-utils.js +27 -3
- package/dist/types/content.d.ts +24 -3
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/isg.d.ts +4 -1
- package/dist/types/isg.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tailwind Class Inventory Management
|
|
3
|
+
*
|
|
4
|
+
* Tracks Tailwind classes used in templates (especially dynamic ones) and generates
|
|
5
|
+
* an HTML file that Tailwind can scan during its build process. This ensures that
|
|
6
|
+
* dynamically constructed classes (e.g., `from-${color}-50`) are included in the
|
|
7
|
+
* final CSS output.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Detects if Tailwind CSS is being used in the project by checking for:
|
|
11
|
+
* 1. tailwind.config.js or tailwind.config.ts
|
|
12
|
+
* 2. tailwindcss in package.json dependencies
|
|
13
|
+
*
|
|
14
|
+
* Results are cached to avoid repeated file system checks.
|
|
15
|
+
*
|
|
16
|
+
* @param projectRoot - Root directory of the project (defaults to current working directory)
|
|
17
|
+
* @returns True if Tailwind is detected, false otherwise
|
|
18
|
+
*/
|
|
19
|
+
export declare function isTailwindUsed(projectRoot?: string): Promise<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Resets the Tailwind detection cache.
|
|
22
|
+
* Useful for testing or when project dependencies change.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resetTailwindDetection(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Loads classes from a previous inventory file and seeds the current inventory.
|
|
27
|
+
* This is useful to preserve dynamic classes from previous builds, especially
|
|
28
|
+
* during dev server startup where Tailwind may scan before templates are rendered.
|
|
29
|
+
*
|
|
30
|
+
* @param cacheDir - Directory where the inventory file is located (typically .stati/)
|
|
31
|
+
* @returns Number of classes loaded from the previous inventory
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadPreviousInventory(cacheDir: string): Promise<number>;
|
|
34
|
+
/**
|
|
35
|
+
* Tracks a Tailwind class in the inventory.
|
|
36
|
+
* Only tracks if inventory tracking is enabled.
|
|
37
|
+
*
|
|
38
|
+
* @param className - The class name to track
|
|
39
|
+
*/
|
|
40
|
+
export declare function trackTailwindClass(className: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Enables inventory tracking for the current build/dev session.
|
|
43
|
+
* Should be called at the start of build or dev server.
|
|
44
|
+
*/
|
|
45
|
+
export declare function enableInventoryTracking(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Disables inventory tracking.
|
|
48
|
+
* Should be called after build completes or when stopping dev server.
|
|
49
|
+
*/
|
|
50
|
+
export declare function disableInventoryTracking(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Clears the inventory.
|
|
53
|
+
* Should be called at the start of each full build to ensure fresh tracking.
|
|
54
|
+
*/
|
|
55
|
+
export declare function clearInventory(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Gets the current inventory as an array.
|
|
58
|
+
* Useful for testing and debugging.
|
|
59
|
+
*
|
|
60
|
+
* @returns Array of tracked class names
|
|
61
|
+
*/
|
|
62
|
+
export declare function getInventory(): string[];
|
|
63
|
+
/**
|
|
64
|
+
* Gets the count of tracked classes.
|
|
65
|
+
*
|
|
66
|
+
* @returns Number of classes in the inventory
|
|
67
|
+
*/
|
|
68
|
+
export declare function getInventorySize(): number;
|
|
69
|
+
/**
|
|
70
|
+
* Checks if inventory tracking is currently enabled.
|
|
71
|
+
*
|
|
72
|
+
* @returns True if tracking is enabled
|
|
73
|
+
*/
|
|
74
|
+
export declare function isTrackingEnabled(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Writes the Tailwind class inventory to an HTML file that Tailwind can scan.
|
|
77
|
+
*
|
|
78
|
+
* The generated file contains all tracked classes in a hidden div.
|
|
79
|
+
* This file should be added to Tailwind's content configuration.
|
|
80
|
+
*
|
|
81
|
+
* @param cacheDir - Directory where the inventory file should be written (typically .stati/)
|
|
82
|
+
* @returns Path to the generated inventory file
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const inventoryPath = await writeTailwindClassInventory('/path/to/project/.stati');
|
|
87
|
+
* // File written to: /path/to/project/.stati/tailwind-classes.html
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function writeTailwindClassInventory(cacheDir: string): Promise<string>;
|
|
91
|
+
//# sourceMappingURL=tailwind-inventory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tailwind-inventory.d.ts","sourceRoot":"","sources":["../../../src/core/utils/tailwind-inventory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4C1F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC7E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6CnF"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tailwind Class Inventory Management
|
|
3
|
+
*
|
|
4
|
+
* Tracks Tailwind classes used in templates (especially dynamic ones) and generates
|
|
5
|
+
* an HTML file that Tailwind can scan during its build process. This ensures that
|
|
6
|
+
* dynamically constructed classes (e.g., `from-${color}-50`) are included in the
|
|
7
|
+
* final CSS output.
|
|
8
|
+
*/
|
|
9
|
+
import { writeFile, ensureDir, pathExists, readFile } from './fs.js';
|
|
10
|
+
import { join } from 'path';
|
|
11
|
+
/**
|
|
12
|
+
* Module-level Set to track Tailwind classes across template renders.
|
|
13
|
+
* Cleared at the start of each full build.
|
|
14
|
+
*/
|
|
15
|
+
const tailwindClassInventory = new Set();
|
|
16
|
+
/**
|
|
17
|
+
* Flag to track if inventory tracking is enabled.
|
|
18
|
+
* Only enabled during build/dev, not during production rendering.
|
|
19
|
+
*/
|
|
20
|
+
let inventoryTrackingEnabled = false;
|
|
21
|
+
/**
|
|
22
|
+
* Cached result of Tailwind detection to avoid repeated file system checks.
|
|
23
|
+
*/
|
|
24
|
+
let tailwindDetected = null;
|
|
25
|
+
/**
|
|
26
|
+
* Detects if Tailwind CSS is being used in the project by checking for:
|
|
27
|
+
* 1. tailwind.config.js or tailwind.config.ts
|
|
28
|
+
* 2. tailwindcss in package.json dependencies
|
|
29
|
+
*
|
|
30
|
+
* Results are cached to avoid repeated file system checks.
|
|
31
|
+
*
|
|
32
|
+
* @param projectRoot - Root directory of the project (defaults to current working directory)
|
|
33
|
+
* @returns True if Tailwind is detected, false otherwise
|
|
34
|
+
*/
|
|
35
|
+
export async function isTailwindUsed(projectRoot = process.cwd()) {
|
|
36
|
+
// Return cached result if available
|
|
37
|
+
if (tailwindDetected !== null) {
|
|
38
|
+
return tailwindDetected;
|
|
39
|
+
}
|
|
40
|
+
// Check for tailwind.config.js or tailwind.config.ts
|
|
41
|
+
const configExists = (await pathExists(join(projectRoot, 'tailwind.config.js'))) ||
|
|
42
|
+
(await pathExists(join(projectRoot, 'tailwind.config.ts'))) ||
|
|
43
|
+
(await pathExists(join(projectRoot, 'tailwind.config.mjs'))) ||
|
|
44
|
+
(await pathExists(join(projectRoot, 'tailwind.config.cjs')));
|
|
45
|
+
if (configExists) {
|
|
46
|
+
tailwindDetected = true;
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
// Check package.json for tailwindcss dependency
|
|
50
|
+
try {
|
|
51
|
+
const packageJsonPath = join(projectRoot, 'package.json');
|
|
52
|
+
if (await pathExists(packageJsonPath)) {
|
|
53
|
+
const content = await readFile(packageJsonPath, 'utf-8');
|
|
54
|
+
if (!content) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
const packageJson = JSON.parse(content);
|
|
58
|
+
const deps = {
|
|
59
|
+
...packageJson.dependencies,
|
|
60
|
+
...packageJson.devDependencies,
|
|
61
|
+
};
|
|
62
|
+
if (deps.tailwindcss) {
|
|
63
|
+
tailwindDetected = true;
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Ignore errors reading package.json
|
|
70
|
+
}
|
|
71
|
+
tailwindDetected = false;
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Resets the Tailwind detection cache.
|
|
76
|
+
* Useful for testing or when project dependencies change.
|
|
77
|
+
*/
|
|
78
|
+
export function resetTailwindDetection() {
|
|
79
|
+
tailwindDetected = null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Loads classes from a previous inventory file and seeds the current inventory.
|
|
83
|
+
* This is useful to preserve dynamic classes from previous builds, especially
|
|
84
|
+
* during dev server startup where Tailwind may scan before templates are rendered.
|
|
85
|
+
*
|
|
86
|
+
* @param cacheDir - Directory where the inventory file is located (typically .stati/)
|
|
87
|
+
* @returns Number of classes loaded from the previous inventory
|
|
88
|
+
*/
|
|
89
|
+
export async function loadPreviousInventory(cacheDir) {
|
|
90
|
+
const inventoryPath = join(cacheDir, 'tailwind-classes.html');
|
|
91
|
+
if (!(await pathExists(inventoryPath))) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
const content = await readFile(inventoryPath, 'utf-8');
|
|
96
|
+
if (!content) {
|
|
97
|
+
return 0;
|
|
98
|
+
}
|
|
99
|
+
// Extract classes from the div's class attribute
|
|
100
|
+
// Looking for: <div class="class1 class2 class3"></div>
|
|
101
|
+
const classMatch = content.match(/<div class="([^"]+)"><\/div>/);
|
|
102
|
+
if (!classMatch || !classMatch[1]) {
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
const classes = classMatch[1].split(/\s+/).filter(Boolean);
|
|
106
|
+
// Track each class from the previous inventory
|
|
107
|
+
for (const className of classes) {
|
|
108
|
+
trackTailwindClass(className);
|
|
109
|
+
}
|
|
110
|
+
return classes.length;
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// If we can't read or parse the file, just return 0
|
|
114
|
+
return 0;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Tracks a Tailwind class in the inventory.
|
|
119
|
+
* Only tracks if inventory tracking is enabled.
|
|
120
|
+
*
|
|
121
|
+
* @param className - The class name to track
|
|
122
|
+
*/
|
|
123
|
+
export function trackTailwindClass(className) {
|
|
124
|
+
if (inventoryTrackingEnabled && className) {
|
|
125
|
+
tailwindClassInventory.add(className);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Enables inventory tracking for the current build/dev session.
|
|
130
|
+
* Should be called at the start of build or dev server.
|
|
131
|
+
*/
|
|
132
|
+
export function enableInventoryTracking() {
|
|
133
|
+
inventoryTrackingEnabled = true;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Disables inventory tracking.
|
|
137
|
+
* Should be called after build completes or when stopping dev server.
|
|
138
|
+
*/
|
|
139
|
+
export function disableInventoryTracking() {
|
|
140
|
+
inventoryTrackingEnabled = false;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Clears the inventory.
|
|
144
|
+
* Should be called at the start of each full build to ensure fresh tracking.
|
|
145
|
+
*/
|
|
146
|
+
export function clearInventory() {
|
|
147
|
+
tailwindClassInventory.clear();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Gets the current inventory as an array.
|
|
151
|
+
* Useful for testing and debugging.
|
|
152
|
+
*
|
|
153
|
+
* @returns Array of tracked class names
|
|
154
|
+
*/
|
|
155
|
+
export function getInventory() {
|
|
156
|
+
return Array.from(tailwindClassInventory).sort();
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Gets the count of tracked classes.
|
|
160
|
+
*
|
|
161
|
+
* @returns Number of classes in the inventory
|
|
162
|
+
*/
|
|
163
|
+
export function getInventorySize() {
|
|
164
|
+
return tailwindClassInventory.size;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Checks if inventory tracking is currently enabled.
|
|
168
|
+
*
|
|
169
|
+
* @returns True if tracking is enabled
|
|
170
|
+
*/
|
|
171
|
+
export function isTrackingEnabled() {
|
|
172
|
+
return inventoryTrackingEnabled;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Writes the Tailwind class inventory to an HTML file that Tailwind can scan.
|
|
176
|
+
*
|
|
177
|
+
* The generated file contains all tracked classes in a hidden div.
|
|
178
|
+
* This file should be added to Tailwind's content configuration.
|
|
179
|
+
*
|
|
180
|
+
* @param cacheDir - Directory where the inventory file should be written (typically .stati/)
|
|
181
|
+
* @returns Path to the generated inventory file
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* const inventoryPath = await writeTailwindClassInventory('/path/to/project/.stati');
|
|
186
|
+
* // File written to: /path/to/project/.stati/tailwind-classes.html
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export async function writeTailwindClassInventory(cacheDir) {
|
|
190
|
+
await ensureDir(cacheDir);
|
|
191
|
+
const inventoryPath = join(cacheDir, 'tailwind-classes.html');
|
|
192
|
+
const classes = getInventory();
|
|
193
|
+
// Generate HTML with all tracked classes
|
|
194
|
+
// Using hidden div so it's scanned by Tailwind but not rendered
|
|
195
|
+
const html = `<!--
|
|
196
|
+
Auto-generated by Stati - DO NOT EDIT
|
|
197
|
+
|
|
198
|
+
This file contains dynamically-generated Tailwind classes extracted from your templates.
|
|
199
|
+
It ensures that Tailwind's JIT compiler generates CSS for classes built with template
|
|
200
|
+
variables (e.g., from-\${color}-50).
|
|
201
|
+
|
|
202
|
+
Add this file to your tailwind.config.js content array:
|
|
203
|
+
content: [
|
|
204
|
+
'./site/**/*.{md,eta,html}',
|
|
205
|
+
'./.stati/tailwind-classes.html'
|
|
206
|
+
]
|
|
207
|
+
|
|
208
|
+
Generated: ${new Date().toISOString()}
|
|
209
|
+
Classes tracked: ${classes.length}
|
|
210
|
+
-->
|
|
211
|
+
<!DOCTYPE html>
|
|
212
|
+
<html>
|
|
213
|
+
<head>
|
|
214
|
+
<meta charset="UTF-8">
|
|
215
|
+
<title>Stati Tailwind Class Inventory</title>
|
|
216
|
+
</head>
|
|
217
|
+
<body>
|
|
218
|
+
<div class="hidden">
|
|
219
|
+
${classes.length > 0
|
|
220
|
+
? `<div class="${classes.join(' ')}"></div>`
|
|
221
|
+
: '<!-- No dynamic classes tracked yet -->'}
|
|
222
|
+
</div>
|
|
223
|
+
</body>
|
|
224
|
+
</html>
|
|
225
|
+
`;
|
|
226
|
+
await writeFile(inventoryPath, html, 'utf-8');
|
|
227
|
+
return inventoryPath;
|
|
228
|
+
}
|
|
@@ -6,6 +6,9 @@ type PropValueArg = string | number | boolean | null | undefined | Record<string
|
|
|
6
6
|
* Builds a property value from various inputs, similar to classnames but for any property.
|
|
7
7
|
* Accepts strings, arrays, and objects. Filters out falsy values.
|
|
8
8
|
*
|
|
9
|
+
* Also tracks Tailwind classes for the class inventory when inventory tracking is enabled.
|
|
10
|
+
* This ensures dynamically-generated Tailwind classes are included in the CSS build.
|
|
11
|
+
*
|
|
9
12
|
* @param args - Values to combine
|
|
10
13
|
* @returns Combined property value string
|
|
11
14
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/template-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"template-utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/template-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,KAAK,YAAY,GACb,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAC5D,YAAY,EAAE,CAAC;AAEnB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CA8CzD"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Utility functions for Eta templates
|
|
3
3
|
*/
|
|
4
|
+
import { trackTailwindClass } from './tailwind-inventory.js';
|
|
4
5
|
/**
|
|
5
6
|
* Builds a property value from various inputs, similar to classnames but for any property.
|
|
6
7
|
* Accepts strings, arrays, and objects. Filters out falsy values.
|
|
7
8
|
*
|
|
9
|
+
* Also tracks Tailwind classes for the class inventory when inventory tracking is enabled.
|
|
10
|
+
* This ensures dynamically-generated Tailwind classes are included in the CSS build.
|
|
11
|
+
*
|
|
8
12
|
* @param args - Values to combine
|
|
9
13
|
* @returns Combined property value string
|
|
10
14
|
*
|
|
@@ -20,17 +24,37 @@ export function propValue(...args) {
|
|
|
20
24
|
if (!arg)
|
|
21
25
|
continue;
|
|
22
26
|
if (typeof arg === 'string' || typeof arg === 'number') {
|
|
23
|
-
|
|
27
|
+
const classStr = String(arg);
|
|
28
|
+
classes.push(classStr);
|
|
29
|
+
// Track ALL classes for Tailwind inventory
|
|
30
|
+
// Split space-separated classes and track each one individually
|
|
31
|
+
const individualClasses = classStr.split(/\s+/).filter(Boolean);
|
|
32
|
+
for (const cls of individualClasses) {
|
|
33
|
+
trackTailwindClass(cls);
|
|
34
|
+
}
|
|
24
35
|
}
|
|
25
36
|
else if (Array.isArray(arg)) {
|
|
26
|
-
|
|
37
|
+
const arrayClasses = arg
|
|
27
38
|
.filter((item) => item && (typeof item === 'string' || typeof item === 'number'))
|
|
28
|
-
.map(String)
|
|
39
|
+
.map(String);
|
|
40
|
+
classes.push(...arrayClasses);
|
|
41
|
+
// Track each class for Tailwind inventory
|
|
42
|
+
for (const classStr of arrayClasses) {
|
|
43
|
+
const individualClasses = classStr.split(/\s+/).filter(Boolean);
|
|
44
|
+
for (const cls of individualClasses) {
|
|
45
|
+
trackTailwindClass(cls);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
29
48
|
}
|
|
30
49
|
else if (typeof arg === 'object') {
|
|
31
50
|
for (const [key, value] of Object.entries(arg)) {
|
|
32
51
|
if (value) {
|
|
33
52
|
classes.push(key);
|
|
53
|
+
// Track for Tailwind inventory
|
|
54
|
+
const individualClasses = key.split(/\s+/).filter(Boolean);
|
|
55
|
+
for (const cls of individualClasses) {
|
|
56
|
+
trackTailwindClass(cls);
|
|
57
|
+
}
|
|
34
58
|
}
|
|
35
59
|
}
|
|
36
60
|
}
|
package/dist/types/content.d.ts
CHANGED
|
@@ -288,16 +288,37 @@ export interface TemplateContext {
|
|
|
288
288
|
/** Current page data including frontmatter and content */
|
|
289
289
|
page: {
|
|
290
290
|
path: string;
|
|
291
|
+
url: string;
|
|
291
292
|
content: string;
|
|
293
|
+
navNode?: import('./navigation.js').NavNode;
|
|
292
294
|
[key: string]: unknown;
|
|
293
295
|
};
|
|
294
296
|
/** Rendered markdown content */
|
|
295
297
|
content: string;
|
|
296
|
-
/**
|
|
297
|
-
|
|
298
|
+
/** Navigation helpers and tree */
|
|
299
|
+
nav: {
|
|
300
|
+
/** The full navigation tree */
|
|
301
|
+
tree: import('./navigation.js').NavNode[];
|
|
302
|
+
/** Gets the full navigation tree */
|
|
303
|
+
getTree: () => import('./navigation.js').NavNode[];
|
|
304
|
+
/** Finds a navigation node by path or URL */
|
|
305
|
+
findNode: (path: string) => import('./navigation.js').NavNode | undefined;
|
|
306
|
+
/** Gets the children of a navigation node */
|
|
307
|
+
getChildren: (path: string) => import('./navigation.js').NavNode[];
|
|
308
|
+
/** Gets the parent of a navigation node */
|
|
309
|
+
getParent: (path?: string) => import('./navigation.js').NavNode | undefined;
|
|
310
|
+
/** Gets the siblings of a navigation node */
|
|
311
|
+
getSiblings: (path?: string, includeSelf?: boolean) => import('./navigation.js').NavNode[];
|
|
312
|
+
/** Gets a subtree starting from a specific path */
|
|
313
|
+
getSubtree: (path: string) => import('./navigation.js').NavNode[];
|
|
314
|
+
/** Gets the breadcrumb trail for a path */
|
|
315
|
+
getBreadcrumbs: (path?: string) => import('./navigation.js').NavNode[];
|
|
316
|
+
/** Gets the current page's navigation node */
|
|
317
|
+
getCurrentNode: () => import('./navigation.js').NavNode | undefined;
|
|
318
|
+
};
|
|
298
319
|
/** Discovered partials from underscore folders in hierarchy */
|
|
299
320
|
partials: Record<string, string>;
|
|
300
|
-
/** Collection data
|
|
321
|
+
/** Collection data (available on index pages and child pages showing parent collection) */
|
|
301
322
|
collection?: CollectionData;
|
|
302
323
|
/** Additional properties that may be added dynamically (e.g., custom filters, helpers) */
|
|
303
324
|
[key: string]: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,yCAAyC;IACzC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,mCAAmC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,+BAA+B;IAC/B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iCAAiC;IACjC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;CACxF;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACvF,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IAChD,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAChC,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,CAAC,EAAE,SAAS,GAAG,qBAAqB,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5D,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,6DAA6D;IAC7D,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,0BAA0B;IAC1B,QAAQ,EAAE;QACR,0CAA0C;QAC1C,UAAU,EAAE,MAAM,CAAC;QACnB,yCAAyC;QACzC,WAAW,EAAE,OAAO,CAAC;QACrB,6BAA6B;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,iDAAiD;QACjD,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,IAAI,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC;IACvC,oEAAoE;IACpE,MAAM,EAAE,OAAO,aAAa,EAAE,WAAW,CAAC;IAC1C,0DAA0D;IAC1D,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"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"}
|
package/dist/types/isg.d.ts
CHANGED
|
@@ -92,12 +92,15 @@ export interface CacheEntry {
|
|
|
92
92
|
* entries: {
|
|
93
93
|
* '/blog/post-1': { ... },
|
|
94
94
|
* '/about': { ... }
|
|
95
|
-
* }
|
|
95
|
+
* },
|
|
96
|
+
* navigationHash: 'sha256-abc123...'
|
|
96
97
|
* };
|
|
97
98
|
* ```
|
|
98
99
|
*/
|
|
99
100
|
export interface CacheManifest {
|
|
100
101
|
/** Map of page URLs to their cache entries */
|
|
101
102
|
entries: Record<string, CacheEntry>;
|
|
103
|
+
/** Hash of the navigation tree structure (title, url, order, children) */
|
|
104
|
+
navigationHash?: string;
|
|
102
105
|
}
|
|
103
106
|
//# sourceMappingURL=isg.d.ts.map
|
package/dist/types/isg.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isg.d.ts","sourceRoot":"","sources":["../../src/types/isg.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED
|
|
1
|
+
{"version":3,"file":"isg.d.ts","sourceRoot":"","sources":["../../src/types/isg.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|