Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions types/eslint-plugin-github/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
19 changes: 19 additions & 0 deletions types/eslint-plugin-github/eslint-plugin-github-tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import type { Linter, Rule } from "eslint";
import github from "eslint-plugin-github";

const rules: Record<string, Rule.RuleModule> = github.rules;
const rule: Rule.RuleModule = github.rules["array-foreach"];

const flatConfigs: Record<string, Linter.Config> = github.getFlatConfigs();
const flatConfig: Linter.Config = github.getFlatConfigs().recommended;

const legacyConfig: Linter.LegacyConfig = github.configs.recommended;

const ownFlatConfig: Linter.Config = {
plugins: { github },
rules: {
"github/array-foreach": "error",
"github/no-then": "error",
"github/no-inner-html": "warn",
},
};
71 changes: 71 additions & 0 deletions types/eslint-plugin-github/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import type { Linter, Rule } from "eslint";

interface RuleDef {
create(context: Rule.RuleContext): Rule.RuleListener;
meta: {
docs: {
description: string;
recommended: boolean;
url: string;
};
schema: unknown[];
type: "problem" | "suggestion" | "layout";
messages?: Record<string, string>;
fixable?: "code" | "whitespace";
deprecated?: boolean;
replacedBy?: string[];
};
}

interface FlatConfigs {
browser: Linter.Config;
internal: Linter.Config;
recommended: Linter.Config;
typescript: Linter.Config;
react: Linter.Config;
[key: string]: Linter.Config;
}

declare const plugin: {
meta: {
name: string;
version: string;
};
rules: {
"a11y-aria-label-is-well-formatted": RuleDef;
"a11y-no-generic-link-text": RuleDef;
"a11y-no-title-attribute": RuleDef;
"a11y-no-visually-hidden-interactive-element": RuleDef;
"a11y-role-supports-aria-props": RuleDef;
"a11y-svg-has-accessible-name": RuleDef;
"array-foreach": RuleDef;
"async-currenttarget": RuleDef;
"async-preventdefault": RuleDef;
"authenticity-token": RuleDef;
"filenames-match-regex": RuleDef;
"get-attribute": RuleDef;
"js-class-name": RuleDef;
"no-blur": RuleDef;
"no-d-none": RuleDef;
"no-dataset": RuleDef;
"no-dynamic-script-tag": RuleDef;
"no-implicit-buggy-globals": RuleDef;
"no-inner-html": RuleDef;
"no-innerText": RuleDef;
"no-then": RuleDef;
"no-useless-passive": RuleDef;
"prefer-observers": RuleDef;
"require-passive-events": RuleDef;
"unescaped-html-literal": RuleDef;
};
configs: {
browser: Linter.LegacyConfig;
internal: Linter.LegacyConfig;
recommended: Linter.LegacyConfig;
typescript: Linter.LegacyConfig;
react: Linter.LegacyConfig;
};
getFlatConfigs(): FlatConfigs;
};

export default plugin;
21 changes: 21 additions & 0 deletions types/eslint-plugin-github/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"private": true,
"name": "@types/eslint-plugin-github",
"version": "6.0.9999",
"type": "module",
"projects": [
"https://github.com/github/eslint-plugin-github#readme"
],
"dependencies": {
"@types/eslint": "*"
},
"devDependencies": {
"@types/eslint-plugin-github": "workspace:."
},
"owners": [
{
"name": "Dmitrii Kustov",
"githubUsername": "Simbiat"
}
]
}
19 changes: 19 additions & 0 deletions types/eslint-plugin-github/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "node16",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"eslint-plugin-github-tests.ts"
]
}
5 changes: 5 additions & 0 deletions types/eslint-plugin-no-constructor-bind/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { Rule } from "eslint";
import noConstructorBind from "eslint-plugin-no-constructor-bind";

const rules: Record<string, Rule.RuleModule> = noConstructorBind.rules;
const rule: Rule.RuleModule = noConstructorBind.rules["no-constructor-bind"];

const ownFlatConfig = {
plugins: { "no-constructor-bind": noConstructorBind },
rules: {
"no-constructor-bind/no-constructor-bind": "error",
"no-constructor-bind/no-constructor-state": "error",
},
};
10 changes: 10 additions & 0 deletions types/eslint-plugin-no-constructor-bind/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import type { Rule } from "eslint";

export = eslint_plugin_no_constructor_bind;

