@sentry/warden 0.34.0 → 0.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/bin/warden.js +19 -0
  2. package/dist/cli/args.d.ts +1 -1
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +9 -5
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/commands/add.d.ts.map +1 -1
  7. package/dist/cli/commands/add.js +3 -1
  8. package/dist/cli/commands/add.js.map +1 -1
  9. package/dist/cli/commands/build.d.ts.map +1 -1
  10. package/dist/cli/commands/build.js +4 -3
  11. package/dist/cli/commands/build.js.map +1 -1
  12. package/dist/cli/commands/init.d.ts.map +1 -1
  13. package/dist/cli/commands/init.js +7 -2
  14. package/dist/cli/commands/init.js.map +1 -1
  15. package/dist/cli/commands/runs.js +4 -4
  16. package/dist/cli/commands/runs.js.map +1 -1
  17. package/dist/cli/help.js +6 -6
  18. package/dist/cli/help.js.map +1 -1
  19. package/dist/cli/index.js +0 -0
  20. package/dist/cli/main.d.ts +1 -1
  21. package/dist/cli/main.d.ts.map +1 -1
  22. package/dist/cli/main.js +22 -13
  23. package/dist/cli/main.js.map +1 -1
  24. package/dist/cli/output/jsonl-schema-gen.js +1 -1
  25. package/dist/cli/output/jsonl-schema-gen.js.map +1 -1
  26. package/dist/cli/output/jsonl.d.ts +26 -0
  27. package/dist/cli/output/jsonl.d.ts.map +1 -1
  28. package/dist/config/loader.d.ts +7 -1
  29. package/dist/config/loader.d.ts.map +1 -1
  30. package/dist/config/loader.js +5 -0
  31. package/dist/config/loader.js.map +1 -1
  32. package/dist/config/schema.d.ts +35 -0
  33. package/dist/config/schema.d.ts.map +1 -1
  34. package/dist/config/schema.js +21 -8
  35. package/dist/config/schema.js.map +1 -1
  36. package/dist/config/writer.d.ts.map +1 -1
  37. package/dist/config/writer.js +7 -0
  38. package/dist/config/writer.js.map +1 -1
  39. package/dist/event/context.d.ts.map +1 -1
  40. package/dist/event/context.js +9 -0
  41. package/dist/event/context.js.map +1 -1
  42. package/dist/index.d.ts +6 -6
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +5 -3
  45. package/dist/index.js.map +1 -1
  46. package/dist/output/dedup.d.ts +14 -1
  47. package/dist/output/dedup.d.ts.map +1 -1
  48. package/dist/output/dedup.js +92 -11
  49. package/dist/output/dedup.js.map +1 -1
  50. package/dist/output/renderer.d.ts.map +1 -1
  51. package/dist/output/renderer.js +2 -1
  52. package/dist/output/renderer.js.map +1 -1
  53. package/dist/sdk/analyze.d.ts +3 -0
  54. package/dist/sdk/analyze.d.ts.map +1 -1
  55. package/dist/sdk/analyze.js +85 -21
  56. package/dist/sdk/analyze.js.map +1 -1
  57. package/dist/sdk/errors.d.ts +1 -0
  58. package/dist/sdk/errors.d.ts.map +1 -1
  59. package/dist/sdk/errors.js +13 -5
  60. package/dist/sdk/errors.js.map +1 -1
  61. package/dist/sdk/extract.d.ts +1 -1
  62. package/dist/sdk/extract.d.ts.map +1 -1
  63. package/dist/sdk/extract.js +14 -6
  64. package/dist/sdk/extract.js.map +1 -1
  65. package/dist/sdk/local.d.ts +32 -0
  66. package/dist/sdk/local.d.ts.map +1 -0
  67. package/dist/sdk/local.js +32 -0
  68. package/dist/sdk/local.js.map +1 -0
  69. package/dist/sdk/model-pricing.json +8 -0
  70. package/dist/sdk/post-process.d.ts +2 -1
  71. package/dist/sdk/post-process.d.ts.map +1 -1
  72. package/dist/sdk/post-process.js +1 -0
  73. package/dist/sdk/post-process.js.map +1 -1
  74. package/dist/sdk/pricing.d.ts +4 -3
  75. package/dist/sdk/pricing.d.ts.map +1 -1
  76. package/dist/sdk/pricing.js +3 -1
  77. package/dist/sdk/pricing.js.map +1 -1
  78. package/dist/sdk/runner.d.ts +4 -1
  79. package/dist/sdk/runner.d.ts.map +1 -1
  80. package/dist/sdk/runner.js +2 -1
  81. package/dist/sdk/runner.js.map +1 -1
  82. package/dist/sdk/runtimes/claude.d.ts.map +1 -1
  83. package/dist/sdk/runtimes/claude.js +11 -1
  84. package/dist/sdk/runtimes/claude.js.map +1 -1
  85. package/dist/sdk/runtimes/model-selectors.d.ts +1 -1
  86. package/dist/sdk/runtimes/model-selectors.d.ts.map +1 -1
  87. package/dist/sdk/runtimes/model-selectors.js +2 -4
  88. package/dist/sdk/runtimes/model-selectors.js.map +1 -1
  89. package/dist/sdk/runtimes/pi.d.ts.map +1 -1
  90. package/dist/sdk/runtimes/pi.js +3 -1
  91. package/dist/sdk/runtimes/pi.js.map +1 -1
  92. package/dist/sdk/runtimes/types.d.ts +2 -1
  93. package/dist/sdk/runtimes/types.d.ts.map +1 -1
  94. package/dist/sdk/types.d.ts +5 -1
  95. package/dist/sdk/types.d.ts.map +1 -1
  96. package/dist/sdk/verify.d.ts +2 -1
  97. package/dist/sdk/verify.d.ts.map +1 -1
  98. package/dist/sdk/verify.js +7 -6
  99. package/dist/sdk/verify.js.map +1 -1
  100. package/dist/skills/loader.d.ts +6 -1
  101. package/dist/skills/loader.d.ts.map +1 -1
  102. package/dist/skills/loader.js +63 -23
  103. package/dist/skills/loader.js.map +1 -1
  104. package/dist/triggers/matcher.d.ts.map +1 -1
  105. package/dist/triggers/matcher.js +19 -0
  106. package/dist/triggers/matcher.js.map +1 -1
  107. package/dist/types/index.d.ts +52 -0
  108. package/dist/types/index.d.ts.map +1 -1
  109. package/dist/types/index.js +19 -0
  110. package/dist/types/index.js.map +1 -1
  111. package/dist/utils/path.d.ts +6 -0
  112. package/dist/utils/path.d.ts.map +1 -1
  113. package/dist/utils/path.js +18 -1
  114. package/dist/utils/path.js.map +1 -1
  115. package/package.json +16 -46
  116. package/skills/warden/SOURCES.md +2 -2
  117. package/skills/warden/references/cli-reference.md +1 -1
  118. package/skills/warden/references/config-schema.md +3 -0
  119. package/skills/warden/references/configuration.md +11 -0
  120. package/skills/warden-sweep/SOURCES.md +5 -5
  121. package/skills/warden-sweep/SPEC.md +1 -1
  122. package/.oxlintrc.json +0 -170
  123. package/CHANGELOG.md +0 -3430
  124. package/README.md +0 -52
  125. package/TELEMETRY.md +0 -322
  126. package/policies/README.md +0 -22
  127. package/policies/code-comments.md +0 -20
  128. package/policies/policy-template.md +0 -14
  129. package/src/internal-skills/skill-writer/scripts/quick_validate_test.py +0 -79
  130. package/test-results.junit.xml +0 -4372
