kodu 1.1.11 → 1.1.12
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/dist/src/commands/pack/pack.command.js +3 -1
- package/dist/src/commands/pack/pack.command.js.map +1 -1
- package/dist/src/core/file-system/fs.service.d.ts +3 -0
- package/dist/src/core/file-system/fs.service.js +100 -1
- package/dist/src/core/file-system/fs.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/todo.md +1 -1
- package/package.json +1 -1
- package/src/commands/pack/pack.command.ts +3 -1
- package/src/core/file-system/fs.service.ts +121 -2
|
@@ -50,7 +50,9 @@ let PackCommand = class PackCommand extends nest_commander_1.CommandRunner {
|
|
|
50
50
|
.createSpinner({ text: 'Collecting files...' })
|
|
51
51
|
.start();
|
|
52
52
|
try {
|
|
53
|
-
const files = await this.fsService.findProjectFiles(
|
|
53
|
+
const files = await this.fsService.findProjectFiles({
|
|
54
|
+
excludeBinary: true,
|
|
55
|
+
});
|
|
54
56
|
if (files.length === 0) {
|
|
55
57
|
spinner.stop('No files to pack.');
|
|
56
58
|
this.ui.log.warn('No files to pack.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.command.js","sourceRoot":"","sources":["../../../../src/commands/pack/pack.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAyC;AACzC,0DAA6B;AAC7B,4DAAmC;AACnC,mDAAgE;AAChE,qEAAiE;AACjE,qEAAiE;AACjE,kEAA8D;AAC9D,yDAAqD;AACrD,gFAA4E;AAmBrE,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,8BAAa;IAEzB;IACA;IACA;IACA;IACA;IALnB,YACmB,EAAa,EACb,aAA4B,EAC5B,aAA4B,EAC5B,SAAoB,EACpB,SAA2B;QAE5C,KAAK,EAAE,CAAC;QANS,OAAE,GAAF,EAAE,CAAW;QACb,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QACpB,cAAS,GAAT,SAAS,CAAkB;IAG9C,CAAC;IAGD,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,aAAa,CAAC,KAAa;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,QAAQ,CAAC,KAAa;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAiB,EAAE,OAAoB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;aACpB,aAAa,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;aAC9C,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pack.command.js","sourceRoot":"","sources":["../../../../src/commands/pack/pack.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,12 @@ export declare class FsService {
|
|
|
5
5
|
findProjectFiles(options?: {
|
|
6
6
|
ignore?: string[];
|
|
7
7
|
useGitignore?: boolean;
|
|
8
|
+
excludeBinary?: boolean;
|
|
8
9
|
}): Promise<string[]>;
|
|
9
10
|
readFileRelative(relativePath: string): Promise<string>;
|
|
10
11
|
private readGitignorePatterns;
|
|
11
12
|
private normalizeIgnorePatterns;
|
|
12
13
|
private expandIgnorePattern;
|
|
14
|
+
private isLikelyBinaryByExtension;
|
|
15
|
+
private hasNullByte;
|
|
13
16
|
}
|
|
@@ -18,6 +18,63 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
18
18
|
const common_1 = require("@nestjs/common");
|
|
19
19
|
const tinyglobby_1 = require("tinyglobby");
|
|
20
20
|
const config_service_1 = require("../config/config.service");
|
|
21
|
+
const BINARY_EXTENSIONS = new Set([
|
|
22
|
+
'.png',
|
|
23
|
+
'.jpg',
|
|
24
|
+
'.jpeg',
|
|
25
|
+
'.webp',
|
|
26
|
+
'.gif',
|
|
27
|
+
'.bmp',
|
|
28
|
+
'.ico',
|
|
29
|
+
'.tif',
|
|
30
|
+
'.tiff',
|
|
31
|
+
'.psd',
|
|
32
|
+
'.ai',
|
|
33
|
+
'.sketch',
|
|
34
|
+
'.heic',
|
|
35
|
+
'.heif',
|
|
36
|
+
'.mp3',
|
|
37
|
+
'.wav',
|
|
38
|
+
'.flac',
|
|
39
|
+
'.ogg',
|
|
40
|
+
'.m4a',
|
|
41
|
+
'.mp4',
|
|
42
|
+
'.mkv',
|
|
43
|
+
'.mov',
|
|
44
|
+
'.avi',
|
|
45
|
+
'.webm',
|
|
46
|
+
'.wmv',
|
|
47
|
+
'.flv',
|
|
48
|
+
'.mpg',
|
|
49
|
+
'.mpeg',
|
|
50
|
+
'.ogv',
|
|
51
|
+
'.zip',
|
|
52
|
+
'.gz',
|
|
53
|
+
'.tgz',
|
|
54
|
+
'.bz2',
|
|
55
|
+
'.xz',
|
|
56
|
+
'.rar',
|
|
57
|
+
'.7z',
|
|
58
|
+
'.tar',
|
|
59
|
+
'.pdf',
|
|
60
|
+
'.exe',
|
|
61
|
+
'.dll',
|
|
62
|
+
'.so',
|
|
63
|
+
'.dylib',
|
|
64
|
+
'.class',
|
|
65
|
+
'.jar',
|
|
66
|
+
'.war',
|
|
67
|
+
'.ear',
|
|
68
|
+
'.ttf',
|
|
69
|
+
'.otf',
|
|
70
|
+
'.woff',
|
|
71
|
+
'.woff2',
|
|
72
|
+
'.eot',
|
|
73
|
+
'.bin',
|
|
74
|
+
'.pak',
|
|
75
|
+
'.dat',
|
|
76
|
+
]);
|
|
77
|
+
const BINARY_PROBE_SIZE = 8192;
|
|
21
78
|
let FsService = class FsService {
|
|
22
79
|
configService;
|
|
23
80
|
constructor(configService) {
|
|
@@ -38,10 +95,26 @@ let FsService = class FsService {
|
|
|
38
95
|
absolute: true,
|
|
39
96
|
ignore: ignorePatterns,
|
|
40
97
|
});
|
|
41
|
-
|
|
98
|
+
const relativePaths = entries
|
|
42
99
|
.map((entry) => node_path_1.default.relative(process.cwd(), entry))
|
|
43
100
|
.filter((relative) => relative.length > 0)
|
|
44
101
|
.sort((a, b) => a.localeCompare(b));
|
|
102
|
+
const excludeBinary = options.excludeBinary ?? true;
|
|
103
|
+
if (!excludeBinary) {
|
|
104
|
+
return relativePaths;
|
|
105
|
+
}
|
|
106
|
+
const textFiles = [];
|
|
107
|
+
for (const rel of relativePaths) {
|
|
108
|
+
if (this.isLikelyBinaryByExtension(rel)) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
const abs = node_path_1.default.resolve(process.cwd(), rel);
|
|
112
|
+
const containsNullByte = await this.hasNullByte(abs);
|
|
113
|
+
if (!containsNullByte) {
|
|
114
|
+
textFiles.push(rel);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return textFiles;
|
|
45
118
|
}
|
|
46
119
|
async readFileRelative(relativePath) {
|
|
47
120
|
const absolute = node_path_1.default.resolve(process.cwd(), relativePath);
|
|
@@ -102,6 +175,32 @@ let FsService = class FsService {
|
|
|
102
175
|
}
|
|
103
176
|
return [base];
|
|
104
177
|
}
|
|
178
|
+
isLikelyBinaryByExtension(relativePath) {
|
|
179
|
+
const ext = node_path_1.default.extname(relativePath).toLowerCase();
|
|
180
|
+
return ext.length > 0 && BINARY_EXTENSIONS.has(ext);
|
|
181
|
+
}
|
|
182
|
+
async hasNullByte(absolutePath) {
|
|
183
|
+
let handle;
|
|
184
|
+
try {
|
|
185
|
+
handle = await node_fs_1.promises.open(absolutePath, 'r');
|
|
186
|
+
const buffer = Buffer.alloc(BINARY_PROBE_SIZE);
|
|
187
|
+
const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
|
|
188
|
+
for (let i = 0; i < bytesRead; i += 1) {
|
|
189
|
+
if (buffer[i] === 0) {
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
198
|
+
finally {
|
|
199
|
+
if (handle) {
|
|
200
|
+
await handle.close();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
105
204
|
};
|
|
106
205
|
exports.FsService = FsService;
|
|
107
206
|
exports.FsService = FsService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.service.js","sourceRoot":"","sources":["../../../../src/core/file-system/fs.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAyC;AACzC,0DAA6B;AAC7B,2CAA4C;AAC5C,2CAAkC;AAClC,6DAAyD;
|
|
1
|
+
{"version":3,"file":"fs.service.js","sourceRoot":"","sources":["../../../../src/core/file-system/fs.service.ts"],"names":[],"mappings":"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"}
|