wp-typia 0.24.4 → 0.24.6
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 +8 -6
- package/bin/wp-typia.js +24 -103
- package/{dist-bunli/node-cli.js → dist/cli.js} +5086 -3693
- package/package.json +9 -36
- package/bin/routing-metadata.generated.d.ts +0 -8
- package/bin/routing-metadata.generated.js +0 -93
- package/bin/runtime-routing.d.ts +0 -34
- package/bin/runtime-routing.js +0 -124
- package/dist-bunli/.bunli/commands.gen.js +0 -304441
- package/dist-bunli/.bunli/highlights-eq9cgrbb.scm +0 -604
- package/dist-bunli/.bunli/highlights-ghv9g403.scm +0 -205
- package/dist-bunli/.bunli/highlights-hk7bwhj4.scm +0 -284
- package/dist-bunli/.bunli/highlights-r812a2qc.scm +0 -150
- package/dist-bunli/.bunli/highlights-x6tmsnaa.scm +0 -115
- package/dist-bunli/.bunli/injections-73j83es3.scm +0 -27
- package/dist-bunli/.bunli/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist-bunli/.bunli/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist-bunli/.bunli/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist-bunli/.bunli/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist-bunli/.bunli/tree-sitter-zig-e78zbjpm.wasm +0 -0
- package/dist-bunli/agents-91fpdyyt.js +0 -12
- package/dist-bunli/chunk-bdqvmfwv-f5qmzmxg.js +0 -16825
- package/dist-bunli/cli-03j0axbt.js +0 -163
- package/dist-bunli/cli-1170yyve.js +0 -106
- package/dist-bunli/cli-368d4cgy.js +0 -1235
- package/dist-bunli/cli-377p86mf.js +0 -191
- package/dist-bunli/cli-6v0pcxw6.js +0 -314
- package/dist-bunli/cli-84c7wff4.js +0 -198
- package/dist-bunli/cli-8hxf9qw6.js +0 -198
- package/dist-bunli/cli-9fx0qgb7.js +0 -3680
- package/dist-bunli/cli-ac2ebaf8.js +0 -3
- package/dist-bunli/cli-add-qjd3ba8j.js +0 -10671
- package/dist-bunli/cli-am5x7tb4.js +0 -192
- package/dist-bunli/cli-bajwv85z.js +0 -24
- package/dist-bunli/cli-ccax7s0s.js +0 -34
- package/dist-bunli/cli-cvxvcw7c.js +0 -46
- package/dist-bunli/cli-diagnostics-10drxh34.js +0 -34
- package/dist-bunli/cli-doctor-6fyxq940.js +0 -1446
- package/dist-bunli/cli-e4bwd81c.js +0 -1260
- package/dist-bunli/cli-fv4h3ydt.js +0 -173823
- package/dist-bunli/cli-hv2yedw2.js +0 -74591
- package/dist-bunli/cli-init-7avk42dh.js +0 -880
- package/dist-bunli/cli-kfm9mm68.js +0 -14679
- package/dist-bunli/cli-prompt-ncyg68rn.js +0 -12
- package/dist-bunli/cli-rdcga1bd.js +0 -135
- package/dist-bunli/cli-scaffold-0bb6pr3w.js +0 -538
- package/dist-bunli/cli-t73q5aqz.js +0 -103
- package/dist-bunli/cli-templates-g8t4fm11.js +0 -167
- package/dist-bunli/cli-tj7ajdvf.js +0 -2612
- package/dist-bunli/cli-tq730sqt.js +0 -344
- package/dist-bunli/cli-xnn9xjcy.js +0 -68
- package/dist-bunli/cli-z48frc8t.js +0 -229
- package/dist-bunli/cli.js +0 -2523
- package/dist-bunli/command-list-y3g7e9rb.js +0 -4013
- package/dist-bunli/create-template-validation-4fr851vg.js +0 -16
- package/dist-bunli/migrations-3vngdy51.js +0 -47
- package/dist-bunli/sync-k2k8svyc.js +0 -13
- package/dist-bunli/workspace-project-gmv2a71z.js +0 -22
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
PROJECT_TOOLS_PACKAGE_ROOT
|
|
4
|
-
} from "./cli-8hxf9qw6.js";
|
|
5
|
-
import {
|
|
6
|
-
getOptionalNodeErrorCode
|
|
7
|
-
} from "./cli-fv4h3ydt.js";
|
|
8
|
-
import {
|
|
9
|
-
safeJsonParse
|
|
10
|
-
} from "./cli-ccax7s0s.js";
|
|
11
|
-
|
|
12
|
-
// ../wp-typia-project-tools/src/runtime/package-versions.ts
|
|
13
|
-
import fs from "fs";
|
|
14
|
-
import { createRequire } from "module";
|
|
15
|
-
import path from "path";
|
|
16
|
-
var require2 = createRequire(import.meta.url);
|
|
17
|
-
var DEFAULT_VERSION_RANGE = "^0.0.0";
|
|
18
|
-
var DEFAULT_EXACT_VERSION = "0.0.0";
|
|
19
|
-
var DEFAULT_TSX_PACKAGE_VERSION = "^4.20.5";
|
|
20
|
-
var DEFAULT_TYPIA_UNPLUGIN_PACKAGE_VERSION = "^12.0.1";
|
|
21
|
-
var DEFAULT_WORDPRESS_ABILITIES_VERSION = "^0.10.0";
|
|
22
|
-
var DEFAULT_WORDPRESS_CORE_ABILITIES_VERSION = "^0.9.0";
|
|
23
|
-
var DEFAULT_WORDPRESS_CORE_DATA_VERSION = "^7.44.0";
|
|
24
|
-
var DEFAULT_WORDPRESS_DATA_VERSION = "^9.28.0";
|
|
25
|
-
var DEFAULT_WORDPRESS_DATAVIEWS_VERSION = "^14.1.0";
|
|
26
|
-
var DEFAULT_WORDPRESS_ENV_VERSION = "^11.2.0";
|
|
27
|
-
var DEFAULT_WP_TYPIA_DATAVIEWS_VERSION = "^0.1.1";
|
|
28
|
-
var cachedPackageVersions = null;
|
|
29
|
-
function normalizeVersionRange(value) {
|
|
30
|
-
const trimmed = value?.trim();
|
|
31
|
-
if (!trimmed) {
|
|
32
|
-
return DEFAULT_VERSION_RANGE;
|
|
33
|
-
}
|
|
34
|
-
if (trimmed.startsWith("workspace:")) {
|
|
35
|
-
return DEFAULT_VERSION_RANGE;
|
|
36
|
-
}
|
|
37
|
-
return /^[~^<>=]/.test(trimmed) ? trimmed : `^${trimmed}`;
|
|
38
|
-
}
|
|
39
|
-
function normalizeExactVersion(value) {
|
|
40
|
-
const trimmed = value?.trim();
|
|
41
|
-
if (!trimmed) {
|
|
42
|
-
return DEFAULT_EXACT_VERSION;
|
|
43
|
-
}
|
|
44
|
-
if (trimmed.startsWith("workspace:")) {
|
|
45
|
-
return DEFAULT_EXACT_VERSION;
|
|
46
|
-
}
|
|
47
|
-
return trimmed.replace(/^[~^<>=]+/, "");
|
|
48
|
-
}
|
|
49
|
-
function normalizeVersionRangeWithFallback(value, fallback) {
|
|
50
|
-
const normalized = normalizeVersionRange(value);
|
|
51
|
-
return normalized === DEFAULT_VERSION_RANGE ? fallback : normalized;
|
|
52
|
-
}
|
|
53
|
-
function createContentFingerprint(source) {
|
|
54
|
-
let hash = 2166136261;
|
|
55
|
-
for (let index = 0;index < source.length; index += 1) {
|
|
56
|
-
hash ^= source.charCodeAt(index);
|
|
57
|
-
hash = Math.imul(hash, 16777619);
|
|
58
|
-
}
|
|
59
|
-
return (hash >>> 0).toString(16);
|
|
60
|
-
}
|
|
61
|
-
function readPackageManifestFile(packageJsonPath) {
|
|
62
|
-
const fileDescriptor = fs.openSync(packageJsonPath, "r");
|
|
63
|
-
try {
|
|
64
|
-
const stats = fs.fstatSync(fileDescriptor);
|
|
65
|
-
const source = fs.readFileSync(fileDescriptor, "utf8");
|
|
66
|
-
return { source, stats };
|
|
67
|
-
} finally {
|
|
68
|
-
fs.closeSync(fileDescriptor);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function resolvePackageManifestLocation(packageJsonPath) {
|
|
72
|
-
try {
|
|
73
|
-
const { source, stats } = readPackageManifestFile(packageJsonPath);
|
|
74
|
-
return {
|
|
75
|
-
cacheKey: `file:${packageJsonPath}:${stats.ino}:${stats.mtimeMs}:${stats.ctimeMs}:${stats.size}:${createContentFingerprint(source)}`,
|
|
76
|
-
packageJsonPath,
|
|
77
|
-
source
|
|
78
|
-
};
|
|
79
|
-
} catch (error) {
|
|
80
|
-
if (getOptionalNodeErrorCode(error) === "ENOENT") {
|
|
81
|
-
return {
|
|
82
|
-
cacheKey: `missing-file:${packageJsonPath}`,
|
|
83
|
-
packageJsonPath: null,
|
|
84
|
-
source: null
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
throw error;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
function readPackageManifest(location) {
|
|
91
|
-
if (!location.packageJsonPath || location.source === null) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
return safeJsonParse(location.source, {
|
|
95
|
-
context: "package version manifest",
|
|
96
|
-
filePath: location.packageJsonPath
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
function tryReadPackageManifest(location) {
|
|
100
|
-
if (!location) {
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
try {
|
|
104
|
-
return readPackageManifest(location);
|
|
105
|
-
} catch {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
function resolveInstalledPackageManifestLocation(packageName) {
|
|
110
|
-
try {
|
|
111
|
-
return resolvePackageManifestLocation(require2.resolve(`${packageName}/package.json`));
|
|
112
|
-
} catch (error) {
|
|
113
|
-
if (getOptionalNodeErrorCode(error) === "MODULE_NOT_FOUND") {
|
|
114
|
-
return {
|
|
115
|
-
cacheKey: `missing-module:${packageName}`,
|
|
116
|
-
packageJsonPath: null,
|
|
117
|
-
source: null
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
throw error;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
function composePackageVersionsCacheKey(locations) {
|
|
124
|
-
return locations.map((location) => location.cacheKey).join("|");
|
|
125
|
-
}
|
|
126
|
-
function resolveManagedPackageVersionRange(options) {
|
|
127
|
-
const workspaceManifestLocation = options.workspacePackageDirName ? resolvePackageManifestLocation(path.join(PROJECT_TOOLS_PACKAGE_ROOT, "..", options.workspacePackageDirName, "package.json")) : null;
|
|
128
|
-
const installedManifestLocation = resolveInstalledPackageManifestLocation(options.packageName);
|
|
129
|
-
const workspaceManifest = tryReadPackageManifest(workspaceManifestLocation);
|
|
130
|
-
const installedManifest = tryReadPackageManifest(installedManifestLocation);
|
|
131
|
-
return normalizeVersionRangeWithFallback(workspaceManifest?.version ?? installedManifest?.version, options.fallback);
|
|
132
|
-
}
|
|
133
|
-
function getPackageVersions() {
|
|
134
|
-
const createManifestLocation = resolvePackageManifestLocation(path.join(PROJECT_TOOLS_PACKAGE_ROOT, "package.json"));
|
|
135
|
-
const monorepoManifestLocation = resolvePackageManifestLocation(path.join(PROJECT_TOOLS_PACKAGE_ROOT, "..", "..", "package.json"));
|
|
136
|
-
const blockRuntimeManifestLocation = resolvePackageManifestLocation(path.join(PROJECT_TOOLS_PACKAGE_ROOT, "..", "wp-typia-block-runtime", "package.json"));
|
|
137
|
-
const blockTypesManifestLocation = resolvePackageManifestLocation(path.join(PROJECT_TOOLS_PACKAGE_ROOT, "..", "wp-typia-block-types", "package.json"));
|
|
138
|
-
const wpTypiaManifestLocation = resolvePackageManifestLocation(path.join(PROJECT_TOOLS_PACKAGE_ROOT, "..", "wp-typia", "package.json"));
|
|
139
|
-
const installedProjectToolsManifestLocation = resolveInstalledPackageManifestLocation("@wp-typia/project-tools");
|
|
140
|
-
const installedApiClientManifestLocation = resolveInstalledPackageManifestLocation("@wp-typia/api-client");
|
|
141
|
-
const installedBlockRuntimeManifestLocation = resolveInstalledPackageManifestLocation("@wp-typia/block-runtime");
|
|
142
|
-
const installedBlockTypesManifestLocation = resolveInstalledPackageManifestLocation("@wp-typia/block-types");
|
|
143
|
-
const installedRestManifestLocation = resolveInstalledPackageManifestLocation("@wp-typia/rest");
|
|
144
|
-
const installedTsxManifestLocation = resolveInstalledPackageManifestLocation("tsx");
|
|
145
|
-
const installedTypiaManifestLocation = resolveInstalledPackageManifestLocation("typia");
|
|
146
|
-
const installedTypiaUnpluginManifestLocation = resolveInstalledPackageManifestLocation("@typia/unplugin");
|
|
147
|
-
const installedTypescriptManifestLocation = resolveInstalledPackageManifestLocation("typescript");
|
|
148
|
-
const installedWpTypiaManifestLocation = resolveInstalledPackageManifestLocation("wp-typia");
|
|
149
|
-
const cacheKey = composePackageVersionsCacheKey([
|
|
150
|
-
createManifestLocation,
|
|
151
|
-
monorepoManifestLocation,
|
|
152
|
-
blockRuntimeManifestLocation,
|
|
153
|
-
blockTypesManifestLocation,
|
|
154
|
-
wpTypiaManifestLocation,
|
|
155
|
-
installedProjectToolsManifestLocation,
|
|
156
|
-
installedApiClientManifestLocation,
|
|
157
|
-
installedBlockRuntimeManifestLocation,
|
|
158
|
-
installedBlockTypesManifestLocation,
|
|
159
|
-
installedRestManifestLocation,
|
|
160
|
-
installedTsxManifestLocation,
|
|
161
|
-
installedTypiaManifestLocation,
|
|
162
|
-
installedTypiaUnpluginManifestLocation,
|
|
163
|
-
installedTypescriptManifestLocation,
|
|
164
|
-
installedWpTypiaManifestLocation
|
|
165
|
-
]);
|
|
166
|
-
if (cachedPackageVersions?.cacheKey === cacheKey) {
|
|
167
|
-
return cachedPackageVersions.versions;
|
|
168
|
-
}
|
|
169
|
-
const createManifest = readPackageManifest(createManifestLocation) ?? readPackageManifest(installedProjectToolsManifestLocation) ?? {};
|
|
170
|
-
const monorepoManifest = readPackageManifest(monorepoManifestLocation) ?? {};
|
|
171
|
-
const blockRuntimeManifest = readPackageManifest(blockRuntimeManifestLocation) ?? readPackageManifest(installedBlockRuntimeManifestLocation) ?? {};
|
|
172
|
-
const blockTypesManifest = readPackageManifest(blockTypesManifestLocation) ?? readPackageManifest(installedBlockTypesManifestLocation) ?? {};
|
|
173
|
-
const wpTypiaManifest = readPackageManifest(wpTypiaManifestLocation) ?? readPackageManifest(installedWpTypiaManifestLocation) ?? {};
|
|
174
|
-
const blockRuntimeDependencyVersion = normalizeVersionRange(createManifest.dependencies?.["@wp-typia/block-runtime"]);
|
|
175
|
-
const blockTypesDependencyVersion = normalizeVersionRange(createManifest.dependencies?.["@wp-typia/block-types"]);
|
|
176
|
-
const versions = {
|
|
177
|
-
apiClientPackageVersion: normalizeVersionRange(createManifest.dependencies?.["@wp-typia/api-client"] ?? readPackageManifest(installedApiClientManifestLocation)?.version),
|
|
178
|
-
blockRuntimePackageVersion: blockRuntimeDependencyVersion !== DEFAULT_VERSION_RANGE ? blockRuntimeDependencyVersion : normalizeVersionRange(blockRuntimeManifest.version),
|
|
179
|
-
blockTypesPackageVersion: blockTypesDependencyVersion !== DEFAULT_VERSION_RANGE ? blockTypesDependencyVersion : normalizeVersionRange(blockTypesManifest.version),
|
|
180
|
-
projectToolsPackageVersion: normalizeVersionRange(createManifest.version),
|
|
181
|
-
restPackageVersion: normalizeVersionRange(createManifest.dependencies?.["@wp-typia/rest"] ?? readPackageManifest(installedRestManifestLocation)?.version),
|
|
182
|
-
tsxPackageVersion: normalizeVersionRangeWithFallback(monorepoManifest.dependencies?.tsx ?? monorepoManifest.devDependencies?.tsx ?? readPackageManifest(installedTsxManifestLocation)?.version, DEFAULT_TSX_PACKAGE_VERSION),
|
|
183
|
-
typiaPackageVersion: normalizeVersionRangeWithFallback(monorepoManifest.dependencies?.typia ?? monorepoManifest.devDependencies?.typia ?? createManifest.dependencies?.typia ?? readPackageManifest(installedTypiaManifestLocation)?.version, DEFAULT_VERSION_RANGE),
|
|
184
|
-
typiaUnpluginPackageVersion: normalizeVersionRangeWithFallback(monorepoManifest.dependencies?.["@typia/unplugin"] ?? monorepoManifest.devDependencies?.["@typia/unplugin"] ?? readPackageManifest(installedTypiaUnpluginManifestLocation)?.version, DEFAULT_TYPIA_UNPLUGIN_PACKAGE_VERSION),
|
|
185
|
-
typescriptPackageVersion: normalizeVersionRangeWithFallback(monorepoManifest.dependencies?.typescript ?? monorepoManifest.devDependencies?.typescript ?? createManifest.dependencies?.typescript ?? readPackageManifest(installedTypescriptManifestLocation)?.version, DEFAULT_VERSION_RANGE),
|
|
186
|
-
wpTypiaPackageExactVersion: normalizeExactVersion(wpTypiaManifest.version),
|
|
187
|
-
wpTypiaPackageVersion: normalizeVersionRange(wpTypiaManifest.version)
|
|
188
|
-
};
|
|
189
|
-
cachedPackageVersions = {
|
|
190
|
-
cacheKey,
|
|
191
|
-
versions
|
|
192
|
-
};
|
|
193
|
-
return versions;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
export { DEFAULT_WORDPRESS_ABILITIES_VERSION, DEFAULT_WORDPRESS_CORE_ABILITIES_VERSION, DEFAULT_WORDPRESS_CORE_DATA_VERSION, DEFAULT_WORDPRESS_DATA_VERSION, DEFAULT_WORDPRESS_DATAVIEWS_VERSION, DEFAULT_WORDPRESS_ENV_VERSION, DEFAULT_WP_TYPIA_DATAVIEWS_VERSION, resolveManagedPackageVersionRange, getPackageVersions };
|
|
197
|
-
|
|
198
|
-
//# debugId=8B55C11F64E194C164756E2164756E21
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
readJsonFileSync
|
|
4
|
-
} from "./cli-ccax7s0s.js";
|
|
5
|
-
|
|
6
|
-
// ../wp-typia-project-tools/src/runtime/template-defaults.ts
|
|
7
|
-
var BUILTIN_BLOCK_METADATA_VERSION = "0.1.0";
|
|
8
|
-
var BUILTIN_TEMPLATE_METADATA_DEFAULTS = Object.freeze({
|
|
9
|
-
basic: Object.freeze({
|
|
10
|
-
category: "text",
|
|
11
|
-
icon: "smiley"
|
|
12
|
-
}),
|
|
13
|
-
interactivity: Object.freeze({
|
|
14
|
-
category: "widgets",
|
|
15
|
-
icon: "smiley"
|
|
16
|
-
}),
|
|
17
|
-
persistence: Object.freeze({
|
|
18
|
-
category: "widgets",
|
|
19
|
-
icon: "database"
|
|
20
|
-
}),
|
|
21
|
-
compound: Object.freeze({
|
|
22
|
-
category: "widgets",
|
|
23
|
-
icon: "screenoptions"
|
|
24
|
-
}),
|
|
25
|
-
"query-loop": Object.freeze({
|
|
26
|
-
category: "widgets",
|
|
27
|
-
icon: "query-pagination"
|
|
28
|
-
})
|
|
29
|
-
});
|
|
30
|
-
var COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS = Object.freeze({
|
|
31
|
-
category: "widgets",
|
|
32
|
-
icon: "excerpt-view"
|
|
33
|
-
});
|
|
34
|
-
var REMOVED_BUILTIN_TEMPLATE_IDS = ["data", "persisted"];
|
|
35
|
-
function getBuiltInTemplateMetadataDefaults(templateId) {
|
|
36
|
-
return BUILTIN_TEMPLATE_METADATA_DEFAULTS[templateId];
|
|
37
|
-
}
|
|
38
|
-
function isRemovedBuiltInTemplateId(templateId) {
|
|
39
|
-
return REMOVED_BUILTIN_TEMPLATE_IDS.includes(templateId);
|
|
40
|
-
}
|
|
41
|
-
function getRemovedBuiltInTemplateMessage(templateId) {
|
|
42
|
-
return `Built-in template "${templateId}" was removed. Use --template persistence --persistence-policy ${templateId === "data" ? "public" : "authenticated"} instead.`;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// ../wp-typia-project-tools/src/runtime/template-registry.ts
|
|
46
|
-
import fs from "fs";
|
|
47
|
-
import path from "path";
|
|
48
|
-
import { fileURLToPath } from "url";
|
|
49
|
-
var __dirname2 = path.dirname(fileURLToPath(import.meta.url));
|
|
50
|
-
var PROJECT_TOOLS_PACKAGE_ROOT_ENV = "WP_TYPIA_PROJECT_TOOLS_PACKAGE_ROOT";
|
|
51
|
-
var PROJECT_TOOLS_PACKAGE_NAME = "@wp-typia/project-tools";
|
|
52
|
-
function resolveValidProjectToolsPackageRoot(candidateRoot) {
|
|
53
|
-
const packageJsonPath = path.join(candidateRoot, "package.json");
|
|
54
|
-
if (!fs.existsSync(packageJsonPath)) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
const packageJson = readJsonFileSync(packageJsonPath, {
|
|
59
|
-
context: "project-tools package manifest override"
|
|
60
|
-
});
|
|
61
|
-
return packageJson.name === PROJECT_TOOLS_PACKAGE_NAME ? candidateRoot : undefined;
|
|
62
|
-
} catch {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function resolvePackageRoot(startDir) {
|
|
67
|
-
const overriddenPackageRoot = process.env[PROJECT_TOOLS_PACKAGE_ROOT_ENV]?.trim();
|
|
68
|
-
if (overriddenPackageRoot) {
|
|
69
|
-
const resolvedOverride = path.resolve(overriddenPackageRoot);
|
|
70
|
-
const validOverride = resolveValidProjectToolsPackageRoot(resolvedOverride);
|
|
71
|
-
if (validOverride) {
|
|
72
|
-
return validOverride;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
let currentDir = startDir;
|
|
76
|
-
while (true) {
|
|
77
|
-
const packageJsonPath = path.join(currentDir, "package.json");
|
|
78
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
79
|
-
try {
|
|
80
|
-
const packageJson = readJsonFileSync(packageJsonPath, {
|
|
81
|
-
context: "project-tools package root discovery manifest"
|
|
82
|
-
});
|
|
83
|
-
if (packageJson.name === PROJECT_TOOLS_PACKAGE_NAME) {
|
|
84
|
-
return currentDir;
|
|
85
|
-
}
|
|
86
|
-
} catch {}
|
|
87
|
-
}
|
|
88
|
-
const parentDir = path.dirname(currentDir);
|
|
89
|
-
if (parentDir === currentDir) {
|
|
90
|
-
throw new Error("Unable to resolve the @wp-typia/project-tools package root.");
|
|
91
|
-
}
|
|
92
|
-
currentDir = parentDir;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
var PROJECT_TOOLS_PACKAGE_ROOT = resolvePackageRoot(__dirname2);
|
|
96
|
-
var TEMPLATE_ROOT = path.join(PROJECT_TOOLS_PACKAGE_ROOT, "templates");
|
|
97
|
-
var SHARED_TEMPLATE_ROOT = path.join(TEMPLATE_ROOT, "_shared");
|
|
98
|
-
var SHARED_BASE_TEMPLATE_ROOT = path.join(SHARED_TEMPLATE_ROOT, "base");
|
|
99
|
-
var SHARED_COMPOUND_TEMPLATE_ROOT = path.join(SHARED_TEMPLATE_ROOT, "compound");
|
|
100
|
-
var SHARED_PERSISTENCE_TEMPLATE_ROOT = path.join(SHARED_TEMPLATE_ROOT, "persistence");
|
|
101
|
-
var SHARED_PRESET_TEMPLATE_ROOT = path.join(SHARED_TEMPLATE_ROOT, "presets");
|
|
102
|
-
var SHARED_REST_HELPER_TEMPLATE_ROOT = path.join(SHARED_TEMPLATE_ROOT, "rest-helpers");
|
|
103
|
-
var SHARED_MIGRATION_UI_TEMPLATE_ROOT = path.join(SHARED_TEMPLATE_ROOT, "migration-ui");
|
|
104
|
-
var SHARED_WORKSPACE_TEMPLATE_ROOT = path.join(SHARED_TEMPLATE_ROOT, "workspace");
|
|
105
|
-
var SHARED_TEST_PRESET_TEMPLATE_ROOT = path.join(SHARED_PRESET_TEMPLATE_ROOT, "test-preset");
|
|
106
|
-
var SHARED_WP_ENV_PRESET_TEMPLATE_ROOT = path.join(SHARED_PRESET_TEMPLATE_ROOT, "wp-env");
|
|
107
|
-
var BUILTIN_TEMPLATE_IDS = [
|
|
108
|
-
"basic",
|
|
109
|
-
"interactivity",
|
|
110
|
-
"persistence",
|
|
111
|
-
"compound",
|
|
112
|
-
"query-loop"
|
|
113
|
-
];
|
|
114
|
-
var OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE = "@wp-typia/create-workspace-template";
|
|
115
|
-
var OFFICIAL_WORKSPACE_TEMPLATE_ALIAS = "workspace";
|
|
116
|
-
var TEMPLATE_REGISTRY = Object.freeze([
|
|
117
|
-
{
|
|
118
|
-
id: "basic",
|
|
119
|
-
description: "A lightweight WordPress block with Typia validation",
|
|
120
|
-
defaultCategory: getBuiltInTemplateMetadataDefaults("basic").category,
|
|
121
|
-
features: ["Type-safe attributes", "Runtime validation", "Minimal setup"],
|
|
122
|
-
templateDir: path.join(TEMPLATE_ROOT, "basic")
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
id: "interactivity",
|
|
126
|
-
description: "An interactive WordPress block with Typia validation and Interactivity API",
|
|
127
|
-
defaultCategory: getBuiltInTemplateMetadataDefaults("interactivity").category,
|
|
128
|
-
features: ["Interactivity API", "Client-side state", "Event handling"],
|
|
129
|
-
templateDir: path.join(TEMPLATE_ROOT, "interactivity")
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
id: "persistence",
|
|
133
|
-
description: "A persistence-aware WordPress block with Typia validation, typed REST contracts, and selectable public or authenticated write policies",
|
|
134
|
-
defaultCategory: getBuiltInTemplateMetadataDefaults("persistence").category,
|
|
135
|
-
features: ["Interactivity API", "Typed REST client", "Schema sync", "Persistence policies"],
|
|
136
|
-
templateDir: path.join(TEMPLATE_ROOT, "persistence")
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
id: "compound",
|
|
140
|
-
description: "A parent-and-child WordPress block scaffold with InnerBlocks, optional persistence wiring, and hidden implementation child blocks",
|
|
141
|
-
defaultCategory: getBuiltInTemplateMetadataDefaults("compound").category,
|
|
142
|
-
features: ["InnerBlocks", "Hidden child blocks", "Optional persistence layer"],
|
|
143
|
-
templateDir: path.join(TEMPLATE_ROOT, "compound")
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
id: "query-loop",
|
|
147
|
-
description: "A Query Loop block variation scaffold with stable namespace-based identity, inline starter layout, connected pattern presets, custom query seams, and runtime parity hooks",
|
|
148
|
-
defaultCategory: getBuiltInTemplateMetadataDefaults("query-loop").category,
|
|
149
|
-
features: ["core/query variation", "Default innerBlocks", "Connected patterns", "Custom query hooks", "Runtime parity hooks", "Allowed controls"],
|
|
150
|
-
templateDir: path.join(TEMPLATE_ROOT, "query-loop")
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
id: OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE,
|
|
154
|
-
description: "The official empty workspace template that powers `wp-typia add ...` workflows",
|
|
155
|
-
defaultCategory: "workspace",
|
|
156
|
-
features: ["Workspace inventory", "Add block workflows", "Workspace doctor and migrate"],
|
|
157
|
-
templateDir: path.resolve(PROJECT_TOOLS_PACKAGE_ROOT, "..", "create-workspace-template")
|
|
158
|
-
}
|
|
159
|
-
]);
|
|
160
|
-
var TEMPLATE_IDS = [...BUILTIN_TEMPLATE_IDS];
|
|
161
|
-
function isBuiltInTemplateId(templateId) {
|
|
162
|
-
return BUILTIN_TEMPLATE_IDS.includes(templateId);
|
|
163
|
-
}
|
|
164
|
-
function isOfficialWorkspaceTemplateAlias(templateId) {
|
|
165
|
-
return templateId === OFFICIAL_WORKSPACE_TEMPLATE_ALIAS;
|
|
166
|
-
}
|
|
167
|
-
function normalizeTemplateLookupId(templateId) {
|
|
168
|
-
return isOfficialWorkspaceTemplateAlias(templateId) ? OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE : templateId;
|
|
169
|
-
}
|
|
170
|
-
function getUserFacingTemplateId(templateId) {
|
|
171
|
-
return templateId === OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE ? OFFICIAL_WORKSPACE_TEMPLATE_ALIAS : templateId;
|
|
172
|
-
}
|
|
173
|
-
function listTemplates() {
|
|
174
|
-
return TEMPLATE_REGISTRY;
|
|
175
|
-
}
|
|
176
|
-
function getTemplateById(templateId) {
|
|
177
|
-
const normalizedTemplateId = normalizeTemplateLookupId(templateId);
|
|
178
|
-
const template = TEMPLATE_REGISTRY.find((entry) => entry.id === normalizedTemplateId);
|
|
179
|
-
if (!template) {
|
|
180
|
-
throw new Error(`Unknown template "${templateId}". Expected one of: ${[
|
|
181
|
-
...TEMPLATE_IDS,
|
|
182
|
-
OFFICIAL_WORKSPACE_TEMPLATE_ALIAS,
|
|
183
|
-
OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE
|
|
184
|
-
].join(", ")}`);
|
|
185
|
-
}
|
|
186
|
-
return template;
|
|
187
|
-
}
|
|
188
|
-
function getTemplateSelectOptions() {
|
|
189
|
-
return TEMPLATE_REGISTRY.map((template) => ({
|
|
190
|
-
label: getUserFacingTemplateId(template.id),
|
|
191
|
-
value: getUserFacingTemplateId(template.id),
|
|
192
|
-
hint: template.features.join(", ")
|
|
193
|
-
}));
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
export { BUILTIN_BLOCK_METADATA_VERSION, COMPOUND_CHILD_BLOCK_METADATA_DEFAULTS, getBuiltInTemplateMetadataDefaults, isRemovedBuiltInTemplateId, getRemovedBuiltInTemplateMessage, PROJECT_TOOLS_PACKAGE_ROOT, SHARED_BASE_TEMPLATE_ROOT, SHARED_COMPOUND_TEMPLATE_ROOT, SHARED_PERSISTENCE_TEMPLATE_ROOT, SHARED_PRESET_TEMPLATE_ROOT, SHARED_REST_HELPER_TEMPLATE_ROOT, SHARED_MIGRATION_UI_TEMPLATE_ROOT, SHARED_WORKSPACE_TEMPLATE_ROOT, SHARED_TEST_PRESET_TEMPLATE_ROOT, SHARED_WP_ENV_PRESET_TEMPLATE_ROOT, BUILTIN_TEMPLATE_IDS, OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE, OFFICIAL_WORKSPACE_TEMPLATE_ALIAS, TEMPLATE_IDS, isBuiltInTemplateId, normalizeTemplateLookupId, getUserFacingTemplateId, listTemplates, getTemplateById, getTemplateSelectOptions };
|
|
197
|
-
|
|
198
|
-
//# debugId=53869BD718551FB564756E2164756E21
|