@descent-vtt/spec-guard 0.10.3 → 0.11.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 +59 -0
- package/README.md +9 -6
- package/dist/comments.d.ts +50 -1
- package/dist/comments.d.ts.map +1 -1
- package/dist/comments.js +352 -56
- package/dist/comments.js.map +1 -1
- package/dist/imports.d.ts.map +1 -1
- package/dist/imports.js +5 -58
- package/dist/imports.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,65 @@ 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.11.0
|
|
9
|
+
|
|
10
|
+
The literal this lexer never read. A JavaScript or TypeScript regular
|
|
11
|
+
expression can hold a quote — `/'/`, `/["']/`, `replace(/\/\//g, '')` — and
|
|
12
|
+
without a rule for `/`, that quote opened a string that closed somewhere else
|
|
13
|
+
entirely. Every text rule over a TypeScript project reads through this
|
|
14
|
+
classifier, and this repository's own `src/parser.ts` was one of the files it
|
|
15
|
+
lost its place in. [ADR-0006](docs/adr/0006-comment-classification.md).
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- **A regular expression holding a quote desynchronised the scan.** The quote
|
|
20
|
+
opened a string that ran to the next quote in the file, so the comments it
|
|
21
|
+
covered were counted as code — and, once it closed, the scan was half a
|
|
22
|
+
literal out of step, where a `//` inside a real string opened a comment that
|
|
23
|
+
**hid real code**. `/` now opens a literal in `.js`, `.mjs`, `.cjs`, `.jsx`,
|
|
24
|
+
`.ts`, `.mts`, `.cts` and `.tsx`, decided by the token before it with the
|
|
25
|
+
same two tables the import tokenizer has used since 0.2.0 — which now live in
|
|
26
|
+
one place and are read by both, so the two scanners cannot disagree. A
|
|
27
|
+
character class holds an unescaped `/`, `\/` does not close, and a `/` that
|
|
28
|
+
closes nothing before the end of its line was a division.
|
|
29
|
+
- **`/*` in JSX text opened a comment**, so `<div>/*</div>` hid every line up
|
|
30
|
+
to the next `*/` in the file. After a tag's `>` it is text.
|
|
31
|
+
- **An apostrophe in a YAML value opened a string.** Most YAML scalars are
|
|
32
|
+
unquoted and may hold one — `- name: Build the decoder's artefact` — and read
|
|
33
|
+
with the shell's quoting that apostrophe closed on the next one, lines away,
|
|
34
|
+
with every `#` between them no longer a comment. `.yaml` and `.yml` have a
|
|
35
|
+
profile of their own, `yaml`, which keeps the shell's `#` rule and takes a
|
|
36
|
+
quote as opening a scalar only where a word could start. `'it''s'` is one
|
|
37
|
+
scalar, YAML's own escape. A shell's quotes still open mid-word, because
|
|
38
|
+
`dir='C:\'` needs them to.
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- **A JavaScript string ends at its line.** Only a template may hold a line
|
|
43
|
+
break, so a quoted string that reaches one was never a string and is read as
|
|
44
|
+
code from there. It used to run to the end of the file. This is what JSX text
|
|
45
|
+
costs as well: `<p>Don't click</p>` opens a literal nothing closes, and it
|
|
46
|
+
now costs that line rather than everything after it.
|
|
47
|
+
- **`.sh`, `.bash` and `.zsh` report their profile as `shell`,** not
|
|
48
|
+
`shell-like`; `.yaml` and `.yml` report `yaml`. The name appears in
|
|
49
|
+
`--json` as each result's comment syntax.
|
|
50
|
+
|
|
51
|
+
Counts may move on a project that has any of these. A text rule over `.ts`,
|
|
52
|
+
`.tsx`, `.yaml` or `.yml` can now see code it could not see before, and can
|
|
53
|
+
stop counting comment text it was counting: on 7,953 files here, 119 phantom
|
|
54
|
+
comments in 63 files disappeared and 1,948 real comments in 53 files came back.
|
|
55
|
+
44 JavaScript files reported a lost scan before; 4 do now, every one of them a
|
|
56
|
+
template nested inside a `${…}` substitution, which ADR-0006 records as the
|
|
57
|
+
open item this release does not close.
|
|
58
|
+
|
|
59
|
+
The scan is also **faster than it has ever been** — 5.1× for TypeScript, 5.2×
|
|
60
|
+
for C#, 3.4× for C, 2.8× for shell scripts and 1.3× for Rust, whose raw strings
|
|
61
|
+
open with the letter `r` and so reach the slow path often. A character that
|
|
62
|
+
opens nothing in a language now costs one array lookup rather than four
|
|
63
|
+
searches that were always going to fail. That was not a bonus: adding the
|
|
64
|
+
regular-expression branch made C, which never enters it, 16% slower, and a
|
|
65
|
+
question asked per character has to be paid for per character.
|
|
66
|
+
|
|
8
67
|
## 0.10.3
|
|
9
68
|
|
|
10
69
|
Fixes from running 0.10.2 over a Rust and .NET monorepo, where an import rule
|
package/README.md
CHANGED
|
@@ -206,13 +206,16 @@ touching code, a run that passed this way says so:
|
|
|
206
206
|
✔ every spec assertion holds
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
Comment syntax is known for around 68 extensions across
|
|
210
|
-
C#, Rust, Go, Python-style `#`, shell
|
|
209
|
+
Comment syntax is known for around 68 extensions across 11 families (JS/TS, C,
|
|
210
|
+
C#, Rust, Go, Python-style `#`, shell `#`, YAML, SQL-style `--`, markup -
|
|
211
211
|
MSBuild project files included - and formats with no comments at all). Strings
|
|
212
212
|
are tracked too, because `//` inside a URL is not a comment and reading it as
|
|
213
|
-
one would hide real code. So
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
one would hide real code. So are JavaScript's regular expressions, because the
|
|
214
|
+
quote in `/["']/` is not a quote. And so is what only looks like either: a Rust
|
|
215
|
+
lifetime (`&'static str`), a C++ digit separator (`100'000`), a `#` inside a
|
|
216
|
+
shell word (`${#items[@]}`), an apostrophe in a YAML value (`name: it's fine`)
|
|
217
|
+
and a `/*` in JSX text (`<div>/*</div>`) all open nothing. Where spec-guard is
|
|
218
|
+
unsure —
|
|
216
219
|
an unknown extension, an unterminated literal — the text counts as code, and the
|
|
217
220
|
report says which files it could not classify. A match wrongly kept is a visible
|
|
218
221
|
failure you can argue with; a match wrongly dropped is a lie.
|
|
@@ -1367,7 +1370,7 @@ prebuilt binary and is never a runtime dependency.
|
|
|
1367
1370
|
|
|
1368
1371
|
Coverage says a line ran. It does not say an assertion would notice if the line
|
|
1369
1372
|
behaved differently. This repository measures the difference: line coverage is
|
|
1370
|
-
**100%**, and **99.
|
|
1373
|
+
**100%**, and **99.01%** of 8,644 mutants are killed in CI, with 83 survivors and
|
|
1371
1374
|
no file below 95%. The second number is the one worth reading, and what was done
|
|
1372
1375
|
about the survivors matters more than the score. At 0.5.1 every surviving mutant
|
|
1373
1376
|
was checked individually, and the 101 left then produced byte-identical output.
|
package/dist/comments.d.ts
CHANGED
|
@@ -50,6 +50,13 @@ interface StringRule {
|
|
|
50
50
|
* reading one at the end of its line.
|
|
51
51
|
*/
|
|
52
52
|
singleLine?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* A doubled closing delimiter is an escaped one rather than the end: YAML
|
|
55
|
+
* writes a quote inside a single-quoted scalar as `''`, and `'it''s'` is one
|
|
56
|
+
* scalar. Without this the scalar ends at the first of the pair and the rest
|
|
57
|
+
* of the line becomes text, where a `#` would open a comment.
|
|
58
|
+
*/
|
|
59
|
+
doubled?: boolean;
|
|
53
60
|
}
|
|
54
61
|
export interface CommentSyntax {
|
|
55
62
|
name: string;
|
|
@@ -75,9 +82,47 @@ export interface CommentSyntax {
|
|
|
75
82
|
* `$#` are code, and in YAML, where `a#b` is text.
|
|
76
83
|
*/
|
|
77
84
|
wordComments: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* A quote opens a literal only where a word could start, as in YAML, whose
|
|
87
|
+
* plain scalars are unquoted text: `name: the decoder's artefact` holds an
|
|
88
|
+
* apostrophe, not the opening of a string.
|
|
89
|
+
*/
|
|
90
|
+
wordQuotes: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* `/` may open a regular expression, which is a literal that can hold a
|
|
93
|
+
* quote or a comment marker: `/'/`, `replace(/\/\//g, '')`.
|
|
94
|
+
*/
|
|
95
|
+
regexLiterals: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* A block comment does not open directly after `>`, which in JSX is the end
|
|
98
|
+
* of a tag and the start of text that may say anything: `<div>/*</div>`.
|
|
99
|
+
*/
|
|
100
|
+
jsxText: boolean;
|
|
78
101
|
/** Literal forms that may contain comment-looking text. */
|
|
79
102
|
strings: readonly StringRule[];
|
|
80
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Words after which a `/` opens a regular expression rather than dividing.
|
|
106
|
+
*
|
|
107
|
+
* The remaining ambiguity is `)` and `}`, where this follows the usual
|
|
108
|
+
* heuristic. Both tables are shared with the import tokenizer in `imports.ts`,
|
|
109
|
+
* which is where they were written and proved: two copies would be two answers
|
|
110
|
+
* to "is this a regular expression", and the only thing worse than one
|
|
111
|
+
* heuristic is two of them disagreeing about the same file.
|
|
112
|
+
*/
|
|
113
|
+
export declare const REGEX_AFTER_WORD: ReadonlySet<string>;
|
|
114
|
+
/**
|
|
115
|
+
* `<` is deliberately absent: in JSX every closing tag is `</`, and reading that
|
|
116
|
+
* as the start of a regular expression loses the scan for the rest of the line.
|
|
117
|
+
* The cost is that `a < /re/.test(b)` is misread instead, which is a shape that
|
|
118
|
+
* does not occur in practice.
|
|
119
|
+
*
|
|
120
|
+
* `}` stays, for a regular expression that opens a statement after a block,
|
|
121
|
+
* except before `/>`. That is a JSX element closing after an expression
|
|
122
|
+
* attribute, `<App x={y} />`. `/>` after anything else is still one - `/>/` is a
|
|
123
|
+
* regular expression, and HTML escaping is full of `replace(/>/g, ...)`.
|
|
124
|
+
*/
|
|
125
|
+
export declare const REGEX_AFTER_PUNCT: ReadonlySet<string>;
|
|
81
126
|
/** The comment syntax for a path, or null when the language is unknown. */
|
|
82
127
|
export declare function syntaxFor(filePath: string): CommentSyntax | null;
|
|
83
128
|
export declare function syntaxNamed(name: string): CommentSyntax | null;
|
|
@@ -87,7 +132,11 @@ export type CommentRange = readonly [number, number];
|
|
|
87
132
|
export interface LexResult {
|
|
88
133
|
/** Half-open ranges of comment text, in ascending order. */
|
|
89
134
|
comments: CommentRange[];
|
|
90
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* Half-open ranges of literals, delimiters included: strings, and the
|
|
137
|
+
* regular expressions of a profile that has them. Both are code, and both
|
|
138
|
+
* are places a comment marker means nothing.
|
|
139
|
+
*/
|
|
91
140
|
strings: CommentRange[];
|
|
92
141
|
/**
|
|
93
142
|
* True when a literal or block comment was never closed: it ran off the end
|
package/dist/comments.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,0CAA0C;IAC1C,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAe/C,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAqBhD,CAAC;AAkTH,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEhE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAE9D;AAED,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA6NrD,oFAAoF;AACpF,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB;;;;OAIG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;;;;;;;;OASG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,SAAS,CAmF1E;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,YAAY,EAAE,CAEnF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAQD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAqB/E"}
|
package/dist/comments.js
CHANGED
|
@@ -27,15 +27,74 @@
|
|
|
27
27
|
* understood.
|
|
28
28
|
*/
|
|
29
29
|
import path from 'node:path';
|
|
30
|
+
/**
|
|
31
|
+
* Words after which a `/` opens a regular expression rather than dividing.
|
|
32
|
+
*
|
|
33
|
+
* The remaining ambiguity is `)` and `}`, where this follows the usual
|
|
34
|
+
* heuristic. Both tables are shared with the import tokenizer in `imports.ts`,
|
|
35
|
+
* which is where they were written and proved: two copies would be two answers
|
|
36
|
+
* to "is this a regular expression", and the only thing worse than one
|
|
37
|
+
* heuristic is two of them disagreeing about the same file.
|
|
38
|
+
*/
|
|
39
|
+
export const REGEX_AFTER_WORD = new Set([
|
|
40
|
+
'return',
|
|
41
|
+
'typeof',
|
|
42
|
+
'instanceof',
|
|
43
|
+
'in',
|
|
44
|
+
'of',
|
|
45
|
+
'new',
|
|
46
|
+
'delete',
|
|
47
|
+
'void',
|
|
48
|
+
'throw',
|
|
49
|
+
'case',
|
|
50
|
+
'do',
|
|
51
|
+
'else',
|
|
52
|
+
'yield',
|
|
53
|
+
'await',
|
|
54
|
+
]);
|
|
55
|
+
/**
|
|
56
|
+
* `<` is deliberately absent: in JSX every closing tag is `</`, and reading that
|
|
57
|
+
* as the start of a regular expression loses the scan for the rest of the line.
|
|
58
|
+
* The cost is that `a < /re/.test(b)` is misread instead, which is a shape that
|
|
59
|
+
* does not occur in practice.
|
|
60
|
+
*
|
|
61
|
+
* `}` stays, for a regular expression that opens a statement after a block,
|
|
62
|
+
* except before `/>`. That is a JSX element closing after an expression
|
|
63
|
+
* attribute, `<App x={y} />`. `/>` after anything else is still one - `/>/` is a
|
|
64
|
+
* regular expression, and HTML escaping is full of `replace(/>/g, ...)`.
|
|
65
|
+
*/
|
|
66
|
+
export const REGEX_AFTER_PUNCT = new Set([
|
|
67
|
+
'(',
|
|
68
|
+
',',
|
|
69
|
+
'=',
|
|
70
|
+
':',
|
|
71
|
+
'[',
|
|
72
|
+
'!',
|
|
73
|
+
'&',
|
|
74
|
+
'|',
|
|
75
|
+
'?',
|
|
76
|
+
'{',
|
|
77
|
+
'}',
|
|
78
|
+
';',
|
|
79
|
+
'+',
|
|
80
|
+
'-',
|
|
81
|
+
'*',
|
|
82
|
+
'/',
|
|
83
|
+
'%',
|
|
84
|
+
'^',
|
|
85
|
+
'~',
|
|
86
|
+
'>',
|
|
87
|
+
]);
|
|
30
88
|
const QUOTES = [
|
|
31
89
|
{ open: '"', close: '"', escape: true },
|
|
32
90
|
{ open: "'", close: "'", escape: true },
|
|
33
91
|
];
|
|
34
92
|
// Every profile writes the same keys in the same order, flags included where
|
|
35
|
-
// they are false
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
93
|
+
// they are false, so the lexer's reads of them stay monomorphic. With the
|
|
94
|
+
// flags left off where unused, each profile was a shape of its own, and a run
|
|
95
|
+
// that had seen four of them read C about a fifth slower than 0.10.2 did. The
|
|
96
|
+
// scan reads a profile once per file now rather than once per character, which
|
|
97
|
+
// makes this cheaper to get wrong than it was - and no less wrong.
|
|
39
98
|
const C_LIKE = {
|
|
40
99
|
name: 'c-like',
|
|
41
100
|
line: ['//'],
|
|
@@ -48,13 +107,35 @@ const C_LIKE = {
|
|
|
48
107
|
// change which wrong answer a misread file gets.
|
|
49
108
|
digitSeparators: true,
|
|
50
109
|
wordComments: false,
|
|
110
|
+
wordQuotes: false,
|
|
111
|
+
regexLiterals: false,
|
|
112
|
+
jsxText: false,
|
|
51
113
|
strings: QUOTES,
|
|
52
114
|
};
|
|
115
|
+
/**
|
|
116
|
+
* A quoted string in JavaScript cannot hold a line break - only a template
|
|
117
|
+
* can - so one that reaches the end of its line was never a string.
|
|
118
|
+
*
|
|
119
|
+
* The same backstop Rust's character literal got in 0.10.3, for the same
|
|
120
|
+
* reason: whatever this table misreads next, it costs a line rather than a
|
|
121
|
+
* file. It is also what JSX text costs. `<p>Don't click</p>` opens a literal
|
|
122
|
+
* that no quote closes, and bounded to its line that literal is read as code -
|
|
123
|
+
* which is what the text is.
|
|
124
|
+
*/
|
|
125
|
+
const JS_QUOTES = [
|
|
126
|
+
{ open: '"', close: '"', escape: true, singleLine: true },
|
|
127
|
+
{ open: "'", close: "'", escape: true, singleLine: true },
|
|
128
|
+
];
|
|
53
129
|
const JS_LIKE = {
|
|
54
130
|
...C_LIKE,
|
|
55
131
|
name: 'javascript',
|
|
56
132
|
digitSeparators: false,
|
|
57
|
-
|
|
133
|
+
// Until 0.11.0 no profile read a regular expression, so a quote inside one -
|
|
134
|
+
// `/'/`, `/["']/` - opened a string that closed on some later quote, and the
|
|
135
|
+
// comments in between were read as code. See ADR-0006.
|
|
136
|
+
regexLiterals: true,
|
|
137
|
+
jsxText: true,
|
|
138
|
+
strings: [...JS_QUOTES, { open: '`', close: '`', escape: true }],
|
|
58
139
|
};
|
|
59
140
|
const C_SHARP = {
|
|
60
141
|
...C_LIKE,
|
|
@@ -86,6 +167,9 @@ const RUST = {
|
|
|
86
167
|
lifetimes: true,
|
|
87
168
|
digitSeparators: false,
|
|
88
169
|
wordComments: false,
|
|
170
|
+
wordQuotes: false,
|
|
171
|
+
regexLiterals: false,
|
|
172
|
+
jsxText: false,
|
|
89
173
|
strings: [
|
|
90
174
|
// Before 0.10.3 only r"…" and r#"…"# were known, and r##"…"## read as an
|
|
91
175
|
// ordinary string that closed at the first quote inside it.
|
|
@@ -108,6 +192,9 @@ const HASH = {
|
|
|
108
192
|
lifetimes: false,
|
|
109
193
|
digitSeparators: false,
|
|
110
194
|
wordComments: false,
|
|
195
|
+
wordQuotes: false,
|
|
196
|
+
regexLiterals: false,
|
|
197
|
+
jsxText: false,
|
|
111
198
|
// Triple quotes first: a Python docstring is a string, not a comment, and
|
|
112
199
|
// treating it as code is the conservative reading.
|
|
113
200
|
strings: [
|
|
@@ -117,35 +204,76 @@ const HASH = {
|
|
|
117
204
|
],
|
|
118
205
|
};
|
|
119
206
|
/**
|
|
120
|
-
* Shell scripts
|
|
207
|
+
* Shell scripts: `#` comments, but only where a word starts.
|
|
121
208
|
*
|
|
122
|
-
*
|
|
123
|
-
* `${#items[@]}` and `$#` are code;
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
* comment like this one without closing it.)
|
|
209
|
+
* POSIX says so. A shell ignores a word *beginning* with `#`, so `${path##*.}`,
|
|
210
|
+
* `${#items[@]}` and `$#` are code; read as Python reads `#`, each of those hid
|
|
211
|
+
* the rest of its line. (The basename expansion, whose pattern ends in a star
|
|
212
|
+
* and a slash, is the commonest of them, and cannot be written in a comment
|
|
213
|
+
* like this one without closing it.)
|
|
128
214
|
*
|
|
129
215
|
* A comment written straight after code, as in `x;# note`, is read as code
|
|
130
216
|
* here, which is the direction that fails loudly.
|
|
131
217
|
*/
|
|
132
|
-
const
|
|
133
|
-
name: 'shell
|
|
218
|
+
const SHELL = {
|
|
219
|
+
name: 'shell',
|
|
134
220
|
line: ['#'],
|
|
135
221
|
block: [],
|
|
136
222
|
nested: false,
|
|
137
223
|
lifetimes: false,
|
|
138
224
|
digitSeparators: false,
|
|
139
225
|
wordComments: true,
|
|
226
|
+
// A shell quote opens anywhere, and has to: in `dir='C:\'` and `echo a'b'`
|
|
227
|
+
// the quote is mid-word, and a `#` inside one it did not open would comment
|
|
228
|
+
// out the rest of the line.
|
|
229
|
+
wordQuotes: false,
|
|
230
|
+
regexLiterals: false,
|
|
231
|
+
jsxText: false,
|
|
140
232
|
strings: [
|
|
141
233
|
// ANSI-C quoting, the one single-quoted form a backslash escapes in.
|
|
142
234
|
{ open: "$'", close: "'", escape: true },
|
|
143
235
|
{ open: '"', close: '"', escape: true },
|
|
144
|
-
// Nothing escapes inside single quotes
|
|
145
|
-
// complete. YAML writes a quote inside one as '', two strings side by side.
|
|
236
|
+
// Nothing escapes inside single quotes: 'C:\' is a complete string.
|
|
146
237
|
{ open: "'", close: "'", escape: false },
|
|
147
238
|
],
|
|
148
239
|
};
|
|
240
|
+
/**
|
|
241
|
+
* YAML: a shell's `#` rule, and quotes only where a value starts.
|
|
242
|
+
*
|
|
243
|
+
* YAML needs whitespace before a comment, so `https://example.com/#top` is one
|
|
244
|
+
* value - the rule a shell shares. What it does not share is the quoting. Most
|
|
245
|
+
* YAML scalars are plain, which is to say unquoted, and a plain scalar may hold
|
|
246
|
+
* an apostrophe: `- name: Build the decoder's artefact` is a sentence, not a
|
|
247
|
+
* string opening. Read as a shell reads it, that apostrophe opened a literal
|
|
248
|
+
* that closed on the next one in the file - often lines away, in another
|
|
249
|
+
* sentence - and every `#` between them stopped being a comment.
|
|
250
|
+
*
|
|
251
|
+
* So a quote here opens a scalar only where a word could start, which is where
|
|
252
|
+
* YAML puts one: after `key:`, after `- `, or at the start of a line. A quote
|
|
253
|
+
* anywhere else is text. The limit is a quote in the middle of a plain scalar
|
|
254
|
+
* with a space in front of it, `title: the 'quoted' word`, which is still read
|
|
255
|
+
* as a string - harmlessly, because such quotes come in pairs, and it is the
|
|
256
|
+
* unpaired apostrophe that used to run away.
|
|
257
|
+
*/
|
|
258
|
+
const YAML = {
|
|
259
|
+
name: 'yaml',
|
|
260
|
+
line: ['#'],
|
|
261
|
+
block: [],
|
|
262
|
+
nested: false,
|
|
263
|
+
lifetimes: false,
|
|
264
|
+
digitSeparators: false,
|
|
265
|
+
wordComments: true,
|
|
266
|
+
wordQuotes: true,
|
|
267
|
+
regexLiterals: false,
|
|
268
|
+
jsxText: false,
|
|
269
|
+
strings: [
|
|
270
|
+
{ open: '"', close: '"', escape: true },
|
|
271
|
+
// A single-quoted scalar has no backslash escapes. The one escape it has is
|
|
272
|
+
// a doubled quote, `'it''s'`, and reading that as two scalars would leave
|
|
273
|
+
// `s` outside a string - with a `#` after it free to open a comment.
|
|
274
|
+
{ open: "'", close: "'", escape: false, doubled: true },
|
|
275
|
+
],
|
|
276
|
+
};
|
|
149
277
|
const SQL_LIKE = {
|
|
150
278
|
name: 'sql-like',
|
|
151
279
|
line: ['--'],
|
|
@@ -154,6 +282,9 @@ const SQL_LIKE = {
|
|
|
154
282
|
lifetimes: false,
|
|
155
283
|
digitSeparators: false,
|
|
156
284
|
wordComments: false,
|
|
285
|
+
wordQuotes: false,
|
|
286
|
+
regexLiterals: false,
|
|
287
|
+
jsxText: false,
|
|
157
288
|
strings: QUOTES,
|
|
158
289
|
};
|
|
159
290
|
const MARKUP = {
|
|
@@ -164,6 +295,9 @@ const MARKUP = {
|
|
|
164
295
|
lifetimes: false,
|
|
165
296
|
digitSeparators: false,
|
|
166
297
|
wordComments: false,
|
|
298
|
+
wordQuotes: false,
|
|
299
|
+
regexLiterals: false,
|
|
300
|
+
jsxText: false,
|
|
167
301
|
strings: [],
|
|
168
302
|
};
|
|
169
303
|
/**
|
|
@@ -183,6 +317,9 @@ const NO_COMMENTS = {
|
|
|
183
317
|
lifetimes: false,
|
|
184
318
|
digitSeparators: false,
|
|
185
319
|
wordComments: false,
|
|
320
|
+
wordQuotes: false,
|
|
321
|
+
regexLiterals: false,
|
|
322
|
+
jsxText: false,
|
|
186
323
|
strings: [],
|
|
187
324
|
};
|
|
188
325
|
/** Extension to comment syntax. Anything absent is left unclassified. */
|
|
@@ -224,7 +361,8 @@ register(C_SHARP, ['.cs', '.csx']);
|
|
|
224
361
|
register(RUST, ['.rs']);
|
|
225
362
|
register(GO, ['.go']);
|
|
226
363
|
register(HASH, ['.py', '.pyi', '.rb', '.toml', '.tf', '.pl', '.r']);
|
|
227
|
-
register(
|
|
364
|
+
register(SHELL, ['.sh', '.bash', '.zsh']);
|
|
365
|
+
register(YAML, ['.yaml', '.yml']);
|
|
228
366
|
register(SQL_LIKE, ['.sql', '.lua', '.hs', '.elm']);
|
|
229
367
|
register(MARKUP, ['.html', '.htm', '.xml', '.svg', '.vue', '.svelte', '.md', '.markdown']);
|
|
230
368
|
// MSBuild's files, and the rest of .NET's XML. A project file is where a
|
|
@@ -273,12 +411,23 @@ function endOfString(source, { rule, text, close }) {
|
|
|
273
411
|
index += 2;
|
|
274
412
|
continue;
|
|
275
413
|
}
|
|
276
|
-
if (source.startsWith(close, index))
|
|
414
|
+
if (source.startsWith(close, index)) {
|
|
415
|
+
// A doubled delimiter is an escaped one, so the literal carries on.
|
|
416
|
+
if (rule.doubled && source.startsWith(close, index + close.length)) {
|
|
417
|
+
index += close.length * 2;
|
|
418
|
+
continue;
|
|
419
|
+
}
|
|
277
420
|
return { end: index + close.length, closed: true };
|
|
421
|
+
}
|
|
278
422
|
index += 1;
|
|
279
423
|
}
|
|
280
424
|
return { end: source.length, closed: false };
|
|
281
425
|
}
|
|
426
|
+
/** A line comment's opener, and a YAML scalar's quote, is where a word could start. */
|
|
427
|
+
function startsWord(source, at) {
|
|
428
|
+
const before = source[at - 1];
|
|
429
|
+
return before === undefined || before === ' ' || before === '\t' || before === '\n';
|
|
430
|
+
}
|
|
282
431
|
/**
|
|
283
432
|
* Where the code that starts at `at` with a quote ends, or `at` itself when
|
|
284
433
|
* the quote opens a literal - or there is no quote.
|
|
@@ -290,6 +439,10 @@ function endOfString(source, { rule, text, close }) {
|
|
|
290
439
|
* digit is still that number, where `u8'a'` is a character.
|
|
291
440
|
*/
|
|
292
441
|
function codeAfterQuote(source, at, syntax) {
|
|
442
|
+
// YAML: a scalar is quoted only when the quote is where its value starts, so
|
|
443
|
+
// an apostrophe inside a word is part of a sentence.
|
|
444
|
+
if (syntax.wordQuotes && !startsWord(source, at))
|
|
445
|
+
return at + 1;
|
|
293
446
|
if (source[at] !== "'")
|
|
294
447
|
return at;
|
|
295
448
|
if (syntax.lifetimes) {
|
|
@@ -310,10 +463,119 @@ function codeAfterQuote(source, at, syntax) {
|
|
|
310
463
|
}
|
|
311
464
|
return at;
|
|
312
465
|
}
|
|
313
|
-
/**
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
466
|
+
/**
|
|
467
|
+
* Whether the `/` at `at` opens a regular expression rather than dividing.
|
|
468
|
+
*
|
|
469
|
+
* The one question in JavaScript a character cannot answer by itself, and the
|
|
470
|
+
* reason no profile read a regular expression until 0.11.0: `/` divides or
|
|
471
|
+
* quotes according to what came before it. So this looks back, past the
|
|
472
|
+
* whitespace and past the comments - `// note` and then a line that opens with
|
|
473
|
+
* a regular expression is ordinary code - and asks the same two tables the
|
|
474
|
+
* import tokenizer asks.
|
|
475
|
+
*/
|
|
476
|
+
function opensRegex(source, at, comments) {
|
|
477
|
+
const word = /[A-Za-z0-9_$]/;
|
|
478
|
+
let index = at - 1;
|
|
479
|
+
let recent = comments.length - 1;
|
|
480
|
+
for (;;) {
|
|
481
|
+
while (index >= 0) {
|
|
482
|
+
const char = source[index];
|
|
483
|
+
if (char !== ' ' && char !== '\t' && char !== '\n' && char !== '\r')
|
|
484
|
+
break;
|
|
485
|
+
index -= 1;
|
|
486
|
+
}
|
|
487
|
+
// A comment is not a token. Step over the whole of it and ask again, which
|
|
488
|
+
// the ranges collected so far already say how to do.
|
|
489
|
+
while (recent >= 0 && comments[recent][0] > index)
|
|
490
|
+
recent -= 1;
|
|
491
|
+
const range = comments[recent];
|
|
492
|
+
if (range === undefined || range[1] <= index)
|
|
493
|
+
break;
|
|
494
|
+
index = range[0] - 1;
|
|
495
|
+
}
|
|
496
|
+
// Nothing before it at all: a file may open with a regular expression.
|
|
497
|
+
if (index < 0)
|
|
498
|
+
return true;
|
|
499
|
+
const before = source[index];
|
|
500
|
+
if (word.test(before)) {
|
|
501
|
+
let from = index;
|
|
502
|
+
while (from > 0 && word.test(source[from - 1]))
|
|
503
|
+
from -= 1;
|
|
504
|
+
return REGEX_AFTER_WORD.has(source.slice(from, index + 1));
|
|
505
|
+
}
|
|
506
|
+
return REGEX_AFTER_PUNCT.has(before) && !(before === '}' && source[at + 1] === '>');
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Where the regular expression opened at `at` ends, or `at` itself when
|
|
510
|
+
* nothing closes it before the end of the line - in which case the `/` divided
|
|
511
|
+
* after all.
|
|
512
|
+
*
|
|
513
|
+
* A regular expression is one line long, and that is the backstop here: a `/`
|
|
514
|
+
* this reads wrongly costs at most the rest of its line, never the rest of the
|
|
515
|
+
* file, the same bound a Rust character literal got in 0.10.3.
|
|
516
|
+
*/
|
|
517
|
+
function endOfRegex(source, at) {
|
|
518
|
+
let index = at + 1;
|
|
519
|
+
let inClass = false;
|
|
520
|
+
while (index < source.length) {
|
|
521
|
+
const char = source[index];
|
|
522
|
+
if (char === '\\') {
|
|
523
|
+
index += 2;
|
|
524
|
+
continue;
|
|
525
|
+
}
|
|
526
|
+
if (char === '\n')
|
|
527
|
+
return at;
|
|
528
|
+
if (char === '[')
|
|
529
|
+
inClass = true;
|
|
530
|
+
else if (char === ']')
|
|
531
|
+
inClass = false;
|
|
532
|
+
// Inside a character class `/` is an ordinary character: /[/]/ is one
|
|
533
|
+
// literal, and `replace(/[/\\]/g, …)` is how a path is split.
|
|
534
|
+
else if (char === '/' && !inClass)
|
|
535
|
+
return index + 1;
|
|
536
|
+
index += 1;
|
|
537
|
+
}
|
|
538
|
+
return at;
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* The ASCII characters that can begin anything a profile reads.
|
|
542
|
+
*
|
|
543
|
+
* Every comment token and every literal opener in this table starts with one
|
|
544
|
+
* of a handful of characters, and a source file is mostly none of them. So the
|
|
545
|
+
* scan asks this first, and a character that begins nothing costs one array
|
|
546
|
+
* read instead of four searches that were always going to fail.
|
|
547
|
+
*
|
|
548
|
+
* It is also what keeps a rule cheap for the languages that do not have it.
|
|
549
|
+
* Adding the regular-expression branch below to the scan made C 16% slower
|
|
550
|
+
* before this existed - not the branch's work, which C never reaches, but its
|
|
551
|
+
* presence: the same branch with its body deleted cost the same, and so did an
|
|
552
|
+
* unrelated one bolted onto 0.10.3. A question asked per character is paid for
|
|
553
|
+
* per character whether or not it is answered.
|
|
554
|
+
*
|
|
555
|
+
* The table is ASCII-wide, and deliberately has no bounds check at either end.
|
|
556
|
+
* A typed array ignores a write past its end and reads back `undefined`, which
|
|
557
|
+
* is not `0`, so a delimiter in some other script marks nothing and every
|
|
558
|
+
* character of that script takes the slow path - read correctly, and slowly.
|
|
559
|
+
* Both halves of that are the language's own behaviour rather than a branch
|
|
560
|
+
* that no file anyone has could reach.
|
|
561
|
+
*
|
|
562
|
+
* A profile that reads regular expressions needs `/` marked, and gets it from
|
|
563
|
+
* the `//` that opens its line comments; one that has the JSX rule needs it
|
|
564
|
+
* too, and gets it from `/*`. Both are the same character, and no language
|
|
565
|
+
* has one without the other.
|
|
566
|
+
*/
|
|
567
|
+
function openingCharacters(syntax) {
|
|
568
|
+
const starts = new Uint8Array(128);
|
|
569
|
+
const mark = (token) => {
|
|
570
|
+
starts[token.charCodeAt(0)] = 1;
|
|
571
|
+
};
|
|
572
|
+
for (const token of syntax.line)
|
|
573
|
+
mark(token);
|
|
574
|
+
for (const [open] of syntax.block)
|
|
575
|
+
mark(open);
|
|
576
|
+
for (const rule of syntax.strings)
|
|
577
|
+
mark(rule.open);
|
|
578
|
+
return starts;
|
|
317
579
|
}
|
|
318
580
|
/** Where the block comment opened at `at` ends, or the end of the file. */
|
|
319
581
|
function endOfBlock(source, at, pair, nested) {
|
|
@@ -351,49 +613,83 @@ function endOfBlock(source, at, pair, nested) {
|
|
|
351
613
|
export function lexRanges(source, syntax) {
|
|
352
614
|
const comments = [];
|
|
353
615
|
const strings = [];
|
|
616
|
+
// Read once, at the top: the loop below reaches for each of these wherever
|
|
617
|
+
// a character opens something, and the profile itself is never touched
|
|
618
|
+
// inside it. 0.10.3 paid a tenth of the scan for a question asked per
|
|
619
|
+
// character and concluded that the profiles must all be one object shape;
|
|
620
|
+
// they still are, for the rules read at an opener. Nothing mutates a
|
|
621
|
+
// profile, so these cannot go stale mid-scan.
|
|
622
|
+
const { line, block, strings: literals, nested, wordComments, regexLiterals, jsxText } = syntax;
|
|
623
|
+
const starts = openingCharacters(syntax);
|
|
354
624
|
let unterminated = false;
|
|
355
625
|
let index = 0;
|
|
356
626
|
while (index < source.length) {
|
|
357
627
|
const start = index;
|
|
358
|
-
|
|
359
|
-
//
|
|
360
|
-
//
|
|
361
|
-
//
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
if (
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
const lineToken = syntax.line.find((token) => startsWith(token));
|
|
380
|
-
if (lineToken !== undefined && (!syntax.wordComments || startsWord(source, start))) {
|
|
381
|
-
// A line comment is closed by the end of the file as legitimately as by
|
|
382
|
-
// a newline, so running off the end is not a lost scan.
|
|
383
|
-
const newline = source.indexOf('\n', start);
|
|
384
|
-
index = newline === -1 ? source.length : newline;
|
|
385
|
-
comments.push([start, index]);
|
|
386
|
-
}
|
|
387
|
-
else {
|
|
388
|
-
const blockPair = syntax.block.find(([open]) => startsWith(open));
|
|
389
|
-
if (blockPair) {
|
|
390
|
-
const span = endOfBlock(source, start, blockPair, syntax.nested);
|
|
628
|
+
// A character that opens nothing in this language is code, and there is
|
|
629
|
+
// nothing further to ask about it. Written this way round because a
|
|
630
|
+
// character outside the table's reach reads back `undefined`, which is not
|
|
631
|
+
// `0`: an unknown character is asked the long questions, not skipped.
|
|
632
|
+
if (starts[source.charCodeAt(start)] !== 0) {
|
|
633
|
+
const startsWith = (token) => source.startsWith(token, start);
|
|
634
|
+
// First match wins, in this order: a literal hides comment markers inside
|
|
635
|
+
// it, a line comment hides a block opener on the same line, and a `/` is
|
|
636
|
+
// asked whether it opens a regular expression only once it has failed to
|
|
637
|
+
// open either comment. Each lookup sits in the branch that needs it, so
|
|
638
|
+
// none of them runs speculatively - which is why a quote is asked whether
|
|
639
|
+
// it is code only once a literal would open there. Asked on every
|
|
640
|
+
// character, that question cost a tenth of the scan.
|
|
641
|
+
const opener = openerAt(source, start, literals);
|
|
642
|
+
if (opener) {
|
|
643
|
+
const code = codeAfterQuote(source, start, syntax);
|
|
644
|
+
if (code > start) {
|
|
645
|
+
index = code;
|
|
646
|
+
}
|
|
647
|
+
else {
|
|
648
|
+
const span = endOfString(source, opener);
|
|
391
649
|
index = span.end;
|
|
392
|
-
|
|
650
|
+
strings.push([start, index]);
|
|
393
651
|
if (!span.closed)
|
|
394
652
|
unterminated = true;
|
|
395
653
|
}
|
|
396
654
|
}
|
|
655
|
+
else {
|
|
656
|
+
const lineToken = line.find((token) => startsWith(token));
|
|
657
|
+
if (lineToken !== undefined && (!wordComments || startsWord(source, start))) {
|
|
658
|
+
// A line comment is closed by the end of the file as legitimately as
|
|
659
|
+
// by a newline, so running off the end is not a lost scan.
|
|
660
|
+
const newline = source.indexOf('\n', start);
|
|
661
|
+
index = newline === -1 ? source.length : newline;
|
|
662
|
+
comments.push([start, index]);
|
|
663
|
+
}
|
|
664
|
+
else {
|
|
665
|
+
const blockPair = block.find(([open]) => startsWith(open));
|
|
666
|
+
// In JSX a `>` ends a tag, and what follows is text that may say
|
|
667
|
+
// anything: `<div>/*</div>` opens no comment, and reading one there
|
|
668
|
+
// hid every line up to the next `*/` in the file.
|
|
669
|
+
if (blockPair && !(jsxText && source[start - 1] === '>')) {
|
|
670
|
+
const span = endOfBlock(source, start, blockPair, nested);
|
|
671
|
+
index = span.end;
|
|
672
|
+
comments.push([start, index]);
|
|
673
|
+
if (!span.closed)
|
|
674
|
+
unterminated = true;
|
|
675
|
+
}
|
|
676
|
+
else if (regexLiterals && source[start] === '/' && source[start + 1] !== '*' && opensRegex(source, start, comments)) {
|
|
677
|
+
// No regular expression begins with `*`, so the only `/*` that
|
|
678
|
+
// reaches here is the JSX text above, and it stays code.
|
|
679
|
+
//
|
|
680
|
+
// The test for `/` looks redundant, because in this profile every
|
|
681
|
+
// other opening character opens a literal. It is not: a rule whose
|
|
682
|
+
// opener may open nothing - Rust's `r`, which needs a quote after
|
|
683
|
+
// its hashes - reaches here too, and without this the scan would
|
|
684
|
+
// read from that `r` to the next slash on the line.
|
|
685
|
+
const end = endOfRegex(source, start);
|
|
686
|
+
if (end > start) {
|
|
687
|
+
index = end;
|
|
688
|
+
strings.push([start, index]);
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
}
|
|
397
693
|
}
|
|
398
694
|
// The single advance point, and the only place termination depends on.
|
|
399
695
|
if (index <= start)
|
package/dist/comments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"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"}
|
package/dist/imports.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":"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"}
|
package/dist/imports.js
CHANGED
|
@@ -20,6 +20,11 @@
|
|
|
20
20
|
* the file is reported as unanalysable rather than as having no imports.
|
|
21
21
|
*/
|
|
22
22
|
import path from 'node:path';
|
|
23
|
+
// Where a regular expression may open: one table, read by this tokenizer and by
|
|
24
|
+
// the comment lexer, which since 0.11.0 has to answer the same question. A
|
|
25
|
+
// wrong guess here is caught by the end-state check rather than silently
|
|
26
|
+
// mis-scanning the rest of the file.
|
|
27
|
+
import { REGEX_AFTER_PUNCT, REGEX_AFTER_WORD } from './comments.js';
|
|
23
28
|
import { toPosix } from './glob.js';
|
|
24
29
|
import { nodeIo } from './io.js';
|
|
25
30
|
import { NO_MEMO } from './memo.js';
|
|
@@ -43,64 +48,6 @@ export const JS_EXTENSIONS = new Set([
|
|
|
43
48
|
* we could read imports the database".
|
|
44
49
|
*/
|
|
45
50
|
export const ANALYSABLE_EXTENSIONS = new Set([...JS_EXTENSIONS, ...POLYGLOT_EXTENSIONS.keys()]);
|
|
46
|
-
/**
|
|
47
|
-
* Words after which a `/` begins a regular expression rather than a division.
|
|
48
|
-
* The remaining ambiguity is `)` and `}`, where this follows the usual
|
|
49
|
-
* heuristic; a wrong guess is caught by the end-state check rather than
|
|
50
|
-
* silently mis-scanning the rest of the file.
|
|
51
|
-
*/
|
|
52
|
-
const REGEX_AFTER_WORD = new Set([
|
|
53
|
-
'return',
|
|
54
|
-
'typeof',
|
|
55
|
-
'instanceof',
|
|
56
|
-
'in',
|
|
57
|
-
'of',
|
|
58
|
-
'new',
|
|
59
|
-
'delete',
|
|
60
|
-
'void',
|
|
61
|
-
'throw',
|
|
62
|
-
'case',
|
|
63
|
-
'do',
|
|
64
|
-
'else',
|
|
65
|
-
'yield',
|
|
66
|
-
'await',
|
|
67
|
-
]);
|
|
68
|
-
/**
|
|
69
|
-
* `<` is deliberately absent: in JSX every closing tag is `</`, and reading that
|
|
70
|
-
* as the start of a regular expression loses the scan for the rest of the file.
|
|
71
|
-
* The cost is that `a < /re/.test(b)` is misread instead, which is a shape that
|
|
72
|
-
* does not occur in practice.
|
|
73
|
-
*
|
|
74
|
-
* `}` stays, for a regular expression that opens a statement after a block,
|
|
75
|
-
* except before `/>`. That is a JSX element closing after an expression
|
|
76
|
-
* attribute, `<App x={y} />`, and reading it as a regular expression loses the
|
|
77
|
-
* scan in the same way. `/>` after anything else is still one - `/>/` is a
|
|
78
|
-
* regular expression, and HTML escaping is full of `replace(/>/g, ...)`. The
|
|
79
|
-
* cost is a statement that opens with a regular expression beginning `>` straight
|
|
80
|
-
* after a block, which does not occur in practice either.
|
|
81
|
-
*/
|
|
82
|
-
const REGEX_AFTER_PUNCT = new Set([
|
|
83
|
-
'(',
|
|
84
|
-
',',
|
|
85
|
-
'=',
|
|
86
|
-
':',
|
|
87
|
-
'[',
|
|
88
|
-
'!',
|
|
89
|
-
'&',
|
|
90
|
-
'|',
|
|
91
|
-
'?',
|
|
92
|
-
'{',
|
|
93
|
-
'}',
|
|
94
|
-
';',
|
|
95
|
-
'+',
|
|
96
|
-
'-',
|
|
97
|
-
'*',
|
|
98
|
-
'/',
|
|
99
|
-
'%',
|
|
100
|
-
'^',
|
|
101
|
-
'~',
|
|
102
|
-
'>',
|
|
103
|
-
]);
|
|
104
51
|
function isIdentifierStart(char) {
|
|
105
52
|
// Deliberately not @ or #: they can start a decorator or a private field but
|
|
106
53
|
// cannot continue an identifier, so accepting them here would read a
|
package/dist/imports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":"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"}
|