@ykdz/template 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/src/cli.d.ts +2 -0
- package/dist/{cli.js → src/cli.js} +91 -58
- package/dist/{declarations.d.ts → src/declarations.d.ts} +3 -5
- package/dist/{declarations.js → src/declarations.js} +48 -145
- package/dist/src/dependency-catalog.d.ts +18 -0
- package/dist/src/dependency-catalog.js +132 -0
- package/dist/src/devcontainer.d.ts +58 -0
- package/dist/src/devcontainer.js +202 -0
- package/dist/src/editor-customization.d.ts +12 -0
- package/dist/src/editor-customization.js +108 -0
- package/dist/{generation-context.d.ts → src/generation-context.d.ts} +2 -3
- package/dist/{generation-context.js → src/generation-context.js} +4 -1
- package/dist/src/module-graph.d.ts +34 -0
- package/dist/src/module-graph.js +58 -0
- package/dist/{next-step-instructions.d.ts → src/next-step-instructions.d.ts} +2 -4
- package/dist/{next-step-instructions.js → src/next-step-instructions.js} +49 -24
- package/dist/{package-addition.d.ts → src/package-addition.d.ts} +1 -1
- package/dist/src/package-addition.js +343 -0
- package/dist/src/preset-projection.d.ts +66 -0
- package/dist/src/preset-projection.js +7 -0
- package/dist/{project-github.d.ts → src/project-github.d.ts} +3 -9
- package/dist/{project-github.js → src/project-github.js} +27 -42
- package/dist/{renderer.d.ts → src/renderer.d.ts} +16 -2
- package/dist/{renderer.js → src/renderer.js} +95 -12
- package/dist/src/runtime-paths.d.ts +1 -0
- package/dist/src/runtime-paths.js +11 -0
- package/dist/src/template-boundary-check.d.ts +34 -0
- package/dist/src/template-boundary-check.js +448 -0
- package/dist/{toolchain-resolution.d.ts → src/toolchain-resolution.d.ts} +0 -1
- package/dist/{toolchain-resolution.js → src/toolchain-resolution.js} +1 -1
- package/dist/templates/hono-api/projection.d.ts +6 -0
- package/dist/templates/hono-api/projection.js +538 -0
- package/dist/templates/projection-plans.d.ts +7 -0
- package/dist/templates/projection-plans.js +94 -0
- package/dist/templates/registry.d.ts +7 -0
- package/dist/templates/registry.js +42 -0
- package/dist/templates/rust-bin/projection.d.ts +9 -0
- package/dist/templates/rust-bin/projection.js +390 -0
- package/dist/templates/ts-lib/projection.d.ts +6 -0
- package/dist/templates/ts-lib/projection.js +523 -0
- package/dist/templates/vue-app/projection.d.ts +6 -0
- package/dist/templates/vue-app/projection.js +757 -0
- package/dist/templates/vue-hono-app/projection.d.ts +8 -0
- package/dist/templates/vue-hono-app/projection.js +693 -0
- package/package.json +38 -28
- package/pnpm-workspace.yaml +35 -0
- package/templates/hono-api/.github/dependabot.yml +13 -0
- package/templates/rust-bin/.github/dependabot.yml +18 -1
- package/templates/rust-bin/rust-toolchain.toml +3 -0
- package/templates/rust-bin/rustfmt.toml +2 -0
- package/templates/shared/devcontainer/browser-test.Dockerfile +2 -0
- package/templates/shared/devcontainer/node-pnpm.Dockerfile +6 -0
- package/templates/shared/devcontainer/rust.Dockerfile +16 -0
- package/templates/shared/editor-customization/capabilities.json +56 -0
- package/templates/ts-lib/.github/dependabot.yml +13 -0
- package/templates/ts-lib/src/index.ts +5 -1
- package/templates/vue-app/.github/dependabot.yml +13 -0
- package/templates/vue-app/.github/workflows/check.yml +1 -1
- package/templates/vue-app/test/e2e/app.spec.ts +4 -1
- package/templates/vue-hono-app/.github/dependabot.yml +13 -0
- package/templates/vue-hono-app/web/test/e2e/app.spec.ts +4 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/declarations.d.ts.map +0 -1
- package/dist/devcontainer.d.ts +0 -17
- package/dist/devcontainer.d.ts.map +0 -1
- package/dist/devcontainer.js +0 -23
- package/dist/generation-context.d.ts.map +0 -1
- package/dist/hono-api.d.ts +0 -3
- package/dist/hono-api.d.ts.map +0 -1
- package/dist/hono-api.js +0 -210
- package/dist/module-graph.d.ts +0 -45
- package/dist/module-graph.d.ts.map +0 -1
- package/dist/module-graph.js +0 -187
- package/dist/next-step-instructions.d.ts.map +0 -1
- package/dist/package-addition.d.ts.map +0 -1
- package/dist/package-addition.js +0 -560
- package/dist/project-github.d.ts.map +0 -1
- package/dist/renderer.d.ts.map +0 -1
- package/dist/rust-bin.d.ts +0 -8
- package/dist/rust-bin.d.ts.map +0 -1
- package/dist/rust-bin.js +0 -208
- package/dist/toolchain-resolution.d.ts.map +0 -1
- package/dist/ts-lib.d.ts +0 -8
- package/dist/ts-lib.d.ts.map +0 -1
- package/dist/ts-lib.js +0 -214
- package/dist/vue-app.d.ts +0 -3
- package/dist/vue-app.d.ts.map +0 -1
- package/dist/vue-app.js +0 -301
- package/dist/vue-hono-app.d.ts +0 -7
- package/dist/vue-hono-app.d.ts.map +0 -1
- package/dist/vue-hono-app.js +0 -440
- package/templates/shared/oxc/package.json +0 -18
- package/templates/shared/oxc/tsconfig.json +0 -11
package/dist/rust-bin.js
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { devcontainerNodeFeature } from "./devcontainer.js";
|
|
4
|
-
import { assembleGenerationContext } from "./generation-context.js";
|
|
5
|
-
import { planRustBinChecks, planRustBinFixes, renderFixCommand, renderRootCheckCommand, } from "./module-graph.js";
|
|
6
|
-
import { projectPresetDependabotConfig, projectRustBinGithubCheckWorkflow } from "./project-github.js";
|
|
7
|
-
import { renderNewProject } from "./renderer.js";
|
|
8
|
-
import { resolveToolchainVersions } from "./toolchain-resolution.js";
|
|
9
|
-
const features = [
|
|
10
|
-
"root-check",
|
|
11
|
-
"fix-command",
|
|
12
|
-
"devcontainer",
|
|
13
|
-
"github-actions",
|
|
14
|
-
"dependabot",
|
|
15
|
-
"rustfmt-clippy",
|
|
16
|
-
"cargo-test"
|
|
17
|
-
];
|
|
18
|
-
const generatedBy = {
|
|
19
|
-
packageName: "@ykdz/template",
|
|
20
|
-
version: "0.0.0",
|
|
21
|
-
command: "template init --preset rust-bin"
|
|
22
|
-
};
|
|
23
|
-
const rustBinBlueprint = {
|
|
24
|
-
schemaVersion: 1,
|
|
25
|
-
preset: "rust-bin",
|
|
26
|
-
packageManager: "pnpm",
|
|
27
|
-
projectKind: "single-package",
|
|
28
|
-
features: [...features],
|
|
29
|
-
};
|
|
30
|
-
function cargoPackageNameFromDir(targetDir) {
|
|
31
|
-
const directoryName = path.basename(path.resolve(targetDir));
|
|
32
|
-
const slug = directoryName
|
|
33
|
-
.normalize("NFKD")
|
|
34
|
-
.replace(/[\u0300-\u036f]/g, "")
|
|
35
|
-
.toLowerCase()
|
|
36
|
-
.replace(/[^a-z0-9]+/g, "-")
|
|
37
|
-
.replace(/^-+|-+$/g, "");
|
|
38
|
-
return slug || "rust-bin";
|
|
39
|
-
}
|
|
40
|
-
function cargoToml(projectName) {
|
|
41
|
-
return [
|
|
42
|
-
"[package]",
|
|
43
|
-
`name = "${projectName}"`,
|
|
44
|
-
'version = "0.1.0"',
|
|
45
|
-
'edition = "2024"',
|
|
46
|
-
"",
|
|
47
|
-
"[dependencies]",
|
|
48
|
-
"",
|
|
49
|
-
"[lints]",
|
|
50
|
-
"workspace = true",
|
|
51
|
-
"",
|
|
52
|
-
"[workspace]",
|
|
53
|
-
'members = ["."]',
|
|
54
|
-
'resolver = "3"',
|
|
55
|
-
"",
|
|
56
|
-
"[workspace.lints.rust]",
|
|
57
|
-
'unsafe_code = "forbid"',
|
|
58
|
-
"",
|
|
59
|
-
"[workspace.lints.clippy]",
|
|
60
|
-
'all = "deny"',
|
|
61
|
-
'pedantic = "deny"',
|
|
62
|
-
'nursery = "deny"',
|
|
63
|
-
"",
|
|
64
|
-
"[profile.release]",
|
|
65
|
-
'strip = "symbols"',
|
|
66
|
-
'lto = "thin"',
|
|
67
|
-
"codegen-units = 1",
|
|
68
|
-
""
|
|
69
|
-
].join("\n");
|
|
70
|
-
}
|
|
71
|
-
function cargoLock(projectName) {
|
|
72
|
-
return [
|
|
73
|
-
"# This file is automatically @generated by Cargo.",
|
|
74
|
-
"# It is not intended for manual editing.",
|
|
75
|
-
"version = 4",
|
|
76
|
-
"",
|
|
77
|
-
"[[package]]",
|
|
78
|
-
`name = "${projectName}"`,
|
|
79
|
-
'version = "0.1.0"',
|
|
80
|
-
""
|
|
81
|
-
].join("\n");
|
|
82
|
-
}
|
|
83
|
-
export function projectRustBinPackageScripts() {
|
|
84
|
-
return {
|
|
85
|
-
check: renderRootCheckCommand(planRustBinChecks()),
|
|
86
|
-
fix: renderFixCommand(planRustBinFixes()),
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
function packageJson(context, projectName) {
|
|
90
|
-
return {
|
|
91
|
-
name: projectName,
|
|
92
|
-
version: "0.0.0",
|
|
93
|
-
private: true,
|
|
94
|
-
scripts: projectRustBinPackageScripts(),
|
|
95
|
-
engines: {
|
|
96
|
-
node: context.toolchain.nodeLtsMajor.value,
|
|
97
|
-
},
|
|
98
|
-
packageManager: context.toolchain.packageManagerPin.value,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
function generationRecord(context) {
|
|
102
|
-
return {
|
|
103
|
-
...generatedBy,
|
|
104
|
-
toolchain: {
|
|
105
|
-
nodeLtsMajor: context.toolchain.nodeLtsMajor.value,
|
|
106
|
-
packageManagerPin: context.toolchain.packageManagerPin.value,
|
|
107
|
-
source: context.toolchain.source,
|
|
108
|
-
},
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
function operationsForRustBin(context, projectName) {
|
|
112
|
-
return [
|
|
113
|
-
{
|
|
114
|
-
kind: "writeJson",
|
|
115
|
-
to: "package.json",
|
|
116
|
-
value: packageJson(context, projectName),
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
kind: "writeText",
|
|
120
|
-
to: "pnpm-workspace.yaml",
|
|
121
|
-
text: ["packages:", " - .", ""].join("\n"),
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
kind: "writeText",
|
|
125
|
-
to: "Cargo.toml",
|
|
126
|
-
text: cargoToml(projectName)
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
kind: "writeText",
|
|
130
|
-
to: "Cargo.lock",
|
|
131
|
-
text: cargoLock(projectName)
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
kind: "writeText",
|
|
135
|
-
to: "rustfmt.toml",
|
|
136
|
-
text: ['edition = "2024"', "max_width = 100", ""].join("\n")
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
kind: "writeText",
|
|
140
|
-
to: ".gitignore",
|
|
141
|
-
text: ["target", ".env", ""].join("\n")
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
kind: "copyFile",
|
|
145
|
-
from: "src/main.rs",
|
|
146
|
-
to: "src/main.rs"
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
kind: "writeJson",
|
|
150
|
-
to: ".project-kit/blueprint.json",
|
|
151
|
-
value: rustBinBlueprint
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
kind: "writeJson",
|
|
155
|
-
to: ".project-kit/generated-by.json",
|
|
156
|
-
value: generationRecord(context)
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
kind: "writeJson",
|
|
160
|
-
to: ".devcontainer/devcontainer.json",
|
|
161
|
-
value: {
|
|
162
|
-
name: `${projectName} Rust development`,
|
|
163
|
-
image: "mcr.microsoft.com/devcontainers/rust:1",
|
|
164
|
-
features: devcontainerNodeFeature({
|
|
165
|
-
nodeVersion: context.toolchain.nodeLtsMajor.value,
|
|
166
|
-
packageManagerPin: context.toolchain.packageManagerPin.value,
|
|
167
|
-
}),
|
|
168
|
-
mounts: [
|
|
169
|
-
"source=${localWorkspaceFolderBasename}-cargo-registry,target=/usr/local/cargo/registry,type=volume",
|
|
170
|
-
"source=${localWorkspaceFolderBasename}-cargo-git,target=/usr/local/cargo/git,type=volume",
|
|
171
|
-
"source=${localWorkspaceFolderBasename}-target,target=${containerWorkspaceFolder}/target,type=volume"
|
|
172
|
-
],
|
|
173
|
-
customizations: {
|
|
174
|
-
vscode: {
|
|
175
|
-
extensions: ["rust-lang.rust-analyzer", "tamasfe.even-better-toml"]
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
kind: "writeText",
|
|
182
|
-
to: ".github/workflows/check.yml",
|
|
183
|
-
text: projectRustBinGithubCheckWorkflow(),
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
kind: "writeText",
|
|
187
|
-
to: ".github/dependabot.yml",
|
|
188
|
-
text: projectPresetDependabotConfig("rust-bin"),
|
|
189
|
-
}
|
|
190
|
-
];
|
|
191
|
-
}
|
|
192
|
-
function templateSourceRoot() {
|
|
193
|
-
return path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "templates", "rust-bin");
|
|
194
|
-
}
|
|
195
|
-
export async function initRustBinProject(targetDir, options) {
|
|
196
|
-
const generationContext = options?.generationContext ??
|
|
197
|
-
assembleGenerationContext({
|
|
198
|
-
targetDir,
|
|
199
|
-
blueprint: rustBinBlueprint,
|
|
200
|
-
toolchain: await resolveToolchainVersions(),
|
|
201
|
-
});
|
|
202
|
-
const projectName = cargoPackageNameFromDir(targetDir);
|
|
203
|
-
await renderNewProject({
|
|
204
|
-
sourceRoot: templateSourceRoot(),
|
|
205
|
-
targetRoot: targetDir,
|
|
206
|
-
operations: operationsForRustBin(generationContext, projectName)
|
|
207
|
-
});
|
|
208
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toolchain-resolution.d.ts","sourceRoot":"","sources":["../src/toolchain-resolution.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,kBAAkB,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AACxE,eAAO,MAAM,eAAe,oCAAoC,CAAC;AAEjE,KAAK,wCAAwC,GAAG;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAmBF,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,yBAAyB,CAAC,CAiCpC;AAED,wBAAsB,sCAAsC,CAC1D,OAAO,GAAE,wCAA6C,GACrD,OAAO,CAAC,uCAAuC,CAAC,CAwBlD"}
|
package/dist/ts-lib.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type GenerationContext } from "./generation-context.js";
|
|
2
|
-
type InitTsLibProjectOptions = {
|
|
3
|
-
readonly generationContext?: GenerationContext;
|
|
4
|
-
};
|
|
5
|
-
export declare function projectTsLibPackageScripts(): Record<string, string>;
|
|
6
|
-
export declare function initTsLibProject(targetDir: string, options?: InitTsLibProjectOptions): Promise<void>;
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=ts-lib.d.ts.map
|
package/dist/ts-lib.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ts-lib.d.ts","sourceRoot":"","sources":["../src/ts-lib.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiB5F,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD,CAAC;AAmBF,wBAAgB,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWnE;AA4KD,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAef"}
|
package/dist/ts-lib.js
DELETED
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { nodePnpmDevcontainer } from "./devcontainer.js";
|
|
4
|
-
import { assembleGenerationContext } from "./generation-context.js";
|
|
5
|
-
import { planTsLibChecks, planTsLibFixes, renderFixCommand, renderRootCheckCommand, } from "./module-graph.js";
|
|
6
|
-
import { projectPresetDependabotConfig, projectTsLibGithubCheckWorkflow } from "./project-github.js";
|
|
7
|
-
import { renderNewProject } from "./renderer.js";
|
|
8
|
-
import { resolveToolchainVersions } from "./toolchain-resolution.js";
|
|
9
|
-
const generatedBy = {
|
|
10
|
-
packageName: "@ykdz/template",
|
|
11
|
-
version: "0.0.0",
|
|
12
|
-
command: "template init --preset ts-lib",
|
|
13
|
-
};
|
|
14
|
-
const tsLibBlueprint = {
|
|
15
|
-
schemaVersion: 1,
|
|
16
|
-
preset: "ts-lib",
|
|
17
|
-
packageManager: "pnpm",
|
|
18
|
-
projectKind: "single-package",
|
|
19
|
-
features: [
|
|
20
|
-
"pnpm-catalog",
|
|
21
|
-
"oxc-format-lint",
|
|
22
|
-
"strict-typescript",
|
|
23
|
-
"root-check",
|
|
24
|
-
"fix-command",
|
|
25
|
-
"devcontainer",
|
|
26
|
-
"github-actions",
|
|
27
|
-
"dependabot",
|
|
28
|
-
],
|
|
29
|
-
};
|
|
30
|
-
export function projectTsLibPackageScripts() {
|
|
31
|
-
return {
|
|
32
|
-
build: "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
|
|
33
|
-
check: renderRootCheckCommand(planTsLibChecks()),
|
|
34
|
-
fix: renderFixCommand(planTsLibFixes()),
|
|
35
|
-
"format:check": "oxfmt --check .",
|
|
36
|
-
"format:write": "oxfmt --write .",
|
|
37
|
-
lint: "oxlint . --deny-warnings",
|
|
38
|
-
"lint:fix": "oxlint . --fix --deny-warnings",
|
|
39
|
-
typecheck: "tsc -p tsconfig.json --noEmit",
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function packageJson(context) {
|
|
43
|
-
return {
|
|
44
|
-
name: context.projectName.value,
|
|
45
|
-
version: "0.0.0",
|
|
46
|
-
private: true,
|
|
47
|
-
files: ["dist"],
|
|
48
|
-
type: "module",
|
|
49
|
-
exports: {
|
|
50
|
-
".": {
|
|
51
|
-
default: "./dist/index.js",
|
|
52
|
-
types: "./dist/index.d.ts",
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
scripts: projectTsLibPackageScripts(),
|
|
56
|
-
devDependencies: {
|
|
57
|
-
"@types/node": "catalog:",
|
|
58
|
-
oxfmt: "catalog:",
|
|
59
|
-
oxlint: "catalog:",
|
|
60
|
-
"tsc-alias": "catalog:",
|
|
61
|
-
typescript: "catalog:",
|
|
62
|
-
},
|
|
63
|
-
engines: {
|
|
64
|
-
node: context.toolchain.nodeLtsMajor.value,
|
|
65
|
-
},
|
|
66
|
-
packageManager: context.toolchain.packageManagerPin.value,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
function generationRecord(context) {
|
|
70
|
-
return {
|
|
71
|
-
...generatedBy,
|
|
72
|
-
toolchain: {
|
|
73
|
-
nodeLtsMajor: context.toolchain.nodeLtsMajor.value,
|
|
74
|
-
packageManagerPin: context.toolchain.packageManagerPin.value,
|
|
75
|
-
source: context.toolchain.source,
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function operationsForTsLib(context) {
|
|
80
|
-
return [
|
|
81
|
-
{
|
|
82
|
-
kind: "writeJson",
|
|
83
|
-
to: "package.json",
|
|
84
|
-
value: packageJson(context),
|
|
85
|
-
multilineArrays: ["files"],
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
kind: "writeText",
|
|
89
|
-
to: "pnpm-workspace.yaml",
|
|
90
|
-
text: [
|
|
91
|
-
"packages:",
|
|
92
|
-
" - .",
|
|
93
|
-
"",
|
|
94
|
-
"catalog:",
|
|
95
|
-
' "@types/node": ^24.0.0',
|
|
96
|
-
" oxfmt: ^0.56.0",
|
|
97
|
-
" oxlint: ^1.71.0",
|
|
98
|
-
" tsc-alias: ^1.8.17",
|
|
99
|
-
" typescript: ^5.8.0",
|
|
100
|
-
"",
|
|
101
|
-
].join("\n"),
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
kind: "writeJson",
|
|
105
|
-
to: "tsconfig.json",
|
|
106
|
-
value: {
|
|
107
|
-
compilerOptions: {
|
|
108
|
-
declaration: true,
|
|
109
|
-
declarationMap: true,
|
|
110
|
-
module: "NodeNext",
|
|
111
|
-
moduleResolution: "NodeNext",
|
|
112
|
-
noEmitOnError: true,
|
|
113
|
-
outDir: "dist",
|
|
114
|
-
paths: {
|
|
115
|
-
"@/*": ["./src/*"],
|
|
116
|
-
},
|
|
117
|
-
rootDir: "src",
|
|
118
|
-
skipLibCheck: false,
|
|
119
|
-
strict: true,
|
|
120
|
-
target: "ES2022",
|
|
121
|
-
types: ["node"],
|
|
122
|
-
},
|
|
123
|
-
include: ["src/**/*.ts"],
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
kind: "copyFile",
|
|
128
|
-
sourceRoot: "sharedOxc",
|
|
129
|
-
from: "node/oxlint.config.ts",
|
|
130
|
-
to: "oxlint.config.ts",
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
kind: "copyFile",
|
|
134
|
-
sourceRoot: "sharedOxc",
|
|
135
|
-
from: "oxfmt.config.ts",
|
|
136
|
-
to: "oxfmt.config.ts",
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
kind: "writeText",
|
|
140
|
-
to: ".gitignore",
|
|
141
|
-
text: ["node_modules", "dist", ".env", ""].join("\n"),
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
kind: "copyFile",
|
|
145
|
-
from: "src/index.ts",
|
|
146
|
-
to: "src/index.ts",
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
kind: "writeJson",
|
|
150
|
-
to: ".project-kit/blueprint.json",
|
|
151
|
-
value: {
|
|
152
|
-
schemaVersion: 1,
|
|
153
|
-
preset: "ts-lib",
|
|
154
|
-
packageManager: "pnpm",
|
|
155
|
-
projectKind: "single-package",
|
|
156
|
-
features: [
|
|
157
|
-
"pnpm-catalog",
|
|
158
|
-
"oxc-format-lint",
|
|
159
|
-
"strict-typescript",
|
|
160
|
-
"root-check",
|
|
161
|
-
"fix-command",
|
|
162
|
-
"devcontainer",
|
|
163
|
-
"github-actions",
|
|
164
|
-
"dependabot",
|
|
165
|
-
],
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
kind: "writeJson",
|
|
170
|
-
to: ".project-kit/generated-by.json",
|
|
171
|
-
value: generationRecord(context),
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
kind: "writeJson",
|
|
175
|
-
to: ".devcontainer/devcontainer.json",
|
|
176
|
-
value: nodePnpmDevcontainer({
|
|
177
|
-
name: `${context.projectName.value} development`,
|
|
178
|
-
nodeVersion: context.toolchain.nodeLtsMajor.value,
|
|
179
|
-
packageManagerPin: context.toolchain.packageManagerPin.value,
|
|
180
|
-
extensions: ["oxc.oxc-vscode"],
|
|
181
|
-
}),
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
kind: "writeText",
|
|
185
|
-
to: ".github/workflows/check.yml",
|
|
186
|
-
text: projectTsLibGithubCheckWorkflow(),
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
kind: "writeText",
|
|
190
|
-
to: ".github/dependabot.yml",
|
|
191
|
-
text: projectPresetDependabotConfig("ts-lib"),
|
|
192
|
-
},
|
|
193
|
-
];
|
|
194
|
-
}
|
|
195
|
-
function templateSourceRoot() {
|
|
196
|
-
return path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "templates", "ts-lib");
|
|
197
|
-
}
|
|
198
|
-
function sharedOxcSourceRoot() {
|
|
199
|
-
return path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "templates", "shared", "oxc");
|
|
200
|
-
}
|
|
201
|
-
export async function initTsLibProject(targetDir, options) {
|
|
202
|
-
const generationContext = options?.generationContext ??
|
|
203
|
-
assembleGenerationContext({
|
|
204
|
-
targetDir,
|
|
205
|
-
blueprint: tsLibBlueprint,
|
|
206
|
-
toolchain: await resolveToolchainVersions(),
|
|
207
|
-
});
|
|
208
|
-
await renderNewProject({
|
|
209
|
-
sourceRoot: templateSourceRoot(),
|
|
210
|
-
sourceRoots: { sharedOxc: sharedOxcSourceRoot() },
|
|
211
|
-
targetRoot: targetDir,
|
|
212
|
-
operations: operationsForTsLib(generationContext),
|
|
213
|
-
});
|
|
214
|
-
}
|
package/dist/vue-app.d.ts
DELETED
package/dist/vue-app.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vue-app.d.ts","sourceRoot":"","sources":["../src/vue-app.ts"],"names":[],"mappings":"AAiCA,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAepE;AAyQD,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE"}
|