@ts-runtypes/devtools 0.9.3 → 0.10.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/dist/diagnosticCatalog.d.ts +2 -2
- package/dist/diagnosticCatalog.d.ts.map +1 -1
- package/dist/diagnosticCatalog.js +2 -2
- package/dist/diagnosticCatalog.js.map +1 -1
- package/dist/eslint/diagnosticRouting.d.ts +8 -1
- package/dist/eslint/diagnosticRouting.d.ts.map +1 -1
- package/dist/eslint/diagnosticRouting.js +210 -35
- package/dist/eslint/diagnosticRouting.js.map +1 -1
- package/dist/eslint/index.d.ts +2 -0
- package/dist/eslint/index.d.ts.map +1 -1
- package/dist/eslint/index.js +7 -26
- package/dist/eslint/index.js.map +1 -1
- package/dist/eslint/lint-worker.js +8 -19
- package/dist/eslint/lint-worker.js.map +1 -1
- package/dist/eslint/prefilter.d.ts.map +1 -1
- package/dist/eslint/prefilter.js +2 -2
- package/dist/eslint/prefilter.js.map +1 -1
- package/dist/eslint/session-protocol.d.ts +0 -4
- package/dist/eslint/session-protocol.d.ts.map +1 -1
- package/dist/eslint/session.js +1 -1
- package/dist/eslint/session.js.map +1 -1
- package/dist/{diagnosticCatalog.generated.d.ts → go-generated/diagnosticCatalog.generated.d.ts} +1 -0
- package/dist/go-generated/diagnosticCatalog.generated.d.ts.map +1 -0
- package/dist/{diagnosticCatalog.generated.js → go-generated/diagnosticCatalog.generated.js} +208 -40
- package/dist/go-generated/diagnosticCatalog.generated.js.map +1 -0
- package/dist/go-generated/reflectionKind.generated.d.ts +59 -0
- package/dist/go-generated/reflectionKind.generated.d.ts.map +1 -0
- package/dist/go-generated/reflectionKind.generated.js +59 -0
- package/dist/go-generated/reflectionKind.generated.js.map +1 -0
- package/dist/{runtypes-constants.generated.d.ts → go-generated/runtypes-constants.generated.d.ts} +9 -27
- package/dist/go-generated/runtypes-constants.generated.d.ts.map +1 -0
- package/dist/{runtypes-constants.generated.js → go-generated/runtypes-constants.generated.js} +5 -18
- package/dist/go-generated/runtypes-constants.generated.js.map +1 -0
- package/dist/packages/ts-runtypes-devtools/tsconfig.test.tsbuildinfo +1 -1
- package/dist/protocol.d.ts +19 -42
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +3 -41
- package/dist/protocol.js.map +1 -1
- package/dist/resolver-client.d.ts +6 -3
- package/dist/resolver-client.d.ts.map +1 -1
- package/dist/resolver-client.js +7 -2
- package/dist/resolver-client.js.map +1 -1
- package/dist/unplugin.d.ts +13 -8
- package/dist/unplugin.d.ts.map +1 -1
- package/dist/unplugin.js +31 -33
- package/dist/unplugin.js.map +1 -1
- package/oxlint-recommended.json +31 -0
- package/package.json +4 -3
- package/dist/diagnosticCatalog.generated.d.ts.map +0 -1
- package/dist/diagnosticCatalog.generated.js.map +0 -1
- package/dist/runtypes-constants.generated.d.ts.map +0 -1
- package/dist/runtypes-constants.generated.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { DIAGNOSTIC_CATALOG } from './diagnosticCatalog.generated.ts';
|
|
2
|
-
export type { DiagnosticEntry } from './diagnosticCatalog.generated.ts';
|
|
1
|
+
export { DIAGNOSTIC_CATALOG } from './go-generated/diagnosticCatalog.generated.ts';
|
|
2
|
+
export type { DiagnosticEntry } from './go-generated/diagnosticCatalog.generated.ts';
|
|
3
3
|
export declare function renderHeadline(code: string, args?: readonly string[]): string;
|
|
4
4
|
export declare function renderDetail(code: string, args?: readonly string[]): string | undefined;
|
|
5
5
|
export declare function alwaysThrowFactory(code: string, siteHint?: string, ...args: string[]): () => never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticCatalog.d.ts","sourceRoot":"","sources":["../src/diagnosticCatalog.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,kBAAkB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"diagnosticCatalog.d.ts","sourceRoot":"","sources":["../src/diagnosticCatalog.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,kBAAkB,EAAC,MAAM,+CAA+C,CAAC;AACjF,YAAY,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AAkBnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAI7E;AAQD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAIvF;AAeD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAOlG;AAQD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE7E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DIAGNOSTIC_CATALOG } from "./diagnosticCatalog.generated.js";
|
|
2
|
-
export { DIAGNOSTIC_CATALOG } from "./diagnosticCatalog.generated.js";
|
|
1
|
+
import { DIAGNOSTIC_CATALOG } from "./go-generated/diagnosticCatalog.generated.js";
|
|
2
|
+
export { DIAGNOSTIC_CATALOG } from "./go-generated/diagnosticCatalog.generated.js";
|
|
3
3
|
function substitute(template, args) {
|
|
4
4
|
if (!args || args.length === 0)
|
|
5
5
|
return template;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticCatalog.js","sourceRoot":"","sources":["../src/diagnosticCatalog.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,kBAAkB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"diagnosticCatalog.js","sourceRoot":"","sources":["../src/diagnosticCatalog.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,kBAAkB,EAAC,MAAM,+CAA+C,CAAC;AAEjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,+CAA+C,CAAC;AAIjF,SAAS,UAAU,CAAC,QAAgB,EAAE,IAAmC;IACvE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAwB;IACnE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,iCAAiC,IAAI,2BAA2B,CAAC;IACpF,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAQD,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAwB;IACjE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAeD,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAAiB,EAAE,GAAG,IAAc;IACnF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAwB;IACnE,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { type Diagnostic } from '../protocol.ts';
|
|
2
|
-
export type RuleName = '
|
|
2
|
+
export type RuleName = 'invalid-marker' | 'redundant-marker' | 'pure-functions' | 'validate-non-serializable' | 'validate-skipped-member' | 'json-non-serializable' | 'json-skipped-member' | 'binary-non-serializable' | 'binary-skipped-member' | 'clone-unsupported-type' | 'clone-shared-reference' | 'unknown-keys' | 'format' | 'invalid-override' | 'override-side-effect' | 'non-enumerable' | 'class-serializer' | 'other' | 'no-enrichment-todo' | 'no-orphan-carcass' | 'enrichment-field' | 'enrichment-message' | 'enrichment-broken-source' | 'enrichment-misplaced-file';
|
|
3
|
+
export interface RuleSpec {
|
|
4
|
+
readonly name: RuleName;
|
|
5
|
+
readonly default: 'error' | 'warn';
|
|
6
|
+
readonly gate: 'compiler' | 'enrichment';
|
|
7
|
+
readonly description: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const RULE_SPECS: readonly RuleSpec[];
|
|
3
10
|
export declare const ALL_RULE_NAMES: readonly RuleName[];
|
|
4
11
|
export interface LintLoc {
|
|
5
12
|
start: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticRouting.d.ts","sourceRoot":"","sources":["../../src/eslint/diagnosticRouting.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,UAAU,EAAsB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnosticRouting.d.ts","sourceRoot":"","sources":["../../src/eslint/diagnosticRouting.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,UAAU,EAAsB,MAAM,gBAAgB,CAAC;AAWtF,MAAM,MAAM,QAAQ,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,2BAA2B,GAC3B,yBAAyB,GACzB,uBAAuB,GACvB,qBAAqB,GACrB,yBAAyB,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,wBAAwB,GACxB,cAAc,GACd,QAAQ,GACR,kBAAkB,GAClB,sBAAsB,GACtB,gBAAgB,GAChB,kBAAkB,GAClB,OAAO,GACP,oBAAoB,GACpB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,0BAA0B,GAC1B,2BAA2B,CAAC;AAQhC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAyKzC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EAAwC,CAAC;AA4FvF,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;IACtC,GAAG,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;CACtC;AAGD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAMD,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAMlE;AAqBD,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAU5D"}
|
|
@@ -1,14 +1,212 @@
|
|
|
1
1
|
import { DIAGNOSTIC_CATALOG, renderHeadline } from "../diagnosticCatalog.js";
|
|
2
2
|
import { Family, Severity } from "../protocol.js";
|
|
3
|
-
export const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
export const RULE_SPECS = [
|
|
4
|
+
{
|
|
5
|
+
name: 'invalid-marker',
|
|
6
|
+
default: 'error',
|
|
7
|
+
gate: 'compiler',
|
|
8
|
+
description: 'A marker call the build cannot turn into a function: a generic type argument never filled in with a concrete type, an options argument that is not a plain literal the build can read, an import that failed to resolve, or a Temporal type without the Temporal lib enabled',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: 'redundant-marker',
|
|
12
|
+
default: 'warn',
|
|
13
|
+
gate: 'compiler',
|
|
14
|
+
description: 'A marker that works but probably does not do what you meant: a function called inside a marker just to read its return type (the call itself is wasted), or a ValidateOptions flag that has no effect on this particular type',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'pure-functions',
|
|
18
|
+
default: 'error',
|
|
19
|
+
gate: 'compiler',
|
|
20
|
+
description: 'A registered pure function that breaks the purity rules (uses this, await, yield, dynamic import, blocked globals, or variables from outside its own body), is registered twice with different bodies, or is referenced by a generated function but never registered',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'validate-non-serializable',
|
|
24
|
+
default: 'error',
|
|
25
|
+
gate: 'compiler',
|
|
26
|
+
description: 'A type that can never be validated. Validators check serializable data only (the data-only projection of the type), so a type like symbol or Map at a root position has nothing to check and the generated function will always fail',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'validate-skipped-member',
|
|
30
|
+
default: 'warn',
|
|
31
|
+
gate: 'compiler',
|
|
32
|
+
description: 'A property the validator silently skips: functions, methods, statics, and symbols are not data and never survive JSON, so the generated validator checks the rest of the object and ignores them',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'json-non-serializable',
|
|
36
|
+
default: 'error',
|
|
37
|
+
gate: 'compiler',
|
|
38
|
+
description: 'A type that can never be encoded to or decoded from JSON (a function, symbol, never, or a non-serializable built-in like Map at a root position) — the generated function will always fail',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'json-skipped-member',
|
|
42
|
+
default: 'warn',
|
|
43
|
+
gate: 'compiler',
|
|
44
|
+
description: 'A property the JSON encoder and decoder silently leave out (a function, method, static, or symbol member) — the rest of the object round-trips normally',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'binary-non-serializable',
|
|
48
|
+
default: 'error',
|
|
49
|
+
gate: 'compiler',
|
|
50
|
+
description: 'A type that can never be serialised to or deserialised from binary (a function, symbol, never, or a non-serializable built-in like Map at a root position) — the generated function will always fail',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'binary-skipped-member',
|
|
54
|
+
default: 'warn',
|
|
55
|
+
gate: 'compiler',
|
|
56
|
+
description: 'A property the binary encoder and decoder silently leave out (a function, method, static, or symbol member) — the rest of the object round-trips normally',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'clone-unsupported-type',
|
|
60
|
+
default: 'error',
|
|
61
|
+
gate: 'compiler',
|
|
62
|
+
description: 'A type cloneExactShape cannot clone safely: a union of objects (the clone cannot tell which shape to rebuild) or a callable root. A clone that guessed could keep unknown keys, so the build stops instead',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'clone-shared-reference',
|
|
66
|
+
default: 'warn',
|
|
67
|
+
gate: 'compiler',
|
|
68
|
+
description: 'A property the clone cannot rebuild (a function, symbol, or non-serializable built-in), so it stays pointing at the same value as the original — changes through it are visible on both copies',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'unknown-keys',
|
|
72
|
+
default: 'warn',
|
|
73
|
+
gate: 'compiler',
|
|
74
|
+
description: 'A property the unknown-keys helpers (hasUnknownKeys, unknownKeyErrors, unknownKeysToUndefined) silently skip, such as a function member — the check covers the rest of the object',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'format',
|
|
78
|
+
default: 'error',
|
|
79
|
+
gate: 'compiler',
|
|
80
|
+
description: 'A custom string format with a broken definition: a mock sample that does not match its own pattern, a sample that violates a sibling constraint like maxLength, or invalid format params. Also fires when the linter re-checks samples the build could not verify (allowUncheckedPatterns)',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'invalid-override',
|
|
84
|
+
default: 'error',
|
|
85
|
+
gate: 'compiler',
|
|
86
|
+
description: 'An override that cannot work: the same (type, function) pair registered twice, or an override redirect pointing at a generated module that does not exist',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'override-side-effect',
|
|
90
|
+
default: 'warn',
|
|
91
|
+
gate: 'compiler',
|
|
92
|
+
description: 'A validate override on a type whose JSON and binary union decoders also run validation internally — the override changes their behaviour too, which may be intended but is worth knowing',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'non-enumerable',
|
|
96
|
+
default: 'error',
|
|
97
|
+
gate: 'compiler',
|
|
98
|
+
description: 'A property marked @nonEnumerable that is not optional — a non-enumerable property can be absent from a plain object, so the type must allow undefined',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'class-serializer',
|
|
102
|
+
default: 'warn',
|
|
103
|
+
gate: 'compiler',
|
|
104
|
+
description: 'A class that will be serialized structurally (declared properties only) because no custom serializer is registered — the data survives, but the decoded value is a plain object, not a class instance. Register one with registerClassSerializer to round-trip real instances',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'other',
|
|
108
|
+
default: 'error',
|
|
109
|
+
gate: 'compiler',
|
|
110
|
+
description: 'Any other RunTypes compiler diagnostic (reached only when a locally built binary runs ahead of the message catalog)',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'no-enrichment-todo',
|
|
114
|
+
default: 'error',
|
|
115
|
+
gate: 'enrichment',
|
|
116
|
+
description: 'An unfilled @todo placeholder the generator scaffolded in a FriendlyText / MockData file — fill in the value, then delete the tag line',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'no-orphan-carcass',
|
|
120
|
+
default: 'error',
|
|
121
|
+
gate: 'enrichment',
|
|
122
|
+
description: 'A commented-out @rtOrphan / @rtOrphanChild block the generator left behind when a type or field disappeared — restore the type, or run `ts-runtypes gen --prune` to remove it',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: 'enrichment-field',
|
|
126
|
+
default: 'error',
|
|
127
|
+
gate: 'enrichment',
|
|
128
|
+
description: 'A FriendlyText / MockData entry that no longer matches its type: a field the type does not declare, a name colliding with the reserved rt$ prefix, or a plural template missing its mandatory other arm',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: 'enrichment-message',
|
|
132
|
+
default: 'warn',
|
|
133
|
+
gate: 'enrichment',
|
|
134
|
+
description: 'A friendly error message template with a problem: an error key that is not a declared constraint of the field, an unknown $[placeholder], or a plural arm that is not a valid category',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: 'enrichment-broken-source',
|
|
138
|
+
default: 'error',
|
|
139
|
+
gate: 'enrichment',
|
|
140
|
+
description: 'A generated mirror whose source is gone — the file it mirrors no longer exists, or no longer declares the imported type. Re-run the generator, or delete the mirror',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
name: 'enrichment-misplaced-file',
|
|
144
|
+
default: 'warn',
|
|
145
|
+
gate: 'enrichment',
|
|
146
|
+
description: 'A generated mirror that is no longer where the generator would write it, usually after its source file moved — re-run the generator to relocate it',
|
|
147
|
+
},
|
|
11
148
|
];
|
|
149
|
+
export const ALL_RULE_NAMES = RULE_SPECS.map((spec) => spec.name);
|
|
150
|
+
const PREFIX_TO_FAMILY = {
|
|
151
|
+
MKR: { primary: 'invalid-marker', warn: 'redundant-marker' },
|
|
152
|
+
CTA: { primary: 'invalid-marker' },
|
|
153
|
+
PFN: { primary: 'invalid-marker' },
|
|
154
|
+
TMP: { primary: 'invalid-marker' },
|
|
155
|
+
PFE: { primary: 'pure-functions' },
|
|
156
|
+
VL: { primary: 'validate-non-serializable', warn: 'validate-skipped-member' },
|
|
157
|
+
VE: { primary: 'validate-non-serializable', warn: 'validate-skipped-member' },
|
|
158
|
+
PJ: { primary: 'json-non-serializable', warn: 'json-skipped-member' },
|
|
159
|
+
PJS: { primary: 'json-non-serializable', warn: 'json-skipped-member' },
|
|
160
|
+
RJ: { primary: 'json-non-serializable', warn: 'json-skipped-member' },
|
|
161
|
+
SJ: { primary: 'json-non-serializable', warn: 'json-skipped-member' },
|
|
162
|
+
JCP: { primary: 'json-non-serializable' },
|
|
163
|
+
TB: { primary: 'binary-non-serializable', warn: 'binary-skipped-member' },
|
|
164
|
+
FB: { primary: 'binary-non-serializable', warn: 'binary-skipped-member' },
|
|
165
|
+
CES: { primary: 'clone-unsupported-type', warn: 'clone-shared-reference' },
|
|
166
|
+
HUK: { primary: 'unknown-keys' },
|
|
167
|
+
UKE: { primary: 'unknown-keys' },
|
|
168
|
+
UKU: { primary: 'unknown-keys' },
|
|
169
|
+
UKW: { primary: 'unknown-keys' },
|
|
170
|
+
FMT: { primary: 'format' },
|
|
171
|
+
OVR: { primary: 'invalid-override', warn: 'override-side-effect' },
|
|
172
|
+
NE: { primary: 'non-enumerable' },
|
|
173
|
+
CLS: { primary: 'class-serializer' },
|
|
174
|
+
};
|
|
175
|
+
function codePrefix(code) {
|
|
176
|
+
const match = code.match(/^[A-Z]+/);
|
|
177
|
+
return match ? match[0] : code;
|
|
178
|
+
}
|
|
179
|
+
function enrichFamily(code) {
|
|
180
|
+
switch (code) {
|
|
181
|
+
case 'FT020':
|
|
182
|
+
case 'MD020':
|
|
183
|
+
return { primary: 'no-enrichment-todo' };
|
|
184
|
+
case 'FT021':
|
|
185
|
+
case 'FT022':
|
|
186
|
+
case 'MD021':
|
|
187
|
+
case 'MD022':
|
|
188
|
+
return { primary: 'no-orphan-carcass' };
|
|
189
|
+
case 'GE000':
|
|
190
|
+
case 'GE001':
|
|
191
|
+
case 'GE002':
|
|
192
|
+
case 'GE003':
|
|
193
|
+
return { primary: 'enrichment-broken-source', warn: 'enrichment-misplaced-file' };
|
|
194
|
+
default:
|
|
195
|
+
return { primary: 'enrichment-field', warn: 'enrichment-message' };
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
function fallbackFamily(family) {
|
|
199
|
+
switch (family) {
|
|
200
|
+
case Family.Marker:
|
|
201
|
+
return { primary: 'invalid-marker', warn: 'redundant-marker' };
|
|
202
|
+
case Family.PureFn:
|
|
203
|
+
return { primary: 'pure-functions' };
|
|
204
|
+
case Family.Enrich:
|
|
205
|
+
return { primary: 'enrichment-field', warn: 'enrichment-message' };
|
|
206
|
+
default:
|
|
207
|
+
return { primary: 'other' };
|
|
208
|
+
}
|
|
209
|
+
}
|
|
12
210
|
export function routeDiagnostic(diagnostic) {
|
|
13
211
|
return {
|
|
14
212
|
ruleName: ruleNameFor(diagnostic),
|
|
@@ -17,33 +215,10 @@ export function routeDiagnostic(diagnostic) {
|
|
|
17
215
|
};
|
|
18
216
|
}
|
|
19
217
|
function ruleNameFor(diagnostic) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return 'no-enrichment-todo';
|
|
25
|
-
case 'FT021':
|
|
26
|
-
case 'FT022':
|
|
27
|
-
case 'MD021':
|
|
28
|
-
case 'MD022':
|
|
29
|
-
return 'no-orphan-carcass';
|
|
30
|
-
case 'GE000':
|
|
31
|
-
case 'GE001':
|
|
32
|
-
case 'GE002':
|
|
33
|
-
case 'GE003':
|
|
34
|
-
return 'enrichment-drift';
|
|
35
|
-
default:
|
|
36
|
-
return 'enrichment-field';
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
switch (diagnostic.severity) {
|
|
40
|
-
case Severity.Error:
|
|
41
|
-
return 'error';
|
|
42
|
-
case Severity.Warning:
|
|
43
|
-
return 'warn';
|
|
44
|
-
default:
|
|
45
|
-
return 'info';
|
|
46
|
-
}
|
|
218
|
+
const family = diagnostic.family === Family.Enrich
|
|
219
|
+
? enrichFamily(diagnostic.code)
|
|
220
|
+
: (PREFIX_TO_FAMILY[codePrefix(diagnostic.code)] ?? fallbackFamily(diagnostic.family));
|
|
221
|
+
return diagnostic.severity === Severity.Warning && family.warn ? family.warn : family.primary;
|
|
47
222
|
}
|
|
48
223
|
export function renderMessage(diagnostic) {
|
|
49
224
|
const known = diagnostic.code in DIAGNOSTIC_CATALOG;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticRouting.js","sourceRoot":"","sources":["../../src/eslint/diagnosticRouting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,kBAAkB,EAAE,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAuC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnosticRouting.js","sourceRoot":"","sources":["../../src/eslint/diagnosticRouting.ts"],"names":[],"mappings":"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"}
|
package/dist/eslint/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type RuleName } from './diagnosticRouting.ts';
|
|
2
|
+
import { type LintSessionOptions } from './session.ts';
|
|
2
3
|
interface RuleContext {
|
|
3
4
|
physicalFilename?: string;
|
|
4
5
|
filename?: string;
|
|
@@ -29,6 +30,7 @@ interface RuleModule {
|
|
|
29
30
|
};
|
|
30
31
|
create(context: RuleContext): Record<string, unknown>;
|
|
31
32
|
}
|
|
33
|
+
export declare function sessionOptions(settings: Record<string, unknown> | undefined): LintSessionOptions;
|
|
32
34
|
export declare const meta: {
|
|
33
35
|
name: string;
|
|
34
36
|
version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EAA8B,KAAK,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAgC,KAAK,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAWpF,UAAU,WAAW;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,UAAU,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE;YAAC,KAAK,EAAE;gBAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAC,CAAC;YAAC,GAAG,CAAC,EAAE;gBAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAC,CAAA;SAAC,CAAA;KAAC,GAAG,IAAI,CAAC;CACjI;AAED,UAAU,UAAU;IAClB,IAAI,EAAE;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE;YAAC,WAAW,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvD;AAaD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,kBAAkB,CAOhG;AA0CD,eAAO,MAAM,IAAI;;;CAA8C,CAAC;AAOhE,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAKd,CAAC;AAKlC,QAAA,MAAM,MAAM;;;;;;aAAgC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAAC,CAAC;AAOrE,eAAO,MAAM,OAAO,yBAAiB,CAAC;AAEtC,eAAe,MAAM,CAAC"}
|
package/dist/eslint/index.js
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import { routeDiagnostic } from "./diagnosticRouting.js";
|
|
2
|
+
import { routeDiagnostic, RULE_SPECS } from "./diagnosticRouting.js";
|
|
3
3
|
import { looksLikeEnrichmentFile, needsResolverPass } from "./prefilter.js";
|
|
4
4
|
import { prewarmSession, sharedSession } from "./session.js";
|
|
5
5
|
await prewarmSession();
|
|
6
6
|
const engineErrorClaims = new Map();
|
|
7
|
-
function sessionOptions(settings) {
|
|
7
|
+
export function sessionOptions(settings) {
|
|
8
8
|
const raw = settings?.['runtypes'];
|
|
9
9
|
if (!raw || typeof raw !== 'object')
|
|
10
10
|
return {};
|
|
11
11
|
const bag = raw;
|
|
12
12
|
const options = {};
|
|
13
|
-
if (typeof bag['binary'] === 'string')
|
|
14
|
-
options.binary = bag['binary'];
|
|
15
|
-
if (typeof bag['socket'] === 'string')
|
|
16
|
-
options.socket = bag['socket'];
|
|
17
|
-
if (typeof bag['cwd'] === 'string')
|
|
18
|
-
options.cwd = bag['cwd'];
|
|
19
13
|
if (typeof bag['timeoutMs'] === 'number')
|
|
20
14
|
options.timeoutMs = bag['timeoutMs'];
|
|
21
15
|
return options;
|
|
@@ -56,27 +50,14 @@ function diagnosticRule(ruleName, description, gate) {
|
|
|
56
50
|
}
|
|
57
51
|
const packageVersion = createRequire(import.meta.url)('../../package.json').version;
|
|
58
52
|
export const meta = { name: 'runtypes', version: packageVersion };
|
|
59
|
-
export const rules =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
'no-enrichment-todo': diagnosticRule('no-enrichment-todo', 'Forbid unfilled @todo scaffold placeholders in generated enrichment files', looksLikeEnrichmentFile),
|
|
64
|
-
'no-orphan-carcass': diagnosticRule('no-orphan-carcass', 'Forbid stale @rtOrphan / @rtOrphanChild carcasses in generated enrichment files (run `ts-runtypes gen --prune` or restore the type)', looksLikeEnrichmentFile),
|
|
65
|
-
'enrichment-field': diagnosticRule('enrichment-field', 'FriendlyText / MockData maps must match the source type (no dead fields, constraints, or placeholders)', looksLikeEnrichmentFile),
|
|
66
|
-
'enrichment-drift': diagnosticRule('enrichment-drift', 'Enrichment mirror files must track a live source (breadcrumb resolves and the source still declares the imported types)', looksLikeEnrichmentFile),
|
|
67
|
-
};
|
|
53
|
+
export const rules = Object.fromEntries(RULE_SPECS.map((spec) => [
|
|
54
|
+
spec.name,
|
|
55
|
+
diagnosticRule(spec.name, spec.description, spec.gate === 'enrichment' ? looksLikeEnrichmentFile : needsResolverPass),
|
|
56
|
+
]));
|
|
68
57
|
const plugin = { meta, rules, configs: {} };
|
|
69
58
|
plugin.configs['recommended'] = {
|
|
70
59
|
plugins: { runtypes: plugin },
|
|
71
|
-
rules: {
|
|
72
|
-
'runtypes/error': 'error',
|
|
73
|
-
'runtypes/warn': 'warn',
|
|
74
|
-
'runtypes/info': 'off',
|
|
75
|
-
'runtypes/no-enrichment-todo': 'error',
|
|
76
|
-
'runtypes/no-orphan-carcass': 'error',
|
|
77
|
-
'runtypes/enrichment-field': 'error',
|
|
78
|
-
'runtypes/enrichment-drift': 'error',
|
|
79
|
-
},
|
|
60
|
+
rules: Object.fromEntries(RULE_SPECS.map((spec) => [`runtypes/${spec.name}`, spec.default])),
|
|
80
61
|
};
|
|
81
62
|
export const configs = plugin.configs;
|
|
82
63
|
export default plugin;
|
package/dist/eslint/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { fileURLToPath } from 'node:url';
|
|
|
4
4
|
import { parentPort, workerData } from 'node:worker_threads';
|
|
5
5
|
import { getExePath } from '@ts-runtypes/bin';
|
|
6
6
|
import { Family, Severity } from "../protocol.js";
|
|
7
|
-
import { buildResolverArgs, ResolverClient,
|
|
8
|
-
import { WAKE_INDEX
|
|
7
|
+
import { buildResolverArgs, ResolverClient, ResolverStreamClient } from "../resolver-client.js";
|
|
8
|
+
import { WAKE_INDEX } from "./session-protocol.js";
|
|
9
9
|
const data = workerData;
|
|
10
10
|
const requests = data.port;
|
|
11
11
|
const signal = data.signal;
|
|
@@ -28,20 +28,11 @@ if (process.env['RT_LINT_PRESPAWN'] !== '0') {
|
|
|
28
28
|
}
|
|
29
29
|
parentPort?.postMessage({ shimReady: true });
|
|
30
30
|
let connection = null;
|
|
31
|
-
|
|
32
|
-
async function ensureConnection(options) {
|
|
31
|
+
async function ensureConnection() {
|
|
33
32
|
if (connection)
|
|
34
33
|
return connection;
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
if (options.socket) {
|
|
38
|
-
shim?.kill();
|
|
39
|
-
shim = null;
|
|
40
|
-
connection = await ResolverSocketClient.connect(options.socket);
|
|
41
|
-
return connection;
|
|
42
|
-
}
|
|
43
|
-
const binaryPath = options.binary ?? getExePath();
|
|
44
|
-
const args = buildResolverArgs(cwd, '', { serverMode: true, singleThreaded: true });
|
|
34
|
+
const binaryPath = getExePath();
|
|
35
|
+
const args = buildResolverArgs(process.cwd(), '', { serverMode: true, singleThreaded: true });
|
|
45
36
|
if (shim?.stdin && shim.stdout && shim.exitCode === null) {
|
|
46
37
|
const launcher = shim;
|
|
47
38
|
launcher.stdin.write(JSON.stringify({ exec: binaryPath, args }) + '\n');
|
|
@@ -50,7 +41,7 @@ async function ensureConnection(options) {
|
|
|
50
41
|
connection = stream;
|
|
51
42
|
return connection;
|
|
52
43
|
}
|
|
53
|
-
connection = new ResolverClient(binaryPath, cwd, '', { serverMode: true, singleThreaded: true });
|
|
44
|
+
connection = new ResolverClient(binaryPath, process.cwd(), '', { serverMode: true, singleThreaded: true });
|
|
54
45
|
return connection;
|
|
55
46
|
}
|
|
56
47
|
const connectionLostPattern = /resolver exited|spawn failed|socket closed|socket error|resolver is closed/;
|
|
@@ -83,11 +74,9 @@ async function lintOne(request) {
|
|
|
83
74
|
for (let attempt = 0;; attempt++) {
|
|
84
75
|
let stage = 'connect';
|
|
85
76
|
try {
|
|
86
|
-
const
|
|
87
|
-
const resolver = await ensureConnection(options);
|
|
77
|
+
const resolver = await ensureConnection();
|
|
88
78
|
stage = 'scan';
|
|
89
|
-
const
|
|
90
|
-
const rel = path.relative(cwd, request.file) || request.file;
|
|
79
|
+
const rel = path.relative(process.cwd(), request.file) || request.file;
|
|
91
80
|
await resolver.setSources({ [rel]: request.text });
|
|
92
81
|
const result = await resolver.scanFiles([rel], { checkEnrich: true, includeRtDiagnostics: true });
|
|
93
82
|
const diagnostics = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-worker.js","sourceRoot":"","sources":["../../src/eslint/lint-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lint-worker.js","sourceRoot":"","sources":["../../src/eslint/lint-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefilter.d.ts","sourceRoot":"","sources":["../../src/eslint/prefilter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prefilter.d.ts","sourceRoot":"","sources":["../../src/eslint/prefilter.ts"],"names":[],"mappings":"AAsBA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAsBD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|
package/dist/eslint/prefilter.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FRIENDLY_TEXT_NAME, FRIENDLY_TYPE_NAME, MARKER_COMMENT_PREFIX, MOCK_DATA_NAME } from "../runtypes-constants.generated.js";
|
|
1
|
+
import { FRIENDLY_TEXT_NAME, FRIENDLY_TYPE_NAME, MARKER_COMMENT_PREFIX, MOCK_DATA_NAME, } from "../go-generated/runtypes-constants.generated.js";
|
|
2
2
|
const MARKER_MODULE = '@ts-runtypes/core';
|
|
3
3
|
export function referencesMarkerModule(text) {
|
|
4
|
-
return text.includes(`'${MARKER_MODULE}`) || text.includes(`"${MARKER_MODULE}`) || text.includes('
|
|
4
|
+
return text.includes(`'${MARKER_MODULE}`) || text.includes(`"${MARKER_MODULE}`) || text.includes('registerPureFn');
|
|
5
5
|
}
|
|
6
6
|
const enrichConstAnnotationPattern = new RegExp(`^[ \\t]*(?:export[ \\t]+)?const[ \\t]+[A-Za-z_$][A-Za-z0-9_$]*[ \\t]*:\\s*(?:${FRIENDLY_TEXT_NAME}|${FRIENDLY_TYPE_NAME}|${MOCK_DATA_NAME})[ \\t]*<`, 'm');
|
|
7
7
|
export function looksLikeEnrichmentFile(text) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefilter.js","sourceRoot":"","sources":["../../src/eslint/prefilter.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"prefilter.js","sourceRoot":"","sources":["../../src/eslint/prefilter.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,iDAAiD,CAAC;AAQzD,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAI1C,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AACrH,CAAC;AAUD,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAC7C,gFAAgF,kBAAkB,IAAI,kBAAkB,IAAI,cAAc,WAAW,EACrJ,GAAG,CACJ,CAAC;AASF,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;AAKD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -2,9 +2,6 @@ import type { MessagePort } from 'node:worker_threads';
|
|
|
2
2
|
import type { Diagnostic } from '../protocol.ts';
|
|
3
3
|
export declare const WAKE_INDEX = 0;
|
|
4
4
|
export interface LintSessionOptions {
|
|
5
|
-
binary?: string;
|
|
6
|
-
socket?: string;
|
|
7
|
-
cwd?: string;
|
|
8
5
|
timeoutMs?: number;
|
|
9
6
|
}
|
|
10
7
|
export interface LintWorkerData {
|
|
@@ -15,7 +12,6 @@ export interface LintWorkerRequest {
|
|
|
15
12
|
seq: number;
|
|
16
13
|
file: string;
|
|
17
14
|
text: string;
|
|
18
|
-
options: LintSessionOptions;
|
|
19
15
|
}
|
|
20
16
|
export interface LintWorkerResponse {
|
|
21
17
|
seq: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-protocol.d.ts","sourceRoot":"","sources":["../../src/eslint/session-protocol.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAI/C,eAAO,MAAM,UAAU,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"session-protocol.d.ts","sourceRoot":"","sources":["../../src/eslint/session-protocol.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAI/C,eAAO,MAAM,UAAU,IAAI,CAAC;AAQ5B,MAAM,WAAW,kBAAkB;IAIjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
|
package/dist/eslint/session.js
CHANGED
|
@@ -63,7 +63,7 @@ export class LintSession {
|
|
|
63
63
|
return { engineError: this.dead };
|
|
64
64
|
}
|
|
65
65
|
const seq = ++this.seq;
|
|
66
|
-
port.postMessage({ seq, file, text
|
|
66
|
+
port.postMessage({ seq, file, text });
|
|
67
67
|
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
68
68
|
const deadline = Date.now() + timeoutMs;
|
|
69
69
|
for (;;) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/eslint/session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/eslint/session.ts"],"names":[],"mappings":"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"}
|