on-zero 0.16.17 → 0.16.18

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 (76) hide show
  1. package/dist/cjs/generate-helpers.cjs +28 -0
  2. package/dist/cjs/generate-helpers.native.js +36 -0
  3. package/dist/cjs/generate-helpers.native.js.map +1 -1
  4. package/dist/cjs/generate-layout.cjs +62 -53
  5. package/dist/cjs/generate-layout.native.js +62 -54
  6. package/dist/cjs/generate-layout.native.js.map +1 -1
  7. package/dist/cjs/generate-lite.cjs +28 -0
  8. package/dist/cjs/generate-lite.native.js +89 -33
  9. package/dist/cjs/generate-lite.native.js.map +1 -1
  10. package/dist/cjs/generate-lite.test.cjs +46 -0
  11. package/dist/cjs/generate-lite.test.native.js +46 -0
  12. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  13. package/dist/cjs/generate.cjs +237 -243
  14. package/dist/cjs/generate.native.js +352 -353
  15. package/dist/cjs/generate.native.js.map +1 -1
  16. package/dist/cjs/generate.test.cjs +35 -0
  17. package/dist/cjs/generate.test.native.js +35 -0
  18. package/dist/cjs/generate.test.native.js.map +1 -1
  19. package/dist/cjs/helpers/createMutators.cjs +2 -1
  20. package/dist/cjs/helpers/createMutators.native.js +3 -1
  21. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  22. package/dist/cjs/native-typescript.cjs +190 -0
  23. package/dist/cjs/native-typescript.native.js +255 -0
  24. package/dist/cjs/native-typescript.native.js.map +1 -0
  25. package/dist/esm/generate-helpers.mjs +27 -1
  26. package/dist/esm/generate-helpers.mjs.map +1 -1
  27. package/dist/esm/generate-helpers.native.js +35 -1
  28. package/dist/esm/generate-helpers.native.js.map +1 -1
  29. package/dist/esm/generate-layout.mjs +52 -54
  30. package/dist/esm/generate-layout.mjs.map +1 -1
  31. package/dist/esm/generate-layout.native.js +52 -55
  32. package/dist/esm/generate-layout.native.js.map +1 -1
  33. package/dist/esm/generate-lite.mjs +29 -1
  34. package/dist/esm/generate-lite.mjs.map +1 -1
  35. package/dist/esm/generate-lite.native.js +90 -34
  36. package/dist/esm/generate-lite.native.js.map +1 -1
  37. package/dist/esm/generate-lite.test.mjs +46 -0
  38. package/dist/esm/generate-lite.test.mjs.map +1 -1
  39. package/dist/esm/generate-lite.test.native.js +46 -0
  40. package/dist/esm/generate-lite.test.native.js.map +1 -1
  41. package/dist/esm/generate.mjs +238 -244
  42. package/dist/esm/generate.mjs.map +1 -1
  43. package/dist/esm/generate.native.js +353 -354
  44. package/dist/esm/generate.native.js.map +1 -1
  45. package/dist/esm/generate.test.mjs +35 -0
  46. package/dist/esm/generate.test.mjs.map +1 -1
  47. package/dist/esm/generate.test.native.js +35 -0
  48. package/dist/esm/generate.test.native.js.map +1 -1
  49. package/dist/esm/helpers/createMutators.mjs +2 -1
  50. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  51. package/dist/esm/helpers/createMutators.native.js +3 -1
  52. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  53. package/dist/esm/index.native.js.map +1 -1
  54. package/dist/esm/native-typescript.mjs +164 -0
  55. package/dist/esm/native-typescript.mjs.map +1 -0
  56. package/dist/esm/native-typescript.native.js +226 -0
  57. package/dist/esm/native-typescript.native.js.map +1 -0
  58. package/package.json +4 -3
  59. package/src/generate-helpers.ts +79 -0
  60. package/src/generate-layout.ts +64 -108
  61. package/src/generate-lite.test.ts +49 -0
  62. package/src/generate-lite.ts +44 -0
  63. package/src/generate.test.ts +52 -0
  64. package/src/generate.ts +313 -366
  65. package/src/helpers/createMutators.ts +14 -3
  66. package/src/native-typescript.ts +176 -0
  67. package/types/generate-helpers.d.ts +13 -0
  68. package/types/generate-helpers.d.ts.map +1 -1
  69. package/types/generate-layout.d.ts +2 -1
  70. package/types/generate-layout.d.ts.map +1 -1
  71. package/types/generate-lite.d.ts +1 -0
  72. package/types/generate-lite.d.ts.map +1 -1
  73. package/types/generate.d.ts.map +1 -1
  74. package/types/helpers/createMutators.d.ts.map +1 -1
  75. package/types/native-typescript.d.ts +11 -0
  76. package/types/native-typescript.d.ts.map +1 -0
