kea-typegen 3.7.1 → 3.8.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 (40) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/package.json +3 -1
  3. package/dist/src/__tests__/inline.d.ts +1 -0
  4. package/dist/src/__tests__/inline.js +224 -0
  5. package/dist/src/__tests__/inline.js.map +1 -0
  6. package/dist/src/cli/typegen.js +4 -0
  7. package/dist/src/cli/typegen.js.map +1 -1
  8. package/dist/src/print/print.d.ts +6 -0
  9. package/dist/src/print/print.js +59 -42
  10. package/dist/src/print/print.js.map +1 -1
  11. package/dist/src/types.d.ts +1 -0
  12. package/dist/src/utils.d.ts +4 -0
  13. package/dist/src/utils.js +55 -0
  14. package/dist/src/utils.js.map +1 -1
  15. package/dist/src/visit/visit.js +6 -0
  16. package/dist/src/visit/visit.js.map +1 -1
  17. package/dist/src/write/writeInlineLogicTypes.d.ts +8 -0
  18. package/dist/src/write/writeInlineLogicTypes.js +236 -0
  19. package/dist/src/write/writeInlineLogicTypes.js.map +1 -0
  20. package/dist/src/write/writeTypeImports.d.ts +8 -0
  21. package/dist/src/write/writeTypeImports.js +3 -0
  22. package/dist/src/write/writeTypeImports.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +3 -1
  25. package/samples/manualTypedLogic.ts +20 -0
  26. package/samples-inline/counterLogic.ts +36 -0
  27. package/samples-inline/manualLogic.ts +20 -0
  28. package/samples-inline/profileLogic.ts +30 -0
  29. package/samples-inline/searchLogic.ts +30 -0
  30. package/samples-inline/tsconfig.json +17 -0
  31. package/samples-inline/types.ts +5 -0
  32. package/src/__tests__/inline.ts +266 -0
  33. package/src/cli/typegen.ts +4 -0
  34. package/src/print/print.ts +102 -57
  35. package/src/types.ts +2 -0
  36. package/src/utils.ts +81 -0
  37. package/src/visit/visit.ts +14 -0
  38. package/src/write/writeInlineLogicTypes.ts +305 -0
  39. package/src/write/writeTypeImports.ts +4 -4
  40. package/tsconfig.json +1 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 3.8.0 - 2026-07-14
2
+
3
+ - Skip logics that are manually typed, e.g. `kea<MakeLogicType<Values, Actions>>(...)` or any other custom type in `kea<...>()`. Such logics are now left completely alone.
4
+ - Add a new `--inline` mode. Instead of writing `logicType.ts` files, it writes and keeps updated a `// Generated by kea-typegen` block directly above each `kea()` call: one interface per non-empty section (`logicValues`, `logicActions`, `logicProps`), tied together with `export type logicType = MakeLogicType<logicValues, logicActions, logicProps>`. Named props types are referenced directly instead of getting an interface. With `--delete`, obsolete `logicType.ts` files are removed when switching over. See `yarn samples:inline:write` / `yarn samples:inline:check` and the `samples-inline/` folder.
5
+
1
6
  ## 3.7.1 - 2026-06-26
2
7
 
3
8
  Make watch mode incremental. When a watched rebuild can be proven local, regenerate only the changed or affected Kea logic files and keep the existing full-pass fallback for ambiguous changes.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kea-typegen",
3
- "version": "3.7.1",
3
+ "version": "3.8.0",
4
4
  "description": "Generate type definitions for kea logic",
