@typespec/compiler 1.5.0-dev.14 → 1.5.0-dev.15
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/manifest.js +2 -2
- package/dist/src/core/compiler-code-fixes/suppress.codefix.d.ts +1 -1
- package/dist/src/core/compiler-code-fixes/suppress.codefix.d.ts.map +1 -1
- package/dist/src/core/compiler-code-fixes/suppress.codefix.js +28 -2
- package/dist/src/core/compiler-code-fixes/suppress.codefix.js.map +1 -1
- package/dist/src/core/diagnostics.d.ts +6 -1
- package/dist/src/core/diagnostics.d.ts.map +1 -1
- package/dist/src/core/diagnostics.js +19 -18
- package/dist/src/core/diagnostics.js.map +1 -1
- package/dist/src/core/inspector/node.js +8 -2
- package/dist/src/core/inspector/node.js.map +1 -1
- package/package.json +1 -1
package/dist/manifest.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type CodeFix, type DiagnosticTarget } from "../types.js";
|
|
2
2
|
export declare function createSuppressCodeFix(diagnosticTarget: DiagnosticTarget, warningCode: string, suppressionMessage?: string): CodeFix;
|
|
3
3
|
//# sourceMappingURL=suppress.codefix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppress.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"suppress.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAC;AAErB,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,kBAAkB,GAAE,MAAW,GAC9B,OAAO,CAiBT"}
|
|
@@ -1,17 +1,43 @@
|
|
|
1
1
|
import { isWhiteSpace } from "../charcode.js";
|
|
2
|
-
import { defineCodeFix, getSourceLocation } from "../diagnostics.js";
|
|
2
|
+
import { defineCodeFix, getNodeForTarget, getSourceLocation } from "../diagnostics.js";
|
|
3
|
+
import { SyntaxKind, } from "../types.js";
|
|
3
4
|
export function createSuppressCodeFix(diagnosticTarget, warningCode, suppressionMessage = "") {
|
|
4
5
|
return defineCodeFix({
|
|
5
6
|
id: "suppress",
|
|
6
7
|
label: `Suppress warning: "${warningCode}"`,
|
|
7
8
|
fix: (context) => {
|
|
8
|
-
const location =
|
|
9
|
+
const location = findSuppressTarget(diagnosticTarget);
|
|
10
|
+
if (!location) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
9
13
|
const { lineStart, indent } = findLineStartAndIndent(location);
|
|
10
14
|
const updatedLocation = { ...location, pos: lineStart };
|
|
11
15
|
return context.prependText(updatedLocation, `${indent}#suppress "${warningCode}" "${suppressionMessage}"\n`);
|
|
12
16
|
},
|
|
13
17
|
});
|
|
14
18
|
}
|
|
19
|
+
function findSuppressTarget(target) {
|
|
20
|
+
if ("file" in target) {
|
|
21
|
+
return target;
|
|
22
|
+
}
|
|
23
|
+
const nodeTarget = getNodeForTarget(target);
|
|
24
|
+
if (!nodeTarget)
|
|
25
|
+
return undefined;
|
|
26
|
+
const node = findSuppressNode(nodeTarget);
|
|
27
|
+
return getSourceLocation(node);
|
|
28
|
+
}
|
|
29
|
+
/** Find the node where the suppression should be applied */
|
|
30
|
+
function findSuppressNode(node) {
|
|
31
|
+
switch (node.kind) {
|
|
32
|
+
case SyntaxKind.Identifier:
|
|
33
|
+
case SyntaxKind.TypeReference:
|
|
34
|
+
case SyntaxKind.UnionExpression:
|
|
35
|
+
case SyntaxKind.ModelExpression:
|
|
36
|
+
return findSuppressNode(node.parent);
|
|
37
|
+
default:
|
|
38
|
+
return node;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
15
41
|
function findLineStartAndIndent(location) {
|
|
16
42
|
const text = location.file.text;
|
|
17
43
|
let pos = location.pos;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppress.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"suppress.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACL,UAAU,GAKX,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,qBAAqB,CACnC,gBAAkC,EAClC,WAAmB,EACnB,qBAA6B,EAAE;IAE/B,OAAO,aAAa,CAAC;QACnB,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,sBAAsB,WAAW,GAAG;QAC3C,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;YACf,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;YACxD,OAAO,OAAO,CAAC,WAAW,CACxB,eAAe,EACf,GAAG,MAAM,cAAc,WAAW,MAAM,kBAAkB,KAAK,CAChE,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAwB;IAClD,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,4DAA4D;AAC5D,SAAS,gBAAgB,CAAC,IAAU;IAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,eAAe,CAAC;QAChC,KAAK,UAAU,CAAC,eAAe;YAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QACxC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAwB;IACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;QACD,GAAG,EAAE,CAAC;IACR,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;AACjF,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { Program } from "./program.js";
|
|
2
|
-
import { CodeFix, Diagnostic, DiagnosticResult, DiagnosticTarget, LogSink, NoTarget, SourceLocation, Type } from "./types.js";
|
|
2
|
+
import { CodeFix, Diagnostic, DiagnosticResult, DiagnosticTarget, LogSink, Node, NoTarget, SourceLocation, Type, TypeSpecDiagnosticTarget } from "./types.js";
|
|
3
3
|
export type WriteLine = (text?: string) => void;
|
|
4
4
|
export type DiagnosticHandler = (diagnostic: Diagnostic) => void;
|
|
5
5
|
export declare function logDiagnostics(diagnostics: readonly Diagnostic[], logger: LogSink): void;
|
|
6
|
+
/**
|
|
7
|
+
* Find the syntax node for a typespec diagnostic target.
|
|
8
|
+
* Returns undefined if target is a type or symbol without a node.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getNodeForTarget(target: TypeSpecDiagnosticTarget): Node | undefined;
|
|
6
11
|
export interface SourceLocationOptions {
|
|
7
12
|
/**
|
|
8
13
|
* If trying to resolve the location of a type with an ID, show the location of the ID node instead of the entire type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,39 +21,40 @@ export function getRelatedLocations(diagnostic) {
|
|
|
21
21
|
};
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return target;
|
|
30
|
-
}
|
|
24
|
+
/**
|
|
25
|
+
* Find the syntax node for a typespec diagnostic target.
|
|
26
|
+
* Returns undefined if target is a type or symbol without a node.
|
|
27
|
+
*/
|
|
28
|
+
export function getNodeForTarget(target) {
|
|
31
29
|
if (!("kind" in target) && !("entityKind" in target)) {
|
|
32
30
|
// TemplateInstanceTarget
|
|
33
31
|
if (!("declarations" in target)) {
|
|
34
|
-
return
|
|
32
|
+
return target.node;
|
|
35
33
|
}
|
|
36
34
|
// symbol
|
|
37
35
|
if (target.flags & 8192 /* SymbolFlags.Using */) {
|
|
38
36
|
target = target.symbolSource;
|
|
39
37
|
}
|
|
40
|
-
|
|
41
|
-
return createSyntheticSourceLocation();
|
|
42
|
-
}
|
|
43
|
-
return getSourceLocationOfNode(target.declarations[0], options);
|
|
38
|
+
return target.declarations[0];
|
|
44
39
|
}
|
|
45
40
|
else if ("kind" in target && typeof target.kind === "number") {
|
|
46
41
|
// node
|
|
47
|
-
return
|
|
42
|
+
return target;
|
|
48
43
|
}
|
|
49
44
|
else {
|
|
50
45
|
// type
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
46
|
+
return target.node;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export function getSourceLocation(target, options = {}) {
|
|
50
|
+
if (target === NoTarget || target === undefined) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
if ("file" in target) {
|
|
54
|
+
return target;
|
|
56
55
|
}
|
|
56
|
+
const node = getNodeForTarget(target);
|
|
57
|
+
return node ? getSourceLocationOfNode(node, options) : createSyntheticSourceLocation();
|
|
57
58
|
}
|
|
58
59
|
/**
|
|
59
60
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAQL,QAAQ,EAIR,UAAU,
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import pc from "picocolors";
|
|
2
2
|
import { getSourceLocation } from "../diagnostics.js";
|
|
3
3
|
import { typeReferenceToString } from "../helpers/syntax-utils.js";
|
|
4
|
-
import { getRelativePathFromDirectory } from "../path-utils.js";
|
|
4
|
+
import { getRelativePathFromDirectory, getRootLength } from "../path-utils.js";
|
|
5
5
|
import { SyntaxKind } from "../types.js";
|
|
6
6
|
/** @internal */
|
|
7
7
|
export function inspectNode(node) {
|
|
8
8
|
const loc = getSourceLocation(node);
|
|
9
9
|
const pos = loc.file.getLineAndCharacterOfPosition(loc.pos);
|
|
10
10
|
const kind = pc.yellow(`[${SyntaxKind[node.kind]}]`);
|
|
11
|
-
const locString = pc.cyan(`${
|
|
11
|
+
const locString = pc.cyan(`${tryGetRelativePathToCwd(loc.file.path)}:${pos.line + 1}:${pos.character + 1}`);
|
|
12
12
|
return `${kind} ${printNodeInfoInternal(node)} ${locString}`;
|
|
13
13
|
}
|
|
14
|
+
function tryGetRelativePathToCwd(path) {
|
|
15
|
+
if (getRootLength(path) === 0) {
|
|
16
|
+
return path;
|
|
17
|
+
}
|
|
18
|
+
return getRelativePathFromDirectory(process.cwd(), path, false);
|
|
19
|
+
}
|
|
14
20
|
function printNodeInfoInternal(node) {
|
|
15
21
|
switch (node.kind) {
|
|
16
22
|
case SyntaxKind.MemberExpression:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/core/inspector/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/core/inspector/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAC;AAEpD,gBAAgB;AAChB,MAAM,UAAU,WAAW,CAAC,IAAU;IACpC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CACvB,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CACjF,CAAC;IACF,OAAO,GAAG,IAAI,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,4BAA4B,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAU;IACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,UAAU,CAAC,mBAAmB;YACjC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,KAAK,UAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,cAAc;YAC5B,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
|