sh-ast 0.6.1 → 0.8.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.
Files changed (48) hide show
  1. package/README.md +147 -15
  2. package/dist/analyze/enumerate-commands.d.ts +5 -1
  3. package/dist/analyze/enumerate-commands.d.ts.map +1 -1
  4. package/dist/analyze/enumerate-commands.js.map +1 -1
  5. package/dist/analyze/index.d.ts +10 -2
  6. package/dist/analyze/index.d.ts.map +1 -1
  7. package/dist/analyze/index.js +11 -1
  8. package/dist/analyze/index.js.map +1 -1
  9. package/dist/analyze/resolve-argv0.d.ts +225 -16
  10. package/dist/analyze/resolve-argv0.d.ts.map +1 -1
  11. package/dist/analyze/resolve-argv0.js +372 -11
  12. package/dist/analyze/resolve-argv0.js.map +1 -1
  13. package/dist/analyze.d.ts +380 -157
  14. package/dist/errors.d.ts +14 -27
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js +15 -28
  17. package/dist/errors.js.map +1 -1
  18. package/dist/sh-ast.d.ts +28 -32
  19. package/dist/syntax-operator.d.ts +9 -0
  20. package/dist/syntax-operator.d.ts.map +1 -0
  21. package/dist/syntax-operator.js +22 -0
  22. package/dist/syntax-operator.js.map +1 -0
  23. package/dist/syntax-print.d.ts +3 -1
  24. package/dist/syntax-print.d.ts.map +1 -1
  25. package/dist/syntax-print.js +3 -1
  26. package/dist/syntax-print.js.map +1 -1
  27. package/dist/syntax-snapshot.d.ts +4 -1
  28. package/dist/syntax-snapshot.d.ts.map +1 -1
  29. package/dist/syntax-snapshot.js +18 -3
  30. package/dist/syntax-snapshot.js.map +1 -1
  31. package/dist/syntax-wire.d.ts +12 -0
  32. package/dist/syntax-wire.d.ts.map +1 -1
  33. package/dist/syntax-wire.js +99 -15
  34. package/dist/syntax-wire.js.map +1 -1
  35. package/dist/syntax.d.ts +12 -10
  36. package/dist/syntax.d.ts.map +1 -1
  37. package/dist/syntax.js +46 -33
  38. package/dist/syntax.js.map +1 -1
  39. package/dist/wasm-instance.d.ts +8 -0
  40. package/dist/wasm-instance.d.ts.map +1 -1
  41. package/dist/wasm-instance.js +36 -8
  42. package/dist/wasm-instance.js.map +1 -1
  43. package/package.json +1 -1
  44. package/shim/sh-ast.wasm +0 -0
  45. package/dist/parse-depth-guard.d.ts +0 -11
  46. package/dist/parse-depth-guard.d.ts.map +0 -1
  47. package/dist/parse-depth-guard.js +0 -633
  48. package/dist/parse-depth-guard.js.map +0 -1
package/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # sh-ast
2
2
 
3
3
  A synchronous TypeScript interface to the `syntax` package of
