@descent-vtt/spec-guard 0.12.3 → 0.13.1
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/CHANGELOG.md +109 -0
- package/README.md +23 -11
- package/dist/engine.js +2 -2
- package/dist/engine.js.map +1 -1
- package/dist/glob.d.ts +31 -7
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +92 -14
- package/dist/glob.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +26 -0
- package/dist/parser.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +4 -3
- package/dist/runner.js.map +1 -1
- package/dist/types.d.ts +6 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/vendor/spec-core/markdown/links.d.ts +2 -2
- package/dist/vendor/spec-core/markdown/links.d.ts.map +1 -1
- package/dist/vendor/spec-core/markdown/links.js +92 -26
- package/dist/vendor/spec-core/markdown/links.js.map +1 -1
- package/dist/vendor/spec-core/markdown/scan.js +1 -1
- package/dist/vendor/spec-core/markdown/scan.js.map +1 -1
- package/dist/vendor/spec-core/markdown/tables.d.ts.map +1 -1
- package/dist/vendor/spec-core/markdown/tables.js +3 -0
- package/dist/vendor/spec-core/markdown/tables.js.map +1 -1
- package/dist/vendor/spec-core/pattern/automaton.d.ts +15 -2
- package/dist/vendor/spec-core/pattern/automaton.d.ts.map +1 -1
- package/dist/vendor/spec-core/pattern/automaton.js +21 -2
- package/dist/vendor/spec-core/pattern/automaton.js.map +1 -1
- package/dist/vendor/spec-core/pattern/charset.d.ts +5 -1
- package/dist/vendor/spec-core/pattern/charset.d.ts.map +1 -1
- package/dist/vendor/spec-core/pattern/charset.js +8 -1
- package/dist/vendor/spec-core/pattern/charset.js.map +1 -1
- package/dist/vendor/spec-core/pattern/glob.d.ts +14 -3
- package/dist/vendor/spec-core/pattern/glob.d.ts.map +1 -1
- package/dist/vendor/spec-core/pattern/glob.js +55 -16
- package/dist/vendor/spec-core/pattern/glob.js.map +1 -1
- package/dist/vendor/spec-core/text/lines.d.ts.map +1 -1
- package/dist/vendor/spec-core/text/lines.js +10 -0
- package/dist/vendor/spec-core/text/lines.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,115 @@ All notable changes to this project are documented here. Versions follow
|
|
|
5
5
|
may change in a minor release — each such change is listed under **Changed**
|
|
6
6
|
with the flag that restores the previous behaviour.
|
|
7
7
|
|
|
8
|
+
## 0.13.1
|
|
9
|
+
|
|
10
|
+
A trailing `/` on a brace alternative means the directory's contents, except
|
|
11
|
+
in `dirs=`, which names directories; a pattern too large to compile is
|
|
12
|
+
refused where it was thrown; and spec-core is at f9ce375.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **A trailing `/` on a brace alternative means what it means on the
|
|
17
|
+
alternative written alone.** spec-core, copied again from `f9ce375`, reads
|
|
18
|
+
each alternative so, where it read the slash only at the end of the whole
|
|
19
|
+
pattern and dropped it inside braces. `{src/,*.md}` as a spec pattern - in
|
|
20
|
+
`specs` or on the command line - or as a glob given to the API is
|
|
21
|
+
everything under `src` and a `.md` at any depth, where it was a file named
|
|
22
|
+
`src` at any depth; and `docs/{adr/,a.md}` is `docs/a.md` and everything
|
|
23
|
+
under `docs/adr`, where `adr` named a file. `dirs=` keeps its reading, as
|
|
24
|
+
**Fixed** says below. `exclude`, `module` and `order` read as they did:
|
|
25
|
+
`{build/,dist}` is both directories, at any depth, with what they hold. A
|
|
26
|
+
directive's list attribute splits on commas, so `glob=` and `exclude=`
|
|
27
|
+
cannot hold such a group with two alternatives. Both engines find the same files for it:
|
|
28
|
+
spec-guard's shortcut for a pattern of one segment and the globs it hands
|
|
29
|
+
ripgrep read `src/` there as `src/**`, as spec-core does, where the shortcut
|
|
30
|
+
would have answered `src/a.ts` no and ripgrep was handed `src`, which it
|
|
31
|
+
matches against a file of that name and never against what the directory
|
|
32
|
+
holds. Every other command's output is as it was: a run, `prove`, `cites`,
|
|
33
|
+
`query` and `impact` of the five spec-* repositories answer as they did.
|
|
34
|
+
[ADR-0015](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0015-globs-from-spec-core.md)'s
|
|
35
|
+
amendment.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- **`dirs=` reads a trailing `/` on a brace alternative as it reads one
|
|
40
|
+
ending the whole of it: as nothing.** `dirs` names directories, and
|
|
41
|
+
`dirs="a/"` has always chosen `a`. spec-core's copy from `f9ce375`, above,
|
|
42
|
+
reads a slash ending an alternative as the directory's contents, which
|
|
43
|
+
would have made `dirs="{a/,d}"` choose every directory below `a`, and `d`.
|
|
44
|
+
Each alternative now drops its trailing `/`, and a leading `./`, as the
|
|
45
|
+
whole attribute does, so `{a/,d}` chooses `a` and `d`, `{a/,{b/,c}}`
|
|
46
|
+
chooses `a`, `b` and `c`, and `x/{a/,b}` chooses `x/a` and `x/b`, as they
|
|
47
|
+
did in 0.13.0. The braces are written again from what is left, and the
|
|
48
|
+
rule's description and `dirs` in the rules `query` and the MCP server show
|
|
49
|
+
them so: `directories matching {a,d} under svc`. A `\`, a separator in
|
|
50
|
+
`dirs` as in every pattern here, goes the way of a `/`: `dirs="a\\"` chose
|
|
51
|
+
every directory below `a` and now chooses `a`, and each `\` is shown as
|
|
52
|
+
`/`. `{./,d}` is refused, as in 0.13.0: `./` alone is the target, which
|
|
53
|
+
`dirs` never chooses. A refused `dirs` is named as it was written, as every
|
|
54
|
+
other attribute's pattern is, where its `./` and trailing `/` were dropped
|
|
55
|
+
first. `glob=`, `exclude=`, spec patterns, required entries and `cites`
|
|
56
|
+
templates read as they did.
|
|
57
|
+
[ADR-0013](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0013-structure-assertions.md)'s
|
|
58
|
+
amendment.
|
|
59
|
+
- **A pattern too large to compile is refused, not thrown.** A pattern whose
|
|
60
|
+
automaton would pass 65,536 states, as a literal of 65,536 characters does,
|
|
61
|
+
given as a spec pattern on the command line or `--spec` ended a run,
|
|
62
|
+
`query`, `impact`, `cites`, `prove` and `mcp` with a stack trace and exit 1;
|
|
63
|
+
`--exclude` printed `AutomatonTooLarge:` above the usage; and a directive,
|
|
64
|
+
the configuration and a `cites` files template gave the reason alone,
|
|
65
|
+
naming neither the pattern nor where it was written. Each now refuses it
|
|
66
|
+
as it refuses any pattern it cannot read, with spec-core's reason -
|
|
67
|
+
`invalid spec pattern "<pattern>": the pattern compiles to more than 65536
|
|
68
|
+
states` - exit 2 on the command line, for `specs`, `exclude` and `cites` in
|
|
69
|
+
the configuration and for `--exclude`, and in `glob`, `exclude`, `module`,
|
|
70
|
+
`order`, `pattern`, `dirs` and `required` an invalid directive, exit 1.
|
|
71
|
+
[ADR-0015](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0015-globs-from-spec-core.md)'s
|
|
72
|
+
amendment.
|
|
73
|
+
|
|
74
|
+
## 0.13.0
|
|
75
|
+
|
|
76
|
+
Front matter that opens and never closes is a warning, and spec-core is at
|
|
77
|
+
65ef842. Nothing a run fails on has changed; a report can hold one more kind
|
|
78
|
+
of warning.
|
|
79
|
+
|
|
80
|
+
### Added
|
|
81
|
+
|
|
82
|
+
- **Front matter that never closes is a warning.** A first line of `---`,
|
|
83
|
+
or `+++`, that no later line closes opens no front matter: the document is
|
|
84
|
+
read as one without any, as every renderer shows it, so a `status` under
|
|
85
|
+
it decides nothing ahead of a `## Status` section or a label -
|
|
86
|
+
`status: superseded` above a section saying `Accepted` ran its rules - and
|
|
87
|
+
nothing said so. The report now warns on line 1 that none of it is read as
|
|
88
|
+
front matter, and says to close it with `---`, or `+++` for TOML, on a
|
|
89
|
+
line of its own: in the human report, in `specWarnings` in the `--json` of
|
|
90
|
+
a run and of `prove` with the kind `unclosed-front-matter`, in SARIF, in
|
|
91
|
+
the GitHub and GitLab annotations, and in the MCP server's
|
|
92
|
+
`check_architecture`. It fails nothing, under `--strict` either, and
|
|
93
|
+
nothing is read differently: the status comes from where it came from. A
|
|
94
|
+
first line with only blank lines after it is no warning. None of the 164
|
|
95
|
+
Markdown files of the five spec-* repositories warns.
|
|
96
|
+
`SpecWarning['kind']` gains `'unclosed-front-matter'`; no `formatVersion`
|
|
97
|
+
moves.
|
|
98
|
+
[ADR-0002](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0002-directive-format.md)'s
|
|
99
|
+
and [ADR-0010](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0010-spec-status.md)'s
|
|
100
|
+
amendments.
|
|
101
|
+
|
|
102
|
+
### Changed
|
|
103
|
+
|
|
104
|
+
- **spec-core is copied again, from `65ef842`**, `markdown` alone, and
|
|
105
|
+
verified by hash. Its scanner reads link reference definitions as
|
|
106
|
+
CommonMark does: `[r]: r.md` on the line under a paragraph's text is that
|
|
107
|
+
text and defines nothing, a label holds no unescaped bracket and at most
|
|
108
|
+
999 characters, and a second bracket that is no label leaves the first
|
|
109
|
+
read as a shortcut. Nothing here reads a Markdown link, so nothing a
|
|
110
|
+
command reports changes: every directive, error, status, title and
|
|
111
|
+
warning reads as it did in the 164 Markdown files of the five spec-*
|
|
112
|
+
repositories and in the 95 definition cases spec-core checked against
|
|
113
|
+
commonmark.js, each set inside a spec, and a run, `prove`, `cites`,
|
|
114
|
+
`query` and `impact` of this repository answer as they did.
|
|
115
|
+
[ADR-0015](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0015-globs-from-spec-core.md).
|
|
116
|
+
|
|
8
117
|
## 0.12.3
|
|
9
118
|
|
|
10
119
|
A query takes about half the time, the refusal of `**` inside a name is
|
package/README.md
CHANGED
|
@@ -160,9 +160,9 @@ can never exclude anything:
|
|
|
160
160
|
|
|
161
161
|
So is any pattern the glob engine cannot read - an unclosed `[` or `{`, an
|
|
162
162
|
extended glob such as `+(a|b)`, a range that runs backwards, `**` inside a
|
|
163
|
-
name - rather than being read as a literal that
|
|
164
|
-
for `glob`, `module`, `order` and the
|
|
165
|
-
pattern.
|
|
163
|
+
name, one too large to compile - rather than being read as a literal that
|
|
164
|
+
excludes nothing. The same goes for `glob`, `module`, `order` and the
|
|
165
|
+
structure rules' patterns, and for a spec pattern.
|
|
166
166
|
|
|
167
167
|
`**` means any number of directories only as a whole segment. `docs/**.md` is
|
|
168
168
|
refused, with the two ways to say what was meant, written from the pattern:
|
|
@@ -187,8 +187,11 @@ List attributes accept commas or whitespace, so both of these work:
|
|
|
187
187
|
(A path containing a space therefore cannot be written; there is no quoting
|
|
188
188
|
inside an attribute value. Nor can a brace group with a comma in it:
|
|
189
189
|
`glob="*.{ts,tsx}"` is the two patterns `*.{ts` and `tsx}`, and is refused with a
|
|
190
|
-
message that says so. Write `glob="*.ts, *.tsx"`. A configuration's `exclude`
|
|
191
|
-
|
|
190
|
+
message that says so. Write `glob="*.ts, *.tsx"`. A configuration's `exclude` and
|
|
191
|
+
`specs` are JSON arrays, where a brace group keeps its commas, and a trailing
|
|
192
|
+
`/` on an alternative means what it means on a whole pattern: `{build/,dist}`
|
|
193
|
+
in `exclude` is both directories and what they hold, and `{docs/,README.md}`
|
|
194
|
+
in `specs` is everything under `docs`, and the README.)
|
|
192
195
|
|
|
193
196
|
### `comments` - the note about a deletion is not the deletion
|
|
194
197
|
|
|
@@ -568,7 +571,10 @@ files one by one. Each directive makes exactly one of three claims:
|
|
|
568
571
|
against the path from the root.
|
|
569
572
|
- **`required`** - every directory holds every entry. Without `dirs` the
|
|
570
573
|
directories are the targets; `dirs="*"` means their immediate children and
|
|
571
|
-
`dirs="**"` every directory below them.
|
|
574
|
+
`dirs="**"` every directory below them. `dirs` names directories, so a
|
|
575
|
+
trailing `/` there changes nothing, on the whole of it or on an alternative
|
|
576
|
+
of its braces: `dirs="{api/,web}"` is `api` and `web`, where a spec
|
|
577
|
+
pattern reads `api/` there as what `api` holds. An entry may be a path
|
|
572
578
|
(`src/index.ts`), may end in a glob (`*.csproj`), and must be a directory
|
|
573
579
|
when it ends in `/`.
|
|
574
580
|
- **`partner`** - every file has a partner, named by a template.
|
|
@@ -673,7 +679,7 @@ Passes when every listed path exists relative to `--root`. Directories count.
|
|
|
673
679
|
| `order` | layers | The layers, from the one everything may depend on to the one that may depend on everything |
|
|
674
680
|
| `pattern` | structure | The names every file in scope must match one of |
|
|
675
681
|
| `required` | structure | The entries every chosen directory must hold; a trailing `/` means a directory |
|
|
676
|
-
| `dirs` | structure, with `required` | Which directories below each target: `*` for children, `**` for all |
|
|
682
|
+
| `dirs` | structure, with `required` | Which directories below each target: `*` for children, `**` for all; a trailing `/` changes nothing, in braces or out |
|
|
677
683
|
| `partner` | structure | Partner templates, any one of which must exist: `[name].test.[ext]` |
|
|
678
684
|
| `types` | import assertions, layers, cycles | `include` (default) or `ignore` for `import type` |
|
|
679
685
|
| `dynamic` | cycles | `include` (default) or `ignore` for `import('x')` |
|
|
@@ -786,9 +792,12 @@ only read above the first section heading). A front-matter `status` wins even
|
|
|
786
792
|
when its value cannot be read - `status: "accepted" (2024-05-01)`, text after
|
|
787
793
|
a closing quote - and then the document stays in force, the section and the
|
|
788
794
|
label are not read in its place, and the report warns on the key's line with
|
|
789
|
-
the reason.
|
|
790
|
-
|
|
791
|
-
|
|
795
|
+
the reason. Front matter that never closes is no front matter, as every
|
|
796
|
+
renderer shows it: the document is read as one without any, so a `status` in
|
|
797
|
+
it decides nothing ahead of the section or the label, and the report warns on
|
|
798
|
+
line 1 that it was not read. Headings are read as CommonMark reads them, so an
|
|
799
|
+
underlined `Status` is the section and a `## Status` kept in a comment is not.
|
|
800
|
+
Anything else - `Provisional`, `In review`, a
|
|
792
801
|
misspelled `Supersedded`, or no status at all - keeps enforcing. That asymmetry
|
|
793
802
|
is deliberate: an unanticipated word that keeps enforcing is a visible failure
|
|
794
803
|
with an obvious fix, while one that stops enforcing is a green build over a rule
|
|
@@ -1562,7 +1571,10 @@ report says how many there were and where, on one line (every one under
|
|
|
1562
1571
|
`--verbose`, and in `maskedDirectives` in JSON), so text read as code by
|
|
1563
1572
|
accident is not a rule gone quiet without a word. A code fence or raw-text
|
|
1564
1573
|
block that is never closed, which makes the rest of its document code, is a
|
|
1565
|
-
warning on its opening line.
|
|
1574
|
+
warning on its opening line. So is front matter that opens on the first line
|
|
1575
|
+
and never closes: none of it is read as front matter, and the warning, on
|
|
1576
|
+
line 1, says to close it with `---`, or `+++` for TOML, on a line of its own.
|
|
1577
|
+
Neither fails a run, under `--strict` either.
|
|
1566
1578
|
|
|
1567
1579
|
**A document's lifecycle status is read; a directive's is not.** Status is
|
|
1568
1580
|
document-level and visible in every rendered Markdown view. A per-directive
|
package/dist/engine.js
CHANGED
|
@@ -269,13 +269,13 @@ export function buildRipgrepArgs(request, patterns = [request.symbol]) {
|
|
|
269
269
|
// (ADR-0015), and the same rule counted differently on either side of the
|
|
270
270
|
// size at which `auto` changes engine.
|
|
271
271
|
for (const glob of options.globs) {
|
|
272
|
-
for (const each of ripgrepGlobs(normalizeGlob(glob)))
|
|
272
|
+
for (const each of ripgrepGlobs(normalizeGlob(glob), 'include'))
|
|
273
273
|
args.push('--glob', each);
|
|
274
274
|
}
|
|
275
275
|
// ripgrep reads a leading "!" as an exclusion, with gitignore semantics that
|
|
276
276
|
// createExcludeMatcher reads the same way for the JavaScript engine.
|
|
277
277
|
for (const glob of options.excludeGlobs) {
|
|
278
|
-
for (const each of ripgrepGlobs(normalizeExclude(glob)))
|
|
278
|
+
for (const each of ripgrepGlobs(normalizeExclude(glob), 'exclude'))
|
|
279
279
|
args.push('--glob', `!${each}`);
|
|
280
280
|
}
|
|
281
281
|
for (const name of options.scope.skippedDirectories.keys())
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/glob.d.ts
CHANGED
|
@@ -56,6 +56,22 @@ export declare function normalizeGlob(pattern: string): string;
|
|
|
56
56
|
* `build/` did not exclude a file named `build`. ADR-0014.
|
|
57
57
|
*/
|
|
58
58
|
export declare function normalizeExclude(pattern: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* A `dirs=` pattern in the one form it is read in: forward slashes, no
|
|
61
|
+
* surrounding space, and no leading `./` or trailing `/`, on the whole of it
|
|
62
|
+
* and on each alternative of its braces. A pattern spec-core refuses keeps
|
|
63
|
+
* its braces as written, since they may not close.
|
|
64
|
+
*
|
|
65
|
+
* `dirs=` names directories, so a trailing slash there says only that the
|
|
66
|
+
* name is a directory's, and the attribute always dropped the one ending it:
|
|
67
|
+
* `dirs="a/"` is `a`. spec-core, from its copy of `f9ce375`, reads a slash
|
|
68
|
+
* ending a brace alternative as the directory's contents, and `{a/,d}` became
|
|
69
|
+
* every directory below `a`, and `d`, where it had been `a` and `d`. So each
|
|
70
|
+
* alternative is read as the whole is, and the braces written again from what
|
|
71
|
+
* is left: `{a/,d}` is `{a,d}`, and `x/{a/,b}` is `{x/a,x/b}`. A `\` is a
|
|
72
|
+
* separator here as everywhere, so `{a\/,d}` is `{a,d}` too. ADR-0013.
|
|
73
|
+
*/
|
|
74
|
+
export declare function normalizeDirs(pattern: string): string;
|
|
59
75
|
/**
|
|
60
76
|
* Which part of a path decides whether a pattern matches it: its last segment,
|
|
61
77
|
* any one of its segments, or only the whole of it.
|
|
@@ -76,8 +92,10 @@ export type PatternShape = 'last' | 'any' | 'whole';
|
|
|
76
92
|
* read 33.
|
|
77
93
|
*/
|
|
78
94
|
export declare const MAX_READINGS = 4096;
|
|
95
|
+
/** A pattern read as `glob=` reads it, or as `exclude=` does. */
|
|
96
|
+
export type PatternKind = 'include' | 'exclude';
|
|
79
97
|
/** What of a path decides whether a glob or an exclusion matches it. */
|
|
80
|
-
export declare function patternShape(pattern: string, kind:
|
|
98
|
+
export declare function patternShape(pattern: string, kind: PatternKind): PatternShape;
|
|
81
99
|
/**
|
|
82
100
|
* A predicate over paths from one compiled glob, asking the glob no more often
|
|
83
101
|
* than the pattern's shape requires.
|
|
@@ -114,8 +132,13 @@ export declare function modulePatternError(pattern: string, kind?: 'module' | 'l
|
|
|
114
132
|
* fail (ADR-0016).
|
|
115
133
|
*/
|
|
116
134
|
export declare function moduleWitness(pattern: string): string | null;
|
|
117
|
-
/**
|
|
118
|
-
|
|
135
|
+
/**
|
|
136
|
+
* Why a pattern read against a whole path - `dirs=`, a required entry's name -
|
|
137
|
+
* cannot be read, or null. The refusal names `written`, the pattern as the
|
|
138
|
+
* writer spelled it: `dirs=` is read after `normalizeDirs` rewrites it, and
|
|
139
|
+
* `{./,d}` read is `{,d}`.
|
|
140
|
+
*/
|
|
141
|
+
export declare function pathPatternError(pattern: string, written?: string): string | null;
|
|
119
142
|
/**
|
|
120
143
|
* Why an exclude pattern can never leave anything out, or null when it can.
|
|
121
144
|
*
|
|
@@ -184,11 +207,12 @@ export declare function createPathMatcher(pattern: string): (relativePath: strin
|
|
|
184
207
|
* - it refuses a `}` that closes nothing, which spec-core reads as itself.
|
|
185
208
|
*
|
|
186
209
|
* So the braces are expanded here, one glob per alternative, each alternative
|
|
187
|
-
* is cleaned of `.` and empty segments and anchored or
|
|
188
|
-
* and a lone `}` is written as the class `[}]`. Only ever
|
|
189
|
-
* spec-core accepts, since a directive's are refused before
|
|
210
|
+
* is read as `kind` reads it, cleaned of `.` and empty segments and anchored or
|
|
211
|
+
* not by its own shape, and a lone `}` is written as the class `[}]`. Only ever
|
|
212
|
+
* given a pattern spec-core accepts, since a directive's are refused before
|
|
213
|
+
* anything runs.
|
|
190
214
|
*/
|
|
191
|
-
export declare function ripgrepGlobs(normalized: string): string[];
|
|
215
|
+
export declare function ripgrepGlobs(normalized: string, kind: PatternKind): string[];
|
|
192
216
|
export interface WalkOptions {
|
|
193
217
|
/**
|
|
194
218
|
* What may be walked. Defaults to DEFAULT_SCOPE.
|
package/dist/glob.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAU,KAAK,EAAE,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAiB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAA0B,KAAK,IAAI,EAAoC,MAAM,qCAAqC,CAAC;AAI1H,0DAA0D;AAC1D,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,qEAAqE;AACrE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAiE5F;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"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"}
|
package/dist/glob.js
CHANGED
|
@@ -129,6 +129,49 @@ export function normalizeGlob(pattern) {
|
|
|
129
129
|
export function normalizeExclude(pattern) {
|
|
130
130
|
return toPosix(pattern.trim()).replace(/^\.\//, '').replace(/\/+$/, '');
|
|
131
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* A `dirs=` pattern in the one form it is read in: forward slashes, no
|
|
134
|
+
* surrounding space, and no leading `./` or trailing `/`, on the whole of it
|
|
135
|
+
* and on each alternative of its braces. A pattern spec-core refuses keeps
|
|
136
|
+
* its braces as written, since they may not close.
|
|
137
|
+
*
|
|
138
|
+
* `dirs=` names directories, so a trailing slash there says only that the
|
|
139
|
+
* name is a directory's, and the attribute always dropped the one ending it:
|
|
140
|
+
* `dirs="a/"` is `a`. spec-core, from its copy of `f9ce375`, reads a slash
|
|
141
|
+
* ending a brace alternative as the directory's contents, and `{a/,d}` became
|
|
142
|
+
* every directory below `a`, and `d`, where it had been `a` and `d`. So each
|
|
143
|
+
* alternative is read as the whole is, and the braces written again from what
|
|
144
|
+
* is left: `{a/,d}` is `{a,d}`, and `x/{a/,b}` is `{x/a,x/b}`. A `\` is a
|
|
145
|
+
* separator here as everywhere, so `{a\/,d}` is `{a,d}` too. ADR-0013.
|
|
146
|
+
*/
|
|
147
|
+
export function normalizeDirs(pattern) {
|
|
148
|
+
const whole = bareDirectory(toPosix(pattern.trim()));
|
|
149
|
+
// The helpers below expect braces that close, which only a pattern spec-core
|
|
150
|
+
// accepts is sure to have.
|
|
151
|
+
if (!readWhole(whole).parsed.ok)
|
|
152
|
+
return whole;
|
|
153
|
+
// What spec-core takes off the front before it reads braces stays in front
|
|
154
|
+
// of them, since a leading `/` there roots the pattern and one inside braces
|
|
155
|
+
// does not: `/{a/,d}` names paths under the filesystem's root, as `/a` does.
|
|
156
|
+
const body = whole.replace(/^(?:\.?\/)+/, '');
|
|
157
|
+
const written = expandBraces(lex(body)).map((tokens) => tokens.map(asCharacter).join(''));
|
|
158
|
+
const read = written.map(bareDirectory);
|
|
159
|
+
return read.every((alternative, index) => alternative === written[index])
|
|
160
|
+
? whole
|
|
161
|
+
: `${whole.slice(0, whole.length - body.length)}{${read.join(',')}}`;
|
|
162
|
+
}
|
|
163
|
+
/** A pattern, or one alternative of one, without the `./` it starts with or the slashes it ends with. */
|
|
164
|
+
function bareDirectory(pattern) {
|
|
165
|
+
return pattern.replace(/^\.\//, '').replace(/\/+$/, '');
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* A brace or a comma no group took, spelled as the class that matches it, so
|
|
169
|
+
* braces written around it again do not read it as syntax. A `{` is never
|
|
170
|
+
* left over: every one closes in a pattern spec-core accepted.
|
|
171
|
+
*/
|
|
172
|
+
function asCharacter(token) {
|
|
173
|
+
return token === '}' || token === ',' ? `[${token}]` : token;
|
|
174
|
+
}
|
|
132
175
|
/* --------------------------------------------------------------- readings */
|
|
133
176
|
// Case-sensitive, every one: the family's rule for paths, since git's are and a
|
|
134
177
|
// result must not depend on the host it ran on (spec-core ADR-0005).
|
|
@@ -197,7 +240,10 @@ function readInclude(pattern) {
|
|
|
197
240
|
if (normalized.startsWith('/'))
|
|
198
241
|
return { parsed: parseGlob(normalized.replace(/\/+/, ''), WHOLE), shape: 'whole' };
|
|
199
242
|
const parsed = parseGlob(normalized, RIPGREP);
|
|
200
|
-
|
|
243
|
+
// The kind decides here only whether a trailing slash on an alternative
|
|
244
|
+
// adds a segment, and any text after the slash is one: a kind naming
|
|
245
|
+
// neither reading, whose lookup adds `undefined`, gives the same shape.
|
|
246
|
+
return { parsed, shape: parsed.ok && oneSegment(normalized, 'include') ? 'last' : 'whole' };
|
|
201
247
|
});
|
|
202
248
|
}
|
|
203
249
|
/**
|
|
@@ -209,7 +255,7 @@ function readExclude(pattern) {
|
|
|
209
255
|
return excludeReadings(pattern, () => {
|
|
210
256
|
const normalized = normalizeExclude(pattern);
|
|
211
257
|
const parsed = parseGlob(normalized, GITIGNORE);
|
|
212
|
-
const floating = parsed.ok && !normalized.startsWith('/') && oneSegment(normalized);
|
|
258
|
+
const floating = parsed.ok && !normalized.startsWith('/') && oneSegment(normalized, 'exclude');
|
|
213
259
|
return { parsed, shape: floating ? 'any' : 'whole' };
|
|
214
260
|
});
|
|
215
261
|
}
|
|
@@ -225,9 +271,9 @@ export function patternShape(pattern, kind) {
|
|
|
225
271
|
function segmentsOf(pattern) {
|
|
226
272
|
return pattern.split('/').filter((segment) => segment !== '' && segment !== '.');
|
|
227
273
|
}
|
|
228
|
-
/** Whether every alternative of a pattern spec-core accepted is one segment. */
|
|
229
|
-
function oneSegment(pattern) {
|
|
230
|
-
return
|
|
274
|
+
/** Whether every alternative of a pattern spec-core accepted is one segment, read as `kind` reads it. */
|
|
275
|
+
function oneSegment(pattern, kind) {
|
|
276
|
+
return alternatives(pattern, kind).every((alternative) => segmentsOf(alternative).length === 1);
|
|
231
277
|
}
|
|
232
278
|
/** The predicate a reading produced, or an error naming the pattern as it was written. */
|
|
233
279
|
function matcherOf(reading, kind, pattern) {
|
|
@@ -302,9 +348,14 @@ export function moduleWitness(pattern) {
|
|
|
302
348
|
const found = globWitness([parsed.glob]);
|
|
303
349
|
return found.kind === 'found' ? found.path : null;
|
|
304
350
|
}
|
|
305
|
-
/**
|
|
306
|
-
|
|
307
|
-
|
|
351
|
+
/**
|
|
352
|
+
* Why a pattern read against a whole path - `dirs=`, a required entry's name -
|
|
353
|
+
* cannot be read, or null. The refusal names `written`, the pattern as the
|
|
354
|
+
* writer spelled it: `dirs=` is read after `normalizeDirs` rewrites it, and
|
|
355
|
+
* `{./,d}` read is `{,d}`.
|
|
356
|
+
*/
|
|
357
|
+
export function pathPatternError(pattern, written = pattern) {
|
|
358
|
+
return refusal(readWhole(pattern), 'glob', written);
|
|
308
359
|
}
|
|
309
360
|
/**
|
|
310
361
|
* Why an exclude pattern can never leave anything out, or null when it can.
|
|
@@ -406,14 +457,15 @@ export function createPathMatcher(pattern) {
|
|
|
406
457
|
* - it refuses a `}` that closes nothing, which spec-core reads as itself.
|
|
407
458
|
*
|
|
408
459
|
* So the braces are expanded here, one glob per alternative, each alternative
|
|
409
|
-
* is cleaned of `.` and empty segments and anchored or
|
|
410
|
-
* and a lone `}` is written as the class `[}]`. Only ever
|
|
411
|
-
* spec-core accepts, since a directive's are refused before
|
|
460
|
+
* is read as `kind` reads it, cleaned of `.` and empty segments and anchored or
|
|
461
|
+
* not by its own shape, and a lone `}` is written as the class `[}]`. Only ever
|
|
462
|
+
* given a pattern spec-core accepts, since a directive's are refused before
|
|
463
|
+
* anything runs.
|
|
412
464
|
*/
|
|
413
|
-
export function ripgrepGlobs(normalized) {
|
|
465
|
+
export function ripgrepGlobs(normalized, kind) {
|
|
414
466
|
const rooted = normalized.startsWith('/');
|
|
415
|
-
const globs =
|
|
416
|
-
const segments = segmentsOf(
|
|
467
|
+
const globs = alternatives(normalized, kind).map((alternative) => {
|
|
468
|
+
const segments = segmentsOf(alternative);
|
|
417
469
|
const text = segments.join('/');
|
|
418
470
|
// ripgrep reads a leading `!` as negation and spec-core reads it as a
|
|
419
471
|
// character. Only an alternative can start with one - a pattern that does
|
|
@@ -424,6 +476,32 @@ export function ripgrepGlobs(normalized) {
|
|
|
424
476
|
});
|
|
425
477
|
return [...new Set(globs)];
|
|
426
478
|
}
|
|
479
|
+
/**
|
|
480
|
+
* What a trailing `/` on an alternative adds, by how the pattern is read. To
|
|
481
|
+
* `glob=` it is the directory's contents, as `normalizeGlob` reads `src/`. To
|
|
482
|
+
* `exclude=` it adds nothing: the slash is dropped with the empty segment after
|
|
483
|
+
* it, and the directory excluded with everything in it.
|
|
484
|
+
*/
|
|
485
|
+
const TRAILING_SLASH = { include: '**', exclude: '' };
|
|
486
|
+
/**
|
|
487
|
+
* The patterns a pattern's braces stand for, each read as spec-core reads an
|
|
488
|
+
* alternative: as it would be written alone, a trailing `/` included. So
|
|
489
|
+
* `{src/,*.md}` is `src/**` or a `.md` at any depth to `glob=`, and
|
|
490
|
+
* `{build/,dist}` is `build` or `dist` to `exclude=`.
|
|
491
|
+
*
|
|
492
|
+
* Until spec-core's copy from `f9ce375` the slash was read only at the end of
|
|
493
|
+
* the whole pattern, so inside braces it was dropped, and `{src/,*.md}` was a
|
|
494
|
+
* name at any depth. Read that way here too, with spec-core reading contents,
|
|
495
|
+
* the segment shortcut asked `a.ts` about `src/a.ts` and answered no, and
|
|
496
|
+
* ripgrep was handed `src`, which it matches against a file named `src` at any
|
|
497
|
+
* depth and never against what is under the directory. ADR-0015.
|
|
498
|
+
*/
|
|
499
|
+
function alternatives(pattern, kind) {
|
|
500
|
+
return expandBraces(lex(pattern)).map((tokens) => {
|
|
501
|
+
const alternative = tokens.map((token) => (token === '}' ? '[}]' : token)).join('');
|
|
502
|
+
return alternative.endsWith('/') ? `${alternative}${TRAILING_SLASH[kind]}` : alternative;
|
|
503
|
+
});
|
|
504
|
+
}
|
|
427
505
|
/**
|
|
428
506
|
* A pattern spec-core accepted, cut into classes, braces, commas and the runs
|
|
429
507
|
* of anything else between them. A class is one token, so what it holds is
|