Merge remote-tracking branch 'origin/releases/v3' into backport-v2.27.0-662472033

This commit is contained in:
github-actions[bot]
2024-10-22 15:48:08 +00:00
1064 changed files with 10861 additions and 8896 deletions

128
node_modules/.package-lock.json generated vendored
View File

@@ -1,6 +1,6 @@
{
"name": "codeql",
"version": "3.26.13",
"version": "3.27.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
@@ -648,9 +648,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.12.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz",
"integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==",
"version": "9.13.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz",
"integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1236,6 +1236,16 @@
"dev": true,
"license": "MIT"
},
"node_modules/@types/follow-redirects": {
"version": "1.14.4",
"resolved": "https://registry.npmjs.org/@types/follow-redirects/-/follow-redirects-1.14.4.tgz",
"integrity": "sha512-GWXfsD0Jc1RWiFmMuMFCpXMzi9L7oPDVwxUnZdg89kDNnqsRfUKXEtUYtA98A6lig1WXH/CYY/fvPW9HuN5fTA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/get-folder-size": {
"version": "2.0.0",
"dev": true,
@@ -1295,16 +1305,16 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.8.1.tgz",
"integrity": "sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.11.0.tgz",
"integrity": "sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "8.8.1",
"@typescript-eslint/type-utils": "8.8.1",
"@typescript-eslint/utils": "8.8.1",
"@typescript-eslint/visitor-keys": "8.8.1",
"@typescript-eslint/scope-manager": "8.11.0",
"@typescript-eslint/type-utils": "8.11.0",
"@typescript-eslint/utils": "8.11.0",
"@typescript-eslint/visitor-keys": "8.11.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1328,15 +1338,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.8.1.tgz",
"integrity": "sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.11.0.tgz",
"integrity": "sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==",
"dev": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.8.1",
"@typescript-eslint/types": "8.8.1",
"@typescript-eslint/typescript-estree": "8.8.1",
"@typescript-eslint/visitor-keys": "8.8.1",
"@typescript-eslint/scope-manager": "8.11.0",
"@typescript-eslint/types": "8.11.0",
"@typescript-eslint/typescript-estree": "8.11.0",
"@typescript-eslint/visitor-keys": "8.11.0",
"debug": "^4.3.4"
},
"engines": {
@@ -1356,13 +1366,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.1.tgz",
"integrity": "sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz",
"integrity": "sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "8.8.1",
"@typescript-eslint/visitor-keys": "8.8.1"
"@typescript-eslint/types": "8.11.0",
"@typescript-eslint/visitor-keys": "8.11.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1373,13 +1383,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.8.1.tgz",
"integrity": "sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.11.0.tgz",
"integrity": "sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==",
"dev": true,
"dependencies": {
"@typescript-eslint/typescript-estree": "8.8.1",
"@typescript-eslint/utils": "8.8.1",
"@typescript-eslint/typescript-estree": "8.11.0",
"@typescript-eslint/utils": "8.11.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -1397,9 +1407,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.1.tgz",
"integrity": "sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz",
"integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1410,13 +1420,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.1.tgz",
"integrity": "sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz",
"integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "8.8.1",
"@typescript-eslint/visitor-keys": "8.8.1",
"@typescript-eslint/types": "8.11.0",
"@typescript-eslint/visitor-keys": "8.11.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -1462,15 +1472,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.1.tgz",
"integrity": "sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.11.0.tgz",
"integrity": "sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "8.8.1",
"@typescript-eslint/types": "8.8.1",
"@typescript-eslint/typescript-estree": "8.8.1"
"@typescript-eslint/scope-manager": "8.11.0",
"@typescript-eslint/types": "8.11.0",
"@typescript-eslint/typescript-estree": "8.11.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1484,12 +1494,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.1.tgz",
"integrity": "sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==",
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz",
"integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "8.8.1",
"@typescript-eslint/types": "8.11.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@@ -4002,6 +4012,26 @@
"dev": true,
"license": "ISC"
},
"node_modules/follow-redirects": {
"version": "1.15.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
"integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"license": "MIT",
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/for-each": {
"version": "0.3.3",
"dev": true,
@@ -7135,9 +7165,9 @@
}
},
"node_modules/typescript": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
"integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
"bin": {
"tsc": "bin/tsc",

View File

@@ -1,6 +1,6 @@
{
"name": "@eslint/js",
"version": "9.12.0",
"version": "9.13.0",
"description": "ESLint JavaScript language implementation",
"main": "./src/index.js",
"scripts": {},

21
node_modules/@types/follow-redirects/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

15
node_modules/@types/follow-redirects/README.md generated vendored Normal file
View File

@@ -0,0 +1,15 @@
# Installation
> `npm install --save @types/follow-redirects`
# Summary
This package contains type definitions for follow-redirects (https://github.com/follow-redirects/follow-redirects).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/follow-redirects.
### Additional Details
* Last updated: Tue, 07 Nov 2023 03:09:37 GMT
* Dependencies: [@types/node](https://npmjs.com/package/@types/node)
# Credits
These definitions were written by [Emily Klassen](https://github.com/forivall), [Claas Ahlrichs](https://github.com/claasahl), and [Piotr Błażejewicz](https://github.com/peterblazejewicz).

3
node_modules/@types/follow-redirects/http.d.ts generated vendored Normal file
View File

@@ -0,0 +1,3 @@
import { http } from ".";
export = http;

3
node_modules/@types/follow-redirects/https.d.ts generated vendored Normal file
View File

@@ -0,0 +1,3 @@
import { https } from ".";
export = https;

147
node_modules/@types/follow-redirects/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,147 @@
/// <reference types="node" />
import * as coreHttp from "http";
import * as coreHttps from "https";
import { Writable } from "stream";
import { URL } from "url";
export interface WrappableRequest {
getHeader?(...args: any[]): any;
setHeader(...args: any[]): any;
removeHeader(...args: any[]): any;
abort?(...args: any[]): any;
flushHeaders?(...args: any[]): any;
setNoDelay?(...args: any[]): any;
setSocketKeepAlive?(...args: any[]): any;
setTimeout?(...args: any[]): any;
}
export interface WrappableResponse {
statusCode?: number | undefined;
headers: {
location?: string | undefined;
};
destroy(): any;
}
export interface Scheme<Options, Request extends WrappableRequest, Response> {
request(options: Options, callback?: (res: Response) => any): Request;
}
export interface RedirectableRequest<Request extends WrappableRequest, Response> extends Writable {
setHeader: Request["setHeader"];
removeHeader: Request["removeHeader"];
abort: Request["abort"];
flushHeaders: Request["flushHeaders"];
getHeader: Request["getHeader"];
setNoDelay: Request["setNoDelay"];
setSocketKeepAlive: Request["setSocketKeepAlive"];
setTimeout: Request["setTimeout"];
addListener(event: string, listener: (...args: any[]) => void): this;
addListener(event: "response", listener: (response: Response) => void): this;
addListener(event: "error", listener: (err: Error) => void): this;
emit(event: string | symbol, ...args: any[]): boolean;
emit(event: "response", response: Response): boolean;
emit(event: "error", err: Error): boolean;
on(event: string, listener: (...args: any[]) => void): this;
on(event: "response", listener: (response: Response) => void): this;
on(event: "error", listener: (err: Error) => void): this;
once(event: string, listener: (...args: any[]) => void): this;
once(event: "response", listener: (response: Response) => void): this;
once(event: "error", listener: (err: Error) => void): this;
prependListener(event: string, listener: (...args: any[]) => void): this;
prependListener(event: "response", listener: (response: Response) => void): this;
prependListener(event: "error", listener: (err: Error) => void): this;
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
prependOnceListener(event: "response", listener: (response: Response) => void): this;
prependOnceListener(event: "error", listener: (err: Error) => void): this;
}
export interface RedirectScheme<Options, Request extends WrappableRequest, Response> {
/**
* This function has two overloads:
* ```typescript
* request(options: string | URL | Options, callback)
* request(url: string | URL, options: Options, callback)
* ```
*/
request(
url: string | URL | (Options & FollowOptions<Options>),
options?: (Options & FollowOptions<Options>) | ((res: Response & FollowResponse) => void),
callback?: (res: Response & FollowResponse) => void,
): RedirectableRequest<Request, Response>;
/**
* This function has two overloads:
* ```typescript
* get(options: string | URL | Options, callback)
* get(url: string | URL, options: Options, callback)
* ```
*/
get(
url: string | URL | (Options & FollowOptions<Options>),
options?: (Options & FollowOptions<Options>) | ((res: Response & FollowResponse) => void),
callback?: (res: Response & FollowResponse) => void,
): RedirectableRequest<Request, Response>;
}
export type Override<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
export interface FollowOptions<Options> {
followRedirects?: boolean | undefined;
maxRedirects?: number | undefined;
maxBodyLength?: number | undefined;
beforeRedirect?:
| ((options: Options & FollowOptions<Options>, responseDetails: ResponseDetails) => void)
| undefined;
agents?:
| {
http?: coreHttp.Agent | undefined;
https?: coreHttps.Agent | undefined;
}
| undefined;
trackRedirects?: boolean | undefined;
}
export interface FollowResponse {
responseUrl: string;
redirects: Redirect[];
}
export interface Redirect {
url: string;
headers: coreHttp.IncomingHttpHeaders;
statusCode: number;
}
export interface ResponseDetails {
headers: coreHttp.IncomingHttpHeaders;
}
export const http: Override<
typeof coreHttp,
RedirectScheme<coreHttp.RequestOptions, coreHttp.ClientRequest, coreHttp.IncomingMessage>
>;
export const https: Override<
typeof coreHttps,
RedirectScheme<coreHttps.RequestOptions, coreHttp.ClientRequest, coreHttp.IncomingMessage>
>;
export type WrappedScheme<T extends Scheme<any, any, any>> = Override<
T,
RedirectScheme<
T extends Scheme<infer Options, any, any> ? Options : never,
T extends Scheme<any, infer Request, any> ? Request : never,
T extends Scheme<any, any, infer Response> ? Response : never
>
>;
export function wrap<T extends { [key: string]: Scheme<any, any, any> }>(
protocols: T,
): {
[K in keyof T]: WrappedScheme<T[K]>;
};

37
node_modules/@types/follow-redirects/package.json generated vendored Normal file
View File

@@ -0,0 +1,37 @@
{
"name": "@types/follow-redirects",
"version": "1.14.4",
"description": "TypeScript definitions for follow-redirects",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/follow-redirects",
"license": "MIT",
"contributors": [
{
"name": "Emily Klassen",
"githubUsername": "forivall",
"url": "https://github.com/forivall"
},
{
"name": "Claas Ahlrichs",
"githubUsername": "claasahl",
"url": "https://github.com/claasahl"
},
{
"name": "Piotr Błażejewicz",
"githubUsername": "peterblazejewicz",
"url": "https://github.com/peterblazejewicz"
}
],
"main": "",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"directory": "types/follow-redirects"
},
"scripts": {},
"dependencies": {
"@types/node": "*"
},
"typesPublisherContentHash": "aae4331775f0d12b6291656304a64b4fc56d23a148d8ded8decf38cc252a2a2e",
"typeScriptVersion": "4.5"
}

View File

@@ -2,13 +2,12 @@
// NOTE: this file is isolated to be shared across legacy and flat configs
// it is exported via `./use-at-your-own-risk/eslint-recommended-raw`
// and it has types manually defined in `./eslint-recommended-raw.d.ts`
Object.defineProperty(exports, "__esModule", { value: true });
/**
* This is a compatibility ruleset that:
* - disables rules from eslint:recommended which are already handled by TypeScript.
* - enables rules that make sense due to TS's typechecking / transpilation.
*/
exports.default = (style) => ({
const config = (style) => ({
files: style === 'glob'
? // classic configs use glob syntax
['*.ts', '*.tsx', '*.mts', '*.cts']
@@ -39,4 +38,5 @@ exports.default = (style) => ({
'prefer-spread': 'error', // ts transpiles spread to apply, so no need for manual apply
},
});
module.exports = config;
//# sourceMappingURL=eslint-recommended-raw.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"eslint-recommended-raw.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended-raw.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;;AAEvE;;;;GAIG;AACH,kBAAe,CACb,KAA2B,EAI3B,EAAE,CAAC,CAAC;IACJ,KAAK,EACH,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,kCAAkC;YAClC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;QACrC,CAAC,CAAC,oCAAoC;YACpC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;IACrD,KAAK,EAAE;QACL,mBAAmB,EAAE,KAAK,EAAE,sBAAsB;QAClD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,iBAAiB,EAAE,KAAK,EAAE,WAAW;QACrC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,uBAAuB,EAAE,KAAK,EAAE,sBAAsB;QACtD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,kBAAkB,EAAE,KAAK,EAAE,sBAAsB;QACjD,yDAAyD;QACzD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,8BAA8B,EAAE,KAAK,EAAE,WAAW;QAClD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,kBAAkB,EAAE,KAAK,EAAE,WAAW;QACtC,sBAAsB,EAAE,KAAK,EAAE,uBAAuB;QACtD,UAAU,EAAE,KAAK,EAAE,sBAAsB;QACzC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,oBAAoB,EAAE,KAAK,EAAE,iCAAiC;QAC9D,QAAQ,EAAE,OAAO,EAAE,+DAA+D;QAClF,cAAc,EAAE,OAAO,EAAE,sCAAsC;QAC/D,oBAAoB,EAAE,OAAO,EAAE,yDAAyD;QACxF,eAAe,EAAE,OAAO,EAAE,6DAA6D;KACxF;CACF,CAAC,CAAC"}
{"version":3,"file":"eslint-recommended-raw.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended-raw.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;AAEvE;;;;GAIG;AACH,MAAM,MAAM,GAAG,CACb,KAA2B,EAI3B,EAAE,CAAC,CAAC;IACJ,KAAK,EACH,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,kCAAkC;YAClC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;QACrC,CAAC,CAAC,oCAAoC;YACpC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;IACrD,KAAK,EAAE;QACL,mBAAmB,EAAE,KAAK,EAAE,sBAAsB;QAClD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,iBAAiB,EAAE,KAAK,EAAE,WAAW;QACrC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,uBAAuB,EAAE,KAAK,EAAE,sBAAsB;QACtD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,kBAAkB,EAAE,KAAK,EAAE,sBAAsB;QACjD,yDAAyD;QACzD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,8BAA8B,EAAE,KAAK,EAAE,WAAW;QAClD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,kBAAkB,EAAE,KAAK,EAAE,WAAW;QACtC,sBAAsB,EAAE,KAAK,EAAE,uBAAuB;QACtD,UAAU,EAAE,KAAK,EAAE,sBAAsB;QACzC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,oBAAoB,EAAE,KAAK,EAAE,iCAAiC;QAC9D,QAAQ,EAAE,OAAO,EAAE,+DAA+D;QAClF,cAAc,EAAE,OAAO,EAAE,sCAAsC;QAC/D,oBAAoB,EAAE,OAAO,EAAE,yDAAyD;QACxF,eAAe,EAAE,OAAO,EAAE,6DAA6D;KACxF;CACF,CAAC,CAAC;AAEH,iBAAS,MAAM,CAAC"}

View File

@@ -18,28 +18,30 @@ const stylistic_type_checked_only_1 = __importDefault(require("./configs/stylist
const rules_1 = __importDefault(require("./rules"));
// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder
const { name, version } = require('../package.json');
const configs = {
all: all_1.default,
base: base_1.default,
'disable-type-checked': disable_type_checked_1.default,
'eslint-recommended': eslint_recommended_1.default,
recommended: recommended_1.default,
/** @deprecated - please use "recommended-type-checked" instead. */
'recommended-requiring-type-checking': recommended_type_checked_1.default,
'recommended-type-checked': recommended_type_checked_1.default,
'recommended-type-checked-only': recommended_type_checked_only_1.default,
strict: strict_1.default,
'strict-type-checked': strict_type_checked_1.default,
'strict-type-checked-only': strict_type_checked_only_1.default,
stylistic: stylistic_1.default,
'stylistic-type-checked': stylistic_type_checked_1.default,
'stylistic-type-checked-only': stylistic_type_checked_only_1.default,
};
const meta = {
name,
version,
};
module.exports = {
configs: {
all: all_1.default,
base: base_1.default,
'disable-type-checked': disable_type_checked_1.default,
'eslint-recommended': eslint_recommended_1.default,
recommended: recommended_1.default,
/** @deprecated - please use "recommended-type-checked" instead. */
'recommended-requiring-type-checking': recommended_type_checked_1.default,
'recommended-type-checked': recommended_type_checked_1.default,
'recommended-type-checked-only': recommended_type_checked_only_1.default,
strict: strict_1.default,
'strict-type-checked': strict_type_checked_1.default,
'strict-type-checked-only': strict_type_checked_only_1.default,
stylistic: stylistic_1.default,
'stylistic-type-checked': stylistic_type_checked_1.default,
'stylistic-type-checked-only': stylistic_type_checked_only_1.default,
},
meta: {
name,
version,
},
configs,
meta,
rules: rules_1.default,
};
//# sourceMappingURL=index.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,wDAAgC;AAChC,0DAAkC;AAClC,0FAAgE;AAChE,sFAA6D;AAC7D,wEAAgD;AAChD,kGAAwE;AACxE,4GAAiF;AACjF,8DAAsC;AACtC,wFAA8D;AAC9D,kGAAuE;AACvE,oEAA4C;AAC5C,8FAAoE;AACpE,wGAA6E;AAC7E,oDAA4B;AAE5B,sHAAsH;AACtH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAGlD,CAAC;AAEF,iBAAS;IACP,OAAO,EAAE;QACP,GAAG,EAAH,aAAG;QACH,IAAI,EAAJ,cAAI;QACJ,sBAAsB,EAAE,8BAAkB;QAC1C,oBAAoB,EAAE,4BAAiB;QACvC,WAAW,EAAX,qBAAW;QACX,mEAAmE;QACnE,qCAAqC,EAAE,kCAAsB;QAC7D,0BAA0B,EAAE,kCAAsB;QAClD,+BAA+B,EAAE,uCAA0B;QAC3D,MAAM,EAAN,gBAAM;QACN,qBAAqB,EAAE,6BAAiB;QACxC,0BAA0B,EAAE,kCAAqB;QACjD,SAAS,EAAT,mBAAS;QACT,wBAAwB,EAAE,gCAAoB;QAC9C,6BAA6B,EAAE,qCAAwB;KACxD;IACD,IAAI,EAAE;QACJ,IAAI;QACJ,OAAO;KACR;IACD,KAAK,EAAL,eAAK;CACkB,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,wDAAgC;AAChC,0DAAkC;AAClC,0FAAgE;AAChE,sFAA6D;AAC7D,wEAAgD;AAChD,kGAAwE;AACxE,4GAAiF;AACjF,8DAAsC;AACtC,wFAA8D;AAC9D,kGAAuE;AACvE,oEAA4C;AAC5C,8FAAoE;AACpE,wGAA6E;AAC7E,oDAA4B;AAE5B,sHAAsH;AACtH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAGlD,CAAC;AAEF,MAAM,OAAO,GAAG;IACd,GAAG,EAAH,aAAG;IACH,IAAI,EAAJ,cAAI;IACJ,sBAAsB,EAAE,8BAAkB;IAC1C,oBAAoB,EAAE,4BAAiB;IACvC,WAAW,EAAX,qBAAW;IACX,mEAAmE;IACnE,qCAAqC,EAAE,kCAAsB;IAC7D,0BAA0B,EAAE,kCAAsB;IAClD,+BAA+B,EAAE,uCAA0B;IAC3D,MAAM,EAAN,gBAAM;IACN,qBAAqB,EAAE,6BAAiB;IACxC,0BAA0B,EAAE,kCAAqB;IACjD,SAAS,EAAT,mBAAS;IACT,wBAAwB,EAAE,gCAAoB;IAC9C,6BAA6B,EAAE,qCAAwB;CACxD,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,IAAI;IACJ,OAAO;CACR,CAAC;AAEF,iBAAS;IACP,OAAO;IACP,IAAI;IACJ,KAAK,EAAL,eAAK;CACkB,CAAC"}

View File

@@ -10,10 +10,10 @@ exports.default = (0, util_1.createRule)({
description: 'Require that function overload signatures be consecutive',
recommended: 'stylistic',
},
schema: [],
messages: {
adjacentSignature: 'All {{name}} signatures should be adjacent.',
},
schema: [],
},
defaultOptions: [],
create(context) {
@@ -41,28 +41,28 @@ exports.default = (0, util_1.createRule)({
}
return {
name,
callSignature: false,
type: util_1.MemberNameType.Normal,
callSignature: false,
};
}
case utils_1.AST_NODE_TYPES.TSMethodSignature:
case utils_1.AST_NODE_TYPES.MethodDefinition:
return {
...(0, util_1.getNameFromMember)(member, context.sourceCode),
static: !!member.static,
callSignature: false,
static: !!member.static,
};
case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration:
return {
name: 'call',
callSignature: true,
type: util_1.MemberNameType.Normal,
callSignature: true,
};
case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration:
return {
name: 'new',
callSignature: false,
type: util_1.MemberNameType.Normal,
callSignature: false,
};
}
return null;
@@ -113,12 +113,12 @@ exports.default = (0, util_1.createRule)({
});
}
return {
BlockStatement: checkBodyForOverloadMethods,
ClassBody: checkBodyForOverloadMethods,
Program: checkBodyForOverloadMethods,
TSInterfaceBody: checkBodyForOverloadMethods,
TSModuleBlock: checkBodyForOverloadMethods,
TSTypeLiteral: checkBodyForOverloadMethods,
TSInterfaceBody: checkBodyForOverloadMethods,
BlockStatement: checkBodyForOverloadMethods,
};
},
});

View File

@@ -1 +1 @@
{"version":3,"file":"adjacent-overload-signatures.js","sourceRoot":"","sources":["../../src/rules/adjacent-overload-signatures.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"adjacent-overload-signatures.js","sourceRoot":"","sources":["../../src/rules/adjacent-overload-signatures.ts"],"names":[],"mappings":"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"}

View File

@@ -77,15 +77,16 @@ exports.default = (0, util_1.createRule)({
},
fixable: 'code',
messages: {
errorStringGeneric: "Array type using '{{readonlyPrefix}}{{type}}[]' is forbidden. Use '{{className}}<{{type}}>' instead.",
errorStringArray: "Array type using '{{className}}<{{type}}>' is forbidden. Use '{{readonlyPrefix}}{{type}}[]' instead.",
errorStringArrayReadonly: "Array type using '{{className}}<{{type}}>' is forbidden. Use '{{readonlyPrefix}}{{type}}' instead.",
errorStringArraySimple: "Array type using '{{className}}<{{type}}>' is forbidden for simple types. Use '{{readonlyPrefix}}{{type}}[]' instead.",
errorStringGenericSimple: "Array type using '{{readonlyPrefix}}{{type}}[]' is forbidden for non-simple types. Use '{{className}}<{{type}}>' instead.",
errorStringArraySimpleReadonly: "Array type using '{{className}}<{{type}}>' is forbidden for simple types. Use '{{readonlyPrefix}}{{type}}' instead.",
errorStringGeneric: "Array type using '{{readonlyPrefix}}{{type}}[]' is forbidden. Use '{{className}}<{{type}}>' instead.",
errorStringGenericSimple: "Array type using '{{readonlyPrefix}}{{type}}[]' is forbidden for non-simple types. Use '{{className}}<{{type}}>' instead.",
},
schema: [
{
type: 'object',
$defs: {
arrayOption: {
type: 'string',
@@ -103,7 +104,6 @@ exports.default = (0, util_1.createRule)({
description: 'The array type expected for readonly cases. If omitted, the value for `default` will be used.',
},
},
type: 'object',
},
],
},
@@ -141,9 +141,9 @@ exports.default = (0, util_1.createRule)({
node: errorNode,
messageId,
data: {
type: getMessageType(node.elementType),
className: isReadonly ? 'ReadonlyArray' : 'Array',
readonlyPrefix: isReadonly ? 'readonly ' : '',
type: getMessageType(node.elementType),
},
fix(fixer) {
const typeNode = node.elementType;
@@ -189,9 +189,9 @@ exports.default = (0, util_1.createRule)({
node,
messageId,
data: {
type: 'any',
className: isReadonlyArrayType ? 'ReadonlyArray' : 'Array',
readonlyPrefix,
type: 'any',
},
fix(fixer) {
return fixer.replaceText(node, `${readonlyPrefix}any[]`);
@@ -214,9 +214,9 @@ exports.default = (0, util_1.createRule)({
node,
messageId,
data: {
type: getMessageType(type),
className: isReadonlyArrayType ? node.typeName.name : 'Array',
readonlyPrefix,
type: getMessageType(type),
},
fix(fixer) {
return [

File diff suppressed because one or more lines are too long

View File

@@ -29,6 +29,7 @@ const getForStatementHeadLoc_1 = require("../util/getForStatementHeadLoc");
exports.default = (0, util_1.createRule)({
name: 'await-thenable',
meta: {
type: 'problem',
docs: {
description: 'Disallow awaiting a value that is not a Thenable',
recommended: 'recommended',
@@ -37,12 +38,11 @@ exports.default = (0, util_1.createRule)({
hasSuggestions: true,
messages: {
await: 'Unexpected `await` of a non-Promise (non-"Thenable") value.',
convertToOrdinaryFor: 'Convert to an ordinary `for...of` loop.',
forAwaitOfNonThenable: 'Unexpected `for await...of` of a value that is not async iterable.',
removeAwait: 'Remove unnecessary `await`.',
convertToOrdinaryFor: 'Convert to an ordinary `for...of` loop.',
},
schema: [],
type: 'problem',
},
defaultOptions: [],
create(context) {
@@ -57,8 +57,8 @@ exports.default = (0, util_1.createRule)({
const originalNode = services.esTreeNodeToTSNodeMap.get(node);
if (!tsutils.isThenableType(checker, originalNode.expression, type)) {
context.report({
messageId: 'await',
node,
messageId: 'await',
suggest: [
{
messageId: 'removeAwait',
@@ -76,7 +76,10 @@ exports.default = (0, util_1.createRule)({
if ((0, util_1.isTypeAnyType)(type)) {
return;
}
const asyncIteratorSymbol = tsutils.getWellKnownSymbolPropertyOfType(type, 'asyncIterator', checker);
const asyncIteratorSymbol = tsutils
.unionTypeParts(type)
.map(t => tsutils.getWellKnownSymbolPropertyOfType(t, 'asyncIterator', checker))
.find(symbol => symbol != null);
if (asyncIteratorSymbol == null) {
context.report({
loc: (0, getForStatementHeadLoc_1.getForStatementHeadLoc)(context.sourceCode, node),

View File

@@ -1 +1 @@
{"version":3,"file":"await-thenable.js","sourceRoot":"","sources":["../../src/rules/await-thenable.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"await-thenable.js","sourceRoot":"","sources":["../../src/rules/await-thenable.ts"],"names":[],"mappings":"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"}

View File

@@ -14,16 +14,17 @@ exports.default = (0, util_1.createRule)({
strict: [{ minimumDescriptionLength: 10 }],
},
},
messages: {
tsDirectiveComment: 'Do not use "@ts-{{directive}}" because it alters compilation errors.',
tsIgnoreInsteadOfExpectError: 'Use "@ts-expect-error" instead of "@ts-ignore", as "@ts-ignore" will do nothing if the following line is error-free.',
tsDirectiveCommentRequiresDescription: 'Include a description after the "@ts-{{directive}}" directive to explain why the @ts-{{directive}} is necessary. The description must be {{minimumDescriptionLength}} characters or longer.',
tsDirectiveCommentDescriptionNotMatchPattern: 'The description for the "@ts-{{directive}}" directive must match the {{format}} format.',
replaceTsIgnoreWithTsExpectError: 'Replace "@ts-ignore" with "@ts-expect-error".',
},
hasSuggestions: true,
messages: {
replaceTsIgnoreWithTsExpectError: 'Replace "@ts-ignore" with "@ts-expect-error".',
tsDirectiveComment: 'Do not use "@ts-{{directive}}" because it alters compilation errors.',
tsDirectiveCommentDescriptionNotMatchPattern: 'The description for the "@ts-{{directive}}" directive must match the {{format}} format.',
tsDirectiveCommentRequiresDescription: 'Include a description after the "@ts-{{directive}}" directive to explain why the @ts-{{directive}} is necessary. The description must be {{minimumDescriptionLength}} characters or longer.',
tsIgnoreInsteadOfExpectError: 'Use "@ts-expect-error" instead of "@ts-ignore", as "@ts-ignore" will do nothing if the following line is error-free.',
},
schema: [
{
type: 'object',
$defs: {
directiveConfigSchema: {
oneOf: [
@@ -45,29 +46,28 @@ exports.default = (0, util_1.createRule)({
],
},
},
additionalProperties: false,
properties: {
minimumDescriptionLength: {
type: 'number',
default: defaultMinimumDescriptionLength,
description: 'A minimum character length for descriptions when `allow-with-description` is enabled.',
},
'ts-check': { $ref: '#/items/0/$defs/directiveConfigSchema' },
'ts-expect-error': { $ref: '#/items/0/$defs/directiveConfigSchema' },
'ts-ignore': { $ref: '#/items/0/$defs/directiveConfigSchema' },
'ts-nocheck': { $ref: '#/items/0/$defs/directiveConfigSchema' },
'ts-check': { $ref: '#/items/0/$defs/directiveConfigSchema' },
minimumDescriptionLength: {
description: 'A minimum character length for descriptions when `allow-with-description` is enabled.',
type: 'number',
default: defaultMinimumDescriptionLength,
},
},
type: 'object',
additionalProperties: false,
},
],
},
defaultOptions: [
{
minimumDescriptionLength: defaultMinimumDescriptionLength,
'ts-check': false,
'ts-expect-error': 'allow-with-description',
'ts-ignore': true,
'ts-nocheck': true,
'ts-check': false,
minimumDescriptionLength: defaultMinimumDescriptionLength,
},
],
create(context, [options]) {
@@ -96,10 +96,10 @@ exports.default = (0, util_1.createRule)({
if (!match) {
return null;
}
const { directive, description } = (0, util_1.nullThrows)(match.groups, 'RegExp should contain groups');
const { description, directive } = (0, util_1.nullThrows)(match.groups, 'RegExp should contain groups');
return {
directive: (0, util_1.nullThrows)(directive, 'RegExp should contain "directive" group'),
description: (0, util_1.nullThrows)(description, 'RegExp should contain "description" group'),
directive: (0, util_1.nullThrows)(directive, 'RegExp should contain "directive" group'),
};
}
function findDirectiveInComment(comment) {
@@ -122,7 +122,7 @@ exports.default = (0, util_1.createRule)({
if (!match) {
return;
}
const { directive, description } = match;
const { description, directive } = match;
if (directive === 'nocheck' &&
firstStatement &&
firstStatement.loc.start.line <= comment.loc.start.line) {
@@ -151,9 +151,9 @@ exports.default = (0, util_1.createRule)({
}
else {
context.report({
data: { directive },
node: comment,
messageId: 'tsDirectiveComment',
data: { directive },
});
}
}
@@ -164,16 +164,16 @@ exports.default = (0, util_1.createRule)({
if ((0, util_1.getStringLength)(description.trim()) <
(0, util_1.nullThrows)(minimumDescriptionLength, 'Expected minimumDescriptionLength to be set')) {
context.report({
data: { directive, minimumDescriptionLength },
node: comment,
messageId: 'tsDirectiveCommentRequiresDescription',
data: { directive, minimumDescriptionLength },
});
}
else if (format && !format.test(description)) {
context.report({
data: { directive, format: format.source },
node: comment,
messageId: 'tsDirectiveCommentDescriptionNotMatchPattern',
data: { directive, format: format.source },
});
}
}

View File

@@ -1 +1 @@
{"version":3,"file":"ban-ts-comment.js","sourceRoot":"","sources":["../../src/rules/ban-ts-comment.ts"],"names":[],"mappings":";;AACA,oDAA2D;AAE3D,kCAAkE;AAelE,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAc1C,kBAAe,IAAA,iBAAU,EAAwB;IAC/C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,8EAA8E;YAChF,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC;aAC3C;SACF;QACD,QAAQ,EAAE;YACR,kBAAkB,EAChB,sEAAsE;YACxE,4BAA4B,EAC1B,sHAAsH;YACxH,qCAAqC,EACnC,6LAA6L;YAC/L,4CAA4C,EAC1C,yFAAyF;YAC3F,gCAAgC,EAC9B,+CAA+C;SAClD;QACD,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE;YACN;gBACE,KAAK,EAAE;oBACL,qBAAqB,EAAE;wBACrB,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,SAAS;gCACf,OAAO,EAAE,IAAI;6BACd;4BACD;gCACE,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,wBAAwB,CAAC;6BACjC;4BACD;gCACE,IAAI,EAAE,QAAQ;gCACd,oBAAoB,EAAE,KAAK;gCAC3B,UAAU,EAAE;oCACV,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCACtC;6BACF;yBACF;qBACF;iBACF;gBACD,UAAU,EAAE;oBACV,iBAAiB,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE;oBACpE,WAAW,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE;oBAC9D,YAAY,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE;oBAC/D,UAAU,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE;oBAC7D,wBAAwB,EAAE;wBACxB,WAAW,EACT,uFAAuF;wBACzF,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,+BAA+B;qBACzC;iBACF;gBACD,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,iBAAiB,EAAE,wBAAwB;YAC3C,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;YACjB,wBAAwB,EAAE,+BAA+B;SAC1D;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,sHAAsH;QACtH,MAAM,qBAAqB,GACzB,+DAA+D,CAAC;QAElE;;;UAGE;QACF,MAAM,+BAA+B,GACnC,gEAAgE,CAAC;QACnE,MAAM,8BAA8B,GAClC,0EAA0E,CAAC;QAE7E,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrD,KAAK,MAAM,SAAS,IAAI;YACtB,iBAAiB;YACjB,WAAW;YACX,YAAY;YACZ,UAAU;SACF,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC3D,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,SAAS,kBAAkB,CACzB,KAAa,EACb,GAAW;YAEX,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,iBAAU,EAC3C,KAAK,CAAC,MAAM,EACZ,8BAA8B,CAC/B,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,IAAA,iBAAU,EACnB,SAAS,EACT,yCAAyC,CAC1C;gBACD,WAAW,EAAE,IAAA,iBAAU,EACrB,WAAW,EACX,2CAA2C,CAC5C;aACF,CAAC;QACJ,CAAC;QAED,SAAS,sBAAsB,CAC7B,OAAyB;YAEzB,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI,EAAE,CAAC;gBAC1C,MAAM,aAAa,GAAG,kBAAkB,CACtC,qBAAqB,EACrB,KAAK,OAAO,CAAC,KAAK,EAAE,CACrB,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,aAAa,CAAC;gBACvB,CAAC;gBAED,OAAO,kBAAkB,CACvB,+BAA+B,EAC/B,OAAO,CAAC,KAAK,CACd,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,kBAAkB,CACvB,8BAA8B,EAC9B,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,CAAC,IAAI;gBACV,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBAErD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO;oBACT,CAAC;oBACD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;oBAEzC,IACE,SAAS,KAAK,SAAS;wBACvB,cAAc;wBACd,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EACvD,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,MAAM,aAAa,GAAG,MAAM,SAAS,EAAmB,CAAC;oBAEzD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;oBACtC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;4BAC3B,iEAAiE;4BACjE,OAAO,CAAC,MAAM,CAAC;gCACb,IAAI,EAAE,OAAO;gCACb,SAAS,EAAE,8BAA8B;gCACzC,OAAO,EAAE;oCACP;wCACE,SAAS,EAAE,kCAAkC;wCAC7C,GAAG,CAAC,KAAK;4CACP,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CACvC,YAAY,EACZ,kBAAkB,CACnB,CAAC;4CACF,OAAO,KAAK,CAAC,WAAW,CACtB,OAAO,EACP,OAAO,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI;gDACnC,CAAC,CAAC,KAAK,WAAW,EAAE;gDACpB,CAAC,CAAC,KAAK,WAAW,IAAI,CACzB,CAAC;wCACJ,CAAC;qCACF;iCACF;6BACF,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,MAAM,CAAC;gCACb,IAAI,EAAE,EAAE,SAAS,EAAE;gCACnB,IAAI,EAAE,OAAO;gCACb,SAAS,EAAE,oBAAoB;6BAChC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAED,IACE,MAAM,KAAK,wBAAwB;wBACnC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,EACxD,CAAC;wBACD,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC;wBAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBACrD,IACE,IAAA,sBAAe,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BACnC,IAAA,iBAAU,EACR,wBAAwB,EACxB,6CAA6C,CAC9C,EACD,CAAC;4BACD,OAAO,CAAC,MAAM,CAAC;gCACb,IAAI,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;gCAC7C,IAAI,EAAE,OAAO;gCACb,SAAS,EAAE,uCAAuC;6BACnD,CAAC,CAAC;wBACL,CAAC;6BAAM,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC/C,OAAO,CAAC,MAAM,CAAC;gCACb,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gCAC1C,IAAI,EAAE,OAAO;gCACb,SAAS,EAAE,8CAA8C;6BAC1D,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"ban-ts-comment.js","sourceRoot":"","sources":["../../src/rules/ban-ts-comment.ts"],"names":[],"mappings":"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"}

View File

@@ -16,11 +16,11 @@ exports.default = (0, util_1.createRule)({
description: 'Disallow `// tslint:<rule-flag>` comments',
recommended: 'stylistic',
},
fixable: 'code',
messages: {
commentDetected: 'tslint comment detected: "{{ text }}"',
},
schema: [],
fixable: 'code',
},
defaultOptions: [],
create: context => {
@@ -30,9 +30,9 @@ exports.default = (0, util_1.createRule)({
comments.forEach(c => {
if (ENABLE_DISABLE_REGEX.test(c.value)) {
context.report({
data: { text: toText(c.value, c.type) },
node: c,
messageId: 'commentDetected',
data: { text: toText(c.value, c.type) },
fix(fixer) {
const rangeStart = context.sourceCode.getIndexFromLoc({
column: c.loc.start.column > 0 ? c.loc.start.column - 1 : 0,

View File

@@ -1 +1 @@
{"version":3,"file":"ban-tslint-comment.js","sourceRoot":"","sources":["../../src/rules/ban-tslint-comment.ts"],"names":[],"mappings":";;AAAA,oDAA2D;AAE3D,kCAAqC;AAErC,eAAe;AACf,iHAAiH;AACjH,MAAM,oBAAoB,GACxB,2DAA2D,CAAC;AAE9D,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,IAAkD,EAC1C,EAAE,CACV,IAAI,KAAK,uBAAe,CAAC,IAAI;IAC3B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1C,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,2CAA2C;YACxD,WAAW,EAAE,WAAW;SACzB;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,uCAAuC;SACzD;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,MAAM;KAChB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,OAAO,CAAC,EAAE;QAChB,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACnB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvC,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;4BACvC,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,iBAAiB;4BAC5B,GAAG,CAAC,KAAK;gCACP,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;oCACpD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC3D,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;iCACvB,CAAC,CAAC;gCACH,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;oCAClD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;oCACxB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;iCACrB,CAAC,CAAC;gCACH,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;4BACvD,CAAC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"ban-tslint-comment.js","sourceRoot":"","sources":["../../src/rules/ban-tslint-comment.ts"],"names":[],"mappings":";;AAAA,oDAA2D;AAE3D,kCAAqC;AAErC,eAAe;AACf,iHAAiH;AACjH,MAAM,oBAAoB,GACxB,2DAA2D,CAAC;AAE9D,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,IAAkD,EAC1C,EAAE,CACV,IAAI,KAAK,uBAAe,CAAC,IAAI;IAC3B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1C,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,2CAA2C;YACxD,WAAW,EAAE,WAAW;SACzB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,eAAe,EAAE,uCAAuC;SACzD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,OAAO,CAAC,EAAE;QAChB,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACnB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvC,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,iBAAiB;4BAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;4BACvC,GAAG,CAAC,KAAK;gCACP,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;oCACpD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC3D,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;iCACvB,CAAC,CAAC;gCACH,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;oCAClD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;oCACxB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;iCACrB,CAAC,CAAC;gCACH,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;4BACvD,CAAC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}

View File

@@ -33,6 +33,7 @@ exports.default = (0, util_1.createRule)({
schema: [
{
type: 'string',
description: 'Which literal class member syntax to prefer.',
enum: ['fields', 'getters'],
},
],
@@ -42,12 +43,12 @@ exports.default = (0, util_1.createRule)({
const propertiesInfoStack = [];
function enterClassBody() {
propertiesInfoStack.push({
properties: [],
excludeSet: new Set(),
properties: [],
});
}
function exitClassBody() {
const { properties, excludeSet } = (0, util_1.nullThrows)(propertiesInfoStack.pop(), 'Stack should exist on class exit');
const { excludeSet, properties } = (0, util_1.nullThrows)(propertiesInfoStack.pop(), 'Stack should exist on class exit');
properties.forEach(node => {
const { value } = node;
if (!value || !isSupportedLiteral(value)) {
@@ -89,6 +90,7 @@ exports.default = (0, util_1.createRule)({
...(style === 'fields' && {
MethodDefinition(node) {
if (node.kind !== 'get' ||
node.override ||
!node.value.body ||
node.value.body.body.length === 0) {
return;
@@ -146,7 +148,7 @@ exports.default = (0, util_1.createRule)({
}
},
PropertyDefinition(node) {
if (!node.readonly || node.declare) {
if (!node.readonly || node.declare || node.override) {
return;
}
const { properties } = propertiesInfoStack[propertiesInfoStack.length - 1];

File diff suppressed because one or more lines are too long

View File

@@ -11,27 +11,28 @@ exports.default = (0, util_1.createRule)({
extendsBaseRule: true,
requiresTypeChecking: false,
},
messages: {
missingThis: "Expected 'this' to be used by class {{name}}.",
},
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
enforceForClassFields: {
type: 'boolean',
default: true,
description: 'Enforces that functions used as instance field initializers utilize `this`.',
},
exceptMethods: {
type: 'array',
description: 'Allows specified method names to be ignored with this rule',
description: 'Allows specified method names to be ignored with this rule.',
items: {
type: 'string',
},
},
enforceForClassFields: {
type: 'boolean',
description: 'Enforces that functions used as instance field initializers utilize `this`',
default: true,
},
ignoreOverrideMethods: {
type: 'boolean',
description: 'Ignore members marked with the `override` modifier',
},
ignoreClassesThatImplementAnInterface: {
description: 'Makes the rule ignore class members that are defined within a class that `implements` a type',
oneOf: [
{
type: 'boolean',
@@ -39,19 +40,18 @@ exports.default = (0, util_1.createRule)({
},
{
type: 'string',
enum: ['public-fields'],
description: 'Ignore only the public fields of classes that implement an interface',
enum: ['public-fields'],
},
],
description: 'Ignore classes that specifically implement some interface',
},
ignoreOverrideMethods: {
type: 'boolean',
description: 'Ignore members marked with the `override` modifier',
},
},
additionalProperties: false,
},
],
messages: {
missingThis: "Expected 'this' to be used by class {{name}}.",
},
},
defaultOptions: [
{
@@ -67,18 +67,18 @@ exports.default = (0, util_1.createRule)({
function pushContext(member) {
if (member?.parent.type === utils_1.AST_NODE_TYPES.ClassBody) {
stack = {
member,
class: member.parent.parent,
usesThis: false,
member,
parent: stack,
usesThis: false,
};
}
else {
stack = {
member: null,
class: null,
usesThis: false,
member: null,
parent: stack,
usesThis: false,
};
}
}
@@ -142,8 +142,8 @@ exports.default = (0, util_1.createRule)({
}
if (isIncludedInstanceMethod(stackContext.member)) {
context.report({
node,
loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode),
node,
messageId: 'missingThis',
data: {
name: (0, util_1.getFunctionNameWithKind)(node),
@@ -178,12 +178,12 @@ exports.default = (0, util_1.createRule)({
/*
* Class field value are implicit functions.
*/
'PropertyDefinition > *.key:exit'() {
pushContext();
},
'PropertyDefinition:exit'() {
popContext();
},
'PropertyDefinition > *.key:exit'() {
pushContext();
},
/*
* Class static blocks are implicit functions. They aren't required to use `this`,
* but we have to push context so that it captures any use of `this` in the static block

View File

@@ -1 +1 @@
{"version":3,"file":"class-methods-use-this.js","sourceRoot":"","sources":["../../src/rules/class-methods-use-this.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"class-methods-use-this.js","sourceRoot":"","sources":["../../src/rules/class-methods-use-this.ts"],"names":[],"mappings":"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"}

View File

@@ -10,14 +10,15 @@ exports.default = (0, util_1.createRule)({
description: 'Enforce specifying generic type arguments on type annotation or constructor name of a constructor call',
recommended: 'stylistic',
},
messages: {
preferTypeAnnotation: 'The generic type arguments should be specified as part of the type annotation.',
preferConstructor: 'The generic type arguments should be specified as part of the constructor type arguments.',
},
fixable: 'code',
messages: {
preferConstructor: 'The generic type arguments should be specified as part of the constructor type arguments.',
preferTypeAnnotation: 'The generic type arguments should be specified as part of the type annotation.',
},
schema: [
{
type: 'string',
description: 'Which constructor call syntax to prefer.',
enum: ['type-annotation', 'constructor'],
},
],
@@ -53,7 +54,7 @@ exports.default = (0, util_1.createRule)({
}
if (mode === 'type-annotation') {
if (!lhs && rhs.typeArguments) {
const { typeArguments, callee } = rhs;
const { callee, typeArguments } = rhs;
const typeAnnotation = context.sourceCode.getText(callee) +
context.sourceCode.getText(typeArguments);
context.report({

View File

@@ -1 +1 @@
{"version":3,"file":"consistent-generic-constructors.js","sourceRoot":"","sources":["../../src/rules/consistent-generic-constructors.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"consistent-generic-constructors.js","sourceRoot":"","sources":["../../src/rules/consistent-generic-constructors.ts"],"names":[],"mappings":"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"}

View File

@@ -10,14 +10,15 @@ exports.default = (0, util_1.createRule)({
description: 'Require or disallow the `Record` type',
recommended: 'stylistic',
},
messages: {
preferRecord: 'A record is preferred over an index signature.',
preferIndexSignature: 'An index signature is preferred over a record.',
},
fixable: 'code',
messages: {
preferIndexSignature: 'An index signature is preferred over a record.',
preferRecord: 'A record is preferred over an index signature.',
},
schema: [
{
type: 'string',
description: 'Which indexed object syntax to prefer.',
enum: ['record', 'index-signature'],
},
],
@@ -97,10 +98,6 @@ exports.default = (0, util_1.createRule)({
},
}),
...(mode === 'record' && {
TSTypeLiteral(node) {
const parent = findParentDeclaration(node);
checkMembers(node.members, node, parent?.id, '', '');
},
TSInterfaceDeclaration(node) {
let genericTypes = '';
if (node.typeParameters?.params.length) {
@@ -110,6 +107,10 @@ exports.default = (0, util_1.createRule)({
}
checkMembers(node.body.body, node, node.id, `type ${node.id.name}${genericTypes} = `, ';', !node.extends.length);
},
TSTypeLiteral(node) {
const parent = findParentDeclaration(node);
checkMembers(node.members, node, parent?.id, '', '');
},
}),
};
},

View File

@@ -1 +1 @@
{"version":3,"file":"consistent-indexed-object-style.js","sourceRoot":"","sources":["../../src/rules/consistent-indexed-object-style.ts"],"names":[],"mappings":";;AACA,oDAAoE;AAEpE,kCAAqC;AAKrC,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,WAAW,EAAE,WAAW;SACzB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,gDAAgD;YAC9D,oBAAoB,EAAE,gDAAgD;SACvE;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;aACpC;SACF;KACF;IACD,cAAc,EAAE,CAAC,QAAQ,CAAC;IAC1B,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;QACpB,SAAS,YAAY,CACnB,OAA+B,EAC/B,IAA8D,EAC9D,QAAyC,EACzC,MAAc,EACd,OAAe,EACf,OAAO,GAAG,IAAI;YAEd,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;YAEzB,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,SAAS,EAAE,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;YACxC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,gBAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CACzC,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,eAAe;wBACpB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;wBACzC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAC5C,CAAC;oBACF,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,cAAc;gBACzB,GAAG,EAAE,OAAO;oBACV,CAAC,CAAC,CAAC,KAAK,EAAoB,EAAE;wBAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;wBAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CACtC,SAAS,CAAC,cAAc,CACzB,CAAC;wBACF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;4BAC5B,CAAC,CAAC,mBAAmB,GAAG,KAAK,KAAK,IAAI;4BACtC,CAAC,CAAC,UAAU,GAAG,KAAK,KAAK,GAAG,CAAC;wBAC/B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACH,CAAC,CAAC,IAAI;aACT,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI;gBAChC,eAAe,CAAC,IAAI;oBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE,CAAC;wBAChD,OAAO;oBACT,CAAC;oBACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC/B,OAAO;oBACT,CAAC;oBAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;oBAC1C,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,OAAO;oBACT,CAAC;oBAED,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,sBAAsB;wBACjC,GAAG,CAAC,KAAK;4BACP,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;4BAClD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;4BACnD,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC;wBAC/D,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YACF,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI;gBACvB,aAAa,CAAC,IAAI;oBAChB,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC3C,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,sBAAsB,CAAC,IAAI;oBACzB,IAAI,YAAY,GAAG,EAAE,CAAC;oBAEtB,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;wBACvC,YAAY,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM;6BAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;6BACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACnB,CAAC;oBAED,YAAY,CACV,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,EACJ,IAAI,CAAC,EAAE,EACP,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,YAAY,KAAK,EACxC,GAAG,EACH,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CACrB,CAAC;gBACJ,CAAC;aACF,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAC5B,IAAmB;IAEnB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
{"version":3,"file":"consistent-indexed-object-style.js","sourceRoot":"","sources":["../../src/rules/consistent-indexed-object-style.ts"],"names":[],"mappings":"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"}

View File

@@ -38,8 +38,8 @@ exports.default = (0, util_1.createRule)({
requiresTypeChecking: true,
},
hasSuggestions: baseRule.meta.hasSuggestions,
schema: baseRule.meta.schema,
messages: baseRule.meta.messages,
schema: baseRule.meta.schema,
},
defaultOptions: [{ treatUndefinedAsUnspecified: false }],
create(context, [options]) {
@@ -84,6 +84,11 @@ exports.default = (0, util_1.createRule)({
}
return {
...rules,
ArrowFunctionExpression: enterFunction,
'ArrowFunctionExpression:exit'(node) {
exitFunction();
rules['ArrowFunctionExpression:exit'](node);
},
FunctionDeclaration: enterFunction,
'FunctionDeclaration:exit'(node) {
exitFunction();
@@ -94,11 +99,6 @@ exports.default = (0, util_1.createRule)({
exitFunction();
rules['FunctionExpression:exit'](node);
},
ArrowFunctionExpression: enterFunction,
'ArrowFunctionExpression:exit'(node) {
exitFunction();
rules['ArrowFunctionExpression:exit'](node);
},
ReturnStatement(node) {
const functionNode = getCurrentFunction();
if (!node.argument &&

View File

@@ -1 +1 @@
{"version":3,"file":"consistent-return.js","sourceRoot":"","sources":["../../src/rules/consistent-return.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"consistent-return.js","sourceRoot":"","sources":["../../src/rules/consistent-return.ts"],"names":[],"mappings":"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"}

View File

@@ -31,50 +31,50 @@ exports.default = (0, util_1.createRule)({
name: 'consistent-type-assertions',
meta: {
type: 'suggestion',
fixable: 'code',
hasSuggestions: true,
docs: {
description: 'Enforce consistent usage of type assertions',
recommended: 'stylistic',
},
fixable: 'code',
hasSuggestions: true,
messages: {
as: "Use 'as {{cast}}' instead of '<{{cast}}>'.",
'angle-bracket': "Use '<{{cast}}>' instead of 'as {{cast}}'.",
as: "Use 'as {{cast}}' instead of '<{{cast}}>'.",
never: 'Do not use any type assertions.',
unexpectedObjectTypeAssertion: 'Always prefer const x: T = { ... }.',
replaceObjectTypeAssertionWithAnnotation: 'Use const x: {{cast}} = { ... } instead.',
replaceObjectTypeAssertionWithSatisfies: 'Use const x = { ... } satisfies {{cast}} instead.',
unexpectedObjectTypeAssertion: 'Always prefer const x: T = { ... }.',
},
schema: [
{
oneOf: [
{
type: 'object',
additionalProperties: false,
properties: {
assertionStyle: {
description: 'The expected assertion style to enforce.',
type: 'string',
description: 'The expected assertion style to enforce.',
enum: ['never'],
},
},
additionalProperties: false,
required: ['assertionStyle'],
},
{
type: 'object',
additionalProperties: false,
properties: {
assertionStyle: {
description: 'The expected assertion style to enforce.',
type: 'string',
description: 'The expected assertion style to enforce.',
enum: ['as', 'angle-bracket'],
},
objectLiteralTypeAssertions: {
description: 'Whether to always prefer type declarations for object literals used as variable initializers, rather than type assertions.',
type: 'string',
description: 'Whether to always prefer type declarations for object literals used as variable initializers, rather than type assertions.',
enum: ['allow', 'allow-as-parameter', 'never'],
},
},
additionalProperties: false,
required: ['assertionStyle'],
},
],
@@ -192,15 +192,15 @@ exports.default = (0, util_1.createRule)({
}
}
return {
TSTypeAssertion(node) {
if (options.assertionStyle !== 'angle-bracket') {
TSAsExpression(node) {
if (options.assertionStyle !== 'as') {
reportIncorrectAssertionType(node);
return;
}
checkExpression(node);
},
TSAsExpression(node) {
if (options.assertionStyle !== 'as') {
TSTypeAssertion(node) {
if (options.assertionStyle !== 'angle-bracket') {
reportIncorrectAssertionType(node);
return;
}

File diff suppressed because one or more lines are too long

View File

@@ -10,6 +10,7 @@ exports.default = (0, util_1.createRule)({
description: 'Enforce type definitions to consistently use either `interface` or `type`',
recommended: 'stylistic',
},
fixable: 'code',
messages: {
interfaceOverType: 'Use an `interface` instead of a `type`.',
typeOverInterface: 'Use a `type` instead of an `interface`.',
@@ -17,10 +18,10 @@ exports.default = (0, util_1.createRule)({
schema: [
{
type: 'string',
description: 'Which type definition syntax to prefer.',
enum: ['interface', 'type'],
},
],
fixable: 'code',
},
defaultOptions: ['interface'],
create(context, [option]) {

View File

@@ -1 +1 @@
{"version":3,"file":"consistent-type-definitions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-definitions.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"consistent-type-definitions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-definitions.ts"],"names":[],"mappings":"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"}

View File

@@ -35,24 +35,24 @@ exports.default = (0, util_1.createRule)({
description: 'Enforce consistent usage of type exports',
requiresTypeChecking: true,
},
fixable: 'code',
messages: {
typeOverValue: 'All exports in the declaration are only used as types. Use `export type`.',
singleExportIsType: 'Type export {{exportNames}} is not a value and should be exported using `export type`.',
multipleExportsAreTypes: 'Type exports {{exportNames}} are not values and should be exported using `export type`.',
singleExportIsType: 'Type export {{exportNames}} is not a value and should be exported using `export type`.',
typeOverValue: 'All exports in the declaration are only used as types. Use `export type`.',
},
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
fixMixedExportsWithInlineTypeSpecifier: {
description: 'Whether the rule will autofix "mixed" export cases using TS inline type specifiers.',
type: 'boolean',
description: 'Whether the rule will autofix "mixed" export cases using TS inline type specifiers.',
},
},
additionalProperties: false,
},
],
fixable: 'code',
},
defaultOptions: [
{
@@ -140,8 +140,8 @@ exports.default = (0, util_1.createRule)({
const source = getSourceFromExport(node) ?? 'undefined';
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
const sourceExports = (sourceExportsMap[source] ||= {
source,
reportValueExports: [],
source,
typeOnlyNamedExport: null,
valueOnlyNamedExport: null,
});
@@ -183,9 +183,9 @@ exports.default = (0, util_1.createRule)({
(node.exportKind === 'type' && valueSpecifiers.length)) {
sourceExports.reportValueExports.push({
node,
inlineTypeSpecifiers,
typeBasedSpecifiers,
valueSpecifiers,
inlineTypeSpecifiers,
});
}
},
@@ -208,7 +208,9 @@ exports.default = (0, util_1.createRule)({
continue;
}
// We have both type and value violations.
const allExportNames = report.typeBasedSpecifiers.map(specifier => specifier.local.name);
const allExportNames = report.typeBasedSpecifiers.map(specifier => specifier.local.type === utils_1.AST_NODE_TYPES.Identifier
? specifier.local.name
: specifier.local.value);
if (allExportNames.length === 1) {
const exportNames = allExportNames[0];
context.report({
@@ -274,7 +276,7 @@ function* fixExportInsertType(fixer, sourceCode, node) {
* represent values will be inserted in a separate `export` statement.
*/
function* fixSeparateNamedExports(fixer, sourceCode, report) {
const { node, typeBasedSpecifiers, inlineTypeSpecifiers, valueSpecifiers } = report;
const { node, inlineTypeSpecifiers, typeBasedSpecifiers, valueSpecifiers } = report;
const typeSpecifiers = [...typeBasedSpecifiers, ...inlineTypeSpecifiers];
const source = getSourceFromExport(node);
const specifierNames = typeSpecifiers.map(getSpecifierText).join(', ');
@@ -313,8 +315,12 @@ function getSourceFromExport(node) {
* the proper formatting.
*/
function getSpecifierText(specifier) {
return `${specifier.local.name}${specifier.exported.name !== specifier.local.name
? ` as ${specifier.exported.name}`
: ''}`;
const exportedName = specifier.exported.type === utils_1.AST_NODE_TYPES.Literal
? specifier.exported.raw
: specifier.exported.name;
const localName = specifier.local.type === utils_1.AST_NODE_TYPES.Literal
? specifier.local.raw
: specifier.local.name;
return `${localName}${exportedName !== localName ? ` as ${exportedName}` : ''}`;
}
//# sourceMappingURL=consistent-type-exports.js.map

File diff suppressed because one or more lines are too long

View File

@@ -9,41 +9,41 @@ exports.default = (0, util_1.createRule)({
docs: {
description: 'Enforce consistent usage of type imports',
},
fixable: 'code',
messages: {
typeOverValue: 'All imports in the declaration are only used as types. Use `import type`.',
someImportsAreOnlyTypes: 'Imports {{typeImports}} are only used as type.',
avoidImportType: 'Use an `import` instead of an `import type`.',
noImportTypeAnnotations: '`import()` type annotations are forbidden.',
someImportsAreOnlyTypes: 'Imports {{typeImports}} are only used as type.',
typeOverValue: 'All imports in the declaration are only used as types. Use `import type`.',
},
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
disallowTypeAnnotations: {
description: 'Whether to disallow type imports in type annotations (`import()`).',
type: 'boolean',
description: 'Whether to disallow type imports in type annotations (`import()`).',
},
fixStyle: {
description: 'The expected type modifier to be added when an import is detected as used only in the type position.',
type: 'string',
description: 'The expected type modifier to be added when an import is detected as used only in the type position.',
enum: ['separate-type-imports', 'inline-type-imports'],
},
prefer: {
description: 'The expected import kind for type-only imports.',
type: 'string',
description: 'The expected import kind for type-only imports.',
enum: ['type-imports', 'no-type-imports'],
},
},
additionalProperties: false,
},
],
fixable: 'code',
},
defaultOptions: [
{
prefer: 'type-imports',
disallowTypeAnnotations: true,
fixStyle: 'separate-type-imports',
prefer: 'type-imports',
},
],
create(context, [option]) {
@@ -98,11 +98,11 @@ exports.default = (0, util_1.createRule)({
const source = node.source.value;
// sourceImports is the object containing all the specifics for a particular import source, type or value
sourceImportsMap[source] ??= {
source,
reportValueImports: [], // if there is a mismatch where type importKind but value specifiers
source,
typeOnlyNamedImport: null, // if only type imports
valueOnlyNamedImport: null, // if only value imports with named specifiers
valueImport: null, // if only value imports
valueOnlyNamedImport: null, // if only value imports with named specifiers
};
const sourceImports = sourceImportsMap[source];
if (node.importKind === 'type') {
@@ -206,10 +206,10 @@ exports.default = (0, util_1.createRule)({
if (node.importKind === 'value' && typeSpecifiers.length) {
sourceImports.reportValueImports.push({
node,
typeSpecifiers,
valueSpecifiers,
unusedSpecifiers,
inlineTypeSpecifiers,
typeSpecifiers,
unusedSpecifiers,
valueSpecifiers,
});
}
},
@@ -318,8 +318,8 @@ exports.default = (0, util_1.createRule)({
const namedSpecifiers = node.specifiers.filter((specifier) => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier);
return {
defaultSpecifier,
namespaceSpecifier,
namedSpecifiers,
namespaceSpecifier,
};
}
/**
@@ -328,8 +328,8 @@ exports.default = (0, util_1.createRule)({
function getFixesNamedSpecifiers(fixer, node, subsetNamedSpecifiers, allNamedSpecifiers) {
if (allNamedSpecifiers.length === 0) {
return {
typeNamedSpecifiersText: '',
removeTypeNamedSpecifiers: [],
typeNamedSpecifiersText: '',
};
}
const typeNamedSpecifiersTexts = [];
@@ -367,8 +367,8 @@ exports.default = (0, util_1.createRule)({
}
}
return {
typeNamedSpecifiersText: typeNamedSpecifiersTexts.join(','),
removeTypeNamedSpecifiers,
typeNamedSpecifiersText: typeNamedSpecifiersTexts.join(','),
};
}
/**
@@ -395,8 +395,8 @@ exports.default = (0, util_1.createRule)({
removeRange[1] = after.range[1];
}
return {
textRange,
removeRange,
textRange,
};
}
/**
@@ -443,7 +443,7 @@ exports.default = (0, util_1.createRule)({
}
function* fixToTypeImportDeclaration(fixer, report, sourceImports) {
const { node } = report;
const { defaultSpecifier, namespaceSpecifier, namedSpecifiers } = classifySpecifier(node);
const { defaultSpecifier, namedSpecifiers, namespaceSpecifier } = classifySpecifier(node);
if (namespaceSpecifier && !defaultSpecifier) {
// import * as types from 'foo'
// checks for presence of import assertions

File diff suppressed because one or more lines are too long

View File

@@ -10,10 +10,10 @@ exports.default = (0, util_1.createRule)({
description: 'Enforce default parameters to be last',
extendsBaseRule: true,
},
schema: [],
messages: {
shouldBeLast: 'Default parameters should be last.',
},
schema: [],
},
defaultOptions: [],
create(context) {

View File

@@ -1 +1 @@
{"version":3,"file":"default-param-last.js","sourceRoot":"","sources":["../../src/rules/default-param-last.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,YAAY,EAAE,oCAAoC;SACnD;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;;WAIG;QACH,SAAS,eAAe,CAAC,IAAwB;YAC/C,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY;gBACxC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACvC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa;gBAC1C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CACd,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,SAAS,YAAY,CAAC,IAAwB;YAC5C,OAAO,CAAC,CACN,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW;gBACxC,eAAe,CAAC,IAAI,CAAC,CACtB,CAAC;QACJ,CAAC;QAED,SAAS,qBAAqB,CAC5B,IAG+B;YAE/B,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB;oBACjD,CAAC,CAAC,OAAO,CAAC,SAAS;oBACnB,CAAC,CAAC,OAAO,CAAC;gBAEd,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,iBAAiB,GAAG,IAAI,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,IACE,iBAAiB;oBACjB,CAAC,eAAe,CAAC,KAAK,CAAC;wBACrB,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,CAAC,EAClD,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,uBAAuB,EAAE,qBAAqB;YAC9C,mBAAmB,EAAE,qBAAqB;YAC1C,kBAAkB,EAAE,qBAAqB;SAC1C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"default-param-last.js","sourceRoot":"","sources":["../../src/rules/default-param-last.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,oCAAoC;SACnD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;;WAIG;QACH,SAAS,eAAe,CAAC,IAAwB;YAC/C,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY;gBACxC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACvC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa;gBAC1C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CACd,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,SAAS,YAAY,CAAC,IAAwB;YAC5C,OAAO,CAAC,CACN,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW;gBACxC,eAAe,CAAC,IAAI,CAAC,CACtB,CAAC;QACJ,CAAC;QAED,SAAS,qBAAqB,CAC5B,IAG+B;YAE/B,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB;oBACjD,CAAC,CAAC,OAAO,CAAC,SAAS;oBACnB,CAAC,CAAC,OAAO,CAAC;gBAEd,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,iBAAiB,GAAG,IAAI,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,IACE,iBAAiB;oBACjB,CAAC,eAAe,CAAC,KAAK,CAAC;wBACrB,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,CAAC,EAClD,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,uBAAuB,EAAE,qBAAqB;YAC9C,mBAAmB,EAAE,qBAAqB;YAC1C,kBAAkB,EAAE,qBAAqB;SAC1C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}

View File

@@ -35,54 +35,54 @@ exports.default = (0, util_1.createRule)({
type: 'suggestion',
docs: {
description: 'Enforce dot notation whenever possible',
recommended: 'stylistic',
extendsBaseRule: true,
recommended: 'stylistic',
requiresTypeChecking: true,
},
schema: [
{
type: 'object',
properties: {
allowKeywords: {
description: 'Whether to allow keywords such as ["class"]`.',
type: 'boolean',
default: true,
},
allowPattern: {
description: 'Regular expression of names to allow.',
type: 'string',
default: '',
},
allowPrivateClassPropertyAccess: {
description: 'Whether to allow accessing class members marked as `private` with array notation.',
type: 'boolean',
default: false,
},
allowProtectedClassPropertyAccess: {
description: 'Whether to allow accessing class members marked as `protected` with array notation.',
type: 'boolean',
default: false,
},
allowIndexSignaturePropertyAccess: {
description: 'Whether to allow accessing properties matching an index signature with array notation.',
type: 'boolean',
default: false,
},
},
additionalProperties: false,
},
],
fixable: baseRule.meta.fixable,
hasSuggestions: baseRule.meta.hasSuggestions,
messages: baseRule.meta.messages,
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
allowIndexSignaturePropertyAccess: {
type: 'boolean',
default: false,
description: 'Whether to allow accessing properties matching an index signature with array notation.',
},
allowKeywords: {
type: 'boolean',
default: true,
description: 'Whether to allow keywords such as ["class"]`.',
},
allowPattern: {
type: 'string',
default: '',
description: 'Regular expression of names to allow.',
},
allowPrivateClassPropertyAccess: {
type: 'boolean',
default: false,
description: 'Whether to allow accessing class members marked as `private` with array notation.',
},
allowProtectedClassPropertyAccess: {
type: 'boolean',
default: false,
description: 'Whether to allow accessing class members marked as `protected` with array notation.',
},
},
},
],
},
defaultOptions: [
{
allowPrivateClassPropertyAccess: false,
allowProtectedClassPropertyAccess: false,
allowIndexSignaturePropertyAccess: false,
allowKeywords: true,
allowPattern: '',
allowPrivateClassPropertyAccess: false,
allowProtectedClassPropertyAccess: false,
},
],
create(context, [options]) {

View File

@@ -1 +1 @@
{"version":3,"file":"dot-notation.js","sourceRoot":"","sources":["../../src/rules/dot-notation.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"dot-notation.js","sourceRoot":"","sources":["../../src/rules/dot-notation.ts"],"names":[],"mappings":"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"}

View File

@@ -16,57 +16,57 @@ exports.default = (0, util_1.createRule)({
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
allowConciseArrowFunctionExpressionsStartingWithVoid: {
type: 'boolean',
description: 'Whether to allow arrow functions that start with the `void` keyword.',
type: 'boolean',
},
allowExpressions: {
description: 'Whether to ignore function expressions (functions which are not part of a declaration).',
type: 'boolean',
},
allowHigherOrderFunctions: {
description: 'Whether to ignore functions immediately returning another function expression.',
type: 'boolean',
},
allowTypedFunctionExpressions: {
description: 'Whether to ignore type annotations on the variable of function expressions.',
type: 'boolean',
},
allowDirectConstAssertionInArrowFunctions: {
type: 'boolean',
description: 'Whether to ignore arrow functions immediately returning a `as const` value.',
type: 'boolean',
},
allowFunctionsWithoutTypeParameters: {
description: "Whether to ignore functions that don't have generic type parameters.",
type: 'boolean',
},
allowedNames: {
type: 'array',
description: 'An array of function/method names that will not have their arguments or return values checked.',
items: {
type: 'string',
},
type: 'array',
},
allowExpressions: {
type: 'boolean',
description: 'Whether to ignore function expressions (functions which are not part of a declaration).',
},
allowFunctionsWithoutTypeParameters: {
type: 'boolean',
description: "Whether to ignore functions that don't have generic type parameters.",
},
allowHigherOrderFunctions: {
type: 'boolean',
description: 'Whether to ignore functions immediately returning another function expression.',
},
allowIIFEs: {
description: 'Whether to ignore immediately invoked function expressions (IIFEs).',
type: 'boolean',
description: 'Whether to ignore immediately invoked function expressions (IIFEs).',
},
allowTypedFunctionExpressions: {
type: 'boolean',
description: 'Whether to ignore type annotations on the variable of function expressions.',
},
},
additionalProperties: false,
},
],
},
defaultOptions: [
{
allowExpressions: false,
allowTypedFunctionExpressions: true,
allowHigherOrderFunctions: true,
allowDirectConstAssertionInArrowFunctions: true,
allowConciseArrowFunctionExpressionsStartingWithVoid: false,
allowFunctionsWithoutTypeParameters: false,
allowDirectConstAssertionInArrowFunctions: true,
allowedNames: [],
allowExpressions: false,
allowFunctionsWithoutTypeParameters: false,
allowHigherOrderFunctions: true,
allowIIFEs: false,
allowTypedFunctionExpressions: true,
},
],
create(context, [options]) {
@@ -148,15 +148,14 @@ exports.default = (0, util_1.createRule)({
return;
}
(0, explicitReturnTypeUtils_1.checkFunctionReturnType)(info, options, context.sourceCode, loc => context.report({
node,
loc,
node,
messageId: 'missingReturnType',
}));
}
return {
'ArrowFunctionExpression, FunctionExpression, FunctionDeclaration': enterFunction,
'ArrowFunctionExpression:exit': exitFunctionExpression,
'FunctionExpression:exit': exitFunctionExpression,
'FunctionDeclaration:exit'(node) {
const info = popFunctionInfo('function declaration');
if (isAllowedFunction(node)) {
@@ -166,11 +165,12 @@ exports.default = (0, util_1.createRule)({
return;
}
(0, explicitReturnTypeUtils_1.checkFunctionReturnType)(info, options, context.sourceCode, loc => context.report({
node,
loc,
node,
messageId: 'missingReturnType',
}));
},
'FunctionExpression:exit': exitFunctionExpression,
ReturnStatement(node) {
functionInfoStack.at(-1)?.returns.push(node);
},

View File

@@ -1 +1 @@
{"version":3,"file":"explicit-function-return-type.js","sourceRoot":"","sources":["../../src/rules/explicit-function-return-type.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"explicit-function-return-type.js","sourceRoot":"","sources":["../../src/rules/explicit-function-return-type.ts"],"names":[],"mappings":"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"}

View File

@@ -7,66 +7,70 @@ const rangeToLoc_1 = require("../util/rangeToLoc");
exports.default = (0, util_1.createRule)({
name: 'explicit-member-accessibility',
meta: {
hasSuggestions: true,
type: 'problem',
docs: {
description: 'Require explicit accessibility modifiers on class properties and methods',
// too opinionated to be recommended
},
fixable: 'code',
hasSuggestions: true,
messages: {
addExplicitAccessibility: "Add '{{ type }}' accessibility modifier",
missingAccessibility: 'Missing accessibility modifier on {{type}} {{name}}.',
unwantedPublicAccessibility: 'Public accessibility modifier on {{type}} {{name}}.',
addExplicitAccessibility: "Add '{{ type }}' accessibility modifier",
},
schema: [
{
type: 'object',
$defs: {
accessibilityLevel: {
oneOf: [
{
type: 'string',
enum: ['explicit'],
description: 'Always require an accessor.',
enum: ['explicit'],
},
{
type: 'string',
enum: ['no-public'],
description: 'Require an accessor except when public.',
enum: ['no-public'],
},
{
type: 'string',
enum: ['off'],
description: 'Never check whether there is an accessor.',
enum: ['off'],
},
],
},
},
type: 'object',
additionalProperties: false,
properties: {
accessibility: { $ref: '#/items/0/$defs/accessibilityLevel' },
overrides: {
type: 'object',
properties: {
accessors: { $ref: '#/items/0/$defs/accessibilityLevel' },
constructors: { $ref: '#/items/0/$defs/accessibilityLevel' },
methods: { $ref: '#/items/0/$defs/accessibilityLevel' },
properties: { $ref: '#/items/0/$defs/accessibilityLevel' },
parameterProperties: {
$ref: '#/items/0/$defs/accessibilityLevel',
},
},
additionalProperties: false,
accessibility: {
$ref: '#/items/0/$defs/accessibilityLevel',
description: 'Which accessibility modifier is required to exist or not exist.',
},
ignoredMethodNames: {
description: 'Specific method names that may be ignored.',
type: 'array',
description: 'Specific method names that may be ignored.',
items: {
type: 'string',
},
},
overrides: {
type: 'object',
additionalProperties: false,
description: 'Changes to required accessibility modifiers for specific kinds of class members.',
properties: {
accessors: { $ref: '#/items/0/$defs/accessibilityLevel' },
constructors: { $ref: '#/items/0/$defs/accessibilityLevel' },
methods: { $ref: '#/items/0/$defs/accessibilityLevel' },
parameterProperties: {
$ref: '#/items/0/$defs/accessibilityLevel',
},
properties: { $ref: '#/items/0/$defs/accessibilityLevel' },
},
},
},
additionalProperties: false,
},
],
},
@@ -114,8 +118,8 @@ exports.default = (0, util_1.createRule)({
loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, publicKeyword.range),
messageId: 'unwantedPublicAccessibility',
data: {
type: nodeType,
name: methodName,
type: nodeType,
},
fix: fixer => fixer.removeRange(publicKeyword.rangeToRemove),
});
@@ -125,8 +129,8 @@ exports.default = (0, util_1.createRule)({
loc: (0, getMemberHeadLoc_1.getMemberHeadLoc)(context.sourceCode, methodDefinition),
messageId: 'missingAccessibility',
data: {
type: nodeType,
name: methodName,
type: nodeType,
},
suggest: getMissingAccessibilitySuggestions(methodDefinition),
});
@@ -213,8 +217,8 @@ exports.default = (0, util_1.createRule)({
loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, publicKeywordRange.range),
messageId: 'unwantedPublicAccessibility',
data: {
type: nodeType,
name: propertyName,
type: nodeType,
},
fix: fixer => fixer.removeRange(publicKeywordRange.rangeToRemove),
});
@@ -225,8 +229,8 @@ exports.default = (0, util_1.createRule)({
loc: (0, getMemberHeadLoc_1.getMemberHeadLoc)(context.sourceCode, propertyDefinition),
messageId: 'missingAccessibility',
data: {
type: nodeType,
name: propertyName,
type: nodeType,
},
suggest: getMissingAccessibilitySuggestions(propertyDefinition),
});
@@ -254,8 +258,8 @@ exports.default = (0, util_1.createRule)({
loc: (0, getMemberHeadLoc_1.getParameterPropertyHeadLoc)(context.sourceCode, node, nodeName),
messageId: 'missingAccessibility',
data: {
type: nodeType,
name: nodeName,
type: nodeType,
},
suggest: getMissingAccessibilitySuggestions(node),
});
@@ -269,8 +273,8 @@ exports.default = (0, util_1.createRule)({
loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, publicKeyword.range),
messageId: 'unwantedPublicAccessibility',
data: {
type: nodeType,
name: nodeName,
type: nodeType,
},
fix: fixer => fixer.removeRange(publicKeyword.rangeToRemove),
});

File diff suppressed because one or more lines are too long

View File

@@ -12,47 +12,47 @@ exports.default = (0, util_1.createRule)({
description: "Require explicit return and argument types on exported functions' and classes' public class methods",
},
messages: {
missingReturnType: 'Missing return type on function.',
missingArgType: "Argument '{{name}}' should be typed.",
missingArgTypeUnnamed: '{{type}} argument should be typed.',
anyTypedArg: "Argument '{{name}}' should be typed with a non-any type.",
anyTypedArgUnnamed: '{{type}} argument should be typed with a non-any type.',
missingArgType: "Argument '{{name}}' should be typed.",
missingArgTypeUnnamed: '{{type}} argument should be typed.',
missingReturnType: 'Missing return type on function.',
},
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
allowArgumentsExplicitlyTypedAsAny: {
description: 'Whether to ignore arguments that are explicitly typed as `any`.',
type: 'boolean',
description: 'Whether to ignore arguments that are explicitly typed as `any`.',
},
allowDirectConstAssertionInArrowFunctions: {
type: 'boolean',
description: [
'Whether to ignore return type annotations on body-less arrow functions that return an `as const` type assertion.',
'You must still type the parameters of the function.',
].join('\n'),
type: 'boolean',
},
allowedNames: {
type: 'array',
description: 'An array of function/method names that will not have their arguments or return values checked.',
items: {
type: 'string',
},
type: 'array',
},
allowHigherOrderFunctions: {
type: 'boolean',
description: [
'Whether to ignore return type annotations on functions immediately returning another function expression.',
'You must still type the parameters of the function.',
].join('\n'),
type: 'boolean',
},
allowTypedFunctionExpressions: {
description: 'Whether to ignore type annotations on the variable of a function expression.',
type: 'boolean',
description: 'Whether to ignore type annotations on the variable of a function expression.',
},
},
additionalProperties: false,
},
],
},
@@ -94,6 +94,8 @@ exports.default = (0, util_1.createRule)({
any of them are part of a higher-order function
*/
return {
'ArrowFunctionExpression, FunctionDeclaration, FunctionExpression': enterFunction,
'ArrowFunctionExpression:exit': exitFunction,
'ExportDefaultDeclaration:exit'(node) {
checkNode(node.declaration);
},
@@ -107,11 +109,6 @@ exports.default = (0, util_1.createRule)({
}
}
},
'TSExportAssignment:exit'(node) {
checkNode(node.expression);
},
'ArrowFunctionExpression, FunctionDeclaration, FunctionExpression': enterFunction,
'ArrowFunctionExpression:exit': exitFunction,
'FunctionDeclaration:exit': exitFunction,
'FunctionExpression:exit': exitFunction,
'Program:exit'() {
@@ -125,6 +122,9 @@ exports.default = (0, util_1.createRule)({
const current = functionStack[functionStack.length - 1];
functionReturnsMap.get(current)?.push(node);
},
'TSExportAssignment:exit'(node) {
checkNode(node.expression);
},
};
function checkParameters(node) {
function checkParameter(param) {
@@ -243,9 +243,9 @@ exports.default = (0, util_1.createRule)({
for (const definition of variable.defs) {
// cases we don't care about in this rule
if ([
scope_manager_1.DefinitionType.CatchClause,
scope_manager_1.DefinitionType.ImplicitGlobalVariable,
scope_manager_1.DefinitionType.ImportBinding,
scope_manager_1.DefinitionType.CatchClause,
scope_manager_1.DefinitionType.Parameter,
].includes(definition.type)) {
continue;
@@ -342,8 +342,8 @@ exports.default = (0, util_1.createRule)({
}
(0, explicitReturnTypeUtils_1.checkFunctionExpressionReturnType)({ node, returns }, options, context.sourceCode, loc => {
context.report({
node,
loc,
node,
messageId: 'missingReturnType',
});
});
@@ -359,8 +359,8 @@ exports.default = (0, util_1.createRule)({
}
(0, explicitReturnTypeUtils_1.checkFunctionReturnType)({ node, returns }, options, context.sourceCode, loc => {
context.report({
node,
loc,
node,
messageId: 'missingReturnType',
});
});

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,6 @@
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const adjacent_overload_signatures_1 = __importDefault(require("./adjacent-overload-signatures"));
const array_type_1 = __importDefault(require("./array-type"));
const await_thenable_1 = __importDefault(require("./await-thenable"));
@@ -130,7 +129,7 @@ const typedef_1 = __importDefault(require("./typedef"));
const unbound_method_1 = __importDefault(require("./unbound-method"));
const unified_signatures_1 = __importDefault(require("./unified-signatures"));
const use_unknown_in_catch_callback_variable_1 = __importDefault(require("./use-unknown-in-catch-callback-variable"));
exports.default = {
const rules = {
'adjacent-overload-signatures': adjacent_overload_signatures_1.default,
'array-type': array_type_1.default,
'await-thenable': await_thenable_1.default,
@@ -259,4 +258,5 @@ exports.default = {
'unified-signatures': unified_signatures_1.default,
'use-unknown-in-catch-callback-variable': use_unknown_in_catch_callback_variable_1.default,
};
module.exports = rules;
//# sourceMappingURL=index.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}

View File

@@ -13,8 +13,8 @@ exports.default = (0, util_1.createRule)({
extendsBaseRule: true,
},
hasSuggestions: baseRule.meta.hasSuggestions,
schema: baseRule.meta.schema,
messages: baseRule.meta.messages,
schema: baseRule.meta.schema,
},
defaultOptions: ['always'],
create(context, [mode]) {

View File

@@ -1 +1 @@
{"version":3,"file":"init-declarations.js","sourceRoot":"","sources":["../../src/rules/init-declarations.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"init-declarations.js","sourceRoot":"","sources":["../../src/rules/init-declarations.ts"],"names":[],"mappings":"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"}

View File

@@ -12,31 +12,31 @@ exports.default = (0, util_1.createRule)({
description: 'Enforce a maximum number of parameters in function definitions',
extendsBaseRule: true,
},
messages: baseRule.meta.messages,
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
countVoidThis: {
type: 'boolean',
description: 'Whether to count a `this` declaration when the type is `void`.',
},
max: {
description: 'A maximum number of parameters in function definitions.',
type: 'integer',
description: 'A maximum number of parameters in function definitions.',
minimum: 0,
},
maximum: {
description: '(deprecated) A maximum number of parameters in function definitions.',
type: 'integer',
description: '(deprecated) A maximum number of parameters in function definitions.',
minimum: 0,
},
countVoidThis: {
description: 'Whether to count a `this` declaration when the type is `void`.',
type: 'boolean',
},
},
additionalProperties: false,
},
],
messages: baseRule.meta.messages,
},
defaultOptions: [{ max: 3, countVoidThis: false }],
defaultOptions: [{ countVoidThis: false, max: 3 }],
create(context, [{ countVoidThis }]) {
const baseRules = baseRule.create(context);
if (countVoidThis === true) {

View File

@@ -1 +1 @@
{"version":3,"file":"max-params.js","sourceRoot":"","sources":["../../src/rules/max-params.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAM1D,kCAAqC;AACrC,iEAA8D;AAS9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,YAAY,CAAC,CAAC;AAKjD,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,gEAAgE;YAClE,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,WAAW,EACT,yDAAyD;wBAC3D,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,CAAC;qBACX;oBACD,OAAO,EAAE;wBACP,WAAW,EACT,sEAAsE;wBACxE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,CAAC;qBACX;oBACD,aAAa,EAAE;wBACb,WAAW,EACT,gEAAgE;wBAClE,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;KACjC;IACD,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAElD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAyB,IAAO,EAAK,EAAE;YACjE,IACE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM;gBAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI;oBAChD,sBAAc,CAAC,aAAa,EAC9B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7B,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CACnB,QAAiC,EACR,EAAE;YAC3B,OAAO,CAAC,IAAO,EAAQ,EAAE;gBACvB,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,uBAAuB,EAAE,YAAY,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACxE,mBAAmB,EAAE,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAChE,kBAAkB,EAAE,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"max-params.js","sourceRoot":"","sources":["../../src/rules/max-params.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAS9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,YAAY,CAAC,CAAC;AAKjD,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,gEAAgE;YAClE,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,gEAAgE;qBACnE;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,yDAAyD;wBAC3D,OAAO,EAAE,CAAC;qBACX;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,sEAAsE;wBACxE,OAAO,EAAE,CAAC;qBACX;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAElD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAyB,IAAO,EAAK,EAAE;YACjE,IACE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM;gBAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI;oBAChD,sBAAc,CAAC,aAAa,EAC9B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7B,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CACnB,QAAiC,EACR,EAAE;YAC3B,OAAO,CAAC,IAAO,EAAQ,EAAE;gBACvB,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,uBAAuB,EAAE,YAAY,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACxE,mBAAmB,EAAE,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAChE,kBAAkB,EAAE,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}

View File

@@ -31,18 +31,18 @@ const arrayConfig = (memberTypes) => ({
});
const objectConfig = (memberTypes) => ({
type: 'object',
additionalProperties: false,
properties: {
memberTypes: {
oneOf: [arrayConfig(memberTypes), neverConfig],
},
order: {
$ref: '#/items/0/$defs/orderOptions',
},
optionalityOrder: {
$ref: '#/items/0/$defs/optionalityOrderOptions',
},
order: {
$ref: '#/items/0/$defs/orderOptions',
},
},
additionalProperties: false,
});
exports.defaultOrder = [
// Index signature
@@ -517,13 +517,22 @@ exports.default = (0, util_1.createRule)({
description: 'Require a consistent member declaration order',
},
messages: {
incorrectOrder: 'Member {{member}} should be declared before member {{beforeMember}}.',
incorrectGroupOrder: 'Member {{name}} should be declared before all {{rank}} definitions.',
incorrectOrder: 'Member {{member}} should be declared before member {{beforeMember}}.',
incorrectRequiredMembersOrder: `Member {{member}} should be declared after all {{optionalOrRequired}} members.`,
},
schema: [
{
type: 'object',
$defs: {
allItems: {
type: 'string',
enum: allMemberTypes,
},
optionalityOrderOptions: {
type: 'string',
enum: ['optional-first', 'required-first'],
},
orderOptions: {
type: 'string',
enum: [
@@ -534,14 +543,6 @@ exports.default = (0, util_1.createRule)({
'natural-case-insensitive',
],
},
optionalityOrderOptions: {
type: 'string',
enum: ['optional-first', 'required-first'],
},
allItems: {
type: 'string',
enum: allMemberTypes,
},
typeItems: {
type: 'string',
enum: [
@@ -553,6 +554,7 @@ exports.default = (0, util_1.createRule)({
'constructor',
],
},
// ajv is order-dependent; these configs must come last
baseConfig: {
oneOf: [
neverConfig,
@@ -568,17 +570,17 @@ exports.default = (0, util_1.createRule)({
],
},
},
type: 'object',
additionalProperties: false,
properties: {
default: {
$ref: '#/items/0/$defs/baseConfig',
},
classes: {
$ref: '#/items/0/$defs/baseConfig',
},
classExpressions: {
$ref: '#/items/0/$defs/baseConfig',
},
default: {
$ref: '#/items/0/$defs/baseConfig',
},
interfaces: {
$ref: '#/items/0/$defs/typesConfig',
},
@@ -586,7 +588,6 @@ exports.default = (0, util_1.createRule)({
$ref: '#/items/0/$defs/typesConfig',
},
},
additionalProperties: false,
},
],
},
@@ -664,8 +665,8 @@ exports.default = (0, util_1.createRule)({
node: member,
messageId: 'incorrectOrder',
data: {
member: name,
beforeMember: previousName,
member: name,
},
});
isCorrectlySorted = false;
@@ -702,8 +703,8 @@ exports.default = (0, util_1.createRule)({
function checkRequiredOrder(members, optionalityOrder) {
const switchIndex = members.findIndex((member, i) => i && isMemberOptional(member) !== isMemberOptional(members[i - 1]));
const report = (member) => context.report({
messageId: 'incorrectRequiredMembersOrder',
loc: member.loc,
messageId: 'incorrectRequiredMembersOrder',
data: {
member: getMemberName(member, context.sourceCode),
optionalOrRequired: optionalityOrder === 'required-first' ? 'required' : 'optional',
@@ -799,14 +800,14 @@ exports.default = (0, util_1.createRule)({
// https://github.com/typescript-eslint/typescript-eslint/issues/5439
/* eslint-disable @typescript-eslint/no-non-null-assertion */
return {
ClassDeclaration(node) {
validateMembersOrder(node.body.body, options.classes ?? options.default, true);
},
'ClassDeclaration, FunctionDeclaration'(node) {
if ('superClass' in node) {
// ...
}
},
ClassDeclaration(node) {
validateMembersOrder(node.body.body, options.classes ?? options.default, true);
},
ClassExpression(node) {
validateMembersOrder(node.body.body, options.classExpressions ?? options.default, true);
},

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -80,12 +80,12 @@ function validateUnderscores(name) {
return !wasUnderscore;
}
const PredefinedFormatToCheckFunction = {
[enums_1.PredefinedFormats.PascalCase]: isPascalCase,
[enums_1.PredefinedFormats.StrictPascalCase]: isStrictPascalCase,
[enums_1.PredefinedFormats.camelCase]: isCamelCase,
[enums_1.PredefinedFormats.strictCamelCase]: isStrictCamelCase,
[enums_1.PredefinedFormats.UPPER_CASE]: isUpperCase,
[enums_1.PredefinedFormats.PascalCase]: isPascalCase,
[enums_1.PredefinedFormats.snake_case]: isSnakeCase,
[enums_1.PredefinedFormats.strictCamelCase]: isStrictCamelCase,
[enums_1.PredefinedFormats.StrictPascalCase]: isStrictPascalCase,
[enums_1.PredefinedFormats.UPPER_CASE]: isUpperCase,
};
exports.PredefinedFormatToCheckFunction = PredefinedFormatToCheckFunction;
//# sourceMappingURL=format.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/format.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/format.ts"],"names":[],"mappings":"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"}

View File

@@ -1,12 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseOptions = exports.selectorTypeToMessageString = exports.SCHEMA = exports.Modifiers = void 0;
exports.selectorTypeToMessageString = exports.SCHEMA = exports.parseOptions = exports.Modifiers = void 0;
var enums_1 = require("./enums");
Object.defineProperty(exports, "Modifiers", { enumerable: true, get: function () { return enums_1.Modifiers; } });
var parse_options_1 = require("./parse-options");
Object.defineProperty(exports, "parseOptions", { enumerable: true, get: function () { return parse_options_1.parseOptions; } });
var schema_1 = require("./schema");
Object.defineProperty(exports, "SCHEMA", { enumerable: true, get: function () { return schema_1.SCHEMA; } });
var shared_1 = require("./shared");
Object.defineProperty(exports, "selectorTypeToMessageString", { enumerable: true, get: function () { return shared_1.selectorTypeToMessageString; } });
var parse_options_1 = require("./parse-options");
Object.defineProperty(exports, "parseOptions", { enumerable: true, get: function () { return parse_options_1.parseOptions; } });
//# sourceMappingURL=index.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/index.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAGlB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAuD;AAA9C,qHAAA,2BAA2B,OAAA;AACpC,iDAA+C;AAAtC,6GAAA,YAAY,OAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/index.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAuD;AAA9C,qHAAA,2BAA2B,OAAA"}

View File

@@ -19,34 +19,34 @@ function normalizeOption(option) {
}
const normalizedOption = {
// format options
format: option.format ? option.format.map(f => enums_1.PredefinedFormats[f]) : null,
custom: option.custom
? {
regex: new RegExp(option.custom.regex, 'u'),
match: option.custom.match,
regex: new RegExp(option.custom.regex, 'u'),
}
: null,
leadingUnderscore: option.leadingUnderscore !== undefined
? enums_1.UnderscoreOptions[option.leadingUnderscore]
: null,
trailingUnderscore: option.trailingUnderscore !== undefined
? enums_1.UnderscoreOptions[option.trailingUnderscore]
: null,
prefix: option.prefix && option.prefix.length > 0 ? option.prefix : null,
suffix: option.suffix && option.suffix.length > 0 ? option.suffix : null,
modifiers: option.modifiers?.map(m => enums_1.Modifiers[m]) ?? null,
types: option.types?.map(m => enums_1.TypeModifiers[m]) ?? null,
filter: option.filter !== undefined
? typeof option.filter === 'string'
? {
regex: new RegExp(option.filter, 'u'),
match: true,
regex: new RegExp(option.filter, 'u'),
}
: {
regex: new RegExp(option.filter.regex, 'u'),
match: option.filter.match,
regex: new RegExp(option.filter.regex, 'u'),
}
: null,
format: option.format ? option.format.map(f => enums_1.PredefinedFormats[f]) : null,
leadingUnderscore: option.leadingUnderscore !== undefined
? enums_1.UnderscoreOptions[option.leadingUnderscore]
: null,
modifiers: option.modifiers?.map(m => enums_1.Modifiers[m]) ?? null,
prefix: option.prefix && option.prefix.length > 0 ? option.prefix : null,
suffix: option.suffix && option.suffix.length > 0 ? option.suffix : null,
trailingUnderscore: option.trailingUnderscore !== undefined
? enums_1.UnderscoreOptions[option.trailingUnderscore]
: null,
types: option.types?.map(m => enums_1.TypeModifiers[m]) ?? null,
// calculated ordering weight based on modifiers
modifierWeight: weight,
};

View File

@@ -1 +1 @@
{"version":3,"file":"parse-options.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/parse-options.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"parse-options.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/parse-options.ts"],"names":[],"mappings":"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"}

View File

@@ -5,49 +5,49 @@ const util_1 = require("../../util");
const enums_1 = require("./enums");
const $DEFS = {
// enums
underscoreOptions: {
type: 'string',
enum: (0, util_1.getEnumNames)(enums_1.UnderscoreOptions),
},
predefinedFormats: {
type: 'string',
enum: (0, util_1.getEnumNames)(enums_1.PredefinedFormats),
type: 'string',
},
typeModifiers: {
type: 'string',
enum: (0, util_1.getEnumNames)(enums_1.TypeModifiers),
type: 'string',
},
underscoreOptions: {
enum: (0, util_1.getEnumNames)(enums_1.UnderscoreOptions),
type: 'string',
},
// repeated types
prefixSuffixConfig: {
type: 'array',
items: {
type: 'string',
minLength: 1,
},
additionalItems: false,
formatOptionsConfig: {
oneOf: [
{
additionalItems: false,
items: {
$ref: '#/$defs/predefinedFormats',
},
type: 'array',
},
{
type: 'null',
},
],
},
matchRegexConfig: {
type: 'object',
additionalProperties: false,
properties: {
match: { type: 'boolean' },
regex: { type: 'string' },
},
required: ['match', 'regex'],
type: 'object',
},
formatOptionsConfig: {
oneOf: [
{
type: 'array',
items: {
$ref: '#/$defs/predefinedFormats',
},
additionalItems: false,
},
{
type: 'null',
},
],
prefixSuffixConfig: {
additionalItems: false,
items: {
minLength: 1,
type: 'string',
},
type: 'array',
},
};
const UNDERSCORE_SCHEMA = {
@@ -60,112 +60,112 @@ const MATCH_REGEX_SCHEMA = {
$ref: '#/$defs/matchRegexConfig',
};
const FORMAT_OPTIONS_PROPERTIES = {
format: {
$ref: '#/$defs/formatOptionsConfig',
},
custom: MATCH_REGEX_SCHEMA,
leadingUnderscore: UNDERSCORE_SCHEMA,
trailingUnderscore: UNDERSCORE_SCHEMA,
prefix: PREFIX_SUFFIX_SCHEMA,
suffix: PREFIX_SUFFIX_SCHEMA,
failureMessage: {
type: 'string',
},
format: {
$ref: '#/$defs/formatOptionsConfig',
},
leadingUnderscore: UNDERSCORE_SCHEMA,
prefix: PREFIX_SUFFIX_SCHEMA,
suffix: PREFIX_SUFFIX_SCHEMA,
trailingUnderscore: UNDERSCORE_SCHEMA,
};
function selectorSchema(selectorString, allowType, modifiers) {
const selector = {
filter: {
oneOf: [
{
type: 'string',
minLength: 1,
type: 'string',
},
MATCH_REGEX_SCHEMA,
],
},
selector: {
type: 'string',
enum: [selectorString],
type: 'string',
},
};
if (modifiers && modifiers.length > 0) {
selector.modifiers = {
type: 'array',
items: {
type: 'string',
enum: modifiers,
},
additionalItems: false,
items: {
enum: modifiers,
type: 'string',
},
type: 'array',
};
}
if (allowType) {
selector.types = {
type: 'array',
additionalItems: false,
items: {
$ref: '#/$defs/typeModifiers',
},
additionalItems: false,
type: 'array',
};
}
return [
{
type: 'object',
additionalProperties: false,
description: `Selector '${selectorString}'`,
properties: {
...FORMAT_OPTIONS_PROPERTIES,
...selector,
},
required: ['selector', 'format'],
additionalProperties: false,
type: 'object',
},
];
}
function selectorsSchema() {
return {
type: 'object',
additionalProperties: false,
description: 'Multiple selectors in one config',
properties: {
...FORMAT_OPTIONS_PROPERTIES,
filter: {
oneOf: [
{
type: 'string',
minLength: 1,
type: 'string',
},
MATCH_REGEX_SCHEMA,
],
},
selector: {
type: 'array',
items: {
type: 'string',
enum: [...(0, util_1.getEnumNames)(enums_1.MetaSelectors), ...(0, util_1.getEnumNames)(enums_1.Selectors)],
},
additionalItems: false,
},
modifiers: {
type: 'array',
items: {
type: 'string',
enum: (0, util_1.getEnumNames)(enums_1.Modifiers),
},
additionalItems: false,
items: {
enum: (0, util_1.getEnumNames)(enums_1.Modifiers),
type: 'string',
},
type: 'array',
},
selector: {
additionalItems: false,
items: {
enum: [...(0, util_1.getEnumNames)(enums_1.MetaSelectors), ...(0, util_1.getEnumNames)(enums_1.Selectors)],
type: 'string',
},
type: 'array',
},
types: {
type: 'array',
additionalItems: false,
items: {
$ref: '#/$defs/typeModifiers',
},
additionalItems: false,
type: 'array',
},
},
required: ['selector', 'format'],
additionalProperties: false,
type: 'object',
};
}
const SCHEMA = {
$defs: $DEFS,
type: 'array',
additionalItems: false,
items: {
oneOf: [
selectorsSchema(),
@@ -301,7 +301,7 @@ const SCHEMA = {
...selectorSchema('import', false, ['default', 'namespace']),
],
},
additionalItems: false,
type: 'array',
};
exports.SCHEMA = SCHEMA;
//# sourceMappingURL=schema.js.map

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.selectorTypeToMessageString = selectorTypeToMessageString;
exports.isMetaSelector = isMetaSelector;
exports.isMethodOrPropertySelector = isMethodOrPropertySelector;
exports.selectorTypeToMessageString = selectorTypeToMessageString;
const enums_1 = require("./enums");
function selectorTypeToMessageString(selectorType) {
const notCamelCase = selectorType.replaceAll(/([A-Z])/g, ' $1');

View File

@@ -1 +1 @@
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/shared.ts"],"names":[],"mappings":";;AA4BE,kEAA2B;AAC3B,wCAAc;AACd,gEAA0B;AAxB5B,mCAAwC;AAExC,SAAS,2BAA2B,CAAC,YAA6B;IAChE,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CACrB,QAAsE;IAEtE,OAAO,QAAQ,IAAI,qBAAa,CAAC;AACnC,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAsE;IAEtE,OAAO,CACL,QAAQ,KAAK,qBAAa,CAAC,MAAM,IAAI,QAAQ,KAAK,qBAAa,CAAC,QAAQ,CACzE,CAAC;AACJ,CAAC"}
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/shared.ts"],"names":[],"mappings":";;AA6BE,wCAAc;AACd,gEAA0B;AAC1B,kEAA2B;AAxB7B,mCAAwC;AAExC,SAAS,2BAA2B,CAAC,YAA6B;IAChE,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CACrB,QAAsE;IAEtE,OAAO,QAAQ,IAAI,qBAAa,CAAC;AACnC,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAsE;IAEtE,OAAO,CACL,QAAQ,KAAK,qBAAa,CAAC,MAAM,IAAI,QAAQ,KAAK,qBAAa,CAAC,QAAQ,CACzE,CAAC;AACJ,CAAC"}

View File

@@ -95,21 +95,21 @@ function createValidator(type, context, allConfigs) {
}
};
// centralizes the logic for formatting the report data
function formatReportData({ affixes, formats, originalName, processedName, position, custom, count, }) {
function formatReportData({ affixes, count, custom, formats, originalName, position, processedName, }) {
return {
type: (0, shared_1.selectorTypeToMessageString)(type),
name: originalName,
processedName,
position,
count,
affixes: affixes?.join(', '),
count,
formats: formats?.map(f => enums_1.PredefinedFormats[f]).join(', '),
name: originalName,
position,
processedName,
regex: custom?.regex.toString(),
regexMatch: custom?.match === true
? 'match'
: custom?.match === false
? 'not match'
: null,
type: (0, shared_1.selectorTypeToMessageString)(type),
};
}
/**
@@ -161,13 +161,13 @@ function createValidator(type, context, allConfigs) {
case enums_1.UnderscoreOptions.forbid: {
if (hasSingleUnderscore()) {
context.report({
node,
messageId: 'unexpectedUnderscore',
data: formatReportData({
count: 'one',
originalName,
position,
count: 'one',
}),
messageId: 'unexpectedUnderscore',
node,
});
return null;
}
@@ -177,13 +177,13 @@ function createValidator(type, context, allConfigs) {
case enums_1.UnderscoreOptions.require: {
if (!hasSingleUnderscore()) {
context.report({
node,
messageId: 'missingUnderscore',
data: formatReportData({
count: 'one',
originalName,
position,
count: 'one',
}),
messageId: 'missingUnderscore',
node,
});
return null;
}
@@ -192,13 +192,13 @@ function createValidator(type, context, allConfigs) {
case enums_1.UnderscoreOptions.requireDouble: {
if (!hasDoubleUnderscore()) {
context.report({
node,
messageId: 'missingUnderscore',
data: formatReportData({
count: 'two',
originalName,
position,
count: 'two',
}),
messageId: 'missingUnderscore',
node,
});
return null;
}
@@ -225,13 +225,13 @@ function createValidator(type, context, allConfigs) {
}
}
context.report({
node,
messageId: 'missingAffix',
data: formatReportData({
affixes,
originalName,
position,
affixes,
}),
messageId: 'missingAffix',
node,
});
return null;
}
@@ -251,12 +251,12 @@ function createValidator(type, context, allConfigs) {
return true;
}
context.report({
node,
messageId: 'satisfyCustom',
data: formatReportData({
originalName,
custom,
originalName,
}),
messageId: 'satisfyCustom',
node,
});
return false;
}
@@ -277,15 +277,15 @@ function createValidator(type, context, allConfigs) {
}
}
context.report({
node,
data: formatReportData({
formats,
originalName,
processedName: name,
}),
messageId: originalName === name
? 'doesNotMatchFormat'
: 'doesNotMatchFormatTrimmed',
data: formatReportData({
originalName,
processedName: name,
formats,
}),
node,
});
return false;
}

File diff suppressed because one or more lines are too long

View File

@@ -10,42 +10,42 @@ const naming_convention_utils_1 = require("./naming-convention-utils");
// note that that rule ignores leading and trailing underscores and only checks those in the middle of a variable name
const defaultCamelCaseAllTheThingsConfig = [
{
selector: 'default',
format: ['camelCase'],
leadingUnderscore: 'allow',
selector: 'default',
trailingUnderscore: 'allow',
},
{
selector: 'import',
format: ['camelCase', 'PascalCase'],
selector: 'import',
},
{
selector: 'variable',
format: ['camelCase', 'UPPER_CASE'],
leadingUnderscore: 'allow',
selector: 'variable',
trailingUnderscore: 'allow',
},
{
selector: 'typeLike',
format: ['PascalCase'],
selector: 'typeLike',
},
];
exports.default = (0, util_1.createRule)({
name: 'naming-convention',
meta: {
type: 'suggestion',
docs: {
description: 'Enforce naming conventions for everything across a codebase',
// technically only requires type checking if the user uses "type" modifiers
requiresTypeChecking: true,
},
type: 'suggestion',
messages: {
unexpectedUnderscore: '{{type}} name `{{name}}` must not have a {{position}} underscore.',
missingUnderscore: '{{type}} name `{{name}}` must have {{count}} {{position}} underscore(s).',
missingAffix: '{{type}} name `{{name}}` must have one of the following {{position}}es: {{affixes}}',
satisfyCustom: '{{type}} name `{{name}}` must {{regexMatch}} the RegExp: {{regex}}',
doesNotMatchFormat: '{{type}} name `{{name}}` must match one of the following formats: {{formats}}',
doesNotMatchFormatTrimmed: '{{type}} name `{{name}}` trimmed as `{{processedName}}` must match one of the following formats: {{formats}}',
missingAffix: '{{type}} name `{{name}}` must have one of the following {{position}}es: {{affixes}}',
missingUnderscore: '{{type}} name `{{name}}` must have {{count}} {{position}} underscore(s).',
satisfyCustom: '{{type}} name `{{name}}` must {{regexMatch}} the RegExp: {{regex}}',
unexpectedUnderscore: '{{type}} name `{{name}}` must not have a {{position}} underscore.',
},
schema: naming_convention_utils_1.SCHEMA,
},
@@ -135,8 +135,33 @@ exports.default = (0, util_1.createRule)({
}
const selectors = {
// #region import
'FunctionDeclaration, TSDeclareFunction, FunctionExpression': {
handler: (node, validator) => {
if (node.id == null) {
return;
}
const modifiers = new Set();
// functions create their own nested scope
const scope = context.sourceCode.getScope(node).upper;
if (isGlobal(scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.global);
}
if (isExported(node, node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.exported);
}
if (isUnused(node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.unused);
}
if (node.async) {
modifiers.add(naming_convention_utils_1.Modifiers.async);
}
validator(node.id, modifiers);
},
validator: validators.function,
},
// #endregion
// #region variable
'ImportDefaultSpecifier, ImportNamespaceSpecifier, ImportSpecifier': {
validator: validators.import,
handler: (node, validator) => {
const modifiers = new Set();
switch (node.type) {
@@ -148,7 +173,8 @@ exports.default = (0, util_1.createRule)({
break;
case utils_1.AST_NODE_TYPES.ImportSpecifier:
// Handle `import { default as Foo }`
if (node.imported.name !== 'default') {
if (node.imported.type === utils_1.AST_NODE_TYPES.Identifier &&
node.imported.name !== 'default') {
return;
}
modifiers.add(naming_convention_utils_1.Modifiers.default);
@@ -156,11 +182,11 @@ exports.default = (0, util_1.createRule)({
}
validator(node.local, modifiers);
},
validator: validators.import,
},
// #endregion
// #region variable
// #region function
VariableDeclarator: {
validator: validators.variable,
handler: (node, validator) => {
const identifiers = getIdentifiersFromPattern(node.id);
const baseModifiers = new Set();
@@ -189,37 +215,90 @@ exports.default = (0, util_1.createRule)({
validator(id, modifiers);
});
},
},
// #endregion
// #region function
'FunctionDeclaration, TSDeclareFunction, FunctionExpression': {
validator: validators.function,
handler: (node, validator) => {
if (node.id == null) {
return;
}
const modifiers = new Set();
// functions create their own nested scope
const scope = context.sourceCode.getScope(node).upper;
if (isGlobal(scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.global);
}
if (isExported(node, node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.exported);
}
if (isUnused(node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.unused);
}
if (node.async) {
modifiers.add(naming_convention_utils_1.Modifiers.async);
}
validator(node.id, modifiers);
},
validator: validators.variable,
},
// #endregion function
// #region parameter
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]': {
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
handleMember(validator, node, modifiers);
},
validator: validators.classProperty,
},
// #endregion parameter
// #region parameterProperty
':not(ObjectPattern) > Property[computed = false][kind = "init"][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]': {
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
handleMember(validator, node, modifiers);
},
validator: validators.objectLiteralProperty,
},
// #endregion parameterProperty
// #region property
[[
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "ArrowFunctionExpression"]',
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "FunctionExpression"]',
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "TSEmptyBodyFunctionExpression"]',
':matches(MethodDefinition, TSAbstractMethodDefinition)[computed = false][kind = "method"]',
].join(', ')]: {
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
if (isAsyncMemberOrProperty(node)) {
modifiers.add(naming_convention_utils_1.Modifiers.async);
}
handleMember(validator, node, modifiers);
},
validator: validators.classMethod,
},
[[
'MethodDefinition[computed = false]:matches([kind = "get"], [kind = "set"])',
'TSAbstractMethodDefinition[computed = false]:matches([kind="get"], [kind="set"])',
].join(', ')]: {
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
handleMember(validator, node, modifiers);
},
validator: validators.classicAccessor,
},
[[
'Property[computed = false][kind = "init"][value.type = "ArrowFunctionExpression"]',
'Property[computed = false][kind = "init"][value.type = "FunctionExpression"]',
'Property[computed = false][kind = "init"][value.type = "TSEmptyBodyFunctionExpression"]',
].join(', ')]: {
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
if (isAsyncMemberOrProperty(node)) {
modifiers.add(naming_convention_utils_1.Modifiers.async);
}
handleMember(validator, node, modifiers);
},
validator: validators.objectLiteralMethod,
},
// #endregion property
// #region method
[[
'TSMethodSignature[computed = false]',
'TSPropertySignature[computed = false][typeAnnotation.typeAnnotation.type = "TSFunctionType"]',
].join(', ')]: {
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
handleMember(validator, node, modifiers);
},
validator: validators.typeMethod,
},
[[
utils_1.AST_NODE_TYPES.AccessorProperty,
utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty,
].join(', ')]: {
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
handleMember(validator, node, modifiers);
},
validator: validators.autoAccessor,
},
'FunctionDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, FunctionExpression, ArrowFunctionExpression': {
validator: validators.parameter,
handler: (node, validator) => {
node.params.forEach(param => {
if (param.type === utils_1.AST_NODE_TYPES.TSParameterProperty) {
@@ -238,11 +317,18 @@ exports.default = (0, util_1.createRule)({
});
});
},
validator: validators.parameter,
},
// #endregion method
// #region accessor
'Property[computed = false]:matches([kind = "get"], [kind = "set"])': {
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
handleMember(validator, node, modifiers);
},
validator: validators.classicAccessor,
},
// #endregion parameter
// #region parameterProperty
TSParameterProperty: {
validator: validators.parameterProperty,
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
const identifiers = getIdentifiersFromPattern(node.parameter);
@@ -250,25 +336,11 @@ exports.default = (0, util_1.createRule)({
validator(i, modifiers);
});
},
validator: validators.parameterProperty,
},
// #endregion parameterProperty
// #region property
':not(ObjectPattern) > Property[computed = false][kind = "init"][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]': {
validator: validators.objectLiteralProperty,
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
handleMember(validator, node, modifiers);
},
},
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]': {
validator: validators.classProperty,
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
handleMember(validator, node, modifiers);
},
},
// #endregion accessor
// #region autoAccessor
'TSPropertySignature[computed = false][typeAnnotation.typeAnnotation.type != "TSFunctionType"]': {
validator: validators.typeProperty,
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
if (node.readonly) {
@@ -276,97 +348,12 @@ exports.default = (0, util_1.createRule)({
}
handleMember(validator, node, modifiers);
},
},
// #endregion property
// #region method
[[
'Property[computed = false][kind = "init"][value.type = "ArrowFunctionExpression"]',
'Property[computed = false][kind = "init"][value.type = "FunctionExpression"]',
'Property[computed = false][kind = "init"][value.type = "TSEmptyBodyFunctionExpression"]',
].join(', ')]: {
validator: validators.objectLiteralMethod,
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
if (isAsyncMemberOrProperty(node)) {
modifiers.add(naming_convention_utils_1.Modifiers.async);
}
handleMember(validator, node, modifiers);
},
},
[[
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "ArrowFunctionExpression"]',
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "FunctionExpression"]',
':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "TSEmptyBodyFunctionExpression"]',
':matches(MethodDefinition, TSAbstractMethodDefinition)[computed = false][kind = "method"]',
].join(', ')]: {
validator: validators.classMethod,
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
if (isAsyncMemberOrProperty(node)) {
modifiers.add(naming_convention_utils_1.Modifiers.async);
}
handleMember(validator, node, modifiers);
},
},
[[
'TSMethodSignature[computed = false]',
'TSPropertySignature[computed = false][typeAnnotation.typeAnnotation.type = "TSFunctionType"]',
].join(', ')]: {
validator: validators.typeMethod,
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
handleMember(validator, node, modifiers);
},
},
// #endregion method
// #region accessor
'Property[computed = false]:matches([kind = "get"], [kind = "set"])': {
validator: validators.classicAccessor,
handler: (node, validator) => {
const modifiers = new Set([naming_convention_utils_1.Modifiers.public]);
handleMember(validator, node, modifiers);
},
},
[[
'MethodDefinition[computed = false]:matches([kind = "get"], [kind = "set"])',
'TSAbstractMethodDefinition[computed = false]:matches([kind="get"], [kind="set"])',
].join(', ')]: {
validator: validators.classicAccessor,
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
handleMember(validator, node, modifiers);
},
},
// #endregion accessor
// #region autoAccessor
[[
utils_1.AST_NODE_TYPES.AccessorProperty,
utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty,
].join(', ')]: {
validator: validators.autoAccessor,
handler: (node, validator) => {
const modifiers = getMemberModifiers(node);
handleMember(validator, node, modifiers);
},
validator: validators.typeProperty,
},
// #endregion autoAccessor
// #region enumMember
// computed is optional, so can't do [computed = false]
'TSEnumMember[computed != true]': {
validator: validators.enumMember,
handler: (node, validator) => {
const id = node.id;
const modifiers = new Set();
if (requiresQuoting(id, compilerOptions.target)) {
modifiers.add(naming_convention_utils_1.Modifiers.requiresQuotes);
}
validator(id, modifiers);
},
},
// #endregion enumMember
// #region class
'ClassDeclaration, ClassExpression': {
validator: validators.class,
handler: (node, validator) => {
const id = node.id;
if (id == null) {
@@ -386,43 +373,11 @@ exports.default = (0, util_1.createRule)({
}
validator(id, modifiers);
},
validator: validators.class,
},
// #endregion class
// #region interface
TSInterfaceDeclaration: {
validator: validators.interface,
handler: (node, validator) => {
const modifiers = new Set();
const scope = context.sourceCode.getScope(node);
if (isExported(node, node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.exported);
}
if (isUnused(node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.unused);
}
validator(node.id, modifiers);
},
},
// #endregion interface
// #region typeAlias
TSTypeAliasDeclaration: {
validator: validators.typeAlias,
handler: (node, validator) => {
const modifiers = new Set();
const scope = context.sourceCode.getScope(node);
if (isExported(node, node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.exported);
}
if (isUnused(node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.unused);
}
validator(node.id, modifiers);
},
},
// #endregion typeAlias
// #region enum
// #endregion enumMember
// #region class
TSEnumDeclaration: {
validator: validators.enum,
handler: (node, validator) => {
const modifiers = new Set();
// enums create their own nested scope
@@ -435,11 +390,56 @@ exports.default = (0, util_1.createRule)({
}
validator(node.id, modifiers);
},
validator: validators.enum,
},
// #endregion class
// #region interface
'TSEnumMember[computed != true]': {
handler: (node, validator) => {
const id = node.id;
const modifiers = new Set();
if (requiresQuoting(id, compilerOptions.target)) {
modifiers.add(naming_convention_utils_1.Modifiers.requiresQuotes);
}
validator(id, modifiers);
},
validator: validators.enumMember,
},
// #endregion interface
// #region typeAlias
TSInterfaceDeclaration: {
handler: (node, validator) => {
const modifiers = new Set();
const scope = context.sourceCode.getScope(node);
if (isExported(node, node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.exported);
}
if (isUnused(node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.unused);
}
validator(node.id, modifiers);
},
validator: validators.interface,
},
// #endregion typeAlias
// #region enum
TSTypeAliasDeclaration: {
handler: (node, validator) => {
const modifiers = new Set();
const scope = context.sourceCode.getScope(node);
if (isExported(node, node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.exported);
}
if (isUnused(node.id.name, scope)) {
modifiers.add(naming_convention_utils_1.Modifiers.unused);
}
validator(node.id, modifiers);
},
validator: validators.typeAlias,
},
// #endregion enum
// #region typeParameter
'TSTypeParameterDeclaration > TSTypeParameter': {
validator: validators.typeParameter,
handler: (node, validator) => {
const modifiers = new Set();
const scope = context.sourceCode.getScope(node);
@@ -448,10 +448,11 @@ exports.default = (0, util_1.createRule)({
}
validator(node.name, modifiers);
},
validator: validators.typeParameter,
},
// #endregion typeParameter
};
return Object.fromEntries(Object.entries(selectors).map(([selector, { validator, handler }]) => {
return Object.fromEntries(Object.entries(selectors).map(([selector, { handler, validator }]) => {
return [
selector,
(node) => {

File diff suppressed because one or more lines are too long

View File

@@ -8,8 +8,8 @@ exports.default = (0, util_1.createRule)({
type: 'suggestion',
docs: {
description: 'Disallow generic `Array` constructors',
recommended: 'recommended',
extendsBaseRule: true,
recommended: 'recommended',
},
fixable: 'code',
messages: {

View File

@@ -1 +1 @@
{"version":3,"file":"no-array-constructor.js","sourceRoot":"","sources":["../../src/rules/no-array-constructor.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAE1D,kCAA+D;AAE/D,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,WAAW,EAAE,aAAa;YAC1B,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,UAAU,EAAE,8CAA8C;SAC3D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;WAGG;QACH,SAAS,KAAK,CACZ,IAAsD;YAEtD,IACE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBAC5B,CAAC,IAAI,CAAC,aAAa;gBACnB,CAAC,IAAA,+BAAwB,EAAC,IAAI,CAAC,EAC/B,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,YAAY;oBACvB,GAAG,CAAC,KAAK;wBACP,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAChC,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACvC,CAAC;wBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAE5D,OAAO,KAAK,CAAC,WAAW,CACtB,IAAI,EACJ,IAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC9C,CAAC;oBACJ,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"no-array-constructor.js","sourceRoot":"","sources":["../../src/rules/no-array-constructor.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAA+D;AAE/D,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,UAAU,EAAE,8CAA8C;SAC3D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;WAGG;QACH,SAAS,KAAK,CACZ,IAAsD;YAEtD,IACE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBAC5B,CAAC,IAAI,CAAC,aAAa;gBACnB,CAAC,IAAA,+BAAwB,EAAC,IAAI,CAAC,EAC/B,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,YAAY;oBACvB,GAAG,CAAC,KAAK;wBACP,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAChC,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACvC,CAAC;wBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAE5D,OAAO,KAAK,CAAC,WAAW,CACtB,IAAI,EACJ,IAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC9C,CAAC;oBACJ,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}

View File

@@ -5,13 +5,13 @@ const util_1 = require("../util");
exports.default = (0, util_1.createRule)({
name: 'no-array-delete',
meta: {
hasSuggestions: true,
type: 'problem',
docs: {
description: 'Disallow using the `delete` operator on array values',
recommended: 'recommended',
requiresTypeChecking: true,
},
hasSuggestions: true,
messages: {
noArrayDelete: 'Using the `delete` operator with an array expression is unsafe.',
useSplice: 'Use `array.splice()` instead.',

View File

@@ -1 +1 @@
{"version":3,"file":"no-array-delete.js","sourceRoot":"","sources":["../../src/rules/no-array-delete.ts"],"names":[],"mappings":";;AACA,oDAA2E;AAG3E,kCAIiB;AAIjB,kBAAe,IAAA,iBAAU,EAAgB;IACvC,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,sDAAsD;YACnE,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,aAAa,EACX,iEAAiE;YACnE,SAAS,EAAE,+BAA+B;SAC3C;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD,SAAS,qBAAqB,CAAC,IAAa;YAC1C,MAAM,SAAS,GAAG,CAAC,CAAU,EAAW,EAAE,CACxC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAEnD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,OAAO;YACL,oCAAoC,CAClC,IAA8B;gBAE9B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBAE1B,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;oBACtD,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,IAAA,mCAA4B,EAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAErE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,WAAW;4BACtB,GAAG,CAAC,KAAK;gCACP,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;gCAEtC,MAAM,qBAAqB,GACzB,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,CAAC;gCAEtD,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,CAAC;gCAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;gCAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gCAC/C,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gCAE3D,IAAI,UAAU,GAAG,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC;gCAE/C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gCAE5D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;oCAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oCAEjD,MAAM,YAAY,GAAG,QAAQ;yCAC1B,GAAG,CAAC,OAAO,CAAC,EAAE;wCACb,OAAO,OAAO,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI;4CAC1C,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE;4CACtB,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC;oCAC7B,CAAC,CAAC;yCACD,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;oCAE5B,UAAU,GAAG,GAAG,YAAY,KAAK,WAAW,GAAG,UAAU,EAAE,CAAC;gCAC9D,CAAC;gCAED,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;4BAC7C,CAAC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"no-array-delete.js","sourceRoot":"","sources":["../../src/rules/no-array-delete.ts"],"names":[],"mappings":"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"}

View File

@@ -35,8 +35,9 @@ var Usefulness;
exports.default = (0, util_1.createRule)({
name: 'no-base-to-string',
meta: {
type: 'suggestion',
docs: {
description: 'Require `.toString()` to only be called on objects which provide useful information when stringified',
description: 'Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified',
recommended: 'recommended',
requiresTypeChecking: true,
},
@@ -46,19 +47,18 @@ exports.default = (0, util_1.createRule)({
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
ignoredTypeNames: {
description: 'Stringified regular expressions of type names to ignore.',
type: 'array',
description: 'Stringified regular expressions of type names to ignore.',
items: {
type: 'string',
},
},
},
additionalProperties: false,
},
],
type: 'suggestion',
},
defaultOptions: [
{
@@ -78,16 +78,17 @@ exports.default = (0, util_1.createRule)({
return;
}
context.report({
data: {
certainty,
name: context.sourceCode.getText(node),
},
messageId: 'baseToString',
node,
messageId: 'baseToString',
data: {
name: context.sourceCode.getText(node),
certainty,
},
});
}
function collectToStringCertainty(type) {
const toString = checker.getPropertyOfType(type, 'toString');
const toString = checker.getPropertyOfType(type, 'toString') ??
checker.getPropertyOfType(type, 'toLocaleString');
const declarations = toString?.getDeclarations();
if (!toString || !declarations || declarations.length === 0) {
return Usefulness.Always;
@@ -146,7 +147,7 @@ exports.default = (0, util_1.createRule)({
checkExpression(node.left, leftType);
}
},
'CallExpression > MemberExpression.callee > Identifier[name = "toString"].property'(node) {
'CallExpression > MemberExpression.callee > Identifier[name = /^(toLocaleString|toString)$/].property'(node) {
const memberExpr = node.parent;
checkExpression(memberExpr.object);
},

View File

@@ -1 +1 @@
{"version":3,"file":"no-base-to-string.js","sourceRoot":"","sources":["../../src/rules/no-base-to-string.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"no-base-to-string.js","sourceRoot":"","sources":["../../src/rules/no-base-to-string.ts"],"names":[],"mappings":"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"}

View File

@@ -22,11 +22,11 @@ exports.default = (0, util_1.createRule)({
},
hasSuggestions: true,
messages: {
confusingEqual: 'Confusing combination of non-null assertion and equality test like `a! == b`, which looks very similar to `a !== b`.',
confusingAssign: 'Confusing combination of non-null assertion and assignment like `a! = b`, which looks very similar to `a != b`.',
confusingEqual: 'Confusing combination of non-null assertion and equality test like `a! == b`, which looks very similar to `a !== b`.',
confusingOperator: 'Confusing combination of non-null assertion and `{{operator}}` operator like `a! {{operator}} b`, which might be misinterpreted as `!(a {{operator}} b)`.',
notNeedInEqualTest: 'Remove unnecessary non-null assertion (!) in equality test.',
notNeedInAssign: 'Remove unnecessary non-null assertion (!) in assignment left-hand side.',
notNeedInEqualTest: 'Remove unnecessary non-null assertion (!) in equality test.',
notNeedInOperator: 'Remove possibly unnecessary non-null assertion (!) in the left operand of the `{{operator}}` operator.',
wrapUpLeft: 'Wrap the left-hand side in parentheses to avoid confusion with "{{operator}}" operator.',
},

View File

@@ -1 +1 @@
{"version":3,"file":"no-confusing-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-confusing-non-null-assertion.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"no-confusing-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-confusing-non-null-assertion.ts"],"names":[],"mappings":"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"}

View File

@@ -30,17 +30,17 @@ const util_1 = require("../util");
exports.default = (0, util_1.createRule)({
name: 'no-confusing-void-expression',
meta: {
type: 'problem',
docs: {
description: 'Require expressions of type void to appear in statement position',
recommended: 'strict',
requiresTypeChecking: true,
},
fixable: 'code',
hasSuggestions: true,
messages: {
invalidVoidExpr: 'Placing a void expression inside another expression is forbidden. ' +
'Move it to its own statement instead.',
invalidVoidExprWrapVoid: 'Void expressions used inside another expression ' +
'must be moved to its own statement ' +
'or marked explicitly with the `void` operator.',
invalidVoidExprArrow: 'Returning a void expression from an arrow function shorthand is forbidden. ' +
'Please add braces to the arrow function.',
invalidVoidExprArrowWrapVoid: 'Void expressions returned from an arrow function shorthand ' +
@@ -51,27 +51,27 @@ exports.default = (0, util_1.createRule)({
'Please remove the `return` statement.',
invalidVoidExprReturnWrapVoid: 'Void expressions returned from a function ' +
'must be marked explicitly with the `void` operator.',
invalidVoidExprWrapVoid: 'Void expressions used inside another expression ' +
'must be moved to its own statement ' +
'or marked explicitly with the `void` operator.',
voidExprWrapVoid: 'Mark with an explicit `void` operator.',
},
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
ignoreArrowShorthand: {
description: 'Whether to ignore "shorthand" `() =>` arrow functions: those without `{ ... }` braces.',
type: 'boolean',
description: 'Whether to ignore "shorthand" `() =>` arrow functions: those without `{ ... }` braces.',
},
ignoreVoidOperator: {
description: 'Whether to ignore returns that start with the `void` operator.',
type: 'boolean',
description: 'Whether to ignore returns that start with the `void` operator.',
},
},
additionalProperties: false,
},
],
type: 'problem',
fixable: 'code',
hasSuggestions: true,
},
defaultOptions: [{ ignoreArrowShorthand: false, ignoreVoidOperator: false }],
create(context, [options]) {
@@ -253,9 +253,9 @@ exports.default = (0, util_1.createRule)({
// the block's parent must be a function
const blockParent = (0, util_1.nullThrows)(block.parent, util_1.NullThrowsReasons.MissingParent);
if (![
utils_1.AST_NODE_TYPES.ArrowFunctionExpression,
utils_1.AST_NODE_TYPES.FunctionDeclaration,
utils_1.AST_NODE_TYPES.FunctionExpression,
utils_1.AST_NODE_TYPES.ArrowFunctionExpression,
].includes(blockParent.type)) {
// e.g. `if (cond) { return; }`
// not in a top-level function block

File diff suppressed because one or more lines are too long

View File

@@ -30,6 +30,7 @@ const util_1 = require("../util");
exports.default = (0, util_1.createRule)({
name: 'no-deprecated',
meta: {
type: 'problem',
docs: {
description: 'Disallow using code marked as `@deprecated`',
recommended: 'strict',
@@ -40,7 +41,6 @@ exports.default = (0, util_1.createRule)({
deprecatedWithReason: `\`{{name}}\` is deprecated. {{reason}}`,
},
schema: [],
type: 'problem',
},
defaultOptions: [],
create(context) {
@@ -255,12 +255,12 @@ exports.default = (0, util_1.createRule)({
context.report({
...(reason
? {
data: { name: node.name, reason },
messageId: 'deprecatedWithReason',
data: { name: node.name, reason },
}
: {
data: { name: node.name },
messageId: 'deprecated',
data: { name: node.name },
}),
node,
});

File diff suppressed because one or more lines are too long

View File

@@ -13,8 +13,8 @@ exports.default = (0, util_1.createRule)({
extendsBaseRule: true,
},
hasSuggestions: baseRule.meta.hasSuggestions,
schema: baseRule.meta.schema,
messages: baseRule.meta.messages,
schema: baseRule.meta.schema,
},
defaultOptions: [],
create(context) {

View File

@@ -1 +1 @@
{"version":3,"file":"no-dupe-class-members.js","sourceRoot":"","sources":["../../src/rules/no-dupe-class-members.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAM1D,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,uBAAuB,CAAC,CAAC;AAK5D,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,kCAAkC;YAC/C,eAAe,EAAE,IAAI;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;KACjC;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,SAAS,4BAA4B,CAEnC,YAA+B;YAC/B,OAAO,CAAC,IAAO,EAAQ,EAAE;gBACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,6BAA6B,EAChE,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,KAAK;YACR,sCAAsC,EAAE,4BAA4B,CAClE,KAAK,CAAC,sCAAsC,CAAC,CAC9C;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"no-dupe-class-members.js","sourceRoot":"","sources":["../../src/rules/no-dupe-class-members.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,uBAAuB,CAAC,CAAC;AAK5D,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,kCAAkC;YAC/C,eAAe,EAAE,IAAI;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,SAAS,4BAA4B,CAEnC,YAA+B;YAC/B,OAAO,CAAC,IAAO,EAAQ,EAAE;gBACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,6BAA6B,EAChE,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,KAAK;YACR,sCAAsC,EAAE,4BAA4B,CAClE,KAAK,CAAC,sCAAsC,CAAC,CAC9C;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}

View File

@@ -1 +1 @@
{"version":3,"file":"no-duplicate-enum-values.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-enum-values.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACR,cAAc,EAAE,wCAAwC;SACzD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,eAAe,CACtB,IAAyB;YAEzB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CACvE,CAAC;QACJ,CAAC;QAED,SAAS,eAAe,CACtB,IAAyB;YAEzB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CACvE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,IAAgC;gBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;gBAE9C,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC3B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBACrC,OAAO;oBACT,CAAC;oBAED,IAAI,KAAkC,CAAC;oBACvC,IAAI,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;yBAAM,IAAI,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/C,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;oBAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO;oBACT,CAAC;oBAED,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,MAAM;4BACZ,SAAS,EAAE,gBAAgB;4BAC3B,IAAI,EAAE;gCACJ,KAAK;6BACN;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"no-duplicate-enum-values.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-enum-values.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACR,cAAc,EAAE,wCAAwC;SACzD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,eAAe,CACtB,IAAyB;YAEzB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CACvE,CAAC;QACJ,CAAC;QAED,SAAS,eAAe,CACtB,IAAyB;YAEzB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CACvE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,IAAgC;gBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;gBAE9C,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC3B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBACrC,OAAO;oBACT,CAAC;oBAED,IAAI,KAAkC,CAAC;oBACvC,IAAI,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;yBAAM,IAAI,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/C,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;oBAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO;oBACT,CAAC;oBAED,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,MAAM;4BACZ,SAAS,EAAE,gBAAgB;4BAC3B,IAAI,EAAE;gCACJ,KAAK;6BACN;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}

View File

@@ -27,7 +27,7 @@ const utils_1 = require("@typescript-eslint/utils");
const tsutils = __importStar(require("ts-api-utils"));
const ts = __importStar(require("typescript"));
const util_1 = require("../util");
const astIgnoreKeys = new Set(['range', 'loc', 'parent']);
const astIgnoreKeys = new Set(['loc', 'parent', 'range']);
const isSameAstNode = (actualNode, expectedNode) => {
if (actualNode === expectedNode) {
return true;
@@ -73,16 +73,16 @@ exports.default = (0, util_1.createRule)({
},
schema: [
{
additionalProperties: false,
type: 'object',
additionalProperties: false,
properties: {
ignoreIntersections: {
description: 'Whether to ignore `&` intersections.',
type: 'boolean',
description: 'Whether to ignore `&` intersections.',
},
ignoreUnions: {
description: 'Whether to ignore `|` unions.',
type: 'boolean',
description: 'Whether to ignore `|` unions.',
},
},
},
@@ -106,7 +106,7 @@ exports.default = (0, util_1.createRule)({
}
const report = (messageId, data) => {
const getUnionOrIntersectionToken = (where, at) => sourceCode[`getTokens${where}`](constituentNode, {
filter: token => ['|', '&'].includes(token.value),
filter: token => ['&', '|'].includes(token.value),
}).at(at);
const beforeUnionOrIntersectionToken = getUnionOrIntersectionToken('Before', -1);
let afterUnionOrIntersectionToken;
@@ -126,13 +126,13 @@ exports.default = (0, util_1.createRule)({
});
}
context.report({
data,
messageId,
node: constituentNode,
loc: {
start: constituentNode.loc.start,
end: (bracketAfterTokens.at(-1) ?? constituentNode).loc.end,
},
node: constituentNode,
messageId,
data,
fix: fixer => [
beforeUnionOrIntersectionToken,
...bracketBeforeTokens,

File diff suppressed because one or more lines are too long

View File

@@ -5,6 +5,7 @@ const util_1 = require("../util");
exports.default = (0, util_1.createRule)({
name: 'no-dynamic-delete',
meta: {
type: 'suggestion',
docs: {
description: 'Disallow using the `delete` operator on computed key expressions',
recommended: 'strict',
@@ -14,7 +15,6 @@ exports.default = (0, util_1.createRule)({
dynamicDelete: 'Do not delete dynamically computed property keys.',
},
schema: [],
type: 'suggestion',
},
defaultOptions: [],
create(context) {
@@ -33,9 +33,9 @@ exports.default = (0, util_1.createRule)({
return;
}
context.report({
fix: createFixer(node.argument),
messageId: 'dynamicDelete',
node: node.argument.property,
messageId: 'dynamicDelete',
fix: createFixer(node.argument),
});
},
};
@@ -52,7 +52,7 @@ exports.default = (0, util_1.createRule)({
});
function isAcceptableIndexExpression(property) {
return ((property.type === utils_1.AST_NODE_TYPES.Literal &&
['string', 'number'].includes(typeof property.value)) ||
['number', 'string'].includes(typeof property.value)) ||
(property.type === utils_1.AST_NODE_TYPES.UnaryExpression &&
property.operator === '-' &&
property.argument.type === utils_1.AST_NODE_TYPES.Literal &&

View File

@@ -1 +1 @@
{"version":3,"file":"no-dynamic-delete.js","sourceRoot":"","sources":["../../src/rules/no-dynamic-delete.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAE1D,kCAAoE;AAEpE,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EACT,kEAAkE;YACpE,WAAW,EAAE,QAAQ;SACtB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,aAAa,EAAE,mDAAmD;SACnE;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,WAAW,CAClB,MAAiC;YAEjC,IACE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;gBAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EACzC,CAAC;gBACD,OAAO,yBAAyB,CAC9B,MAAM,CAAC,QAAQ,EACf,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAC5B,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,kCAAkC,CAAC,IAA8B;gBAC/D,IACE,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;oBACtD,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBACvB,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACnD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC/B,SAAS,EAAE,eAAe;oBAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;iBAC7B,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEF,SAAS,yBAAyB,CAChC,QAA6B,EAC7B,WAAmB;YAEnB,OAAO,CAAC,KAAyB,EAAoB,EAAE,CACrD,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,SAAS,aAAa,CAAC,QAA6B;YAClD,OAAO;gBACL,IAAA,iBAAU,EACR,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAC3C,wBAAiB,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAC3D,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,IAAA,iBAAU,EACR,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAC1C,wBAAiB,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAC1D,CAAC,KAAK,CAAC,CAAC,CAAC;aACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAAC,QAA6B;IAChE,OAAO,CACL,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;QACvC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;YAC/C,QAAQ,CAAC,QAAQ,KAAK,GAAG;YACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;YACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAC/C,CAAC;AACJ,CAAC"}
{"version":3,"file":"no-dynamic-delete.js","sourceRoot":"","sources":["../../src/rules/no-dynamic-delete.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAoE;AAEpE,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,kEAAkE;YACpE,WAAW,EAAE,QAAQ;SACtB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,aAAa,EAAE,mDAAmD;SACnE;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,WAAW,CAClB,MAAiC;YAEjC,IACE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;gBAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EACzC,CAAC;gBACD,OAAO,yBAAyB,CAC9B,MAAM,CAAC,QAAQ,EACf,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAC5B,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,kCAAkC,CAAC,IAA8B;gBAC/D,IACE,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;oBACtD,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBACvB,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACnD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC5B,SAAS,EAAE,eAAe;oBAC1B,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAChC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEF,SAAS,yBAAyB,CAChC,QAA6B,EAC7B,WAAmB;YAEnB,OAAO,CAAC,KAAyB,EAAoB,EAAE,CACrD,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,SAAS,aAAa,CAAC,QAA6B;YAClD,OAAO;gBACL,IAAA,iBAAU,EACR,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAC3C,wBAAiB,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAC3D,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,IAAA,iBAAU,EACR,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAC1C,wBAAiB,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAC1D,CAAC,KAAK,CAAC,CAAC,CAAC;aACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAAC,QAA6B;IAChE,OAAO,CACL,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;QACvC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;YAC/C,QAAQ,CAAC,QAAQ,KAAK,GAAG;YACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;YACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAC/C,CAAC;AACJ,CAAC"}

View File

@@ -40,12 +40,12 @@ exports.default = (0, util_1.createRule)({
type: 'suggestion',
docs: {
description: 'Disallow empty functions',
recommended: 'stylistic',
extendsBaseRule: true,
recommended: 'stylistic',
},
hasSuggestions: baseRule.meta.hasSuggestions,
schema: [schema],
messages: baseRule.meta.messages,
schema: [schema],
},
defaultOptions: [
{

View File

@@ -1 +1 @@
{"version":3,"file":"no-empty-function.js","sourceRoot":"","sources":["../../src/rules/no-empty-function.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"no-empty-function.js","sourceRoot":"","sources":["../../src/rules/no-empty-function.ts"],"names":[],"mappings":"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"}

View File

@@ -7,25 +7,25 @@ exports.default = (0, util_1.createRule)({
name: 'no-empty-interface',
meta: {
type: 'suggestion',
deprecated: true,
docs: {
description: 'Disallow the declaration of empty interfaces',
},
deprecated: true,
replacedBy: ['@typescript-eslint/no-empty-object-type'],
fixable: 'code',
hasSuggestions: true,
messages: {
noEmpty: 'An empty interface is equivalent to `{}`.',
noEmptyWithSuper: 'An interface declaring no members is equivalent to its supertype.',
},
replacedBy: ['@typescript-eslint/no-empty-object-type'],
schema: [
{
type: 'object',
additionalProperties: false,
properties: {
allowSingleExtends: {
description: 'Whether to allow empty interfaces that extend a single other interface.',
type: 'boolean',
description: 'Whether to allow empty interfaces that extend a single other interface.',
},
},
},

View File

@@ -1 +1 @@
{"version":3,"file":"no-empty-interface.js","sourceRoot":"","sources":["../../src/rules/no-empty-interface.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"no-empty-interface.js","sourceRoot":"","sources":["../../src/rules/no-empty-interface.ts"],"names":[],"mappings":"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"}

View File

@@ -19,8 +19,8 @@ exports.default = (0, util_1.createRule)({
hasSuggestions: true,
messages: {
noEmptyInterface: noEmptyMessage('An empty interface declaration'),
noEmptyObject: noEmptyMessage('The `{}` ("empty object") type'),
noEmptyInterfaceWithSuper: 'An interface declaring no members is equivalent to its supertype.',
noEmptyObject: noEmptyMessage('The `{}` ("empty object") type'),
replaceEmptyInterface: 'Replace empty interface with `{{replacement}}`.',
replaceEmptyInterfaceWithSuper: 'Replace empty interface with a type alias.',
replaceEmptyObjectType: 'Replace `{}` with `{{replacement}}`.',
@@ -31,18 +31,18 @@ exports.default = (0, util_1.createRule)({
additionalProperties: false,
properties: {
allowInterfaces: {
type: 'string',
description: 'Whether to allow empty interfaces.',
enum: ['always', 'never', 'with-single-extends'],
type: 'string',
},
allowObjectTypes: {
type: 'string',
description: 'Whether to allow empty object type literals.',
enum: ['always', 'never'],
type: 'string',
},
allowWithName: {
description: 'A stringified regular expression to allow interfaces and object type aliases with the configured name.',
type: 'string',
description: 'A stringified regular expression to allow interfaces and object type aliases with the configured name.',
},
},
},
@@ -54,7 +54,7 @@ exports.default = (0, util_1.createRule)({
allowObjectTypes: 'never',
},
],
create(context, [{ allowInterfaces, allowWithName, allowObjectTypes }]) {
create(context, [{ allowInterfaces, allowObjectTypes, allowWithName }]) {
const allowWithNameTester = allowWithName
? new RegExp(allowWithName, 'u')
: undefined;
@@ -77,11 +77,12 @@ exports.default = (0, util_1.createRule)({
?.defs.some(def => def.node.type === utils_1.AST_NODE_TYPES.ClassDeclaration);
if (extend.length === 0) {
context.report({
data: { option: 'allowInterfaces' },
node: node.id,
messageId: 'noEmptyInterface',
data: { option: 'allowInterfaces' },
...(!mergedWithClassDeclaration && {
suggest: ['object', 'unknown'].map(replacement => ({
messageId: 'replaceEmptyInterface',
data: { replacement },
fix(fixer) {
const id = context.sourceCode.getText(node.id);
@@ -90,7 +91,6 @@ exports.default = (0, util_1.createRule)({
: '';
return fixer.replaceText(node, `type ${id}${typeParam} = ${replacement}`);
},
messageId: 'replaceEmptyInterface',
})),
}),
});
@@ -102,6 +102,7 @@ exports.default = (0, util_1.createRule)({
...(!mergedWithClassDeclaration && {
suggest: [
{
messageId: 'replaceEmptyInterfaceWithSuper',
fix(fixer) {
const extended = context.sourceCode.getText(extend[0]);
const id = context.sourceCode.getText(node.id);
@@ -110,7 +111,6 @@ exports.default = (0, util_1.createRule)({
: '';
return fixer.replaceText(node, `type ${id}${typeParam} = ${extended}`);
},
messageId: 'replaceEmptyInterfaceWithSuper',
},
],
}),
@@ -127,12 +127,12 @@ exports.default = (0, util_1.createRule)({
return;
}
context.report({
data: { option: 'allowObjectTypes' },
messageId: 'noEmptyObject',
node,
messageId: 'noEmptyObject',
data: { option: 'allowObjectTypes' },
suggest: ['object', 'unknown'].map(replacement => ({
data: { replacement },
messageId: 'replaceEmptyObjectType',
data: { replacement },
fix: (fixer) => fixer.replaceText(node, replacement),
})),
});

View File

@@ -1 +1 @@
{"version":3,"file":"no-empty-object-type.js","sourceRoot":"","sources":["../../src/rules/no-empty-object-type.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"no-empty-object-type.js","sourceRoot":"","sources":["../../src/rules/no-empty-object-type.ts"],"names":[],"mappings":"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"}

View File

@@ -13,9 +13,9 @@ exports.default = (0, util_1.createRule)({
fixable: 'code',
hasSuggestions: true,
messages: {
unexpectedAny: 'Unexpected any. Specify a different type.',
suggestUnknown: 'Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.',
suggestNever: "Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.",
suggestUnknown: 'Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.',
unexpectedAny: 'Unexpected any. Specify a different type.',
},
schema: [
{
@@ -23,12 +23,12 @@ exports.default = (0, util_1.createRule)({
additionalProperties: false,
properties: {
fixToUnknown: {
description: 'Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type.',
type: 'boolean',
description: 'Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type.',
},
ignoreRestArgs: {
description: 'Whether to ignore rest parameter arrays.',
type: 'boolean',
description: 'Whether to ignore rest parameter arrays.',
},
},
},
@@ -40,7 +40,7 @@ exports.default = (0, util_1.createRule)({
ignoreRestArgs: false,
},
],
create(context, [{ ignoreRestArgs, fixToUnknown }]) {
create(context, [{ fixToUnknown, ignoreRestArgs }]) {
/**
* Checks if the node is an arrow function, function/constructor declaration or function expression
* @param node the node to be validated.
@@ -52,13 +52,13 @@ exports.default = (0, util_1.createRule)({
utils_1.AST_NODE_TYPES.ArrowFunctionExpression, // const x = (...args: any[]) => {};
utils_1.AST_NODE_TYPES.FunctionDeclaration, // function f(...args: any[]) {}
utils_1.AST_NODE_TYPES.FunctionExpression, // const x = function(...args: any[]) {};
utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration, // type T = {(...args: any[]): unknown};
utils_1.AST_NODE_TYPES.TSConstructorType, // type T = new (...args: any[]) => unknown
utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration, // type T = {new (...args: any[]): unknown};
utils_1.AST_NODE_TYPES.TSDeclareFunction, // declare function _8(...args: any[]): unknown;
utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression, // declare class A { f(...args: any[]): unknown; }
utils_1.AST_NODE_TYPES.TSFunctionType, // type T = (...args: any[]) => unknown;
utils_1.AST_NODE_TYPES.TSConstructorType, // type T = new (...args: any[]) => unknown
utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration, // type T = {(...args: any[]): unknown};
utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration, // type T = {new (...args: any[]): unknown};
utils_1.AST_NODE_TYPES.TSMethodSignature, // type T = {f(...args: any[]): unknown};
utils_1.AST_NODE_TYPES.TSDeclareFunction, // declare function _8(...args: any[]): unknown;
].includes(node.type);
}
/**

View File

@@ -1 +1 @@
{"version":3,"file":"no-explicit-any.js","sourceRoot":"","sources":["../../src/rules/no-explicit-any.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAE1D,kCAAqC;AAUrC,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,aAAa,EAAE,2CAA2C;YAC1D,cAAc,EACZ,kGAAkG;YACpG,YAAY,EACV,yHAAyH;SAC5H;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,YAAY,EAAE;wBACZ,WAAW,EACT,2FAA2F;wBAC7F,IAAI,EAAE,SAAS;qBAChB;oBACD,cAAc,EAAE;wBACd,WAAW,EAAE,0CAA0C;wBACvD,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;QAChD;;;;;WAKG;QACH,SAAS,mBAAmB,CAAC,IAAmB;YAC9C,OAAO;gBACL,sBAAc,CAAC,uBAAuB,EAAE,oCAAoC;gBAC5E,sBAAc,CAAC,mBAAmB,EAAE,gCAAgC;gBACpE,sBAAc,CAAC,kBAAkB,EAAE,yCAAyC;gBAC5E,sBAAc,CAAC,6BAA6B,EAAE,kDAAkD;gBAChG,sBAAc,CAAC,cAAc,EAAE,wCAAwC;gBACvE,sBAAc,CAAC,iBAAiB,EAAE,2CAA2C;gBAC7E,sBAAc,CAAC,0BAA0B,EAAE,wCAAwC;gBACnF,sBAAc,CAAC,+BAA+B,EAAE,4CAA4C;gBAC5F,sBAAc,CAAC,iBAAiB,EAAE,yCAAyC;gBAC3E,sBAAc,CAAC,iBAAiB,EAAE,gDAAgD;aACnF,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED;;;;;WAKG;QACH,SAAS,2BAA2B,CAAC,IAAmB;YACtD,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW;gBACxC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CACjC,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,4BAA4B,CAAC,IAAmB;YACvD,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;gBAC3C,IAAI,CAAC,QAAQ,KAAK,UAAU,CAC7B,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,+BAA+B,CAAC,IAAmB;YAC1D,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBAChD,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxD,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,iBAAiB,CAAC,IAAmB;YAC5C,OAAO,CACL,4BAA4B,CAAC,IAAI,CAAC;gBAClC,+BAA+B,CAAC,IAAI,CAAC,CACtC,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,6BAA6B,CAAC,IAAmB;YACxD,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI;gBACnC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CACvD,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,kCAAkC,CAAC,IAAmB;YAC7D,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI;gBAC3C,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,SAAS,uCAAuC,CAC9C,IAAmB;YAEnB,OAAO,CACL,6BAA6B,CAAC,IAAI,CAAC;gBACnC,kCAAkC,CAAC,IAAI,CAAC,CACzC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,YAAY,CAAC,IAAI;gBACf,IAAI,cAAc,IAAI,uCAAuC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpE,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAGd;oBACF,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,gBAAgB;4BAC3B,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;4BAC5C,CAAC;yBACF;wBACD;4BACE,SAAS,EAAE,cAAc;4BACzB,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;4BAC1C,CAAC;yBACF;qBACF;iBACF,CAAC;gBAEF,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,GAAG,GAAG,CAAC,KAAK,EAAoB,EAAE,CAC7C,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACvC,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,eAAe;oBAC1B,GAAG,YAAY;iBAChB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"no-explicit-any.js","sourceRoot":"","sources":["../../src/rules/no-explicit-any.ts"],"names":[],"mappings":"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"}

Some files were not shown because too many files have changed in this diff Show More