pipework 0.6.4 → 0.7.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.
Files changed (168) hide show
  1. package/dist/cli/commands/check.d.ts.map +1 -1
  2. package/dist/cli/commands/check.js +62 -1
  3. package/dist/cli/commands/check.js.map +1 -1
  4. package/dist/cli/commands/run.d.ts.map +1 -1
  5. package/dist/cli/commands/run.js +4 -8
  6. package/dist/cli/commands/run.js.map +1 -1
  7. package/dist/config/discover.d.ts +1 -0
  8. package/dist/config/discover.d.ts.map +1 -1
  9. package/dist/config/discover.js +1 -1
  10. package/dist/config/discover.js.map +1 -1
  11. package/dist/config/index.d.ts +2 -2
  12. package/dist/config/index.d.ts.map +1 -1
  13. package/dist/config/index.js +1 -1
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/config/namespace.d.ts +76 -0
  16. package/dist/config/namespace.d.ts.map +1 -1
  17. package/dist/config/schema.d.ts +250 -0
  18. package/dist/config/schema.d.ts.map +1 -1
  19. package/dist/config/schema.js +38 -0
  20. package/dist/config/schema.js.map +1 -1
  21. package/dist/db/db.d.ts +0 -1
  22. package/dist/db/db.d.ts.map +1 -1
  23. package/dist/db/db.js +2 -5
  24. package/dist/db/db.js.map +1 -1
  25. package/dist/db/namespace.d.ts +0 -5
  26. package/dist/db/namespace.d.ts.map +1 -1
  27. package/dist/db/namespace.js +0 -5
  28. package/dist/db/namespace.js.map +1 -1
  29. package/dist/di/builder.d.ts +3 -2
  30. package/dist/di/builder.d.ts.map +1 -1
  31. package/dist/di/builder.js +11 -4
  32. package/dist/di/builder.js.map +1 -1
  33. package/dist/di/resolve.d.ts.map +1 -1
  34. package/dist/di/resolve.js +18 -4
  35. package/dist/di/resolve.js.map +1 -1
  36. package/dist/di/types.d.ts +1 -1
  37. package/dist/di/types.d.ts.map +1 -1
  38. package/dist/domain/define.d.ts.map +1 -1
  39. package/dist/domain/define.js +5 -0
  40. package/dist/domain/define.js.map +1 -1
  41. package/dist/domain/project-table.js +4 -0
  42. package/dist/domain/project-table.js.map +1 -1
  43. package/dist/fitting/namespace.d.ts +1 -5
  44. package/dist/fitting/namespace.d.ts.map +1 -1
  45. package/dist/fitting/namespace.js +1 -5
  46. package/dist/fitting/namespace.js.map +1 -1
  47. package/dist/fixture/index.d.ts +1 -1
  48. package/dist/fixture/index.d.ts.map +1 -1
  49. package/dist/fixture/index.js +1 -1
  50. package/dist/fixture/index.js.map +1 -1
  51. package/dist/fixture/namespace.d.ts +3 -3
  52. package/dist/fixture/namespace.d.ts.map +1 -1
  53. package/dist/fixture/namespace.js +3 -3
  54. package/dist/fixture/namespace.js.map +1 -1
  55. package/dist/fixture/to-handlers.d.ts +6 -0
  56. package/dist/fixture/to-handlers.d.ts.map +1 -0
  57. package/dist/fixture/to-handlers.js +245 -0
  58. package/dist/fixture/to-handlers.js.map +1 -0
  59. package/dist/flow/namespace.d.ts +1 -10
  60. package/dist/flow/namespace.d.ts.map +1 -1
  61. package/dist/flow/namespace.js +1 -10
  62. package/dist/flow/namespace.js.map +1 -1
  63. package/dist/http/namespace.d.ts +2 -6
  64. package/dist/http/namespace.d.ts.map +1 -1
  65. package/dist/http/namespace.js +2 -6
  66. package/dist/http/namespace.js.map +1 -1
  67. package/dist/http/server.d.ts.map +1 -1
  68. package/dist/http/server.js +17 -11
  69. package/dist/http/server.js.map +1 -1
  70. package/dist/index.d.ts +2 -2
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/openapi/generate.d.ts.map +1 -1
  74. package/dist/openapi/generate.js +10 -8
  75. package/dist/openapi/generate.js.map +1 -1
  76. package/dist/pipework.d.ts +7 -0
  77. package/dist/pipework.d.ts.map +1 -1
  78. package/dist/pipework.js +11 -0
  79. package/dist/pipework.js.map +1 -1
  80. package/dist/surface/validate.d.ts +2 -0
  81. package/dist/surface/validate.d.ts.map +1 -1
  82. package/dist/surface/validate.js +54 -0
  83. package/dist/surface/validate.js.map +1 -1
  84. package/dist/temporal/definition-queries.d.ts +6 -6
  85. package/dist/temporal/definition-queries.d.ts.map +1 -1
  86. package/dist/temporal/definition-queries.js.map +1 -1
  87. package/dist/tenant/index.d.ts +1 -1
  88. package/dist/tenant/index.d.ts.map +1 -1
  89. package/dist/tenant/index.js +1 -1
  90. package/dist/tenant/index.js.map +1 -1
  91. package/dist/tenant/namespace.d.ts +2 -4
  92. package/dist/tenant/namespace.d.ts.map +1 -1
  93. package/dist/tenant/namespace.js +2 -4
  94. package/dist/tenant/namespace.js.map +1 -1
  95. package/dist/tenant/scoped-db.d.ts +1 -0
  96. package/dist/tenant/scoped-db.d.ts.map +1 -1
  97. package/dist/tenant/scoped-db.js +63 -2
  98. package/dist/tenant/scoped-db.js.map +1 -1
  99. package/dist/test/index.d.ts +1 -1
  100. package/dist/test/index.d.ts.map +1 -1
  101. package/dist/test/index.js +1 -1
  102. package/dist/test/index.js.map +1 -1
  103. package/dist/test/vitest-config.d.ts +1 -0
  104. package/dist/test/vitest-config.d.ts.map +1 -1
  105. package/dist/test/vitest-config.js +6 -2
  106. package/dist/test/vitest-config.js.map +1 -1
  107. package/dist/test/vitest-workspace.d.ts +6 -0
  108. package/dist/test/vitest-workspace.d.ts.map +1 -0
  109. package/dist/test/vitest-workspace.js +293 -0
  110. package/dist/test/vitest-workspace.js.map +1 -0
  111. package/dist/validation/index.d.ts +1 -1
  112. package/dist/validation/index.d.ts.map +1 -1
  113. package/dist/validation/index.js +1 -1
  114. package/dist/validation/index.js.map +1 -1
  115. package/dist/validation/startup.js +2 -2
  116. package/dist/validation/startup.js.map +1 -1
  117. package/dist/workspace/generate.d.ts +2 -0
  118. package/dist/workspace/generate.d.ts.map +1 -1
  119. package/dist/workspace/generate.js +15 -0
  120. package/dist/workspace/generate.js.map +1 -1
  121. package/dist/workspace/index.d.ts +1 -1
  122. package/dist/workspace/index.d.ts.map +1 -1
  123. package/dist/workspace/index.js +1 -1
  124. package/dist/workspace/index.js.map +1 -1
  125. package/dist/workspace/sync.d.ts.map +1 -1
  126. package/dist/workspace/sync.js +1 -0
  127. package/dist/workspace/sync.js.map +1 -1
  128. package/package.json +22 -24
  129. package/dist/drizzle/index.d.ts +0 -3
  130. package/dist/drizzle/index.d.ts.map +0 -1
  131. package/dist/drizzle/index.js +0 -3
  132. package/dist/drizzle/index.js.map +0 -1
  133. package/dist/resource/batch.d.ts +0 -17
  134. package/dist/resource/batch.d.ts.map +0 -1
  135. package/dist/resource/batch.js +0 -47
  136. package/dist/resource/batch.js.map +0 -1
  137. package/dist/resource/builder.d.ts +0 -11
  138. package/dist/resource/builder.d.ts.map +0 -1
  139. package/dist/resource/builder.js +0 -12
  140. package/dist/resource/builder.js.map +0 -1
  141. package/dist/resource/errors.d.ts +0 -7
  142. package/dist/resource/errors.d.ts.map +0 -1
  143. package/dist/resource/errors.js +0 -9
  144. package/dist/resource/errors.js.map +0 -1
  145. package/dist/resource/index.d.ts +0 -9
  146. package/dist/resource/index.d.ts.map +0 -1
  147. package/dist/resource/index.js +0 -6
  148. package/dist/resource/index.js.map +0 -1
  149. package/dist/resource/paginate.d.ts +0 -13
  150. package/dist/resource/paginate.d.ts.map +0 -1
  151. package/dist/resource/paginate.js +0 -29
  152. package/dist/resource/paginate.js.map +0 -1
  153. package/dist/resource/register.d.ts +0 -16
  154. package/dist/resource/register.d.ts.map +0 -1
  155. package/dist/resource/register.js +0 -181
  156. package/dist/resource/register.js.map +0 -1
  157. package/dist/resource/types.d.ts +0 -69
  158. package/dist/resource/types.d.ts.map +0 -1
  159. package/dist/resource/types.js +0 -2
  160. package/dist/resource/types.js.map +0 -1
  161. package/dist/trunk.d.ts +0 -35
  162. package/dist/trunk.d.ts.map +0 -1
  163. package/dist/trunk.js +0 -102
  164. package/dist/trunk.js.map +0 -1
  165. package/dist/validation/surface.d.ts +0 -4
  166. package/dist/validation/surface.d.ts.map +0 -1
  167. package/dist/validation/surface.js +0 -55
  168. package/dist/validation/surface.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAMA,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA8BvC"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAOA,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAmCvC"}
