@cesarandreslopez/occ 0.3.1 → 0.4.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/README.md +130 -4
- package/dist/src/cli.js +8 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/code/build.js +22 -9
- package/dist/src/code/build.js.map +1 -1
- package/dist/src/code/command.js +2 -2
- package/dist/src/code/command.js.map +1 -1
- package/dist/src/code/output.js +12 -3
- package/dist/src/code/output.js.map +1 -1
- package/dist/src/code/parsers.js +52 -10
- package/dist/src/code/parsers.js.map +1 -1
- package/dist/src/code/query.js +82 -22
- package/dist/src/code/query.js.map +1 -1
- package/dist/src/code/types.d.ts +5 -3
- package/dist/src/doc/command.d.ts +2 -0
- package/dist/src/doc/command.js +54 -0
- package/dist/src/doc/command.js.map +1 -0
- package/dist/src/doc/inspect-docx.d.ts +14 -0
- package/dist/src/doc/inspect-docx.js +188 -0
- package/dist/src/doc/inspect-docx.js.map +1 -0
- package/dist/src/doc/inspect-odt.d.ts +8 -0
- package/dist/src/doc/inspect-odt.js +91 -0
- package/dist/src/doc/inspect-odt.js.map +1 -0
- package/dist/src/doc/inspect-pdf.d.ts +8 -0
- package/dist/src/doc/inspect-pdf.js +82 -0
- package/dist/src/doc/inspect-pdf.js.map +1 -0
- package/dist/src/doc/inspect.d.ts +2 -0
- package/dist/src/doc/inspect.js +70 -0
- package/dist/src/doc/inspect.js.map +1 -0
- package/dist/src/doc/output.d.ts +3 -0
- package/dist/src/doc/output.js +82 -0
- package/dist/src/doc/output.js.map +1 -0
- package/dist/src/doc/types.d.ts +59 -0
- package/dist/src/doc/types.js +2 -0
- package/dist/src/doc/types.js.map +1 -0
- package/dist/src/inspect/shared.d.ts +18 -0
- package/dist/src/inspect/shared.js +18 -0
- package/dist/src/inspect/shared.js.map +1 -0
- package/dist/src/parsers/xlsx.js +4 -4
- package/dist/src/parsers/xlsx.js.map +1 -1
- package/dist/src/sheet/command.d.ts +2 -0
- package/dist/src/sheet/command.js +70 -0
- package/dist/src/sheet/command.js.map +1 -0
- package/dist/src/sheet/inspect.d.ts +7 -0
- package/dist/src/sheet/inspect.js +454 -0
- package/dist/src/sheet/inspect.js.map +1 -0
- package/dist/src/sheet/output.d.ts +3 -0
- package/dist/src/sheet/output.js +158 -0
- package/dist/src/sheet/output.js.map +1 -0
- package/dist/src/sheet/types.d.ts +117 -0
- package/dist/src/sheet/types.js +2 -0
- package/dist/src/sheet/types.js.map +1 -0
- package/dist/src/slide/command.d.ts +2 -0
- package/dist/src/slide/command.js +54 -0
- package/dist/src/slide/command.js.map +1 -0
- package/dist/src/slide/inspect-odp.d.ts +7 -0
- package/dist/src/slide/inspect-odp.js +105 -0
- package/dist/src/slide/inspect-odp.js.map +1 -0
- package/dist/src/slide/inspect-pptx.d.ts +11 -0
- package/dist/src/slide/inspect-pptx.js +157 -0
- package/dist/src/slide/inspect-pptx.js.map +1 -0
- package/dist/src/slide/inspect.d.ts +2 -0
- package/dist/src/slide/inspect.js +76 -0
- package/dist/src/slide/inspect.js.map +1 -0
- package/dist/src/slide/output.d.ts +3 -0
- package/dist/src/slide/output.js +92 -0
- package/dist/src/slide/output.js.map +1 -0
- package/dist/src/slide/types.d.ts +59 -0
- package/dist/src/slide/types.js +2 -0
- package/dist/src/slide/types.js.map +1 -0
- package/dist/src/table/command.d.ts +2 -0
- package/dist/src/table/command.js +68 -0
- package/dist/src/table/command.js.map +1 -0
- package/dist/src/table/inspect-docx.d.ts +2 -0
- package/dist/src/table/inspect-docx.js +108 -0
- package/dist/src/table/inspect-docx.js.map +1 -0
- package/dist/src/table/inspect-odp.d.ts +2 -0
- package/dist/src/table/inspect-odp.js +106 -0
- package/dist/src/table/inspect-odp.js.map +1 -0
- package/dist/src/table/inspect-odt.d.ts +2 -0
- package/dist/src/table/inspect-odt.js +100 -0
- package/dist/src/table/inspect-odt.js.map +1 -0
- package/dist/src/table/inspect-pptx.d.ts +2 -0
- package/dist/src/table/inspect-pptx.js +112 -0
- package/dist/src/table/inspect-pptx.js.map +1 -0
- package/dist/src/table/inspect-xlsx.d.ts +2 -0
- package/dist/src/table/inspect-xlsx.js +161 -0
- package/dist/src/table/inspect-xlsx.js.map +1 -0
- package/dist/src/table/inspect.d.ts +2 -0
- package/dist/src/table/inspect.js +63 -0
- package/dist/src/table/inspect.js.map +1 -0
- package/dist/src/table/output.d.ts +3 -0
- package/dist/src/table/output.js +93 -0
- package/dist/src/table/output.js.map +1 -0
- package/dist/src/table/types.d.ts +38 -0
- package/dist/src/table/types.js +2 -0
- package/dist/src/table/types.js.map +1 -0
- package/package.json +1 -1
package/dist/src/code/parsers.js
CHANGED
|
@@ -132,16 +132,15 @@ function parseTypescriptFile(filePath, content, context) {
|
|
|
132
132
|
});
|
|
133
133
|
if (node.heritageClauses) {
|
|
134
134
|
for (const clause of node.heritageClauses) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
135
|
+
for (const typeNode of clause.types) {
|
|
136
|
+
const expressionText = typeNode.expression.getText(sourceFile);
|
|
137
|
+
inheritances.push({
|
|
138
|
+
className: name,
|
|
139
|
+
classLine: lineOf(sourceFile, node),
|
|
140
|
+
baseName: expressionText.split('.').at(-1) ?? expressionText,
|
|
141
|
+
line: lineOf(sourceFile, typeNode),
|
|
142
|
+
kind: clause.token === ts.SyntaxKind.ImplementsKeyword ? 'implements' : 'extends',
|
|
143
|
+
});
|
|
145
144
|
}
|
|
146
145
|
}
|
|
147
146
|
}
|
|
@@ -150,6 +149,49 @@ function parseTypescriptFile(filePath, content, context) {
|
|
|
150
149
|
stack.pop();
|
|
151
150
|
return;
|
|
152
151
|
}
|
|
152
|
+
else if (ts.isInterfaceDeclaration(node)) {
|
|
153
|
+
const name = node.name.text;
|
|
154
|
+
pushUniqueSymbol(symbols, {
|
|
155
|
+
type: 'interface',
|
|
156
|
+
name,
|
|
157
|
+
line: lineOf(sourceFile, node),
|
|
158
|
+
exported: hasExportModifier(node),
|
|
159
|
+
});
|
|
160
|
+
if (node.heritageClauses) {
|
|
161
|
+
for (const clause of node.heritageClauses) {
|
|
162
|
+
for (const typeNode of clause.types) {
|
|
163
|
+
const expressionText = typeNode.expression.getText(sourceFile);
|
|
164
|
+
inheritances.push({
|
|
165
|
+
className: name,
|
|
166
|
+
classLine: lineOf(sourceFile, node),
|
|
167
|
+
baseName: expressionText.split('.').at(-1) ?? expressionText,
|
|
168
|
+
line: lineOf(sourceFile, typeNode),
|
|
169
|
+
kind: 'extends',
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
ts.forEachChild(node, visit);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
else if (ts.isTypeAliasDeclaration(node)) {
|
|
178
|
+
pushUniqueSymbol(symbols, {
|
|
179
|
+
type: 'type-alias',
|
|
180
|
+
name: node.name.text,
|
|
181
|
+
line: lineOf(sourceFile, node),
|
|
182
|
+
exported: hasExportModifier(node),
|
|
183
|
+
});
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
else if (ts.isEnumDeclaration(node)) {
|
|
187
|
+
pushUniqueSymbol(symbols, {
|
|
188
|
+
type: 'enum',
|
|
189
|
+
name: node.name.text,
|
|
190
|
+
line: lineOf(sourceFile, node),
|
|
191
|
+
exported: hasExportModifier(node),
|
|
192
|
+
});
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
153
195
|
else if (ts.isVariableStatement(node)) {
|
|
154
196
|
const exported = hasExportModifier(node);
|
|
155
197
|
for (const declaration of node.declarationList.declarations) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/code/parsers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/code/parsers.ts"],"names":[],"mappings":"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"}
|
package/dist/src/code/query.js
CHANGED
|
@@ -89,12 +89,22 @@ function resolveFunctionNodes(index, name, file) {
|
|
|
89
89
|
.filter(node => matchesFile(node, fileFilter))
|
|
90
90
|
.sort(compareNodes);
|
|
91
91
|
}
|
|
92
|
+
const CLASS_LIKE_TYPES = new Set(['class', 'interface', 'enum']);
|
|
92
93
|
function resolveClassNodes(index, name, file) {
|
|
93
94
|
const fileFilter = resolveFileFilter(index.repoRoot, file);
|
|
94
|
-
|
|
95
|
-
.filter(node => node.type
|
|
95
|
+
const matches = index.nodes
|
|
96
|
+
.filter(node => CLASS_LIKE_TYPES.has(node.type) && node.name === name)
|
|
96
97
|
.filter(node => matchesFile(node, fileFilter))
|
|
97
98
|
.sort(compareNodes);
|
|
99
|
+
if (fileFilter)
|
|
100
|
+
return matches;
|
|
101
|
+
const classes = matches.filter(node => node.type === 'class');
|
|
102
|
+
if (classes.length > 0)
|
|
103
|
+
return classes;
|
|
104
|
+
const interfaces = matches.filter(node => node.type === 'interface');
|
|
105
|
+
if (interfaces.length > 0)
|
|
106
|
+
return interfaces;
|
|
107
|
+
return matches;
|
|
98
108
|
}
|
|
99
109
|
export function analyzeCalls(index, functionName, file) {
|
|
100
110
|
const byId = nodeById(index);
|
|
@@ -118,10 +128,8 @@ export function analyzeCallers(index, functionName, file) {
|
|
|
118
128
|
}
|
|
119
129
|
return matches.sort((a, b) => (a.from.path !== b.from.path ? a.from.path.localeCompare(b.from.path) : (a.from.line ?? 0) - (b.from.line ?? 0)));
|
|
120
130
|
}
|
|
121
|
-
|
|
131
|
+
function searchCallChain(index, starts, targetIds, depth) {
|
|
122
132
|
const byId = nodeById(index);
|
|
123
|
-
const starts = resolveFunctionNodes(index, fromName, fromFile);
|
|
124
|
-
const targets = new Set(resolveFunctionNodes(index, toName, toFile).map(node => node.id));
|
|
125
133
|
const chains = [];
|
|
126
134
|
const blocked = new Map();
|
|
127
135
|
for (const start of starts) {
|
|
@@ -156,7 +164,7 @@ export function analyzeCallChain(index, fromName, toName, depth = 5, fromFile, t
|
|
|
156
164
|
continue;
|
|
157
165
|
const nextNodes = [...current.pathNodes, next];
|
|
158
166
|
const nextEdges = [...current.pathEdges, edge];
|
|
159
|
-
if (
|
|
167
|
+
if (targetIds.has(next.id)) {
|
|
160
168
|
chains.push({ nodes: nextNodes, edges: nextEdges, status: 'resolved' });
|
|
161
169
|
continue;
|
|
162
170
|
}
|
|
@@ -164,9 +172,28 @@ export function analyzeCallChain(index, fromName, toName, depth = 5, fromFile, t
|
|
|
164
172
|
}
|
|
165
173
|
}
|
|
166
174
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
175
|
+
return {
|
|
176
|
+
chains: chains.sort((a, b) => a.edges.length - b.edges.length),
|
|
177
|
+
blocked: [...blocked.values()].sort((a, b) => a.nodes.length - b.nodes.length),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function markDirection(chains, direction) {
|
|
181
|
+
return chains.map(chain => ({ ...chain, direction }));
|
|
182
|
+
}
|
|
183
|
+
export function analyzeCallChain(index, fromName, toName, depth = 5, fromFile, toFile) {
|
|
184
|
+
const fromNodes = resolveFunctionNodes(index, fromName, fromFile);
|
|
185
|
+
const toNodes = resolveFunctionNodes(index, toName, toFile);
|
|
186
|
+
const fromIds = new Set(fromNodes.map(node => node.id));
|
|
187
|
+
const toIds = new Set(toNodes.map(node => node.id));
|
|
188
|
+
const forward = searchCallChain(index, fromNodes, toIds, depth);
|
|
189
|
+
if (forward.chains.length > 0) {
|
|
190
|
+
return [...markDirection(forward.chains, 'forward'), ...markDirection(forward.blocked, 'forward')].slice(0, 20);
|
|
191
|
+
}
|
|
192
|
+
const reverse = searchCallChain(index, toNodes, fromIds, depth);
|
|
193
|
+
if (reverse.chains.length > 0) {
|
|
194
|
+
return markDirection(reverse.chains, 'reverse').slice(0, 20);
|
|
195
|
+
}
|
|
196
|
+
return markDirection(forward.blocked, 'forward').slice(0, 20);
|
|
170
197
|
}
|
|
171
198
|
export function analyzeDeps(index, target) {
|
|
172
199
|
const byId = nodeById(index);
|
|
@@ -179,6 +206,15 @@ export function analyzeDeps(index, target) {
|
|
|
179
206
|
targetPaths.add(localFile.path);
|
|
180
207
|
for (const node of moduleCandidates)
|
|
181
208
|
targetPaths.add(node.path);
|
|
209
|
+
const isDirectory = !localFile && targetPaths.size === 0;
|
|
210
|
+
const dirPrefix = isDirectory ? (normalizedTarget.endsWith('/') ? normalizedTarget : `${normalizedTarget}/`) : undefined;
|
|
211
|
+
if (isDirectory) {
|
|
212
|
+
for (const node of index.nodes) {
|
|
213
|
+
if (node.type === 'file' && node.relativePath?.startsWith(dirPrefix)) {
|
|
214
|
+
targetPaths.add(node.path);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
182
218
|
const importers = [];
|
|
183
219
|
const localImports = [];
|
|
184
220
|
const externalImports = [];
|
|
@@ -186,20 +222,41 @@ export function analyzeDeps(index, target) {
|
|
|
186
222
|
for (const edge of index.edges.filter(edge => edge.type === 'imports')) {
|
|
187
223
|
const from = byId.get(edge.from);
|
|
188
224
|
const to = edge.to ? byId.get(edge.to) : undefined;
|
|
189
|
-
|
|
190
|
-
|
|
225
|
+
const fromInside = from != null && targetPaths.has(from.path);
|
|
226
|
+
const toInside = to != null && targetPaths.has(to.path);
|
|
227
|
+
if (isDirectory) {
|
|
228
|
+
if (!fromInside && toInside && from) {
|
|
191
229
|
importers.push({ from, edge, to });
|
|
192
|
-
}
|
|
193
|
-
if (from && localFile && from.path === localFile.path) {
|
|
194
|
-
const match = { from, edge, to };
|
|
195
|
-
if (edge.importKind === 'local') {
|
|
196
|
-
localImports.push(match);
|
|
197
230
|
}
|
|
198
|
-
|
|
199
|
-
|
|
231
|
+
if (fromInside) {
|
|
232
|
+
const match = { from: from, edge, to };
|
|
233
|
+
if (edge.importKind === 'external') {
|
|
234
|
+
externalImports.push(match);
|
|
235
|
+
}
|
|
236
|
+
else if (edge.importKind === 'local' && !toInside) {
|
|
237
|
+
localImports.push(match);
|
|
238
|
+
}
|
|
239
|
+
else if (edge.status === 'unresolved') {
|
|
240
|
+
unresolvedImports.push(match);
|
|
241
|
+
}
|
|
200
242
|
}
|
|
201
|
-
|
|
202
|
-
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
if (to && (to.name === target || targetPaths.has(to.path))) {
|
|
246
|
+
if (from)
|
|
247
|
+
importers.push({ from, edge, to });
|
|
248
|
+
}
|
|
249
|
+
if (from && localFile && from.path === localFile.path) {
|
|
250
|
+
const match = { from, edge, to };
|
|
251
|
+
if (edge.importKind === 'local') {
|
|
252
|
+
localImports.push(match);
|
|
253
|
+
}
|
|
254
|
+
else if (edge.importKind === 'external') {
|
|
255
|
+
externalImports.push(match);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
unresolvedImports.push(match);
|
|
259
|
+
}
|
|
203
260
|
}
|
|
204
261
|
}
|
|
205
262
|
}
|
|
@@ -217,9 +274,12 @@ export function analyzeTree(index, className, file) {
|
|
|
217
274
|
const target = resolveClassNodes(index, className, file)[0];
|
|
218
275
|
if (!target)
|
|
219
276
|
return null;
|
|
220
|
-
const parents =
|
|
277
|
+
const parents = [
|
|
278
|
+
...outgoingEdges(index, 'inherits', target.id),
|
|
279
|
+
...outgoingEdges(index, 'implements', target.id),
|
|
280
|
+
].map(edge => ({ from: target, edge, to: edge.to ? byId.get(edge.to) : undefined }));
|
|
221
281
|
const children = [];
|
|
222
|
-
for (const edge of incomingEdges(index, 'inherits', target.id)) {
|
|
282
|
+
for (const edge of [...incomingEdges(index, 'inherits', target.id), ...incomingEdges(index, 'implements', target.id)]) {
|
|
223
283
|
const from = byId.get(edge.from);
|
|
224
284
|
if (from)
|
|
225
285
|
children.push({ from, edge, to: target });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/code/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/code/query.ts"],"names":[],"mappings":"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"}
|
package/dist/src/code/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type CodeNodeType = 'file' | 'module' | 'function' | 'class' | 'variable' | 'parameter';
|
|
2
|
-
export type CodeEdgeType = 'contains' | 'imports' | 'calls' | 'inherits' | 'has_parameter';
|
|
1
|
+
export type CodeNodeType = 'file' | 'module' | 'function' | 'class' | 'interface' | 'type-alias' | 'enum' | 'variable' | 'parameter';
|
|
2
|
+
export type CodeEdgeType = 'contains' | 'imports' | 'calls' | 'inherits' | 'implements' | 'has_parameter';
|
|
3
3
|
export type ResolutionStatus = 'resolved' | 'ambiguous' | 'unresolved';
|
|
4
4
|
export type ImportKind = 'local' | 'external' | 'unresolved';
|
|
5
5
|
export interface CodeCapabilities {
|
|
@@ -23,7 +23,7 @@ export interface ParsedImport {
|
|
|
23
23
|
resolvedPath?: string;
|
|
24
24
|
}
|
|
25
25
|
export interface ParsedSymbol {
|
|
26
|
-
type: Extract<CodeNodeType, 'function' | 'class' | 'variable'>;
|
|
26
|
+
type: Extract<CodeNodeType, 'function' | 'class' | 'interface' | 'type-alias' | 'enum' | 'variable'>;
|
|
27
27
|
name: string;
|
|
28
28
|
line: number;
|
|
29
29
|
containerName?: string;
|
|
@@ -43,6 +43,7 @@ export interface ParsedInheritance {
|
|
|
43
43
|
classLine: number;
|
|
44
44
|
baseName: string;
|
|
45
45
|
line: number;
|
|
46
|
+
kind?: 'extends' | 'implements';
|
|
46
47
|
}
|
|
47
48
|
export interface ParsedFile {
|
|
48
49
|
path: string;
|
|
@@ -129,6 +130,7 @@ export interface ClassTreeAnalysis {
|
|
|
129
130
|
export interface CallChain {
|
|
130
131
|
nodes: CodeNode[];
|
|
131
132
|
edges: CodeEdge[];
|
|
133
|
+
direction?: 'forward' | 'reverse';
|
|
132
134
|
status?: 'resolved' | 'blocked_ambiguous';
|
|
133
135
|
blockedAt?: CodeNode;
|
|
134
136
|
blockedBy?: CodeEdge;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { writeFile } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { inspectDocument } from './inspect.js';
|
|
4
|
+
import { formatDocInspection, formatDocPayloadJson } from './output.js';
|
|
5
|
+
import { createInspectPayload } from '../inspect/shared.js';
|
|
6
|
+
import { writeStream } from '../utils.js';
|
|
7
|
+
function getOptions(command) {
|
|
8
|
+
return command.optsWithGlobals();
|
|
9
|
+
}
|
|
10
|
+
function parsePositiveInt(value, fallback, label) {
|
|
11
|
+
if (!value)
|
|
12
|
+
return fallback;
|
|
13
|
+
const parsed = Number.parseInt(value, 10);
|
|
14
|
+
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
15
|
+
throw new Error(`Invalid ${label}: "${value}"`);
|
|
16
|
+
}
|
|
17
|
+
return parsed;
|
|
18
|
+
}
|
|
19
|
+
async function emit(output, options) {
|
|
20
|
+
if (options.output) {
|
|
21
|
+
await writeFile(options.output, output);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
await writeStream(process.stdout, output);
|
|
25
|
+
}
|
|
26
|
+
export function registerDocCommands(program) {
|
|
27
|
+
const doc = program.command('doc').description('Inspect document structure and content before deep reading');
|
|
28
|
+
const inspect = doc.command('inspect <file>').description('Inspect DOCX, PDF, or ODT document metadata, structure, and content preview');
|
|
29
|
+
inspect
|
|
30
|
+
.option('--format <type>', 'output format: tabular or json', 'tabular')
|
|
31
|
+
.option('-o, --output <file>', 'write output to file')
|
|
32
|
+
.option('--ci', 'ASCII-only output, no colors')
|
|
33
|
+
.option('--sample-paragraphs <n>', 'preview paragraph count', '5')
|
|
34
|
+
.option('--no-structure', 'skip heading tree extraction');
|
|
35
|
+
inspect.action(async (file, _options, command) => {
|
|
36
|
+
const options = getOptions(command);
|
|
37
|
+
const resolved = path.resolve(file);
|
|
38
|
+
const inspectOptions = {
|
|
39
|
+
sampleParagraphs: parsePositiveInt(options.sampleParagraphs, 5, 'sample paragraph count'),
|
|
40
|
+
includeStructure: options.structure !== false,
|
|
41
|
+
};
|
|
42
|
+
const result = await inspectDocument(resolved, inspectOptions);
|
|
43
|
+
const payload = createInspectPayload(resolved, {
|
|
44
|
+
command: 'doc.inspect',
|
|
45
|
+
sampleParagraphs: inspectOptions.sampleParagraphs,
|
|
46
|
+
includeStructure: inspectOptions.includeStructure,
|
|
47
|
+
}, result);
|
|
48
|
+
const output = options.format === 'json'
|
|
49
|
+
? formatDocPayloadJson(payload)
|
|
50
|
+
: formatDocInspection(result, options.ci);
|
|
51
|
+
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/doc/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import type { DocumentProperties } from '../inspect/shared.js';
|
|
3
|
+
import type { DocRiskFlags, DocContentStats, ContentPreview } from './types.js';
|
|
4
|
+
export declare function extractDocxProperties(zip: JSZip): Promise<DocumentProperties>;
|
|
5
|
+
export declare function extractDocxRiskFlags(zip: JSZip): Promise<DocRiskFlags>;
|
|
6
|
+
export declare function extractDocxContentStats(filePath: string, zip: JSZip): Promise<DocContentStats>;
|
|
7
|
+
export declare function extractDocxPreview(filePath: string, sampleParagraphs: number): Promise<ContentPreview>;
|
|
8
|
+
export declare function buildPreviewFromMarkdown(markdown: string, sampleParagraphs: number): ContentPreview;
|
|
9
|
+
export declare function inspectDocx(filePath: string, buffer: Buffer, sampleParagraphs: number): Promise<{
|
|
10
|
+
properties: DocumentProperties;
|
|
11
|
+
riskFlags: DocRiskFlags;
|
|
12
|
+
contentStats: DocContentStats;
|
|
13
|
+
preview: ContentPreview;
|
|
14
|
+
}>;
|