package/package.json CHANGED
@@ -1,32 +1,19 @@
1
1
  {
2
2
  "name": "@sentry/warden",
3
- "version": "0.34.0",
3
+ "version": "0.35.1",
4
4
  "description": "Event-driven agent that reacts to GitHub events and executes code-review skills",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
- "bin": {
9
- "warden": "dist/cli/index.js"
10
- },
11
- "simple-git-hooks": {
12
- "pre-commit": "pnpm lint-staged && pnpm typecheck"
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./package.json": "./package.json"
13
14
  },
14
- "lint-staged": {
15
- "src/**/*.ts": [
16
- "oxlint --fix"
17
- ],
18
- "packages/evals/src/**/*.ts": [
19
- "oxlint --fix"
20
- ],
21
- "packages/evals/scripts/**/*.ts": [
22
- "oxlint --fix"
23
- ],
24
- "packages/evals/*.ts": [
25
- "oxlint --fix"
26
- ],
27
- "packages/docs/**/*.astro": [
28
- "pnpm -C packages/docs build"
29
- ]
15
+ "bin": {
16
+ "warden": "bin/warden.js"
30
17
  },
31
18
  "keywords": [
32
19
  "github",
@@ -64,19 +51,6 @@
64
51
  "yaml": "^2.9.0",
65
52
  "zod": "^4.4.3"
66
53
  },
67
- "devDependencies": {
68
- "@types/node": "^25.9.1",
69
- "@types/react": "^19.2.15",
70
- "@vercel/ncc": "^0.38.4",
71
- "@vitest/coverage-v8": "^4.1.7",
72
- "ink-testing-library": "^4.0.0",
73
- "lint-staged": "^17.0.5",
74
- "oxlint": "^1.66.0",
75
- "simple-git-hooks": "^2.13.1",
76
- "tsx": "^4.22.3",
77
- "typescript": "^6.0.3",
78
- "vitest": "^4.1.7"
79
- },
80
54
  "engines": {
81
55
  "node": ">=20.0.0"
82
56
  },
@@ -84,19 +58,15 @@
84
58
  "cli": "tsx src/cli/index.ts",
85
59
  "clean:dist": "rm -rf dist",
86
60
  "build": "pnpm run clean:dist && tsc -p tsconfig.build.json",
87
- "build:action": "rm -rf dist/action && ncc build src/action/main.ts -o dist/action --no-source-map-register --license licenses.txt",
61
+ "build:action": "tsx scripts/validate-action-layout.ts && rm -rf ../../dist/action && ncc build src/action/main.ts -o ../../dist/action --no-source-map-register --license licenses.txt && tsx scripts/validate-action-layout.ts --require-dist",
88
62
  "dev": "tsc --watch",
89
- "lint": "oxlint .",
90
- "lint:fix": "oxlint --fix .",
91
- "test": "vitest run",
92
- "test:coverage": "vitest run --coverage",
93
- "test:watch": "vitest",
63
+ "test": "vitest run --config vitest.config.ts",
64
+ "test:coverage": "vitest run --config vitest.config.ts --coverage",
65
+ "test:watch": "vitest --config vitest.config.ts",
94
66
  "test:examples": "vitest run --config vitest.integration.config.ts",
95
- "evals": "pnpm -C packages/evals evals",
96
- "evals:scaffold": "pnpm -C packages/evals scaffold",
97
- "typecheck": "tsc --noEmit && pnpm -C packages/evals typecheck",
67
+ "typecheck": "tsc --noEmit",
98
68
  "update-pricing": "tsx scripts/update-pricing.ts",
99
- "generate:jsonl-schema": "tsx scripts/generate-jsonl-schema.ts",
100
- "docs": "pnpm --filter warden-docs dev"
69
+ "update-pricing-pr": "tsx scripts/create-pricing-update-pr.ts",
70
+ "generate:jsonl-schema": "tsx scripts/generate-jsonl-schema.ts"
101
71
  }
102
72
  }