@@ -1,7 +1,8 @@
1
1
  import { execSync } from 'node:child_process';
2
- import { readFileSync, existsSync } from 'node:fs';
2
+ import { readFileSync, existsSync, readdirSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { computeChecksum, checksumFromPackageJson } from '../../workspace/checksum.js';
5
+ import { VITEST_WORKSPACE_CONTENT } from '../../workspace/generate.js';
5
6
  import { info, success, error as logError, warn } from '../output.js';
6
7
  export function check(cwd) {
7
8
  const steps = [
@@ -14,6 +15,10 @@ export function check(cwd) {
14
15
  if (!checksumOk) {
15
16
  failed = true;
16
17
  }
18
+ const vitestOk = verifyVitestWorkspace(cwd);
19
+ if (!vitestOk) {
20
+ failed = true;
21
+ }
17
22
  for (const step of steps) {
18
23
  info(step.name);
19
24
  try {
@@ -64,4 +69,60 @@ function verifyChecksums(cwd) {
64
69
  success('Workspace checksums');
65
70
  return true;
66
71
  }
72
+ function verifyVitestWorkspace(cwd) {
73
+ const workspacePath = join(cwd, 'vitest.workspace.ts');
74
+ if (!existsSync(workspacePath)) {
75
+ return true;
76
+ }
77
+ info('Vitest workspace');
78
+ let ok = true;
79
+ const content = readFileSync(workspacePath, 'utf-8');
80
+ if (content !== VITEST_WORKSPACE_CONTENT) {
81
+ logError('vitest.workspace.ts is stale. Run `pipework install` to regenerate.');
82
+ ok = false;
83
+ }
84
+ const staleConfigs = findStaleVitestConfigs(cwd);
85
+ if (staleConfigs.length > 0) {
86
+ warn('Stale vitest configs (test config is centralized in pipework.config.ts):');
87
+ for (const file of staleConfigs) {
88
+ warn(` ${file} — remove this file`);
89
+ }
90
+ ok = false;
91
+ }
92
+ if (ok) {
93
+ success('Vitest workspace');
94
+ }
95
+ return ok;
96
+ }
97
+ function findStaleVitestConfigs(cwd) {
98
+ const workspaceYamlPath = join(cwd, 'pnpm-workspace.yaml');
99
+ if (!existsSync(workspaceYamlPath))
100
+ return [];
101
+ const yaml = readFileSync(workspaceYamlPath, 'utf-8');
102
+ const packages = [];
103
+ for (const line of yaml.split('\n')) {
104
+ const match = line.match(/^\s*-\s*"(.+)"/);
105
+ if (match?.[1] !== undefined && match[1] !== '.') {
106
+ packages.push(match[1]);
107
+ }
108
+ }
109
+ const stale = [];
110
+ for (const pkg of packages) {
111
+ const pkgDir = join(cwd, pkg);
112
+ if (!existsSync(pkgDir))
113
+ continue;
114
+ try {
115
+ const entries = readdirSync(pkgDir);
116
+ for (const entry of entries) {
117
+ if (/^vitest.*\.config\.(ts|js|mts|mjs)$/.test(entry)) {
118
+ stale.push(join(pkg, entry));
119
+ }
120
+ }
121
+ }
122
+ catch {
123
+ continue;
124
+ }
125
+ }
126
+ return stale.sort();
127
+ }
67
128
  //# sourceMappingURL=check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAErE,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,MAAM,KAAK,GAAG;QACZ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE;QAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iCAAiC,EAAE;QACxD,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,kCAAkC,EAAE;KAChE,CAAA;IAED,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,GAAG,IAAI,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,IAAI,CAAA;IACf,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,CAAA;YAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;gBAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAE,GAA0B,CAAC,MAAM,CAAC,CAAC,CAAA;YAClE,CAAC;YACD,MAAM,GAAG,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAEzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,GAA4B,CAAA;IAChC,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAA4B,CAAA;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAE3B,MAAM,cAAc,GAAG,uBAAuB,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,qDAAqD,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;IAClC,OAAO,eAAe,CAAC,WAAW,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAC/D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAEzC,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,6FAA6F,CAAC,CAAA;QACvG,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC9B,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;IACtD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAExB,IAAI,EAAE,GAAG,IAAI,CAAA;IACb,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpD,IAAI,OAAO,KAAK,wBAAwB,EAAE,CAAC;QACzC,QAAQ,CAAC,qEAAqE,CAAC,CAAA;QAC/E,EAAE,GAAG,KAAK,CAAA;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAChD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,0EAA0E,CAAC,CAAA;QAChF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,IAAI,qBAAqB,CAAC,CAAA;QACtC,CAAC;QACD,EAAE,GAAG,KAAK,CAAA;IACZ,CAAC;IAED,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;IAC1D,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,EAAE,CAAA;IAE7C,MAAM,IAAI,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC1C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAQ;QAEjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;YACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,wBAAsB,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCnE"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,wBAAsB,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BnE"}
@@ -11,18 +11,14 @@ export async function run(options) {
11
11
  }
12
12
  const { loadEnvFiles } = await import('../../config/env.js');
13
13
  const { discoverInstance } = await import('../../config/discover.js');
14
- const { createJobContext } = await import('../../context/create.js');
15
- const { runInContext } = await import('../../context/store.js');
16
14
  loadEnvFiles(options.cwd);
17
15
  const instance = await discoverInstance(options.cwd);
18
- const ctx = createJobContext({
19
- instance,
20
- jobType: options.jobType ?? 'script',
21
- tenant: options.tenant ?? null,
22
- });
23
16
  try {
24
- await runInContext(ctx, async () => {
17
+ await instance.seed(async () => {
25
18
  await import(pathToFileURL(scriptPath).href);
19
+ }, {
20
+ jobType: options.jobType ?? 'script',
21
+ tenant: options.tenant ?? null,
26
22
  });
27
23
  success(`Script completed: ${options.script}`);
28
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAS5C,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAA0B;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAEvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,qBAAqB,OAAO,CAAC,MAAM,MAAM;YACzC,kDAAkD;YAClD,cAAc,IAAI,CAAC,gCAAgC,CAAC,IAAI,CACzD,CAAA;IACH,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC5D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAA;IACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACpE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAE/D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEpD,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC3B,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;KAC/B,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,qBAAqB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAChD,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAChC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAS5C,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAA0B;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAEvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,qBAAqB,OAAO,CAAC,MAAM,MAAM;YACzC,kDAAkD;YAClD,cAAc,IAAI,CAAC,gCAAgC,CAAC,IAAI,CACzD,CAAA;IACH,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC5D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAErE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC,EAAE;YACD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;SAC/B,CAAC,CAAA;QACF,OAAO,CAAC,qBAAqB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAChD,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAChC,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { Manifold } from '../pipework.js';
2
2
  export declare function discoverInstance(cwd?: string): Promise<Manifold>;
3
+ export declare function findConfig(from: string): string | null;
3
4
  //# sourceMappingURL=discover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/config/discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C,wBAAsB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2BtE"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/config/discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C,wBAAsB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2BtE;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYtD"}
@@ -24,7 +24,7 @@ export async function discoverInstance(cwd) {
24
24
  function isManifold(v) {
25
25
  return typeof v === 'object' && v !== null && 'pool' in v && 'config' in v;
26
26
  }
27
- function findConfig(from) {
27
+ export function findConfig(from) {
28
28
  let dir = resolve(from);
29
29
  let parent = dirname(dir);
30
30
  while (dir !== parent) {
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/config/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAEpC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CACnB,MAAM,eAAe,aAAa,KAAK,2BAA2B,EAClE,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAA;IAChD,MAAM,GAAG,GAA4B,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAY,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAA;IAE/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,yDAAyD,EAC3E,mCAAmC;YACnC,iDAAiD;YACjD,qCAAqC;YACrC,oDAAoD;YACpD,QAAQ,CACT,CAAA;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;QAC/C,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QAC3C,GAAG,GAAG,MAAM,CAAA;QACZ,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAC1C,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/config/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAEpC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CACnB,MAAM,eAAe,aAAa,KAAK,2BAA2B,EAClE,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAA;IAChD,MAAM,GAAG,GAA4B,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAY,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAA;IAE/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,yDAAyD,EAC3E,mCAAmC;YACnC,iDAAiD;YACjD,qCAAqC;YACrC,oDAAoD;YACpD,QAAQ,CACT,CAAA;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;QAC/C,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QAC3C,GAAG,GAAG,MAAM,CAAA;QACZ,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAC1C,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,7 +1,7 @@
1
- export { trunkConfigSchema, type Blueprint, type DatabaseConfig, type TestConfig, type Environment, type IsolationStrategy, type ObservabilityConfig, type ModuleConfig } from './schema.js';
1
+ export { trunkConfigSchema, type Blueprint, type DatabaseConfig, type TestConfig, type Environment, type IsolationStrategy, type ObservabilityConfig, type ModuleConfig, type VitestConfig, type VitestModuleConfig, type VitestProfileConfig, type CoverageConfig } from './schema.js';
2
2
  export { loadConfig, type ResolvedConfig, type ResolvedDatabase, type ResolvedObservability } from './load.js';
3
3
  export { resolveEnvironment, ConfigError } from './resolve.js';
4
- export { discoverInstance } from './discover.js';
4
+ export { discoverInstance, findConfig } from './discover.js';
5
5
  export { loadEnvFiles } from './env.js';
6
6
  export { resolveEnvVars } from './env-resolve.js';
7
7
  export type { EnvVarDef, EnvDefs, ResolveEnvDefs, StringEnvVar, NumberEnvVar, BooleanEnvVar, StringArrayEnvVar } from './env-types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5L,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAC9G,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACvR,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAC9G,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  export { trunkConfigSchema } from './schema.js';
2
2
  export { loadConfig } from './load.js';
3
3
  export { resolveEnvironment, ConfigError } from './resolve.js';
4
- export { discoverInstance } from './discover.js';
4
+ export { discoverInstance, findConfig } from './discover.js';
5
5
  export { loadEnvFiles } from './env.js';
6
6
  export { resolveEnvVars } from './env-resolve.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA+I,MAAM,aAAa,CAAA;AAC5L,OAAO,EAAE,UAAU,EAA0E,MAAM,WAAW,CAAA;AAC9G,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA0O,MAAM,aAAa,CAAA;AACvR,OAAO,EAAE,UAAU,EAA0E,MAAM,WAAW,CAAA;AAC9G,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -39,6 +39,82 @@ export declare const config: {
39
39
  version: import("zod").ZodOptional<import("zod").ZodString>;
40
40
  private: import("zod").ZodOptional<import("zod").ZodBoolean>;
41
41
  }, import("zod/v4/core").$strip>, import("zod").ZodString]>>>;
42
+ vitest: import("zod").ZodOptional<import("zod").ZodObject<{
43
+ testTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
44
+ hookTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
45
+ inlineDeps: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
46
+ database: import("zod").ZodOptional<import("zod").ZodBoolean>;
47
+ include: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
48
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
49
+ coverage: import("zod").ZodOptional<import("zod").ZodObject<{
50
+ provider: import("zod").ZodOptional<import("zod").ZodEnum<{
51
+ v8: "v8";
52
+ istanbul: "istanbul";
53
+ }>>;
54
+ include: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
55
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
56
+ reporter: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
57
+ reportsDirectory: import("zod").ZodOptional<import("zod").ZodString>;
58
+ thresholds: import("zod").ZodOptional<import("zod").ZodObject<{
59
+ lines: import("zod").ZodOptional<import("zod").ZodNumber>;
60
+ functions: import("zod").ZodOptional<import("zod").ZodNumber>;
61
+ branches: import("zod").ZodOptional<import("zod").ZodNumber>;
62
+ statements: import("zod").ZodOptional<import("zod").ZodNumber>;
63
+ }, import("zod/v4/core").$strip>>;
64
+ }, import("zod/v4/core").$strip>>;
65
+ modules: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
66
+ include: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
67
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
68
+ database: import("zod").ZodOptional<import("zod").ZodBoolean>;
69
+ setupFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
70
+ testTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
71
+ hookTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
72
+ env: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
73
+ coverage: import("zod").ZodOptional<import("zod").ZodObject<{
74
+ provider: import("zod").ZodOptional<import("zod").ZodEnum<{
75
+ v8: "v8";
76
+ istanbul: "istanbul";
77
+ }>>;
78
+ include: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
79
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
80
+ reporter: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
81
+ reportsDirectory: import("zod").ZodOptional<import("zod").ZodString>;
82
+ thresholds: import("zod").ZodOptional<import("zod").ZodObject<{
83
+ lines: import("zod").ZodOptional<import("zod").ZodNumber>;
84
+ functions: import("zod").ZodOptional<import("zod").ZodNumber>;
85
+ branches: import("zod").ZodOptional<import("zod").ZodNumber>;
86
+ statements: import("zod").ZodOptional<import("zod").ZodNumber>;
87
+ }, import("zod/v4/core").$strip>>;
88
+ }, import("zod/v4/core").$strip>>;
89
+ extra: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
90
+ profiles: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
91
+ include: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
92
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
93
+ database: import("zod").ZodOptional<import("zod").ZodBoolean>;
94
+ setupFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
95
+ testTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
96
+ hookTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
97
+ env: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
98
+ coverage: import("zod").ZodOptional<import("zod").ZodObject<{
99
+ provider: import("zod").ZodOptional<import("zod").ZodEnum<{
100
+ v8: "v8";
101
+ istanbul: "istanbul";
102
+ }>>;
103
+ include: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
104
+ exclude: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
105
+ reporter: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
106
+ reportsDirectory: import("zod").ZodOptional<import("zod").ZodString>;
107
+ thresholds: import("zod").ZodOptional<import("zod").ZodObject<{
108
+ lines: import("zod").ZodOptional<import("zod").ZodNumber>;
109
+ functions: import("zod").ZodOptional<import("zod").ZodNumber>;
110
+ branches: import("zod").ZodOptional<import("zod").ZodNumber>;
111
+ statements: import("zod").ZodOptional<import("zod").ZodNumber>;
112
+ }, import("zod/v4/core").$strip>>;
113
+ }, import("zod/v4/core").$strip>>;
114
+ extra: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
115
+ }, import("zod/v4/core").$strip>>>;
116
+ }, import("zod/v4/core").$strip>>>;
117
+ }, import("zod/v4/core").$strip>>;
42
118
  environment: import("zod").ZodOptional<import("zod").ZodEnum<{
43
119
  development: "development";
44
120
  test: "test";
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,oGAAoG;AACpG,eAAO,MAAM,MAAM;IACjB,4FAA4F;;IAE5F,0FAA0F;;IAE1F,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAElF,gFAAgF;;CAEjF,CAAA"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,oGAAoG;AACpG,eAAO,MAAM,MAAM;IACjB,4FAA4F;;IAE5F,0FAA0F;;IAE1F,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAElF,gFAAgF;;CAEjF,CAAA"}
@@ -56,6 +56,176 @@ declare const moduleConfigSchema: z.ZodObject<{
56
56
  version: z.ZodOptional<z.ZodString>;
57
57
  private: z.ZodOptional<z.ZodBoolean>;
58
58
  }, z.core.$strip>;
59
+ declare const coverageConfigSchema: z.ZodObject<{
60
+ provider: z.ZodOptional<z.ZodEnum<{
61
+ v8: "v8";
62
+ istanbul: "istanbul";
63
+ }>>;
64
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
65
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
67
+ reportsDirectory: z.ZodOptional<z.ZodString>;
68
+ thresholds: z.ZodOptional<z.ZodObject<{
69
+ lines: z.ZodOptional<z.ZodNumber>;
70
+ functions: z.ZodOptional<z.ZodNumber>;
71
+ branches: z.ZodOptional<z.ZodNumber>;
72
+ statements: z.ZodOptional<z.ZodNumber>;
73
+ }, z.core.$strip>>;
74
+ }, z.core.$strip>;
75
+ declare const vitestProfileSchema: z.ZodObject<{
76
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
77
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
78
+ database: z.ZodOptional<z.ZodBoolean>;
79
+ setupFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
+ testTimeout: z.ZodOptional<z.ZodNumber>;
81
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
82
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
83
+ coverage: z.ZodOptional<z.ZodObject<{
84
+ provider: z.ZodOptional<z.ZodEnum<{
85
+ v8: "v8";
86
+ istanbul: "istanbul";
87
+ }>>;
88
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
91
+ reportsDirectory: z.ZodOptional<z.ZodString>;
92
+ thresholds: z.ZodOptional<z.ZodObject<{
93
+ lines: z.ZodOptional<z.ZodNumber>;
94
+ functions: z.ZodOptional<z.ZodNumber>;
95
+ branches: z.ZodOptional<z.ZodNumber>;
96
+ statements: z.ZodOptional<z.ZodNumber>;
97
+ }, z.core.$strip>>;
98
+ }, z.core.$strip>>;
99
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
100
+ }, z.core.$strip>;
101
+ declare const vitestModuleSchema: z.ZodObject<{
102
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
104
+ database: z.ZodOptional<z.ZodBoolean>;
105
+ setupFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
106
+ testTimeout: z.ZodOptional<z.ZodNumber>;
107
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
108
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
109
+ coverage: z.ZodOptional<z.ZodObject<{
110
+ provider: z.ZodOptional<z.ZodEnum<{
111
+ v8: "v8";
112
+ istanbul: "istanbul";
113
+ }>>;
114
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
115
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
116
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
117
+ reportsDirectory: z.ZodOptional<z.ZodString>;
118
+ thresholds: z.ZodOptional<z.ZodObject<{
119
+ lines: z.ZodOptional<z.ZodNumber>;
120
+ functions: z.ZodOptional<z.ZodNumber>;
121
+ branches: z.ZodOptional<z.ZodNumber>;
122
+ statements: z.ZodOptional<z.ZodNumber>;
123
+ }, z.core.$strip>>;
124
+ }, z.core.$strip>>;
125
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
+ profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
127
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
128
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
129
+ database: z.ZodOptional<z.ZodBoolean>;
130
+ setupFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
131
+ testTimeout: z.ZodOptional<z.ZodNumber>;
132
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
133
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
134
+ coverage: z.ZodOptional<z.ZodObject<{
135
+ provider: z.ZodOptional<z.ZodEnum<{
136
+ v8: "v8";
137
+ istanbul: "istanbul";
138
+ }>>;
139
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
141
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
142
+ reportsDirectory: z.ZodOptional<z.ZodString>;
143
+ thresholds: z.ZodOptional<z.ZodObject<{
144
+ lines: z.ZodOptional<z.ZodNumber>;
145
+ functions: z.ZodOptional<z.ZodNumber>;
146
+ branches: z.ZodOptional<z.ZodNumber>;
147
+ statements: z.ZodOptional<z.ZodNumber>;
148
+ }, z.core.$strip>>;
149
+ }, z.core.$strip>>;
150
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
151
+ }, z.core.$strip>>>;
152
+ }, z.core.$strip>;
153
+ declare const vitestSchema: z.ZodObject<{
154
+ testTimeout: z.ZodOptional<z.ZodNumber>;
155
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
156
+ inlineDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
157
+ database: z.ZodOptional<z.ZodBoolean>;
158
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
159
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
160
+ coverage: z.ZodOptional<z.ZodObject<{
161
+ provider: z.ZodOptional<z.ZodEnum<{
162
+ v8: "v8";
163
+ istanbul: "istanbul";
164
+ }>>;
165
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
166
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
167
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
168
+ reportsDirectory: z.ZodOptional<z.ZodString>;
169
+ thresholds: z.ZodOptional<z.ZodObject<{
170
+ lines: z.ZodOptional<z.ZodNumber>;
171
+ functions: z.ZodOptional<z.ZodNumber>;
172
+ branches: z.ZodOptional<z.ZodNumber>;
173
+ statements: z.ZodOptional<z.ZodNumber>;
174
+ }, z.core.$strip>>;
175
+ }, z.core.$strip>>;
176
+ modules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
177
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
178
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
179
+ database: z.ZodOptional<z.ZodBoolean>;
180
+ setupFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
181
+ testTimeout: z.ZodOptional<z.ZodNumber>;
182
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
183
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
184
+ coverage: z.ZodOptional<z.ZodObject<{
185
+ provider: z.ZodOptional<z.ZodEnum<{
186
+ v8: "v8";
187
+ istanbul: "istanbul";
188
+ }>>;
189
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
190
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
191
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
192
+ reportsDirectory: z.ZodOptional<z.ZodString>;
193
+ thresholds: z.ZodOptional<z.ZodObject<{
194
+ lines: z.ZodOptional<z.ZodNumber>;
195
+ functions: z.ZodOptional<z.ZodNumber>;
196
+ branches: z.ZodOptional<z.ZodNumber>;
197
+ statements: z.ZodOptional<z.ZodNumber>;
198
+ }, z.core.$strip>>;
199
+ }, z.core.$strip>>;
200
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
201
+ profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
202
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
203
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
204
+ database: z.ZodOptional<z.ZodBoolean>;
205
+ setupFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
206
+ testTimeout: z.ZodOptional<z.ZodNumber>;
207
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
208
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
209
+ coverage: z.ZodOptional<z.ZodObject<{
210
+ provider: z.ZodOptional<z.ZodEnum<{
211
+ v8: "v8";
212
+ istanbul: "istanbul";
213
+ }>>;
214
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
215
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
216
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
217
+ reportsDirectory: z.ZodOptional<z.ZodString>;
218
+ thresholds: z.ZodOptional<z.ZodObject<{
219
+ lines: z.ZodOptional<z.ZodNumber>;
220
+ functions: z.ZodOptional<z.ZodNumber>;
221
+ branches: z.ZodOptional<z.ZodNumber>;
222
+ statements: z.ZodOptional<z.ZodNumber>;
223
+ }, z.core.$strip>>;
224
+ }, z.core.$strip>>;
225
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
226
+ }, z.core.$strip>>>;
227
+ }, z.core.$strip>>>;
228
+ }, z.core.$strip>;
59
229
  export declare const trunkConfigSchema: z.ZodObject<{
60
230
  name: z.ZodOptional<z.ZodString>;
61
231
  databases: z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -88,6 +258,82 @@ export declare const trunkConfigSchema: z.ZodObject<{
88
258
  version: z.ZodOptional<z.ZodString>;
89
259
  private: z.ZodOptional<z.ZodBoolean>;
90
260
  }, z.core.$strip>, z.ZodString]>>>;
261
+ vitest: z.ZodOptional<z.ZodObject<{
262
+ testTimeout: z.ZodOptional<z.ZodNumber>;
263
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
264
+ inlineDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
265
+ database: z.ZodOptional<z.ZodBoolean>;
266
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
267
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
268
+ coverage: z.ZodOptional<z.ZodObject<{
269
+ provider: z.ZodOptional<z.ZodEnum<{
270
+ v8: "v8";
271
+ istanbul: "istanbul";
272
+ }>>;
273
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
274
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
275
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
276
+ reportsDirectory: z.ZodOptional<z.ZodString>;
277
+ thresholds: z.ZodOptional<z.ZodObject<{
278
+ lines: z.ZodOptional<z.ZodNumber>;
279
+ functions: z.ZodOptional<z.ZodNumber>;
280
+ branches: z.ZodOptional<z.ZodNumber>;
281
+ statements: z.ZodOptional<z.ZodNumber>;
282
+ }, z.core.$strip>>;
283
+ }, z.core.$strip>>;
284
+ modules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
285
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
286
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
287
+ database: z.ZodOptional<z.ZodBoolean>;
288
+ setupFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
289
+ testTimeout: z.ZodOptional<z.ZodNumber>;
290
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
291
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
292
+ coverage: z.ZodOptional<z.ZodObject<{
293
+ provider: z.ZodOptional<z.ZodEnum<{
294
+ v8: "v8";
295
+ istanbul: "istanbul";
296
+ }>>;
297
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
298
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
299
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
300
+ reportsDirectory: z.ZodOptional<z.ZodString>;
301
+ thresholds: z.ZodOptional<z.ZodObject<{
302
+ lines: z.ZodOptional<z.ZodNumber>;
303
+ functions: z.ZodOptional<z.ZodNumber>;
304
+ branches: z.ZodOptional<z.ZodNumber>;
305
+ statements: z.ZodOptional<z.ZodNumber>;
306
+ }, z.core.$strip>>;
307
+ }, z.core.$strip>>;
308
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
309
+ profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
310
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
311
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
312
+ database: z.ZodOptional<z.ZodBoolean>;
313
+ setupFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
314
+ testTimeout: z.ZodOptional<z.ZodNumber>;
315
+ hookTimeout: z.ZodOptional<z.ZodNumber>;
316
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
317
+ coverage: z.ZodOptional<z.ZodObject<{
318
+ provider: z.ZodOptional<z.ZodEnum<{
319
+ v8: "v8";
320
+ istanbul: "istanbul";
321
+ }>>;
322
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
323
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
324
+ reporter: z.ZodOptional<z.ZodArray<z.ZodString>>;
325
+ reportsDirectory: z.ZodOptional<z.ZodString>;
326
+ thresholds: z.ZodOptional<z.ZodObject<{
327
+ lines: z.ZodOptional<z.ZodNumber>;
328
+ functions: z.ZodOptional<z.ZodNumber>;
329
+ branches: z.ZodOptional<z.ZodNumber>;
330
+ statements: z.ZodOptional<z.ZodNumber>;
331
+ }, z.core.$strip>>;
332
+ }, z.core.$strip>>;
333
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
334
+ }, z.core.$strip>>>;
335
+ }, z.core.$strip>>>;
336
+ }, z.core.$strip>>;
91
337
  environment: z.ZodOptional<z.ZodEnum<{
92
338
  development: "development";
93
339
  test: "test";
@@ -146,5 +392,9 @@ export type Environment = z.infer<typeof environmentSchema>;
146
392
  export type IsolationStrategy = z.infer<typeof testIsolationStrategy>;
147
393
  export type ObservabilityConfig = z.infer<typeof observabilitySchema>;
148
394
  export type ModuleConfig = z.infer<typeof moduleConfigSchema>;
395
+ export type VitestConfig = z.infer<typeof vitestSchema>;
396
+ export type VitestModuleConfig = z.infer<typeof vitestModuleSchema>;
397
+ export type VitestProfileConfig = z.infer<typeof vitestProfileSchema>;
398
+ export type CoverageConfig = z.infer<typeof coverageConfigSchema>;
149
399
  export {};
150
400
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,QAAA,MAAM,cAAc;;;;;;;;;;;;;;iBAclB,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;EAAmD,CAAA;AAE9E,QAAA,MAAM,UAAU;;;;;;;;;;;;;iBAKd,CAAA;AAEF,QAAA,MAAM,iBAAiB;;;;EAAgD,CAAA;AAEvE,QAAA,MAAM,mBAAmB;;;;iBAIvB,CAAA;AAiBF,QAAA,MAAM,kBAAkB;;;;;;;;;;;;iBAStB,CAAA;AAUF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU5B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AACnD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACrE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,QAAA,MAAM,cAAc;;;;;;;;;;;;;;iBAclB,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;EAAmD,CAAA;AAE9E,QAAA,MAAM,UAAU;;;;;;;;;;;;;iBAKd,CAAA;AAEF,QAAA,MAAM,iBAAiB;;;;EAAgD,CAAA;AAEvE,QAAA,MAAM,mBAAmB;;;;iBAIvB,CAAA;AAiBF,QAAA,MAAM,kBAAkB;;;;;;;;;;;;iBAStB,CAAA;AAEF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAYxB,CAAA;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;iBAUvB,CAAA;AAEF,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKtB,CAAA;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShB,CAAA;AAUF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW5B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AACnD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACrE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AACvD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
@@ -50,6 +50,43 @@ const moduleConfigSchema = z.object({
50
50
  version: z.string().optional().describe('Package version (default: 0.0.0)'),
51
51
  private: z.boolean().optional().describe('Whether package is private (default: true)'),
52
52
  });
53
+ const coverageConfigSchema = z.object({
54
+ provider: z.enum(['v8', 'istanbul']).optional(),
55
+ include: z.array(z.string()).optional(),
56
+ exclude: z.array(z.string()).optional(),
57
+ reporter: z.array(z.string()).optional(),
58
+ reportsDirectory: z.string().optional(),
59
+ thresholds: z.object({
60
+ lines: z.number().min(0).max(100).optional(),
61
+ functions: z.number().min(0).max(100).optional(),
62
+ branches: z.number().min(0).max(100).optional(),
63
+ statements: z.number().min(0).max(100).optional(),
64
+ }).optional(),
65
+ });
66
+ const vitestProfileSchema = z.object({
67
+ include: z.array(z.string()).optional(),
68
+ exclude: z.array(z.string()).optional(),
69
+ database: z.boolean().optional(),
70
+ setupFiles: z.array(z.string()).optional(),
71
+ testTimeout: z.number().int().positive().optional(),
72
+ hookTimeout: z.number().int().positive().optional(),
73
+ env: z.record(z.string(), z.string()).optional(),
74
+ coverage: coverageConfigSchema.optional(),
75
+ extra: z.record(z.string(), z.unknown()).optional(),
76
+ });
77
+ const vitestModuleSchema = vitestProfileSchema.extend({
78
+ profiles: z.record(z.string().refine(s => !s.includes(':'), 'Profile names cannot contain ":" — it is used as the project name separator'), vitestProfileSchema).optional(),
79
+ });
80
+ const vitestSchema = z.object({
81
+ testTimeout: z.number().int().positive().optional(),
82
+ hookTimeout: z.number().int().positive().optional(),
83
+ inlineDeps: z.array(z.string().min(1)).optional(),
84
+ database: z.boolean().optional(),
85
+ include: z.array(z.string()).optional(),
86
+ exclude: z.array(z.string()).optional(),
87
+ coverage: coverageConfigSchema.optional(),
88
+ modules: z.record(z.string(), vitestModuleSchema).optional(),
89
+ });
53
90
  const modulesSchema = z.record(z.string(), z.union([
54
91
  moduleConfigSchema,
55
92
  z.string().describe('Shorthand — empty config, value is ignored (key is the path)'),
@@ -60,6 +97,7 @@ export const trunkConfigSchema = z.object({
60
97
  dependencies: z.record(z.string(), z.string()).optional().describe('Root-level runtime dependencies'),
61
98
  devDependencies: z.record(z.string(), z.string()).optional().describe('Shared dev dependencies — merged into every module'),
62
99
  modules: modulesSchema.optional().describe('Module definitions keyed by path or glob'),
100
+ vitest: vitestSchema.optional().describe('Centralized vitest configuration — workspace defaults and per-module overrides'),
63
101
  environment: environmentSchema.optional(),
64
102
  test: testSchema.optional(),
65
103
  observability: observabilitySchema.optional(),