diff --git a/types/eslint-plugin-github/.npmignore b/types/eslint-plugin-github/.npmignore new file mode 100644 index 00000000000000..93e307400a5456 --- /dev/null +++ b/types/eslint-plugin-github/.npmignore @@ -0,0 +1,5 @@ +* +!**/*.d.ts +!**/*.d.cts +!**/*.d.mts +!**/*.d.*.ts diff --git a/types/eslint-plugin-github/eslint-plugin-github-tests.ts b/types/eslint-plugin-github/eslint-plugin-github-tests.ts new file mode 100644 index 00000000000000..6cf8e9b9d68da5 --- /dev/null +++ b/types/eslint-plugin-github/eslint-plugin-github-tests.ts @@ -0,0 +1,19 @@ +import type { Linter, Rule } from "eslint"; +import github from "eslint-plugin-github"; + +const rules: Record = github.rules; +const rule: Rule.RuleModule = github.rules["array-foreach"]; + +const flatConfigs: Record = 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", + }, +}; diff --git a/types/eslint-plugin-github/index.d.ts b/types/eslint-plugin-github/index.d.ts new file mode 100644 index 00000000000000..ea76c31b5528f9 --- /dev/null +++ b/types/eslint-plugin-github/index.d.ts @@ -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; + 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; diff --git a/types/eslint-plugin-github/package.json b/types/eslint-plugin-github/package.json new file mode 100644 index 00000000000000..2e3a02b33dbb8c --- /dev/null +++ b/types/eslint-plugin-github/package.json @@ -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" + } + ] +} diff --git a/types/eslint-plugin-github/tsconfig.json b/types/eslint-plugin-github/tsconfig.json new file mode 100644 index 00000000000000..de3ea186d36cf1 --- /dev/null +++ b/types/eslint-plugin-github/tsconfig.json @@ -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" + ] +} diff --git a/types/eslint-plugin-no-constructor-bind/.npmignore b/types/eslint-plugin-no-constructor-bind/.npmignore new file mode 100644 index 00000000000000..93e307400a5456 --- /dev/null +++ b/types/eslint-plugin-no-constructor-bind/.npmignore @@ -0,0 +1,5 @@ +* +!**/*.d.ts +!**/*.d.cts +!**/*.d.mts +!**/*.d.*.ts diff --git a/types/eslint-plugin-no-constructor-bind/eslint-plugin-no-constructor-bind-tests.ts b/types/eslint-plugin-no-constructor-bind/eslint-plugin-no-constructor-bind-tests.ts new file mode 100644 index 00000000000000..fc9163a61cc268 --- /dev/null +++ b/types/eslint-plugin-no-constructor-bind/eslint-plugin-no-constructor-bind-tests.ts @@ -0,0 +1,13 @@ +import type { Rule } from "eslint"; +import noConstructorBind from "eslint-plugin-no-constructor-bind"; + +const rules: Record = 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", + }, +}; diff --git a/types/eslint-plugin-no-constructor-bind/index.d.ts b/types/eslint-plugin-no-constructor-bind/index.d.ts new file mode 100644 index 00000000000000..2c15dfc5fb85a9 --- /dev/null +++ b/types/eslint-plugin-no-constructor-bind/index.d.ts @@ -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; + }; +}; diff --git a/types/eslint-plugin-no-constructor-bind/package.json b/types/eslint-plugin-no-constructor-bind/package.json new file mode 100644 index 00000000000000..5771c733723f90 --- /dev/null +++ b/types/eslint-plugin-no-constructor-bind/package.json @@ -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" + } + ] +} diff --git a/types/eslint-plugin-no-constructor-bind/tsconfig.json b/types/eslint-plugin-no-constructor-bind/tsconfig.json new file mode 100644 index 00000000000000..387657c67d6e0e --- /dev/null +++ b/types/eslint-plugin-no-constructor-bind/tsconfig.json @@ -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" + ] +} diff --git a/types/eslint-plugin-no-unsanitized/.npmignore b/types/eslint-plugin-no-unsanitized/.npmignore new file mode 100644 index 00000000000000..93e307400a5456 --- /dev/null +++ b/types/eslint-plugin-no-unsanitized/.npmignore @@ -0,0 +1,5 @@ +* +!**/*.d.ts +!**/*.d.cts +!**/*.d.mts +!**/*.d.*.ts diff --git a/types/eslint-plugin-no-unsanitized/eslint-plugin-no-unsanitized-tests.ts b/types/eslint-plugin-no-unsanitized/eslint-plugin-no-unsanitized-tests.ts new file mode 100644 index 00000000000000..785a4c785125b8 --- /dev/null +++ b/types/eslint-plugin-no-unsanitized/eslint-plugin-no-unsanitized-tests.ts @@ -0,0 +1,17 @@ +import type { Linter, Rule } from "eslint"; +import noUnsanitized from "eslint-plugin-no-unsanitized"; + +const rules: Record = 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", + }, +}; diff --git a/types/eslint-plugin-no-unsanitized/index.d.ts b/types/eslint-plugin-no-unsanitized/index.d.ts new file mode 100644 index 00000000000000..3abae45462cd60 --- /dev/null +++ b/types/eslint-plugin-no-unsanitized/index.d.ts @@ -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; + }; +}; diff --git a/types/eslint-plugin-no-unsanitized/package.json b/types/eslint-plugin-no-unsanitized/package.json new file mode 100644 index 00000000000000..5e718ba3d0d562 --- /dev/null +++ b/types/eslint-plugin-no-unsanitized/package.json @@ -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" + } + ] +} diff --git a/types/eslint-plugin-no-unsanitized/tsconfig.json b/types/eslint-plugin-no-unsanitized/tsconfig.json new file mode 100644 index 00000000000000..4701f54b50f7c4 --- /dev/null +++ b/types/eslint-plugin-no-unsanitized/tsconfig.json @@ -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" + ] +} diff --git a/types/eslint-plugin-pii/.npmignore b/types/eslint-plugin-pii/.npmignore new file mode 100644 index 00000000000000..93e307400a5456 --- /dev/null +++ b/types/eslint-plugin-pii/.npmignore @@ -0,0 +1,5 @@ +* +!**/*.d.ts +!**/*.d.cts +!**/*.d.mts +!**/*.d.*.ts diff --git a/types/eslint-plugin-pii/eslint-plugin-pii-tests.ts b/types/eslint-plugin-pii/eslint-plugin-pii-tests.ts new file mode 100644 index 00000000000000..2cce58d5dc1b29 --- /dev/null +++ b/types/eslint-plugin-pii/eslint-plugin-pii-tests.ts @@ -0,0 +1,17 @@ +import type { Linter, Rule } from "eslint"; +import pii from "eslint-plugin-pii"; + +const rules: Record = 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", + }, +}; diff --git a/types/eslint-plugin-pii/index.d.ts b/types/eslint-plugin-pii/index.d.ts new file mode 100644 index 00000000000000..9b91ee5277e8f2 --- /dev/null +++ b/types/eslint-plugin-pii/index.d.ts @@ -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; + }; +}; diff --git a/types/eslint-plugin-pii/package.json b/types/eslint-plugin-pii/package.json new file mode 100644 index 00000000000000..dfd637c3612a5a --- /dev/null +++ b/types/eslint-plugin-pii/package.json @@ -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" + } + ] +} diff --git a/types/eslint-plugin-pii/tsconfig.json b/types/eslint-plugin-pii/tsconfig.json new file mode 100644 index 00000000000000..b89a7a28801184 --- /dev/null +++ b/types/eslint-plugin-pii/tsconfig.json @@ -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" + ] +} diff --git a/types/eslint-plugin-xss/.npmignore b/types/eslint-plugin-xss/.npmignore new file mode 100644 index 00000000000000..93e307400a5456 --- /dev/null +++ b/types/eslint-plugin-xss/.npmignore @@ -0,0 +1,5 @@ +* +!**/*.d.ts +!**/*.d.cts +!**/*.d.mts +!**/*.d.*.ts diff --git a/types/eslint-plugin-xss/eslint-plugin-xss-tests.ts b/types/eslint-plugin-xss/eslint-plugin-xss-tests.ts new file mode 100644 index 00000000000000..783432fa5b4986 --- /dev/null +++ b/types/eslint-plugin-xss/eslint-plugin-xss-tests.ts @@ -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"]; diff --git a/types/eslint-plugin-xss/index.d.ts b/types/eslint-plugin-xss/index.d.ts new file mode 100644 index 00000000000000..3e9b3a737b6295 --- /dev/null +++ b/types/eslint-plugin-xss/index.d.ts @@ -0,0 +1,19 @@ +import type { Linter, Rule } from "eslint"; + +type XssRuleModule = Rule.RuleModule & { + meta: Rule.RuleMetaData; +}; + +export = eslint_plugin_xss; + +declare const eslint_plugin_xss: { + configs: { + recommended: Linter.LegacyConfig & { + rules: Linter.RulesRecord; + }; + }; + rules: { + "no-location-href-assign": XssRuleModule; + "no-mixed-html": XssRuleModule; + }; +}; diff --git a/types/eslint-plugin-xss/package.json b/types/eslint-plugin-xss/package.json new file mode 100644 index 00000000000000..871c7a881365e3 --- /dev/null +++ b/types/eslint-plugin-xss/package.json @@ -0,0 +1,20 @@ +{ + "private": true, + "name": "@types/eslint-plugin-xss", + "version": "0.1.9999", + "projects": [ + "https://github.com/Rantanen/eslint-plugin-xss#readme" + ], + "dependencies": { + "@types/eslint": "*" + }, + "devDependencies": { + "@types/eslint-plugin-xss": "workspace:." + }, + "owners": [ + { + "name": "Dmitrii Kustov", + "githubUsername": "Simbiat" + } + ] +} diff --git a/types/eslint-plugin-xss/tsconfig.json b/types/eslint-plugin-xss/tsconfig.json new file mode 100644 index 00000000000000..72f81a0c0d7a44 --- /dev/null +++ b/types/eslint-plugin-xss/tsconfig.json @@ -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-xss-tests.ts" + ] +} diff --git a/types/inquirer/package.json b/types/inquirer/package.json index 6fd17a4a7a4605..1ba7990f731e11 100644 --- a/types/inquirer/package.json +++ b/types/inquirer/package.json @@ -36,10 +36,6 @@ "name": "Jason Dreyzehner", "githubUsername": "bitjson" }, - { - "name": "Synarque", - "githubUsername": "synarque" - }, { "name": "Justin Rockwood", "githubUsername": "jrockwood" diff --git a/types/inquirer/v8/package.json b/types/inquirer/v8/package.json index e033810384224b..c1cb591f17bafb 100644 --- a/types/inquirer/v8/package.json +++ b/types/inquirer/v8/package.json @@ -35,10 +35,6 @@ "name": "Jason Dreyzehner", "githubUsername": "bitjson" }, - { - "name": "Synarque", - "githubUsername": "synarque" - }, { "name": "Justin Rockwood", "githubUsername": "jrockwood" diff --git a/types/node-telegram-bot-api/package.json b/types/node-telegram-bot-api/package.json index 80e151c370af19..fa7d1705aa0510 100644 --- a/types/node-telegram-bot-api/package.json +++ b/types/node-telegram-bot-api/package.json @@ -37,10 +37,6 @@ "name": "XieJiSS", "githubUsername": "XieJiSS" }, - { - "name": "Toniop", - "githubUsername": "toniop99" - }, { "name": "Konstantin24121", "githubUsername": "konstantin24121"