@ykdz/template 0.0.13 → 0.0.15

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.
Files changed (32) hide show
  1. package/node_modules/@ykdz/template-builtin-source/dist/templates/hono-api/projection.js +7 -34
  2. package/node_modules/@ykdz/template-builtin-source/dist/templates/projection-plans.js +9 -8
  3. package/node_modules/@ykdz/template-builtin-source/dist/templates/rust-bin/projection.js +6 -4
  4. package/node_modules/@ykdz/template-builtin-source/dist/templates/ts-lib/projection.js +5 -32
  5. package/node_modules/@ykdz/template-builtin-source/dist/templates/vike-app/projection.js +4 -1
  6. package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-app/projection.js +8 -36
  7. package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-hono-app/projection.js +27 -74
  8. package/node_modules/@ykdz/template-builtin-source/templates/hono-api/.github/workflows/check.yml +1 -1
  9. package/node_modules/@ykdz/template-builtin-source/templates/hono-api/turbo.json +8 -0
  10. package/node_modules/@ykdz/template-builtin-source/templates/preset-source.json +22 -11
  11. package/node_modules/@ykdz/template-builtin-source/templates/rust-bin/.github/workflows/check.yml +1 -1
  12. package/node_modules/@ykdz/template-builtin-source/templates/rust-bin/turbo.json +3 -0
  13. package/node_modules/@ykdz/template-builtin-source/templates/ts-lib/.github/workflows/check.yml +1 -1
  14. package/node_modules/@ykdz/template-builtin-source/templates/ts-lib/turbo.json +3 -0
  15. package/node_modules/@ykdz/template-builtin-source/templates/vike-app/.github/workflows/check.yml +2 -2
  16. package/node_modules/@ykdz/template-builtin-source/templates/vue-app/.github/workflows/check.yml +1 -1
  17. package/node_modules/@ykdz/template-builtin-source/templates/vue-app/turbo.json +11 -0
  18. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/.github/workflows/check.yml +1 -1
  19. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/api/turbo.json +8 -0
  20. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/playwright.config.ts +1 -1
  21. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/turbo.json +11 -0
  22. package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +4 -0
  23. package/node_modules/@ykdz/template-core/dist/module-graph.js +64 -4
  24. package/node_modules/@ykdz/template-core/dist/package-addition.js +23 -35
  25. package/node_modules/@ykdz/template-core/dist/package-linking.js +14 -8
  26. package/node_modules/@ykdz/template-core/dist/project-github.js +1 -1
  27. package/node_modules/@ykdz/template-core/dist/projection-capabilities.js +160 -167
  28. package/node_modules/@ykdz/template-shared/dist/index.d.ts +4 -4
  29. package/node_modules/@ykdz/template-shared/dist/index.js +21 -12
  30. package/package.json +3 -3
  31. /package/node_modules/@ykdz/template-builtin-source/templates/vike-app/{env.d.ts → types/env.d.ts} +0 -0
  32. /package/node_modules/@ykdz/template-builtin-source/templates/vike-app/{global.d.ts → types/global.d.ts} +0 -0
@@ -2,7 +2,6 @@ import { existsSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { builtInPresetProjectionSourceRoots, loadBuiltInPresetProjectionDeclaration, } from "@ykdz/template-builtin-source";
5
- import { renderFixCommand, renderRootCheckCommand, } from "@ykdz/template-core/module-graph";
6
5
  import { packageManifestExposureFields, planPackageLinks, } from "@ykdz/template-core/package-linking";
7
6
  import { interpretPresetProjectionDeclaration } from "@ykdz/template-core/projection-capabilities";
8
7
  import { renderNewProject, } from "@ykdz/template-core/renderer";
@@ -26,30 +25,6 @@ export const honoApiPresetMetadata = {
26
25
  "dependabot",
27
26
  ],
28
27
  };
