wp-typia 0.20.5 → 0.22.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 +5 -0
- package/bin/argv-walker.d.ts +19 -0
- package/bin/argv-walker.js +53 -0
- package/bin/routing-metadata.generated.d.ts +3 -1
- package/bin/routing-metadata.generated.js +57 -37
- package/bin/runtime-routing.d.ts +34 -0
- package/bin/runtime-routing.js +124 -0
- package/bin/wp-typia.js +97 -90
- package/dist-bunli/.bunli/commands.gen.js +5705 -1385
- package/dist-bunli/{cli-j1tyw390.js → cli-1w5vkye4.js} +989 -266
- package/dist-bunli/{cli-tesygdnr.js → cli-39er8888.js} +29 -2
- package/dist-bunli/{cli-add-6byyahb8.js → cli-add-kjhghdqq.js} +2488 -479
- package/dist-bunli/{cli-diagnostics-zecc6w1f.js → cli-diagnostics-5dvztm7q.js} +8 -2
- package/dist-bunli/{cli-doctor-2bc4sq7v.js → cli-doctor-p3jxvn0k.js} +493 -20
- package/dist-bunli/{cli-2rev5hqm.js → cli-e623rs7g.js} +1 -1
- package/dist-bunli/cli-init-djhwr245.js +844 -0
- package/dist-bunli/{cli-3w3qxq9w.js → cli-j180bk07.js} +260 -25
- package/dist-bunli/{cli-xnh2s5kz.js → cli-ktp869eh.js} +350 -41
- package/dist-bunli/{cli-xxzpb58s.js → cli-p95wr1q8.js} +72 -4
- package/dist-bunli/{cli-scaffold-19gyvxxt.js → cli-scaffold-376yw891.js} +6 -5
- package/dist-bunli/cli.js +31 -117
- package/dist-bunli/{command-list-pztcgga5.js → command-list-jt1a1w7r.js} +587 -320
- package/dist-bunli/{migrations-1p6mbkyw.js → migrations-nwas5bwt.js} +2 -2
- package/dist-bunli/node-cli.js +1063 -556
- package/package.json +5 -3
- package/dist-bunli/cli-init-gdyp9enw.js +0 -341
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wp-typia",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "Canonical CLI package for wp-typia scaffolding and project workflows",
|
|
5
5
|
"packageManager": "bun@1.3.11",
|
|
6
6
|
"type": "module",
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
"package.json"
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
|
-
"generate": "
|
|
17
|
+
"generate:routing": "node scripts/generate-routing-metadata.mjs",
|
|
18
|
+
"validate:routing": "node scripts/generate-routing-metadata.mjs --check",
|
|
19
|
+
"generate": "node scripts/generate-routing-metadata.mjs && bun scripts/generate-bunli-metadata.ts",
|
|
18
20
|
"build": "bun run generate && bun scripts/build-bunli-runtime.ts",
|
|
19
21
|
"build:standalone": "bun scripts/build-standalone-runtime.ts --targets native --outdir ./dist-standalone",
|
|
20
22
|
"build:standalone:release": "bun scripts/build-standalone-runtime.ts --targets darwin-arm64,darwin-x64,linux-arm64,linux-x64,windows-x64 --outdir ./.cache/standalone/raw",
|
|
@@ -68,7 +70,7 @@
|
|
|
68
70
|
"@bunli/tui": "0.6.0",
|
|
69
71
|
"@bunli/utils": "0.6.0",
|
|
70
72
|
"@wp-typia/api-client": "^0.4.5",
|
|
71
|
-
"@wp-typia/project-tools": "0.
|
|
73
|
+
"@wp-typia/project-tools": "0.22.0",
|
|
72
74
|
"better-result": "^2.7.0",
|
|
73
75
|
"react": "^19.2.5",
|
|
74
76
|
"react-dom": "^19.2.5",
|
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
getPackageVersions
|
|
4
|
-
} from "./cli-tesygdnr.js";
|
|
5
|
-
import {
|
|
6
|
-
discoverMigrationInitLayout
|
|
7
|
-
} from "./cli-gcbre1zs.js";
|
|
8
|
-
import {
|
|
9
|
-
formatAddDevDependenciesCommand,
|
|
10
|
-
formatPackageExecCommand,
|
|
11
|
-
formatRunScript,
|
|
12
|
-
getPackageManager,
|
|
13
|
-
transformPackageManagerText
|
|
14
|
-
} from "./cli-sj5mtyzj.js";
|
|
15
|
-
import"./cli-tke8twkn.js";
|
|
16
|
-
import {
|
|
17
|
-
parseWorkspacePackageManagerId,
|
|
18
|
-
tryResolveWorkspaceProject
|
|
19
|
-
} from "./cli-pd5pqgre.js";
|
|
20
|
-
import"./cli-xnn9xjcy.js";
|
|
21
|
-
|
|
22
|
-
// ../wp-typia-project-tools/src/runtime/cli-init.ts
|
|
23
|
-
import fs from "fs";
|
|
24
|
-
import path from "path";
|
|
25
|
-
var SUPPORTED_RETROFIT_LAYOUT_NOTE = "Supported retrofit layouts currently mirror the migration bootstrap detector: `src/block.json` + `src/types.ts` + `src/save.tsx`, legacy root `block.json` + `src/types.ts` + `src/save.tsx`, or multi-block `src/blocks/*/block.json` workspaces.";
|
|
26
|
-
var BASE_RETROFIT_SCRIPTS = {
|
|
27
|
-
sync: "tsx scripts/sync-project.ts",
|
|
28
|
-
"sync-types": "tsx scripts/sync-types-to-block-json.ts",
|
|
29
|
-
typecheck: "bun run sync --check && tsc --noEmit"
|
|
30
|
-
};
|
|
31
|
-
var BASE_RETROFIT_DEV_DEPENDENCIES = [
|
|
32
|
-
"@typia/unplugin",
|
|
33
|
-
"@wp-typia/block-runtime",
|
|
34
|
-
"@wp-typia/block-types",
|
|
35
|
-
"tsx",
|
|
36
|
-
"typescript",
|
|
37
|
-
"typia"
|
|
38
|
-
];
|
|
39
|
-
function normalizeRelativePath(value) {
|
|
40
|
-
return value.replace(/\\/gu, "/");
|
|
41
|
-
}
|
|
42
|
-
function readProjectPackageJson(projectDir) {
|
|
43
|
-
const packageJsonPath = path.join(projectDir, "package.json");
|
|
44
|
-
if (!fs.existsSync(packageJsonPath)) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
return JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
48
|
-
}
|
|
49
|
-
function inferInitPackageManager(projectDir, packageJson) {
|
|
50
|
-
if (packageJson?.packageManager) {
|
|
51
|
-
return parseWorkspacePackageManagerId(packageJson.packageManager);
|
|
52
|
-
}
|
|
53
|
-
if (fs.existsSync(path.join(projectDir, "bun.lock")) || fs.existsSync(path.join(projectDir, "bun.lockb"))) {
|
|
54
|
-
return "bun";
|
|
55
|
-
}
|
|
56
|
-
if (fs.existsSync(path.join(projectDir, "pnpm-lock.yaml"))) {
|
|
57
|
-
return "pnpm";
|
|
58
|
-
}
|
|
59
|
-
if (fs.existsSync(path.join(projectDir, "yarn.lock")) || fs.existsSync(path.join(projectDir, ".yarnrc.yml"))) {
|
|
60
|
-
return "yarn";
|
|
61
|
-
}
|
|
62
|
-
return "npm";
|
|
63
|
-
}
|
|
64
|
-
function getWpTypiaCliSpecifier() {
|
|
65
|
-
const versions = getPackageVersions();
|
|
66
|
-
return versions.wpTypiaPackageExactVersion === "0.0.0" ? "wp-typia" : `wp-typia@${versions.wpTypiaPackageExactVersion}`;
|
|
67
|
-
}
|
|
68
|
-
function buildRequiredDevDependencyMap() {
|
|
69
|
-
const versions = getPackageVersions();
|
|
70
|
-
return {
|
|
71
|
-
"@typia/unplugin": "^12.0.1",
|
|
72
|
-
"@wp-typia/block-runtime": versions.blockRuntimePackageVersion,
|
|
73
|
-
"@wp-typia/block-types": versions.blockTypesPackageVersion,
|
|
74
|
-
tsx: "^4.20.5",
|
|
75
|
-
typescript: "^5.9.2",
|
|
76
|
-
typia: "^12.0.1"
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function getExistingDependencyVersion(packageJson, name) {
|
|
80
|
-
return packageJson?.devDependencies?.[name] ?? packageJson?.dependencies?.[name];
|
|
81
|
-
}
|
|
82
|
-
function buildDependencyChanges(packageJson) {
|
|
83
|
-
const requiredDependencies = buildRequiredDevDependencyMap();
|
|
84
|
-
return BASE_RETROFIT_DEV_DEPENDENCIES.flatMap((name) => {
|
|
85
|
-
const requiredValue = requiredDependencies[name];
|
|
86
|
-
const currentValue = getExistingDependencyVersion(packageJson, name);
|
|
87
|
-
if (currentValue === requiredValue) {
|
|
88
|
-
return [];
|
|
89
|
-
}
|
|
90
|
-
return [
|
|
91
|
-
{
|
|
92
|
-
action: currentValue ? "update" : "add",
|
|
93
|
-
...currentValue ? { currentValue } : {},
|
|
94
|
-
name,
|
|
95
|
-
requiredValue
|
|
96
|
-
}
|
|
97
|
-
];
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
function buildScriptChanges(packageJson, packageManager) {
|
|
101
|
-
const scripts = packageJson?.scripts ?? {};
|
|
102
|
-
return Object.entries(BASE_RETROFIT_SCRIPTS).flatMap(([name, commandSource]) => {
|
|
103
|
-
const requiredValue = transformPackageManagerText(commandSource, packageManager);
|
|
104
|
-
const currentValue = scripts[name];
|
|
105
|
-
if (currentValue === requiredValue) {
|
|
106
|
-
return [];
|
|
107
|
-
}
|
|
108
|
-
return [
|
|
109
|
-
{
|
|
110
|
-
action: typeof currentValue === "string" ? "update" : "add",
|
|
111
|
-
...typeof currentValue === "string" ? { currentValue } : {},
|
|
112
|
-
name,
|
|
113
|
-
requiredValue
|
|
114
|
-
}
|
|
115
|
-
];
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
function buildPackageManagerFieldChange(packageJson, packageManager) {
|
|
119
|
-
if (packageManager === "npm") {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
const requiredValue = getPackageManager(packageManager).packageManagerField;
|
|
123
|
-
const currentValue = packageJson?.packageManager;
|
|
124
|
-
if (currentValue === requiredValue) {
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
action: typeof currentValue === "string" ? "update" : "add",
|
|
129
|
-
...typeof currentValue === "string" ? { currentValue } : {},
|
|
130
|
-
requiredValue
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
function buildGeneratedArtifactPaths(blockJsonFile, manifestFile) {
|
|
134
|
-
const manifestDir = path.dirname(manifestFile);
|
|
135
|
-
const artifactPaths = [
|
|
136
|
-
blockJsonFile,
|
|
137
|
-
manifestFile,
|
|
138
|
-
path.join(manifestDir, "typia.schema.json"),
|
|
139
|
-
path.join(manifestDir, "typia-validator.php"),
|
|
140
|
-
path.join(manifestDir, "typia.openapi.json")
|
|
141
|
-
];
|
|
142
|
-
return Array.from(new Set(artifactPaths.map((filePath) => normalizeRelativePath(filePath))));
|
|
143
|
-
}
|
|
144
|
-
function buildLayoutDetails(projectDir) {
|
|
145
|
-
try {
|
|
146
|
-
const discoveredLayout = discoverMigrationInitLayout(projectDir);
|
|
147
|
-
if (discoveredLayout.mode === "multi") {
|
|
148
|
-
return {
|
|
149
|
-
blockNames: discoveredLayout.blocks.map((block) => block.blockName),
|
|
150
|
-
description: `Detected a supported multi-block retrofit candidate (${discoveredLayout.blocks.length} targets).`,
|
|
151
|
-
generatedArtifacts: discoveredLayout.blocks.flatMap((block) => buildGeneratedArtifactPaths(block.blockJsonFile, block.manifestFile)),
|
|
152
|
-
kind: "multi-block",
|
|
153
|
-
notes: [
|
|
154
|
-
"Migration bootstrap can stay optional. Add it later with `wp-typia migrate init --current-migration-version v1` once the typed sync surface is in place."
|
|
155
|
-
]
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
return {
|
|
159
|
-
blockNames: [discoveredLayout.block.blockName],
|
|
160
|
-
description: "Detected a supported single-block retrofit candidate.",
|
|
161
|
-
generatedArtifacts: buildGeneratedArtifactPaths(discoveredLayout.block.blockJsonFile, discoveredLayout.block.manifestFile),
|
|
162
|
-
kind: "single-block",
|
|
163
|
-
notes: discoveredLayout.block.blockJsonFile === "block.json" ? [
|
|
164
|
-
"Legacy root `block.json` layouts are still supported for retrofit planning, but newer scaffolds keep generated block metadata under `src/`."
|
|
165
|
-
] : []
|
|
166
|
-
};
|
|
167
|
-
} catch (error) {
|
|
168
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
169
|
-
return {
|
|
170
|
-
blockNames: [],
|
|
171
|
-
description: "No supported retrofit layout was auto-detected yet.",
|
|
172
|
-
generatedArtifacts: [],
|
|
173
|
-
kind: "unsupported",
|
|
174
|
-
notes: [message, SUPPORTED_RETROFIT_LAYOUT_NOTE]
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
function hasExistingWpTypiaProjectSurface(packageJson) {
|
|
179
|
-
const scripts = packageJson?.scripts ?? {};
|
|
180
|
-
const hasSyncSurface = typeof scripts.sync === "string" || typeof scripts["sync-types"] === "string";
|
|
181
|
-
const hasRuntimeDeps = typeof getExistingDependencyVersion(packageJson, "@wp-typia/block-runtime") === "string" && typeof getExistingDependencyVersion(packageJson, "@wp-typia/block-types") === "string";
|
|
182
|
-
return hasSyncSurface && hasRuntimeDeps;
|
|
183
|
-
}
|
|
184
|
-
function buildPlannedFiles(layoutKind) {
|
|
185
|
-
const plannedFiles = [
|
|
186
|
-
{
|
|
187
|
-
path: "scripts/sync-types-to-block-json.ts",
|
|
188
|
-
purpose: "Generate block.json and Typia metadata artifacts from the current TypeScript source of truth."
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
path: "scripts/sync-project.ts",
|
|
192
|
-
purpose: "Provide one shared sync entrypoint that can grow into sync-rest or workspace-aware refresh steps later."
|
|
193
|
-
}
|
|
194
|
-
];
|
|
195
|
-
if (layoutKind === "unsupported") {
|
|
196
|
-
plannedFiles.unshift({
|
|
197
|
-
path: "package.json",
|
|
198
|
-
purpose: "Add the minimum wp-typia devDependencies and scripts once the project matches a supported retrofit layout."
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
return plannedFiles;
|
|
202
|
-
}
|
|
203
|
-
function buildChangeSummary(changes) {
|
|
204
|
-
const lines = [];
|
|
205
|
-
for (const dependencyChange of changes.packageChanges.addDevDependencies) {
|
|
206
|
-
lines.push(`devDependency ${dependencyChange.action} ${dependencyChange.name} -> ${dependencyChange.requiredValue}`);
|
|
207
|
-
}
|
|
208
|
-
if (changes.packageChanges.packageManagerField) {
|
|
209
|
-
lines.push(`packageManager ${changes.packageChanges.packageManagerField.action} -> ${changes.packageChanges.packageManagerField.requiredValue}`);
|
|
210
|
-
}
|
|
211
|
-
for (const scriptChange of changes.packageChanges.scripts) {
|
|
212
|
-
lines.push(`script ${scriptChange.action} ${scriptChange.name} -> ${scriptChange.requiredValue}`);
|
|
213
|
-
}
|
|
214
|
-
for (const filePlan of changes.plannedFiles) {
|
|
215
|
-
lines.push(`file add ${filePlan.path} (${filePlan.purpose})`);
|
|
216
|
-
}
|
|
217
|
-
for (const artifactPath of changes.generatedArtifacts) {
|
|
218
|
-
lines.push(`generated artifact ${artifactPath}`);
|
|
219
|
-
}
|
|
220
|
-
return lines;
|
|
221
|
-
}
|
|
222
|
-
function buildNextSteps(options) {
|
|
223
|
-
const cliSpecifier = getWpTypiaCliSpecifier();
|
|
224
|
-
const syncTypesRun = formatRunScript(options.packageManager, "sync-types");
|
|
225
|
-
const syncRun = formatRunScript(options.packageManager, "sync");
|
|
226
|
-
const doctorRun = formatPackageExecCommand(options.packageManager, cliSpecifier, "doctor");
|
|
227
|
-
const migrationInitRun = formatPackageExecCommand(options.packageManager, cliSpecifier, "migrate init --current-migration-version v1");
|
|
228
|
-
const dependencyInstallCommand = formatAddDevDependenciesCommand(options.packageManager, buildRequiredDevDependencyMapEntries());
|
|
229
|
-
if (options.layoutKind === "unsupported") {
|
|
230
|
-
return [
|
|
231
|
-
"Align the project to one of the supported retrofit layouts listed below, then rerun `wp-typia init`.",
|
|
232
|
-
dependencyInstallCommand,
|
|
233
|
-
syncTypesRun,
|
|
234
|
-
doctorRun
|
|
235
|
-
];
|
|
236
|
-
}
|
|
237
|
-
const steps = [
|
|
238
|
-
...options.changeSummaryLines.length > 0 ? [
|
|
239
|
-
"Apply the planned package.json changes and helper files listed below.",
|
|
240
|
-
dependencyInstallCommand
|
|
241
|
-
] : [],
|
|
242
|
-
syncRun,
|
|
243
|
-
doctorRun,
|
|
244
|
-
`Optional migration bootstrap: ${migrationInitRun}`
|
|
245
|
-
];
|
|
246
|
-
return steps;
|
|
247
|
-
}
|
|
248
|
-
function buildRequiredDevDependencyMapEntries() {
|
|
249
|
-
return Object.entries(buildRequiredDevDependencyMap()).map(([name, version]) => `${name}@${version.replace(/^workspace:/u, "")}`);
|
|
250
|
-
}
|
|
251
|
-
function getInitPlan(projectDir) {
|
|
252
|
-
const resolvedProjectDir = path.resolve(projectDir);
|
|
253
|
-
const packageJson = readProjectPackageJson(resolvedProjectDir);
|
|
254
|
-
const packageManager = inferInitPackageManager(resolvedProjectDir, packageJson);
|
|
255
|
-
const workspace = tryResolveWorkspaceProject(resolvedProjectDir);
|
|
256
|
-
if (workspace) {
|
|
257
|
-
return {
|
|
258
|
-
commandMode: "preview-only",
|
|
259
|
-
detectedLayout: {
|
|
260
|
-
blockNames: [],
|
|
261
|
-
description: "Already an official wp-typia workspace.",
|
|
262
|
-
kind: "official-workspace"
|
|
263
|
-
},
|
|
264
|
-
generatedArtifacts: [],
|
|
265
|
-
nextSteps: [
|
|
266
|
-
formatPackageExecCommand(packageManager, getWpTypiaCliSpecifier(), "doctor"),
|
|
267
|
-
"Use `wp-typia add ...` to extend this workspace instead of rerunning init."
|
|
268
|
-
],
|
|
269
|
-
notes: [
|
|
270
|
-
"The official workspace template already owns inventory, doctor, and add-command workflows."
|
|
271
|
-
],
|
|
272
|
-
packageChanges: {
|
|
273
|
-
addDevDependencies: [],
|
|
274
|
-
scripts: []
|
|
275
|
-
},
|
|
276
|
-
plannedFiles: [],
|
|
277
|
-
packageManager,
|
|
278
|
-
projectDir: workspace.projectDir,
|
|
279
|
-
projectName: workspace.packageName,
|
|
280
|
-
status: "already-initialized",
|
|
281
|
-
summary: "This directory is already an official wp-typia workspace. No retrofit bootstrap is needed."
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
const projectName = typeof packageJson?.name === "string" && packageJson.name.length > 0 ? packageJson.name : path.basename(resolvedProjectDir);
|
|
285
|
-
const layout = buildLayoutDetails(resolvedProjectDir);
|
|
286
|
-
const dependencyChanges = buildDependencyChanges(packageJson);
|
|
287
|
-
const scriptChanges = buildScriptChanges(packageJson, packageManager);
|
|
288
|
-
const packageManagerFieldChange = buildPackageManagerFieldChange(packageJson, packageManager);
|
|
289
|
-
const rawPlannedFiles = layout.kind === "generated-project" || layout.kind === "official-workspace" ? [] : buildPlannedFiles(layout.kind);
|
|
290
|
-
const hasExistingSurface = hasExistingWpTypiaProjectSurface(packageJson);
|
|
291
|
-
const status = hasExistingSurface && dependencyChanges.length === 0 && scriptChanges.length === 0 && packageManagerFieldChange === undefined ? "already-initialized" : "preview";
|
|
292
|
-
const plannedFiles = status === "already-initialized" ? [] : rawPlannedFiles;
|
|
293
|
-
const detectedLayout = status === "already-initialized" && hasExistingSurface ? {
|
|
294
|
-
blockNames: layout.blockNames,
|
|
295
|
-
description: layout.kind === "unsupported" ? "Already exposes the minimum wp-typia sync surface." : `Already exposes the minimum wp-typia sync surface for ${layout.kind === "multi-block" ? "a multi-block project" : "a single-block project"}.`,
|
|
296
|
-
kind: "generated-project"
|
|
297
|
-
} : {
|
|
298
|
-
blockNames: layout.blockNames,
|
|
299
|
-
description: layout.description,
|
|
300
|
-
kind: layout.kind
|
|
301
|
-
};
|
|
302
|
-
const plan = {
|
|
303
|
-
commandMode: "preview-only",
|
|
304
|
-
detectedLayout,
|
|
305
|
-
generatedArtifacts: status === "already-initialized" && detectedLayout.kind === "generated-project" ? [] : layout.generatedArtifacts,
|
|
306
|
-
nextSteps: buildNextSteps({
|
|
307
|
-
changeSummaryLines: buildChangeSummary({
|
|
308
|
-
generatedArtifacts: status === "already-initialized" && detectedLayout.kind === "generated-project" ? [] : layout.generatedArtifacts,
|
|
309
|
-
packageChanges: {
|
|
310
|
-
addDevDependencies: dependencyChanges,
|
|
311
|
-
...packageManagerFieldChange ? { packageManagerField: packageManagerFieldChange } : {},
|
|
312
|
-
scripts: scriptChanges
|
|
313
|
-
},
|
|
314
|
-
plannedFiles
|
|
315
|
-
}),
|
|
316
|
-
layoutKind: detectedLayout.kind,
|
|
317
|
-
packageManager
|
|
318
|
-
}),
|
|
319
|
-
notes: Array.from(new Set([
|
|
320
|
-
"Preview only: `wp-typia init` does not write files yet.",
|
|
321
|
-
...layout.notes
|
|
322
|
-
])),
|
|
323
|
-
packageChanges: {
|
|
324
|
-
addDevDependencies: dependencyChanges,
|
|
325
|
-
...packageManagerFieldChange ? { packageManagerField: packageManagerFieldChange } : {},
|
|
326
|
-
scripts: scriptChanges
|
|
327
|
-
},
|
|
328
|
-
plannedFiles,
|
|
329
|
-
packageManager,
|
|
330
|
-
projectDir: resolvedProjectDir,
|
|
331
|
-
projectName,
|
|
332
|
-
status,
|
|
333
|
-
summary: status === "already-initialized" ? "This project already exposes the minimum wp-typia retrofit surface." : "This command previews the minimum wp-typia adoption layer for the current project without rewriting it into a full scaffold."
|
|
334
|
-
};
|
|
335
|
-
return plan;
|
|
336
|
-
}
|
|
337
|
-
export {
|
|
338
|
-
getInitPlan
|
|
339
|
-
};
|
|
340
|
-
|
|
341
|
-
//# debugId=F6A06C1FFAC8410864756E2164756E21
|