outfitter 0.2.6 → 0.2.7
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 +52 -26
- package/dist/actions.d.ts +1 -1
- package/dist/actions.js +20 -19
- package/dist/cli.js +3 -2
- package/dist/commands/add.d.ts +4 -4
- package/dist/commands/check-tsdoc.d.ts +22 -0
- package/dist/commands/check-tsdoc.js +8 -0
- package/dist/commands/check.d.ts +12 -12
- package/dist/commands/check.js +1 -1
- package/dist/commands/demo.d.ts +3 -3
- package/dist/commands/docs-module-loader.d.ts +1 -1
- package/dist/commands/doctor.d.ts +2 -2
- package/dist/commands/doctor.js +13 -1
- package/dist/commands/init.d.ts +6 -6
- package/dist/commands/init.js +12 -11
- package/dist/commands/repo.d.ts +2 -2
- package/dist/commands/scaffold.d.ts +3 -3
- package/dist/commands/scaffold.js +12 -11
- package/dist/commands/shared-deps.d.ts +1 -16
- package/dist/commands/shared-deps.js +2 -1
- package/dist/commands/upgrade-codemods.d.ts +4 -4
- package/dist/commands/upgrade-codemods.js +2 -2
- package/dist/commands/upgrade-planner.d.ts +6 -6
- package/dist/commands/upgrade-workspace.d.ts +1 -75
- package/dist/commands/upgrade.d.ts +66 -59
- package/dist/commands/upgrade.js +2 -2
- package/dist/create/index.d.ts +4 -4
- package/dist/create/index.js +13 -12
- package/dist/create/planner.d.ts +2 -2
- package/dist/create/planner.js +9 -8
- package/dist/create/presets.d.ts +2 -2
- package/dist/create/types.d.ts +1 -1
- package/dist/engine/blocks.d.ts +2 -2
- package/dist/engine/blocks.js +1 -1
- package/dist/engine/collector.d.ts +1 -1
- package/dist/engine/config.d.ts +2 -2
- package/dist/engine/config.js +5 -2
- package/dist/engine/dependency-versions.d.ts +12 -0
- package/dist/engine/dependency-versions.js +12 -0
- package/dist/engine/executor.d.ts +2 -2
- package/dist/engine/executor.js +7 -4
- package/dist/engine/index.d.ts +8 -8
- package/dist/engine/index.js +28 -19
- package/dist/engine/names.d.ts +2 -2
- package/dist/engine/names.js +10 -2
- package/dist/engine/post-scaffold.d.ts +2 -2
- package/dist/engine/render-plan.d.ts +1 -1
- package/dist/engine/template.d.ts +2 -2
- package/dist/engine/types.d.ts +1 -1
- package/dist/engine/workspace.d.ts +3 -3
- package/dist/engine/workspace.js +8 -1
- package/dist/index.d.ts +93 -132
- package/dist/index.js +1 -9
- package/dist/manifest.d.ts +4 -4
- package/dist/output-mode.d.ts +1 -1
- package/dist/shared/{chunk-k59f60cp.js → chunk-x6644tk8.js} +3017 -2520
- package/dist/shared/outfitter-109s75x0.d.ts +76 -0
- package/dist/shared/{outfitter-2np85etz.js → outfitter-1fy7byz5.js} +76 -1
- package/dist/shared/outfitter-20f6a2n4.js +35 -0
- package/dist/shared/outfitter-4q1zfmvc.js +154 -0
- package/dist/shared/{outfitter-66b25bj8.js → outfitter-5akzvppx.js} +4 -4
- package/dist/shared/outfitter-5y646xzk.js +301 -0
- package/dist/shared/{outfitter-j8yc7294.d.ts → outfitter-5yjr404v.d.ts} +4 -4
- package/dist/shared/outfitter-63gse8fv.js +316 -0
- package/dist/shared/{outfitter-rdc5v5ms.js → outfitter-7ch26yq8.js} +210 -71
- package/dist/shared/{outfitter-ksa1pp4t.d.ts → outfitter-dpj9erew.d.ts} +1 -1
- package/dist/shared/{outfitter-sgtq57qr.d.ts → outfitter-f9znfhkn.d.ts} +1 -1
- package/dist/shared/outfitter-fhnjpjwc.d.ts +18 -0
- package/dist/shared/{outfitter-193jvzg4.d.ts → outfitter-fn20r49x.d.ts} +1 -1
- package/dist/shared/{outfitter-cwq39bv4.d.ts → outfitter-h3q6ae6d.d.ts} +17 -17
- package/dist/shared/outfitter-ha89qf8q.js +132 -0
- package/dist/shared/{outfitter-pyy1zkfh.d.ts → outfitter-hsp8vy5m.d.ts} +25 -12
- package/dist/shared/outfitter-m3ehh37q.d.ts +22 -0
- package/dist/shared/outfitter-m44n0qzw.js +161 -0
- package/dist/shared/{outfitter-qn864k6h.js → outfitter-mt7d1ek2.js} +152 -35
- package/dist/shared/{outfitter-avhm5z6w.js → outfitter-p71qb0f0.js} +4 -4
- package/dist/shared/{outfitter-9zqc2njf.js → outfitter-pcj9gg2g.js} +90 -40
- package/dist/shared/{outfitter-hws10ze7.js → outfitter-pj9vp00r.js} +87 -18
- package/dist/shared/{outfitter-gdvm5c0b.d.ts → outfitter-qakwgrrh.d.ts} +1 -1
- package/dist/shared/{outfitter-k56rmt24.d.ts → outfitter-r419zfgs.d.ts} +6 -6
- package/dist/shared/{outfitter-33w361tc.d.ts → outfitter-s7jetkge.d.ts} +1 -1
- package/dist/shared/{outfitter-1dvma85c.js → outfitter-w1j80j1r.js} +4 -0
- package/dist/shared/{outfitter-1dd0k853.js → outfitter-xe5mzgdc.js} +21 -7
- package/dist/shared/{outfitter-h1mnzzd1.d.ts → outfitter-ybbazsxq.d.ts} +1 -1
- package/dist/shared/{outfitter-2ngep1h2.d.ts → outfitter-yraebrmw.d.ts} +1 -1
- package/dist/shared/{outfitter-bkwpbkr9.d.ts → outfitter-z0we32cp.d.ts} +21 -21
- package/dist/shared/{outfitter-3weh61w7.d.ts → outfitter-z5sx06qe.d.ts} +12 -12
- package/dist/targets/index.d.ts +3 -3
- package/dist/targets/index.js +1 -1
- package/dist/targets/registry.d.ts +2 -2
- package/dist/targets/registry.js +1 -1
- package/dist/targets/types.d.ts +1 -1
- package/package.json +29 -19
- package/template-versions.json +22 -0
- package/templates/basic/package.json.template +6 -6
- package/templates/cli/biome.json.template +1 -1
- package/templates/cli/package.json.template +17 -9
- package/templates/daemon/biome.json.template +1 -1
- package/templates/daemon/package.json.template +18 -10
- package/templates/full-stack/.gitignore.template +30 -0
- package/templates/full-stack/README.md.template +30 -0
- package/templates/full-stack/apps/cli/package.json.template +39 -0
- package/templates/full-stack/apps/cli/src/cli.ts.template +24 -0
- package/templates/full-stack/apps/cli/src/index.test.ts.template +18 -0
- package/templates/full-stack/apps/cli/src/index.ts.template +5 -0
- package/templates/full-stack/apps/cli/tsconfig.json.template +37 -0
- package/templates/full-stack/apps/mcp/package.json.template +40 -0
- package/templates/full-stack/apps/mcp/src/index.test.ts.template +18 -0
- package/templates/full-stack/apps/mcp/src/index.ts.template +6 -0
- package/templates/full-stack/apps/mcp/src/mcp.ts.template +22 -0
- package/templates/full-stack/apps/mcp/src/server.ts.template +10 -0
- package/templates/full-stack/apps/mcp/tsconfig.json.template +37 -0
- package/templates/full-stack/package.json.template +16 -0
- package/templates/full-stack/packages/core/package.json.template +36 -0
- package/templates/full-stack/packages/core/src/handlers.ts.template +31 -0
- package/templates/full-stack/packages/core/src/index.test.ts.template +30 -0
- package/templates/full-stack/packages/core/src/index.ts.template +8 -0
- package/templates/full-stack/packages/core/src/types.ts.template +13 -0
- package/templates/full-stack/packages/core/tsconfig.json.template +34 -0
- package/templates/library/.gitignore.template +30 -0
- package/templates/library/README.md.template +29 -0
- package/templates/library/bunup.config.ts.template +20 -0
- package/templates/library/package.json.template +55 -0
- package/templates/library/src/handlers.ts.template +31 -0
- package/templates/library/src/index.test.ts.template +35 -0
- package/templates/library/src/index.ts.template +8 -0
- package/templates/library/src/types.ts.template +13 -0
- package/templates/library/tsconfig.json.template +34 -0
- package/templates/mcp/biome.json.template +1 -1
- package/templates/mcp/package.json.template +17 -9
- package/templates/mcp/src/index.ts.template +1 -1
- package/templates/mcp/src/mcp.ts.template +28 -74
- package/templates/mcp/src/server.ts.template +2 -9
- package/templates/minimal/package.json.template +13 -6
- package/dist/commands/migrate-kit.d.ts +0 -2
- package/dist/commands/migrate-kit.js +0 -15
- package/dist/shared/outfitter-7ha7p61k.d.ts +0 -6
- package/dist/shared/outfitter-ara3djt0.js +0 -73
- package/dist/shared/outfitter-d7pq7d0k.js +0 -196
- package/dist/shared/outfitter-k112c427.js +0 -21
- package/dist/shared/outfitter-mxz69pgy.js +0 -713
- package/dist/shared/outfitter-npemy7ta.d.ts +0 -53
- package/dist/shared/outfitter-npyfbdmc.d.ts +0 -6
- package/dist/shared/outfitter-q9agarmb.js +0 -42
- package/dist/shared/{outfitter-dd0btgec.d.ts → outfitter-6fgk6adm.d.ts} +5 -5
- package/dist/shared/{outfitter-e2zz5wv7.d.ts → outfitter-e9rrfekb.d.ts} +8 -8
- package/dist/shared/{outfitter-qfh36ddg.d.ts → outfitter-n9g1zk4x.d.ts} +7 -7
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { copyTemplateFiles, getOutputFilename, getTemplatesDir, isBinaryFile, replacePlaceholders } from "../shared/outfitter-
|
|
2
|
-
import "../shared/outfitter-
|
|
1
|
+
import { copyTemplateFiles, getOutputFilename, getTemplatesDir, isBinaryFile, replacePlaceholders } from "../shared/outfitter-ybbazsxq.js";
|
|
2
|
+
import "../shared/outfitter-n9g1zk4x.js";
|
|
3
3
|
export { replacePlaceholders, isBinaryFile, getTemplatesDir, getOutputFilename, copyTemplateFiles };
|
package/dist/engine/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { EngineCollector, EngineOptions, PlaceholderValues, ScaffoldChange, ScaffoldError, ScaffoldPlan, ScaffoldResult } from "../shared/outfitter-
|
|
1
|
+
import { EngineCollector, EngineOptions, PlaceholderValues, ScaffoldChange, ScaffoldError, ScaffoldPlan, ScaffoldResult } from "../shared/outfitter-n9g1zk4x.js";
|
|
2
2
|
export { ScaffoldResult, ScaffoldPlan, ScaffoldError, ScaffoldChange, PlaceholderValues, EngineOptions, EngineCollector };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { buildWorkspaceRootPackageJson, detectWorkspaceRoot, scaffoldWorkspaceRoot } from "../shared/outfitter-
|
|
2
|
-
import "../shared/outfitter-
|
|
3
|
-
export { scaffoldWorkspaceRoot, detectWorkspaceRoot, buildWorkspaceRootPackageJson };
|
|
1
|
+
import { buildWorkspaceRootPackageJson, buildWorkspaceRootReadme, detectWorkspaceRoot, getWorkspacePatterns, hasWorkspacesField, scaffoldWorkspaceRoot } from "../shared/outfitter-fhnjpjwc.js";
|
|
2
|
+
import "../shared/outfitter-n9g1zk4x.js";
|
|
3
|
+
export { scaffoldWorkspaceRoot, hasWorkspacesField, getWorkspacePatterns, detectWorkspaceRoot, buildWorkspaceRootReadme, buildWorkspaceRootPackageJson };
|
package/dist/engine/workspace.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
buildWorkspaceRootPackageJson,
|
|
4
|
+
buildWorkspaceRootReadme,
|
|
4
5
|
detectWorkspaceRoot,
|
|
6
|
+
getWorkspacePatterns,
|
|
7
|
+
hasWorkspacesField,
|
|
5
8
|
scaffoldWorkspaceRoot
|
|
6
|
-
} from "../shared/outfitter-
|
|
9
|
+
} from "../shared/outfitter-1fy7byz5.js";
|
|
10
|
+
import"../shared/outfitter-4q1zfmvc.js";
|
|
7
11
|
import"../shared/outfitter-8y2dfx6n.js";
|
|
8
12
|
import"../shared/outfitter-mdt37hqm.js";
|
|
9
13
|
export {
|
|
10
14
|
scaffoldWorkspaceRoot,
|
|
15
|
+
hasWorkspacesField,
|
|
16
|
+
getWorkspacePatterns,
|
|
11
17
|
detectWorkspaceRoot,
|
|
18
|
+
buildWorkspaceRootReadme,
|
|
12
19
|
buildWorkspaceRootPackageJson
|
|
13
20
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -13,19 +13,19 @@ interface DoctorOptions {
|
|
|
13
13
|
* Result of a single health check.
|
|
14
14
|
*/
|
|
15
15
|
interface CheckResult {
|
|
16
|
-
/** Whether the check passed */
|
|
17
|
-
readonly passed: boolean;
|
|
18
16
|
/** Error message if check failed */
|
|
19
17
|
readonly error?: string;
|
|
18
|
+
/** Whether the check passed */
|
|
19
|
+
readonly passed: boolean;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Bun version check result.
|
|
23
23
|
*/
|
|
24
24
|
interface BunVersionCheck extends CheckResult {
|
|
25
|
-
/** Current Bun version */
|
|
26
|
-
readonly version: string;
|
|
27
25
|
/** Required minimum version */
|
|
28
26
|
readonly required: string;
|
|
27
|
+
/** Current Bun version */
|
|
28
|
+
readonly version: string;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Package.json validation result.
|
|
@@ -51,8 +51,6 @@ interface DependenciesCheck extends CheckResult {
|
|
|
51
51
|
interface ConfigFilesCheck {
|
|
52
52
|
/** Whether tsconfig.json exists */
|
|
53
53
|
readonly tsconfig: boolean;
|
|
54
|
-
/** Whether biome.json exists */
|
|
55
|
-
readonly biome?: boolean;
|
|
56
54
|
}
|
|
57
55
|
/**
|
|
58
56
|
* Directories check result.
|
|
@@ -60,17 +58,15 @@ interface ConfigFilesCheck {
|
|
|
60
58
|
interface DirectoriesCheck {
|
|
61
59
|
/** Whether src directory exists */
|
|
62
60
|
readonly src: boolean;
|
|
63
|
-
/** Whether tests directory exists */
|
|
64
|
-
readonly tests?: boolean;
|
|
65
61
|
}
|
|
66
62
|
/**
|
|
67
63
|
* Summary of all checks.
|
|
68
64
|
*/
|
|
69
65
|
interface DoctorSummary {
|
|
70
|
-
/** Number of passed checks */
|
|
71
|
-
readonly passed: number;
|
|
72
66
|
/** Number of failed checks */
|
|
73
67
|
readonly failed: number;
|
|
68
|
+
/** Number of passed checks */
|
|
69
|
+
readonly passed: number;
|
|
74
70
|
/** Total number of checks */
|
|
75
71
|
readonly total: number;
|
|
76
72
|
}
|
|
@@ -86,10 +82,27 @@ interface DoctorResult {
|
|
|
86
82
|
readonly configFiles: ConfigFilesCheck;
|
|
87
83
|
readonly directories: DirectoriesCheck;
|
|
88
84
|
};
|
|
85
|
+
/** Exit code (0 = all passed, 1 = some failed) */
|
|
86
|
+
readonly exitCode: number;
|
|
87
|
+
/** Whether this is a workspace root (affects which checks apply) */
|
|
88
|
+
readonly isWorkspaceRoot?: boolean;
|
|
89
|
+
/** Checks intentionally skipped at workspace root */
|
|
90
|
+
readonly skippedChecks?: readonly string[];
|
|
89
91
|
/** Summary of all checks */
|
|
90
92
|
readonly summary: DoctorSummary;
|
|
91
|
-
/**
|
|
93
|
+
/** Per-member summary when running at a workspace root */
|
|
94
|
+
readonly workspaceMembers?: readonly WorkspaceMemberHealth[];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Health summary for a workspace member package.
|
|
98
|
+
*/
|
|
99
|
+
interface WorkspaceMemberHealth {
|
|
100
|
+
/** Member exit code (0 = pass, 1 = failed checks) */
|
|
92
101
|
readonly exitCode: number;
|
|
102
|
+
/** Workspace-relative member path (for example, apps/my-cli) */
|
|
103
|
+
readonly path: string;
|
|
104
|
+
/** Summary for the member doctor run */
|
|
105
|
+
readonly summary: DoctorSummary;
|
|
93
106
|
}
|
|
94
107
|
/**
|
|
95
108
|
* Runs the doctor command programmatically.
|
|
@@ -137,18 +150,18 @@ import { Result as Result3 } from "@outfitter/contracts";
|
|
|
137
150
|
import { AddBlockResult } from "@outfitter/tooling";
|
|
138
151
|
import { Command as Command2 } from "commander";
|
|
139
152
|
interface PostScaffoldResult {
|
|
140
|
-
readonly installResult: "success" | "failed" | "skipped";
|
|
141
|
-
readonly installError?: string | undefined;
|
|
142
|
-
readonly gitInitResult: "success" | "failed" | "skipped" | "already-repo";
|
|
143
153
|
readonly gitCommitResult: "success" | "failed" | "skipped";
|
|
144
154
|
readonly gitError?: string | undefined;
|
|
155
|
+
readonly gitInitResult: "success" | "failed" | "skipped" | "already-repo";
|
|
156
|
+
readonly installError?: string | undefined;
|
|
157
|
+
readonly installResult: "success" | "failed" | "skipped";
|
|
145
158
|
readonly nextSteps: readonly string[];
|
|
146
159
|
}
|
|
147
160
|
import { NotFoundError, Result as Result2, ValidationError } from "@outfitter/contracts";
|
|
148
161
|
/**
|
|
149
162
|
* Unique identifier for a scaffold target.
|
|
150
163
|
*/
|
|
151
|
-
type TargetId = "minimal" | "cli" | "mcp" | "daemon" | "
|
|
164
|
+
type TargetId = "minimal" | "cli" | "mcp" | "daemon" | "library" | "full-stack" | "api" | "worker" | "web";
|
|
152
165
|
/**
|
|
153
166
|
* Whether the target produces a runnable application or a library package.
|
|
154
167
|
*/
|
|
@@ -165,14 +178,14 @@ type TargetScope = "init-only" | "scaffold-only" | "both";
|
|
|
165
178
|
* Complete definition for a scaffold target.
|
|
166
179
|
*/
|
|
167
180
|
interface TargetDefinition {
|
|
168
|
-
readonly id: TargetId;
|
|
169
|
-
readonly description: string;
|
|
170
181
|
readonly category: TargetCategory;
|
|
171
|
-
readonly placement: "apps" | "packages";
|
|
172
|
-
readonly templateDir: string;
|
|
173
182
|
readonly defaultBlocks: readonly string[];
|
|
174
|
-
readonly
|
|
183
|
+
readonly description: string;
|
|
184
|
+
readonly id: TargetId;
|
|
185
|
+
readonly placement: "apps" | "packages";
|
|
175
186
|
readonly scope: TargetScope;
|
|
187
|
+
readonly status: TargetStatus;
|
|
188
|
+
readonly templateDir: string;
|
|
176
189
|
}
|
|
177
190
|
declare const TARGET_REGISTRY: ReadonlyMap<TargetId, TargetDefinition>;
|
|
178
191
|
declare const TARGET_IDS: readonly TargetId[];
|
|
@@ -190,45 +203,45 @@ declare function listTargets(filter?: {
|
|
|
190
203
|
readonly category?: TargetCategory;
|
|
191
204
|
}): readonly TargetDefinition[];
|
|
192
205
|
type InitStructure = "single" | "workspace";
|
|
193
|
-
type InitPresetId = Extract<TargetId, "minimal" | "cli" | "mcp" | "daemon">;
|
|
206
|
+
type InitPresetId = Extract<TargetId, "minimal" | "cli" | "mcp" | "daemon" | "library" | "full-stack">;
|
|
194
207
|
/**
|
|
195
208
|
* Options for the init command.
|
|
196
209
|
*/
|
|
197
210
|
interface InitOptions {
|
|
198
|
-
readonly targetDir: string;
|
|
199
|
-
readonly name: string | undefined;
|
|
200
211
|
readonly bin?: string | undefined;
|
|
212
|
+
readonly dryRun?: boolean | undefined;
|
|
213
|
+
readonly force: boolean;
|
|
214
|
+
readonly installTimeout?: number | undefined;
|
|
215
|
+
readonly local?: boolean | undefined;
|
|
216
|
+
readonly name: string | undefined;
|
|
217
|
+
readonly noTooling?: boolean | undefined;
|
|
201
218
|
readonly preset?: InitPresetId | undefined;
|
|
219
|
+
readonly skipCommit?: boolean | undefined;
|
|
220
|
+
readonly skipGit?: boolean | undefined;
|
|
221
|
+
readonly skipInstall?: boolean | undefined;
|
|
222
|
+
readonly structure?: InitStructure | undefined;
|
|
223
|
+
readonly targetDir: string;
|
|
202
224
|
/** @deprecated Use `preset` instead. */
|
|
203
225
|
readonly template?: string | undefined;
|
|
204
|
-
readonly structure?: InitStructure | undefined;
|
|
205
|
-
readonly workspaceName?: string | undefined;
|
|
206
|
-
readonly local?: boolean | undefined;
|
|
207
|
-
readonly force: boolean;
|
|
208
226
|
readonly with?: string | undefined;
|
|
209
|
-
readonly
|
|
227
|
+
readonly workspaceName?: string | undefined;
|
|
210
228
|
readonly yes?: boolean | undefined;
|
|
211
|
-
readonly dryRun?: boolean | undefined;
|
|
212
|
-
readonly skipInstall?: boolean | undefined;
|
|
213
|
-
readonly skipGit?: boolean | undefined;
|
|
214
|
-
readonly skipCommit?: boolean | undefined;
|
|
215
|
-
readonly installTimeout?: number | undefined;
|
|
216
229
|
}
|
|
217
230
|
/**
|
|
218
231
|
* Result of running init.
|
|
219
232
|
*/
|
|
220
233
|
interface InitResult {
|
|
221
|
-
readonly structure: InitStructure;
|
|
222
|
-
readonly rootDir: string;
|
|
223
|
-
readonly projectDir: string;
|
|
224
|
-
readonly preset: InitPresetId;
|
|
225
|
-
readonly packageName: string;
|
|
226
234
|
readonly blocksAdded?: AddBlockResult | undefined;
|
|
227
|
-
readonly postScaffold: PostScaffoldResult;
|
|
228
235
|
readonly dryRunPlan?: {
|
|
229
236
|
readonly operations: readonly unknown[];
|
|
230
237
|
readonly summary: Record<string, number>;
|
|
231
238
|
} | undefined;
|
|
239
|
+
readonly packageName: string;
|
|
240
|
+
readonly postScaffold: PostScaffoldResult;
|
|
241
|
+
readonly preset: InitPresetId;
|
|
242
|
+
readonly projectDir: string;
|
|
243
|
+
readonly rootDir: string;
|
|
244
|
+
readonly structure: InitStructure;
|
|
232
245
|
}
|
|
233
246
|
/**
|
|
234
247
|
* Error returned when initialization fails.
|
|
@@ -245,67 +258,15 @@ declare function printInitResults(result: InitResult, options?: {
|
|
|
245
258
|
* @deprecated Use action-registry CLI wiring via `buildCliCommands(outfitterActions, ...)`.
|
|
246
259
|
*/
|
|
247
260
|
declare function initCommand(program: Command2): void;
|
|
248
|
-
import {
|
|
249
|
-
import { Result as Result4 } from "@outfitter/contracts";
|
|
250
|
-
import { Command as Command3 } from "commander";
|
|
251
|
-
interface DiffPreview {
|
|
252
|
-
readonly path: string;
|
|
253
|
-
readonly preview: string;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Options for the migrate-kit command.
|
|
257
|
-
*/
|
|
258
|
-
interface MigrateKitOptions {
|
|
259
|
-
/** Target directory to migrate (defaults to cwd). */
|
|
260
|
-
readonly targetDir?: string | undefined;
|
|
261
|
-
/** Run codemod without writing changes to disk. */
|
|
262
|
-
readonly dryRun?: boolean | undefined;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Result from migrate-kit execution.
|
|
266
|
-
*/
|
|
267
|
-
interface MigrateKitResult {
|
|
268
|
-
readonly targetDir: string;
|
|
269
|
-
readonly dryRun: boolean;
|
|
270
|
-
readonly packageJsonFiles: number;
|
|
271
|
-
readonly sourceFiles: number;
|
|
272
|
-
readonly manifestUpdates: number;
|
|
273
|
-
readonly importRewrites: number;
|
|
274
|
-
readonly changedFiles: readonly string[];
|
|
275
|
-
readonly diffs: readonly DiffPreview[];
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Error returned when migration fails.
|
|
279
|
-
*/
|
|
280
|
-
declare class MigrateKitError extends Error {
|
|
281
|
-
readonly _tag: "MigrateKitError";
|
|
282
|
-
constructor(message: string);
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Runs the migrate-kit codemod programmatically.
|
|
286
|
-
*/
|
|
287
|
-
declare function runMigrateKit(options: MigrateKitOptions): Promise<Result4<MigrateKitResult, MigrateKitError>>;
|
|
288
|
-
/**
|
|
289
|
-
* Print migrate-kit results.
|
|
290
|
-
*/
|
|
291
|
-
declare function printMigrateKitResults(result: MigrateKitResult, options?: {
|
|
292
|
-
mode?: OutputMode3;
|
|
293
|
-
}): Promise<void>;
|
|
294
|
-
/**
|
|
295
|
-
* Register `migrate kit` command directly on Commander.
|
|
296
|
-
*
|
|
297
|
-
* @deprecated Use action-registry CLI wiring via `buildCliCommands(outfitterActions, ...)`.
|
|
298
|
-
*/
|
|
299
|
-
declare function migrateKitCommand(program: Command3): void;
|
|
300
|
-
import { Command as Command5 } from "commander";
|
|
261
|
+
import { Command as Command4 } from "commander";
|
|
301
262
|
type DocsMdxMode = "strict" | "lossy";
|
|
302
263
|
interface DocsBaseOptions {
|
|
303
264
|
readonly cwd?: string;
|
|
304
|
-
readonly workspaceRoot?: string;
|
|
305
|
-
readonly packagesDir?: string;
|
|
306
|
-
readonly outputDir?: string;
|
|
307
265
|
readonly excludedFilenames?: readonly string[];
|
|
308
266
|
readonly mdxMode?: DocsMdxMode;
|
|
267
|
+
readonly outputDir?: string;
|
|
268
|
+
readonly packagesDir?: string;
|
|
269
|
+
readonly workspaceRoot?: string;
|
|
309
270
|
}
|
|
310
271
|
interface ExecuteCheckCommandOptions extends DocsBaseOptions {}
|
|
311
272
|
interface ExecuteSyncCommandOptions extends DocsBaseOptions {}
|
|
@@ -317,70 +278,70 @@ interface ExecuteExportCommandOptions extends DocsBaseOptions {
|
|
|
317
278
|
}
|
|
318
279
|
type RepoCheckSubject = "docs" | "exports" | "readme" | "registry" | "changeset" | "tree" | "boundary-invocations";
|
|
319
280
|
interface RepoCommandIo {
|
|
320
|
-
readonly out?: (line: string) => void;
|
|
321
281
|
readonly err?: (line: string) => void;
|
|
282
|
+
readonly out?: (line: string) => void;
|
|
322
283
|
}
|
|
323
284
|
interface RepoToolingInvocation {
|
|
324
|
-
readonly command: "check-exports" | "check-readme-imports" | "check-bunup-registry" | "check-changeset" | "check-clean-tree" | "check-boundary-invocations";
|
|
325
285
|
readonly args: readonly string[];
|
|
286
|
+
readonly command: "check-exports" | "check-readme-imports" | "check-bunup-registry" | "check-changeset" | "check-clean-tree" | "check-boundary-invocations";
|
|
326
287
|
readonly cwd: string;
|
|
327
288
|
}
|
|
328
289
|
interface CreateRepoCommandOptions {
|
|
329
290
|
readonly commandName?: string;
|
|
330
291
|
readonly io?: RepoCommandIo;
|
|
331
292
|
readonly runDocsCheck?: (options: ExecuteCheckCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
|
|
332
|
-
readonly runDocsSync?: (options: ExecuteSyncCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
|
|
333
293
|
readonly runDocsExport?: (options: ExecuteExportCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
|
|
294
|
+
readonly runDocsSync?: (options: ExecuteSyncCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
|
|
334
295
|
readonly runToolingCommand?: (input: RepoToolingInvocation) => Promise<number>;
|
|
335
296
|
}
|
|
336
|
-
declare function createRepoCommand(options?: CreateRepoCommandOptions):
|
|
337
|
-
import { OutputMode as
|
|
338
|
-
import { Result as
|
|
297
|
+
declare function createRepoCommand(options?: CreateRepoCommandOptions): Command4;
|
|
298
|
+
import { OutputMode as OutputMode3 } from "@outfitter/cli/types";
|
|
299
|
+
import { Result as Result4 } from "@outfitter/contracts";
|
|
339
300
|
import { AddBlockResult as AddBlockResult2 } from "@outfitter/tooling";
|
|
340
|
-
import { Command as
|
|
301
|
+
import { Command as Command5 } from "commander";
|
|
341
302
|
interface ScaffoldOptions {
|
|
342
|
-
readonly
|
|
343
|
-
readonly
|
|
303
|
+
readonly cwd: string;
|
|
304
|
+
readonly dryRun: boolean;
|
|
344
305
|
readonly force: boolean;
|
|
306
|
+
readonly installTimeout?: number | undefined;
|
|
307
|
+
readonly local?: boolean | undefined;
|
|
308
|
+
readonly name?: string | undefined;
|
|
309
|
+
readonly noTooling?: boolean | undefined;
|
|
345
310
|
readonly skipInstall: boolean;
|
|
346
|
-
readonly
|
|
311
|
+
readonly target: string;
|
|
347
312
|
readonly with?: string | undefined;
|
|
348
|
-
readonly noTooling?: boolean | undefined;
|
|
349
|
-
readonly local?: boolean | undefined;
|
|
350
|
-
readonly cwd: string;
|
|
351
|
-
readonly installTimeout?: number | undefined;
|
|
352
313
|
}
|
|
353
314
|
interface ScaffoldCommandResult {
|
|
354
|
-
readonly
|
|
355
|
-
readonly rootDir: string;
|
|
356
|
-
readonly targetDir: string;
|
|
315
|
+
readonly blocksAdded?: AddBlockResult2 | undefined;
|
|
357
316
|
readonly converted: boolean;
|
|
317
|
+
readonly dryRunPlan?: {
|
|
318
|
+
readonly operations: readonly unknown[];
|
|
319
|
+
readonly summary: Record<string, number>;
|
|
320
|
+
} | undefined;
|
|
358
321
|
readonly movedExisting?: {
|
|
359
322
|
readonly from: string;
|
|
360
323
|
readonly to: string;
|
|
361
324
|
readonly name: string;
|
|
362
325
|
} | undefined;
|
|
363
|
-
readonly workspacePatternsUpdated: boolean;
|
|
364
|
-
readonly blocksAdded?: AddBlockResult2 | undefined;
|
|
365
326
|
readonly postScaffold: PostScaffoldResult;
|
|
366
|
-
readonly
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
327
|
+
readonly rootDir: string;
|
|
328
|
+
readonly target: string;
|
|
329
|
+
readonly targetDir: string;
|
|
330
|
+
readonly workspacePatternsUpdated: boolean;
|
|
370
331
|
}
|
|
371
332
|
declare class ScaffoldCommandError extends Error {
|
|
372
333
|
readonly _tag: "ScaffoldCommandError";
|
|
373
334
|
constructor(message: string);
|
|
374
335
|
}
|
|
375
|
-
declare function runScaffold(options: ScaffoldOptions): Promise<
|
|
336
|
+
declare function runScaffold(options: ScaffoldOptions): Promise<Result4<ScaffoldCommandResult, ScaffoldCommandError>>;
|
|
376
337
|
declare function printScaffoldResults(result: ScaffoldCommandResult, options?: {
|
|
377
|
-
readonly mode?:
|
|
338
|
+
readonly mode?: OutputMode3;
|
|
378
339
|
}): Promise<void>;
|
|
379
340
|
/**
|
|
380
341
|
* @deprecated Use action-registry CLI wiring via `buildCliCommands(outfitterActions, ...)`.
|
|
381
342
|
*/
|
|
382
|
-
declare function scaffoldCommand(program:
|
|
383
|
-
import { Result as
|
|
343
|
+
declare function scaffoldCommand(program: Command5): void;
|
|
344
|
+
import { Result as Result5, ValidationError as ValidationError2 } from "@outfitter/contracts";
|
|
384
345
|
/**
|
|
385
346
|
* Create planner types for kit-first project scaffolding.
|
|
386
347
|
*
|
|
@@ -389,20 +350,20 @@ import { Result as Result6, ValidationError as ValidationError2 } from "@outfitt
|
|
|
389
350
|
*/
|
|
390
351
|
type CreatePresetId = "basic" | "cli" | "daemon" | "mcp";
|
|
391
352
|
interface CreatePresetDefinition {
|
|
353
|
+
readonly defaultBlocks: readonly string[];
|
|
392
354
|
readonly id: CreatePresetId;
|
|
393
|
-
readonly template: CreatePresetId;
|
|
394
355
|
readonly summary: string;
|
|
395
|
-
readonly
|
|
356
|
+
readonly template: CreatePresetId;
|
|
396
357
|
}
|
|
397
358
|
interface CreateProjectInput {
|
|
398
|
-
readonly name: string;
|
|
399
|
-
readonly targetDir: string;
|
|
400
|
-
readonly preset: CreatePresetId;
|
|
401
|
-
readonly packageName?: string;
|
|
402
359
|
readonly description?: string;
|
|
403
|
-
readonly version?: string;
|
|
404
360
|
readonly includeTooling?: boolean;
|
|
405
361
|
readonly local?: boolean;
|
|
362
|
+
readonly name: string;
|
|
363
|
+
readonly packageName?: string;
|
|
364
|
+
readonly preset: CreatePresetId;
|
|
365
|
+
readonly targetDir: string;
|
|
366
|
+
readonly version?: string;
|
|
406
367
|
readonly year?: string;
|
|
407
368
|
}
|
|
408
369
|
type CreatePlanChange = {
|
|
@@ -420,6 +381,7 @@ type CreatePlanChange = {
|
|
|
420
381
|
readonly blocks: readonly string[];
|
|
421
382
|
};
|
|
422
383
|
interface CreateProjectPlan {
|
|
384
|
+
readonly changes: readonly CreatePlanChange[];
|
|
423
385
|
readonly preset: CreatePresetDefinition;
|
|
424
386
|
readonly values: {
|
|
425
387
|
readonly packageName: string;
|
|
@@ -429,10 +391,9 @@ interface CreateProjectPlan {
|
|
|
429
391
|
readonly binName: string;
|
|
430
392
|
readonly year: string;
|
|
431
393
|
};
|
|
432
|
-
readonly changes: readonly CreatePlanChange[];
|
|
433
394
|
}
|
|
434
|
-
declare function planCreateProject(input: CreateProjectInput):
|
|
395
|
+
declare function planCreateProject(input: CreateProjectInput): Result5<CreateProjectPlan, ValidationError2>;
|
|
435
396
|
declare const CREATE_PRESETS: Readonly<Record<CreatePresetId, CreatePresetDefinition>>;
|
|
436
397
|
declare const CREATE_PRESET_IDS: CreatePresetId[];
|
|
437
398
|
declare function getCreatePreset(id: string): CreatePresetDefinition | undefined;
|
|
438
|
-
export { scaffoldCommand, runScaffold,
|
|
399
|
+
export { scaffoldCommand, runScaffold, runInit, runDoctor, resolvePlacement, printScaffoldResults, printInitResults, printDoctorResults, planCreateProject, outfitterActions, listTargets, initCommand, getTarget, getScaffoldTarget, getReadyTarget, getInitTarget, getCreatePreset, doctorCommand, createRepoCommand, TargetStatus, TargetScope, TargetId, TargetDefinition, TargetCategory, TARGET_REGISTRY, TARGET_IDS, ScaffoldOptions, ScaffoldCommandResult, ScaffoldCommandError, SCAFFOLD_TARGET_IDS, RepoToolingInvocation, RepoCommandIo, RepoCheckSubject, READY_TARGET_IDS, PackageJsonCheck, InitStructure, InitResult, InitPresetId, InitOptions, InitError, INIT_TARGET_IDS, DoctorSummary, DoctorResult, DoctorOptions, DirectoriesCheck, DependenciesCheck, CreateRepoCommandOptions, CreateProjectPlan, CreateProjectInput, CreatePresetId, CreatePresetDefinition, CreatePlanChange, ConfigFilesCheck, CheckResult, CREATE_PRESET_IDS, CREATE_PRESETS, BunVersionCheck };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
INIT_TARGET_IDS,
|
|
3
3
|
InitError,
|
|
4
|
-
MigrateKitError,
|
|
5
4
|
READY_TARGET_IDS,
|
|
6
5
|
SCAFFOLD_TARGET_IDS,
|
|
7
6
|
ScaffoldCommandError,
|
|
@@ -17,19 +16,16 @@ import {
|
|
|
17
16
|
getTarget,
|
|
18
17
|
initCommand,
|
|
19
18
|
listTargets,
|
|
20
|
-
migrateKitCommand,
|
|
21
19
|
outfitterActions,
|
|
22
20
|
printDoctorResults,
|
|
23
21
|
printInitResults,
|
|
24
|
-
printMigrateKitResults,
|
|
25
22
|
printScaffoldResults,
|
|
26
23
|
resolvePlacement,
|
|
27
24
|
runDoctor,
|
|
28
25
|
runInit,
|
|
29
|
-
runMigrateKit,
|
|
30
26
|
runScaffold,
|
|
31
27
|
scaffoldCommand
|
|
32
|
-
} from "./shared/chunk-
|
|
28
|
+
} from "./shared/chunk-x6644tk8.js";
|
|
33
29
|
// src/create/planner.ts
|
|
34
30
|
import { Result, ValidationError } from "@outfitter/contracts";
|
|
35
31
|
|
|
@@ -139,17 +135,14 @@ function planCreateProject(input) {
|
|
|
139
135
|
export {
|
|
140
136
|
scaffoldCommand,
|
|
141
137
|
runScaffold,
|
|
142
|
-
runMigrateKit,
|
|
143
138
|
runInit,
|
|
144
139
|
runDoctor,
|
|
145
140
|
resolvePlacement,
|
|
146
141
|
printScaffoldResults,
|
|
147
|
-
printMigrateKitResults,
|
|
148
142
|
printInitResults,
|
|
149
143
|
printDoctorResults,
|
|
150
144
|
planCreateProject,
|
|
151
145
|
outfitterActions,
|
|
152
|
-
migrateKitCommand,
|
|
153
146
|
listTargets,
|
|
154
147
|
initCommand,
|
|
155
148
|
getTarget,
|
|
@@ -164,7 +157,6 @@ export {
|
|
|
164
157
|
ScaffoldCommandError,
|
|
165
158
|
SCAFFOLD_TARGET_IDS,
|
|
166
159
|
READY_TARGET_IDS,
|
|
167
|
-
MigrateKitError,
|
|
168
160
|
InitError,
|
|
169
161
|
INIT_TARGET_IDS,
|
|
170
162
|
CREATE_PRESET_IDS,
|
package/dist/manifest.d.ts
CHANGED
|
@@ -2,17 +2,17 @@ import { OutfitterError, Result } from "@outfitter/contracts";
|
|
|
2
2
|
import { ZodType } from "zod";
|
|
3
3
|
/** A single block entry in the manifest. */
|
|
4
4
|
interface BlockEntry {
|
|
5
|
-
/** Tooling version the block was installed from. */
|
|
6
|
-
installedFrom: string;
|
|
7
5
|
/** ISO 8601 timestamp of when the block was installed or last updated. */
|
|
8
6
|
installedAt: string;
|
|
7
|
+
/** Tooling version the block was installed from. */
|
|
8
|
+
installedFrom: string;
|
|
9
9
|
}
|
|
10
10
|
/** The full manifest structure. */
|
|
11
11
|
interface Manifest {
|
|
12
|
-
/** Manifest format version. Currently always 1. */
|
|
13
|
-
version: 1;
|
|
14
12
|
/** Map of block name to install metadata. */
|
|
15
13
|
blocks: Record<string, BlockEntry>;
|
|
14
|
+
/** Manifest format version. Currently always 1. */
|
|
15
|
+
version: 1;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Schema for a single block entry in the manifest.
|
package/dist/output-mode.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CliOutputMode, StructuredOutputMode, resolveOutputModeFromContext, resolveStructuredOutputMode } from "./shared/outfitter-a79xrm12";
|
|
1
|
+
import { CliOutputMode, StructuredOutputMode, resolveOutputModeFromContext, resolveStructuredOutputMode } from "./shared/outfitter-a79xrm12.js";
|
|
2
2
|
export { resolveStructuredOutputMode, resolveOutputModeFromContext, StructuredOutputMode, CliOutputMode };
|