kea-typegen 3.7.0 → 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.
- package/CHANGELOG.md +9 -0
- package/dist/package.json +3 -1
- package/dist/src/__tests__/inline.d.ts +1 -0
- package/dist/src/__tests__/inline.js +224 -0
- package/dist/src/__tests__/inline.js.map +1 -0
- package/dist/src/__tests__/watch.js +178 -0
- package/dist/src/__tests__/watch.js.map +1 -1
- package/dist/src/cli/typegen.js +4 -0
- package/dist/src/cli/typegen.js.map +1 -1
- package/dist/src/print/print.d.ts +6 -0
- package/dist/src/print/print.js +59 -42
- package/dist/src/print/print.js.map +1 -1
- package/dist/src/typegen.js +38 -2
- package/dist/src/typegen.js.map +1 -1
- package/dist/src/types.d.ts +1 -0
- package/dist/src/utils.d.ts +4 -0
- package/dist/src/utils.js +55 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/src/visit/visit.js +6 -0
- package/dist/src/visit/visit.js.map +1 -1
- package/dist/src/watch.d.ts +22 -0
- package/dist/src/watch.js +183 -0
- package/dist/src/watch.js.map +1 -0
- package/dist/src/write/writeInlineLogicTypes.d.ts +8 -0
- package/dist/src/write/writeInlineLogicTypes.js +236 -0
- package/dist/src/write/writeInlineLogicTypes.js.map +1 -0
- package/dist/src/write/writeTypeImports.d.ts +8 -0
- package/dist/src/write/writeTypeImports.js +3 -0
- package/dist/src/write/writeTypeImports.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
- package/samples/manualTypedLogic.ts +20 -0
- package/samples-inline/counterLogic.ts +36 -0
- package/samples-inline/manualLogic.ts +20 -0
- package/samples-inline/profileLogic.ts +30 -0
- package/samples-inline/searchLogic.ts +30 -0
- package/samples-inline/tsconfig.json +17 -0
- package/samples-inline/types.ts +5 -0
- package/src/__tests__/inline.ts +266 -0
- package/src/__tests__/watch.ts +259 -32
- package/src/cli/typegen.ts +4 -0
- package/src/print/print.ts +102 -57
- package/src/test-support/watch-mode-smoke.js +39 -4
- package/src/test-support/write-mode-smoke.js +6 -1
- package/src/typegen.ts +53 -2
- package/src/types.ts +2 -0
- package/src/utils.ts +81 -0
- package/src/visit/visit.ts +14 -0
- package/src/watch.ts +261 -0
- package/src/write/writeInlineLogicTypes.ts +305 -0
- package/src/write/writeTypeImports.ts +4 -4
- package/tsconfig.json +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
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
|
+
|
|
6
|
+
## 3.7.1 - 2026-06-26
|
|
7
|
+
|
|
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.
|
|
9
|
+
|
|
1
10
|
## 3.7.0 - 2026-06-23
|
|
2
11
|
|
|
3
12
|
Improve performance of typegen. Make type lookups lazier, try to read less files, better --file mode.
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kea-typegen",
|
|
3
|
-
"version": "3.
|
|
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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"}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const child_process_1 = require("child_process");
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const os = require("os");
|
|
4
6
|
const path = require("path");
|
|
7
|
+
const ts = require("typescript");
|
|
8
|
+
const watch_1 = require("../watch");
|
|
9
|
+
function writeFile(filePath, source) {
|
|
10
|
+
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
11
|
+
fs.writeFileSync(filePath, source);
|
|
12
|
+
}
|
|
13
|
+
function createProgram(fileNames) {
|
|
14
|
+
return ts.createProgram(fileNames, {
|
|
15
|
+
module: ts.ModuleKind.CommonJS,
|
|
16
|
+
moduleResolution: ts.ModuleResolutionKind.NodeJs,
|
|
17
|
+
target: ts.ScriptTarget.ES2020,
|
|
18
|
+
skipLibCheck: true,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
5
21
|
test('watch mode does not overlap successive typegen passes', async () => {
|
|
6
22
|
const repoRoot = path.resolve(__dirname, '..', '..');
|
|
7
23
|
const scriptPath = path.join(repoRoot, 'src/test-support/watch-mode-smoke.js');
|
|
@@ -27,6 +43,168 @@ test('watch mode does not overlap successive typegen passes', async () => {
|
|
|
27
43
|
expect(payload.started).toBeGreaterThan(1);
|
|
28
44
|
expect(payload.completed).toBeGreaterThan(0);
|
|
29
45
|
expect(payload.maxActive).toBe(1);
|
|
46
|
+
expect(payload.incrementalAfterEdit).toBe(true);
|
|
47
|
+
expect(payload.parsedLogicCountsAfterEdit).toContain(1);
|
|
48
|
+
expect(payload.sourceFilePathsAfterEdit.some(Boolean)).toBe(true);
|
|
30
49
|
expect(result.stderr).toBe('');
|
|
31
50
|
}, 30000);
|
|
51
|
+
test('watch planner limits a direct logic edit to the changed logic and dependent logics', () => {
|
|
52
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kea-typegen-watch-direct-logic-'));
|
|
53
|
+
try {
|
|
54
|
+
const logicDir = path.join(tempDir, 'src');
|
|
55
|
+
const firstLogicPath = path.join(logicDir, 'firstLogic.ts');
|
|
56
|
+
const secondLogicPath = path.join(logicDir, 'secondLogic.ts');
|
|
57
|
+
const unrelatedLogicPath = path.join(logicDir, 'unrelatedLogic.ts');
|
|
58
|
+
const keaDtsPath = path.join(tempDir, 'node_modules', 'kea', 'index.d.ts');
|
|
59
|
+
writeFile(keaDtsPath, 'export function kea<T = any>(input: any): T\n');
|
|
60
|
+
writeFile(firstLogicPath, [
|
|
61
|
+
"import { kea } from 'kea'",
|
|
62
|
+
'',
|
|
63
|
+
'export const firstLogic = kea({',
|
|
64
|
+
' actions: () => ({ first: true }),',
|
|
65
|
+
'})',
|
|
66
|
+
'',
|
|
67
|
+
].join('\n'));
|
|
68
|
+
writeFile(secondLogicPath, [
|
|
69
|
+
"import { kea } from 'kea'",
|
|
70
|
+
"import { firstLogic } from './firstLogic'",
|
|
71
|
+
'',
|
|
72
|
+
'export const secondLogic = kea({',
|
|
73
|
+
' connect: { values: [firstLogic, ["first"]] },',
|
|
74
|
+
'})',
|
|
75
|
+
'',
|
|
76
|
+
].join('\n'));
|
|
77
|
+
writeFile(unrelatedLogicPath, [
|
|
78
|
+
"import { kea } from 'kea'",
|
|
79
|
+
'',
|
|
80
|
+
'export const unrelatedLogic = kea({',
|
|
81
|
+
' actions: () => ({ unrelated: true }),',
|
|
82
|
+
'})',
|
|
83
|
+
'',
|
|
84
|
+
].join('\n'));
|
|
85
|
+
const program = createProgram([firstLogicPath, secondLogicPath, unrelatedLogicPath]);
|
|
86
|
+
const plan = (0, watch_1.planWatchTypegenPass)(program, [
|
|
87
|
+
{ fileName: firstLogicPath, eventKind: ts.FileWatcherEventKind.Changed },
|
|
88
|
+
]);
|
|
89
|
+
expect(plan).toEqual({
|
|
90
|
+
kind: 'files',
|
|
91
|
+
sourceFilePaths: [firstLogicPath, secondLogicPath].sort(),
|
|
92
|
+
reason: '2 affected Kea logic files',
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
test('watch planner regenerates logics affected by a helper type edit', () => {
|
|
100
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kea-typegen-watch-helper-'));
|
|
101
|
+
try {
|
|
102
|
+
const logicDir = path.join(tempDir, 'src');
|
|
103
|
+
const helperPath = path.join(logicDir, 'helper.ts');
|
|
104
|
+
const logicPath = path.join(logicDir, 'logic.ts');
|
|
105
|
+
const unrelatedLogicPath = path.join(logicDir, 'unrelatedLogic.ts');
|
|
106
|
+
const keaDtsPath = path.join(tempDir, 'node_modules', 'kea', 'index.d.ts');
|
|
107
|
+
writeFile(keaDtsPath, 'export function kea<T = any>(input: any): T\n');
|
|
108
|
+
writeFile(helperPath, 'export interface HelperType { value: string }\n');
|
|
109
|
+
writeFile(logicPath, [
|
|
110
|
+
"import { kea } from 'kea'",
|
|
111
|
+
"import type { HelperType } from './helper'",
|
|
112
|
+
'',
|
|
113
|
+
'export const logic = kea({',
|
|
114
|
+
' actions: () => ({ setValue: (value: HelperType) => ({ value }) }),',
|
|
115
|
+
'})',
|
|
116
|
+
'',
|
|
117
|
+
].join('\n'));
|
|
118
|
+
writeFile(unrelatedLogicPath, [
|
|
119
|
+
"import { kea } from 'kea'",
|
|
120
|
+
'',
|
|
121
|
+
'export const unrelatedLogic = kea({',
|
|
122
|
+
' actions: () => ({ unrelated: true }),',
|
|
123
|
+
'})',
|
|
124
|
+
'',
|
|
125
|
+
].join('\n'));
|
|
126
|
+
const program = createProgram([helperPath, logicPath, unrelatedLogicPath]);
|
|
127
|
+
const plan = (0, watch_1.planWatchTypegenPass)(program, [
|
|
128
|
+
{ fileName: helperPath, eventKind: ts.FileWatcherEventKind.Changed },
|
|
129
|
+
]);
|
|
130
|
+
expect(plan).toEqual({
|
|
131
|
+
kind: 'files',
|
|
132
|
+
sourceFilePaths: [logicPath],
|
|
133
|
+
reason: '1 affected Kea logic file',
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
test('watch planner maps generated type changes back to source logics and dependents', () => {
|
|
141
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kea-typegen-watch-type-file-'));
|
|
142
|
+
try {
|
|
143
|
+
const logicDir = path.join(tempDir, 'src');
|
|
144
|
+
const firstLogicPath = path.join(logicDir, 'firstLogic.ts');
|
|
145
|
+
const firstLogicTypePath = path.join(logicDir, 'firstLogicType.ts');
|
|
146
|
+
const secondLogicPath = path.join(logicDir, 'secondLogic.ts');
|
|
147
|
+
const keaDtsPath = path.join(tempDir, 'node_modules', 'kea', 'index.d.ts');
|
|
148
|
+
writeFile(keaDtsPath, 'export function kea<T = any>(input: any): T\n');
|
|
149
|
+
writeFile(firstLogicTypePath, 'export interface firstLogicType {}\n');
|
|
150
|
+
writeFile(firstLogicPath, [
|
|
151
|
+
"import { kea } from 'kea'",
|
|
152
|
+
"import type { firstLogicType } from './firstLogicType'",
|
|
153
|
+
'',
|
|
154
|
+
'export const firstLogic = kea<firstLogicType>({',
|
|
155
|
+
' actions: () => ({ first: true }),',
|
|
156
|
+
'})',
|
|
157
|
+
'',
|
|
158
|
+
].join('\n'));
|
|
159
|
+
writeFile(secondLogicPath, [
|
|
160
|
+
"import { kea } from 'kea'",
|
|
161
|
+
"import { firstLogic } from './firstLogic'",
|
|
162
|
+
'',
|
|
163
|
+
'export const secondLogic = kea({',
|
|
164
|
+
' connect: { actions: [firstLogic, ["first"]] },',
|
|
165
|
+
'})',
|
|
166
|
+
'',
|
|
167
|
+
].join('\n'));
|
|
168
|
+
const program = createProgram([firstLogicPath, firstLogicTypePath, secondLogicPath]);
|
|
169
|
+
const plan = (0, watch_1.planWatchTypegenPass)(program, [
|
|
170
|
+
{ fileName: firstLogicTypePath, eventKind: ts.FileWatcherEventKind.Changed },
|
|
171
|
+
]);
|
|
172
|
+
expect(plan).toEqual({
|
|
173
|
+
kind: 'files',
|
|
174
|
+
sourceFilePaths: [firstLogicPath, secondLogicPath].sort(),
|
|
175
|
+
reason: '2 affected Kea logic files',
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
test('watch planner falls back to a full pass for deleted files and resetContext changes', () => {
|
|
183
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kea-typegen-watch-full-'));
|
|
184
|
+
try {
|
|
185
|
+
const logicDir = path.join(tempDir, 'src');
|
|
186
|
+
const logicPath = path.join(logicDir, 'logic.ts');
|
|
187
|
+
const contextPath = path.join(logicDir, 'context.ts');
|
|
188
|
+
const keaDtsPath = path.join(tempDir, 'node_modules', 'kea', 'index.d.ts');
|
|
189
|
+
writeFile(keaDtsPath, 'export function kea<T = any>(input: any): T\n');
|
|
190
|
+
writeFile(logicPath, [
|
|
191
|
+
"import { kea } from 'kea'",
|
|
192
|
+
'',
|
|
193
|
+
'export const logic = kea({',
|
|
194
|
+
' actions: () => ({ value: true }),',
|
|
195
|
+
'})',
|
|
196
|
+
'',
|
|
197
|
+
].join('\n'));
|
|
198
|
+
writeFile(contextPath, ["import { resetContext } from 'kea'", '', 'resetContext({ plugins: [] })', ''].join('\n'));
|
|
199
|
+
const program = createProgram([logicPath, contextPath]);
|
|
200
|
+
expect((0, watch_1.planWatchTypegenPass)(program, [{ fileName: logicPath, eventKind: ts.FileWatcherEventKind.Deleted }])).toEqual({ kind: 'full', reason: 'deleted file detected' });
|
|
201
|
+
expect((0, watch_1.planWatchTypegenPass)(program, [{ fileName: contextPath, eventKind: ts.FileWatcherEventKind.Changed }])).toEqual({
|
|
202
|
+
kind: 'full',
|
|
203
|
+
reason: `resetContext changed: ${path.relative(process.cwd(), contextPath)}`,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
finally {
|
|
207
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
208
|
+
}
|
|
209
|
+
});
|
|
32
210
|
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/__tests__/watch.ts"],"names":[],"mappings":";;AAAA,iDAAqC;AACrC,6BAA4B;
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/__tests__/watch.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/typegen.js
CHANGED
|
@@ -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;
|