specweave 0.8.3 → 0.8.4
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/.claude-plugin/marketplace.json +11 -0
- package/dist/adapters/adapter-loader.d.ts +4 -4
- package/dist/adapters/adapter-loader.d.ts.map +1 -1
- package/dist/adapters/adapter-loader.js +8 -7
- package/dist/adapters/adapter-loader.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +7 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/utils/docs-preview/config-generator.d.ts +46 -0
- package/dist/utils/docs-preview/config-generator.d.ts.map +1 -0
- package/dist/utils/docs-preview/config-generator.js +377 -0
- package/dist/utils/docs-preview/config-generator.js.map +1 -0
- package/dist/utils/docs-preview/docusaurus-setup.d.ts +38 -0
- package/dist/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
- package/dist/utils/docs-preview/docusaurus-setup.js +177 -0
- package/dist/utils/docs-preview/docusaurus-setup.js.map +1 -0
- package/dist/utils/docs-preview/index.d.ts +11 -0
- package/dist/utils/docs-preview/index.d.ts.map +1 -0
- package/dist/utils/docs-preview/index.js +17 -0
- package/dist/utils/docs-preview/index.js.map +1 -0
- package/dist/utils/docs-preview/package-installer.d.ts +42 -0
- package/dist/utils/docs-preview/package-installer.d.ts.map +1 -0
- package/dist/utils/docs-preview/package-installer.js +182 -0
- package/dist/utils/docs-preview/package-installer.js.map +1 -0
- package/dist/utils/docs-preview/server-manager.d.ts +30 -0
- package/dist/utils/docs-preview/server-manager.d.ts.map +1 -0
- package/dist/utils/docs-preview/server-manager.js +207 -0
- package/dist/utils/docs-preview/server-manager.js.map +1 -0
- package/dist/utils/docs-preview/sidebar-builder.d.ts +31 -0
- package/dist/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
- package/dist/utils/docs-preview/sidebar-builder.js +202 -0
- package/dist/utils/docs-preview/sidebar-builder.js.map +1 -0
- package/dist/utils/docs-preview/types.d.ts +60 -0
- package/dist/utils/docs-preview/types.d.ts.map +1 -0
- package/dist/utils/docs-preview/types.js +5 -0
- package/dist/utils/docs-preview/types.js.map +1 -0
- package/dist/utils/docs-preview.bak/config-generator.d.ts +46 -0
- package/dist/utils/docs-preview.bak/config-generator.d.ts.map +1 -0
- package/dist/utils/docs-preview.bak/config-generator.js +377 -0
- package/dist/utils/docs-preview.bak/config-generator.js.map +1 -0
- package/dist/utils/docs-preview.bak/package-installer.d.ts +42 -0
- package/dist/utils/docs-preview.bak/package-installer.d.ts.map +1 -0
- package/dist/utils/docs-preview.bak/package-installer.js +182 -0
- package/dist/utils/docs-preview.bak/package-installer.js.map +1 -0
- package/dist/utils/docs-preview.bak/server-manager.d.ts +30 -0
- package/dist/utils/docs-preview.bak/server-manager.d.ts.map +1 -0
- package/dist/utils/docs-preview.bak/server-manager.js +207 -0
- package/dist/utils/docs-preview.bak/server-manager.js.map +1 -0
- package/dist/utils/docs-preview.bak/sidebar-builder.d.ts +31 -0
- package/dist/utils/docs-preview.bak/sidebar-builder.d.ts.map +1 -0
- package/dist/utils/docs-preview.bak/sidebar-builder.js +202 -0
- package/dist/utils/docs-preview.bak/sidebar-builder.js.map +1 -0
- package/dist/utils/docs-preview.bak/types.d.ts +60 -0
- package/dist/utils/docs-preview.bak/types.d.ts.map +1 -0
- package/dist/utils/docs-preview.bak/types.js +5 -0
- package/dist/utils/docs-preview.bak/types.js.map +1 -0
- package/package.json +1 -1
- package/dist/cli/commands/plugin.js +0 -322
- package/dist/cli/commands/plugin.js.map +0 -1
- package/dist/core/plugin-detector.d.ts +0 -97
- package/dist/core/plugin-detector.d.ts.map +0 -1
- package/dist/core/plugin-detector.js +0 -374
- package/dist/core/plugin-detector.js.map +0 -1
- package/dist/core/plugin-manager.d.ts +0 -144
- package/dist/core/plugin-manager.d.ts.map +0 -1
- package/dist/core/plugin-manager.js +0 -393
- package/dist/core/plugin-manager.js.map +0 -1
- package/dist/utils/plugin-detection.js +0 -229
- package/dist/utils/plugin-detection.js.map +0 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sidebar builder for Docusaurus
|
|
3
|
+
* Automatically generates sidebar.js from .specweave/docs/ folder structure
|
|
4
|
+
*/
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import * as fs from 'fs-extra';
|
|
7
|
+
/**
|
|
8
|
+
* Priority order for top-level folders
|
|
9
|
+
* Lower number = appears first in sidebar
|
|
10
|
+
*/
|
|
11
|
+
const FOLDER_PRIORITY = {
|
|
12
|
+
strategy: 1,
|
|
13
|
+
specs: 2,
|
|
14
|
+
architecture: 3,
|
|
15
|
+
delivery: 4,
|
|
16
|
+
operations: 5,
|
|
17
|
+
governance: 6,
|
|
18
|
+
projects: 7 // Multi-project support
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Default folders to exclude from sidebar
|
|
22
|
+
*/
|
|
23
|
+
const DEFAULT_EXCLUDE_FOLDERS = [
|
|
24
|
+
'node_modules',
|
|
25
|
+
'.git',
|
|
26
|
+
'.DS_Store',
|
|
27
|
+
'legacy' // Brownfield imports (temporary, not for display)
|
|
28
|
+
];
|
|
29
|
+
/**
|
|
30
|
+
* Build sidebar from folder structure
|
|
31
|
+
*/
|
|
32
|
+
export async function buildSidebar(options) {
|
|
33
|
+
const { docsPath, excludeFolders = DEFAULT_EXCLUDE_FOLDERS, maxDepth = 5 } = options;
|
|
34
|
+
// Check if docs path exists
|
|
35
|
+
if (!await fs.pathExists(docsPath)) {
|
|
36
|
+
throw new Error(`Documentation path does not exist: ${docsPath}`);
|
|
37
|
+
}
|
|
38
|
+
// Scan folders and build sidebar items
|
|
39
|
+
const items = await scanFolder(docsPath, docsPath, excludeFolders, 0, maxDepth);
|
|
40
|
+
// Sort by priority (strategy first, governance last)
|
|
41
|
+
const sortedItems = sortByPriority(items);
|
|
42
|
+
return {
|
|
43
|
+
docs: sortedItems
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Scan folder recursively and build sidebar items
|
|
48
|
+
*/
|
|
49
|
+
async function scanFolder(basePath, currentPath, excludeFolders, depth, maxDepth) {
|
|
50
|
+
if (depth >= maxDepth) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
const items = [];
|
|
54
|
+
try {
|
|
55
|
+
const entries = await fs.readdir(currentPath, { withFileTypes: true });
|
|
56
|
+
// Separate folders and files
|
|
57
|
+
const folders = entries.filter(e => e.isDirectory() && !excludeFolders.includes(e.name));
|
|
58
|
+
const files = entries.filter(e => e.isFile() && e.name.endsWith('.md'));
|
|
59
|
+
// Process folders first (categories)
|
|
60
|
+
for (const folder of folders) {
|
|
61
|
+
const folderPath = path.join(currentPath, folder.name);
|
|
62
|
+
const childItems = await scanFolder(basePath, folderPath, excludeFolders, depth + 1, maxDepth);
|
|
63
|
+
if (childItems.length > 0) {
|
|
64
|
+
items.push({
|
|
65
|
+
type: 'category',
|
|
66
|
+
label: formatLabel(folder.name),
|
|
67
|
+
items: childItems
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Process markdown files (docs)
|
|
72
|
+
for (const file of files) {
|
|
73
|
+
const relativePath = path.relative(basePath, path.join(currentPath, file.name));
|
|
74
|
+
const docId = relativePath.replace(/\.md$/, '').replace(/\\/g, '/');
|
|
75
|
+
items.push({
|
|
76
|
+
type: 'doc',
|
|
77
|
+
id: docId
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return items;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error(`Error scanning folder ${currentPath}:`, error);
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Sort sidebar items by priority
|
|
89
|
+
*/
|
|
90
|
+
function sortByPriority(items) {
|
|
91
|
+
return items.sort((a, b) => {
|
|
92
|
+
// Extract folder name from label
|
|
93
|
+
const aFolder = a.label?.toLowerCase().replace(/\s+/g, '-') || '';
|
|
94
|
+
const bFolder = b.label?.toLowerCase().replace(/\s+/g, '-') || '';
|
|
95
|
+
// Get priorities (default to 999 if not found)
|
|
96
|
+
const aPriority = FOLDER_PRIORITY[aFolder] || 999;
|
|
97
|
+
const bPriority = FOLDER_PRIORITY[bFolder] || 999;
|
|
98
|
+
// Sort by priority
|
|
99
|
+
if (aPriority !== bPriority) {
|
|
100
|
+
return aPriority - bPriority;
|
|
101
|
+
}
|
|
102
|
+
// If same priority, sort alphabetically
|
|
103
|
+
return aFolder.localeCompare(bFolder);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Format folder name to human-readable label
|
|
108
|
+
* Examples:
|
|
109
|
+
* - "strategy" → "Strategy"
|
|
110
|
+
* - "architecture" → "Architecture"
|
|
111
|
+
* - "adr" → "ADRs"
|
|
112
|
+
* - "my-feature-spec" → "My Feature Spec"
|
|
113
|
+
*/
|
|
114
|
+
function formatLabel(folderName) {
|
|
115
|
+
// Special cases
|
|
116
|
+
const specialCases = {
|
|
117
|
+
adr: 'ADRs',
|
|
118
|
+
adrs: 'ADRs',
|
|
119
|
+
hld: 'HLD',
|
|
120
|
+
lld: 'LLD',
|
|
121
|
+
prd: 'PRDs',
|
|
122
|
+
okr: 'OKRs',
|
|
123
|
+
api: 'API',
|
|
124
|
+
cli: 'CLI',
|
|
125
|
+
ui: 'UI',
|
|
126
|
+
ux: 'UX',
|
|
127
|
+
sre: 'SRE',
|
|
128
|
+
devops: 'DevOps',
|
|
129
|
+
mlops: 'MLOps',
|
|
130
|
+
k8s: 'Kubernetes'
|
|
131
|
+
};
|
|
132
|
+
const normalized = folderName.toLowerCase();
|
|
133
|
+
if (specialCases[normalized]) {
|
|
134
|
+
return specialCases[normalized];
|
|
135
|
+
}
|
|
136
|
+
// Convert kebab-case or snake_case to Title Case
|
|
137
|
+
return folderName
|
|
138
|
+
.replace(/[-_]/g, ' ')
|
|
139
|
+
.split(' ')
|
|
140
|
+
.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
141
|
+
.join(' ');
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Generate sidebars.js content as string
|
|
145
|
+
*/
|
|
146
|
+
export function generateSidebarsJS(sidebar) {
|
|
147
|
+
return `/**
|
|
148
|
+
* Auto-generated sidebar for SpecWeave documentation
|
|
149
|
+
* Generated: ${new Date().toISOString()}
|
|
150
|
+
*
|
|
151
|
+
* DO NOT EDIT THIS FILE MANUALLY
|
|
152
|
+
* Regenerate with: /specweave:docs preview
|
|
153
|
+
*/
|
|
154
|
+
|
|
155
|
+
module.exports = ${JSON.stringify(sidebar, null, 2)};
|
|
156
|
+
`;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Write sidebar to file
|
|
160
|
+
*/
|
|
161
|
+
export async function writeSidebar(filePath, sidebar) {
|
|
162
|
+
const content = generateSidebarsJS(sidebar);
|
|
163
|
+
await fs.ensureDir(path.dirname(filePath));
|
|
164
|
+
await fs.writeFile(filePath, content, 'utf-8');
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Count total documents in sidebar
|
|
168
|
+
*/
|
|
169
|
+
export function countDocuments(sidebar) {
|
|
170
|
+
let count = 0;
|
|
171
|
+
function traverse(items) {
|
|
172
|
+
for (const item of items) {
|
|
173
|
+
if (item.type === 'doc') {
|
|
174
|
+
count++;
|
|
175
|
+
}
|
|
176
|
+
else if (item.type === 'category' && item.items) {
|
|
177
|
+
traverse(item.items);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
traverse(sidebar.docs);
|
|
182
|
+
return count;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Count total categories in sidebar
|
|
186
|
+
*/
|
|
187
|
+
export function countCategories(sidebar) {
|
|
188
|
+
let count = 0;
|
|
189
|
+
function traverse(items) {
|
|
190
|
+
for (const item of items) {
|
|
191
|
+
if (item.type === 'category') {
|
|
192
|
+
count++;
|
|
193
|
+
if (item.items) {
|
|
194
|
+
traverse(item.items);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
traverse(sidebar.docs);
|
|
200
|
+
return count;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=sidebar-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-builder.js","sourceRoot":"","sources":["../../../src/utils/docs-preview/sidebar-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAG/B;;;GAGG;AACH,MAAM,eAAe,GAA2B;IAC9C,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC,CAAC,wBAAwB;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAG;IAC9B,cAAc;IACd,MAAM;IACN,WAAW;IACX,QAAQ,CAAC,kDAAkD;CAC5D,CAAC;AAQF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA8B;IAC/D,MAAM,EACJ,QAAQ,EACR,cAAc,GAAG,uBAAuB,EACxC,QAAQ,GAAG,CAAC,EACb,GAAG,OAAO,CAAC;IAEZ,4BAA4B;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,uCAAuC;IACvC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEhF,qDAAqD;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,QAAgB,EAChB,WAAmB,EACnB,cAAwB,EACxB,KAAa,EACb,QAAgB;IAEhB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvE,6BAA6B;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAExE,qCAAqC;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YAE/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC/B,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEpE,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,KAAK;aACV,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAoB;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,iCAAiC;QACjC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAElE,+CAA+C;QAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;QAClD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;QAElD,mBAAmB;QACnB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,wCAAwC;QACxC,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,UAAkB;IACrC,gBAAgB;IAChB,MAAM,YAAY,GAA2B;QAC3C,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,YAAY;KAClB,CAAC;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,iDAAiD;IACjD,OAAO,UAAU;SACd,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACvE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO;;gBAEO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;mBAMrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;CAClD,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,OAAgB;IACnE,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,SAAS,QAAQ,CAAC,KAAoB;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACxB,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,SAAS,QAAQ,CAAC,KAAoB;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7B,KAAK,EAAE,CAAC;gBACR,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for documentation preview functionality
|
|
3
|
+
*/
|
|
4
|
+
export interface DocusaurusConfig {
|
|
5
|
+
title: string;
|
|
6
|
+
tagline: string;
|
|
7
|
+
url: string;
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
docsPath: string;
|
|
10
|
+
port?: number;
|
|
11
|
+
theme?: 'default' | 'classic' | 'dark';
|
|
12
|
+
excludeFolders?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface SidebarItem {
|
|
15
|
+
type: 'doc' | 'category';
|
|
16
|
+
label?: string;
|
|
17
|
+
id?: string;
|
|
18
|
+
items?: SidebarItem[];
|
|
19
|
+
}
|
|
20
|
+
export interface Sidebar {
|
|
21
|
+
docs: SidebarItem[];
|
|
22
|
+
}
|
|
23
|
+
export interface SetupOptions {
|
|
24
|
+
projectRoot: string;
|
|
25
|
+
targetDir: string;
|
|
26
|
+
docsPath: string;
|
|
27
|
+
config: DocusaurusConfig;
|
|
28
|
+
force?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface ServerOptions {
|
|
31
|
+
port: number;
|
|
32
|
+
openBrowser: boolean;
|
|
33
|
+
host?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface InstallOptions {
|
|
36
|
+
targetDir: string;
|
|
37
|
+
packages: string[];
|
|
38
|
+
dev?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface NodeVersion {
|
|
41
|
+
version: string;
|
|
42
|
+
major: number;
|
|
43
|
+
minor: number;
|
|
44
|
+
patch: number;
|
|
45
|
+
compatible: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface BuildResult {
|
|
48
|
+
success: boolean;
|
|
49
|
+
outputPath: string;
|
|
50
|
+
size: number;
|
|
51
|
+
duration: number;
|
|
52
|
+
errors?: string[];
|
|
53
|
+
}
|
|
54
|
+
export interface ServerProcess {
|
|
55
|
+
pid: number;
|
|
56
|
+
port: number;
|
|
57
|
+
url: string;
|
|
58
|
+
stop: () => Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/docs-preview/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,GAAG,UAAU,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/docs-preview/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docusaurus configuration generator
|
|
3
|
+
* Generates docusaurus.config.js with sensible defaults
|
|
4
|
+
*/
|
|
5
|
+
import { DocusaurusConfig } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Generate docusaurus.config.js content
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateDocusaurusConfig(config: DocusaurusConfig): string;
|
|
10
|
+
/**
|
|
11
|
+
* Write docusaurus.config.js to file
|
|
12
|
+
*/
|
|
13
|
+
export declare function writeDocusaurusConfig(targetDir: string, config: DocusaurusConfig): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Generate package.json for Docusaurus site
|
|
16
|
+
*/
|
|
17
|
+
export declare function generatePackageJSON(title: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Write package.json to file
|
|
20
|
+
*/
|
|
21
|
+
export declare function writePackageJSON(targetDir: string, title: string): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Generate custom CSS for theme customization
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateCustomCSS(theme: 'default' | 'classic' | 'dark'): string;
|
|
26
|
+
/**
|
|
27
|
+
* Write custom CSS to file
|
|
28
|
+
*/
|
|
29
|
+
export declare function writeCustomCSS(targetDir: string, theme: 'default' | 'classic' | 'dark'): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Generate index page (landing page)
|
|
32
|
+
*/
|
|
33
|
+
export declare function generateIndexPage(title: string, tagline: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Write index page to file
|
|
36
|
+
*/
|
|
37
|
+
export declare function writeIndexPage(targetDir: string, title: string, tagline: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Generate index.module.css for landing page styles
|
|
40
|
+
*/
|
|
41
|
+
export declare function generateIndexModuleCSS(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Write index.module.css to file
|
|
44
|
+
*/
|
|
45
|
+
export declare function writeIndexModuleCSS(targetDir: string): Promise<void>;
|
|
46
|
+
//# sourceMappingURL=config-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../../src/utils/docs-preview.bak/config-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqHzE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmCzD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CA8E/E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5G;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA8DxE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAsB/C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E"}
|