29
- const apiPackageBoundary = {
30
- kind: "package-boundary",
31
- path: ".",
32
- };
33
- function planHonoApiPackageChecks() {
34
- return {
35
- components: [
36
- { kind: "oxc-format-check", owner: apiPackageBoundary },
37
- { kind: "oxc-lint", owner: apiPackageBoundary },
38
- { kind: "typescript-typecheck", owner: apiPackageBoundary },
39
- { kind: "build", owner: apiPackageBoundary },
40
- { kind: "unit-test", owner: apiPackageBoundary },
41
- ],
42
- environmentNeeds: [],
43
- };
44
- }
45
- function planHonoApiPackageFixes() {
46
- return {
47
- components: [
48
- { kind: "oxc-format-write", owner: apiPackageBoundary },
49
- { kind: "oxc-lint-fix", owner: apiPackageBoundary },
50
- ],
51
- };
52
- }
53
28
  function projectNameFromDir(targetDir) {
54
29
  return path.basename(path.resolve(targetDir));
55
30
  }
@@ -72,16 +47,14 @@ export function honoApiBlueprint(options = { targetDir: process.cwd() }) {
72
47
  }
73
48
  export function projectHonoApiPackageScripts() {
74
49
  return {
75
- build: "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
76
- check: renderRootCheckCommand(planHonoApiPackageChecks()),
77
- fix: renderFixCommand(planHonoApiPackageFixes()),
78
- "format:check": "oxfmt --check --config ../../oxfmt.config.ts .",
79
- "format:write": "oxfmt --write --config ../../oxfmt.config.ts .",
80
- lint: "oxlint --config ../../oxlint.config.ts .",
81
- "lint:fix": "oxlint --config ../../oxlint.config.ts . --fix",
50
+ "build:run": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
51
+ "format:check:run": "oxfmt --check --config ../../oxfmt.config.ts .",
52
+ "format:write:run": "oxfmt --write --config ../../oxfmt.config.ts .",
53
+ "lint:run": "oxlint --config ../../oxlint.config.ts .",
54
+ "lint:fix:run": "oxlint --config ../../oxlint.config.ts . --fix",
82
55
  start: "node dist/server.js",
83
- test: "vitest run",
84
- typecheck: "tsc -p tsconfig.json --noEmit",
56
+ "test:run": "vitest run",
57
+ "typecheck:run": "tsc -p tsconfig.json --noEmit",
85
58
  };
86
59
  }