@@ -6,8 +6,8 @@
6
6
  |--------|------------|------------|-------------------|
7
7
  | `skills/warden/SKILL.md` | canonical runtime | high | Keep concise; runtime instructions only. |
8
8
  | `skills/warden/references/*.md` | bundled runtime references | high | Keep focused by lookup need. |
9
- | `src/cli/` | implementation | high | Verify CLI flags and behavior here before changing examples. |
10
- | `src/config/` and `src/types/` | implementation | high | Verify config field names, defaults, and validation rules here. |
9
+ | `packages/warden/src/cli/` | implementation | high | Verify CLI flags and behavior here before changing examples. |
10
+ | `packages/warden/src/config/` and `packages/warden/src/types/` | implementation | high | Verify config field names, defaults, and validation rules here. |
11
11
  | `packages/docs/src/pages/cli.astro` | generated/user docs source | medium | Useful for CLI descriptions, but implementation wins on conflicts. |
12
12
  | `packages/docs/src/pages/config.astro` | generated/user docs source | medium | Useful for config examples, but implementation wins on conflicts. |
13
13
  | `packages/docs/src/pages/skill.astro` | generated/user docs source | medium | Useful for install and skill-discovery language. |
@@ -43,7 +43,7 @@ Ambiguous targets (no path separator, no extension) are resolved by checking if
43
43
  | Option | Description |
44
44
  |--------|-------------|
45
45
  | `--skill <name>` | Run only this skill by name or path; names fall back to built-ins |