@@ -178,9 +178,20 @@ export function createMutators<Models extends GenericModels>({
178
178
 
179
179
  return async (...args: Args): Promise<void> => {
180
180
  // args[0] is tx, args[1] is the mutation args
181
- // auto-validate with generated valibot schema first
182
- // skip validation for null/undefined args (void mutations send null from zero)
183
- if (validator && args[1] != null) {
181
+ // auto-validate with generated valibot schema first.
182
+ //
183
+ // the skip is keyed on the SCHEMA, never on the value. skipping whenever
184
+ // args were null keyed the only shape check at this boundary on something
185
+ // the caller chooses, so a mutator declaring required args could be
186
+ // reached unvalidated by sending null, and the handler ran on whatever
187
+ // was left. the case the skip exists for is a mutation that declares no
188
+ // args at all, which zero calls with null, so ask whether the validator
189
+ // declares anything instead: a void schema, or an object with no entries.
190
+ const declaresNothing =
191
+ (validator as { type?: string } | undefined)?.type === 'void' ||
192
+ ((validator as { type?: string } | undefined)?.type === 'object' &&
193
+ Object.keys((validator as { entries?: object }).entries ?? {}).length === 0)
194
+ if (validator && !declaresNothing) {
184
195
  const valibot = await import('valibot')
185
196
  valibot.parse(validator, args[1])
186
197
  }
@@ -0,0 +1,176 @@
1
+ import { existsSync, readFileSync, readdirSync } from 'node:fs'
2
+ import { resolve } from 'node:path'
3
+
4
+ import { parse } from '@babel/parser'
5
+ import { API, type Project } from 'typescript/unstable/async'
6
+
7
+ import type { SourceFile } from 'typescript/unstable/ast'
8
+
9
+ process.env.GOMAXPROCS ??= '2'
10
+
11
+ export type NativeTypeScriptProject = {
12
+ projectForFile(path: string): Project
13
+ sourceFile(path: string): SourceFile
14
+ hasParseErrors(path: string): boolean
15
+ close(): Promise<void>
16
+ }
17
+
18
+ type CompilerSession = {
19
+ api: API
20
+ paths: Set<string>
21
+ root: string
22
+ }
23
+
24
+ let compiler: CompilerSession | null = null
25
+ let compilerClose: Promise<void> | null = null
26
+ let compilerCloseTimer: ReturnType<typeof setTimeout> | null = null
27
+ let compilerTurn = Promise.resolve()
28
+
29
+ async function closeCompiler(session: CompilerSession) {
30
+ try {
31
+ if (session.paths.size > 0) {
32
+ const snapshot = await session.api.updateSnapshot({
33
+ closeFiles: [...session.paths],
34
+ })
35
+ await snapshot.dispose()
36
+ }
37
+ } finally {
38
+ await session.api.close()
39
+ }
40
+ }
41
+
42
+ async function acquireCompiler(root: string, sourcePaths: string[]) {
43
+ const previousTurn = compilerTurn
44
+ let releaseTurn = () => {}
45
+ compilerTurn = new Promise<void>((resolveTurn) => {
46
+ releaseTurn = resolveTurn
47
+ })
48
+ await previousTurn
49
+ if (compilerCloseTimer) {
50
+ clearTimeout(compilerCloseTimer)
51
+ compilerCloseTimer = null
52
+ }
53
+ if (compilerClose) await compilerClose
54
+ if (compiler && compiler.root !== root) {
55
+ const previous = compiler
56
+ compiler = null
57
+ await closeCompiler(previous)
58
+ }
59
+ compiler ??= { api: new API({ cwd: root }), paths: new Set(), root }
60
+ compiler.api.clearSourceFileCache()
61
+ const previousPaths = compiler.paths
62
+ const nextPaths = new Set(sourcePaths)
63
+ compiler.paths = nextPaths
64
+ if (previousPaths.size > 0) {
65
+ const closedSnapshot = await compiler.api.updateSnapshot({
66
+ closeFiles: [...previousPaths],
67
+ fileChanges: { invalidateAll: true },
68
+ })
69
+ await closedSnapshot.dispose()
70
+ compiler.api.clearSourceFileCache()
71
+ }
72
+ const snapshot = await compiler.api.updateSnapshot({
73
+ openFiles: sourcePaths,
74
+ fileChanges: { invalidateAll: true },
75
+ })
76
+ compiler.api.clearSourceFileCache()
77
+ return { session: compiler, snapshot, releaseTurn }
78
+ }
79
+
80
+ function releaseCompiler(session: CompilerSession, releaseTurn: () => void) {
81
+ releaseTurn()
82
+ compilerCloseTimer = setTimeout(() => {
83
+ compilerCloseTimer = null
84
+ if (compiler !== session) return
85
+ compiler = null
86
+ compilerClose = closeCompiler(session).finally(() => {
87
+ compilerClose = null
88
+ })
89
+ }, 25)
90
+ compilerCloseTimer.unref?.()
91
+ }
92
+
93
+ export function collectTypeScriptSourcePaths(roots: string[]): string[] {
94
+ const paths = new Set<string>()
95
+ const visited = new Set<string>()
96
+ const walk = (dir: string) => {
97
+ if (visited.has(dir) || !existsSync(dir)) return
98
+ visited.add(dir)
99
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
100
+ if (entry.name === 'node_modules') continue
101
+ const path = resolve(dir, entry.name)
102
+ if (entry.isDirectory()) {
103
+ walk(path)
104
+ } else if (
105
+ entry.isFile() &&
106
+ (entry.name.endsWith('.ts') || entry.name.endsWith('.tsx'))
107
+ ) {
108
+ paths.add(path)
109
+ }
110
+ }
111
+ }
112
+ for (const root of roots) walk(resolve(root))
113
+ return [...paths].sort()
114
+ }
115
+
116
+ export async function createNativeTypeScriptProject(
117
+ root: string,
118
+ sourcePaths: string[]
119
+ ): Promise<NativeTypeScriptProject> {
120
+ if (sourcePaths.length === 0) {
121
+ throw new Error(`[on-zero] no TypeScript source files found under ${root}`)
122
+ }
123
+
124
+ const { session, snapshot, releaseTurn } = await acquireCompiler(root, sourcePaths)
125
+ const sources = new Map<string, SourceFile>()
126
+ const projectsByFile = new Map<string, Project>()
127
+ const parseErrors = new Set<string>()
128
+
129
+ try {
130
+ for (const path of sourcePaths) {
131
+ const project = await snapshot.getDefaultProjectForFile(path)
132
+ if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`)
133
+ const source = await project.program.getSourceFile(path)
134
+ if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path}`)
135
+ sources.set(path, source)
136
+ projectsByFile.set(path, project)
137
+ try {
138
+ parse(readFileSync(path, 'utf8'), {
139
+ plugins: ['jsx', 'typescript'],
140
+ sourceType: 'module',
141
+ })
142
+ } catch {
143
+ parseErrors.add(path)
144
+ }
145
+ }
146
+ } catch (error) {
147
+ await snapshot.dispose()
148
+ releaseCompiler(session, releaseTurn)
149
+ throw error
150
+ }
151
+
152
+ let closed = false
153
+ return {
154
+ projectForFile(path) {
155
+ const project = projectsByFile.get(resolve(path))
156
+ if (!project)
157
+ throw new Error(`[on-zero] TypeScript project does not contain ${path}`)
158
+ return project
159
+ },
160
+ sourceFile(path) {
161
+ const source = sources.get(resolve(path))
162
+ if (!source)
163
+ throw new Error(`[on-zero] TypeScript project does not contain ${path}`)
164
+ return source
165
+ },
166
+ hasParseErrors(path) {
167
+ return parseErrors.has(resolve(path))
168
+ },
169
+ async close() {
170
+ if (closed) return
171
+ closed = true
172
+ await snapshot.dispose()
173
+ releaseCompiler(session, releaseTurn)
174
+ },
175
+ }
176
+ }
@@ -71,4 +71,17 @@ export declare function schemaColumnsToValibot(columns: Record<string, SchemaCol
71
71
  export declare function extractValibotExpression(valibotCode: string): string;
72
72
  export declare function parseColumnType(initText: string): SchemaColumn;
73
73
  export declare function generateSyncedMutationsFile(modelMutations: ModelMutations[]): string;
74
+ export type DrizzleSchemaRelationTable = {
75
+ key: string;
76
+ properties: readonly string[];
77
+ };
78
+ export declare function renderDrizzleSchemaInputModule(options: {
79
+ schemaImportPath: string;
80
+ tableNames: readonly string[];
81
+ relationTables: readonly DrizzleSchemaRelationTable[];
82
+ }): string;
83
+ export declare function renderDrizzleZeroSqliteSchemaModule(options: {
84
+ importPath: string;
85
+ tableNames: readonly string[];
86
+ }): string;
74
87
  //# sourceMappingURL=generate-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-helpers.d.ts","sourceRoot":"","sources":["../src/generate-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-helpers.d.ts","sourceRoot":"","sources":["../src/generate-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { NativeTypeScriptProject } from './native-typescript';
1
2
  export type DataNamespace = {
2
3
  name: string;
3
4
  instance: string;
@@ -24,6 +25,6 @@ export type DataLayout = {
24
25
  metadataPaths: string[];
25
26
  sourceRoots: string[];
26
27
  };
27
- export declare function discoverDataLayout(ts: typeof import('typescript'), baseDir: string, configPath?: string): DataLayout;
28
+ export declare function discoverDataLayout(project: NativeTypeScriptProject, baseDir: string, configPath?: string): DataLayout;
28
29
  export declare function namespaceImportPath(baseDir: string, path: string): string;
29
30
  //# sourceMappingURL=generate-layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-layout.d.ts","sourceRoot":"","sources":["../src/generate-layout.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,uDAAuD;IACvD,qBAAqB,EAAE,MAAM,EAAE,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAg2BD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,YAAY,CAAC,EAC/B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,UAAU,CAoIZ;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE"}
1
+ {"version":3,"file":"generate-layout.d.ts","sourceRoot":"","sources":["../src/generate-layout.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,uDAAuD;IACvD,qBAAqB,EAAE,MAAM,EAAE,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AA6yBD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,UAAU,CAyIZ;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE"}
@@ -25,6 +25,7 @@ export type LiteRelationInfo = {
25
25
  sourceTable: string;
26
26
  name: string;
27
27
  targetTable: string;
28
+ sourceText?: string;
28
29
  };
29
30
  export type LiteTableInfo = {
30
31
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-lite.d.ts","sourceRoot":"","sources":["../src/generate-lite.ts"],"names":[],"mappings":"AAoCA,MAAM,MAAM,kBAAkB,GAAG;IAI/B,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,KAAK,CAAC;QAEd,IAAI,EAAE,MAAM,CAAA;QAMZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,CAAC,CAAA;IAKF,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IAM7B,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,EAAE,CAAA;IAGrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,EAAE,MAAM,CAAA;IAIZ,SAAS,EAAE,MAAM,CAAA;IAIjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAG5B,YAAY,EAAE,MAAM,EAAE,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CACf,MAAM,EACN;QACE,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACzB,CACF,CAAA;CACF,CAAA;AAGD,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IAExB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAG1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAExB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAElB,UAAU,CAAC,EAAE,cAAc,CAAA;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAA;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAGhC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG7B,GAAG,EAAE,MAAM,CAAA;IAEX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAG/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAI7B,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACjF,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAgSD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAoZ1E"}
1
+ {"version":3,"file":"generate-lite.d.ts","sourceRoot":"","sources":["../src/generate-lite.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,kBAAkB,GAAG;IAI/B,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,KAAK,CAAC;QAEd,IAAI,EAAE,MAAM,CAAA;QAMZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,CAAC,CAAA;IAKF,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IAM7B,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,EAAE,CAAA;IAGrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,EAAE,MAAM,CAAA;IAIZ,SAAS,EAAE,MAAM,CAAA;IAIjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAG5B,YAAY,EAAE,MAAM,EAAE,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CACf,MAAM,EACN;QACE,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACzB,CACF,CAAA;CACF,CAAA;AAGD,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IAExB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAG1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAExB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAElB,UAAU,CAAC,EAAE,cAAc,CAAA;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAA;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAGhC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG7B,GAAG,EAAE,MAAM,CAAA;IAEX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAG/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAI7B,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACjF,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAgSD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CA4b1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA6oBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6F3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CACf,MAAM,EACN;QACE,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,UAAU,EAAE,MAAM,EAAE,CAAA;QACpB,aAAa,EAAE,MAAM,EAAE,CAAA;QACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,CACF,CAAA;IACD,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AA0BD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,cAAc,CAAC,CAQ1B;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,GAAG,EAAE,MAAM,CAAA;IACX,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsFlB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA4ZhF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCA+ChD"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAoiBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6F3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CACf,MAAM,EACN;QACE,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,UAAU,EAAE,MAAM,EAAE,CAAA;QACpB,aAAa,EAAE,MAAM,EAAE,CAAA;QACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,CACF,CAAA;IACD,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAkCD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,cAAc,CAAC,CAa1B;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,GAAG,EAAE,MAAM,CAAA;IACX,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlB;AAuFD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAOhF;AAkaD,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCAoDhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"createMutators.d.ts","sourceRoot":"","sources":["../../src/helpers/createMutators.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,EACH,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1B,YAAY,EAAE,kBAAkB,IAAI,wBAAwB,EAAE,CAAA;AAE9D,wBAAgB,cAAc,CAAC,MAAM,SAAS,aAAa,EAAE,EAC3D,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,WAAsB,EACtB,aAAwB,EACxB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,UAAU,GACX,EAAE;IACD,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAA;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAClE,aAAa,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IACtE,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IACxD,eAAe,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAA;IACvC,UAAU,CAAC,EAAE,YAAY,CAAA;CAC1B,GAAG,eAAe,CAAC,MAAM,CAAC,CAkL1B"}
1
+ {"version":3,"file":"createMutators.d.ts","sourceRoot":"","sources":["../../src/helpers/createMutators.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,EACH,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1B,YAAY,EAAE,kBAAkB,IAAI,wBAAwB,EAAE,CAAA;AAE9D,wBAAgB,cAAc,CAAC,MAAM,SAAS,aAAa,EAAE,EAC3D,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,WAAsB,EACtB,aAAwB,EACxB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,UAAU,GACX,EAAE;IACD,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAA;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAClE,aAAa,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IACtE,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IACxD,eAAe,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAA;IACvC,UAAU,CAAC,EAAE,YAAY,CAAA;CAC1B,GAAG,eAAe,CAAC,MAAM,CAAC,CA6L1B"}
@@ -0,0 +1,11 @@
1
+ import { type Project } from 'typescript/unstable/async';
2
+ import type { SourceFile } from 'typescript/unstable/ast';
3
+ export type NativeTypeScriptProject = {
4
+ projectForFile(path: string): Project;
5
+ sourceFile(path: string): SourceFile;
6
+ hasParseErrors(path: string): boolean;
7
+ close(): Promise<void>;
8
+ };
9
+ export declare function collectTypeScriptSourcePaths(roots: string[]): string[];
10
+ export declare function createNativeTypeScriptProject(root: string, sourcePaths: string[]): Promise<NativeTypeScriptProject>;
11
+ //# sourceMappingURL=native-typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-typescript.d.ts","sourceRoot":"","sources":["../src/native-typescript.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACrC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IACpC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AA6ED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAqBtE;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,uBAAuB,CAAC,CAyDlC"}