@cesarandreslopez/occ 0.8.11 → 0.9.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 +167 -77
- package/dist/src/cli-validation.js +3 -11
- package/dist/src/cli-validation.js.map +1 -1
- package/dist/src/cli.js +23 -11
- package/dist/src/cli.js.map +1 -1
- package/dist/src/code/build.js +28 -22
- package/dist/src/code/build.js.map +1 -1
- package/dist/src/code/cache.js +3 -1
- package/dist/src/code/cache.js.map +1 -1
- package/dist/src/code/chunk.js +4 -4
- package/dist/src/code/chunk.js.map +1 -1
- package/dist/src/code/command.js +147 -37
- package/dist/src/code/command.js.map +1 -1
- package/dist/src/code/diff.d.ts +264 -0
- package/dist/src/code/diff.js +504 -0
- package/dist/src/code/diff.js.map +1 -0
- package/dist/src/code/discover.js +5 -5
- package/dist/src/code/discover.js.map +1 -1
- package/dist/src/code/focus.js +5 -5
- package/dist/src/code/focus.js.map +1 -1
- package/dist/src/code/incremental.js +11 -9
- package/dist/src/code/incremental.js.map +1 -1
- package/dist/src/code/index-io.js.map +1 -1
- package/dist/src/code/isolated-runner.js.map +1 -1
- package/dist/src/code/isolated.js +2 -2
- package/dist/src/code/isolated.js.map +1 -1
- package/dist/src/code/languages.js +2 -2
- package/dist/src/code/languages.js.map +1 -1
- package/dist/src/code/map.d.ts +12 -0
- package/dist/src/code/map.js +22 -9
- package/dist/src/code/map.js.map +1 -1
- package/dist/src/code/output.d.ts +3 -0
- package/dist/src/code/output.js +39 -22
- package/dist/src/code/output.js.map +1 -1
- package/dist/src/code/parsers.js +87 -26
- package/dist/src/code/parsers.js.map +1 -1
- package/dist/src/code/query.js +44 -38
- package/dist/src/code/query.js.map +1 -1
- package/dist/src/code/rank.js +30 -17
- package/dist/src/code/rank.js.map +1 -1
- package/dist/src/code/session.js.map +1 -1
- package/dist/src/code/slim.js.map +1 -1
- package/dist/src/code/store.js +35 -23
- package/dist/src/code/store.js.map +1 -1
- package/dist/src/code/types.js +15 -3
- package/dist/src/code/types.js.map +1 -1
- package/dist/src/doc/batch.js +6 -2
- package/dist/src/doc/batch.js.map +1 -1
- package/dist/src/doc/chunk.js +9 -5
- package/dist/src/doc/chunk.js.map +1 -1
- package/dist/src/doc/command.js +18 -9
- package/dist/src/doc/command.js.map +1 -1
- package/dist/src/doc/discover.d.ts +1 -1
- package/dist/src/doc/discover.js.map +1 -1
- package/dist/src/doc/entities.js +90 -10
- package/dist/src/doc/entities.js.map +1 -1
- package/dist/src/doc/inspect-docx.js +5 -4
- package/dist/src/doc/inspect-docx.js.map +1 -1
- package/dist/src/doc/inspect-odt.js.map +1 -1
- package/dist/src/doc/inspect-pdf.js +1 -1
- package/dist/src/doc/inspect-pdf.js.map +1 -1
- package/dist/src/doc/inspect.js +4 -4
- package/dist/src/doc/inspect.js.map +1 -1
- package/dist/src/doc/output.js +11 -8
- package/dist/src/doc/output.js.map +1 -1
- package/dist/src/doc/references.js +4 -4
- package/dist/src/doc/references.js.map +1 -1
- package/dist/src/errors.js +2 -4
- package/dist/src/errors.js.map +1 -1
- package/dist/src/git/api.d.ts +34 -0
- package/dist/src/git/api.js +247 -0
- package/dist/src/git/api.js.map +1 -0
- package/dist/src/git/client.d.ts +48 -0
- package/dist/src/git/client.js +336 -0
- package/dist/src/git/client.js.map +1 -0
- package/dist/src/git/command.d.ts +2 -0
- package/dist/src/git/command.js +173 -0
- package/dist/src/git/command.js.map +1 -0
- package/dist/src/git/index.d.ts +5 -0
- package/dist/src/git/index.js +6 -0
- package/dist/src/git/index.js.map +1 -0
- package/dist/src/git/output.d.ts +8 -0
- package/dist/src/git/output.js +38 -0
- package/dist/src/git/output.js.map +1 -0
- package/dist/src/git/parse.d.ts +19 -0
- package/dist/src/git/parse.js +354 -0
- package/dist/src/git/parse.js.map +1 -0
- package/dist/src/git/types.d.ts +334 -0
- package/dist/src/git/types.js +135 -0
- package/dist/src/git/types.js.map +1 -0
- package/dist/src/index.d.ts +29 -7
- package/dist/src/index.js +20 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/inspect/shared.js.map +1 -1
- package/dist/src/markdown/convert.js +17 -11
- package/dist/src/markdown/convert.js.map +1 -1
- package/dist/src/output/tabular.js +25 -17
- package/dist/src/output/tabular.js.map +1 -1
- package/dist/src/output/tree.js +7 -7
- package/dist/src/output/tree.js.map +1 -1
- package/dist/src/parsers/docx.js +1 -1
- package/dist/src/parsers/docx.js.map +1 -1
- package/dist/src/parsers/index.js +9 -7
- package/dist/src/parsers/index.js.map +1 -1
- package/dist/src/parsers/pdf.js +1 -1
- package/dist/src/parsers/pdf.js.map +1 -1
- package/dist/src/parsers/pptx.js.map +1 -1
- package/dist/src/parsers/xlsx.js +5 -3
- package/dist/src/parsers/xlsx.js.map +1 -1
- package/dist/src/progress-event.d.ts +1 -1
- package/dist/src/progress-event.js +1 -0
- package/dist/src/progress-event.js.map +1 -1
- package/dist/src/scc.js +9 -5
- package/dist/src/scc.js.map +1 -1
- package/dist/src/sheet/command.js +11 -7
- package/dist/src/sheet/command.js.map +1 -1
- package/dist/src/sheet/inspect.js +14 -14
- package/dist/src/sheet/inspect.js.map +1 -1
- package/dist/src/sheet/output.js +10 -15
- package/dist/src/sheet/output.js.map +1 -1
- package/dist/src/skills/command.d.ts +2 -0
- package/dist/src/skills/command.js +188 -0
- package/dist/src/skills/command.js.map +1 -0
- package/dist/src/slide/command.js +8 -6
- package/dist/src/slide/command.js.map +1 -1
- package/dist/src/slide/inspect-odp.js.map +1 -1
- package/dist/src/slide/inspect-pptx.js +5 -2
- package/dist/src/slide/inspect-pptx.js.map +1 -1
- package/dist/src/slide/inspect.js +4 -2
- package/dist/src/slide/inspect.js.map +1 -1
- package/dist/src/slide/output.js +10 -15
- package/dist/src/slide/output.js.map +1 -1
- package/dist/src/slide/types.js.map +1 -1
- package/dist/src/stats.js +31 -3
- package/dist/src/stats.js.map +1 -1
- package/dist/src/table/command.js +8 -6
- package/dist/src/table/command.js.map +1 -1
- package/dist/src/table/inspect-docx.js +1 -1
- package/dist/src/table/inspect-docx.js.map +1 -1
- package/dist/src/table/inspect-odt.js.map +1 -1
- package/dist/src/table/inspect-pptx.js +5 -2
- package/dist/src/table/inspect-pptx.js.map +1 -1
- package/dist/src/table/inspect-xlsx.js +1 -1
- package/dist/src/table/inspect-xlsx.js.map +1 -1
- package/dist/src/table/inspect.js +3 -1
- package/dist/src/table/inspect.js.map +1 -1
- package/dist/src/table/output.js +7 -11
- package/dist/src/table/output.js.map +1 -1
- package/dist/src/table/types.js.map +1 -1
- package/dist/src/tokens.js +1 -1
- package/dist/src/tokens.js.map +1 -1
- package/dist/src/utils.js +6 -11
- package/dist/src/utils.js.map +1 -1
- package/dist/src/walker.js +2 -4
- package/dist/src/walker.js.map +1 -1
- package/dist/src/workspace/analyze.js +4 -4
- package/dist/src/workspace/analyze.js.map +1 -1
- package/dist/src/workspace/bundle.d.ts +27 -0
- package/dist/src/workspace/bundle.js +157 -54
- package/dist/src/workspace/bundle.js.map +1 -1
- package/dist/src/workspace/command.js +31 -16
- package/dist/src/workspace/command.js.map +1 -1
- package/dist/src/workspace/describe-output.js +10 -9
- package/dist/src/workspace/describe-output.js.map +1 -1
- package/dist/src/workspace/describe.js +54 -47
- package/dist/src/workspace/describe.js.map +1 -1
- package/dist/src/workspace/documents.js +28 -8
- package/dist/src/workspace/documents.js.map +1 -1
- package/dist/src/workspace/prepare-runner.js.map +1 -1
- package/dist/src/workspace/prepare-types.js.map +1 -1
- package/dist/src/workspace/prepare.js +38 -19
- package/dist/src/workspace/prepare.js.map +1 -1
- package/dist/src/workspace/types.js +4 -2
- package/dist/src/workspace/types.js.map +1 -1
- package/package.json +57 -4
- package/scripts/postinstall.js +13 -9
- package/skills/occ/SKILL.md +77 -0
- package/skills/occ/reference/code.md +69 -0
- package/skills/occ/reference/commands.md +66 -0
- package/skills/occ/reference/documents.md +65 -0
- package/skills/occ/reference/git.md +55 -0
- package/skills/occ/reference/workspace.md +65 -0
package/README.md
CHANGED
|
@@ -26,6 +26,38 @@ OCC started as a way to make office documents visible in the same workflows that
|
|
|
26
26
|
- quickly describe whether a directory is a code, office, documentation, data, or mixed project (`occ describe`, `occ workspace describe`)
|
|
27
27
|
- summarize code metrics through `scc`
|
|
28
28
|
- explore JavaScript, TypeScript, Vue Single-File Components, and Python repositories with symbol search, call analysis, dependency inspection, and inheritance queries (`occ code`)
|
|
29
|
+
- track git changes, diffs, commit history, and churn — and map a diff to the code symbols it touches (`occ git`, `occ code diff`, `occ code history`)
|
|
30
|
+
|
|
31
|
+
## Agent Skills
|
|
32
|
+
|
|
33
|
+
OCC ships an **Agent Skill** so AI coding agents can automatically learn how to use the CLI. It uses the open `SKILL.md` format read by **Claude Code**, **OpenAI Codex**, and other agents — a single umbrella `occ` skill with a decision/router table covering workspace reconnaissance, office-document and table triage, and code exploration, plus on-demand reference files for deeper detail. Humans can read the same files as concise CLI recipes.
|
|
34
|
+
|
|
35
|
+
The skill ships inside the package (`node_modules/@cesarandreslopez/occ/skills/`). Install it explicitly into your agent(s):
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Install for all supported agents into your user skills dir
|
|
39
|
+
occ skills install # ~/.claude/skills/occ and ~/.codex/skills/occ
|
|
40
|
+
|
|
41
|
+
# Project-local install (per-repo, checked in if you like)
|
|
42
|
+
occ skills install --project # ./.claude/skills/occ
|
|
43
|
+
|
|
44
|
+
# Pick one agent, force overwrite, or symlink for live updates
|
|
45
|
+
occ skills install --agent claude --force
|
|
46
|
+
occ skills install --link
|
|
47
|
+
|
|
48
|
+
# Inspect what's bundled
|
|
49
|
+
occ skills list
|
|
50
|
+
occ skills path
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Claude Code users can also install it as a plugin straight from git:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
/plugin marketplace add cesarandreslopez/occ
|
|
57
|
+
/plugin install occ@occ
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
After install the skill lands at `<skills-dir>/occ/SKILL.md` and your agent surfaces it automatically when a task involves exploring a repository or office documents.
|
|
29
61
|
|
|
30
62
|
## Features
|
|
31
63
|
|
|
@@ -40,10 +72,12 @@ OCC started as a way to make office documents visible in the same workflows that
|
|
|
40
72
|
- **Code exploration via `occ code`** — JS/TS, Vue SFC, and Python-first symbol lookup, content search, callers/callees, dependency categories, inheritance, module coupling, and ambiguity-aware chains
|
|
41
73
|
- **Repository map / pack via `occ code map` / `occ code pack`** — token-budgeted, PageRank-ranked repo map (top symbol signatures per file) or content pack, with a pluggable heuristic or BPE (`o200k_base` / `cl100k_base`) tokenizer for exact budgets, and opt-in query/path focus (`--query`, `--focus-path`, `--focus-depth`) to bias the map toward a specific task
|
|
42
74
|
- **Workspace analysis via `occ workspace`** — fast directory description plus combined code, document, and structure analysis with versioned JSON contracts, per-document summaries, and cross-reference detection
|
|
75
|
+
- **Git context via `occ git`** — changed files, diff summaries and token-bounded patches, commit/file history, and churn hotspots over a typed, shell-injection-safe git client; plus git-aware code (`occ code diff`, `occ code history`, `occ code map --changed-from`) that maps a diff to the code symbols it touches
|
|
43
76
|
- **Multiple output modes** — grouped by type, per-file breakdown, or JSON
|
|
44
77
|
- **CI-friendly** — ASCII-only, no-color mode for pipelines
|
|
45
78
|
- **Flexible filtering** — include/exclude extensions, exclude directories, .gitignore-aware
|
|
46
79
|
- **Progress bar** — with ETA for large scans
|
|
80
|
+
- **Agent Skills** — ships a universal `SKILL.md` skill (Claude Code + OpenAI Codex) installable via `occ skills install`
|
|
47
81
|
- **Zero config** — auto-downloads scc binary on install, works out of the box
|
|
48
82
|
|
|
49
83
|
## Quick Start
|
|
@@ -124,6 +158,17 @@ occ code index --path . --format json
|
|
|
124
158
|
occ code map --path . --map-tokens 4096
|
|
125
159
|
occ code pack --path . --map-tokens 8192 --tokenizer o200k_base
|
|
126
160
|
|
|
161
|
+
# Git-aware code: which symbols a diff touched, and a diff-focused repo map
|
|
162
|
+
occ code diff --base main --map-tokens 4096
|
|
163
|
+
occ code history UserService --limit 10
|
|
164
|
+
occ code map --path . --changed-from main --map-tokens 4096
|
|
165
|
+
|
|
166
|
+
# Inspect git changes, history, and churn
|
|
167
|
+
occ git changed --base main
|
|
168
|
+
occ git diff --base main --patch --map-tokens 2048
|
|
169
|
+
occ git history src/cli.ts --limit 10
|
|
170
|
+
occ git churn --sort churn --limit 20
|
|
171
|
+
|
|
127
172
|
# Workspace-level analysis (code + documents + structures)
|
|
128
173
|
occ workspace analyze --format json
|
|
129
174
|
|
|
@@ -187,36 +232,36 @@ Scanned 23 documents (56,750 words, 201 pages) in 120ms
|
|
|
187
232
|
|
|
188
233
|
## Supported Formats
|
|
189
234
|
|
|
190
|
-
| Format
|
|
191
|
-
|
|
192
|
-
| Word
|
|
193
|
-
| PDF
|
|
194
|
-
| Excel
|
|
195
|
-
| PowerPoint | `.pptx`
|
|
196
|
-
| ODT
|
|
197
|
-
| ODS
|
|
198
|
-
| ODP
|
|
235
|
+
| Format | Extension | Metrics | Structure |
|
|
236
|
+
| ---------- | --------- | -------------------------- | ----------------------- |
|
|
237
|
+
| Word | `.docx` | words, pages\*, paragraphs | Yes |
|
|
238
|
+
| PDF | `.pdf` | words, pages | Yes (with page mapping) |
|
|
239
|
+
| Excel | `.xlsx` | sheets, rows, cells | — |
|
|
240
|
+
| PowerPoint | `.pptx` | words, slides | Yes (slide headers) |
|
|
241
|
+
| ODT | `.odt` | words, pages\*, paragraphs | Yes (best-effort) |
|
|
242
|
+
| ODS | `.ods` | sheets, rows, cells | — |
|
|
243
|
+
| ODP | `.odp` | words, slides | Yes (slide headers) |
|
|
199
244
|
|
|
200
245
|
\* Pages for Word/ODT are estimated at 250 words/page.
|
|
201
246
|
|
|
202
247
|
## CLI Flags
|
|
203
248
|
|
|
204
|
-
| Flag
|
|
205
|
-
|
|
206
|
-
| `--by-file` / `-f`
|
|
207
|
-
| `--format <type>`
|
|
208
|
-
| `--structure`
|
|
209
|
-
| `--include-ext <exts>`
|
|
210
|
-
| `--exclude-ext <exts>`
|
|
211
|
-
| `--exclude-dir <dirs>`
|
|
212
|
-
| `--ignore-pattern <pattern>` | Gitignore-style pattern to ignore (repeatable) | none
|
|
213
|
-
| `--no-gitignore`
|
|
214
|
-
| `--sort <col>`
|
|
215
|
-
| `--output <file>` / `-o`
|
|
216
|
-
| `--ci`
|
|
217
|
-
| `--large-file-limit <mb>`
|
|
218
|
-
| `--no-code`
|
|
219
|
-
| `--show-confidence`
|
|
249
|
+
| Flag | Description | Default |
|
|
250
|
+
| ---------------------------- | ---------------------------------------------- | ------------------- |
|
|
251
|
+
| `--by-file` / `-f` | Row per file | grouped by type |
|
|
252
|
+
| `--format <type>` | `tabular` or `json` | `tabular` |
|
|
253
|
+
| `--structure` | Extract and display document heading hierarchy | off |
|
|
254
|
+
| `--include-ext <exts>` | Comma-separated extensions | all supported |
|
|
255
|
+
| `--exclude-ext <exts>` | Comma-separated to skip | none |
|
|
256
|
+
| `--exclude-dir <dirs>` | Directories to skip | `node_modules,.git` |
|
|
257
|
+
| `--ignore-pattern <pattern>` | Gitignore-style pattern to ignore (repeatable) | none |
|
|
258
|
+
| `--no-gitignore` | Disable .gitignore respect | enabled |
|
|
259
|
+
| `--sort <col>` | Sort by: files, name, words, size | `files` |
|
|
260
|
+
| `--output <file>` / `-o` | Write to file | stdout |
|
|
261
|
+
| `--ci` | ASCII-only, no color | off |
|
|
262
|
+
| `--large-file-limit <mb>` | Skip files over this size | `50` |
|
|
263
|
+
| `--no-code` | Skip scc code analysis | off |
|
|
264
|
+
| `--show-confidence` | Show confidence levels for each metric | off |
|
|
220
265
|
|
|
221
266
|
## Code Exploration
|
|
222
267
|
|
|
@@ -254,6 +299,12 @@ occ code pack --path . --map-tokens 8192 --tokenizer o200k_base
|
|
|
254
299
|
|
|
255
300
|
# Focus the map on a task — by query and/or path (with graph neighbors)
|
|
256
301
|
occ code map --path . --query "workspace context injection" --focus-path src/services/memory --map-tokens 4096
|
|
302
|
+
|
|
303
|
+
# Change-aware: which symbols a git diff touched, the git history for a symbol,
|
|
304
|
+
# and a repo map focused on the files changed since a base ref
|
|
305
|
+
occ code diff --base main --map-tokens 4096
|
|
306
|
+
occ code history UserService --limit 10
|
|
307
|
+
occ code map --path . --changed-from main --map-tokens 4096
|
|
257
308
|
```
|
|
258
309
|
|
|
259
310
|
Highlights of the current code exploration behavior:
|
|
@@ -261,6 +312,7 @@ Highlights of the current code exploration behavior:
|
|
|
261
312
|
- **Full index export** via `occ code index` — dump the complete graph (files, symbols, edges, language capabilities) as JSON or a summary line
|
|
262
313
|
- **Repository map and pack** via `occ code map` / `occ code pack` — PageRank-ranked, token-budgeted output (symbol signatures or file content) that greedily admits the highest-ranked files within the budget, shrinking content or shedding low-rank symbols rather than dropping a file that nearly fits, with a pluggable heuristic or BPE tokenizer (`--tokenizer o200k_base|cl100k_base`)
|
|
263
314
|
- **Focused maps** via `--query`, `--focus-path` (repeatable), and `--focus-depth` — opt-in, additive relevance scoring (query + path + graph neighbors) blended with the global rank so task-relevant files surface within the budget; omitting the flags keeps the global PageRank overview unchanged
|
|
315
|
+
- **Change-aware exploration** via `occ code diff` (symbols touched by a git diff range, with removed-symbol recovery), `occ code history <symbol>` (git line history for a symbol), and `occ code map --changed-from <ref>` (diff-focused repo maps)
|
|
264
316
|
- **Exact, pattern, type, and content search** over the repository graph
|
|
265
317
|
- **Call analysis** with explicit `resolved`, `ambiguous`, and `unresolved` states
|
|
266
318
|
- **Receiver-aware method resolution** for `this`, `super`, `self`, and `cls`
|
|
@@ -381,13 +433,15 @@ import { createOcc } from '@cesarandreslopez/occ';
|
|
|
381
433
|
const occ = createOcc();
|
|
382
434
|
const bundle = await occ.workspace.bundle('./my-project', {
|
|
383
435
|
includeDocumentChunks: true,
|
|
436
|
+
includeCorpusChunks: true, // unified, deterministically-ordered code + document chunks
|
|
384
437
|
maxCodeFiles: 5_000,
|
|
385
438
|
maxCodeBytes: 32 * 1024 * 1024,
|
|
386
439
|
});
|
|
387
440
|
|
|
388
|
-
console.log(bundle.outline);
|
|
389
|
-
console.log(bundle.codeDocumentReferences);
|
|
390
|
-
console.log(bundle.documentChunks?.length);
|
|
441
|
+
console.log(bundle.outline); // root → projects → modules → documents → sections
|
|
442
|
+
console.log(bundle.codeDocumentReferences); // per-symbol matches inside markdown content
|
|
443
|
+
console.log(bundle.documentChunks?.length); // heading-aware token-budgeted document chunks
|
|
444
|
+
console.log(bundle.corpusChunks?.length); // merged code + document chunks (WorkspaceCorpusChunk[]) for RAG
|
|
391
445
|
```
|
|
392
446
|
|
|
393
447
|
For heading-aware token-budgeted document chunking (RAG-friendly):
|
|
@@ -416,48 +470,50 @@ const callGraph = session.toMermaid('call-graph', 'bootstrap');
|
|
|
416
470
|
|
|
417
471
|
Available subpath exports:
|
|
418
472
|
|
|
419
|
-
| Import path
|
|
420
|
-
|
|
421
|
-
| `@cesarandreslopez/occ/code/build`
|
|
422
|
-
| `@cesarandreslopez/occ/code/types`
|
|
423
|
-
| `@cesarandreslopez/occ/code/query`
|
|
424
|
-
| `@cesarandreslopez/occ/code/discover`
|
|
425
|
-
| `@cesarandreslopez/occ/code/preview`
|
|
426
|
-
| `@cesarandreslopez/occ/code/isolated`
|
|
427
|
-
| `@cesarandreslopez/occ/code/incremental`
|
|
428
|
-
| `@cesarandreslopez/occ/code/slim`
|
|
429
|
-
| `@cesarandreslopez/occ/code/chunk`
|
|
430
|
-
| `@cesarandreslopez/occ/code/session`
|
|
431
|
-
| `@cesarandreslopez/occ/code/store`
|
|
432
|
-
| `@cesarandreslopez/occ/code/cache`
|
|
433
|
-
| `@cesarandreslopez/occ/
|
|
434
|
-
| `@cesarandreslopez/occ/
|
|
435
|
-
| `@cesarandreslopez/occ/doc/
|
|
436
|
-
| `@cesarandreslopez/occ/doc/
|
|
437
|
-
| `@cesarandreslopez/occ/doc/
|
|
438
|
-
| `@cesarandreslopez/occ/doc/
|
|
439
|
-
| `@cesarandreslopez/occ/doc/
|
|
440
|
-
| `@cesarandreslopez/occ/
|
|
441
|
-
| `@cesarandreslopez/occ/
|
|
442
|
-
| `@cesarandreslopez/occ/workspace/
|
|
443
|
-
| `@cesarandreslopez/occ/workspace/
|
|
444
|
-
| `@cesarandreslopez/occ/workspace/
|
|
445
|
-
| `@cesarandreslopez/occ/workspace/
|
|
446
|
-
| `@cesarandreslopez/occ/workspace/
|
|
447
|
-
| `@cesarandreslopez/occ/
|
|
448
|
-
| `@cesarandreslopez/occ/
|
|
449
|
-
| `@cesarandreslopez/occ/
|
|
450
|
-
| `@cesarandreslopez/occ/
|
|
451
|
-
| `@cesarandreslopez/occ/
|
|
452
|
-
| `@cesarandreslopez/occ/
|
|
453
|
-
| `@cesarandreslopez/occ/
|
|
454
|
-
| `@cesarandreslopez/occ/
|
|
455
|
-
| `@cesarandreslopez/occ/
|
|
456
|
-
| `@cesarandreslopez/occ/
|
|
457
|
-
| `@cesarandreslopez/occ/
|
|
458
|
-
| `@cesarandreslopez/occ/
|
|
459
|
-
| `@cesarandreslopez/occ/
|
|
460
|
-
| `@cesarandreslopez/occ/
|
|
473
|
+
| Import path | Description |
|
|
474
|
+
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
475
|
+
| `@cesarandreslopez/occ/code/build` | `buildCodebaseIndex` — graph construction (with optional `maxFiles`/`maxBytes`/`onBudgetExceeded` budget controls and `CodeIndexBudgetExceededError`); also `parseCodeFiles` (bounded-concurrency parse pool) + `assembleCodebaseIndex` for staged indexing |
|
|
476
|
+
| `@cesarandreslopez/occ/code/types` | TypeScript types (`CodebaseIndex`, `CodeNode`, `CodeEdge`, `IndexTruncation`, etc.) |
|
|
477
|
+
| `@cesarandreslopez/occ/code/query` | Query functions (`findByName`, `analyzeCalls`, `analyzeDeps`, etc.) |
|
|
478
|
+
| `@cesarandreslopez/occ/code/discover` | `discoverCodeFiles` — file discovery |
|
|
479
|
+
| `@cesarandreslopez/occ/code/preview` | `previewCodebaseSize` — cheap size + per-language estimate without parsing, with budget pressure reporting |
|
|
480
|
+
| `@cesarandreslopez/occ/code/isolated` | `buildCodebaseIndexIsolated` — runs `buildCodebaseIndex` in a forked subprocess, optionally returning a slim index |
|
|
481
|
+
| `@cesarandreslopez/occ/code/incremental` | `computeManifestDiff`, `classifyChangedFiles`, `findResolutionImpactedFiles`, `spliceIndexInputs` — primitives behind incremental `update()`/`ensureFresh()` (manifest diff + resolution-impact + graph splice) |
|
|
482
|
+
| `@cesarandreslopez/occ/code/slim` | `slimifyIndex`, `parseSlimIndex`, `validateSlimIndex` — content-free `CodebaseIndexSlim` for graph-only consumers |
|
|
483
|
+
| `@cesarandreslopez/occ/code/chunk` | `chunkCodebase`, `chunkFromIndex` — semantic code chunking (word- or token-based via `maxTokens`/`countTokens`) |
|
|
484
|
+
| `@cesarandreslopez/occ/code/session` | `createCodeQuerySession` — stateful code query session |
|
|
485
|
+
| `@cesarandreslopez/occ/code/store` | `openCodeIndexStore`, `openChunkCodeIndexStore` — persistent index store with cache strategies (the chunk variant pins `contentMode: 'full'`; `update(changedFiles?)` does a true incremental refresh — manifest diff + targeted re-parse + graph splice) |
|
|
486
|
+
| `@cesarandreslopez/occ/code/cache` | Index caching utilities (legacy — prefer `./code/store`) |
|
|
487
|
+
| `@cesarandreslopez/occ/code/diff` | `computeCodeDiff`, `joinHunksToSymbols` — map a git diff range to changed code symbols (added/removed/modified, new/removed exports, removed-symbol recovery) |
|
|
488
|
+
| `@cesarandreslopez/occ/git` | Git context API — `getGitChangedFiles`, `getGitDiffSummary`, `getGitDiffPatch`, `getGitDiffHunks`, `getGitDiffFunctionContext`, `getGitCommitHistory`, `getGitFileHistory`, `getGitChurnSummary`, `resolveGitRange` (also `./git/types`, `./git/api`, `./git/client`, `./git/parse`) |
|
|
489
|
+
| `@cesarandreslopez/occ/doc/inspect` | `inspectDocument` — document metadata and content extraction |
|
|
490
|
+
| `@cesarandreslopez/occ/doc/types` | Document inspection types |
|
|
491
|
+
| `@cesarandreslopez/occ/doc/discover` | Document file discovery (now includes prose formats by default; opt into data files via `includeDataFiles`; new `discoverDocumentSet` returns `{ documents, skipped }`) |
|
|
492
|
+
| `@cesarandreslopez/occ/doc/batch` | Batch document inspection |
|
|
493
|
+
| `@cesarandreslopez/occ/doc/chunk` | `chunkDocument` / `chunkDocumentFromMarkdown` — heading-aware, token-budgeted document chunker for DOCX/PDF/PPTX/XLSX/ODT/ODS/ODP/MD/MDX/TXT/RST/AsciiDoc (the `FromMarkdown` variant chunks pre-converted markdown without re-parsing) |
|
|
494
|
+
| `@cesarandreslopez/occ/doc/entities` | Entity and keyword extraction |
|
|
495
|
+
| `@cesarandreslopez/occ/doc/references` | Cross-reference detection |
|
|
496
|
+
| `@cesarandreslopez/occ/workspace/analyze` | `analyzeWorkspace` — workspace-level analysis |
|
|
497
|
+
| `@cesarandreslopez/occ/workspace/describe` | `describeWorkspace` — fast directory classification |
|
|
498
|
+
| `@cesarandreslopez/occ/workspace/documents` | `inspectWorkspaceDocumentSet` — document summaries and cross-references |
|
|
499
|
+
| `@cesarandreslopez/occ/workspace/types` | Workspace analysis types |
|
|
500
|
+
| `@cesarandreslopez/occ/workspace/prepare` | `prepareWorkspaceContext` — combined code indexing + document inspection |
|
|
501
|
+
| `@cesarandreslopez/occ/workspace/prepare-types` | Workspace preparation types (`WorkspacePrepareOptions`, `WorkspacePreparedContext`, etc.) |
|
|
502
|
+
| `@cesarandreslopez/occ/workspace/bundle` | `bundleWorkspace` — single-call versioned `WorkspaceBundle` (description + analysis + documents + slim code index + outline + cross-refs + optional document / code / unified corpus chunks via `WorkspaceCorpusChunk`) |
|
|
503
|
+
| `@cesarandreslopez/occ/markdown/convert` | `documentToMarkdown` — document-to-markdown conversion (now reads MD/MDX/TXT/RST/AsciiDoc/YAML/JSON/TOML directly) |
|
|
504
|
+
| `@cesarandreslopez/occ/structure/extract` | `extractFromMarkdown` — heading tree extraction |
|
|
505
|
+
| `@cesarandreslopez/occ/structure/types` | Structure types and helpers |
|
|
506
|
+
| `@cesarandreslopez/occ/sheet/inspect` | `inspectWorkbook` — XLSX workbook inspection |
|
|
507
|
+
| `@cesarandreslopez/occ/sheet/types` | Sheet inspection types |
|
|
508
|
+
| `@cesarandreslopez/occ/slide/inspect` | `inspectPresentation` — presentation inspection |
|
|
509
|
+
| `@cesarandreslopez/occ/table/inspect` | Table extraction from documents |
|
|
510
|
+
| `@cesarandreslopez/occ/table/types` | Table extraction types |
|
|
511
|
+
| `@cesarandreslopez/occ/health` | `health()` — liveness probe with version + capability flags |
|
|
512
|
+
| `@cesarandreslopez/occ/errors` | `OccAbortError`, `OCC_ABORTED`, `isOccAbortError` — typed abort error that survives `instanceof` across forked subprocesses |
|
|
513
|
+
| `@cesarandreslopez/occ/types` | Shared types (`ConfidenceLevel`, `ParseResult`, `ParserOutput`, etc.) |
|
|
514
|
+
| `@cesarandreslopez/occ/tokens` | Token estimation utilities |
|
|
515
|
+
| `@cesarandreslopez/occ/progress-event` | Progress event types (`ProgressPhase`, `ProgressEvent` with optional `scope`/`currentPath`/`bytesProcessed`/`totalBytes`/`startedAt`/`elapsedMs`) |
|
|
516
|
+
| `@cesarandreslopez/occ/stats` | Stats types (`StatsRow`, `AggregateResult`) and `aggregate()` |
|
|
461
517
|
|
|
462
518
|
TypeScript ships with OCC as a direct dependency, so the code exploration module works after a normal install. You only need a separate TypeScript setup if your own project uses `tsc`.
|
|
463
519
|
|
|
@@ -591,13 +647,17 @@ For combined code indexing and document inspection with progress tracking:
|
|
|
591
647
|
```ts
|
|
592
648
|
import { prepareWorkspaceContext } from '@cesarandreslopez/occ/workspace/prepare';
|
|
593
649
|
|
|
594
|
-
const context = await prepareWorkspaceContext(
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
}
|
|
650
|
+
const context = await prepareWorkspaceContext(
|
|
651
|
+
'./my-project',
|
|
652
|
+
{
|
|
653
|
+
includeCode: true,
|
|
654
|
+
includeDocuments: true,
|
|
655
|
+
executionMode: 'auto', // 'auto' | 'inline' | 'subprocess'
|
|
656
|
+
},
|
|
657
|
+
event => {
|
|
658
|
+
console.log(`[${event.scope}] ${event.stage}: ${event.completed}/${event.total}`);
|
|
659
|
+
}
|
|
660
|
+
);
|
|
601
661
|
|
|
602
662
|
// context.code?.index — full CodebaseIndex
|
|
603
663
|
// context.documents — WorkspaceDocumentSet with cross-references
|
|
@@ -605,6 +665,36 @@ const context = await prepareWorkspaceContext('./my-project', {
|
|
|
605
665
|
// context.errors — collected errors from both phases
|
|
606
666
|
```
|
|
607
667
|
|
|
668
|
+
## Git Context
|
|
669
|
+
|
|
670
|
+
`occ git` inspects git changes, history, and churn over a typed, shell-injection-safe git client (it shells out to `git` with argument arrays, validates refs, and classifies failures like missing-git / not-a-repo / bad-ref). All `occ git` commands share `--path <repo-root>` (default: current directory), `--base <ref>`, `--head <ref>`, `--staged`, `--format tabular|json`, and `-o, --output <file>`. The diff range resolves from `--base`/`--head`/`--staged`, defaulting to the working-tree changes when unspecified.
|
|
671
|
+
|
|
672
|
+
```bash
|
|
673
|
+
# List the files changed in the resolved diff range
|
|
674
|
+
occ git changed --base main
|
|
675
|
+
occ git changed --staged --format json
|
|
676
|
+
|
|
677
|
+
# Summarize the diff, or render a token-bounded raw patch
|
|
678
|
+
occ git diff --base main --format json
|
|
679
|
+
occ git diff --base main --patch --map-tokens 2048 --tokenizer o200k_base
|
|
680
|
+
|
|
681
|
+
# Commit history for a range, or per-file history (with line ranges)
|
|
682
|
+
occ git history --since 2025-01-01 --format json
|
|
683
|
+
occ git history src/cli.ts --limit 10 --follow
|
|
684
|
+
occ git history src/cli.ts --line-start 10 --line-end 50
|
|
685
|
+
|
|
686
|
+
# Rank changed files by churn to find hotspots
|
|
687
|
+
occ git churn --sort churn --limit 20 --format json
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
Current git context highlights:
|
|
691
|
+
|
|
692
|
+
- **`occ git changed`** — changed files for the resolved range with status, rename/copy metadata, and binary flags
|
|
693
|
+
- **`occ git diff`** — per-file churn summary, or the raw unified patch with `--patch`, token-bounded via `--map-tokens` / `--tokenizer` (degrades gracefully, reporting `filesOmitted`, when the diff exceeds the git buffer)
|
|
694
|
+
- **`occ git history`** — commit history for a range, or per-file history with `--follow`, `--since`, `--limit`, and line-scoped `git log -L` via `--line-start` / `--line-end`
|
|
695
|
+
- **`occ git churn`** — files ranked by `--sort churn|commits|added|deleted|net` (default `churn`) with commit, addition, deletion, net, and last-touched metrics
|
|
696
|
+
- **Symbol-level changes** — pair with `occ code diff` to see which _symbols_ (not just files and lines) a diff touched
|
|
697
|
+
|
|
608
698
|
## Documentation
|
|
609
699
|
|
|
610
700
|
Full documentation is available at [cesarandreslopez.github.io/occ](https://cesarandreslopez.github.io/occ/), including:
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/** Schema that coerces a string to a positive integer. */
|
|
3
|
-
export const PositiveIntSchema = z
|
|
4
|
-
.string()
|
|
5
|
-
.transform((val, ctx) => {
|
|
3
|
+
export const PositiveIntSchema = z.string().transform((val, ctx) => {
|
|
6
4
|
const parsed = Number.parseInt(val, 10);
|
|
7
5
|
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
8
6
|
ctx.addIssue({ code: z.ZodIssueCode.custom, message: `must be a positive integer` });
|
|
@@ -11,15 +9,9 @@ export const PositiveIntSchema = z
|
|
|
11
9
|
return parsed;
|
|
12
10
|
});
|
|
13
11
|
/** Schema for header-row option: "auto", "none", or a positive integer string. */
|
|
14
|
-
export const HeaderRowSchema = z.union([
|
|
15
|
-
z.literal('auto'),
|
|
16
|
-
z.literal('none'),
|
|
17
|
-
PositiveIntSchema,
|
|
18
|
-
]);
|
|
12
|
+
export const HeaderRowSchema = z.union([z.literal('auto'), z.literal('none'), PositiveIntSchema]);
|
|
19
13
|
/** Schema that coerces a string to a positive number (float). */
|
|
20
|
-
export const PositiveNumberSchema = z
|
|
21
|
-
.string()
|
|
22
|
-
.transform((val, ctx) => {
|
|
14
|
+
export const PositiveNumberSchema = z.string().transform((val, ctx) => {
|
|
23
15
|
const n = parseFloat(val);
|
|
24
16
|
if (Number.isNaN(n) || n <= 0) {
|
|
25
17
|
ctx.addIssue({ code: z.ZodIssueCode.custom, message: `must be a positive number` });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-validation.js","sourceRoot":"","sources":["../../src/cli-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"cli-validation.js","sourceRoot":"","sources":["../../src/cli-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAGlG,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACpE,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,KAAyB,EAAE,QAAgB,EAAE,KAAa;IACzF,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,KAAK,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,8CAA8C,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,+BAA+B,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
package/dist/src/cli.js
CHANGED
|
@@ -14,15 +14,18 @@ import { documentToMarkdown } from './markdown/convert.js';
|
|
|
14
14
|
import { extractFromMarkdown } from './structure/index.js';
|
|
15
15
|
import { formatStructureTree } from './output/tree.js';
|
|
16
16
|
import { registerCodeCommands } from './code/command.js';
|
|
17
|
+
import { registerGitCommands } from './git/command.js';
|
|
17
18
|
import { registerSheetCommands } from './sheet/command.js';
|
|
18
19
|
import { registerDocCommands } from './doc/command.js';
|
|
19
20
|
import { registerSlideCommands } from './slide/command.js';
|
|
20
21
|
import { registerTableCommands } from './table/command.js';
|
|
21
22
|
import { registerDescribeCommand, registerWorkspaceCommands } from './workspace/command.js';
|
|
23
|
+
import { registerSkillsCommands } from './skills/command.js';
|
|
22
24
|
import { formatBytes, getExtension, writeStream } from './utils.js';
|
|
23
25
|
import { validateLargeFileLimit } from './cli-validation.js';
|
|
24
26
|
import { createTokenizer, resolveTokenizerName } from './tokens.js';
|
|
25
|
-
const CliOptionsSchema = z
|
|
27
|
+
const CliOptionsSchema = z
|
|
28
|
+
.object({
|
|
26
29
|
byFile: z.boolean().optional(),
|
|
27
30
|
format: z.string(),
|
|
28
31
|
includeExt: z.string().optional(),
|
|
@@ -40,7 +43,8 @@ const CliOptionsSchema = z.object({
|
|
|
40
43
|
tokenizer: z.string().optional(),
|
|
41
44
|
quick: z.boolean().optional(),
|
|
42
45
|
showConfidence: z.boolean().optional(),
|
|
43
|
-
})
|
|
46
|
+
})
|
|
47
|
+
.passthrough();
|
|
44
48
|
function collectOption(value, previous = []) {
|
|
45
49
|
return [...previous, value];
|
|
46
50
|
}
|
|
@@ -52,7 +56,9 @@ async function loadPkg() {
|
|
|
52
56
|
try {
|
|
53
57
|
return PackageJsonSchema.parse(JSON.parse(await readFile(path.resolve(__dirname, rel, 'package.json'), 'utf8')));
|
|
54
58
|
}
|
|
55
|
-
catch {
|
|
59
|
+
catch {
|
|
60
|
+
/* try next */
|
|
61
|
+
}
|
|
56
62
|
}
|
|
57
63
|
return { version: '0.0.0' };
|
|
58
64
|
}
|
|
@@ -71,7 +77,11 @@ export async function run(argv) {
|
|
|
71
77
|
.option('--exclude-dir <dirs>', 'directories to skip (comma-separated)', 'node_modules,.git')
|
|
72
78
|
.option('--ignore-pattern <pattern>', 'gitignore-style pattern to ignore', collectOption, [])
|
|
73
79
|
.option('--no-gitignore', 'disable .gitignore respect')
|
|
74
|
-
|
|
80
|
+
// Note: this is a global option, so it is inherited by every subcommand. It is
|
|
81
|
+
// intentionally not constrained with .choices() because subcommands (e.g. `git churn`)
|
|
82
|
+
// expose their own `--sort` keys; the default scan falls back to `files` for any value
|
|
83
|
+
// it does not recognize (see sortRows in stats.ts).
|
|
84
|
+
.option('--sort <col>', 'sort by: files, name, words, size', 'files')
|
|
75
85
|
.option('-o, --output <file>', 'write output to file')
|
|
76
86
|
.option('--ci', 'ASCII-only output, no colors')
|
|
77
87
|
.option('--large-file-limit <mb>', 'skip files over this size in MB', '50')
|
|
@@ -97,18 +107,18 @@ export async function run(argv) {
|
|
|
97
107
|
}
|
|
98
108
|
});
|
|
99
109
|
registerCodeCommands(program);
|
|
110
|
+
registerGitCommands(program);
|
|
100
111
|
registerSheetCommands(program);
|
|
101
112
|
registerDocCommands(program);
|
|
102
113
|
registerSlideCommands(program);
|
|
103
114
|
registerTableCommands(program);
|
|
104
115
|
registerDescribeCommand(program);
|
|
105
116
|
registerWorkspaceCommands(program);
|
|
117
|
+
registerSkillsCommands(program);
|
|
106
118
|
await program.parseAsync(argv);
|
|
107
119
|
}
|
|
108
120
|
async function executeQuick(directories, opts) {
|
|
109
|
-
const excludeDirs = opts.excludeDir
|
|
110
|
-
? opts.excludeDir.split(',').map(d => d.trim())
|
|
111
|
-
: ['node_modules', '.git'];
|
|
121
|
+
const excludeDirs = opts.excludeDir ? opts.excludeDir.split(',').map(d => d.trim()) : ['node_modules', '.git'];
|
|
112
122
|
const { files, skipped } = await findFiles(directories, {
|
|
113
123
|
includeExt: opts.includeExt,
|
|
114
124
|
excludeExt: opts.excludeExt,
|
|
@@ -192,9 +202,7 @@ async function extractStructures(files, concurrency, onProgress) {
|
|
|
192
202
|
}
|
|
193
203
|
async function execute(directories, opts) {
|
|
194
204
|
const startTime = Date.now();
|
|
195
|
-
const excludeDirs = opts.excludeDir
|
|
196
|
-
? opts.excludeDir.split(',').map(d => d.trim())
|
|
197
|
-
: ['node_modules', '.git'];
|
|
205
|
+
const excludeDirs = opts.excludeDir ? opts.excludeDir.split(',').map(d => d.trim()) : ['node_modules', '.git'];
|
|
198
206
|
const includeCode = opts.code !== false;
|
|
199
207
|
let sccBinary = null;
|
|
200
208
|
if (includeCode) {
|
|
@@ -242,7 +250,11 @@ async function execute(directories, opts) {
|
|
|
242
250
|
if (opts.structure) {
|
|
243
251
|
const structurableFiles = files.filter(f => STRUCTURABLE_EXTS.has(getExtension(f.path)));
|
|
244
252
|
if (structurableFiles.length > 0) {
|
|
245
|
-
const progress = createProgress({
|
|
253
|
+
const progress = createProgress({
|
|
254
|
+
total: structurableFiles.length,
|
|
255
|
+
label: 'Extracting structure',
|
|
256
|
+
enabled: showProgress,
|
|
257
|
+
});
|
|
246
258
|
structureResults = await extractStructures(structurableFiles, 10, (inc, detail) => progress.update(inc, detail));
|
|
247
259
|
progress.done();
|
|
248
260
|
}
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAuB,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAK5F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC,WAAW,EAAE,CAAC;AAGjB,SAAS,aAAa,CAAC,KAAa,EAAE,WAAqB,EAAE;IAC3D,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAE1E,uEAAuE;AACvE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,KAAK,UAAU,OAAO;IACpB,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACzH,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AACD,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,uEAAuE,CAAC;SACpF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;SACpB,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,EAAE,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,gDAAgD,CAAC;SACzE,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,SAAS,CAAC;SACtE,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,EAAE,mBAAmB,CAAC;SAC5F,MAAM,CAAC,4BAA4B,EAAE,mCAAmC,EAAE,aAAa,EAAE,EAAE,CAAC;SAC5F,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;SACtD,SAAS,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACvI,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;SACrD,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC;SAC9C,MAAM,CAAC,yBAAyB,EAAE,iCAAiC,EAAE,IAAI,CAAC;SAC1E,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;SAC7C,MAAM,CAAC,aAAa,EAAE,wCAAwC,CAAC;SAC/D,MAAM,CAAC,oBAAoB,EAAE,2CAA2C,CAAC;SACzE,SAAS,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,mFAAmF,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;SACpL,MAAM,CAAC,SAAS,EAAE,kEAAkE,CAAC;SACrF,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,WAAqB,EAAE,IAAgB,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEnC,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,WAAqB,EAAE,IAAgB;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU;QACjC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE;QACtD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,IAAI,CAAC,aAAa;QAClC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS;QAC5B,cAAc,EAAE,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC;KAC5D,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,KAAK,GAAyD,EAAE,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,WAAW,EAAE,KAAK;KACnB,CAAC;IAEF,IAAI,MAAc,CAAC;IACnB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAa,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/E,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC,KAAK,WAAW,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,CAAC,MAAM,WAAW,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QACzE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAgB;IACrE,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,aAAa,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3C,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzE,KAAK,UAAU,iBAAiB,CAC9B,KAAkB,EAClB,WAAmB,EACnB,UAAmD;IAEnD,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAqB,CAAC;QAClE,CAAC,CAAC,CACH,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,UAAU;gBAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,WAAqB,EAAE,IAAgB;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU;QACjC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;IAExC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,WAAW,EAAE,CAAC;QAChB,SAAS,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,kCAAkC;IAClC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE;QACtD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,IAAI,CAAC,aAAa;QAClC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS;QAC5B,cAAc,EAAE,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC;KAC5D,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACpE,IAAI,OAAO,GAAkB,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAClG,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QACrF,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAyB,IAAI,CAAC;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,YAAY;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACvE,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE;YAC7C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,WAAW;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,gBAAgB,GAAsB,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3H,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YACjH,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAc,CAAC;IACnB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,kBAAkB;YAClB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;oBAClC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,qDAAqD,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|