declare const eslint_plugin_no_constructor_bind: {
rules: {
"no-constructor-bind": Rule.RuleModule;
"no-constructor-state": Rule.RuleModule;
};
};
20 changes: 20 additions & 0 deletions types/eslint-plugin-no-constructor-bind/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"private": true,
"name": "@types/eslint-plugin-no-constructor-bind",
"version": "2.0.9999",
"projects": [
"https://github.com/markalfred/eslint-plugin-no-constructor-bind#readme"
],
"dependencies": {
"@types/eslint": "*"
},
"devDependencies": {
"@types/eslint-plugin-no-constructor-bind": "workspace:."
},
"owners": [
{
"name": "Dmitrii Kustov",
"githubUsername": "Simbiat"
}
]
}
19 changes: 19 additions & 0 deletions types/eslint-plugin-no-constructor-bind/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "node16",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"eslint-plugin-no-constructor-bind-tests.ts"
]
}
5 changes: 5 additions & 0 deletions types/eslint-plugin-no-unsanitized/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import type { Linter, Rule } from "eslint";
import noUnsanitized from "eslint-plugin-no-unsanitized";

const rules: Record<string, Rule.RuleModule> = noUnsanitized.rules;
const rule: Rule.RuleModule = noUnsanitized.rules["method"];

const flatConfig: Linter.Config = noUnsanitized.configs.recommended;
const legacyConfig: Linter.LegacyConfig = noUnsanitized.configs["recommended-legacy"];
const domConfig: Linter.LegacyConfig = noUnsanitized.configs.DOM;

const ownFlatConfig: Linter.Config = {
plugins: { "no-unsanitized": noUnsanitized },
rules: {
"no-unsanitized/method": "error",
"no-unsanitized/property": "error",
},
};
21 changes: 21 additions & 0 deletions types/eslint-plugin-no-unsanitized/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import type { Linter, Rule } from "eslint";

export = eslint_plugin_no_unsanitized;

declare const eslint_plugin_no_unsanitized: {
meta: {
name: string;
version: string;
};
configs: {
// flat config (plugin value is object)
recommended: Linter.Config;
// legacy configs (plugin value is string[])
"recommended-legacy": Linter.LegacyConfig;
DOM: Linter.LegacyConfig;
};
rules: {
method: Rule.RuleModule;
property: Rule.RuleModule;
};
};
20 changes: 20 additions & 0 deletions types/eslint-plugin-no-unsanitized/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"private": true,
"name": "@types/eslint-plugin-no-unsanitized",
"version": "4.1.9999",
"projects": [
"https://github.com/mozilla/eslint-plugin-no-unsanitized/"
],
"dependencies": {
"@types/eslint": "*"
},
"devDependencies": {
"@types/eslint-plugin-no-unsanitized": "workspace:."
},
"owners": [
{
"name": "Dmitrii Kustov",
"githubUsername": "Simbiat"
}
]
}
19 changes: 19 additions & 0 deletions types/eslint-plugin-no-unsanitized/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "node16",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"eslint-plugin-no-unsanitized-tests.ts"
]
}
5 changes: 5 additions & 0 deletions types/eslint-plugin-pii/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
17 changes: 17 additions & 0 deletions types/eslint-plugin-pii/eslint-plugin-pii-tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import type { Linter, Rule } from "eslint";
import pii from "eslint-plugin-pii";

const rules: Record<string, Rule.RuleModule> = pii.rules;
const rule: Rule.RuleModule = pii.rules["no-email"];

const legacyConfig: Linter.LegacyConfig = pii.configs.recommended;

const ownFlatConfig: Linter.Config = {
plugins: { pii },
rules: {
"pii/no-email": "error",
"pii/no-ip": "error",
"pii/no-dob": "warn",
"pii/no-phone-number": "error",
},
};
15 changes: 15 additions & 0 deletions types/eslint-plugin-pii/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type { Linter, Rule } from "eslint";

export = eslint_plugin_pii;

declare const eslint_plugin_pii: {
configs: {
recommended: Linter.LegacyConfig;
};
rules: {
"no-dob": Rule.RuleModule;
"no-email": Rule.RuleModule;
"no-ip": Rule.RuleModule;
"no-phone-number": Rule.RuleModule;
};
};
20 changes: 20 additions & 0 deletions types/eslint-plugin-pii/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"private": true,
"name": "@types/eslint-plugin-pii",
"version": "1.0.9999",
"projects": [
"https://github.com/shiva-hack/eslint-plugin-pii"
],
"dependencies": {
"@types/eslint": "*"
},
"devDependencies": {
"@types/eslint-plugin-pii": "workspace:."
},
"owners": [
{
"name": "Dmitrii Kustov",
"githubUsername": "Simbiat"
}
]
}
19 changes: 19 additions & 0 deletions types/eslint-plugin-pii/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "node16",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"eslint-plugin-pii-tests.ts"
]
}
5 changes: 5 additions & 0 deletions types/eslint-plugin-xss/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
12 changes: 12 additions & 0 deletions types/eslint-plugin-xss/eslint-plugin-xss-tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import plugin from "eslint-plugin-xss";

// Rules
const noMixed = plugin.rules["no-mixed-html"];
const noHref = plugin.rules["no-location-href-assign"];
noHref.create;
noHref.meta.docs?.description;

// Config
const rec = plugin.configs.recommended;
rec.rules["xss/no-mixed-html"];
rec.rules["xss/no-location-href-assign"];
Loading