@cesarandreslopez/occ 0.8.1 → 0.8.3
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/README.md +1 -0
- package/dist/src/cli.d.ts +1 -0
- package/dist/src/cli.js +7 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/code/build.d.ts +10 -1
- package/dist/src/code/build.js +90 -21
- package/dist/src/code/build.js.map +1 -1
- package/dist/src/code/cache.js +7 -4
- package/dist/src/code/cache.js.map +1 -1
- package/dist/src/code/chunk.js +10 -1
- package/dist/src/code/chunk.js.map +1 -1
- package/dist/src/code/command.js +43 -21
- package/dist/src/code/command.js.map +1 -1
- package/dist/src/code/discover.d.ts +5 -1
- package/dist/src/code/discover.js +16 -26
- package/dist/src/code/discover.js.map +1 -1
- package/dist/src/code/index-io.d.ts +19 -0
- package/dist/src/code/index-io.js +98 -0
- package/dist/src/code/index-io.js.map +1 -0
- package/dist/src/code/parsers.d.ts +15 -1
- package/dist/src/code/parsers.js +48 -4
- package/dist/src/code/parsers.js.map +1 -1
- package/dist/src/code/query.js +27 -4
- package/dist/src/code/query.js.map +1 -1
- package/dist/src/code/store.d.ts +9 -1
- package/dist/src/code/store.js +104 -43
- package/dist/src/code/store.js.map +1 -1
- package/dist/src/code/types.d.ts +51 -4
- package/dist/src/code/types.js +19 -2
- package/dist/src/code/types.js.map +1 -1
- package/dist/src/doc/batch.d.ts +2 -0
- package/dist/src/doc/batch.js +2 -0
- package/dist/src/doc/batch.js.map +1 -1
- package/dist/src/doc/command.js +15 -2
- package/dist/src/doc/command.js.map +1 -1
- package/dist/src/doc/discover.d.ts +2 -0
- package/dist/src/doc/discover.js +12 -25
- package/dist/src/doc/discover.js.map +1 -1
- package/dist/src/utils.d.ts +12 -0
- package/dist/src/utils.js +81 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/src/walker.d.ts +1 -0
- package/dist/src/walker.js +15 -5
- package/dist/src/walker.js.map +1 -1
- package/dist/src/workspace/analyze.d.ts +1 -0
- package/dist/src/workspace/analyze.js +1 -0
- package/dist/src/workspace/analyze.js.map +1 -1
- package/dist/src/workspace/command.js +8 -0
- package/dist/src/workspace/command.js.map +1 -1
- package/dist/src/workspace/documents.d.ts +1 -0
- package/dist/src/workspace/documents.js +1 -0
- package/dist/src/workspace/documents.js.map +1 -1
- package/dist/src/workspace/prepare-runner.d.ts +2 -0
- package/dist/src/workspace/prepare-runner.js +18 -43
- package/dist/src/workspace/prepare-runner.js.map +1 -1
- package/dist/src/workspace/prepare-types.d.ts +15 -1
- package/dist/src/workspace/prepare.js +69 -11
- package/dist/src/workspace/prepare.js.map +1 -1
- package/package.json +3 -2
|
@@ -4,71 +4,46 @@
|
|
|
4
4
|
*
|
|
5
5
|
* IPC protocol:
|
|
6
6
|
* Parent → Child: { type: 'start', options: BuildCodebaseOptions }
|
|
7
|
+
* Parent → Child: { type: 'abort' }
|
|
7
8
|
* Child → Parent: { type: 'progress', event: ProgressEvent }
|
|
8
9
|
* Child → Parent: { type: 'complete', resultPath: string }
|
|
10
|
+
* Child → Parent: { type: 'aborted' }
|
|
9
11
|
* Child → Parent: { type: 'error', message: string }
|
|
10
12
|
*/
|
|
11
|
-
import { openSync, writeSync, closeSync } from 'node:fs';
|
|
12
13
|
import { join } from 'node:path';
|
|
13
14
|
import { tmpdir } from 'node:os';
|
|
14
15
|
import { buildCodebaseIndex } from '../code/build.js';
|
|
15
|
-
|
|
16
|
-
* Write a CodebaseIndex to disk element-by-element via file descriptor,
|
|
17
|
-
* avoiding V8's ~512MB string length limit that JSON.stringify() hits
|
|
18
|
-
* on large codebases.
|
|
19
|
-
*/
|
|
20
|
-
function streamIndexToFile(index, filePath) {
|
|
21
|
-
const fd = openSync(filePath, 'w');
|
|
22
|
-
try {
|
|
23
|
-
writeSync(fd, '{"repoRoot":');
|
|
24
|
-
writeSync(fd, JSON.stringify(index.repoRoot));
|
|
25
|
-
writeSync(fd, ',"capabilities":');
|
|
26
|
-
writeSync(fd, JSON.stringify(index.capabilities));
|
|
27
|
-
writeSync(fd, ',"files":[');
|
|
28
|
-
for (let i = 0; i < index.files.length; i++) {
|
|
29
|
-
if (i > 0)
|
|
30
|
-
writeSync(fd, ',');
|
|
31
|
-
writeSync(fd, JSON.stringify(index.files[i]));
|
|
32
|
-
}
|
|
33
|
-
writeSync(fd, '],"nodes":[');
|
|
34
|
-
for (let i = 0; i < index.nodes.length; i++) {
|
|
35
|
-
if (i > 0)
|
|
36
|
-
writeSync(fd, ',');
|
|
37
|
-
writeSync(fd, JSON.stringify(index.nodes[i]));
|
|
38
|
-
}
|
|
39
|
-
writeSync(fd, '],"edges":[');
|
|
40
|
-
for (let i = 0; i < index.edges.length; i++) {
|
|
41
|
-
if (i > 0)
|
|
42
|
-
writeSync(fd, ',');
|
|
43
|
-
writeSync(fd, JSON.stringify(index.edges[i]));
|
|
44
|
-
}
|
|
45
|
-
writeSync(fd, ']}');
|
|
46
|
-
}
|
|
47
|
-
finally {
|
|
48
|
-
closeSync(fd);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
16
|
+
import { writeSectionedCodeIndex } from '../code/index-io.js';
|
|
51
17
|
function send(msg) {
|
|
52
18
|
if (process.send) {
|
|
53
19
|
process.send(msg);
|
|
54
20
|
}
|
|
55
21
|
}
|
|
22
|
+
let abortController;
|
|
56
23
|
process.on('message', async (msg) => {
|
|
24
|
+
if (msg.type === 'abort') {
|
|
25
|
+
abortController?.abort();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
57
28
|
if (msg.type !== 'start')
|
|
58
29
|
return;
|
|
59
30
|
try {
|
|
31
|
+
abortController = new AbortController();
|
|
60
32
|
const index = await buildCodebaseIndex(msg.options, (event) => {
|
|
61
33
|
send({ type: 'progress', event });
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const resultPath = join(tmpdir(), `occ-prepare-${process.pid}-${Date.now()}.json`);
|
|
66
|
-
streamIndexToFile(index, resultPath);
|
|
34
|
+
}, abortController.signal);
|
|
35
|
+
const resultPath = join(tmpdir(), `occ-prepare-${process.pid}-${Date.now()}`);
|
|
36
|
+
await writeSectionedCodeIndex(resultPath, index, {}, abortController.signal);
|
|
67
37
|
send({ type: 'complete', resultPath });
|
|
68
38
|
}
|
|
69
39
|
catch (err) {
|
|
70
40
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
71
|
-
|
|
41
|
+
if (error.name === 'AbortError') {
|
|
42
|
+
send({ type: 'aborted' });
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
send({ type: 'error', message: error.message });
|
|
46
|
+
}
|
|
72
47
|
}
|
|
73
48
|
if (process.connected) {
|
|
74
49
|
process.disconnect?.();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-runner.js","sourceRoot":"","sources":["../../../src/workspace/prepare-runner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"prepare-runner.js","sourceRoot":"","sources":["../../../src/workspace/prepare-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAY9D,SAAS,IAAI,CAAC,GAA6C;IACzD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,eAA4C,CAAC;AAEjD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAgC,EAAE,EAAE;IAC/D,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,eAAe,EAAE,KAAK,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO;IAEjC,IAAI,CAAC;QACH,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC3E,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IACzB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CodebaseIndex } from '../code/types.js';
|
|
1
|
+
import type { CodebaseIndex, ContentMode } from '../code/types.js';
|
|
2
2
|
import type { WorkspaceDocumentSet } from './types.js';
|
|
3
3
|
export interface WorkspacePrepareOptions {
|
|
4
4
|
/** Include code indexing via buildCodebaseIndex. Default: true. */
|
|
@@ -9,6 +9,18 @@ export interface WorkspacePrepareOptions {
|
|
|
9
9
|
excludeDir?: string[];
|
|
10
10
|
/** Disable .gitignore respect. */
|
|
11
11
|
noGitignore?: boolean;
|
|
12
|
+
/** Additional gitignore-style patterns applied after repo .gitignore rules. */
|
|
13
|
+
ignorePatterns?: string[];
|
|
14
|
+
/** Content retention mode for indexed code. */
|
|
15
|
+
contentMode?: ContentMode;
|
|
16
|
+
/** Skip code files larger than this many bytes. */
|
|
17
|
+
maxFileSizeBytes?: number;
|
|
18
|
+
/** Skip code files with more than this many lines. */
|
|
19
|
+
maxLines?: number;
|
|
20
|
+
/** Skip likely minified code files. Default: true. */
|
|
21
|
+
skipMinified?: boolean;
|
|
22
|
+
/** Abort long-running preparation work. */
|
|
23
|
+
signal?: AbortSignal;
|
|
12
24
|
/** Maximum document file size in MB. */
|
|
13
25
|
largeFileLimitMb?: number;
|
|
14
26
|
/** Maximum number of document files to inspect. */
|
|
@@ -32,6 +44,8 @@ export interface WorkspacePreparedContext {
|
|
|
32
44
|
fileCount: number;
|
|
33
45
|
nodeCount: number;
|
|
34
46
|
edgeCount: number;
|
|
47
|
+
contentMode: ContentMode;
|
|
48
|
+
skippedFileCount: number;
|
|
35
49
|
} | null;
|
|
36
50
|
documents: WorkspaceDocumentSet | null;
|
|
37
51
|
elapsedMs: number;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { fork } from 'node:child_process';
|
|
3
|
-
import {
|
|
3
|
+
import { rm } from 'node:fs/promises';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { buildCodebaseIndex } from '../code/build.js';
|
|
6
|
+
import { readSectionedCodeIndex } from '../code/index-io.js';
|
|
6
7
|
import { inspectWorkspaceDocumentSet } from './documents.js';
|
|
8
|
+
import { abortIfNeeded } from '../utils.js';
|
|
7
9
|
function resolveExecutionMode(options) {
|
|
8
10
|
const mode = options.executionMode ?? 'auto';
|
|
9
11
|
if (mode === 'inline')
|
|
@@ -23,17 +25,44 @@ function mapCodeProgress(event, onProgress) {
|
|
|
23
25
|
});
|
|
24
26
|
}
|
|
25
27
|
async function buildCodeInline(rootDir, options, onProgress) {
|
|
28
|
+
abortIfNeeded(options.signal);
|
|
26
29
|
return buildCodebaseIndex({
|
|
27
30
|
repoRoot: rootDir,
|
|
28
31
|
excludeDir: options.excludeDir,
|
|
29
32
|
noGitignore: options.noGitignore,
|
|
30
|
-
|
|
33
|
+
ignorePatterns: options.ignorePatterns,
|
|
34
|
+
contentMode: options.contentMode,
|
|
35
|
+
maxFileSizeBytes: options.maxFileSizeBytes,
|
|
36
|
+
maxLines: options.maxLines,
|
|
37
|
+
skipMinified: options.skipMinified,
|
|
38
|
+
}, onProgress ? (event) => mapCodeProgress(event, onProgress) : undefined, options.signal);
|
|
31
39
|
}
|
|
32
40
|
async function buildCodeSubprocess(rootDir, options, onProgress) {
|
|
33
41
|
const runnerPath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), 'prepare-runner.js');
|
|
42
|
+
abortIfNeeded(options.signal);
|
|
34
43
|
return new Promise((resolve, reject) => {
|
|
35
44
|
let settled = false;
|
|
45
|
+
let abortTimer;
|
|
36
46
|
const child = fork(runnerPath, [], { stdio: ['ignore', 'ignore', 'pipe', 'ipc'] });
|
|
47
|
+
const cleanup = () => {
|
|
48
|
+
if (abortTimer)
|
|
49
|
+
clearTimeout(abortTimer);
|
|
50
|
+
options.signal?.removeEventListener('abort', handleAbort);
|
|
51
|
+
};
|
|
52
|
+
const rejectAbort = () => {
|
|
53
|
+
cleanup();
|
|
54
|
+
reject(new DOMException('The operation was aborted.', 'AbortError'));
|
|
55
|
+
};
|
|
56
|
+
const handleAbort = () => {
|
|
57
|
+
if (settled)
|
|
58
|
+
return;
|
|
59
|
+
child.send({ type: 'abort' });
|
|
60
|
+
abortTimer = setTimeout(() => {
|
|
61
|
+
if (!settled)
|
|
62
|
+
child.kill();
|
|
63
|
+
}, 1000);
|
|
64
|
+
};
|
|
65
|
+
options.signal?.addEventListener('abort', handleAbort, { once: true });
|
|
37
66
|
let stderr = '';
|
|
38
67
|
child.stderr?.on('data', (d) => {
|
|
39
68
|
stderr += d.toString();
|
|
@@ -42,30 +71,44 @@ async function buildCodeSubprocess(rootDir, options, onProgress) {
|
|
|
42
71
|
if (msg.type === 'progress' && msg.event && onProgress) {
|
|
43
72
|
mapCodeProgress(msg.event, onProgress);
|
|
44
73
|
}
|
|
74
|
+
else if (msg.type === 'aborted') {
|
|
75
|
+
settled = true;
|
|
76
|
+
rejectAbort();
|
|
77
|
+
}
|
|
45
78
|
else if (msg.type === 'complete' && msg.resultPath) {
|
|
46
79
|
settled = true;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
80
|
+
void (async () => {
|
|
81
|
+
try {
|
|
82
|
+
const { index } = await readSectionedCodeIndex(msg.resultPath, options.signal);
|
|
83
|
+
await rm(msg.resultPath, { recursive: true, force: true }).catch(() => undefined);
|
|
84
|
+
cleanup();
|
|
85
|
+
resolve(index);
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
cleanup();
|
|
89
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
90
|
+
}
|
|
91
|
+
})();
|
|
56
92
|
}
|
|
57
93
|
else if (msg.type === 'error') {
|
|
58
94
|
settled = true;
|
|
95
|
+
cleanup();
|
|
59
96
|
reject(new Error(msg.message ?? 'Subprocess failed'));
|
|
60
97
|
}
|
|
61
98
|
});
|
|
62
99
|
child.on('error', (err) => {
|
|
63
100
|
settled = true;
|
|
101
|
+
cleanup();
|
|
64
102
|
reject(err);
|
|
65
103
|
});
|
|
66
104
|
child.on('close', (code) => {
|
|
67
105
|
if (settled)
|
|
68
106
|
return;
|
|
107
|
+
cleanup();
|
|
108
|
+
if (options.signal?.aborted) {
|
|
109
|
+
rejectAbort();
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
69
112
|
if (code !== 0) {
|
|
70
113
|
reject(new Error(`Prepare runner exited with code ${code}: ${stderr.trim()}`));
|
|
71
114
|
}
|
|
@@ -79,6 +122,11 @@ async function buildCodeSubprocess(rootDir, options, onProgress) {
|
|
|
79
122
|
repoRoot: rootDir,
|
|
80
123
|
excludeDir: options.excludeDir,
|
|
81
124
|
noGitignore: options.noGitignore,
|
|
125
|
+
ignorePatterns: options.ignorePatterns,
|
|
126
|
+
contentMode: options.contentMode,
|
|
127
|
+
maxFileSizeBytes: options.maxFileSizeBytes,
|
|
128
|
+
maxLines: options.maxLines,
|
|
129
|
+
skipMinified: options.skipMinified,
|
|
82
130
|
},
|
|
83
131
|
});
|
|
84
132
|
});
|
|
@@ -89,11 +137,13 @@ export async function prepareWorkspaceContext(rootDir, options = {}, onProgress)
|
|
|
89
137
|
const errors = [];
|
|
90
138
|
const includeCode = options.includeCode !== false;
|
|
91
139
|
const includeDocuments = options.includeDocuments !== false;
|
|
140
|
+
abortIfNeeded(options.signal);
|
|
92
141
|
onProgress?.({ scope: 'prepare', stage: 'start', completed: 0, total: 1, detail: 'Starting workspace preparation' });
|
|
93
142
|
// Phase 1: Code indexing
|
|
94
143
|
let codeResult = null;
|
|
95
144
|
if (includeCode) {
|
|
96
145
|
try {
|
|
146
|
+
abortIfNeeded(options.signal);
|
|
97
147
|
const mode = resolveExecutionMode(options);
|
|
98
148
|
const buildFn = mode === 'subprocess' ? buildCodeSubprocess : buildCodeInline;
|
|
99
149
|
const index = await buildFn(resolvedRoot, options, onProgress);
|
|
@@ -102,10 +152,14 @@ export async function prepareWorkspaceContext(rootDir, options = {}, onProgress)
|
|
|
102
152
|
fileCount: index.files.length,
|
|
103
153
|
nodeCount: index.nodes.length,
|
|
104
154
|
edgeCount: index.edges.length,
|
|
155
|
+
contentMode: index.contentMode,
|
|
156
|
+
skippedFileCount: index.skippedFiles.length,
|
|
105
157
|
};
|
|
106
158
|
}
|
|
107
159
|
catch (err) {
|
|
108
160
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
161
|
+
if (error.name === 'AbortError')
|
|
162
|
+
throw error;
|
|
109
163
|
errors.push(`Code indexing failed: ${error.message}`);
|
|
110
164
|
}
|
|
111
165
|
}
|
|
@@ -113,9 +167,11 @@ export async function prepareWorkspaceContext(rootDir, options = {}, onProgress)
|
|
|
113
167
|
let documentsResult = null;
|
|
114
168
|
if (includeDocuments) {
|
|
115
169
|
try {
|
|
170
|
+
abortIfNeeded(options.signal);
|
|
116
171
|
const docSet = await inspectWorkspaceDocumentSet(resolvedRoot, {
|
|
117
172
|
excludeDir: options.excludeDir,
|
|
118
173
|
noGitignore: options.noGitignore,
|
|
174
|
+
ignorePatterns: options.ignorePatterns,
|
|
119
175
|
largeFileLimitMb: options.largeFileLimitMb,
|
|
120
176
|
maxFiles: options.maxFiles,
|
|
121
177
|
maxReferenceFiles: options.maxReferenceFiles,
|
|
@@ -136,6 +192,8 @@ export async function prepareWorkspaceContext(rootDir, options = {}, onProgress)
|
|
|
136
192
|
}
|
|
137
193
|
catch (err) {
|
|
138
194
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
195
|
+
if (error.name === 'AbortError')
|
|
196
|
+
throw error;
|
|
139
197
|
errors.push(`Document inspection failed: ${error.message}`);
|
|
140
198
|
}
|
|
141
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/workspace/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/workspace/prepare.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cesarandreslopez/occ",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"description": "Office Cloc and Count — scc-style summary tables for office documents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -275,12 +275,13 @@
|
|
|
275
275
|
"cli-table3": "^0.6.5",
|
|
276
276
|
"commander": "^12.1.0",
|
|
277
277
|
"fast-glob": "^3.3.2",
|
|
278
|
+
"ignore": "^7.0.5",
|
|
278
279
|
"jszip": "^3.10.1",
|
|
279
280
|
"mammoth": "^1.8.0",
|
|
280
281
|
"officeparser": "^6.0.1",
|
|
281
282
|
"pdf-parse": "^1.1.1",
|
|
282
|
-
"typescript": "^5.9.3",
|
|
283
283
|
"turndown": "^7.2.2",
|
|
284
|
+
"typescript": "^5.9.3",
|
|
284
285
|
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
|
|
285
286
|
"zod": "^4.3.6"
|
|
286
287
|
},
|