4
- [mvdan/sh](https://github.com/mvdan/sh), pinned to **v3.13.1**. Parsing returns
4
+ [mvdan/sh](https://github.com/mvdan/sh), pinned to **v3.13.1 with maintained corrections**
5
+ ([source and provenance](https://github.com/mike-north/sh-ast/tree/main/third_party/mvdan-sh)). These are the official Unicode sentinel backport and an owned, behavior-preserving change that scans consecutive comments iteratively. Parsing returns
5
6
  mutable records preserving upstream fields, defaults, nulls, numeric operators,
6
7
  byte strings, and token positions. First use initializes WebAssembly synchronously
7
8
  in Node.js; no initialization promise is required.
@@ -92,9 +93,22 @@ unsupported constructed nodes whose requested bound panics upstream.
92
93
  `PrintError` retains ordinary upstream printer failures, and `PrintPanicError`
93
94
  retains panics from printing representable inputs. `WalkPanicError` represents
94
95
  upstream-equivalent traversal panics; callback exceptions retain their identity.
95
- All extend `ShAstError`. The conservative structural-depth guard throws
96
- `ShParseMaxDepthError` before potentially exhausting the WASM stack. It is a
97
- binding resource constraint and can reject deeply nested quoted or commented text.
96
+ All extend `ShAstError`. Parsing enforces a 128-unit native node-nesting budget.
97
+ The counter includes open statement, word, and expression work plus iterative
98
+ construction of deep operator trees; it is not a stack-frame count or a total
99
+ input-size limit. Exceeding it throws `ShParseMaxDepthError` with stable code
100
+ `SH_AST_PARSE_MAX_DEPTH`, no partial File or position sidecar, and permits later
101
+ parse calls on the same runtime. `maxDepth` is the native budget; the historical
102
+ field name `estimatedDepth` now carries the rejected native work counter.
103
+ Grammar errors found first retain their ordinary `ParseError` precedence.
104
+ Flat comment runs are scanned iteratively, with no separate comment-count limit.
105
+
106
+ This is an empirical binding resource constraint, not an upstream grammar rule
107
+ or a universal stack-safety guarantee. Repeated direct and ordinary ESLint calls
108
+ were tested on Node 22; arbitrary pre-existing JS recursion can consume the host
109
+ stack margin. Valid syntax can exceed this budget. The policy does not establish
110
+ safety for arbitrary constructed ASTs or other recursive operations
111
+ ([tracked separately](https://github.com/mike-north/sh-ast/issues/71)).
98
112
  Printing collects complete output; large trees or indentation widths can consume
99
113
  substantial memory and time. The parse guard does not bound arbitrary constructed
100
114
  printing inputs. No arbitrary writer, partial-output, or reusable-printer protocol
@@ -132,28 +146,88 @@ storage mutation parity while preserving live field edits and upstream traversal
132
146
 
133
147
  ## Editing and printing
134
148
 
149
+ Use ordinary `structuredClone(node)` to obtain an independent editable copy of a
150
+ parsed `File` or any `Node` subtree. Clone the syntax value itself, without a transfer
151
+ list; `ParsedFile` and `PositionSnapshot` contain the identity-based `get` function
152
+ and are not cloneable syntax records. No second parse or `copySyntax` helper is needed.
153
+
135
154
  ```ts
136
- import { parseSync, printSync, walk } from 'sh-ast';
155
+ import { parseWithPositionsSync, printSync, walk } from 'sh-ast';
156
+
157
+ const parsed = parseWithPositionsSync("printf '%s\\n' 'old 🎉'\n");
158
+ const original = parsed.File.Stmts?.[0];
159
+ if (!original) throw new Error('Expected a statement');
137
160
 
138
- const file = parseSync("printf '%s\\n' 'old 🎉'\n", { KeepComments: true });
139
- walk(file, (node) => {
161
+ const edited = structuredClone(original);
162
+ walk(edited, (node) => {
140
163
  if (node?.Type === 'SglQuoted' && node.Value === 'old 🎉') {
141
- node.Value = 'new 🎉';
164
+ node.Value = 'new 你好 e\u0301';
142
165
  }
143
166
  return true;
144
167
  });
145
- const output = printSync(file);
168
+ const output = printSync(edited); // A Stmt prints without a guaranteed final newline.
169
+ const originalSpan = parsed.Positions.get(original);
170
+ // parsed.Positions.get(edited) is undefined; original is unchanged.
146
171
  ```
147
172
 
148
- This edits a field without replacing array storage. Node positions still describe
149
- their upstream token values; live `nodePos` and `nodeEnd` compute from current
150
- fields, while a separately captured parse snapshot remains tied to original
151
- source. Consumers such as ESLint can edit a separate tree and use printed output
152
- as a fix without mutating their original lint view or traversal cache.
173
+ The copy owns separate records, arrays, position values and `Uint8Array` byte buffers.
174
+ `GoString` bytes remain `Uint8Array`, and `TypedNil` tags retain their concrete kind.
175
+ Repeated references inside the reachable graph point to the same copied object;
176
+ external holders still point to the original objects. Editing the copy therefore
177
+ leaves the original syntax, byte values, printed output and live bounds unchanged.
178
+
179
+ Position fields retain their original values; copying does not relocate tokens or
180
+ rebase offsets. For an unedited copy, live `nodePos` and `nodeEnd` produce the same
181
+ outcomes as for the original. After edits they compute from the copied current
182
+ fields, while the original `PositionSnapshot` stays tied to the original source.
183
+ Every copied node is a new identity and has no entry in that snapshot. Keep the
184
+ original node when a consumer needs an original source span for a printed fix.
185
+
186
+ Copies remain valid inputs to `walk`, `nodePos`, `nodeEnd`, `printSync` and
187
+ `sh-ast/analyze` under each operation's existing input and failure rules. In
188
+ particular, printable roots remain File, Stmt, Word, Assign, Command and WordPart;
189
+ other Nodes are not made printable by copying. Preserving a `TypedNil` tag does not
190
+ promise that traversing, observing or printing that nil value succeeds. Analysis
191
+ retains its function-specific input domains and unsupported-byte results.
192
+
193
+ Printing applies upstream formatting to the edited tree. It does not preserve
194
+ original source bytes, re-indent a subtree to its original column, or guarantee
195
+ that parsing printed output reconstructs every represented value such as a
196
+ `TypedNil` tag. The [copying decision](../../design/STRUCTURED-CLONE-DECISION.md)
197
+ records this boundary and its tests.
153
198
 
154
199
  `sh-ast/analyze` remains a separate syntactic interpretation layer. Its word,
155
200
  command, and wrapper analysis consumes the faithful records; it does not define
156
- parser behavior or the core tree representation.
201
+ parser behavior or the core tree representation. The analyze entry point also
202
+ exports the faithful record/operator types, the named operator constants those
203
+ types reference, and `rawOperator` for unnamed uint32 values. Analyze-only code can
204
+ compare a `BinaryCmd.Op` with `AndStmt` or `Pipe` and construct family-branded raw
205
+ values without a second import from the root entry point. For example,
206
+ `rawOperator('BinCmdOperator', 500)` returns `500` as a `RawOperator<'BinCmdOperator'>`.
207
+ The shared constructor validates a known family and an integral uint32 value;
208
+ it does not promise that every upstream operation accepts that value.
209
+
210
+ ```ts
211
+ import { AndStmt, rawOperator, type BinaryCmd, type RawOperator } from 'sh-ast/analyze';
212
+
213
+ function isAndCommand(command: BinaryCmd): boolean {
214
+ return command.Op === AndStmt;
215
+ }
216
+ const unnamed: RawOperator<'BinCmdOperator'> = rawOperator('BinCmdOperator', 500);
217
+ ```
218
+
219
+ `resolveArgv0` first searches the whole wrapper table for an exact name. An
220
+ explicit path entry wins even if a plain-name entry appears earlier. Only when
221
+ there is no exact match does an **absolute** path use its final segment
222
+ (`/usr/bin/env`, `/usr//bin/env`); `chain` keeps the word as written. Relative
223
+ paths (`./env`, `bin/env`) and trailing-slash paths have no such fallback, but
224
+ can match names explicitly listed in a custom table. Custom plain names also
225
+ acquire absolute-path aliases; path-only names do not alias other paths.
226
+
227
+ Matching is a lexical analysis assumption: `PATH` and the filesystem are not
228
+ consulted. Without an exact override, `/opt/mytools/env rm x` follows the `env`
229
+ grammar and resolves to `rm`, even if that file is not the system utility. A
230
+ dynamic word such as `"$dir/env"` is never matched.
157
231
 
158
232
  `resolveArgv0` follows only documented wrapper grammars. The default `env` and
159
233
  `sudo` entries accept assignment names beyond shell identifiers, such as `A-B`
@@ -168,6 +242,64 @@ Existing `skipAssignmentOperands: true` tables retain their ASCII shell-identifi
168
242
  rule before `--`. Wrapper assignment operands do not change `assignmentsSkipped`,
169
243
  which counts only shell-level prefixes.
170
244
 
245
+ When the effective command is a shell interpreter (`bash`, `sh`, `dash`, `zsh`,
246
+ `ksh`, `ksh93`, `mksh`, matched by the final path segment, so `/bin/bash` too)
247
+ invoked with `-c`, `resolveArgv0` reports `effective: { static: false, reason:
248
+ 'embedded-command' }`, the same result as `env -S`: the command that runs is
249
+ inside the string operand, which is never parsed. The interpreter's word stays
250
+ available as `chain.at(-2)` and `chainIndices.at(-1)` is the option word that
251
+ selected `-c`. Clustered flags (`-ec`, `-lc`), preceding options (`-o pipefail`,
252
+ `+o`, `-e`) and `--` follow each shell's own option grammar, so `bash script.sh`,
253
+ `bash -e script.sh`, `bash -- -c` and `bash -o c` still resolve to `bash`. A
254
+ dynamic word in option position (`bash "$opts" -c ls`, `bash -c"$y" x`) is
255
+ undecidable and also resolves to `bash`; there `static: true` means only that the
256
+ interpreter's name is known, not that the command is a plain shell invocation. `DEFAULT_EMBEDDED_COMMAND_INTERPRETERS` is the overridable
257
+ table; `ResolveArgv0Options.embeddedCommandInterpreters: []` restores the previous
258
+ behavior.
259
+
260
+ The table models zsh's `--emulate MODE` / `+-emulate MODE` operands and option
261
+ terminators, including `-b` / `+b` after their current cluster (`zsh -b -c x`
262
+ keeps `zsh`, while `zsh -bc x` is embedded). The ksh entry permits an omitted
263
+ `-o` / `+o` operand before another signed option (`ksh +o -c x` is embedded);
264
+ this was executed on ksh93u+ AJM 2012-08-01, not ksh93u+m or mksh. Bash, dash
265
+ and zsh keep consuming the next word as that operand. Options that themselves
266
+ change the grammar, such as zsh's `shoptionletters`, require a custom table.
267
+
268
+ Custom interpreter names must be basenames: use `names: ['bash']` for both
269
+ `/bin/bash` and `./bash`. Names containing `/`, null/undefined entries and
270
+ malformed grammar fields throw `ShAnalyzeInvalidWrapperSpecError`. The first
271
+ matching basename entry wins. Wrapper names retain their distinct policy:
272
+ exact matches first, then a basename fallback for absolute paths only.
273
+
274
+ Bash's single-dash long-option aliases are recognized before clusters:
275
+ `bash -rcfile /dev/null s` and `bash -restricted s` stay static, while
276
+ `bash -rcfile /dev/null -c x` records selector index 3. Custom grammars can
277
+ list exact operand-free long options in `noOperandLongOptions`. Separate
278
+ option operands must be static: an expansion such as `"$@"` may produce
279
+ multiple actual arguments, so `bash -o "$@" -c x` and
280
+ `bash --rcfile "$@" -c x` stop at the static interpreter. Sparse custom
281
+ tables and sparse grammar-field arrays are rejected just like entries
282
+ explicitly holding `undefined`.
283
+
284
+ The command selector `c` is reserved and cannot be declared an operand-taking
285
+ option in a custom interpreter entry; exact-token fields cannot contain `-c`.
286
+ `embeddedCommandInterpreters` must be an array: `null` and other non-array
287
+ containers throw `ShAnalyzeInvalidWrapperSpecError`; `undefined` uses defaults.
288
+ Ksh/ksh93 `+c`, `+ec` and `+o +c` run scripts instead of selecting a string.
289
+ Apple ksh's `-R` consumes a database-path operand. Ksh's lone `+` ends option processing;
290
+ `ksh -c +` has no command string, while `ksh -c + x` is embedded (executed on
291
+ ksh93u+ AJM 2012-08-01).
292
+
293
+ Known limits: the table models common option spellings and is not a full
294
+ emulation of each shell's option parser. Unusual spellings can be misclassified
295
+ in either direction:
296
+
297
+ - Bash/sh single-dash long options after a short option, e.g. `bash -e -rcfile M`.
298
+ - `ksh -c +c M`, or a dynamic word after `-c` that expands to an option.
299
+ - mksh's selector-bearing operands in `mksh -o -c M` and `mksh -o +c M`.
300
+ - A lone `+` before `-c`, e.g. `bash + -c M`.
301
+ - Zsh grammar switches, e.g. `zsh -o shoptionletters -b -c M`.
302
+
171
303
  ## Migration from 0.3
172
304
 
173
305
  Fields now use upstream spelling (`Type`, `Stmts`, `Cmd`, `Value`) and explicit
@@ -110,7 +110,11 @@ export interface CommandSite {
110
110
  * `ResolveWordOptions.context`'s doc comment).
111
111
  */
112
112
  readonly argv0: WordResolution;
113
- /** `resolveWord` applied to every word, in argument order (same `{ context: 'command-argument' }` as {@link CommandSite.argv0}). */
113
+ /**
114
+ * `resolveWord` applied in argument order (same `{ context: 'command-argument' }`
115
+ * as {@link CommandSite.argv0}). Indices align directly with {@link CommandSite.node}'s
116
+ * Args array: a null slot is retained as an unsupported resolution, never skipped.
117
+ */
114
118
  readonly argv: readonly WordResolution[];
115
119
  /** The path from the tree root to this site, outermost frame first. */
116
120
  readonly context: readonly CommandContext[];
@@ -1 +1 @@
1
- {"version":3,"file":"enumerate-commands.d.ts","sourceRoot":"","sources":["../../src/analyze/enumerate-commands.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,QAAQ,EACR,QAAQ,EAER,IAAI,EAEL,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,oIAAoI;IACpI,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAiaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,CAa3D"}
1
+ {"version":3,"file":"enumerate-commands.d.ts","sourceRoot":"","sources":["../../src/analyze/enumerate-commands.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,QAAQ,EACR,QAAQ,EAER,IAAI,EAEL,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAiaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,CAa3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"enumerate-commands.js","sourceRoot":"","sources":["../../src/analyze/enumerate-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enumerate-commands.js","sourceRoot":"","sources":["../../src/analyze/enumerate-commands.ts"],"names":[],"mappings":"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"}
@@ -14,14 +14,22 @@
14
14
  * hardcoded command/wrapper lists beyond documented, overridable defaults
15
15
  * (see {@link WordResolution}'s, {@link CommandSite}'s, and
16
16
  * {@link Argv0Resolution}'s doc comments).
17
+ *
18
+ * The subpath also exposes the faithful record and operator types it consumes,
19
+ * every named operator constant referenced by those types, and rawOperator for
20
+ * unnamed uint32 values. Analyze-only consumers can construct and compare these
21
+ * values without importing the root entry point. Constants retain their upstream
22
+ * family meanings; this adds no command policy or interpretation.
17
23
  */
18
24
  export { resolveWord } from './resolve-word.js';
19
25
  export type { ResolveWordOptions, WordResolution, WordResolutionReason } from './resolve-word.js';
20
26
  export { enumerateCommands } from './enumerate-commands.js';
21
27
  export type { CommandContext, CommandSite } from './enumerate-commands.js';
22
- export { DEFAULT_TRANSPARENT_WRAPPERS, resolveArgv0 } from './resolve-argv0.js';
23
- export type { Argv0ChainWord, Argv0Resolution, Argv0UnresolvedReason, Argv0UnresolvedWord, ResolveArgv0Options, WrapperSpec, } from './resolve-argv0.js';
28
+ export { DEFAULT_EMBEDDED_COMMAND_INTERPRETERS, DEFAULT_TRANSPARENT_WRAPPERS, resolveArgv0, } from './resolve-argv0.js';
29
+ export type { Argv0ChainWord, Argv0Resolution, Argv0UnresolvedReason, Argv0UnresolvedWord, EmbeddedCommandInterpreterSpec, ResolveArgv0Options, WrapperSpec, } from './resolve-argv0.js';
24
30
  export { ShAnalyzeInvalidWrapperSpecError, ShAnalyzeMaxDepthError, ShAstError } from '../errors.js';
25
31
  export type * from '../../generated/syntax-types.js';
26
32
  export type { BinAritOperator, BinCmdOperator, BinTestOperator, CaseOperator, GlobOperator, OperatorFamily, ParExpOperator, ParNamesOperator, ProcOperator, RawOperator, RedirOperator, UnAritOperator, UnTestOperator, } from '../../generated/syntax-constants.js';
33
+ export { Add, AddAssgn, AlternateUnset, AlternateUnsetOrNull, And, AndArit, AndAssgn, AndBoolAssgn, AndStmt, AndTest, AppAll, AppAllClob, AppClob, AppOut, ArrayExclude, ArrayIntersect, Assgn, AssignUnset, AssignUnsetOrNull, BitNegation, Break, CmdIn, CmdInTemp, CmdOut, Comma, DashHdoc, Dec, DefaultUnset, DefaultUnsetOrNull, DplIn, DplOut, Eql, ErrorUnset, ErrorUnsetOrNull, Fallthrough, Geq, GlobExcept, GlobOne, GlobOneOrMore, GlobZeroOrMore, GlobZeroOrOne, Gtr, Hdoc, Inc, Leq, LowerAll, LowerFirst, Lss, MatchEmpty, Minus, Mul, MulAssgn, NamesPrefix, NamesPrefixWords, Neq, Not, Or, OrArit, OrAssgn, OrBoolAssgn, OrStmt, OrTest, OtherParamOps, Pipe, PipeAll, Plus, Pow, PowAssgn, Quo, QuoAssgn, RdrAll, RdrAllClob, RdrClob, RdrIn, RdrInOut, RdrOut, Rem, RemAssgn, RemLargePrefix, RemLargeSuffix, RemSmallPrefix, RemSmallSuffix, Resume, ResumeKorn, Shl, ShlAssgn, Shr, ShrAssgn, Sub, SubAssgn, TernColon, TernQuest, TsAfter, TsBefore, TsBlckSp, TsCharSp, TsDevIno, TsDirect, TsEmpStr, TsEql, TsExec, TsExists, TsFdTerm, TsGIDSet, TsGeq, TsGrpOwn, TsGtr, TsLeq, TsLss, TsMatch, TsMatchShort, TsModif, TsNempStr, TsNeq, TsNewer, TsNmPipe, TsNoEmpty, TsNoMatch, TsNot, TsOlder, TsOptSet, TsParen, TsReMatch, TsRead, TsRefVar, TsRegFile, TsSmbLink, TsSocket, TsSticky, TsUIDSet, TsUsrOwn, TsVarSet, TsWrite, UpperAll, UpperFirst, WordHdoc, Xor, XorAssgn, XorBool, XorBoolAssgn, } from '../../generated/syntax-constants.js';
34
+ export { rawOperator } from '../syntax-operator.js';
27
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAElG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EACV,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAIpG,mBAAmB,iCAAiC,CAAC;AACrD,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,16 @@
14
14
  * hardcoded command/wrapper lists beyond documented, overridable defaults
15
15
  * (see {@link WordResolution}'s, {@link CommandSite}'s, and
16
16
  * {@link Argv0Resolution}'s doc comments).
17
+ *
18
+ * The subpath also exposes the faithful record and operator types it consumes,
19
+ * every named operator constant referenced by those types, and rawOperator for
20
+ * unnamed uint32 values. Analyze-only consumers can construct and compare these
21
+ * values without importing the root entry point. Constants retain their upstream
22
+ * family meanings; this adds no command policy or interpretation.
17
23
  */
18
24
  export { resolveWord } from './resolve-word.js';
19
25
  export { enumerateCommands } from './enumerate-commands.js';
20
- export { DEFAULT_TRANSPARENT_WRAPPERS, resolveArgv0 } from './resolve-argv0.js';
26
+ export { DEFAULT_EMBEDDED_COMMAND_INTERPRETERS, DEFAULT_TRANSPARENT_WRAPPERS, resolveArgv0, } from './resolve-argv0.js';
21
27
  // Re-exported from the root errors module so a consumer of enumerateCommands/
22
28
  // resolveArgv0 can `import { ShAnalyzeMaxDepthError } from 'sh-ast/analyze'`
23
29
  // without also reaching into the root `sh-ast` entry point. `ShAstError`
@@ -27,4 +33,8 @@ export { DEFAULT_TRANSPARENT_WRAPPERS, resolveArgv0 } from './resolve-argv0.js';
27
33
  // the base class without also importing from the root `sh-ast` entry point
28
34
  // (see #23).
29
35
  export { ShAnalyzeInvalidWrapperSpecError, ShAnalyzeMaxDepthError, ShAstError } from '../errors.js';
36
+ // Re-export the values referenced by the retained operator unions directly from
37
+ // their definitions; the root barrel also owns unrelated parser/schema exports.
38
+ export { Add, AddAssgn, AlternateUnset, AlternateUnsetOrNull, And, AndArit, AndAssgn, AndBoolAssgn, AndStmt, AndTest, AppAll, AppAllClob, AppClob, AppOut, ArrayExclude, ArrayIntersect, Assgn, AssignUnset, AssignUnsetOrNull, BitNegation, Break, CmdIn, CmdInTemp, CmdOut, Comma, DashHdoc, Dec, DefaultUnset, DefaultUnsetOrNull, DplIn, DplOut, Eql, ErrorUnset, ErrorUnsetOrNull, Fallthrough, Geq, GlobExcept, GlobOne, GlobOneOrMore, GlobZeroOrMore, GlobZeroOrOne, Gtr, Hdoc, Inc, Leq, LowerAll, LowerFirst, Lss, MatchEmpty, Minus, Mul, MulAssgn, NamesPrefix, NamesPrefixWords, Neq, Not, Or, OrArit, OrAssgn, OrBoolAssgn, OrStmt, OrTest, OtherParamOps, Pipe, PipeAll, Plus, Pow, PowAssgn, Quo, QuoAssgn, RdrAll, RdrAllClob, RdrClob, RdrIn, RdrInOut, RdrOut, Rem, RemAssgn, RemLargePrefix, RemLargeSuffix, RemSmallPrefix, RemSmallSuffix, Resume, ResumeKorn, Shl, ShlAssgn, Shr, ShrAssgn, Sub, SubAssgn, TernColon, TernQuest, TsAfter, TsBefore, TsBlckSp, TsCharSp, TsDevIno, TsDirect, TsEmpStr, TsEql, TsExec, TsExists, TsFdTerm, TsGIDSet, TsGeq, TsGrpOwn, TsGtr, TsLeq, TsLss, TsMatch, TsMatchShort, TsModif, TsNempStr, TsNeq, TsNewer, TsNmPipe, TsNoEmpty, TsNoMatch, TsNot, TsOlder, TsOptSet, TsParen, TsReMatch, TsRead, TsRefVar, TsRegFile, TsSmbLink, TsSocket, TsSticky, TsUIDSet, TsUsrOwn, TsVarSet, TsWrite, UpperAll, UpperFirst, WordHdoc, Xor, XorAssgn, XorBool, XorBoolAssgn, } from '../../generated/syntax-constants.js';
39
+ export { rawOperator } from '../syntax-operator.js';
30
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUhF,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,4DAA4D;AAC5D,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,aAAa;AACb,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EACL,qCAAqC,EACrC,4BAA4B,EAC5B,YAAY,GACb,MAAM,oBAAoB,CAAC;AAW5B,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,4DAA4D;AAC5D,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,aAAa;AACb,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqBpG,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EACL,GAAG,EACH,QAAQ,EACR,cAAc,EACd,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,OAAO,EACP,MAAM,EACN,YAAY,EACZ,cAAc,EACd,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAQ,EACR,GAAG,EACH,YAAY,EACZ,kBAAkB,EAClB,KAAK,EACL,MAAM,EACN,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,GAAG,EACH,UAAU,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,aAAa,EACb,GAAG,EACH,IAAI,EACJ,GAAG,EACH,GAAG,EACH,QAAQ,EACR,UAAU,EACV,GAAG,EACH,UAAU,EACV,KAAK,EACL,GAAG,EACH,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,GAAG,EACH,GAAG,EACH,EAAE,EACF,MAAM,EACN,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,EACN,aAAa,EACb,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,MAAM,EACN,UAAU,EACV,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,EACR,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,MAAM,EACN,UAAU,EACV,GAAG,EACH,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,OAAO,EACP,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,OAAO,EACP,YAAY,GACb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}