@ttsc/lint 0.6.0-dev.20250501-2 → 0.7.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/lib/index.d.ts +4 -10
- package/lib/index.js +4 -14
- package/lib/index.js.map +1 -1
- package/lib/structures/ITtscLintPluginConfig.d.ts +12 -0
- package/lib/structures/ITtscLintPluginConfig.js +3 -0
- package/lib/structures/ITtscLintPluginConfig.js.map +1 -0
- package/lib/structures/TtscLintConfig.d.ts +12 -0
- package/lib/structures/{ITtscLintConfig.js → TtscLintConfig.js} +1 -1
- package/lib/structures/TtscLintConfig.js.map +1 -0
- package/lib/structures/TtscLintRule.d.ts +8 -0
- package/lib/structures/{ITtscLintRule.js → TtscLintRule.js} +1 -1
- package/lib/structures/TtscLintRule.js.map +1 -0
- package/lib/structures/TtscLintSeverity.d.ts +8 -0
- package/lib/structures/{ITtscLintSeverity.js → TtscLintSeverity.js} +1 -1
- package/lib/structures/TtscLintSeverity.js.map +1 -0
- package/lib/structures/index.d.ts +4 -0
- package/lib/structures/index.js +21 -0
- package/lib/structures/index.js.map +1 -0
- package/package.json +3 -3
- package/plugin/compile.go +0 -7
- package/plugin/config.go +6 -7
- package/src/index.ts +5 -21
- package/src/structures/ITtscLintPluginConfig.ts +14 -0
- package/src/structures/TtscLintConfig.ts +13 -0
- package/src/structures/{ITtscLintRule.ts → TtscLintRule.ts} +9 -2
- package/src/structures/TtscLintSeverity.ts +8 -0
- package/src/structures/index.ts +4 -0
- package/lib/structures/ITtscLintConfig.d.ts +0 -5
- package/lib/structures/ITtscLintConfig.js.map +0 -1
- package/lib/structures/ITtscLintRule.d.ts +0 -1
- package/lib/structures/ITtscLintRule.js.map +0 -1
- package/lib/structures/ITtscLintSeverity.d.ts +0 -1
- package/lib/structures/ITtscLintSeverity.js.map +0 -1
- package/src/structures/ITtscLintConfig.ts +0 -6
- package/src/structures/ITtscLintSeverity.ts +0 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
export * from "./structures/
|
|
4
|
-
export
|
|
5
|
-
export * from "./structures/ITtscLintSeverity";
|
|
6
|
-
export type ITtscLintPluginConfig = ITtscProjectPluginConfig & {
|
|
7
|
-
config?: string | ITtscLintConfig;
|
|
8
|
-
};
|
|
9
|
-
export declare function createTtscPlugin(_context: ITtscPluginFactoryContext<ITtscLintPluginConfig>): ITtscPlugin;
|
|
10
|
-
export default createTtscPlugin;
|
|
1
|
+
import type { ITtscPlugin, ITtscPluginFactoryContext } from "ttsc";
|
|
2
|
+
import type { ITtscLintPluginConfig } from "./structures";
|
|
3
|
+
export * from "./structures/index";
|
|
4
|
+
export default function createTtscPlugin(_context: ITtscPluginFactoryContext<ITtscLintPluginConfig>): ITtscPlugin;
|
package/lib/index.js
CHANGED
|
@@ -17,24 +17,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
20
|
+
exports.default = createTtscPlugin;
|
|
21
21
|
const node_path_1 = __importDefault(require("node:path"));
|
|
22
|
-
__exportStar(require("./structures/
|
|
23
|
-
__exportStar(require("./structures/ITtscLintRule"), exports);
|
|
24
|
-
__exportStar(require("./structures/ITtscLintSeverity"), exports);
|
|
22
|
+
__exportStar(require("./structures/index"), exports);
|
|
25
23
|
function createTtscPlugin(_context) {
|
|
26
24
|
return {
|
|
27
25
|
name: "@ttsc/lint",
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
source: {
|
|
31
|
-
dir: node_path_1.default.resolve(__dirname, ".."),
|
|
32
|
-
entry: "./plugin",
|
|
33
|
-
},
|
|
34
|
-
contractVersion: 1,
|
|
35
|
-
capabilities: ["check"],
|
|
36
|
-
},
|
|
26
|
+
source: node_path_1.default.resolve(__dirname, "..", "plugin"),
|
|
27
|
+
stage: "check",
|
|
37
28
|
};
|
|
38
29
|
}
|
|
39
|
-
exports.default = createTtscPlugin;
|
|
40
30
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAQ7B,qDAAmC;AAEnC,0BACE,QAA0D;IAE1D,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC/C,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ITtscProjectPluginConfig } from "ttsc";
|
|
2
|
+
import type { TtscLintConfig } from "./TtscLintConfig";
|
|
3
|
+
/** `compilerOptions.plugins[]` entry shape consumed by `@ttsc/lint`. */
|
|
4
|
+
export interface ITtscLintPluginConfig extends ITtscProjectPluginConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Inline rule map or path to a JSON config file.
|
|
7
|
+
*
|
|
8
|
+
* Inline maps are passed to the native sidecar through `--plugins-json`.
|
|
9
|
+
* String values are resolved by the sidecar from the project root.
|
|
10
|
+
*/
|
|
11
|
+
config?: string | TtscLintConfig;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITtscLintPluginConfig.js","sourceRoot":"","sources":["../../src/structures/ITtscLintPluginConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TtscLintRule } from "./TtscLintRule";
|
|
2
|
+
import type { TtscLintSeverity } from "./TtscLintSeverity";
|
|
3
|
+
/**
|
|
4
|
+
* Inline rule map accepted by the `@ttsc/lint` tsconfig plugin entry.
|
|
5
|
+
*
|
|
6
|
+
* Each property key is a native lint rule name. Omitted rules use the sidecar's
|
|
7
|
+
* default severity, while present rules override that severity for the current
|
|
8
|
+
* project.
|
|
9
|
+
*/
|
|
10
|
+
export type TtscLintConfig = {
|
|
11
|
+
[P in TtscLintRule]?: TtscLintSeverity;
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TtscLintConfig.js","sourceRoot":"","sources":["../../src/structures/TtscLintConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lint rule names understood by the `@ttsc/lint` native sidecar.
|
|
3
|
+
*
|
|
4
|
+
* These names intentionally mirror familiar ESLint / TypeScript-ESLint rule
|
|
5
|
+
* names so a `compilerOptions.plugins[]` entry can configure native linting
|
|
6
|
+
* without introducing a separate lint config file.
|
|
7
|
+
*/
|
|
8
|
+
export type TtscLintRule = "adjacent-overload-signatures" | "array-type" | "ban-ts-comment" | "ban-tslint-comment" | "consistent-indexed-object-style" | "consistent-type-assertions" | "consistent-type-definitions" | "consistent-type-imports" | "dot-notation" | "eqeqeq" | "for-direction" | "no-alert" | "no-array-constructor" | "no-array-delete" | "no-async-promise-executor" | "no-bitwise" | "no-caller" | "no-case-declarations" | "no-class-assign" | "no-compare-neg-zero" | "no-cond-assign" | "no-confusing-non-null-assertion" | "no-console" | "no-constant-condition" | "no-continue" | "no-control-regex" | "no-debugger" | "no-delete-var" | "no-dupe-args" | "no-dupe-else-if" | "no-dupe-keys" | "no-duplicate-case" | "no-duplicate-enum-values" | "no-dynamic-delete" | "no-empty" | "no-empty-character-class" | "no-empty-function" | "no-empty-interface" | "no-empty-object-type" | "no-empty-pattern" | "no-empty-static-block" | "no-eq-null" | "no-eval" | "no-ex-assign" | "no-explicit-any" | "no-extra-bind" | "no-extra-boolean-cast" | "no-extra-non-null-assertion" | "no-fallthrough" | "no-func-assign" | "no-inferrable-types" | "no-inner-declarations" | "no-irregular-whitespace" | "no-iterator" | "no-labels" | "no-lone-blocks" | "no-lonely-if" | "no-loss-of-precision" | "no-misleading-character-class" | "no-misused-new" | "no-multi-assign" | "no-multi-str" | "no-namespace" | "no-negated-condition" | "no-nested-ternary" | "no-new" | "no-new-func" | "no-new-wrappers" | "no-non-null-asserted-nullish-coalescing" | "no-non-null-asserted-optional-chain" | "no-non-null-assertion" | "no-obj-calls" | "no-object-constructor" | "no-octal" | "no-octal-escape" | "no-plusplus" | "no-promise-executor-return" | "no-proto" | "no-prototype-builtins" | "no-regex-spaces" | "no-require-imports" | "no-return-assign" | "no-script-url" | "no-self-assign" | "no-self-compare" | "no-sequences" | "no-setter-return" | "no-shadow-restricted-names" | "no-sparse-arrays" | "no-template-curly-in-string" | "no-this-alias" | "no-throw-literal" | "no-undef-init" | "no-undefined" | "no-unnecessary-type-constraint" | "no-unneeded-ternary" | "no-unsafe-declaration-merging" | "no-unsafe-finally" | "no-unsafe-function-type" | "no-unsafe-negation" | "no-unused-expressions" | "no-unused-labels" | "no-useless-call" | "no-useless-catch" | "no-useless-computed-key" | "no-useless-concat" | "no-useless-constructor" | "no-useless-rename" | "no-var" | "no-with" | "no-wrapper-object-types" | "object-shorthand" | "operator-assignment" | "prefer-as-const" | "prefer-const" | "prefer-enum-initializers" | "prefer-exponentiation-operator" | "prefer-for-of" | "prefer-function-type" | "prefer-literal-enum-member" | "prefer-namespace-keyword" | "prefer-spread" | "prefer-template" | "radix" | "require-yield" | "triple-slash-reference" | "use-isnan" | "valid-typeof" | "vars-on-top" | "yoda";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TtscLintRule.js","sourceRoot":"","sources":["../../src/structures/TtscLintRule.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule severity accepted by `@ttsc/lint`.
|
|
3
|
+
*
|
|
4
|
+
* String values are the documented public form. Numeric values match the
|
|
5
|
+
* conventional ESLint severity ladder and are accepted for compatibility with
|
|
6
|
+
* existing rule maps.
|
|
7
|
+
*/
|
|
8
|
+
export type TtscLintSeverity = "off" | "warning" | "warn" | "error" | 0 | 1 | 2;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TtscLintSeverity.js","sourceRoot":"","sources":["../../src/structures/TtscLintSeverity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ITtscLintPluginConfig"), exports);
|
|
18
|
+
__exportStar(require("./TtscLintConfig"), exports);
|
|
19
|
+
__exportStar(require("./TtscLintRule"), exports);
|
|
20
|
+
__exportStar(require("./TtscLintSeverity"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,mDAAiC;AACjC,iDAA+B;AAC/B,qDAAmC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttsc/lint",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Reference ttsc plugin: ESLint-style lint rules hosted in the same Program/Checker as the type-check pass.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"plugin"
|
|
28
28
|
],
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
30
|
+
"@typescript/native-preview": "7.0.0-dev.20260430.1",
|
|
31
31
|
"@types/node": "^25.3.0",
|
|
32
32
|
"rimraf": "^6.1.2",
|
|
33
|
-
"ttsc": "0.
|
|
33
|
+
"ttsc": "0.7.0"
|
|
34
34
|
},
|
|
35
35
|
"repository": {
|
|
36
36
|
"type": "git",
|
package/plugin/compile.go
CHANGED
|
@@ -58,19 +58,16 @@ func RunTransform(args []string) int {
|
|
|
58
58
|
out := fs.String("out", "", "write output JS to PATH (default: stdout)")
|
|
59
59
|
tsconfig := fs.String("tsconfig", "tsconfig.json", "tsconfig owning --file")
|
|
60
60
|
cwd := fs.String("cwd", "", "override the working directory")
|
|
61
|
-
rewriteMode := fs.String("rewrite-mode", "ttsc-lint", "native rewrite backend id (informational)")
|
|
62
61
|
pluginsJSON := fs.String("plugins-json", "", "ttsc plugin manifest JSON")
|
|
63
62
|
if err := fs.Parse(filterKnownFlags(args, map[string]bool{
|
|
64
63
|
"cwd": true,
|
|
65
64
|
"file": true,
|
|
66
65
|
"out": true,
|
|
67
66
|
"plugins-json": true,
|
|
68
|
-
"rewrite-mode": true,
|
|
69
67
|
"tsconfig": true,
|
|
70
68
|
})); err != nil {
|
|
71
69
|
return 2
|
|
72
70
|
}
|
|
73
|
-
_ = rewriteMode
|
|
74
71
|
if *file == "" {
|
|
75
72
|
fmt.Fprintln(os.Stderr, "@ttsc/lint transform: --file is required")
|
|
76
73
|
return 2
|
|
@@ -158,7 +155,6 @@ type subcommandOpts struct {
|
|
|
158
155
|
cwd string
|
|
159
156
|
tsconfig string
|
|
160
157
|
pluginsJSON string
|
|
161
|
-
rewriteMode string
|
|
162
158
|
emit bool
|
|
163
159
|
noEmit bool
|
|
164
160
|
quiet bool
|
|
@@ -172,7 +168,6 @@ func parseSubcommandFlags(name string, args []string) (*subcommandOpts, error) {
|
|
|
172
168
|
cwd := fs.String("cwd", "", "")
|
|
173
169
|
tsconfig := fs.String("tsconfig", "tsconfig.json", "")
|
|
174
170
|
pluginsJSON := fs.String("plugins-json", "", "")
|
|
175
|
-
rewriteMode := fs.String("rewrite-mode", "ttsc-lint", "")
|
|
176
171
|
emit := fs.Bool("emit", false, "")
|
|
177
172
|
noEmit := fs.Bool("noEmit", false, "")
|
|
178
173
|
quiet := fs.Bool("quiet", false, "")
|
|
@@ -185,7 +180,6 @@ func parseSubcommandFlags(name string, args []string) (*subcommandOpts, error) {
|
|
|
185
180
|
"outDir": true,
|
|
186
181
|
"plugins-json": true,
|
|
187
182
|
"quiet": false,
|
|
188
|
-
"rewrite-mode": true,
|
|
189
183
|
"tsconfig": true,
|
|
190
184
|
"verbose": false,
|
|
191
185
|
})); err != nil {
|
|
@@ -202,7 +196,6 @@ func parseSubcommandFlags(name string, args []string) (*subcommandOpts, error) {
|
|
|
202
196
|
cwd: resolvedCwd,
|
|
203
197
|
tsconfig: *tsconfig,
|
|
204
198
|
pluginsJSON: *pluginsJSON,
|
|
205
|
-
rewriteMode: *rewriteMode,
|
|
206
199
|
emit: *emit,
|
|
207
200
|
noEmit: *noEmit,
|
|
208
201
|
quiet: *quiet,
|
package/plugin/config.go
CHANGED
|
@@ -32,13 +32,12 @@ func (s Severity) String() string {
|
|
|
32
32
|
|
|
33
33
|
// PluginEntry mirrors the shape ttsc serializes into `--plugins-json`.
|
|
34
34
|
//
|
|
35
|
-
// `Config` carries the tsconfig plugin entry. `
|
|
36
|
-
// the
|
|
35
|
+
// `Config` carries the original tsconfig plugin entry. `Name` and `Stage`
|
|
36
|
+
// come from the JS plugin descriptor returned to the ttsc host.
|
|
37
37
|
type PluginEntry struct {
|
|
38
|
-
Config
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Name string `json:"name"`
|
|
38
|
+
Config map[string]any `json:"config"`
|
|
39
|
+
Name string `json:"name"`
|
|
40
|
+
Stage string `json:"stage"`
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
// ParsePlugins decodes the `--plugins-json` payload.
|
|
@@ -58,7 +57,7 @@ func ParsePlugins(text string) ([]PluginEntry, error) {
|
|
|
58
57
|
// source, which is not a meaningful user-code lint result.
|
|
59
58
|
func FindLintEntry(entries []PluginEntry) (*PluginEntry, error) {
|
|
60
59
|
for i := range entries {
|
|
61
|
-
if entries[i].
|
|
60
|
+
if entries[i].Name == "@ttsc/lint" {
|
|
62
61
|
if i != 0 {
|
|
63
62
|
return nil, fmt.Errorf("@ttsc/lint must be the first active compilerOptions.plugins entry")
|
|
64
63
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,35 +1,19 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import type {
|
|
3
|
-
ITtscProjectPluginConfig,
|
|
4
3
|
ITtscPlugin,
|
|
5
4
|
ITtscPluginFactoryContext,
|
|
6
5
|
} from "ttsc";
|
|
7
6
|
|
|
8
|
-
import type {
|
|
7
|
+
import type { ITtscLintPluginConfig } from "./structures";
|
|
9
8
|
|
|
10
|
-
export * from "./structures/
|
|
11
|
-
export * from "./structures/ITtscLintRule";
|
|
12
|
-
export * from "./structures/ITtscLintSeverity";
|
|
9
|
+
export * from "./structures/index";
|
|
13
10
|
|
|
14
|
-
export
|
|
15
|
-
config?: string | ITtscLintConfig;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export function createTtscPlugin(
|
|
11
|
+
export default function createTtscPlugin(
|
|
19
12
|
_context: ITtscPluginFactoryContext<ITtscLintPluginConfig>,
|
|
20
13
|
): ITtscPlugin {
|
|
21
14
|
return {
|
|
22
15
|
name: "@ttsc/lint",
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
source: {
|
|
26
|
-
dir: path.resolve(__dirname, ".."),
|
|
27
|
-
entry: "./plugin",
|
|
28
|
-
},
|
|
29
|
-
contractVersion: 1,
|
|
30
|
-
capabilities: ["check"],
|
|
31
|
-
},
|
|
16
|
+
source: path.resolve(__dirname, "..", "plugin"),
|
|
17
|
+
stage: "check",
|
|
32
18
|
};
|
|
33
19
|
}
|
|
34
|
-
|
|
35
|
-
export default createTtscPlugin;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ITtscProjectPluginConfig } from "ttsc";
|
|
2
|
+
|
|
3
|
+
import type { TtscLintConfig } from "./TtscLintConfig";
|
|
4
|
+
|
|
5
|
+
/** `compilerOptions.plugins[]` entry shape consumed by `@ttsc/lint`. */
|
|
6
|
+
export interface ITtscLintPluginConfig extends ITtscProjectPluginConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Inline rule map or path to a JSON config file.
|
|
9
|
+
*
|
|
10
|
+
* Inline maps are passed to the native sidecar through `--plugins-json`.
|
|
11
|
+
* String values are resolved by the sidecar from the project root.
|
|
12
|
+
*/
|
|
13
|
+
config?: string | TtscLintConfig;
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TtscLintRule } from "./TtscLintRule";
|
|
2
|
+
import type { TtscLintSeverity } from "./TtscLintSeverity";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Inline rule map accepted by the `@ttsc/lint` tsconfig plugin entry.
|
|
6
|
+
*
|
|
7
|
+
* Each property key is a native lint rule name. Omitted rules use the sidecar's
|
|
8
|
+
* default severity, while present rules override that severity for the current
|
|
9
|
+
* project.
|
|
10
|
+
*/
|
|
11
|
+
export type TtscLintConfig = {
|
|
12
|
+
[P in TtscLintRule]?: TtscLintSeverity;
|
|
13
|
+
};
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Lint rule names understood by the `@ttsc/lint` native sidecar.
|
|
3
|
+
*
|
|
4
|
+
* These names intentionally mirror familiar ESLint / TypeScript-ESLint rule
|
|
5
|
+
* names so a `compilerOptions.plugins[]` entry can configure native linting
|
|
6
|
+
* without introducing a separate lint config file.
|
|
7
|
+
*/
|
|
8
|
+
export type TtscLintRule =
|
|
2
9
|
| "adjacent-overload-signatures"
|
|
3
10
|
| "array-type"
|
|
4
11
|
| "ban-ts-comment"
|
|
@@ -128,4 +135,4 @@ export type ITtscLintRule =
|
|
|
128
135
|
| "use-isnan"
|
|
129
136
|
| "valid-typeof"
|
|
130
137
|
| "vars-on-top"
|
|
131
|
-
| "yoda";
|
|
138
|
+
| "yoda";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule severity accepted by `@ttsc/lint`.
|
|
3
|
+
*
|
|
4
|
+
* String values are the documented public form. Numeric values match the
|
|
5
|
+
* conventional ESLint severity ladder and are accepted for compatibility with
|
|
6
|
+
* existing rule maps.
|
|
7
|
+
*/
|
|
8
|
+
export type TtscLintSeverity = "off" | "warning" | "warn" | "error" | 0 | 1 | 2;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ITtscLintConfig.js","sourceRoot":"","sources":["../../src/structures/ITtscLintConfig.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type ITtscLintRule = "adjacent-overload-signatures" | "array-type" | "ban-ts-comment" | "ban-tslint-comment" | "consistent-indexed-object-style" | "consistent-type-assertions" | "consistent-type-definitions" | "consistent-type-imports" | "dot-notation" | "eqeqeq" | "for-direction" | "no-alert" | "no-array-constructor" | "no-array-delete" | "no-async-promise-executor" | "no-bitwise" | "no-caller" | "no-case-declarations" | "no-class-assign" | "no-compare-neg-zero" | "no-cond-assign" | "no-confusing-non-null-assertion" | "no-console" | "no-constant-condition" | "no-continue" | "no-control-regex" | "no-debugger" | "no-delete-var" | "no-dupe-args" | "no-dupe-else-if" | "no-dupe-keys" | "no-duplicate-case" | "no-duplicate-enum-values" | "no-dynamic-delete" | "no-empty" | "no-empty-character-class" | "no-empty-function" | "no-empty-interface" | "no-empty-object-type" | "no-empty-pattern" | "no-empty-static-block" | "no-eq-null" | "no-eval" | "no-ex-assign" | "no-explicit-any" | "no-extra-bind" | "no-extra-boolean-cast" | "no-extra-non-null-assertion" | "no-fallthrough" | "no-func-assign" | "no-inferrable-types" | "no-inner-declarations" | "no-irregular-whitespace" | "no-iterator" | "no-labels" | "no-lone-blocks" | "no-lonely-if" | "no-loss-of-precision" | "no-misleading-character-class" | "no-misused-new" | "no-multi-assign" | "no-multi-str" | "no-namespace" | "no-negated-condition" | "no-nested-ternary" | "no-new" | "no-new-func" | "no-new-wrappers" | "no-non-null-asserted-nullish-coalescing" | "no-non-null-asserted-optional-chain" | "no-non-null-assertion" | "no-obj-calls" | "no-object-constructor" | "no-octal" | "no-octal-escape" | "no-plusplus" | "no-promise-executor-return" | "no-proto" | "no-prototype-builtins" | "no-regex-spaces" | "no-require-imports" | "no-return-assign" | "no-script-url" | "no-self-assign" | "no-self-compare" | "no-sequences" | "no-setter-return" | "no-shadow-restricted-names" | "no-sparse-arrays" | "no-template-curly-in-string" | "no-this-alias" | "no-throw-literal" | "no-undef-init" | "no-undefined" | "no-unnecessary-type-constraint" | "no-unneeded-ternary" | "no-unsafe-declaration-merging" | "no-unsafe-finally" | "no-unsafe-function-type" | "no-unsafe-negation" | "no-unused-expressions" | "no-unused-labels" | "no-useless-call" | "no-useless-catch" | "no-useless-computed-key" | "no-useless-concat" | "no-useless-constructor" | "no-useless-rename" | "no-var" | "no-with" | "no-wrapper-object-types" | "object-shorthand" | "operator-assignment" | "prefer-as-const" | "prefer-const" | "prefer-enum-initializers" | "prefer-exponentiation-operator" | "prefer-for-of" | "prefer-function-type" | "prefer-literal-enum-member" | "prefer-namespace-keyword" | "prefer-spread" | "prefer-template" | "radix" | "require-yield" | "triple-slash-reference" | "use-isnan" | "valid-typeof" | "vars-on-top" | "yoda";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ITtscLintRule.js","sourceRoot":"","sources":["../../src/structures/ITtscLintRule.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type ITtscLintSeverity = "off" | "warning" | "warn" | "error" | 0 | 1 | 2;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ITtscLintSeverity.js","sourceRoot":"","sources":["../../src/structures/ITtscLintSeverity.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type ITtscLintSeverity = "off" | "warning" | "warn" | "error" | 0 | 1 | 2;
|