@shortwind/cli 0.1.0-beta.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/bench-a_9WmuOE.js +1836 -0
- package/dist/bench-a_9WmuOE.js.map +1 -0
- package/dist/bin.js +267 -0
- package/dist/bin.js.map +1 -0
- package/dist/index.d.ts +374 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/package.json +41 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { Diagnostic } from "@shortwind/core";
|
|
2
|
+
|
|
3
|
+
//#region src/detect.d.ts
|
|
4
|
+
type PackageManager = "npm" | "pnpm" | "yarn" | "bun";
|
|
5
|
+
type Bundler = "vite" | "next" | "astro" | "unknown";
|
|
6
|
+
type Framework = "react" | "vue" | "svelte" | "astro" | "plain";
|
|
7
|
+
type ProjectShape = {
|
|
8
|
+
packageManager: PackageManager;
|
|
9
|
+
tailwindVersion: string | null;
|
|
10
|
+
tailwindMajor: 3 | 4 | null;
|
|
11
|
+
bundler: Bundler;
|
|
12
|
+
framework: Framework;
|
|
13
|
+
hasPackageJson: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare function detectProject(cwd: string): ProjectShape;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/init.d.ts
|
|
18
|
+
declare const DEFAULT_REGISTRY = "https://shortwind.dev/registry";
|
|
19
|
+
type InitOptions = {
|
|
20
|
+
cwd: string;
|
|
21
|
+
preset: string;
|
|
22
|
+
registry?: string;
|
|
23
|
+
installPackages?: InstallPackages;
|
|
24
|
+
};
|
|
25
|
+
type InstallPackages = (pm: PackageManager, packages: string[], cwd: string) => Promise<void>;
|
|
26
|
+
type InitResult = {
|
|
27
|
+
packageManager: PackageManager;
|
|
28
|
+
preset: string;
|
|
29
|
+
registry: string;
|
|
30
|
+
families: string[];
|
|
31
|
+
installedPackages: string[];
|
|
32
|
+
installedFamilies: string[];
|
|
33
|
+
skippedFamilies: string[];
|
|
34
|
+
configPath: string;
|
|
35
|
+
vscodePath: string;
|
|
36
|
+
huskyPath: string;
|
|
37
|
+
skillPath: string;
|
|
38
|
+
};
|
|
39
|
+
declare function init(options: InitOptions): Promise<InitResult>;
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/registry-source.d.ts
|
|
42
|
+
type Presets = Record<string, string[] | "*">;
|
|
43
|
+
type RegistrySource = {
|
|
44
|
+
origin: string;
|
|
45
|
+
loadPresets: () => Promise<Presets>;
|
|
46
|
+
loadFamily: (family: string) => Promise<string>;
|
|
47
|
+
listAllFamilies: () => Promise<string[]>;
|
|
48
|
+
};
|
|
49
|
+
declare function createRegistrySource(origin: string): RegistrySource;
|
|
50
|
+
declare function resolvePresetFamilies(preset: string, presets: Presets, allFamilies: string[]): string[];
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/lockfile.d.ts
|
|
53
|
+
type LockEntry = {
|
|
54
|
+
version: string;
|
|
55
|
+
sha: string;
|
|
56
|
+
};
|
|
57
|
+
type Lockfile = {
|
|
58
|
+
version: number;
|
|
59
|
+
registry: string;
|
|
60
|
+
families: Record<string, LockEntry>;
|
|
61
|
+
};
|
|
62
|
+
declare function readLockfile(recipesDir: string): Promise<Lockfile>;
|
|
63
|
+
declare function writeLockfile(recipesDir: string, lock: Lockfile): Promise<void>;
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/commands/add.d.ts
|
|
66
|
+
type AddOptions = {
|
|
67
|
+
cwd: string;
|
|
68
|
+
families: string[];
|
|
69
|
+
as?: string;
|
|
70
|
+
all?: boolean;
|
|
71
|
+
force?: boolean;
|
|
72
|
+
registry?: string;
|
|
73
|
+
};
|
|
74
|
+
type AddResult = {
|
|
75
|
+
added: string[];
|
|
76
|
+
skipped: string[];
|
|
77
|
+
overwritten: string[];
|
|
78
|
+
missingDependencies: {
|
|
79
|
+
family: string;
|
|
80
|
+
references: string[];
|
|
81
|
+
}[];
|
|
82
|
+
lockfile: Lockfile;
|
|
83
|
+
skillPath: string;
|
|
84
|
+
};
|
|
85
|
+
declare function add(options: AddOptions): Promise<AddResult>;
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/commands/remove.d.ts
|
|
88
|
+
type RemoveOptions = {
|
|
89
|
+
cwd: string;
|
|
90
|
+
families: string[];
|
|
91
|
+
};
|
|
92
|
+
type RemoveResult = {
|
|
93
|
+
removed: string[];
|
|
94
|
+
notFound: string[];
|
|
95
|
+
brokenDependents: {
|
|
96
|
+
dependent: string;
|
|
97
|
+
references: string[];
|
|
98
|
+
}[];
|
|
99
|
+
lockfile: Lockfile;
|
|
100
|
+
skillPath: string;
|
|
101
|
+
};
|
|
102
|
+
declare function remove(options: RemoveOptions): Promise<RemoveResult>;
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region src/commands/preset.d.ts
|
|
105
|
+
type PresetOptions = {
|
|
106
|
+
cwd: string;
|
|
107
|
+
name: string;
|
|
108
|
+
registry?: string;
|
|
109
|
+
};
|
|
110
|
+
type PresetResult = AddResult & {
|
|
111
|
+
preset: string;
|
|
112
|
+
};
|
|
113
|
+
declare function preset(options: PresetOptions): Promise<PresetResult>;
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/commands/ls.d.ts
|
|
116
|
+
type LsOptions = {
|
|
117
|
+
cwd: string;
|
|
118
|
+
registry?: string;
|
|
119
|
+
installedOnly?: boolean;
|
|
120
|
+
availableOnly?: boolean;
|
|
121
|
+
};
|
|
122
|
+
type LsResult = {
|
|
123
|
+
installed: {
|
|
124
|
+
family: string;
|
|
125
|
+
version: string | null;
|
|
126
|
+
}[];
|
|
127
|
+
available: string[];
|
|
128
|
+
};
|
|
129
|
+
declare function ls(options: LsOptions): Promise<LsResult>;
|
|
130
|
+
declare function formatLsText(result: LsResult): string;
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/commands/build.d.ts
|
|
133
|
+
type BuildOptions = {
|
|
134
|
+
cwd: string;
|
|
135
|
+
};
|
|
136
|
+
type BuildResult = {
|
|
137
|
+
changed: boolean;
|
|
138
|
+
families: string[];
|
|
139
|
+
skillPath: string;
|
|
140
|
+
};
|
|
141
|
+
declare class BuildError extends Error {
|
|
142
|
+
readonly diagnostics: Diagnostic[];
|
|
143
|
+
constructor(diagnostics: Diagnostic[]);
|
|
144
|
+
}
|
|
145
|
+
declare function build(options: BuildOptions): Promise<BuildResult>;
|
|
146
|
+
//#endregion
|
|
147
|
+
//#region src/commands/dev.d.ts
|
|
148
|
+
type DevOptions = {
|
|
149
|
+
cwd: string;
|
|
150
|
+
signal?: AbortSignal;
|
|
151
|
+
onStatus?: (status: DevStatus) => void;
|
|
152
|
+
debounceMs?: number;
|
|
153
|
+
reconcileIntervalMs?: number;
|
|
154
|
+
};
|
|
155
|
+
type DevStatus = {
|
|
156
|
+
kind: "ready";
|
|
157
|
+
recipesDir: string;
|
|
158
|
+
} | {
|
|
159
|
+
kind: "rebuilt";
|
|
160
|
+
families: string[];
|
|
161
|
+
changed: boolean;
|
|
162
|
+
} | {
|
|
163
|
+
kind: "error";
|
|
164
|
+
message: string;
|
|
165
|
+
};
|
|
166
|
+
declare function dev(options: DevOptions): Promise<{
|
|
167
|
+
stop: () => Promise<void>;
|
|
168
|
+
}>;
|
|
169
|
+
//#endregion
|
|
170
|
+
//#region src/commands/upgrade.d.ts
|
|
171
|
+
type UpgradeChoice = "accept" | "keep" | "skip";
|
|
172
|
+
type TouchedContext = {
|
|
173
|
+
family: string;
|
|
174
|
+
local: string;
|
|
175
|
+
baseline: {
|
|
176
|
+
version: string;
|
|
177
|
+
sha: string;
|
|
178
|
+
};
|
|
179
|
+
incoming: {
|
|
180
|
+
version: string;
|
|
181
|
+
body: string;
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
type UpgradeResolver = (ctx: TouchedContext) => Promise<UpgradeChoice>;
|
|
185
|
+
type UpgradeOptions = {
|
|
186
|
+
cwd: string;
|
|
187
|
+
families?: string[];
|
|
188
|
+
registry?: string;
|
|
189
|
+
force?: boolean;
|
|
190
|
+
check?: boolean;
|
|
191
|
+
resolver?: UpgradeResolver;
|
|
192
|
+
source?: RegistrySource;
|
|
193
|
+
};
|
|
194
|
+
type FamilyState = "pristine" | "touched" | "unchanged" | "missing" | "untracked";
|
|
195
|
+
type FamilyOutcome = {
|
|
196
|
+
family: string;
|
|
197
|
+
action: "updated";
|
|
198
|
+
from: string;
|
|
199
|
+
to: string;
|
|
200
|
+
state: FamilyState;
|
|
201
|
+
} | {
|
|
202
|
+
family: string;
|
|
203
|
+
action: "kept";
|
|
204
|
+
reason: "unchanged" | "user-chose-keep";
|
|
205
|
+
state: FamilyState;
|
|
206
|
+
} | {
|
|
207
|
+
family: string;
|
|
208
|
+
action: "skipped";
|
|
209
|
+
reason: string;
|
|
210
|
+
state: FamilyState;
|
|
211
|
+
} | {
|
|
212
|
+
family: string;
|
|
213
|
+
action: "would-update";
|
|
214
|
+
from: string;
|
|
215
|
+
to: string;
|
|
216
|
+
state: FamilyState;
|
|
217
|
+
} | {
|
|
218
|
+
family: string;
|
|
219
|
+
action: "would-review";
|
|
220
|
+
from: string;
|
|
221
|
+
to: string;
|
|
222
|
+
state: FamilyState;
|
|
223
|
+
};
|
|
224
|
+
type UpgradeResult = {
|
|
225
|
+
outcomes: FamilyOutcome[];
|
|
226
|
+
hasUpdates: boolean;
|
|
227
|
+
hasTouched: boolean;
|
|
228
|
+
lockfile: Lockfile;
|
|
229
|
+
skillPath: string | null;
|
|
230
|
+
};
|
|
231
|
+
declare class UpgradeError extends Error {
|
|
232
|
+
readonly errors: {
|
|
233
|
+
family: string;
|
|
234
|
+
message: string;
|
|
235
|
+
}[];
|
|
236
|
+
constructor(errors: {
|
|
237
|
+
family: string;
|
|
238
|
+
message: string;
|
|
239
|
+
}[]);
|
|
240
|
+
}
|
|
241
|
+
declare function upgrade(options: UpgradeOptions): Promise<UpgradeResult>;
|
|
242
|
+
//#endregion
|
|
243
|
+
//#region src/commands/verify.d.ts
|
|
244
|
+
type VerifyIssue = {
|
|
245
|
+
family: string;
|
|
246
|
+
kind: "missing-header";
|
|
247
|
+
file: string;
|
|
248
|
+
} | {
|
|
249
|
+
family: string;
|
|
250
|
+
kind: "header-tampered";
|
|
251
|
+
file: string;
|
|
252
|
+
recorded: string;
|
|
253
|
+
actual: string;
|
|
254
|
+
} | {
|
|
255
|
+
family: string;
|
|
256
|
+
kind: "lockfile-mismatch";
|
|
257
|
+
file: string;
|
|
258
|
+
locked: string;
|
|
259
|
+
actual: string;
|
|
260
|
+
} | {
|
|
261
|
+
family: string;
|
|
262
|
+
kind: "missing-lock-entry";
|
|
263
|
+
file: string;
|
|
264
|
+
} | {
|
|
265
|
+
family: string;
|
|
266
|
+
kind: "missing-file";
|
|
267
|
+
file: string;
|
|
268
|
+
};
|
|
269
|
+
type VerifyOptions = {
|
|
270
|
+
cwd: string;
|
|
271
|
+
};
|
|
272
|
+
type VerifyResult = {
|
|
273
|
+
ok: boolean;
|
|
274
|
+
checked: string[];
|
|
275
|
+
issues: VerifyIssue[];
|
|
276
|
+
};
|
|
277
|
+
declare function verify(options: VerifyOptions): Promise<VerifyResult>;
|
|
278
|
+
//#endregion
|
|
279
|
+
//#region src/commands/bench.d.ts
|
|
280
|
+
type BenchOptions = {
|
|
281
|
+
cwd: string;
|
|
282
|
+
corpus?: boolean;
|
|
283
|
+
json?: boolean;
|
|
284
|
+
registry?: string;
|
|
285
|
+
path?: string;
|
|
286
|
+
};
|
|
287
|
+
type FileBenchResult = {
|
|
288
|
+
filename: string;
|
|
289
|
+
compactClassTokens: number;
|
|
290
|
+
expandedClassTokens: number;
|
|
291
|
+
compactClassBytes: number;
|
|
292
|
+
expandedClassBytes: number;
|
|
293
|
+
compactFileBytes: number;
|
|
294
|
+
expandedFileBytes: number;
|
|
295
|
+
compactLlmTokens: number;
|
|
296
|
+
expandedLlmTokens: number;
|
|
297
|
+
};
|
|
298
|
+
type BenchTotals = Omit<FileBenchResult, "filename">;
|
|
299
|
+
type BenchResult = {
|
|
300
|
+
files: FileBenchResult[];
|
|
301
|
+
totals: BenchTotals;
|
|
302
|
+
};
|
|
303
|
+
declare function bench(options: BenchOptions): Promise<BenchResult>;
|
|
304
|
+
declare function formatBenchTable(result: BenchResult): string;
|
|
305
|
+
//#endregion
|
|
306
|
+
//#region src/commands/lint.d.ts
|
|
307
|
+
declare const ALL_RULES: readonly ["recipe/unknown", "recipe/cycle", "recipe/duplicate", "recipe/unused", "recipe/no-redundant-utility", "recipe/bad-suffix-order", "recipe/conflicting-intent", "recipe/dynamic-class", "recipe/no-sibling-overlap"];
|
|
308
|
+
type Rule = (typeof ALL_RULES)[number];
|
|
309
|
+
type Severity = "error" | "warning" | "info";
|
|
310
|
+
type Finding = {
|
|
311
|
+
rule: Rule;
|
|
312
|
+
severity: Severity;
|
|
313
|
+
file: string;
|
|
314
|
+
line: number;
|
|
315
|
+
column: number;
|
|
316
|
+
message: string;
|
|
317
|
+
};
|
|
318
|
+
type LintOptions = {
|
|
319
|
+
cwd: string;
|
|
320
|
+
rules?: Rule[];
|
|
321
|
+
fix?: boolean;
|
|
322
|
+
content?: string[];
|
|
323
|
+
};
|
|
324
|
+
type LintResult = {
|
|
325
|
+
ok: boolean;
|
|
326
|
+
findings: Finding[];
|
|
327
|
+
filesFixed: string[];
|
|
328
|
+
};
|
|
329
|
+
declare function lint(options: LintOptions): Promise<LintResult>;
|
|
330
|
+
type ClassUsage = {
|
|
331
|
+
fileOffset: number;
|
|
332
|
+
valueStart: number;
|
|
333
|
+
raw: string;
|
|
334
|
+
tokens: Array<{
|
|
335
|
+
value: string;
|
|
336
|
+
line: number;
|
|
337
|
+
column: number;
|
|
338
|
+
}>;
|
|
339
|
+
dynamicTokens: Array<{
|
|
340
|
+
value: string;
|
|
341
|
+
line: number;
|
|
342
|
+
column: number;
|
|
343
|
+
}>;
|
|
344
|
+
fixable: boolean;
|
|
345
|
+
};
|
|
346
|
+
declare function extractClassUsages(source: string): ClassUsage[];
|
|
347
|
+
declare function formatFindingsText(findings: Finding[]): string;
|
|
348
|
+
//#endregion
|
|
349
|
+
//#region src/fingerprint.d.ts
|
|
350
|
+
type RecipeHeader = {
|
|
351
|
+
family: string;
|
|
352
|
+
version: string;
|
|
353
|
+
sha: string;
|
|
354
|
+
};
|
|
355
|
+
declare function extractHeader(source: string): RecipeHeader | null;
|
|
356
|
+
declare function normalizeBody(body: string): string;
|
|
357
|
+
declare function computeBodySha(source: string): string;
|
|
358
|
+
declare function buildHeaderLine(family: string, version: string, sha: string): string;
|
|
359
|
+
declare function rewriteHeaderSha(source: string, sha: string): string;
|
|
360
|
+
declare function sealRecipeFile(source: string, family: string, version: string): string;
|
|
361
|
+
//#endregion
|
|
362
|
+
//#region src/project.d.ts
|
|
363
|
+
/**
|
|
364
|
+
* Rewrite a recipe file so that every occurrence of `<from>` is replaced with `<to>`:
|
|
365
|
+
* - fingerprint header family slot
|
|
366
|
+
* - recipe names (after `@recipe `)
|
|
367
|
+
* - cross-recipe `@from` / `@from-*` references in bodies
|
|
368
|
+
*
|
|
369
|
+
* Descriptions and unrelated text are untouched.
|
|
370
|
+
*/
|
|
371
|
+
declare function renameFamilyInSource(source: string, from: string, to: string): string;
|
|
372
|
+
//#endregion
|
|
373
|
+
export { ALL_RULES, type AddOptions, type AddResult, type BenchOptions, type BenchResult, BuildError, type BuildOptions, type BuildResult, type Bundler, DEFAULT_REGISTRY, type DevOptions, type DevStatus, type FamilyOutcome, type FamilyState, type FileBenchResult, type Finding, type Framework, type InitOptions, type InitResult, type InstallPackages, type LintOptions, type LintResult, type LockEntry, type Lockfile, type LsOptions, type LsResult, type PackageManager, type PresetOptions, type PresetResult, type Presets, type ProjectShape, type RecipeHeader, type RegistrySource, type RemoveOptions, type RemoveResult, type Rule, type Severity, type TouchedContext, type UpgradeChoice, UpgradeError, type UpgradeOptions, type UpgradeResolver, type UpgradeResult, type VerifyIssue, type VerifyOptions, type VerifyResult, add, bench, build, buildHeaderLine, computeBodySha, createRegistrySource, detectProject, dev, extractClassUsages, extractHeader, formatBenchTable, formatFindingsText, formatLsText, init, lint, ls, normalizeBody, preset, readLockfile, remove, renameFamilyInSource, resolvePresetFamilies, rewriteHeaderSha, sealRecipeFile, upgrade, verify, writeLockfile };
|
|
374
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/detect.ts","../src/init.ts","../src/registry-source.ts","../src/lockfile.ts","../src/commands/add.ts","../src/commands/remove.ts","../src/commands/preset.ts","../src/commands/ls.ts","../src/commands/build.ts","../src/commands/dev.ts","../src/commands/upgrade.ts","../src/commands/verify.ts","../src/commands/bench.ts","../src/commands/lint.ts","../src/fingerprint.ts","../src/project.ts"],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { A as rewriteHeaderSha, C as createRegistrySource, D as computeBodySha, E as buildHeaderLine, O as extractHeader, S as writeLockfile, T as detectProject, _ as add, a as formatFindingsText, b as init, c as UpgradeError, d as BuildError, f as build, g as remove, h as preset, i as extractClassUsages, j as sealRecipeFile, k as normalizeBody, l as upgrade, m as ls, n as formatBenchTable, o as lint, p as formatLsText, r as ALL_RULES, s as verify, t as bench, u as dev, v as renameFamilyInSource, w as resolvePresetFamilies, x as readLockfile, y as DEFAULT_REGISTRY } from "./bench-a_9WmuOE.js";
|
|
2
|
+
export { ALL_RULES, BuildError, DEFAULT_REGISTRY, UpgradeError, add, bench, build, buildHeaderLine, computeBodySha, createRegistrySource, detectProject, dev, extractClassUsages, extractHeader, formatBenchTable, formatFindingsText, formatLsText, init, lint, ls, normalizeBody, preset, readLockfile, remove, renameFamilyInSource, resolvePresetFamilies, rewriteHeaderSha, sealRecipeFile, upgrade, verify, writeLockfile };
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@shortwind/cli",
|
|
3
|
+
"version": "0.1.0-beta.0",
|
|
4
|
+
"description": "Shortwind CLI — init, add, remove, upgrade, dev, build, lint, ls, preset. Provides the `shortwind` command.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"shortwind": "./dist/bin.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@clack/prompts": "^1.4.0",
|
|
16
|
+
"cac": "^7.0.0",
|
|
17
|
+
"chokidar": "^5.0.0",
|
|
18
|
+
"js-tiktoken": "^1.0.21",
|
|
19
|
+
"jsonc-parser": "^3.3.1",
|
|
20
|
+
"picocolors": "^1.1.1",
|
|
21
|
+
"tinyglobby": "^0.2.16",
|
|
22
|
+
"@shortwind/core": "0.1.0-beta.0",
|
|
23
|
+
"@shortwind/tailwind": "0.1.0-beta.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/node": "^25.7.0",
|
|
27
|
+
"tsdown": "^0.22.0"
|
|
28
|
+
},
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public",
|
|
31
|
+
"tag": "beta"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsdown",
|
|
35
|
+
"dev": "tsdown --watch",
|
|
36
|
+
"gen:bench": "tsx scripts/generate-bench-recipes.ts",
|
|
37
|
+
"typecheck": "tsc --noEmit",
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"test:watch": "vitest"
|
|
40
|
+
}
|
|
41
|
+
}
|