5
5
  "scripts": {
6
6
  "start": "ts-node ./src/cli/typegen.ts",
@@ -13,6 +13,8 @@
13
13
  "samples:write": "ts-node ./src/cli/typegen.ts write -r ./samples --write-paths --delete",
14
14
  "samples:convert": "ts-node ./src/cli/typegen.ts write -r ./samples --convert-to-builders",
15
15
  "samples:watch": "ts-node ./src/cli/typegen.ts watch -r ./samples --delete",
16
+ "samples:inline:check": "ts-node ./src/cli/typegen.ts check -r ./samples-inline --inline",
17
+ "samples:inline:write": "ts-node ./src/cli/typegen.ts write -r ./samples-inline --inline --delete",
16
18
  "samples:write:posthog": "NODE_OPTIONS=\"--max-old-space-size=16384\" ts-node ./src/cli/typegen.ts write --show-ts-errors -c",
17
19
  "form-plugin:build": "cd form-plugin && yarn && yarn build && cd ..",
18
20
  "form-plugin:rebuild": "yarn form-plugin:build && rm -rf node_modules && yarn"
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ const os = require("os");
5
+ const path = require("path");
6
+ const ts = require("typescript");
7
+ const utils_1 = require("../utils");
8
+ const visit_1 = require("../visit/visit");
9
+ const print_1 = require("../print/print");
10
+ describe('manually typed logics', () => {
11
+ test('skips logics typed with MakeLogicType', () => {
12
+ const logicSource = `
13
+ import { kea, MakeLogicType } from 'kea'
14
+
15
+ interface Values { name: string }
16
+ interface Actions { updateName: (name: string) => { name: string } }
17
+
18
+ const logic = kea<MakeLogicType<Values, Actions>>({
19
+ actions: () => ({
20
+ updateName: (name: string) => ({ name }),
21
+ }),
22
+ })
23
+ `;
24
+ expect((0, visit_1.visitProgram)((0, utils_1.programFromSource)(logicSource)).length).toBe(0);
25
+ });
26
+ test('skips logics typed with a custom local type, even when named like a generated one', () => {
27
+ const logicSource = `
28
+ import { kea, MakeLogicType } from 'kea'
29
+
30
+ export type logicType = MakeLogicType<{ name: string }, { updateName: (name: string) => { name: string } }>
31
+
32
+ const logic = kea<logicType>({
33
+ actions: () => ({
34
+ updateName: (name: string) => ({ name }),
35
+ }),
36
+ })
37
+ `;
38
+ expect((0, visit_1.visitProgram)((0, utils_1.programFromSource)(logicSource)).length).toBe(0);
39
+ });
40
+ test('does not skip local logic types carrying the kea-typegen marker', () => {
41
+ const logicSource = `
42
+ import { kea, MakeLogicType } from 'kea'
43
+
44
+ // Generated by kea-typegen. DO NOT EDIT THIS BLOCK MANUALLY.
45
+ export type logicType = MakeLogicType<{ name: string }, { updateName: (name: string) => { name: string } }>
46
+
47
+ const logic = kea<logicType>({
48
+ actions: () => ({
49
+ updateName: (name: string) => ({ name }),
50
+ }),
51
+ })
52
+ `;
53
+ const parsedLogics = (0, visit_1.visitProgram)((0, utils_1.programFromSource)(logicSource));
54
+ expect(parsedLogics.length).toBe(1);
55
+ expect(parsedLogics[0].actions.map((a) => a.name)).toEqual(['updateName']);
56
+ });
57
+ test('does not skip generated blocks where the marker sits on the values interface', () => {
58
+ const logicSource = `
59
+ import { kea, MakeLogicType } from 'kea'
60
+
61
+ // Generated by kea-typegen. DO NOT EDIT THIS BLOCK MANUALLY.
62
+ export interface logicValues { name: string }
63
+
64
+ export interface logicActions { updateName: (name: string) => { name: string } }
65
+
66
+ export type logicType = MakeLogicType<logicValues, logicActions>
67
+
68
+ const logic = kea<logicType>({
69
+ actions: () => ({
70
+ updateName: (name: string) => ({ name }),
71
+ }),
72
+ })
73
+ `;
74
+ const parsedLogics = (0, visit_1.visitProgram)((0, utils_1.programFromSource)(logicSource));
75
+ expect(parsedLogics.length).toBe(1);
76
+ });
77
+ test('does not skip logics with a generated type that does not resolve yet', () => {
78
+ const logicSource = `
79
+ import { kea } from 'kea'
80
+
81
+ const logic = kea<logicType>({
82
+ actions: () => ({
83
+ updateName: (name: string) => ({ name }),
84
+ }),
85
+ })
86
+ `;
87
+ expect((0, visit_1.visitProgram)((0, utils_1.programFromSource)(logicSource)).length).toBe(1);
88
+ });
89
+ });
90
+ describe('inline mode', () => {
91
+ const createProgram = (fileNames) => ts.createProgram(fileNames, {
92
+ module: ts.ModuleKind.CommonJS,
93
+ moduleResolution: ts.ModuleResolutionKind.NodeJs,
94
+ target: ts.ScriptTarget.ES2020,
95
+ skipLibCheck: true,
96
+ });
97
+ test('writes and updates MakeLogicType blocks above the logic', async () => {
98
+ var _a, _b, _c, _d;
99
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kea-typegen-inline-'));
100
+ try {
101
+ const logicDir = path.join(tempDir, 'src');
102
+ const logicPath = path.join(logicDir, 'logic.ts');
103
+ const logicTypePath = path.join(logicDir, 'logicType.ts');
104
+ const keaDtsPath = path.join(tempDir, 'node_modules', 'kea', 'index.d.ts');
105
+ fs.mkdirSync(path.dirname(keaDtsPath), { recursive: true });
106
+ fs.mkdirSync(logicDir, { recursive: true });
107
+ fs.writeFileSync(keaDtsPath, [
108
+ 'export function kea<T = any>(input: any): T',
109
+ 'export interface MakeLogicType<V = any, A = any, P = any> {}',
110
+ '',
111
+ ].join('\n'));
112
+ fs.writeFileSync(logicPath, [
113
+ "import { kea } from 'kea'",
114
+ '',
115
+ 'export const logic = kea({',
116
+ ' props: {} as { id: number },',
117
+ ' actions: () => ({',
118
+ ' setValue: (value: string) => ({ value }),',
119
+ ' }),',
120
+ ' reducers: () => ({',
121
+ " value: ['' as string, { setValue: (_, { value }) => value }],",
122
+ ' }),',
123
+ '})',
124
+ '',
125
+ ].join('\n'));
126
+ const appOptions = {
127
+ rootPath: logicDir,
128
+ typesPath: logicDir,
129
+ packageJsonPath: path.join(tempDir, 'package.json'),
130
+ inline: true,
131
+ write: true,
132
+ log: () => { },
133
+ };
134
+ const program = createProgram([logicPath]);
135
+ const parsedLogics = (0, visit_1.visitProgram)(program, appOptions);
136
+ expect(parsedLogics.length).toBe(1);
137
+ const response = await (0, print_1.printToFiles)(program, appOptions, parsedLogics);
138
+ expect(response.writtenFiles).toBe(1);
139
+ const writtenLogic = fs.readFileSync(logicPath, 'utf8');
140
+ expect(writtenLogic).toContain("import { MakeLogicType, kea } from 'kea'");
141
+ expect(writtenLogic).toContain('// Generated by kea-typegen. DO NOT EDIT THIS BLOCK MANUALLY.');
142
+ expect(writtenLogic).toContain('export interface logicValues {');
143
+ expect(writtenLogic).toContain('export interface logicActions {');
144
+ expect(writtenLogic).toContain('export interface logicProps {');
145
+ expect(writtenLogic).toContain('export type logicType = MakeLogicType<logicValues, logicActions, logicProps>');
146
+ expect(writtenLogic).toContain('export const logic = kea<logicType>({');
147
+ expect(writtenLogic).toContain('value: string');
148
+ expect(writtenLogic).toContain('setValue: (value: string) =>');
149
+ expect(fs.existsSync(logicTypePath)).toBe(false);
150
+ const secondProgram = createProgram([logicPath]);
151
+ const secondParsedLogics = (0, visit_1.visitProgram)(secondProgram, appOptions);
152
+ expect(secondParsedLogics.length).toBe(1);
153
+ const secondResponse = await (0, print_1.printToFiles)(secondProgram, appOptions, secondParsedLogics);
154
+ expect(secondResponse).toEqual({ filesToWrite: 0, writtenFiles: 0, filesToModify: 0 });
155
+ expect(fs.readFileSync(logicPath, 'utf8')).toBe(writtenLogic);
156
+ fs.writeFileSync(logicPath, fs
157
+ .readFileSync(logicPath, 'utf8')
158
+ .replace('setValue: (value: string) => ({ value }),', 'setValue: (value: string) => ({ value }),\n reset: true,'));
159
+ const thirdProgram = createProgram([logicPath]);
160
+ const thirdResponse = await (0, print_1.printToFiles)(thirdProgram, appOptions, (0, visit_1.visitProgram)(thirdProgram, appOptions));
161
+ expect(thirdResponse.writtenFiles).toBe(1);
162
+ const updatedLogic = fs.readFileSync(logicPath, 'utf8');
163
+ expect(updatedLogic).toContain('reset: ');
164
+ expect((_a = updatedLogic.match(/export type logicType = MakeLogicType</g)) === null || _a === void 0 ? void 0 : _a.length).toBe(1);
165
+ expect((_b = updatedLogic.match(/export interface logicValues \{/g)) === null || _b === void 0 ? void 0 : _b.length).toBe(1);
166
+ expect((_c = updatedLogic.match(/export interface logicActions \{/g)) === null || _c === void 0 ? void 0 : _c.length).toBe(1);
167
+ expect((_d = updatedLogic.match(/DO NOT EDIT THIS BLOCK MANUALLY/g)) === null || _d === void 0 ? void 0 : _d.length).toBe(1);
168
+ }
169
+ finally {
170
+ fs.rmSync(tempDir, { recursive: true, force: true });
171
+ }
172
+ });
173
+ test('replaces the old logicType.ts import when switching to inline mode', async () => {
174
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kea-typegen-inline-migrate-'));
175
+ try {
176
+ const logicDir = path.join(tempDir, 'src');
177
+ const logicPath = path.join(logicDir, 'logic.ts');
178
+ const logicTypePath = path.join(logicDir, 'logicType.ts');
179
+ const keaDtsPath = path.join(tempDir, 'node_modules', 'kea', 'index.d.ts');
180
+ fs.mkdirSync(path.dirname(keaDtsPath), { recursive: true });
181
+ fs.mkdirSync(logicDir, { recursive: true });
182
+ fs.writeFileSync(keaDtsPath, [
183
+ 'export function kea<T = any>(input: any): T',
184
+ 'export interface MakeLogicType<V = any, A = any, P = any> {}',
185
+ '',
186
+ ].join('\n'));
187
+ fs.writeFileSync(logicTypePath, 'export interface logicType {}\n');
188
+ fs.writeFileSync(logicPath, [
189
+ "import { kea } from 'kea'",
190
+ "import type { logicType } from './logicType'",
191
+ '',
192
+ 'export const logic = kea<logicType>({',
193
+ ' actions: () => ({',
194
+ ' setValue: (value: string) => ({ value }),',
195
+ ' }),',
196
+ '})',
197
+ '',
198
+ ].join('\n'));
199
+ const appOptions = {
200
+ rootPath: logicDir,
201
+ typesPath: logicDir,
202
+ packageJsonPath: path.join(tempDir, 'package.json'),
203
+ inline: true,
204
+ write: true,
205
+ delete: true,
206
+ log: () => { },
207
+ };
208
+ const program = createProgram([logicPath]);
209
+ const response = await (0, print_1.printToFiles)(program, appOptions, (0, visit_1.visitProgram)(program, appOptions));
210
+ expect(response.writtenFiles).toBe(1);
211
+ const writtenLogic = fs.readFileSync(logicPath, 'utf8');
212
+ expect(writtenLogic).not.toContain("from './logicType'");
213
+ expect(writtenLogic).toContain("import { MakeLogicType, kea } from 'kea'");
214
+ expect(writtenLogic).toContain('export interface logicActions {');
215
+ expect(writtenLogic).toContain('export type logicType = MakeLogicType<{}, logicActions>');
216
+ expect(writtenLogic).toContain('export const logic = kea<logicType>({');
217
+ expect(fs.existsSync(logicTypePath)).toBe(false);
218
+ }
219
+ finally {
220
+ fs.rmSync(tempDir, { recursive: true, force: true });
221
+ }
222
+ });
223
+ });
224
+ //# sourceMappingURL=inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.js","sourceRoot":"","sources":["../../../src/__tests__/inline.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,10 @@ yargs
38
38
  .option('delete', { describe: 'Delete logicType.ts files without a corresponding logic.ts', type: 'boolean' })
39
39
  .option('add-ts-nocheck', { describe: 'Add @ts-nocheck to top of logicType.ts files', type: 'boolean' })
40
40
  .option('convert-to-builders', { describe: 'Convert Kea 2.0 inputs to Kea 3.0 logic builders', type: 'boolean' })
41
+ .option('inline', {
42
+ describe: 'Write logic types as MakeLogicType blocks above each kea() call, instead of logicType.ts files',
43
+ type: 'boolean',
44
+ })
41
45
  .option('import-global-types', {
42
46
  describe: 'Add import statements in logicType.ts files for global types (e.g. @types/node)',
43
47
  type: 'boolean',
@@ -1 +1 @@
1
- {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../../../src/cli/typegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../../../src/cli/typegen.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export declare function printToFiles(program: Program, appOptions: AppOptions, p
6
6
  writtenFiles: number;
7
7
  filesToModify: number;
8
8
  }>;
9
+ export interface TypeImportEntry {
10
+ list: string[];
11
+ fullPath: string;
12
+ finalPath: string;
13
+ }
14
+ export declare function buildTypeImportEntries(typeReferencesToImportFromFiles: Record<string, Set<string>>, importIntoFile: string, nodeModulesPath: string, shouldIgnore: (absolutePath: string) => boolean): TypeImportEntry[];
9
15
  export declare function nodeToString(node: Node): string;
10
16
  export declare function parsedLogicToTypeString(parsedLogic: ParsedLogic, appOptions?: AppOptions): string;
11
17
  export declare function printLogicType(parsedLogic: ParsedLogic, appOptions?: AppOptions): void;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runThroughPrettier = runThroughPrettier;
4
4
  exports.printToFiles = printToFiles;
5
+ exports.buildTypeImportEntries = buildTypeImportEntries;
5
6
  exports.nodeToString = nodeToString;
6
7
  exports.parsedLogicToTypeString = parsedLogicToTypeString;
7
8
  exports.printLogicType = printLogicType;
@@ -29,6 +30,7 @@ const printSharedListeners_1 = require("./printSharedListeners");
29
30
  const printListeners_1 = require("./printListeners");
30
31
  const writePaths_1 = require("../write/writePaths");
31
32
  const writeTypeImports_1 = require("../write/writeTypeImports");
33
+ const writeInlineLogicTypes_1 = require("../write/writeInlineLogicTypes");
32
34
  const printInternalExtraInput_1 = require("./printInternalExtraInput");
33
35
  const convertToBuilders_1 = require("../write/convertToBuilders");
34
36
  const cache_1 = require("../cache");
@@ -63,7 +65,9 @@ async function printToFiles(program, appOptions, parsedLogics) {
63
65
  groupedByFile[parsedLogic.fileName] = [];
64
66
  }
65
67
  groupedByFile[parsedLogic.fileName].push(parsedLogic);
66
- printLogicType(parsedLogic, appOptions);
68
+ if (!appOptions.inline) {
69
+ printLogicType(parsedLogic, appOptions);
70
+ }
67
71
  }
68
72
  const defaultGlobalTypePaths = appOptions.importGlobalTypes
69
73
  ? []
@@ -71,11 +75,22 @@ async function printToFiles(program, appOptions, parsedLogics) {
71
75
  const ignoredImportPaths = (appOptions.ignoreImportPaths || []).map((importPath) => path.resolve(appOptions.rootPath, importPath));
72
76
  const doNotImportFromPaths = [...defaultGlobalTypePaths, ...ignoredImportPaths];
73
77
  const shouldIgnore = (absolutePath) => !!doNotImportFromPaths.find((badPath) => absolutePath.startsWith(badPath));
78
+ const nodeModulesPath = path.join(appOptions.packageJsonPath ? path.dirname(appOptions.packageJsonPath) : appOptions.rootPath, 'node_modules');
74
79
  let writtenFiles = 0;
75
80
  let filesToWrite = 0;
76
81
  let filesToModify = 0;
77
82
  for (const [fileName, parsedLogics] of Object.entries(groupedByFile)) {
78
83
  const typeFileName = parsedLogics[0].typeFileName;
84
+ if (appOptions.inline) {
85
+ const inlineResponse = await (0, writeInlineLogicTypes_1.writeInlineLogicTypes)(program, appOptions, fileName, parsedLogics, nodeModulesPath, shouldIgnore);
86
+ filesToWrite += inlineResponse.filesToWrite;
87
+ writtenFiles += inlineResponse.writtenFiles;
88
+ if (appOptions.delete && fs.existsSync(typeFileName)) {
89
+ log(`🗑️ Deleting: ${path.relative(process.cwd(), typeFileName)}`);
90
+ fs.unlinkSync(typeFileName);
91
+ }
92
+ continue;
93
+ }
79
94
  const logicStrings = [];
80
95
  const requiredKeys = new Set(['Logic']);
81
96
  for (const parsedLogic of parsedLogics) {
@@ -91,47 +106,7 @@ async function printToFiles(program, appOptions, parsedLogics) {
91
106
  }
92
107
  }
93
108
  const output = logicStrings.join('\n\n');
94
- const nodeModulesPath = path.join(appOptions.packageJsonPath ? path.dirname(appOptions.packageJsonPath) : appOptions.rootPath, 'node_modules');
95
- const otherimports = Object.entries(parsedLogics[0].typeReferencesToImportFromFiles)
96
- .filter(([_, list]) => list.size > 0)
97
- .map(([file, list]) => {
98
- let finalPath = file;
99
- if (finalPath.startsWith('.')) {
100
- finalPath = path.resolve(path.dirname(parsedLogics[0].typeFileName), finalPath);
101
- }
102
- if (finalPath.startsWith('node_modules/')) {
103
- finalPath = path.resolve(path.dirname(nodeModulesPath), finalPath);
104
- }
105
- if (finalPath.startsWith(nodeModulesPath)) {
106
- finalPath = finalPath.substring(nodeModulesPath.length + 1);
107
- if (finalPath.startsWith('.pnpm/')) {
108
- const regex = /\.pnpm\/[^/]+@[^\/]+\/node_modules\/(.*)/;
109
- const result = finalPath.match(regex);
110
- if (result && result.length > 1) {
111
- finalPath = result[1];
112
- }
113
- }
114
- if (finalPath.startsWith('@types/')) {
115
- finalPath = finalPath.substring(7);
116
- }
117
- }
118
- if (finalPath.startsWith('/')) {
119
- finalPath = path.relative(path.dirname(parsedLogics[0].typeFileName), finalPath);
120
- if (!finalPath.startsWith('.')) {
121
- finalPath = `./${finalPath}`;
122
- }
123
- }
124
- finalPath = finalPath.replace(/(\.d|)\.tsx?$/, '');
125
- if (finalPath.split('/').length === 2 && finalPath.endsWith('/index')) {
126
- finalPath = finalPath.substring(0, finalPath.length - 6);
127
- }
128
- return {
129
- list: [...list].sort(),
130
- fullPath: file,
131
- finalPath,
132
- };
133
- })
134
- .filter((entry) => !shouldIgnore(entry.fullPath))
109
+ const otherimports = buildTypeImportEntries(parsedLogics[0].typeReferencesToImportFromFiles, parsedLogics[0].typeFileName, nodeModulesPath, shouldIgnore)
135
110
  .map(({ list, finalPath }) => `import type { ${list.join(', ')} } from '${finalPath}'`)
136
111
  .join('\n');
137
112
  const finalOutput = [
@@ -221,6 +196,48 @@ async function printToFiles(program, appOptions, parsedLogics) {
221
196
  }
222
197
  return { filesToWrite, writtenFiles, filesToModify };
223
198
  }
199
+ function buildTypeImportEntries(typeReferencesToImportFromFiles, importIntoFile, nodeModulesPath, shouldIgnore) {
200
+ return Object.entries(typeReferencesToImportFromFiles)
201
+ .filter(([_, list]) => list.size > 0)
202
+ .map(([file, list]) => {
203
+ let finalPath = file;
204
+ if (finalPath.startsWith('.')) {
205
+ finalPath = path.resolve(path.dirname(importIntoFile), finalPath);
206
+ }
207
+ if (finalPath.startsWith('node_modules/')) {
208
+ finalPath = path.resolve(path.dirname(nodeModulesPath), finalPath);
209
+ }
210
+ if (finalPath.startsWith(nodeModulesPath)) {
211
+ finalPath = finalPath.substring(nodeModulesPath.length + 1);
212
+ if (finalPath.startsWith('.pnpm/')) {
213
+ const regex = /\.pnpm\/[^/]+@[^\/]+\/node_modules\/(.*)/;
214
+ const result = finalPath.match(regex);
215
+ if (result && result.length > 1) {
216
+ finalPath = result[1];
217
+ }
218
+ }
219
+ if (finalPath.startsWith('@types/')) {
220
+ finalPath = finalPath.substring(7);
221
+ }
222
+ }
223
+ if (finalPath.startsWith('/')) {
224
+ finalPath = path.relative(path.dirname(importIntoFile), finalPath);
225
+ if (!finalPath.startsWith('.')) {
226
+ finalPath = `./${finalPath}`;
227
+ }
228
+ }
229
+ finalPath = finalPath.replace(/(\.d|)\.tsx?$/, '');
230
+ if (finalPath.split('/').length === 2 && finalPath.endsWith('/index')) {
231
+ finalPath = finalPath.substring(0, finalPath.length - 6);
232
+ }
233
+ return {
234
+ list: [...list].sort(),
235
+ fullPath: file,
236
+ finalPath,
237
+ };
238
+ })
239
+ .filter((entry) => !shouldIgnore(entry.fullPath));
240
+ }
224
241
  function nodeToString(node) {
225
242
  const printer = (0, typescript_1.createPrinter)({ newLine: typescript_1.NewLineKind.LineFeed });
226
243
  const sourceFile = (0, typescript_1.createSourceFile)('logic.ts', '', typescript_1.ScriptTarget.Latest, false, typescript_1.ScriptKind.TS);
@@ -1 +1 @@
1
- {"version":3,"file":"print.js","sourceRoot":"","sources":["../../../src/print/print.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"print.js","sourceRoot":"","sources":["../../../src/print/print.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ export interface AppOptions {
71
71
  delete?: boolean;
72
72
  addTsNocheck?: boolean;
73
73
  convertToBuilders?: boolean;
74
+ inline?: boolean;
74
75
  showTsErrors?: boolean;
75
76
  useCache?: boolean;
76
77
  prettier?: boolean;
@@ -4,6 +4,10 @@ export declare function logicSourceToLogicType(logicSource: string, appOptions?:
4
4
  export declare function sourceToSourceFile(sourceCode: string, filename?: string): ts.SourceFile;
5
5
  export declare function programFromSource(sourceCode: string): ts.Program;
6
6
  export declare function isKeaCall(node: ts.Node, checker: ts.TypeChecker): boolean;
7
+ export declare function hasKeaTypegenMarker(node: ts.Node): boolean;
8
+ export declare function getInlineBlockStatements(declaration: ts.TypeAliasDeclaration | ts.InterfaceDeclaration, logicName: string): ts.Statement[];
9
+ export declare function isGeneratedInlineBlock(declaration: ts.TypeAliasDeclaration | ts.InterfaceDeclaration, logicName: string): boolean;
10
+ export declare function isManuallyTypedLogic(typeArgument: ts.TypeNode, logicTypeName: string, checker: ts.TypeChecker): boolean;
7
11
  export declare function getTypeNodeForNode(node: ts.Node, checker: ts.TypeChecker): ts.TypeNode;
8
12
  export declare function getAndGatherTypeNodeForDefaultValue(defaultValue: ts.Node, checker: ts.TypeChecker, parsedLogic: ParsedLogic): ts.TypeNode;
9
13
  export declare function getParameterDeclaration(param: ts.ParameterDeclaration): ts.ParameterDeclaration;
package/dist/src/utils.js CHANGED
@@ -5,6 +5,10 @@ exports.logicSourceToLogicType = logicSourceToLogicType;
5
5
  exports.sourceToSourceFile = sourceToSourceFile;
6
6
  exports.programFromSource = programFromSource;
7
7
  exports.isKeaCall = isKeaCall;
8
+ exports.hasKeaTypegenMarker = hasKeaTypegenMarker;
9
+ exports.getInlineBlockStatements = getInlineBlockStatements;
10
+ exports.isGeneratedInlineBlock = isGeneratedInlineBlock;
11
+ exports.isManuallyTypedLogic = isManuallyTypedLogic;
8
12
  exports.getTypeNodeForNode = getTypeNodeForNode;
9
13
  exports.getAndGatherTypeNodeForDefaultValue = getAndGatherTypeNodeForDefaultValue;
10
14
  exports.getParameterDeclaration = getParameterDeclaration;
@@ -63,6 +67,57 @@ function isKeaCall(node, checker) {
63
67
  }
64
68
  return ts.isObjectLiteralExpression(input) || ts.isArrayLiteralExpression(input);
65
69
  }
70
+ function hasKeaTypegenMarker(node) {
71
+ var _a;
72
+ const sourceFile = node.getSourceFile();
73
+ const ranges = (_a = ts.getLeadingCommentRanges(sourceFile.text, node.pos)) !== null && _a !== void 0 ? _a : [];
74
+ return ranges.some(({ pos, end }) => sourceFile.text.slice(pos, end).includes('kea-typegen'));
75
+ }
76
+ const INLINE_BLOCK_SUFFIXES = ['Values', 'Actions', 'Props'];
77
+ function getInlineBlockStatements(declaration, logicName) {
78
+ const statements = declaration.getSourceFile().statements;
79
+ const index = statements.indexOf(declaration);
80
+ if (index === -1) {
81
+ return [declaration];
82
+ }
83
+ const generatedNames = new Set(INLINE_BLOCK_SUFFIXES.map((suffix) => `${logicName}${suffix}`));
84
+ const block = [declaration];
85
+ for (let i = index - 1; i >= 0; i--) {
86
+ const statement = statements[i];
87
+ if ((ts.isInterfaceDeclaration(statement) || ts.isTypeAliasDeclaration(statement)) &&
88
+ generatedNames.has(statement.name.text)) {
89
+ block.unshift(statement);
90
+ }
91
+ else {
92
+ break;
93
+ }
94
+ }
95
+ return block;
96
+ }
97
+ function isGeneratedInlineBlock(declaration, logicName) {
98
+ return getInlineBlockStatements(declaration, logicName).some(hasKeaTypegenMarker);
99
+ }
100
+ function isManuallyTypedLogic(typeArgument, logicTypeName, checker) {
101
+ var _a;
102
+ if (!ts.isTypeReferenceNode(typeArgument)) {
103
+ return true;
104
+ }
105
+ if (!ts.isIdentifier(typeArgument.typeName) || typeArgument.typeName.escapedText !== logicTypeName) {
106
+ return true;
107
+ }
108
+ const symbol = checker.getSymbolAtLocation(typeArgument.typeName);
109
+ const declaration = (_a = symbol === null || symbol === void 0 ? void 0 : symbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0];
110
+ if (!declaration) {
111
+ return false;
112
+ }
113
+ if (ts.isImportSpecifier(declaration)) {
114
+ return false;
115
+ }
116
+ if (ts.isTypeAliasDeclaration(declaration) || ts.isInterfaceDeclaration(declaration)) {
117
+ return !isGeneratedInlineBlock(declaration, logicTypeName.replace(/Type$/, ''));
118
+ }
119
+ return true;
120
+ }
66
121
  function getTypeNodeForNode(node, checker) {
67
122
  let typeNode;
68
123
  if (node) {