46
- | `--config <path>` | Path to warden.toml (default: `./warden.toml`) |
46
+ | `--config-path <path>` | Path to warden.toml or a directory containing it (default: `./warden.toml`). `--config` is a deprecated alias. |
47
47
  | `-m, --model <model>` | Model to use (fallback when not set in config) |
48
48
  | `--json` | Output results as JSON |
49
49
  | `-o, --output <path>` | Write full run output to a JSONL file |
@@ -38,6 +38,7 @@ ignorePaths = ["*.test.ts"] # Exclude matching files
38
38
  [defaults.agent]
39
39
  model = "openai/gpt-5.5" # Default repo-aware analysis model
40
40
  maxTurns = 50 # Max agentic turns per hunk
41
+ reasoningEffort = "medium" # off | low | medium | high | xhigh
41
42
 
42
43
  [defaults.auxiliary]
43
44
  model = "anthropic/claude-haiku-4-5" # Helper model for extraction and fix gates
@@ -59,6 +60,8 @@ pattern = "*.config.*" # Glob pattern
59
60
  mode = "whole-file" # per-hunk | whole-file | skip
60
61
  ```
61
62
 
63
+ `[defaults.agent].reasoningEffort` controls repo-aware skill reasoning across runtimes. When omitted, each runtime uses its own default.
64
+
62
65
  `[defaults.synthesis].model` falls back to `[defaults.auxiliary].model` when omitted. Legacy `[defaults].model` and `[defaults].maxTurns` are still supported as analysis fallbacks.
63
66
 
64
67
  ## Skills Section
@@ -21,6 +21,7 @@ version = 1
21
21
 
22
22
  [defaults.agent]
23
23
  model = "openai/gpt-5.5"
24
+ reasoningEffort = "medium"
24
25
 
25
26
  [[skills]]
26
27
  name = "my-skill" # matches .agents/skills/my-skill/SKILL.md
@@ -93,6 +94,8 @@ Warden uses different model lanes for different kinds of work:
93
94
 
94
95
  If `[defaults.synthesis].model` is omitted, synthesis falls back to `[defaults.auxiliary].model`.
95
96
 
97
+ `[defaults.agent].reasoningEffort` optionally controls repo-aware skill reasoning across runtimes. Supported values are `off`, `low`, `medium`, `high`, and `xhigh`. When omitted, each runtime uses its own default.
98
+
96
99
  ## Model Precedence
97
100
 
98
101
  From highest to lowest priority:
@@ -109,11 +112,18 @@ From highest to lowest priority:
109
112
  | Variable | Purpose |
110
113
  |----------|---------|
111
114
  | `WARDEN_MODEL` | Default model (lowest priority) |
115
+ | `WARDEN_{PROVIDER}_API_KEY` | API key for the named Pi provider (e.g. `WARDEN_OPENAI_API_KEY`, `WARDEN_FIREWORKS_API_KEY`). Mirrored to the native `{PROVIDER}_API_KEY` at runtime. |
112
116
  | `WARDEN_OPENAI_API_KEY` | OpenAI API key for OpenAI Pi models |
113
117
  | `WARDEN_ANTHROPIC_API_KEY` | Anthropic API key for Anthropic Pi models or Claude runtime |
118
+ | `WARDEN_FIREWORKS_API_KEY` | Fireworks API key for Fireworks Pi models |
119
+ | `WARDEN_GROQ_API_KEY` | Groq API key for Groq Pi models |
120
+ | `WARDEN_OPENROUTER_API_KEY` | OpenRouter API key for OpenRouter Pi models |
114
121
  | `WARDEN_STATE_DIR` | Override cache location (default: `~/.local/warden`) |
115
122
  | `WARDEN_SKILL_CACHE_TTL` | Cache TTL in seconds for unpinned remotes (default: 86400) |
116
123
 
124
+ Native provider env vars (e.g. `OPENAI_API_KEY`) also work. The `WARDEN_`-prefixed forms are
125
+ preferred in CI so they do not collide with locally-set provider keys.
126
+
117
127
  ## Troubleshooting
118
128
 
119
129
  **No findings reported:**
@@ -128,5 +138,6 @@ From highest to lowest priority:
128
138
 
129
139
  **Token/cost issues:**
130
140
  - Reduce `maxTurns` (default: 50)
141
+ - Lower `[defaults.agent].reasoningEffort` when the runtime supports cheaper reasoning levels
131
142
  - Use chunking settings to control chunk size
132
143
  - Filter to relevant files with `paths`
@@ -4,11 +4,11 @@
4
4
 
5
5
  | Source | Trust tier | Confidence | Usage constraints |
6
6
  |--------|------------|------------|-------------------|
7
- | `skills/warden-sweep/SKILL.md` | canonical runtime | high | Keep as router and phase overview. |
8
- | `skills/warden-sweep/references/*.md` | bundled runtime references | high | Keep focused by phase or lookup need. |
9
- | `skills/warden-sweep/scripts/*.py` | executable workflow | high | Script interfaces in references must match these files. |
10
- | `src/cli/output/jsonl.ts` | Warden output contract | high | Verify JSONL parsing assumptions when Warden output changes. |
11
- | `src/output/renderer.ts` and `src/types/` | finding/report semantics | high | Verify severity, confidence, and finding fields here. |
7
+ | `packages/warden/skills/warden-sweep/SKILL.md` | canonical runtime | high | Keep as router and phase overview. |
8
+ | `packages/warden/skills/warden-sweep/references/*.md` | bundled runtime references | high | Keep focused by phase or lookup need. |
9
+ | `packages/warden/skills/warden-sweep/scripts/*.py` | executable workflow | high | Script interfaces in references must match these files. |
10
+ | `packages/warden/src/cli/output/jsonl.ts` | Warden output contract | high | Verify JSONL parsing assumptions when Warden output changes. |
11
+ | `packages/warden/src/output/renderer.ts` and `packages/warden/src/types/` | finding/report semantics | high | Verify severity, confidence, and finding fields here. |
12
12
  | GitHub CLI commands used by scripts | external tool contract | medium | Confirm command flags when GitHub CLI behavior changes. |
13
13
 
14
14
  ## Coverage Matrix
@@ -66,7 +66,7 @@ Authoritative sources:
66
66
 
67
67
  - `skills/warden-sweep/SKILL.md` and bundled references.
68
68
  - `skills/warden-sweep/scripts/*.py`.
69
- - Warden JSONL output schema and renderer code in `src/cli/output/`.
69
+ - Warden JSONL output schema and renderer code in `packages/warden/src/cli/output/`.
70
70
  - GitHub CLI behavior for PRs, issues, labels, and repo metadata.
71
71
 
72
72
  Useful improvement sources:
package/.oxlintrc.json DELETED
@@ -1,170 +0,0 @@
1
- {
2
- "$schema": "./node_modules/oxlint/configuration_schema.json",
3
- "plugins": [
4
- "typescript"
5
- ],
6
- "categories": {
7
- "correctness": "off"
8
- },
9
- "env": {
10
- "builtin": true
11
- },
12
- "ignorePatterns": [
13
- "dist/**",
14
- "node_modules/**",
15
- "coverage/**",
16
- "*.js",
17
- "examples/**",
18
- "packages/docs/**/*.astro",
19
- "packages/evals/fixtures/**"
20
- ],
21
- "rules": {
22
- "constructor-super": "error",
23
- "for-direction": "error",
24
- "no-async-promise-executor": "error",
25
- "no-case-declarations": "error",
26
- "no-class-assign": "error",
27
- "no-compare-neg-zero": "error",
28
- "no-cond-assign": "error",
29
- "no-const-assign": "error",
30
- "no-constant-binary-expression": "error",
31
- "no-constant-condition": "error",
32
- "no-control-regex": "error",
33
- "no-debugger": "error",
34
- "no-delete-var": "error",
35
- "no-dupe-class-members": "error",
36
- "no-dupe-else-if": "error",
37
- "no-dupe-keys": "error",
38
- "no-duplicate-case": "error",
39
- "no-empty": "error",
40
- "no-empty-character-class": "error",
41
- "no-empty-pattern": "error",
42
- "no-empty-static-block": "error",
43
- "no-ex-assign": "error",
44
- "no-extra-boolean-cast": "error",
45
- "no-fallthrough": "error",
46
- "no-func-assign": "error",
47
- "no-global-assign": "error",
48
- "no-import-assign": "error",
49
- "no-invalid-regexp": "error",
50
- "no-irregular-whitespace": "error",
51
- "no-loss-of-precision": "error",
52
- "no-misleading-character-class": "error",
53
- "no-new-native-nonconstructor": "error",
54
- "no-nonoctal-decimal-escape": "error",
55
- "no-obj-calls": "error",
56
- "no-prototype-builtins": "error",
57
- "no-redeclare": "error",
58
- "no-regex-spaces": "error",
59
- "no-self-assign": "error",
60
- "no-setter-return": "error",
61
- "no-shadow-restricted-names": "error",
62
- "no-sparse-arrays": "error",
63
- "no-this-before-super": "error",
64
- "no-unexpected-multiline": "error",
65
- "no-unsafe-finally": "error",
66
- "no-unsafe-negation": "error",
67
- "no-unsafe-optional-chaining": "error",
68
- "no-unused-labels": "error",
69
- "no-unused-private-class-members": "error",
70
- "no-unused-vars": [
71
- "error",
72
- {
73
- "argsIgnorePattern": "^_",
74
- "varsIgnorePattern": "^_"
75
- }
76
- ],
77
- "no-useless-backreference": "error",
78
- "no-useless-catch": "error",
79
- "no-useless-escape": "error",
80
- "no-with": "error",
81
- "require-yield": "error",
82
- "use-isnan": "error",
83
- "valid-typeof": "error",
84
- "no-array-constructor": "error",
85
- "no-unused-expressions": "error",
86
- "no-useless-constructor": "error",
87
- "no-empty-function": "error",
88
- "typescript/ban-ts-comment": [
89
- "error",
90
- {
91
- "minimumDescriptionLength": 10
92
- }
93
- ],
94
- "typescript/no-duplicate-enum-values": "error",
95
- "typescript/no-dynamic-delete": "error",
96
- "typescript/no-empty-object-type": "error",
97
- "typescript/no-explicit-any": "error",
98
- "typescript/no-extra-non-null-assertion": "error",
99
- "typescript/no-extraneous-class": "error",
100
- "typescript/no-invalid-void-type": "error",
101
- "typescript/no-misused-new": "error",
102
- "typescript/no-namespace": "error",
103
- "typescript/no-non-null-asserted-nullish-coalescing": "error",
104
- "typescript/no-non-null-asserted-optional-chain": "error",
105
- "typescript/no-non-null-assertion": "error",
106
- "typescript/no-require-imports": "error",
107
- "typescript/no-this-alias": "error",
108
- "typescript/no-unnecessary-type-constraint": "error",
109
- "typescript/no-unsafe-declaration-merging": "error",
110
- "typescript/no-unsafe-function-type": "error",
111
- "typescript/no-wrapper-object-types": "error",
112
- "typescript/prefer-as-const": "error",
113
- "typescript/prefer-literal-enum-member": "error",
114
- "typescript/prefer-namespace-keyword": "error",
115
- "typescript/triple-slash-reference": "error",
116
- "typescript/unified-signatures": "error",
117
- "typescript/adjacent-overload-signatures": "error",
118
- "typescript/array-type": "error",
119
- "typescript/ban-tslint-comment": "error",
120
- "typescript/class-literal-property-style": "error",
121
- "typescript/consistent-generic-constructors": "error",
122
- "typescript/consistent-indexed-object-style": "error",
123
- "typescript/consistent-type-assertions": "error",
124
- "typescript/consistent-type-definitions": "error",
125
- "typescript/no-confusing-non-null-assertion": "error",
126
- "typescript/no-inferrable-types": "error",
127
- "typescript/prefer-for-of": "error",
128
- "typescript/prefer-function-type": "error",
129
- "typescript/consistent-type-imports": "error",
130
- "typescript/no-import-type-side-effects": "error"
131
- },
132
- "overrides": [
133
- {
134
- "files": [
135
- "**/*.ts",
136
- "**/*.tsx",
137
- "**/*.mts",
138
- "**/*.cts"
139
- ],
140
- "rules": {
141
- "constructor-super": "off",
142
- "no-class-assign": "off",
143
- "no-const-assign": "off",
144
- "no-dupe-class-members": "off",
145
- "no-dupe-keys": "off",
146
- "no-func-assign": "off",
147
- "no-import-assign": "off",
148
- "no-new-native-nonconstructor": "off",
149
- "no-obj-calls": "off",
150
- "no-redeclare": "off",
151
- "no-setter-return": "off",
152
- "no-this-before-super": "off",
153
- "no-unsafe-negation": "off",
154
- "no-var": "error",
155
- "no-with": "off",
156
- "prefer-const": "error",
157
- "prefer-rest-params": "error",
158
- "prefer-spread": "error"
159
- }
160
- },
161
- {
162
- "files": [
163
- "**/*.test.ts"
164
- ],
165
- "rules": {
166
- "typescript/no-non-null-assertion": "off"
167
- }
168
- }
169
- ]
170
- }