kodu 2.1.3 → 3.0.1

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 (131) hide show
  1. package/README.md +24 -3
  2. package/bin/kodu.js +23 -0
  3. package/package.json +11 -67
  4. package/scripts/postinstall.js +69 -0
  5. package/AGENTS.md +0 -214
  6. package/__tests__/core/fs/fs.service.test.ts +0 -72
  7. package/__tests__/shared/cleaner/cleaner.service.test.ts +0 -102
  8. package/__tests__/shared/git/git.service.test.ts +0 -84
  9. package/__tests__/shared/tokenizer/tokenizer.service.test.ts +0 -45
  10. package/biome.json +0 -50
  11. package/dist/package.json +0 -96
  12. package/dist/src/app.module.d.ts +0 -2
  13. package/dist/src/app.module.js +0 -36
  14. package/dist/src/app.module.js.map +0 -1
  15. package/dist/src/commands/clean/clean.command.d.ts +0 -37
  16. package/dist/src/commands/clean/clean.command.js +0 -240
  17. package/dist/src/commands/clean/clean.command.js.map +0 -1
  18. package/dist/src/commands/clean/clean.module.d.ts +0 -2
  19. package/dist/src/commands/clean/clean.module.js +0 -26
  20. package/dist/src/commands/clean/clean.module.js.map +0 -1
  21. package/dist/src/commands/init/init.command.d.ts +0 -10
  22. package/dist/src/commands/init/init.command.js +0 -96
  23. package/dist/src/commands/init/init.command.js.map +0 -1
  24. package/dist/src/commands/init/init.module.d.ts +0 -2
  25. package/dist/src/commands/init/init.module.js +0 -22
  26. package/dist/src/commands/init/init.module.js.map +0 -1
  27. package/dist/src/commands/pack/pack.command.d.ts +0 -51
  28. package/dist/src/commands/pack/pack.command.js +0 -355
  29. package/dist/src/commands/pack/pack.command.js.map +0 -1
  30. package/dist/src/commands/pack/pack.module.d.ts +0 -2
  31. package/dist/src/commands/pack/pack.module.js +0 -27
  32. package/dist/src/commands/pack/pack.module.js.map +0 -1
  33. package/dist/src/core/config/config.module.d.ts +0 -2
  34. package/dist/src/core/config/config.module.js +0 -23
  35. package/dist/src/core/config/config.module.js.map +0 -1
  36. package/dist/src/core/config/config.schema.d.ts +0 -19
  37. package/dist/src/core/config/config.schema.js +0 -56
  38. package/dist/src/core/config/config.schema.js.map +0 -1
  39. package/dist/src/core/config/config.service.d.ts +0 -7
  40. package/dist/src/core/config/config.service.js +0 -49
  41. package/dist/src/core/config/config.service.js.map +0 -1
  42. package/dist/src/core/config/prompt.service.d.ts +0 -10
  43. package/dist/src/core/config/prompt.service.js +0 -80
  44. package/dist/src/core/config/prompt.service.js.map +0 -1
  45. package/dist/src/core/file-system/fs.module.d.ts +0 -2
  46. package/dist/src/core/file-system/fs.module.js +0 -21
  47. package/dist/src/core/file-system/fs.module.js.map +0 -1
  48. package/dist/src/core/file-system/fs.service.d.ts +0 -27
  49. package/dist/src/core/file-system/fs.service.js +0 -203
  50. package/dist/src/core/file-system/fs.service.js.map +0 -1
  51. package/dist/src/core/ui/ui.module.d.ts +0 -2
  52. package/dist/src/core/ui/ui.module.js +0 -22
  53. package/dist/src/core/ui/ui.module.js.map +0 -1
  54. package/dist/src/core/ui/ui.service.d.ts +0 -22
  55. package/dist/src/core/ui/ui.service.js +0 -43
  56. package/dist/src/core/ui/ui.service.js.map +0 -1
  57. package/dist/src/main.d.ts +0 -2
  58. package/dist/src/main.js +0 -16
  59. package/dist/src/main.js.map +0 -1
  60. package/dist/src/shared/cleaner/cleaner.service.d.ts +0 -23
  61. package/dist/src/shared/cleaner/cleaner.service.js +0 -223
  62. package/dist/src/shared/cleaner/cleaner.service.js.map +0 -1
  63. package/dist/src/shared/cleaner/cleaner.types.d.ts +0 -21
  64. package/dist/src/shared/cleaner/cleaner.types.js +0 -3
  65. package/dist/src/shared/cleaner/cleaner.types.js.map +0 -1
  66. package/dist/src/shared/constants.d.ts +0 -4
  67. package/dist/src/shared/constants.js +0 -113
  68. package/dist/src/shared/constants.js.map +0 -1
  69. package/dist/src/shared/deps/deps.module.d.ts +0 -2
  70. package/dist/src/shared/deps/deps.module.js +0 -21
  71. package/dist/src/shared/deps/deps.module.js.map +0 -1
  72. package/dist/src/shared/deps/deps.service.d.ts +0 -15
  73. package/dist/src/shared/deps/deps.service.js +0 -114
  74. package/dist/src/shared/deps/deps.service.js.map +0 -1
  75. package/dist/src/shared/git/git.module.d.ts +0 -2
  76. package/dist/src/shared/git/git.module.js +0 -21
  77. package/dist/src/shared/git/git.module.js.map +0 -1
  78. package/dist/src/shared/git/git.service.d.ts +0 -5
  79. package/dist/src/shared/git/git.service.js +0 -56
  80. package/dist/src/shared/git/git.service.js.map +0 -1
  81. package/dist/src/shared/tokenizer/tokenizer.module.d.ts +0 -2
  82. package/dist/src/shared/tokenizer/tokenizer.module.js +0 -21
  83. package/dist/src/shared/tokenizer/tokenizer.module.js.map +0 -1
  84. package/dist/src/shared/tokenizer/tokenizer.service.d.ts +0 -10
  85. package/dist/src/shared/tokenizer/tokenizer.service.js +0 -36
  86. package/dist/src/shared/tokenizer/tokenizer.service.js.map +0 -1
  87. package/dist/tsconfig.build.tsbuildinfo +0 -1
  88. package/docs/todo.md +0 -7
  89. package/knip.json +0 -10
  90. package/kodu.json +0 -63
  91. package/kodu.schema.json +0 -100
  92. package/lefthook.yml +0 -11
  93. package/nest-cli.json +0 -8
  94. package/scripts/generate-json-schema.ts +0 -18
  95. package/skills/doc-gen/SKILL.md +0 -490
  96. package/skills/doc-gen/scripts/doc_gen.py +0 -911
  97. package/skills/implement-project/SKILL.md +0 -409
  98. package/skills/liteend-init/SKILL.md +0 -84
  99. package/skills/litefront-init/SKILL.md +0 -96
  100. package/skills/litefront-prototype/SKILL.md +0 -484
  101. package/skills/project-setup-standardizer/SKILL.md +0 -285
  102. package/skills/start/SKILL.md +0 -319
  103. package/skills/tech-blueprint/SKILL.md +0 -890
  104. package/skills/tech-blueprint/scripts/blueprint_validator.py +0 -417
  105. package/src/app.module.ts +0 -23
  106. package/src/commands/clean/clean.command.ts +0 -235
  107. package/src/commands/clean/clean.module.ts +0 -13
  108. package/src/commands/init/init.command.ts +0 -92
  109. package/src/commands/init/init.module.ts +0 -9
  110. package/src/commands/pack/pack.command.ts +0 -347
  111. package/src/commands/pack/pack.module.ts +0 -14
  112. package/src/core/config/config.module.ts +0 -10
  113. package/src/core/config/config.schema.ts +0 -58
  114. package/src/core/config/config.service.ts +0 -43
  115. package/src/core/config/prompt.service.ts +0 -80
  116. package/src/core/file-system/fs.module.ts +0 -8
  117. package/src/core/file-system/fs.service.ts +0 -248
  118. package/src/core/ui/ui.module.ts +0 -9
  119. package/src/core/ui/ui.service.ts +0 -39
  120. package/src/main.ts +0 -12
  121. package/src/shared/cleaner/cleaner.service.ts +0 -289
  122. package/src/shared/cleaner/cleaner.types.ts +0 -23
  123. package/src/shared/constants.ts +0 -118
  124. package/src/shared/deps/deps.module.ts +0 -8
  125. package/src/shared/deps/deps.service.ts +0 -175
  126. package/src/shared/git/git.module.ts +0 -8
  127. package/src/shared/git/git.service.ts +0 -47
  128. package/src/shared/tokenizer/tokenizer.module.ts +0 -8
  129. package/src/shared/tokenizer/tokenizer.service.ts +0 -30
  130. package/tsconfig.build.json +0 -7
  131. package/tsconfig.json +0 -28