87
60
  function packageAdditionOperations(packagePath, packageNameValue, nodeVersion) {
@@ -1,7 +1,7 @@
1
1
  import { playwrightBrowserAssetsEnvironmentNeed } from "@ykdz/template-core/module-graph";
2
- const rootPackageBoundary = {
2
+ const appsWorkspaceBoundary = {
3
3
  kind: "package-boundary",
4
- path: ".",
4
+ path: "apps/*",
5
5
  };
6
6
  const apiPackageBoundary = {
7
7
  kind: "package-boundary",
@@ -39,11 +39,11 @@ function nodeFixComponents(owner) {
39
39
  export function selectNodeCheckComponents(target) {
40
40
  switch (target) {
41
41
  case "hono-api":
42
- return honoApiCheckComponents(rootPackageBoundary);
42
+ return honoApiCheckComponents(apiPackageBoundary);
43
43
  case "vue-app":
44
- return vueAppCheckComponents(rootPackageBoundary);
44
+ return vueAppCheckComponents(webPackageBoundary);
45
45
  case "vue-hono-root":
46
- return [{ kind: "turbo-check", owner: rootPackageBoundary }];
46
+ return [{ kind: "turbo-check", owner: appsWorkspaceBoundary }];
47
47
  case "vue-hono-api":
48
48
  return honoApiCheckComponents(apiPackageBoundary);
49
49
  case "vue-hono-web":
@@ -53,10 +53,11 @@ export function selectNodeCheckComponents(target) {
53
53
  export function selectNodeFixComponents(target) {
54
54
  switch (target) {
55
55
  case "hono-api":
56
+ return nodeFixComponents(apiPackageBoundary);
56
57
  case "vue-app":
57
- return nodeFixComponents(rootPackageBoundary);
58
+ return nodeFixComponents(webPackageBoundary);
58
59
  case "vue-hono-root":
59
- return [{ kind: "turbo-fix", owner: rootPackageBoundary }];
60
+ return [{ kind: "turbo-fix", owner: appsWorkspaceBoundary }];
60
61
  case "vue-hono-api":
61
62
  return nodeFixComponents(apiPackageBoundary);
62
63
  case "vue-hono-web":
@@ -68,7 +69,7 @@ function checkEnvironmentNeeds(target) {
68
69
  return [
69
70
  playwrightBrowserAssetsEnvironmentNeed({
70
71
  browser: "chromium",
71
- owner: rootPackageBoundary,
72
+ owner: webPackageBoundary,
72
73
  id: "install-playwright-browsers",
73
74
  label: "Install Playwright browser assets",
74
75
  }),
@@ -1,6 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { builtInPresetProjectionSourceRoots, loadBuiltInPresetProjectionDeclaration, } from "@ykdz/template-builtin-source";
3
- import { renderFixCommand, renderRootCheckCommand, } from "@ykdz/template-core/module-graph";
3
+ import {} from "@ykdz/template-core/module-graph";
4
4
  import { interpretPresetProjectionDeclaration } from "@ykdz/template-core/projection-capabilities";
5
5
  import { renderNewProject } from "@ykdz/template-core/renderer";
6
6
  import { PackageAdditionSupport, } from "@ykdz/template-shared";
@@ -24,7 +24,7 @@ export const rustBinPresetMetadata = {
24
24
  };
25
25
  const rustPackageBoundary = {
26
26
  kind: "package-boundary",
27
- path: ".",
27
+ path: "packages/*",
28
28
  };
29
29
  function cargoPackageNameFromProjectName(projectName) {
30
30
  const slug = projectName
@@ -77,8 +77,10 @@ export function rustBinBlueprint(options = { targetDir: process.cwd() }) {
77
77
  }
78
78
  export function projectRustBinPackageScripts() {
79
79
  return {
80
- check: renderRootCheckCommand(planRustBinChecks()),
81
- fix: renderFixCommand(planRustBinFixes()),
80
+ "format:check:run": "cargo fmt --all -- --check",
81
+ "format:write:run": "cargo fmt --all",
82
+ "lint:run": "cargo clippy --workspace --all-targets -- -D warnings",
83
+ "test:run": "cargo test --workspace",
82
84
  };
83
85
  }
84
86
  export const rustBinPresetProjection = {
@@ -2,7 +2,6 @@ import { existsSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { builtInPresetProjectionSourceRoots, loadBuiltInPresetProjectionDeclaration, } from "@ykdz/template-builtin-source";
5
- import { renderFixCommand, renderRootCheckCommand, } from "@ykdz/template-core/module-graph";
6
5
  import { packageManifestExposureFields, planPackageLinks, } from "@ykdz/template-core/package-linking";
7
6
  import { interpretPresetProjectionDeclaration } from "@ykdz/template-core/projection-capabilities";
8
7
  import { renderNewProject, } from "@ykdz/template-core/renderer";
@@ -26,28 +25,6 @@ export const tsLibPresetMetadata = {
26
25
  "dependabot",
27
26
  ],
28
27
  };
29
- const tsLibPackageBoundary = {
30
- kind: "package-boundary",
31
- path: ".",
32
- };
33
- function planTsLibPackageChecks() {
34
- return {
35
- components: [
36
- { kind: "typescript-typecheck", owner: tsLibPackageBoundary },
37
- { kind: "oxc-lint", owner: tsLibPackageBoundary },
38
- { kind: "oxc-format-check", owner: tsLibPackageBoundary },
39
- ],
40
- environmentNeeds: [],
41
- };
42
- }
43
- function planTsLibPackageFixes() {
44
- return {
45
- components: [
46
- { kind: "oxc-format-write", owner: tsLibPackageBoundary },
47
- { kind: "oxc-lint-fix", owner: tsLibPackageBoundary },
48
- ],
49
- };
50
- }
51
28
  function projectNameFromDir(targetDir) {
52
29
  return path.basename(path.resolve(targetDir));
53
30
  }
@@ -75,16 +52,12 @@ export function tsLibBlueprint(options = { targetDir: process.cwd() }) {
75
52
  };
76
53
  }
77
54
  export function projectTsLibPackageScripts() {
78
- const checkPlan = planTsLibPackageChecks();
79
- const fixPlan = planTsLibPackageFixes();
80
55
  return {
81
- check: renderRootCheckCommand(checkPlan),
82
- fix: renderFixCommand(fixPlan),
83
- "format:check": "oxfmt --check --config ../../oxfmt.config.ts .",
84
- "format:write": "oxfmt --write --config ../../oxfmt.config.ts .",
85
- lint: "oxlint --config ../../oxlint.config.ts .",
86
- "lint:fix": "oxlint --config ../../oxlint.config.ts . --fix",
87
- typecheck: "tsc -p tsconfig.json --noEmit",
56
+ "format:check:run": "oxfmt --check --config ../../oxfmt.config.ts .",
57
+ "format:write:run": "oxfmt --write --config ../../oxfmt.config.ts .",
58
+ "lint:run": "oxlint --config ../../oxlint.config.ts .",
59
+ "lint:fix:run": "oxlint --config ../../oxlint.config.ts . --fix",
60
+ "typecheck:run": "tsc -p tsconfig.json --noEmit",
88
61
  };
89
62
  }
90
63
  function packageAdditionOperations(packagePath, packageNameValue, nodeVersion) {
@@ -24,6 +24,9 @@ export const vikeAppPresetMetadata = {
24
24
  function projectNameFromDir(targetDir) {
25
25
  return targetDir.split(/[\\/]/).filter(Boolean).at(-1) ?? "vike-app";
26
26
  }
27
+ function scopedPackageName(packageScope) {
28
+ return `@${packageScope}/web`;
29
+ }
27
30
  export function vikeAppBlueprint(options = { targetDir: process.cwd() }) {
28
31
  const projectName = projectNameFromDir(options.targetDir);
29
32
  return {
@@ -32,7 +35,7 @@ export function vikeAppBlueprint(options = { targetDir: process.cwd() }) {
32
35
  packageManager: "pnpm",
33
36
  projectKind: "multi-package",
34
37
  features: [...vikeAppPresetMetadata.features],
35
- packages: [{ name: projectName, path: "." }],
38
+ packages: [{ name: scopedPackageName(projectName), path: "apps/web" }],
36
39
  };
37
40
  }
38
41
  export const vikeAppPresetProjection = {
@@ -3,7 +3,6 @@ import { readFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { builtInPresetProjectionSourceRoots, loadBuiltInPresetProjectionDeclaration, } from "@ykdz/template-builtin-source";
6
- import { renderFixCommand, renderRootCheckCommand, } from "@ykdz/template-core/module-graph";
7
6
  import { interpretPresetProjectionDeclaration } from "@ykdz/template-core/projection-capabilities";
8
7
  import { renderNewProject, } from "@ykdz/template-core/renderer";
9
8
  import { PackageAdditionSupport, } from "@ykdz/template-shared";
@@ -26,31 +25,6 @@ export const vueAppPresetMetadata = {
26
25
  "dependabot",
27
26
  ],
28
27
  };
29
- const webPackageBoundary = {
30
- kind: "package-boundary",
31
- path: ".",
32
- };
33
- function planVueAppPackageChecks() {
34
- return {
35
- components: [
36
- { kind: "oxc-format-check", owner: webPackageBoundary },
37
- { kind: "oxc-lint", owner: webPackageBoundary },
38
- { kind: "typescript-typecheck", owner: webPackageBoundary },
39
- { kind: "build", owner: webPackageBoundary },
40
- { kind: "unit-test", owner: webPackageBoundary },
41
- { kind: "e2e-test", owner: webPackageBoundary },
42
- ],
43
- environmentNeeds: [],
44
- };
45
- }
46
- function planVueAppPackageFixes() {
47
- return {
48
- components: [
49
- { kind: "oxc-format-write", owner: webPackageBoundary },
50
- { kind: "oxc-lint-fix", owner: webPackageBoundary },
51
- ],
52
- };
53
- }
54
28
  function projectNameFromDir(targetDir) {
55
29
  return path.basename(path.resolve(targetDir));
56
30
  }
@@ -73,18 +47,16 @@ export function vueAppBlueprint(options = { targetDir: process.cwd() }) {
73
47
  }
74
48
  export function projectVueAppPackageScripts() {
75
49
  return {
76
- build: "vite build",
77
- check: renderRootCheckCommand(planVueAppPackageChecks()),
50
+ "build:run": "vite build",
78
51
  dev: "vite",
79
- fix: renderFixCommand(planVueAppPackageFixes()),
80
- "format:check": "oxfmt --check --config ../../oxfmt.config.ts .",
81
- "format:write": "oxfmt --write --config ../../oxfmt.config.ts .",
82
- lint: "oxlint --config ../../oxlint.config.ts .",
83
- "lint:fix": "oxlint --config ../../oxlint.config.ts . --fix",
52
+ "format:check:run": "oxfmt --check --config ../../oxfmt.config.ts .",
53
+ "format:write:run": "oxfmt --write --config ../../oxfmt.config.ts .",
54
+ "lint:run": "oxlint --config ../../oxlint.config.ts .",
55
+ "lint:fix:run": "oxlint --config ../../oxlint.config.ts . --fix",
84
56
  preview: "vite preview",
85
- test: "vitest run",
86
- "test:e2e": "pnpm run build && node --experimental-strip-types scripts/run-playwright.ts",
87
- typecheck: "vue-tsc --build --noEmit",
57
+ "test:run": "vitest run",
58
+ "test:e2e:run": "node --experimental-strip-types scripts/run-playwright.ts",
59
+ "typecheck:run": "vue-tsc --build --noEmit",
88
60
  };
89
61
  }
90
62
  function isNodeError(error) {
@@ -27,14 +27,6 @@ const rootBoundary = {
27
27
  kind: "workspace-orchestration",
28
28
  path: ".",
29
29
  };
30
- const apiPackageBoundary = {
31
- kind: "package-boundary",
32
- path: ".",
33
- };
34
- const webPackageBoundary = {
35
- kind: "package-boundary",
36
- path: ".",
37
- };
38
30
  const workspacePackageBoundary = {
39
31
  kind: "package-boundary",
40
32
  path: "apps/*",
@@ -43,31 +35,6 @@ const webWorkspaceBoundary = {
43
35
  kind: "package-boundary",
44
36
  path: "apps/web",
45
37
  };
46
- function honoApiCheckComponents(owner) {
47
- return [
48
- { kind: "oxc-format-check", owner },
49
- { kind: "oxc-lint", owner },
50
- { kind: "typescript-typecheck", owner },
51
- { kind: "build", owner },
52
- { kind: "unit-test", owner },
53
- ];
54
- }
55
- function vueWebCheckComponents(owner) {
56
- return [
57
- { kind: "oxc-format-check", owner },
58
- { kind: "oxc-lint", owner },
59
- { kind: "typescript-typecheck", owner },
60
- { kind: "build", owner },
61
- { kind: "unit-test", owner },
62
- { kind: "e2e-test", owner },
63
- ];
64
- }
65
- function nodeFixComponents(owner) {
66
- return [
67
- { kind: "oxc-format-write", owner },
68
- { kind: "oxc-lint-fix", owner },
69
- ];
70
- }
71
38
  function planVueHonoRootChecks() {
72
39
  return {
73
40
  components: [
@@ -95,23 +62,6 @@ function planVueHonoRootFixes() {
95
62
  ],
96
63
  };
97
64
  }
98
- function planVueHonoApiChecks() {
99
- return {
100
- components: [...honoApiCheckComponents(apiPackageBoundary)],
101
- environmentNeeds: [],
102
- };
103
- }
104
- function planVueHonoWebChecks() {
105
- return {
106
- components: [...vueWebCheckComponents(webPackageBoundary)],
107
- environmentNeeds: [],
108
- };
109
- }
110
- function planVueHonoPackageFixes(owner) {
111
- return {
112
- components: [...nodeFixComponents(owner)],
113
- };
114
- }
115
65
  function projectNameFromDir(targetDir) {
116
66
  return path.basename(path.resolve(targetDir));
117
67
  }
@@ -138,44 +88,47 @@ export function vueHonoAppBlueprint(options) {
138
88
  export function projectVueHonoRootPackageScripts() {
139
89
  return {
140
90
  check: renderRootCheckCommand(planVueHonoRootChecks()),
91
+ "check:run": 'node -e ""',
141
92
  dev: "turbo run dev --parallel",
142
93
  fix: renderFixCommand(planVueHonoRootFixes()),
143
- "format:check": "oxfmt --check oxlint.config.ts oxfmt.config.ts",
144
- "format:write": "oxfmt --write oxlint.config.ts oxfmt.config.ts",
145
- lint: "oxlint oxlint.config.ts oxfmt.config.ts",
146
- "lint:fix": "oxlint oxlint.config.ts oxfmt.config.ts --fix",
147
- typecheck: "tsc -p tsconfig.config.json --noEmit",
94
+ "fix:run": 'node -e ""',
95
+ "format:check": "turbo run format:check:run",
96
+ "format:check:run": "oxfmt --check oxlint.config.ts oxfmt.config.ts",
97
+ "format:write": "turbo run format:write:run",
98
+ "format:write:run": "oxfmt --write oxlint.config.ts oxfmt.config.ts",
99
+ lint: "turbo run lint:run",
100
+ "lint:fix": "turbo run lint:fix:run",
101
+ "lint:fix:run": "oxlint oxlint.config.ts oxfmt.config.ts --fix",
102
+ "lint:run": "oxlint oxlint.config.ts oxfmt.config.ts",
103
+ typecheck: "turbo run typecheck:run",
104
+ "typecheck:run": "tsc -p tsconfig.config.json --noEmit",
148
105
  };
149
106
  }
150
107
  export function projectVueHonoApiPackageScripts() {
151
108
  return {
152
- build: "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
153
- check: renderRootCheckCommand(planVueHonoApiChecks()),
109
+ "build:run": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
154
110
  dev: "tsx watch src/server.ts",
155
- fix: renderFixCommand(planVueHonoPackageFixes(apiPackageBoundary)),
156
- "format:check": "oxfmt --check --config ../../oxfmt.config.ts .",
157
- "format:write": "oxfmt --write --config ../../oxfmt.config.ts .",
158
- lint: "oxlint --config ../../oxlint.config.ts .",
159
- "lint:fix": "oxlint --config ../../oxlint.config.ts . --fix",
111
+ "format:check:run": "oxfmt --check --config ../../oxfmt.config.ts .",
112
+ "format:write:run": "oxfmt --write --config ../../oxfmt.config.ts .",
113
+ "lint:run": "oxlint --config ../../oxlint.config.ts .",
114
+ "lint:fix:run": "oxlint --config ../../oxlint.config.ts . --fix",
160
115
  start: "node dist/server.js",
161
- test: "vitest run",
162
- typecheck: "tsc -p tsconfig.json --noEmit",
116
+ "test:run": "vitest run",
117
+ "typecheck:run": "tsc -p tsconfig.json --noEmit",
163
118
  };
164
119
  }
165
120
  export function projectVueHonoWebPackageScripts() {
166
121
  return {
167
- build: "vite build",
168
- check: renderRootCheckCommand(planVueHonoWebChecks()),
122
+ "build:run": "vite build",
169
123
  dev: "vite",
170
- fix: renderFixCommand(planVueHonoPackageFixes(webPackageBoundary)),
171
- "format:check": "oxfmt --check --config ../../oxfmt.config.ts .",
172
- "format:write": "oxfmt --write --config ../../oxfmt.config.ts .",
173
- lint: "oxlint --config ../../oxlint.config.ts .",
174
- "lint:fix": "oxlint --config ../../oxlint.config.ts . --fix",
124
+ "format:check:run": "oxfmt --check --config ../../oxfmt.config.ts .",
125
+ "format:write:run": "oxfmt --write --config ../../oxfmt.config.ts .",
126
+ "lint:run": "oxlint --config ../../oxlint.config.ts .",
127
+ "lint:fix:run": "oxlint --config ../../oxlint.config.ts . --fix",
175
128
  preview: "vite preview",
176
- test: "vitest run",
177
- "test:e2e": "pnpm run build && node --experimental-strip-types scripts/run-playwright.ts",
178
- typecheck: "vue-tsc --build",
129
+ "test:run": "vitest run",
130
+ "test:e2e:run": "node --experimental-strip-types scripts/run-playwright.ts",
131
+ "typecheck:run": "vue-tsc --build",
179
132
  };
180
133
  }
181
134
  export const vueHonoAppPresetProjection = {
@@ -10,7 +10,7 @@ jobs:
10
10
  check:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v6
13
+ - uses: actions/checkout@v7
14
14
  - uses: actions/setup-node@v6
15
15
  with:
16
16
  node-version-file: package.json
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": ["//"],
3
+ "tasks": {
4
+ "build:run": {
5
+ "outputs": ["dist/**"]
6
+ }
7
+ }
8
+ }
@@ -217,7 +217,7 @@
217
217
  "workspacePackageGlob": "packages/*",
218
218
  "packageRole": "shared-library",
219
219
  "packageSourcePreset": "ts-lib",
220
- "sourceFiles": ["src/index.ts", "src/name-schema.ts"]
220
+ "sourceFiles": ["turbo.json", "src/index.ts", "src/name-schema.ts"]
221
221
  },
222
222
  { "kind": "strict-typescript-root" },
223
223
  {
@@ -233,6 +233,7 @@
233
233
  },
234
234
  "source": {
235
235
  "roots": ["ts-lib/.github", "ts-lib/src"],
236
+ "files": ["ts-lib/turbo.json"],
236
237
  "sharedResources": [
237
238
  "shared-devcontainer",
238
239
  "shared-editor-customization",
@@ -282,6 +283,7 @@
282
283
  "kind": "hono-api",
283
284
  "path": "apps/api",
284
285
  "sourceFiles": [
286
+ "turbo.json",
285
287
  "src/app.ts",
286
288
  "src/server.ts",
287
289
  "test/app.test.ts",
@@ -304,7 +306,7 @@
304
306
  },
305
307
  "source": {
306
308
  "roots": ["hono-api/.github", "hono-api/src", "hono-api/test"],
307
- "files": ["hono-api/vitest.config.ts"],
309
+ "files": ["hono-api/turbo.json", "hono-api/vitest.config.ts"],
308
310
  "sharedResources": [
309
311
  "shared-devcontainer",
310
312
  "shared-editor-customization",
@@ -361,6 +363,7 @@
361
363
  "kind": "vue-app",
362
364
  "path": "apps/web",
363
365
  "sourceFiles": [
366
+ "turbo.json",
364
367
  "env.d.ts",
365
368
  "index.html",
366
369
  "playwright.config.ts",
@@ -397,6 +400,7 @@
397
400
  "vue-app/playwright.package-addition.config.ts",
398
401
  "vue-app/playwright.config.ts",
399
402
  "vue-app/scripts/run-playwright.ts",
403
+ "vue-app/turbo.json",
400
404
  "vue-app/vite.config.ts",
401
405
  "vue-app/vitest.config.ts"
402
406
  ],
@@ -454,11 +458,11 @@
454
458
  "capabilities": [
455
459
  {
456
460
  "kind": "workspace-node-packages",
457
- "workspacePackageGlob": ".",
461
+ "workspacePackageGlob": "apps/*",
458
462
  "packages": [
459
463
  {
460
464
  "kind": "vike-app",
461
- "path": ".",
465
+ "path": "apps/web",
462
466
  "sourceFiles": [
463
467
  "+server.ts",
464
468
  ".env.example",
@@ -469,8 +473,6 @@
469
473
  "database/queries/todos.ts",
470
474
  "database/schema.ts",
471
475
  "drizzle.config.ts",
472
- "env.d.ts",
473
- "global.d.ts",
474
476
  "pages/+Head.vue",
475
477
  "pages/+Layout.vue",
476
478
  "pages/+config.ts",
@@ -482,6 +484,8 @@
482
484
  "server/app.ts",
483
485
  "test/e2e/app.spec.ts",
484
486
  "test/todos.test.ts",
487
+ "types/env.d.ts",
488
+ "types/global.d.ts",
485
489
  "vite.config.ts",
486
490
  "vitest.config.ts"
487
491
  ]
@@ -508,14 +512,13 @@
508
512
  "vike-app/database",
509
513
  "vike-app/pages",
510
514
  "vike-app/server",
511
- "vike-app/test"
515
+ "vike-app/test",
516
+ "vike-app/types"
512
517
  ],
513
518
  "files": [
514
519
  "vike-app/+server.ts",
515
520
  "vike-app/.env.example",
516
521
  "vike-app/drizzle.config.ts",
517
- "vike-app/env.d.ts",
518
- "vike-app/global.d.ts",
519
522
  "vike-app/playwright.config.ts",
520
523
  "vike-app/vite.config.ts",
521
524
  "vike-app/vitest.config.ts"
@@ -580,6 +583,7 @@
580
583
  "kind": "vue-app",
581
584
  "path": "apps/web",
582
585
  "sourceFiles": [
586
+ "web/turbo.json",
583
587
  "web/env.d.ts",
584
588
  "web/index.html",
585
589
  "web/playwright.config.ts",
@@ -599,6 +603,7 @@
599
603
  "kind": "hono-api",
600
604
  "path": "apps/api",
601
605
  "sourceFiles": [
606
+ "api/turbo.json",
602
607
  "api/src/index.ts",
603
608
  "api/src/runtime.ts",
604
609
  "api/src/server.ts",
@@ -636,10 +641,12 @@
636
641
  ],
637
642
  "files": [
638
643
  "vue-hono-app/api/vitest.config.ts",
644
+ "vue-hono-app/api/turbo.json",
639
645
  "vue-hono-app/web/env.d.ts",
640
646
  "vue-hono-app/web/index.html",
641
647
  "vue-hono-app/web/playwright.config.ts",
642
648
  "vue-hono-app/web/scripts/run-playwright.ts",
649
+ "vue-hono-app/web/turbo.json",
643
650
  "vue-hono-app/web/vite.config.ts",
644
651
  "vue-hono-app/web/vitest.config.ts"
645
652
  ],
@@ -676,7 +683,7 @@
676
683
  {
677
684
  "kind": "rust-binary-workspace",
678
685
  "workspacePackageGlob": "packages/*",
679
- "sourceFiles": ["src/main.rs"],
686
+ "sourceFiles": ["turbo.json", "src/main.rs"],
680
687
  "devcontainerResourceId": "shared-devcontainer",
681
688
  "editorCustomizationResourceId": "shared-editor-customization"
682
689
  }
@@ -684,7 +691,11 @@
684
691
  },
685
692
  "source": {
686
693
  "roots": ["rust-bin/.github", "rust-bin/src"],
687
- "files": ["rust-bin/rust-toolchain.toml", "rust-bin/rustfmt.toml"],
694
+ "files": [
695
+ "rust-bin/rust-toolchain.toml",
696
+ "rust-bin/rustfmt.toml",
697
+ "rust-bin/turbo.json"
698
+ ],
688
699
  "sharedResources": [
689
700
  "shared-devcontainer",
690
701
  "shared-editor-customization"
@@ -10,7 +10,7 @@ jobs:
10
10
  check:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v6
13
+ - uses: actions/checkout@v7
14
14
  - uses: actions/setup-node@v6
15
15
  with:
16
16
  node-version-file: package.json
@@ -10,7 +10,7 @@ jobs:
10
10
  check:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v6
13
+ - uses: actions/checkout@v7
14
14
  - uses: actions/setup-node@v6
15
15
  with:
16
16
  node-version-file: package.json
@@ -10,11 +10,11 @@ jobs:
10
10
  check:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v6
13
+ - uses: actions/checkout@v7
14
14
  - uses: actions/setup-node@v6
15
15
  with:
16
16
  node-version-file: package.json
17
17
  - run: corepack enable
18
18
  - run: pnpm install
19
- - run: pnpm exec playwright install --with-deps chromium
19
+ - run: pnpm --filter ./apps/web exec playwright install --with-deps chromium
20
20
  - run: pnpm run check
@@ -10,7 +10,7 @@ jobs:
10
10
  check:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v6
13
+ - uses: actions/checkout@v7
14
14
  - uses: actions/setup-node@v6
15
15
  with:
16
16
  node-version-file: package.json