@descent-vtt/spec-guard 0.16.0 → 0.18.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/CHANGELOG.md +89 -4
- package/README.md +478 -512
- package/dist/cites.d.ts.map +1 -1
- package/dist/cites.js +5 -1
- package/dist/cites.js.map +1 -1
- package/dist/cli.d.ts +3 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -4
- package/dist/cli.js.map +1 -1
- package/dist/glob.d.ts +25 -18
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +127 -136
- package/dist/glob.js.map +1 -1
- package/dist/impact.d.ts.map +1 -1
- package/dist/impact.js +12 -2
- package/dist/impact.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +5 -3
- package/dist/mcp.js.map +1 -1
- package/dist/parser.d.ts +11 -9
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +128 -32
- package/dist/parser.js.map +1 -1
- package/dist/prove.d.ts.map +1 -1
- package/dist/prove.js +2 -1
- package/dist/prove.js.map +1 -1
- package/dist/reporter.d.ts +12 -4
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +199 -48
- package/dist/reporter.js.map +1 -1
- package/dist/runner.d.ts +12 -2
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +13 -4
- package/dist/runner.js.map +1 -1
- package/dist/types.d.ts +24 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/vendor/spec-core/markdown/frontmatter.d.ts +11 -1
- package/dist/vendor/spec-core/markdown/frontmatter.d.ts.map +1 -1
- package/dist/vendor/spec-core/markdown/frontmatter.js +20 -3
- package/dist/vendor/spec-core/markdown/frontmatter.js.map +1 -1
- package/dist/vendor/spec-core/pattern/glob.d.ts +85 -0
- package/dist/vendor/spec-core/pattern/glob.d.ts.map +1 -1
- package/dist/vendor/spec-core/pattern/glob.js +207 -17
- package/dist/vendor/spec-core/pattern/glob.js.map +1 -1
- package/dist/vendor/spec-core/pattern/index.d.ts +2 -2
- package/dist/vendor/spec-core/pattern/index.d.ts.map +1 -1
- package/dist/vendor/spec-core/pattern/index.js +1 -1
- package/dist/vendor/spec-core/pattern/index.js.map +1 -1
- package/dist/vendor/spec-core/text/index.d.ts +1 -0
- package/dist/vendor/spec-core/text/index.d.ts.map +1 -1
- package/dist/vendor/spec-core/text/index.js +1 -0
- package/dist/vendor/spec-core/text/index.js.map +1 -1
- package/dist/vendor/spec-core/text/width.d.ts +31 -0
- package/dist/vendor/spec-core/text/width.d.ts.map +1 -0
- package/dist/vendor/spec-core/text/width.js +113 -0
- package/dist/vendor/spec-core/text/width.js.map +1 -0
- package/package.json +1 -1
package/dist/glob.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import path from 'node:path';
|
|
17
17
|
import { nodeIo } from './io.js';
|
|
18
18
|
import { DEFAULT_SCOPE } from './scope.js';
|
|
19
|
-
import { globWitness, parseGlob } from './vendor/spec-core/pattern/index.js';
|
|
19
|
+
import { globAlternatives, globWitness, parseGlob, } from './vendor/spec-core/pattern/index.js';
|
|
20
20
|
const MAGIC_RE = /[*?[\]{}]/;
|
|
21
21
|
/** True when the pattern contains glob metacharacters. */
|
|
22
22
|
export function isGlob(pattern) {
|
|
@@ -105,8 +105,10 @@ export function globToRegExp(pattern, options = {}) {
|
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
107
|
* An include glob in the one form both engines are given: forward slashes, no
|
|
108
|
-
* surrounding space, no leading
|
|
109
|
-
* under the directory.
|
|
108
|
+
* surrounding space, no leading `./` where taking it off changes nothing, and
|
|
109
|
+
* a trailing slash read as everything under the directory. It reads as the
|
|
110
|
+
* glob as written reads, and ripgrep's globs are made from it
|
|
111
|
+
* (`ripgrepGlobs`).
|
|
110
112
|
*
|
|
111
113
|
* ripgrep used to be handed the glob as written, and matched nothing for
|
|
112
114
|
* `./src/*.ts` or `src/` while the scanner matched the files. ADR-0014. The
|
|
@@ -114,23 +116,44 @@ export function globToRegExp(pattern, options = {}) {
|
|
|
114
116
|
* as part of a name.
|
|
115
117
|
*/
|
|
116
118
|
export function normalizeGlob(pattern) {
|
|
117
|
-
return slashAsContents(
|
|
119
|
+
return slashAsContents(withoutDotSlash(trimmed(pattern)));
|
|
118
120
|
}
|
|
119
|
-
/**
|
|
120
|
-
|
|
121
|
-
|
|
121
|
+
/**
|
|
122
|
+
* A pattern as every reading here takes it: without the space around it,
|
|
123
|
+
* which spec-core trims too, and with each `\` a `/`. What it starts with is
|
|
124
|
+
* spec-core's to read, so a `./` before a `!` keeps the `!` part of a name,
|
|
125
|
+
* and one before braces keeps a slash they give from rooting a text.
|
|
126
|
+
*/
|
|
127
|
+
function trimmed(pattern) {
|
|
128
|
+
return toPosix(pattern.trim());
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* A pattern without the `./` it starts with and the slashes after it, which
|
|
132
|
+
* name the directory the pattern is read from - but where taking them off
|
|
133
|
+
* would change what spec-core reads. Before a `!` the `./` is what makes `!a`
|
|
134
|
+
* a name and not a negation. Before braces that give a text starting with
|
|
135
|
+
* `/`, it is what keeps that text from being rooted: `./{/docs,x}` is `docs`
|
|
136
|
+
* or `x` at any depth, where `{/docs,x}` roots `docs`. Only the first `./`
|
|
137
|
+
* goes, so `././a` is `./a`; the slashes after it go with it, as spec-core
|
|
138
|
+
* reads them from its copy of `5666c96`, so `.//a` is `a`, where it was `/a`.
|
|
139
|
+
*/
|
|
140
|
+
function withoutDotSlash(pattern) {
|
|
141
|
+
const rest = pattern.replace(/^\.\/+/, '');
|
|
142
|
+
// `rest` starts with no `/`, so a text rooted there is rooted by its own.
|
|
143
|
+
const read = globAlternatives(rest);
|
|
144
|
+
return rest.startsWith('!') || (read.ok && read.alternatives.some(({ rooted }) => rooted)) ? pattern : rest;
|
|
122
145
|
}
|
|
123
146
|
/** A glob with a trailing slash written as everything under the directory. */
|
|
124
147
|
function slashAsContents(written) {
|
|
125
148
|
return written.endsWith('/') ? `${written}**` : written;
|
|
126
149
|
}
|
|
127
150
|
/**
|
|
128
|
-
* A glob parsed
|
|
129
|
-
* it as written, read as `options` say.
|
|
151
|
+
* A glob parsed as spec-core reads it, a trailing slash included, unless
|
|
152
|
+
* spec-core refuses it as written, read as `options` say.
|
|
130
153
|
*
|
|
131
154
|
* spec-core reads a trailing `/` as the directory's contents too, so asking it
|
|
132
155
|
* about the glob as written changes the reading of none it accepts. But `**`
|
|
133
|
-
* names a path whatever comes before it, and `
|
|
156
|
+
* names a path whatever comes before it, and `slashAsContents` adds it before
|
|
134
157
|
* spec-core is asked: `glob="/./"` and `glob="{./}/"` were read as `/./**`
|
|
135
158
|
* and `{./}/**`, every path, where spec-core refuses `/./` as it refuses `/.`,
|
|
136
159
|
* and the `.//` the braces give as it refuses `./`. A glob refused as read
|
|
@@ -148,60 +171,66 @@ function parseAsWritten(written, options) {
|
|
|
148
171
|
}
|
|
149
172
|
/**
|
|
150
173
|
* An `exclude` pattern in the one form both engines are given: forward slashes,
|
|
151
|
-
* no surrounding space, no leading `./`
|
|
152
|
-
* stays, because it means something: see
|
|
174
|
+
* no surrounding space, no leading `./` where taking it off changes nothing,
|
|
175
|
+
* and no trailing slash. A leading `/` stays, because it means something: see
|
|
176
|
+
* `createExcludeMatcher`.
|
|
153
177
|
*
|
|
154
178
|
* ripgrep used to be handed the pattern as written, and read three shapes
|
|
155
179
|
* differently from the scanner. `./build` and `src\build` excluded nothing, and
|
|
156
180
|
* `build/` did not exclude a file named `build`. ADR-0014.
|
|
157
181
|
*/
|
|
158
182
|
export function normalizeExclude(pattern) {
|
|
159
|
-
return
|
|
183
|
+
return withoutDotSlash(trimmed(pattern)).replace(/\/+$/, '');
|
|
160
184
|
}
|
|
161
185
|
/**
|
|
162
186
|
* A `dirs=` pattern in the one form it is read in: forward slashes, no
|
|
163
|
-
* surrounding space,
|
|
164
|
-
* and on each alternative of its braces.
|
|
165
|
-
* its braces as written, since they may not
|
|
187
|
+
* surrounding space, no leading `./` where taking it off changes nothing, and
|
|
188
|
+
* no trailing `/`, on the whole of it and on each alternative of its braces.
|
|
189
|
+
* A pattern spec-core refuses keeps its braces as written, since they may not
|
|
190
|
+
* close.
|
|
166
191
|
*
|
|
167
192
|
* `dirs=` names directories, so a trailing slash there says only that the
|
|
168
193
|
* name is a directory's, and the attribute always dropped the one ending it:
|
|
169
194
|
* `dirs="a/"` is `a`. spec-core, from its copy of `f9ce375`, reads a slash
|
|
170
195
|
* ending a brace alternative as the directory's contents, and `{a/,d}` became
|
|
171
|
-
* every directory below `a`, and `d`, where it had been `a` and `d`. So
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* separator here as everywhere, so `{a\/,d}` is
|
|
196
|
+
* every directory below `a`, and `d`, where it had been `a` and `d`. So the
|
|
197
|
+
* braces are written again from the alternatives spec-core reads, each
|
|
198
|
+
* without the slashes it ends with: `{a/,d}` is `{a,d}`, and `x/{a/,b}` is
|
|
199
|
+
* `{x/a,x/b}`. A `\` is a separator here as everywhere, so `{a\/,d}` is
|
|
200
|
+
* `{a,d}` too. ADR-0013.
|
|
175
201
|
*/
|
|
176
202
|
export function normalizeDirs(pattern) {
|
|
177
|
-
const whole = bareDirectory(
|
|
178
|
-
//
|
|
179
|
-
// accepts is sure to have.
|
|
203
|
+
const whole = bareDirectory(trimmed(pattern));
|
|
204
|
+
// Braces that do not close are read by nothing below, and only a pattern
|
|
205
|
+
// spec-core accepts is sure to have none.
|
|
180
206
|
if (!readWhole(whole).parsed.ok)
|
|
181
207
|
return whole;
|
|
208
|
+
const read = textsOf(whole);
|
|
209
|
+
// Only a slash ending an alternative reads other than dirs= means it. A
|
|
210
|
+
// `./` or a slash an alternative starts with names what it names written
|
|
211
|
+
// again without them, so braces with no such slash stay as written.
|
|
212
|
+
if (!read.alternatives.some(({ text }) => text.endsWith('/')))
|
|
213
|
+
return whole;
|
|
182
214
|
// What spec-core takes off the front before it reads braces stays in front
|
|
183
215
|
// of them, so the braces written again read as the writer put them:
|
|
184
216
|
// `/{a/,d}` is `/{a,d}`, every alternative under the filesystem's root, as
|
|
185
217
|
// `/a` is. A `/` leading one alternative stays on it and roots it alone, as
|
|
186
218
|
// spec-core reads it from its copy of `7e41240`: `{/a/,d}` is `{/a,d}`.
|
|
187
219
|
const body = whole.replace(/^(?:\.?\/)+/, '');
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
return read.every((alternative, index) => alternative === written[index])
|
|
191
|
-
? whole
|
|
192
|
-
: `${whole.slice(0, whole.length - body.length)}{${read.join(',')}}`;
|
|
220
|
+
const texts = read.alternatives.map(({ rooted, text }) => `${rooted && !read.rooted ? '/' : ''}${text.replace(/\/+$/, '')}`);
|
|
221
|
+
return `${whole.slice(0, whole.length - body.length)}{${texts.join(',')}}`;
|
|
193
222
|
}
|
|
194
|
-
/** A pattern
|
|
223
|
+
/** A pattern without the `./` it starts with, where that changes nothing, or the slashes it ends with. */
|
|
195
224
|
function bareDirectory(pattern) {
|
|
196
|
-
return pattern
|
|
225
|
+
return withoutDotSlash(pattern).replace(/\/+$/, '');
|
|
197
226
|
}
|
|
198
227
|
/**
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
228
|
+
* The texts a pattern's braces give, as spec-core reads each at its start.
|
|
229
|
+
* Only ever asked of a pattern spec-core accepted, whose braces expand, and
|
|
230
|
+
* that is all spec-core refuses here.
|
|
202
231
|
*/
|
|
203
|
-
function
|
|
204
|
-
return
|
|
232
|
+
function textsOf(pattern) {
|
|
233
|
+
return globAlternatives(pattern);
|
|
205
234
|
}
|
|
206
235
|
/* --------------------------------------------------------------- readings */
|
|
207
236
|
// Case-sensitive, every one: the family's rule for paths, since git's are and a
|
|
@@ -272,38 +301,25 @@ const belowReadings = readings();
|
|
|
272
301
|
* slashes kept, as `{/!a,x}` and `{/**.md,x}` are asked. The slashes were
|
|
273
302
|
* taken off first, so `/!a` was refused as the negation `!a` is, where
|
|
274
303
|
* spec-core reads the name `!a` at the root; and `/**.md` was told to write
|
|
275
|
-
* `*.md` for one level, a name at any depth, rather than `/*.md`.
|
|
304
|
+
* `*.md` for one level, a name at any depth, rather than `/*.md`. So is a
|
|
305
|
+
* leading `./`, which spec-core reads with the slashes after it, and which
|
|
306
|
+
* makes a `!` after it part of a name: `./!a` is the name `!a` at any depth.
|
|
276
307
|
*/
|
|
277
308
|
function readInclude(pattern) {
|
|
278
309
|
return includeReadings(pattern, () => {
|
|
279
|
-
const written =
|
|
280
|
-
const normalized = slashAsContents(written);
|
|
310
|
+
const written = trimmed(pattern);
|
|
281
311
|
const parsed = parseAsWritten(written, RIPGREP);
|
|
282
312
|
// In the `path` dialect every alternative is a whole path, so one that
|
|
283
313
|
// ripgrep reads as a name at any depth is written as one.
|
|
284
|
-
const rooted = parsed.ok ? fromWhereRead(
|
|
314
|
+
const rooted = parsed.ok ? fromWhereRead(written, (alternative) => (segmentsOf(alternative).length > 1 ? alternative : `**/${alternative}`)) : null;
|
|
285
315
|
if (rooted !== null)
|
|
286
316
|
return { parsed: rooted, shape: 'whole' };
|
|
287
317
|
// The kind decides here only whether a trailing slash on an alternative
|
|
288
318
|
// adds a segment, and any text after the slash is one: a kind naming
|
|
289
319
|
// neither reading, whose lookup adds `undefined`, gives the same shape.
|
|
290
|
-
return { parsed, shape: parsed.ok && oneSegment(
|
|
320
|
+
return { parsed, shape: parsed.ok && oneSegment(written, 'include') ? 'last' : 'whole' };
|
|
291
321
|
});
|
|
292
322
|
}
|
|
293
|
-
/**
|
|
294
|
-
* What roots a pattern, or a text its braces give, as spec-core reads it: the
|
|
295
|
-
* slashes that lead it once the `./` it starts with are dropped, with those
|
|
296
|
-
* `./`, or nothing. A rooted text is rooted at the filesystem's root in the
|
|
297
|
-
* `path` and `ripgrep` dialects, and anchored at the repository root in
|
|
298
|
-
* `gitignore`; `.//docs` is, as `/docs` is.
|
|
299
|
-
*/
|
|
300
|
-
function rootOf(text) {
|
|
301
|
-
return /^(?:\.\/)*\/+/.exec(text)?.[0] ?? '';
|
|
302
|
-
}
|
|
303
|
-
/** Whether a pattern, or a text its braces give, is rooted. */
|
|
304
|
-
function isRooted(text) {
|
|
305
|
-
return rootOf(text) !== '';
|
|
306
|
-
}
|
|
307
323
|
/**
|
|
308
324
|
* A pattern spec-core accepted, read in the `path` dialect from where it is
|
|
309
325
|
* read when a text its braces give is rooted - each rooted text without its
|
|
@@ -312,25 +328,26 @@ function isRooted(text) {
|
|
|
312
328
|
* never what a writer meant by it: `glob="/src/*.ts"` anchors at the root, and
|
|
313
329
|
* below a spec pattern's base `docs/{/adr,x}` is `docs//adr`, which is
|
|
314
330
|
* `docs/adr`. The braces are written again around what is left, a brace or a
|
|
315
|
-
* comma no group took written as a character.
|
|
331
|
+
* comma no group took written as a character, as spec-core gives it.
|
|
316
332
|
*/
|
|
317
333
|
function fromWhereRead(pattern, write) {
|
|
318
|
-
const
|
|
319
|
-
if (!
|
|
334
|
+
const read = alternatives(pattern, 'include');
|
|
335
|
+
if (!read.some(({ rooted }) => rooted))
|
|
320
336
|
return null;
|
|
321
|
-
|
|
322
|
-
return parseGlob(`{${read.join(',')}}`, WHOLE);
|
|
337
|
+
return parseGlob(`{${read.map(({ rooted, text }) => (rooted ? text : write(text))).join(',')}}`, WHOLE);
|
|
323
338
|
}
|
|
324
339
|
/**
|
|
325
340
|
* An exclusion, a module or a layer, as `.gitignore` reads a line: one that is
|
|
326
341
|
* one segment in every alternative, and none of them anchored by a leading
|
|
327
|
-
* `/`, matches a path when it matches any one of the path's segments.
|
|
342
|
+
* `/`, matches a path when it matches any one of the path's segments. A
|
|
343
|
+
* trailing slash is spec-core's to drop, on the whole and on an alternative,
|
|
344
|
+
* and a leading `./` its to read, as `glob=` leaves it.
|
|
328
345
|
*/
|
|
329
346
|
function readExclude(pattern) {
|
|
330
347
|
return excludeReadings(pattern, () => {
|
|
331
|
-
const
|
|
332
|
-
const parsed = parseGlob(
|
|
333
|
-
return { parsed, shape: parsed.ok && oneSegment(
|
|
348
|
+
const written = trimmed(pattern);
|
|
349
|
+
const parsed = parseGlob(written, GITIGNORE);
|
|
350
|
+
return { parsed, shape: parsed.ok && oneSegment(written, 'exclude') ? 'any' : 'whole' };
|
|
334
351
|
});
|
|
335
352
|
}
|
|
336
353
|
/** A pattern matched against a whole path from where it starts, with `\` a separator as it is everywhere here. */
|
|
@@ -351,7 +368,7 @@ function segmentsOf(pattern) {
|
|
|
351
368
|
* at the root, as `/build` does, so a segment of a path cannot answer for it.
|
|
352
369
|
*/
|
|
353
370
|
function oneSegment(pattern, kind) {
|
|
354
|
-
return alternatives(pattern, kind).every((
|
|
371
|
+
return alternatives(pattern, kind).every(({ rooted, text }) => !rooted && segmentsOf(text).length === 1);
|
|
355
372
|
}
|
|
356
373
|
/** The predicate a reading produced, or an error naming the pattern as it was written. */
|
|
357
374
|
function matcherOf(reading, kind, pattern) {
|
|
@@ -534,24 +551,27 @@ export function createPathMatcher(pattern) {
|
|
|
534
551
|
* matched nothing;
|
|
535
552
|
* - it refuses a `}` that closes nothing, which spec-core reads as itself.
|
|
536
553
|
*
|
|
537
|
-
* So
|
|
538
|
-
*
|
|
539
|
-
*
|
|
540
|
-
*
|
|
541
|
-
* `/build` or `x
|
|
542
|
-
*
|
|
543
|
-
*
|
|
554
|
+
* So it is handed one glob per alternative spec-core's braces give, each read
|
|
555
|
+
* as `kind` reads it, cleaned of `.` and empty segments and anchored or not
|
|
556
|
+
* as spec-core roots it - by a leading `/` on the pattern or on the
|
|
557
|
+
* alternative, since spec-core, from its copy of `7e41240`, reads
|
|
558
|
+
* `{/build,x}` as `/build` or `x`, and never by one after a `./`, which from
|
|
559
|
+
* its copy of `5666c96` goes with the slashes after it - and a `}` or `,` no
|
|
560
|
+
* group took is written as the class that matches it. Only ever given a
|
|
561
|
+
* pattern spec-core accepts, since a directive's are refused before anything
|
|
562
|
+
* runs.
|
|
544
563
|
*/
|
|
545
564
|
export function ripgrepGlobs(normalized, kind) {
|
|
546
|
-
const globs = alternatives(normalized, kind).map((
|
|
547
|
-
const segments = segmentsOf(
|
|
548
|
-
const
|
|
565
|
+
const globs = alternatives(normalized, kind).map(({ rooted, text }) => {
|
|
566
|
+
const segments = segmentsOf(text);
|
|
567
|
+
const joined = segments.join('/');
|
|
549
568
|
// ripgrep reads a leading `!` as negation and spec-core reads it as a
|
|
550
|
-
// character. Only an alternative
|
|
551
|
-
//
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
569
|
+
// character. Only an alternative, or a pattern after its `./`, can start
|
|
570
|
+
// with one - a pattern that does is refused - and a prefix that changes
|
|
571
|
+
// nothing else keeps it a character.
|
|
572
|
+
if (rooted || (segments.length > 1 && joined.startsWith('!')))
|
|
573
|
+
return `/${joined}`;
|
|
574
|
+
return joined.startsWith('!') ? `**/${joined}` : joined;
|
|
555
575
|
});
|
|
556
576
|
return [...new Set(globs)];
|
|
557
577
|
}
|
|
@@ -563,10 +583,12 @@ export function ripgrepGlobs(normalized, kind) {
|
|
|
563
583
|
*/
|
|
564
584
|
const TRAILING_SLASH = { include: '**', exclude: '' };
|
|
565
585
|
/**
|
|
566
|
-
* The patterns a pattern's braces stand for,
|
|
567
|
-
*
|
|
568
|
-
* `
|
|
569
|
-
*
|
|
586
|
+
* The patterns a pattern's braces stand for, as spec-core's `globAlternatives`
|
|
587
|
+
* reads each: rooted or not, and its text without the `./` and the slashes it
|
|
588
|
+
* starts with, a `}` or a `,` no group took written as the class that matches
|
|
589
|
+
* it, and a trailing `/` read as `kind` reads one. So `{src/,*.md}` is
|
|
590
|
+
* `src/**` or a `.md` at any depth to `glob=`, and `{build/,dist}` is `build`
|
|
591
|
+
* or `dist` to `exclude=`.
|
|
570
592
|
*
|
|
571
593
|
* Until spec-core's copy from `f9ce375` the slash was read only at the end of
|
|
572
594
|
* the whole pattern, so inside braces it was dropped, and `{src/,*.md}` was a
|
|
@@ -575,55 +597,12 @@ const TRAILING_SLASH = { include: '**', exclude: '' };
|
|
|
575
597
|
* ripgrep was handed `src`, which it matches against a file named `src` at any
|
|
576
598
|
* depth and never against what is under the directory. ADR-0015.
|
|
577
599
|
*
|
|
578
|
-
*
|
|
579
|
-
*
|
|
580
|
-
*
|
|
581
|
-
*/
|
|
582
|
-
function alternatives(pattern, kind
|
|
583
|
-
return
|
|
584
|
-
const alternative = tokens.map(spell).join('');
|
|
585
|
-
return alternative.endsWith('/') ? `${alternative}${TRAILING_SLASH[kind]}` : alternative;
|
|
586
|
-
});
|
|
587
|
-
}
|
|
588
|
-
/**
|
|
589
|
-
* A pattern spec-core accepted, cut into classes, braces, commas and the runs
|
|
590
|
-
* of anything else between them. A class is one token, so what it holds is
|
|
591
|
-
* never read as a brace or a comma: it opens with `[`, may be negated with `!`
|
|
592
|
-
* or `^`, and its first member is a member even when it is `]`.
|
|
593
|
-
*/
|
|
594
|
-
function lex(pattern) {
|
|
595
|
-
return pattern.match(/\[[!^]?\]?[^\]]*\]|[{},]|[^[{},]+/g);
|
|
596
|
-
}
|
|
597
|
-
/**
|
|
598
|
-
* `{a,b}` groups expanded into the patterns they stand for, as spec-core
|
|
599
|
-
* expands them: groups nest, and a `}` that closes nothing is a character.
|
|
600
|
-
* Every `{` closes, since spec-core accepted the pattern.
|
|
601
|
-
*/
|
|
602
|
-
function expandBraces(tokens) {
|
|
603
|
-
const open = tokens.indexOf('{');
|
|
604
|
-
if (open === -1)
|
|
605
|
-
return [tokens];
|
|
606
|
-
let close = open;
|
|
607
|
-
for (let depth = 1; depth > 0; depth += nesting(tokens[close]))
|
|
608
|
-
close += 1;
|
|
609
|
-
const options = [[]];
|
|
610
|
-
let depth = 0;
|
|
611
|
-
for (const token of tokens.slice(open + 1, close)) {
|
|
612
|
-
// Below 1 rather than at 0: the depth never goes below 0, and read this
|
|
613
|
-
// way its sign decides something, where at 0 either sign would do.
|
|
614
|
-
if (token === ',' && depth < 1) {
|
|
615
|
-
options.push([]);
|
|
616
|
-
}
|
|
617
|
-
else {
|
|
618
|
-
depth += nesting(token);
|
|
619
|
-
options[options.length - 1].push(token);
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
return options.flatMap((option) => expandBraces([...tokens.slice(0, open), ...option, ...tokens.slice(close + 1)]));
|
|
623
|
-
}
|
|
624
|
-
/** How a token moves the depth of brace groups. */
|
|
625
|
-
function nesting(token) {
|
|
626
|
-
return token === '{' ? 1 : token === '}' ? -1 : 0;
|
|
600
|
+
* The braces were expanded here, and a leading `./` and `/` read here, until
|
|
601
|
+
* spec-core's copy from `5666c96` gave its own reading of both, which is the
|
|
602
|
+
* one it matches by.
|
|
603
|
+
*/
|
|
604
|
+
function alternatives(pattern, kind) {
|
|
605
|
+
return textsOf(pattern).alternatives.map(({ rooted, text }) => ({ rooted, text: text.endsWith('/') ? `${text}${TRAILING_SLASH[kind]}` : text }));
|
|
627
606
|
}
|
|
628
607
|
/** Orders directory entries by name, byte-wise and stable across platforms. */
|
|
629
608
|
export function compareDirents(a, b) {
|
|
@@ -766,21 +745,33 @@ const BASE = 'base';
|
|
|
766
745
|
* the root alone, spec-core refused `/!*.md` as the negation `!*.md` is, and
|
|
767
746
|
* told `/**.md` to write `**\/*.md` or `*.md`, where it reads the whole as
|
|
768
747
|
* the names `!*.md` at the root and tells it to write `/**\/*.md` or `/*.md`.
|
|
748
|
+
*
|
|
749
|
+
* A `./` is spec-core's to read, as `glob=` leaves it, so `./!*.md` is the
|
|
750
|
+
* names `!*.md` at any depth, as `./*.md` is `*.md`; the base is found
|
|
751
|
+
* without it and the slashes after it, as spec-core reads them from its copy
|
|
752
|
+
* of `5666c96`, so `.//docs/*.md` is walked from `docs`, as `./docs/*.md` is,
|
|
753
|
+
* where it was walked from the filesystem's `/docs`. Where the base is only
|
|
754
|
+
* `.`, as in `././!*.md`, and what is below it is refused alone, spec-core is
|
|
755
|
+
* asked the whole pattern: one it reads, such as that negation, which there
|
|
756
|
+
* is a name, is read below the base as below a named one, and one it refuses,
|
|
757
|
+
* such as `././{./,a}`, is refused as below the base.
|
|
769
758
|
*/
|
|
770
759
|
function readSpecGlob(pattern) {
|
|
771
|
-
const written =
|
|
760
|
+
const written = trimmed(pattern);
|
|
772
761
|
const absolute = path.isAbsolute(written);
|
|
773
762
|
// The base ends at the first segment holding glob syntax, which comes before
|
|
774
763
|
// the empty one a trailing `/` leaves, so the glob as written has the base
|
|
775
|
-
// the glob as read has.
|
|
776
|
-
|
|
764
|
+
// the glob as read has. It is found with the first `./` taken off, whatever
|
|
765
|
+
// follows it, so `./!*.md` has none, as `./*.md` has none; a second stays,
|
|
766
|
+
// and makes `././*.md` the root's, below the base `.`.
|
|
767
|
+
const { base, rest } = globBase(written.replace(/^\.\/+/, ''));
|
|
777
768
|
const spec = { base, absolute, written, whole: false };
|
|
778
769
|
// With no base, or the root for one, the pattern is read as glob= reads it,
|
|
779
770
|
// from where the walk starts.
|
|
780
771
|
if (base === '' || (absolute && segmentsOf(base).length === 0))
|
|
781
772
|
return { ...spec, whole: true, reading: readInclude(written), under: '' };
|
|
782
773
|
const alone = readBelow(rest);
|
|
783
|
-
return alone.parsed.ok || segmentsOf(base).length === 0
|
|
774
|
+
return alone.parsed.ok || (segmentsOf(base).length === 0 && !readWhole(written).parsed.ok)
|
|
784
775
|
? { ...spec, reading: alone, under: '' }
|
|
785
776
|
: { ...spec, reading: readBelow(`${BASE}/${rest}`), under: `${BASE}/` };
|
|
786
777
|
}
|
package/dist/glob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAW,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,SAAS,EAA+C,MAAM,qCAAqC,CAAC;AAE1H,MAAM,QAAQ,GAAG,WAAW,CAAC;AAE7B,0DAA0D;AAC1D,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,OAAO,GAA6B,EAAE;IAClF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/B,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAW,CAAC;QAEpC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7B,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzB,KAAK,IAAI,CAAC,CAAC;oBACX,MAAM,IAAI,eAAe,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,IAAI,CAAC;gBACjB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,IAAI,OAAO,CAAC;YAClB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,MAAM,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC;gBAChB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC;YACtB,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC;gBAChB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,MAAM,YAAY,GAAG,KAAK;iBACvB,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC;iBACvB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAC1C,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,IAAI,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,8EAA8E;AAC9E,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,OAAoB;IAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,yEAAyE;IACzE,0EAA0E;IAC1E,6CAA6C;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD,6EAA6E;IAC7E,2BAA2B;IAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC9C,2EAA2E;IAC3E,oEAAoE;IACpE,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACzE,CAAC;AAED,yGAAyG;AACzG,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/D,CAAC;AAED,8EAA8E;AAE9E,gFAAgF;AAChF,qEAAqE;AACrE,MAAM,OAAO,GAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACzE,MAAM,SAAS,GAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,aAAa;AACb,MAAM,KAAK,GAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAkBrF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC;;;;;;;;GAQG;AACH,SAAS,QAAQ;IACf,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO,GAAG,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;AACnC,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;AACnC,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC;AACjC,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,uEAAuE;QACvE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvJ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC/D,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,+DAA+D;AAC/D,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,KAA+B;IACrE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnG,OAAO,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE;QACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kHAAkH;AAClH,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACxG,CAAC;AAKD,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAiB;IAC7D,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAClF,CAAC;AAED,uFAAuF;AACvF,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe,EAAE,IAAiB;IACpD,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC5H,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAe;IAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,aAAa,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACzG,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,2EAA2E;AAC3E,SAAS,OAAO,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAe;IAC9D,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,aAAa,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACpG,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,IAAmC,EAAE,KAAmB;IACpF,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,YAAY,EAAE,EAAE,CACtB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAW,EAAE;QAC3C,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,KAAK,KAAK,MAAM;QACrB,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,IAAI,GAAuB,QAAQ;IACrF,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAO,GAAG,OAAO;IACjE,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;QACvC,CAAC,CAAC,gDAAgD;QAClD,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpC,CAAC,CAAC,mEAAmE;YACrE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,8DAA8D;gBAChE,CAAC,CAAC,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,GAAG;oBACvC,CAAC,CAAC,sDAAsD;oBACxD,CAAC,CAAC,IAAI,CAAC;IACf,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,4BAA4B,OAAO,MAAM,MAAM,EAAE,CAAC;AACjI,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,gBAAgB,CAAC,QAA2B,EAAE,KAAyC;IACrG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,QAA2B;IAC1D,OAAO,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA2B;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,YAAoB,EAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,YAAoB,EAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,IAAiB;IAChE,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,sEAAsE;QACtE,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,IAAI,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,cAAc,GAA0C,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAE7F;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,IAAiB,EAAE,KAAK,GAA8B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACrI,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAa,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,MAAyB;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAW,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACrF,MAAM,OAAO,GAAe,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAClD,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,mDAAmD;AACnD,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAsDD,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,CAAmB,EAAE,CAAmB;IACrE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,IAAY,EAAE,OAAO,GAAgB,EAAE;IACtE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC;IAChC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,IAAY,EAAE,OAAO,GAAgB,EAAE;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;IAC7C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;IACvD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,SAAS,CAAC,CAAC,KAAK,CAAC,SAAiB,EAAE,MAAc;QACrD,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,yBAAyB;YACzB,MAAM,EAAE,CAAC,MAAM,IAAI,GAAG,EAAE,YAAY,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,kEAAkE;QAClE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzD,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC,cAAc;oBAAE,SAAS;gBAC9B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAClC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,sEAAsE;gBACtE,oEAAoE;gBACpE,2CAA2C;gBAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACvG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,OAAO,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC;gBACpC,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACzC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE;QAAE,OAAO;IACtC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAW,CAAC;QAC1C,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACzE,CAAC;AAgBD;;;;;GAKG;AACH,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,6EAA6E;IAC7E,2EAA2E;IAC3E,wBAAwB;IACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvD,4EAA4E;IAC5E,8BAA8B;IAC9B,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC1I,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QACrD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACxC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,yEAAyE;QACzE,iEAAiE;QACjE,2EAA2E;QAC3E,iEAAiE;QACjE,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACtH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,MAAM,GAAG,qDAAqD,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAY;IAC5D,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACpF,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7I,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,OAAO,MAAM,OAAO,EAAE,CAAC;AACnF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAA2B,EAC3B,IAAY,EACZ,iBAAiB,GAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EACnE,EAAE,GAAO,MAAM;IAEf,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;gBACpB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;gBAChC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;oBACrD,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;wBAC/F,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAEvD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"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"}
|
package/dist/impact.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../src/impact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,EAA4C,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAU,KAAK,EAAE,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAA6B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGzG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../src/impact.ts"],"names":[],"mappings":"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"}
|
package/dist/impact.js
CHANGED
|
@@ -25,6 +25,7 @@ import { loadRuleSet, resolveQueryPath } from './query.js';
|
|
|
25
25
|
import { governs, viewRule, within } from './rules.js';
|
|
26
26
|
import { formatOptionLines } from './reporter.js';
|
|
27
27
|
import { createScope } from './scope.js';
|
|
28
|
+
import { displayWidth } from './vendor/spec-core/text/index.js';
|
|
28
29
|
/** The files a relative Python import can name, most likely first. */
|
|
29
30
|
function pythonCandidates(resolved) {
|
|
30
31
|
return [`${resolved}.py`, `${resolved}.pyi`, `${resolved}/__init__.py`, `${resolved}/__init__.pyi`];
|
|
@@ -255,6 +256,15 @@ export async function impactOf(options) {
|
|
|
255
256
|
function plural(count, one, many) {
|
|
256
257
|
return `${count} ${count === 1 ? one : many}`;
|
|
257
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* A text and the spaces after it that make it `width` columns wide in a
|
|
261
|
+
* terminal. `.padEnd` counts UTF-16 units, and a path such as `src/頁面.ts`
|
|
262
|
+
* is nine of them and eleven columns, so the column after it began two
|
|
263
|
+
* columns late on its line. Never given a text wider than `width`.
|
|
264
|
+
*/
|
|
265
|
+
function padded(text, width) {
|
|
266
|
+
return `${text}${' '.repeat(width - displayWidth(text))}`;
|
|
267
|
+
}
|
|
258
268
|
/** At most this many unresolved references are listed in the human report; JSON has them all. */
|
|
259
269
|
const SHOWN_UNRESOLVED = 10;
|
|
260
270
|
/** At most this many files are named under a rule in the human report; JSON has them all. */
|
|
@@ -274,9 +284,9 @@ export function formatImpact(report) {
|
|
|
274
284
|
out.push(result.dependents.length === 0
|
|
275
285
|
? ' nothing in scope imports it'
|
|
276
286
|
: ` ${plural(result.dependents.length, 'file depends', 'files depend')} on it, ${direct} directly${deepest > 1 ? `, up to ${deepest} imports away` : ''}`);
|
|
277
|
-
const width = Math.max(0, ...result.dependents.map((dependent) => dependent.file
|
|
287
|
+
const width = Math.max(0, ...result.dependents.map((dependent) => displayWidth(dependent.file)));
|
|
278
288
|
for (const dependent of result.dependents) {
|
|
279
|
-
out.push(` ${dependent.depth} ${dependent.file
|
|
289
|
+
out.push(` ${dependent.depth} ${padded(dependent.file, width)} imports ${dependent.via.imports} (line ${dependent.via.line})`);
|
|
280
290
|
}
|
|
281
291
|
out.push('');
|
|
282
292
|
}
|