@@ -1,23 +0,0 @@
1
- import { ConfigService } from '../../core/config/config.service';
2
- import { FsService } from '../../core/file-system/fs.service';
3
- import { type CleanOptions, type CleanSummary } from './cleaner.types';
4
- export declare class CleanerService {
5
- private readonly configService;
6
- private readonly fsService;
7
- private readonly project;
8
- private readonly systemWhitelist;
9
- constructor(configService: ConfigService, fsService: FsService);
10
- cleanContent(filename: string, content: string, keepJSDoc?: boolean): string;
11
- cleanFiles(files: string[], options?: CleanOptions): Promise<CleanSummary>;
12
- private cleanSource;
13
- private collectCommentRanges;
14
- private shouldRemove;
15
- private normalizePreview;
16
- private getReplacement;
17
- private buildWhitelist;
18
- private writeFile;
19
- private backupFile;
20
- private addRange;
21
- private collectHtmlCommentRanges;
22
- private shouldCollectHtmlComments;
23
- }
@@ -1,223 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.CleanerService = void 0;
16
- const node_fs_1 = require("node:fs");
17
- const node_path_1 = __importDefault(require("node:path"));
18
- const common_1 = require("@nestjs/common");
19
- const ts_morph_1 = require("ts-morph");
20
- const config_service_1 = require("../../core/config/config.service");
21
- const fs_service_1 = require("../../core/file-system/fs.service");
22
- let CleanerService = class CleanerService {
23
- configService;
24
- fsService;
25
- project = new ts_morph_1.Project({
26
- useInMemoryFileSystem: false,
27
- skipFileDependencyResolution: true,
28
- compilerOptions: {
29
- allowJs: true,
30
- jsx: ts_morph_1.ts.JsxEmit.Preserve,
31
- },
32
- });
33
- systemWhitelist = [
34
- '@ts-ignore',
35
- '@ts-expect-error',
36
- 'eslint-disable',
37
- 'prettier-ignore',
38
- 'biome-ignore',
39
- 'todo',
40
- 'fixme',
41
- ];
42
- constructor(configService, fsService) {
43
- this.configService = configService;
44
- this.fsService = fsService;
45
- }
46
- cleanContent(filename, content, keepJSDoc) {
47
- const config = this.configService.getConfig();
48
- const whitelist = this.buildWhitelist(config.cleaner.whitelist);
49
- const shouldKeepJSDoc = keepJSDoc ?? config.cleaner.keepJSDoc;
50
- const result = this.cleanSource(filename, content, whitelist, shouldKeepJSDoc);
51
- return result.nextContent;
52
- }
53
- async cleanFiles(files, options = {}) {
54
- const config = this.configService.getConfig();
55
- const whitelist = this.buildWhitelist(config.cleaner.whitelist);
56
- const keepJSDoc = options.keepJSDoc ?? config.cleaner.keepJSDoc;
57
- let commentsRemoved = 0;
58
- let filesChanged = 0;
59
- let bytesBefore = 0;
60
- let bytesAfter = 0;
61
- const reports = [];
62
- for (let i = 0; i < files.length; i++) {
63
- const file = files[i];
64
- options.onProgress?.(i + 1, files.length);
65
- const original = await this.fsService.readFileRelative(file);
66
- bytesBefore += Buffer.byteLength(original, 'utf8');
67
- const result = this.cleanSource(file, original, whitelist, keepJSDoc);
68
- bytesAfter += Buffer.byteLength(result.nextContent, 'utf8');
69
- if (result.removed > 0) {
70
- filesChanged += 1;
71
- commentsRemoved += result.removed;
72
- if (!options.dryRun) {
73
- if (options.backup) {
74
- await this.backupFile(file, original);
75
- }
76
- await this.writeFile(file, result.nextContent);
77
- }
78
- }
79
- reports.push({
80
- file,
81
- removed: result.removed,
82
- previews: result.previews,
83
- bytesBefore: Buffer.byteLength(original, 'utf8'),
84
- bytesAfter: Buffer.byteLength(result.nextContent, 'utf8'),
85
- });
86
- }
87
- return {
88
- filesProcessed: files.length,
89
- filesChanged,
90
- commentsRemoved,
91
- bytesBefore,
92
- bytesAfter,
93
- reports,
94
- };
95
- }
96
- cleanSource(file, content, whitelist, keepJSDoc) {
97
- const sourceFile = this.project.createSourceFile(file, content, {
98
- overwrite: true,
99
- });
100
- const fullText = sourceFile.getFullText();
101
- const ranges = this.collectCommentRanges(sourceFile, file);
102
- const candidates = ranges.filter((range) => this.shouldRemove(range, whitelist, keepJSDoc));
103
- if (candidates.length === 0) {
104
- return { nextContent: content, removed: 0, previews: [] };
105
- }
106
- const previews = candidates.map((range) => this.normalizePreview(range.text));
107
- const sorted = [...candidates].sort((a, b) => b.start - a.start);
108
- let nextContent = fullText;
109
- for (const range of sorted) {
110
- const replacement = this.getReplacement(fullText, range);
111
- nextContent = `${nextContent.slice(0, range.start)}${replacement}${nextContent.slice(range.end)}`;
112
- }
113
- return { nextContent, removed: candidates.length, previews };
114
- }
115
- collectCommentRanges(sourceFile, file) {
116
- const fullText = sourceFile.getFullText();
117
- const ranges = new Map();
118
- const addRanges = (items) => {
119
- if (!items)
120
- return;
121
- for (const item of items) {
122
- this.addRange(ranges, item.pos, item.end, fullText.slice(item.pos, item.end));
123
- }
124
- };
125
- const visit = (node) => {
126
- addRanges(ts_morph_1.ts.getLeadingCommentRanges(fullText, node.getFullStart()));
127
- addRanges(ts_morph_1.ts.getTrailingCommentRanges(fullText, node.getEnd()));
128
- ts_morph_1.ts.forEachChild(node, visit);
129
- };
130
- visit(sourceFile.compilerNode);
131
- const jsxExpressions = sourceFile.getDescendantsOfKind(ts_morph_1.SyntaxKind.JsxExpression);
132
- for (const jsx of jsxExpressions) {
133
- if (jsx.getExpression())
134
- continue;
135
- const text = jsx.getText();
136
- if (!text.includes('/*'))
137
- continue;
138
- const start = jsx.getPos();
139
- const end = jsx.getEnd();
140
- this.addRange(ranges, start, end, fullText.slice(start, end), 'jsx');
141
- }
142
- if (this.shouldCollectHtmlComments(file)) {
143
- this.collectHtmlCommentRanges(fullText, ranges);
144
- }
145
- return [...ranges.values()];
146
- }
147
- shouldRemove(range, whitelist, keepJSDoc) {
148
- const trimmed = range.text.trimStart();
149
- if (keepJSDoc && trimmed.startsWith('/**')) {
150
- return false;
151
- }
152
- const lower = range.text.toLowerCase();
153
- for (const token of whitelist) {
154
- if (lower.includes(token)) {
155
- return false;
156
- }
157
- }
158
- return true;
159
- }
160
- normalizePreview(text) {
161
- const singleLine = text.replace(/\s+/g, ' ').trim();
162
- if (singleLine.length <= 60)
163
- return singleLine;
164
- return `${singleLine.slice(0, 57)}...`;
165
- }
166
- getReplacement(original, range) {
167
- if (range.kind === 'jsx') {
168
- return '';
169
- }
170
- const before = range.start > 0 ? original[range.start - 1] : '';
171
- const after = range.end < original.length ? original[range.end] : '';
172
- const isIdentifier = (ch) => /[A-Za-z0-9_$]/.test(ch);
173
- if (isIdentifier(before) && isIdentifier(after)) {
174
- return ' ';
175
- }
176
- return '';
177
- }
178
- buildWhitelist(userList) {
179
- const normalized = userList.map((item) => item.toLowerCase());
180
- return new Set([...this.systemWhitelist, ...normalized]);
181
- }
182
- async writeFile(file, content) {
183
- const absolute = node_path_1.default.resolve(process.cwd(), file);
184
- await node_fs_1.promises.writeFile(absolute, content, 'utf8');
185
- }
186
- async backupFile(file, content) {
187
- const backupDir = node_path_1.default.join(process.cwd(), '.kodu', 'backup');
188
- const target = node_path_1.default.join(backupDir, file);
189
- await node_fs_1.promises.mkdir(node_path_1.default.dirname(target), { recursive: true });
190
- await node_fs_1.promises.writeFile(target, content, 'utf8');
191
- }
192
- addRange(ranges, start, end, text, kind = 'comment') {
193
- const key = `${start}:${end}`;
194
- if (ranges.has(key))
195
- return;
196
- ranges.set(key, { start, end, text, kind });
197
- }
198
- collectHtmlCommentRanges(fullText, ranges) {
199
- const htmlCommentRegex = /<!--[\s\S]*?-->/g;
200
- let match;
201
- while (true) {
202
- match = htmlCommentRegex.exec(fullText);
203
- if (!match) {
204
- break;
205
- }
206
- const [text] = match;
207
- if (!text)
208
- continue;
209
- this.addRange(ranges, match.index, match.index + text.length, text);
210
- }
211
- }
212
- shouldCollectHtmlComments(file) {
213
- const extension = node_path_1.default.extname(file).toLowerCase();
214
- return extension === '.html' || extension === '.htm';
215
- }
216
- };
217
- exports.CleanerService = CleanerService;
218
- exports.CleanerService = CleanerService = __decorate([
219
- (0, common_1.Injectable)(),
220
- __metadata("design:paramtypes", [config_service_1.ConfigService,
221
- fs_service_1.FsService])
222
- ], CleanerService);
223
- //# sourceMappingURL=cleaner.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleaner.service.js","sourceRoot":"","sources":["../../../../src/shared/cleaner/cleaner.service.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- export type CleanOptions = {
2
- dryRun?: boolean;
3
- backup?: boolean;
4
- keepJSDoc?: boolean;
5
- onProgress?: (current: number, total: number) => void;
6
- };
7
- export type FileCleanReport = {
8
- file: string;
9
- removed: number;
10
- previews: string[];
11
- bytesBefore: number;
12
- bytesAfter: number;
13
- };
14
- export type CleanSummary = {
15
- filesProcessed: number;
16
- filesChanged: number;
17
- commentsRemoved: number;
18
- bytesBefore: number;
19
- bytesAfter: number;
20
- reports: FileCleanReport[];
21
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=cleaner.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleaner.types.js","sourceRoot":"","sources":["../../../../src/shared/cleaner/cleaner.types.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export declare const MAX_FILE_SIZE_BYTES: number;
2
- export declare const DEFAULT_PRICE_PER_MILLION = 5;
3
- export declare const BINARY_EXTENSIONS: ReadonlySet<string>;
4
- export declare const KNOWN_TEXT_EXTENSIONS: ReadonlySet<string>;
@@ -1,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KNOWN_TEXT_EXTENSIONS = exports.BINARY_EXTENSIONS = exports.DEFAULT_PRICE_PER_MILLION = exports.MAX_FILE_SIZE_BYTES = void 0;
4
- exports.MAX_FILE_SIZE_BYTES = 1024 * 1024;
5
- exports.DEFAULT_PRICE_PER_MILLION = 5;
6
- const BINARY_EXTENSION_LIST = [
7
- '.png',
8
- '.jpg',
9
- '.jpeg',
10
- '.webp',
11
- '.gif',
12
- '.bmp',
13
- '.ico',
14
- '.tif',
15
- '.tiff',
16
- '.psd',
17
- '.ai',
18
- '.sketch',
19
- '.heic',
20
- '.heif',
21
- '.mp3',
22
- '.wav',
23
- '.flac',
24
- '.ogg',
25
- '.m4a',
26
- '.mp4',
27
- '.mkv',
28
- '.mov',
29
- '.avi',
30
- '.webm',
31
- '.wmv',
32
- '.flv',
33
- '.mpg',
34
- '.mpeg',
35
- '.ogv',
36
- '.zip',
37
- '.gz',
38
- '.tgz',
39
- '.bz2',
40
- '.xz',
41
- '.rar',
42
- '.7z',
43
- '.tar',
44
- '.pdf',
45
- '.exe',
46
- '.dll',
47
- '.so',
48
- '.dylib',
49
- '.class',
50
- '.jar',
51
- '.war',
52
- '.ear',
53
- '.ttf',
54
- '.otf',
55
- '.woff',
56
- '.woff2',
57
- '.eot',
58
- '.bin',
59
- '.pak',
60
- '.dat',
61
- ];
62
- const KNOWN_TEXT_LIST = [
63
- '.js',
64
- '.jsx',
65
- '.ts',
66
- '.tsx',
67
- '.mjs',
68
- '.cjs',
69
- '.json',
70
- '.html',
71
- '.css',
72
- '.scss',
73
- '.less',
74
- '.vue',
75
- '.svelte',
76
- '.java',
77
- '.py',
78
- '.c',
79
- '.cpp',
80
- '.h',
81
- '.hpp',
82
- '.cs',
83
- '.go',
84
- '.rs',
85
- '.php',
86
- '.rb',
87
- '.swift',
88
- '.kt',
89
- '.dart',
90
- '.scala',
91
- '.pl',
92
- '.lua',
93
- '.sh',
94
- '.bat',
95
- '.md',
96
- '.txt',
97
- '.xml',
98
- '.yaml',
99
- '.yml',
100
- '.sql',
101
- '.graphql',
102
- '.toml',
103
- '.ini',
104
- '.env',
105
- '.gitignore',
106
- '.dockerignore',
107
- 'dockerfile',
108
- '.editorconfig',
109
- ];
110
- const createLowercaseSet = (values) => new Set(values.map((value) => value.toLowerCase()));
111
- exports.BINARY_EXTENSIONS = createLowercaseSet(BINARY_EXTENSION_LIST);
112
- exports.KNOWN_TEXT_EXTENSIONS = createLowercaseSet(KNOWN_TEXT_LIST);
113
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC;AAClC,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAE3C,MAAM,qBAAqB,GAAG;IAC5B,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC;AAEF,MAAM,eAAe,GAAG;IAEtB,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IAET,OAAO;IACP,KAAK;IACL,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IAEN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IAEN,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,eAAe;CAChB,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAAuB,EAAE,CACnE,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAEzC,QAAA,iBAAiB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;AAC9D,QAAA,qBAAqB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare class DepsModule {
2
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DepsModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const deps_service_1 = require("./deps.service");
12
- let DepsModule = class DepsModule {
13
- };
14
- exports.DepsModule = DepsModule;
15
- exports.DepsModule = DepsModule = __decorate([
16
- (0, common_1.Module)({
17
- providers: [deps_service_1.DepsService],
18
- exports: [deps_service_1.DepsService],
19
- })
20
- ], DepsModule);
21
- //# sourceMappingURL=deps.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps.module.js","sourceRoot":"","sources":["../../../../src/shared/deps/deps.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iDAA6C;AAMtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
@@ -1,15 +0,0 @@
1
- export type DepsResult = {
2
- files: string[];
3
- explain: Map<string, string>;
4
- };
5
- type CollectOptions = {
6
- maxDepth?: number;
7
- includeTypes?: boolean;
8
- includeDynamic?: boolean;
9
- };
10
- export declare class DepsService {
11
- collectDependencies(entryFiles: string[], projectRoot: string, options?: CollectOptions): DepsResult;
12
- private collect;
13
- private findTsConfig;
14
- }
15
- export {};
@@ -1,114 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DepsService = void 0;
13
- const node_path_1 = __importDefault(require("node:path"));
14
- const common_1 = require("@nestjs/common");
15
- const ts_morph_1 = require("ts-morph");
16
- let DepsService = class DepsService {
17
- collectDependencies(entryFiles, projectRoot, options = {}) {
18
- const { maxDepth = Infinity, includeTypes = true, includeDynamic = false, } = options;
19
- const tsConfigPath = this.findTsConfig(projectRoot);
20
- const project = tsConfigPath
21
- ? new ts_morph_1.Project({
22
- tsConfigFilePath: tsConfigPath,
23
- skipAddingFilesFromTsConfig: true,
24
- })
25
- : new ts_morph_1.Project({
26
- compilerOptions: {
27
- allowJs: true,
28
- resolveJsonModule: true,
29
- moduleResolution: 2,
30
- },
31
- });
32
- const visited = new Set();
33
- const explain = new Map();
34
- const absEntries = entryFiles.map((f) => node_path_1.default.isAbsolute(f) ? f : node_path_1.default.resolve(projectRoot, f));
35
- for (const entry of absEntries) {
36
- explain.set(entry, 'entry point');
37
- this.collect(project, entry, projectRoot, visited, explain, 0, maxDepth, includeTypes, includeDynamic);
38
- }
39
- const files = [...visited].map((abs) => node_path_1.default.relative(projectRoot, abs).split(node_path_1.default.sep).join(node_path_1.default.posix.sep));
40
- return { files, explain };
41
- }
42
- collect(project, absFile, projectRoot, visited, explain, depth, maxDepth, includeTypes, includeDynamic) {
43
- if (visited.has(absFile))
44
- return;
45
- visited.add(absFile);
46
- if (depth >= maxDepth)
47
- return;
48
- let sourceFile = project.getSourceFile(absFile);
49
- if (!sourceFile) {
50
- try {
51
- sourceFile = project.addSourceFileAtPath(absFile);
52
- }
53
- catch {
54
- return;
55
- }
56
- }
57
- const relFrom = node_path_1.default
58
- .relative(projectRoot, absFile)
59
- .split(node_path_1.default.sep)
60
- .join(node_path_1.default.posix.sep);
61
- for (const importDecl of sourceFile.getImportDeclarations()) {
62
- if (!includeTypes && importDecl.isTypeOnly())
63
- continue;
64
- const resolved = importDecl.getModuleSpecifierSourceFile();
65
- if (!resolved)
66
- continue;
67
- const absResolved = resolved.getFilePath();
68
- if (absResolved.includes('node_modules'))
69
- continue;
70
- if (!explain.has(absResolved)) {
71
- const what = importDecl.isTypeOnly() ? 'type import' : 'import';
72
- explain.set(absResolved, `${what} from ${relFrom}`);
73
- }
74
- this.collect(project, absResolved, projectRoot, visited, explain, depth + 1, maxDepth, includeTypes, includeDynamic);
75
- }
76
- void includeDynamic;
77
- for (const exportDecl of sourceFile.getExportDeclarations()) {
78
- const resolved = exportDecl.getModuleSpecifierSourceFile();
79
- if (!resolved)
80
- continue;
81
- const absResolved = resolved.getFilePath();
82
- if (absResolved.includes('node_modules'))
83
- continue;
84
- if (!explain.has(absResolved)) {
85
- const relFrom2 = node_path_1.default
86
- .relative(projectRoot, absFile)
87
- .split(node_path_1.default.sep)
88
- .join(node_path_1.default.posix.sep);
89
- explain.set(absResolved, `re-export from ${relFrom2}`);
90
- }
91
- this.collect(project, absResolved, projectRoot, visited, explain, depth + 1, maxDepth, includeTypes, includeDynamic);
92
- }
93
- }
94
- findTsConfig(projectRoot) {
95
- const candidates = [
96
- node_path_1.default.join(projectRoot, 'tsconfig.json'),
97
- node_path_1.default.join(projectRoot, 'tsconfig.base.json'),
98
- ];
99
- for (const c of candidates) {
100
- try {
101
- require('node:fs').accessSync(c);
102
- return c;
103
- }
104
- catch {
105
- }
106
- }
107
- return undefined;
108
- }
109
- };
110
- exports.DepsService = DepsService;
111
- exports.DepsService = DepsService = __decorate([
112
- (0, common_1.Injectable)()
113
- ], DepsService);
114
- //# sourceMappingURL=deps.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps.service.js","sourceRoot":"","sources":["../../../../src/shared/deps/deps.service.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare class GitModule {
2
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.GitModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const git_service_1 = require("./git.service");
12
- let GitModule = class GitModule {
13
- };
14
- exports.GitModule = GitModule;
15
- exports.GitModule = GitModule = __decorate([
16
- (0, common_1.Module)({
17
- providers: [git_service_1.GitService],
18
- exports: [git_service_1.GitService],
19
- })
20
- ], GitModule);
21
- //# sourceMappingURL=git.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.module.js","sourceRoot":"","sources":["../../../../src/shared/git/git.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAMpC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAJrB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,wBAAU,CAAC;QACvB,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,SAAS,CAAG"}
@@ -1,5 +0,0 @@
1
- export declare class GitService {
2
- ensureRepo(): Promise<void>;
3
- getChangedFiles(): Promise<string[]>;
4
- getStagedFiles(): Promise<string[]>;
5
- }