From 034e47fdae069199644ea005c588b8ef48023bf4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 15 Dec 2024 22:33:17 -0800
Subject: [PATCH 01/27] Bump the dependencies group with 5 updates (#936)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `22.10.1` | `22.10.2` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.17.0` | `8.18.0` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.17.0` | `8.18.0` |
| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n)
| `17.14.0` | `17.15.0` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.17.0` | `8.18.0` |
Updates `@types/node` from 22.10.1 to 22.10.2
Commits
Updates `@typescript-eslint/eslint-plugin` from 8.17.0 to 8.18.0
Release notes
Sourced from @typescript-eslint/eslint-plugin
's
releases.
v8.18.0
8.18.0 (2024-12-09)
🚀 Features
- eslint-plugin: [no-deprecated] report on super call
of deprecated constructor (#10397)
- eslint-plugin: [switch-exhaustiveness-check] add
support for "no default" comment (#10218)
🩹 Fixes
- typescript peer dependency (#10373)
- deps: update dependency eslint to v9.16.0 (#10471)
- eslint-plugin: [no-deprecated] check if a JSX
attribute is deprecated (#10374)
- eslint-plugin: [no-base-to-string] handle more
robustly when multiple
toString()
declarations are present
for a type (#10432)
- eslint-plugin:
[use-unknown-in-catch-callback-variable] only flag function literals (#10436)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/eslint-plugin
's
changelog.
8.18.0 (2024-12-09)
🚀 Features
- eslint-plugin: [switch-exhaustiveness-check] add
support for "no default" comment (#10218)
- eslint-plugin: [no-deprecated] report on super call
of deprecated constructor (#10397)
🩹 Fixes
- eslint-plugin:
[use-unknown-in-catch-callback-variable] only flag function literals (#10436)
- eslint-plugin: [no-base-to-string] handle more
robustly when multiple
toString()
declarations are present
for a type (#10432)
- eslint-plugin: [no-deprecated] check if a JSX
attribute is deprecated (#10374)
- typescript peer dependency (#10373)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
c60dbab
chore(release): publish 8.18.0
0d65f17
chore: enforce repo nullish check style (#10419)
a54a8e1
fix(eslint-plugin): [use-unknown-in-catch-callback-variable] only flag
functi...
24a1510
fix(eslint-plugin): [no-base-to-string] handle more robustly when
multiple `t...
47f1ab3
feat(eslint-plugin): [switch-exhaustiveness-check] add support for
"no defaul...
772bd43
fix(eslint-plugin): [no-deprecated] check if a JSX attribute is
deprecated (#...
4cb2cf8
fix: typescript peer dependency (#10373)
0cc7919
feat(eslint-plugin): [no-deprecated] report on super call of deprecated
const...
- See full diff in compare
view
Updates `@typescript-eslint/parser` from 8.17.0 to 8.18.0
Release notes
Sourced from @typescript-eslint/parser
's
releases.
v8.18.0
8.18.0 (2024-12-09)
🚀 Features
- eslint-plugin: [no-deprecated] report on super call
of deprecated constructor (#10397)
- eslint-plugin: [switch-exhaustiveness-check] add
support for "no default" comment (#10218)
🩹 Fixes
- typescript peer dependency (#10373)
- deps: update dependency eslint to v9.16.0 (#10471)
- eslint-plugin: [no-deprecated] check if a JSX
attribute is deprecated (#10374)
- eslint-plugin: [no-base-to-string] handle more
robustly when multiple
toString()
declarations are present
for a type (#10432)
- eslint-plugin:
[use-unknown-in-catch-callback-variable] only flag function literals (#10436)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/parser
's
changelog.
8.18.0 (2024-12-09)
🩹 Fixes
- typescript peer dependency (#10373)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
Updates `eslint-plugin-n` from 17.14.0 to 17.15.0
Release notes
Sourced from eslint-plugin-n's
releases.
v17.15.0
🌟 Features
- no-unsupported: support node 22.12.0 (#393)
(af4f774)
- resolve: allow overriding enhanced-resolve's
options (#384)
(1466bec)
🩹 Fixes
- no-unsupported: Correctly handle recursive objects
on a per module basis (#396)
(db384d1)
Changelog
Sourced from eslint-plugin-n's
changelog.
🌟 Features
- no-unsupported: support node 22.12.0 (#393)
(af4f774)
- resolve: allow overriding enhanced-resolve's
options (#384)
(1466bec)
🩹 Fixes
- no-unsupported: Correctly handle recursive objects
on a per module basis (#396)
(db384d1)
Commits
308c80c
chore(master): release 17.15.0 (#394)
db384d1
fix(no-unsupported): Correctly handle recursive objects on a per module
basis...
1466bec
feat(resolve): allow overriding enhanced-resolve's options (#384)
af4f774
feat(no-unsupported): support node 22.12.0 (#393)
- See full diff in compare
view
Updates `typescript-eslint` from 8.17.0 to 8.18.0
Release notes
Sourced from typescript-eslint's
releases.
v8.18.0
8.18.0 (2024-12-09)
🚀 Features
- eslint-plugin: [no-deprecated] report on super call
of deprecated constructor (#10397)
- eslint-plugin: [switch-exhaustiveness-check] add
support for "no default" comment (#10218)
🩹 Fixes
- typescript peer dependency (#10373)
- deps: update dependency eslint to v9.16.0 (#10471)
- eslint-plugin: [no-deprecated] check if a JSX
attribute is deprecated (#10374)
- eslint-plugin: [no-base-to-string] handle more
robustly when multiple
toString()
declarations are present
for a type (#10432)
- eslint-plugin:
[use-unknown-in-catch-callback-variable] only flag function literals (#10436)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from typescript-eslint's
changelog.
8.18.0 (2024-12-09)
🩹 Fixes
- typescript peer dependency (#10373)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 165 ++++++++++++++++++++--------------------------
package.json | 10 +--
2 files changed, 76 insertions(+), 99 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 20940b4eb..e86a4ef3f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,10 +16,10 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.1",
+ "@types/node": "^22.10.2",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.17.0",
- "@typescript-eslint/parser": "^8.17.0",
+ "@typescript-eslint/eslint-plugin": "^8.18.0",
+ "@typescript-eslint/parser": "^8.18.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -28,7 +28,7 @@
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-import-x": "^4.5.0",
"eslint-plugin-jest": "^28.9.0",
- "eslint-plugin-n": "^17.14.0",
+ "eslint-plugin-n": "^17.15.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-simple-import-sort": "^12.1.1",
"fast-sort": "^3.4.1",
@@ -41,7 +41,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.17.0",
+ "typescript-eslint": "^8.18.0",
"yaml": "^2.6.1"
},
"engines": {
@@ -1463,9 +1463,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.10.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz",
- "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==",
+ "version": "22.10.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz",
+ "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==",
"dev": true,
"dependencies": {
"undici-types": "~6.20.0"
@@ -1496,16 +1496,16 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz",
- "integrity": "sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.0.tgz",
+ "integrity": "sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.17.0",
- "@typescript-eslint/type-utils": "8.17.0",
- "@typescript-eslint/utils": "8.17.0",
- "@typescript-eslint/visitor-keys": "8.17.0",
+ "@typescript-eslint/scope-manager": "8.18.0",
+ "@typescript-eslint/type-utils": "8.18.0",
+ "@typescript-eslint/utils": "8.18.0",
+ "@typescript-eslint/visitor-keys": "8.18.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1520,24 +1520,20 @@
},
"peerDependencies": {
"@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.17.0.tgz",
- "integrity": "sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.0.tgz",
+ "integrity": "sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "8.17.0",
- "@typescript-eslint/types": "8.17.0",
- "@typescript-eslint/typescript-estree": "8.17.0",
- "@typescript-eslint/visitor-keys": "8.17.0",
+ "@typescript-eslint/scope-manager": "8.18.0",
+ "@typescript-eslint/types": "8.18.0",
+ "@typescript-eslint/typescript-estree": "8.18.0",
+ "@typescript-eslint/visitor-keys": "8.18.0",
"debug": "^4.3.4"
},
"engines": {
@@ -1548,22 +1544,18 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz",
- "integrity": "sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.0.tgz",
+ "integrity": "sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.17.0",
- "@typescript-eslint/visitor-keys": "8.17.0"
+ "@typescript-eslint/types": "8.18.0",
+ "@typescript-eslint/visitor-keys": "8.18.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1574,13 +1566,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz",
- "integrity": "sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.0.tgz",
+ "integrity": "sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.17.0",
- "@typescript-eslint/utils": "8.17.0",
+ "@typescript-eslint/typescript-estree": "8.18.0",
+ "@typescript-eslint/utils": "8.18.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -1592,18 +1584,14 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.17.0.tgz",
- "integrity": "sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.0.tgz",
+ "integrity": "sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1614,13 +1602,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz",
- "integrity": "sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.0.tgz",
+ "integrity": "sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.17.0",
- "@typescript-eslint/visitor-keys": "8.17.0",
+ "@typescript-eslint/types": "8.18.0",
+ "@typescript-eslint/visitor-keys": "8.18.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -1635,10 +1623,8 @@
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
@@ -1666,15 +1652,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.17.0.tgz",
- "integrity": "sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.0.tgz",
+ "integrity": "sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.17.0",
- "@typescript-eslint/types": "8.17.0",
- "@typescript-eslint/typescript-estree": "8.17.0"
+ "@typescript-eslint/scope-manager": "8.18.0",
+ "@typescript-eslint/types": "8.18.0",
+ "@typescript-eslint/typescript-estree": "8.18.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1684,21 +1670,17 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz",
- "integrity": "sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.0.tgz",
+ "integrity": "sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.17.0",
+ "@typescript-eslint/types": "8.18.0",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -3043,11 +3025,10 @@
}
},
"node_modules/eslint-plugin-n": {
- "version": "17.14.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.14.0.tgz",
- "integrity": "sha512-maxPLMEA0rPmRpoOlxEclKng4UpDe+N5BJS4t24I3UKnN109Qcivnfs37KMy84G0af3bxjog5lKctP5ObsvcTA==",
+ "version": "17.15.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.15.0.tgz",
+ "integrity": "sha512-xF3zJkOfLlFOm5TvmqmsnA9/fO+/z2pYs0dkuKXKN/ymS6UB1yEcaoIkqxLKQ9Dw/WmLX/Tdh6/5ZS5azVixFQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.1",
"enhanced-resolve": "^5.17.1",
@@ -6322,14 +6303,14 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.17.0.tgz",
- "integrity": "sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.0.tgz",
+ "integrity": "sha512-Xq2rRjn6tzVpAyHr3+nmSg1/9k9aIHnJ2iZeOH7cfGOWqTkXTm3kwpQglEuLGdNrYvPF+2gtAs+/KF5rjVo+WQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.17.0",
- "@typescript-eslint/parser": "8.17.0",
- "@typescript-eslint/utils": "8.17.0"
+ "@typescript-eslint/eslint-plugin": "8.18.0",
+ "@typescript-eslint/parser": "8.18.0",
+ "@typescript-eslint/utils": "8.18.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -6339,12 +6320,8 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/unbox-primitive": {
diff --git a/package.json b/package.json
index ef776cfbd..246749261 100644
--- a/package.json
+++ b/package.json
@@ -14,10 +14,10 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.1",
+ "@types/node": "^22.10.2",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.17.0",
- "@typescript-eslint/parser": "^8.17.0",
+ "@typescript-eslint/eslint-plugin": "^8.18.0",
+ "@typescript-eslint/parser": "^8.18.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -26,7 +26,7 @@
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-import-x": "^4.5.0",
"eslint-plugin-jest": "^28.9.0",
- "eslint-plugin-n": "^17.14.0",
+ "eslint-plugin-n": "^17.15.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-simple-import-sort": "^12.1.1",
"fast-sort": "^3.4.1",
@@ -39,7 +39,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.17.0",
+ "typescript-eslint": "^8.18.0",
"yaml": "^2.6.1"
},
"bundleDependencies": [
From d74e061c08ba41965713c8949f710d89672c5dcb Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 15 Dec 2024 22:33:33 -0800
Subject: [PATCH 02/27] Bump github/codeql-action from 3.27.6 to 3.27.9 in the
dependencies group (#937)
Bumps the dependencies group with 1 update:
[github/codeql-action](https://github.com/github/codeql-action).
Updates `github/codeql-action` from 3.27.6 to 3.27.9
Release notes
Sourced from github/codeql-action's
releases.
v3.27.9
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
Note that the only difference between v2
and
v3
of the CodeQL Action is the node version they support,
with v3
running on node 20 while we continue to release
v2
to support running on node 16. For example
3.22.11
was the first v3
release and is
functionally identical to 2.22.11
. This approach ensures an
easy way to track exactly which features are included in different
versions, indicated by the minor and patch version numbers.
3.27.9 - 12 Dec 2024
No user facing changes.
See the full CHANGELOG.md
for more information.
v3.27.7
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
Note that the only difference between v2
and
v3
of the CodeQL Action is the node version they support,
with v3
running on node 20 while we continue to release
v2
to support running on node 16. For example
3.22.11
was the first v3
release and is
functionally identical to 2.22.11
. This approach ensures an
easy way to track exactly which features are included in different
versions, indicated by the minor and patch version numbers.
3.27.7 - 10 Dec 2024
- We are rolling out a change in December 2024 that will extract the
CodeQL bundle directly to the toolcache to improve performance. #2631
- Update default CodeQL bundle version to 2.20.0. #2636
See the full CHANGELOG.md
for more information.
Changelog
Sourced from github/codeql-action's
changelog.
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
Note that the only difference between v2
and
v3
of the CodeQL Action is the node version they support,
with v3
running on node 20 while we continue to release
v2
to support running on node 16. For example
3.22.11
was the first v3
release and is
functionally identical to 2.22.11
. This approach ensures an
easy way to track exactly which features are included in different
versions, indicated by the minor and patch version numbers.
[UNRELEASED]
No user facing changes.
3.27.9 - 12 Dec 2024
No user facing changes.
3.27.8 - 12 Dec 2024
- Fixed an issue where streaming the download and extraction of the
CodeQL bundle did not respect proxy settings. #2624
3.27.7 - 10 Dec 2024
- We are rolling out a change in December 2024 that will extract the
CodeQL bundle directly to the toolcache to improve performance. #2631
- Update default CodeQL bundle version to 2.20.0. #2636
3.27.6 - 03 Dec 2024
- Update default CodeQL bundle version to 2.19.4. #2626
3.27.5 - 19 Nov 2024
No user facing changes.
3.27.4 - 14 Nov 2024
No user facing changes.
3.27.3 - 12 Nov 2024
No user facing changes.
3.27.2 - 12 Nov 2024
- Fixed an issue where setting up the CodeQL tools would sometimes
fail with the message "Invalid value 'undefined' for header
'authorization'". #2590
3.27.1 - 08 Nov 2024
- The CodeQL Action now downloads bundles compressed using Zstandard
on GitHub Enterprise Server when using Linux or macOS runners. This
speeds up the installation of the CodeQL tools. This feature is already
available to GitHub.com users. #2573
- Update default CodeQL bundle version to 2.19.3. #2576
3.27.0 - 22 Oct 2024
... (truncated)
Commits
df409f7
Merge pull request #2649
from github/update-v3.27.9-7972a42f3
feca44d
Update changelog for v3.27.9
7972a42
Merge pull request #2648
from github/aeisenberg/add-environment
44bf16d
Merge pull request #2646
from github/mergeback/v3.27.8-to-main-8a93837a
f124ad0
Adds an environment for creating releases
9275370
Update checked-in dependencies
a059a7a
Update changelog and version after v3.27.8
8a93837
Merge pull request #2645
from github/update-v3.27.8-9cfbef4bd
90a2700
Update changelog for v3.27.8
9cfbef4
Merge pull request #2644
from github/aeisenberg/use-app-token-for-release
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/codeql.yml | 6 +++---
.github/workflows/scorecard.yml | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index d7e408fe0..e22d35b23 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -34,7 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
+ uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
# Override language selection by uncommenting this and choosing your languages
with:
languages: javascript
@@ -42,7 +42,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below).
- name: Autobuild
- uses: github/codeql-action/autobuild@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
+ uses: github/codeql-action/autobuild@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -56,4 +56,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
+ uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index d475c3ce1..5df3f65ab 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -65,6 +65,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
+ uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
with:
sarif_file: results.sarif
From e8a44070451980ae69ee68963306038f2259d6aa Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 30 Dec 2024 12:13:14 -0500
Subject: [PATCH 03/27] Bump the dependencies group across 1 directory with 6
updates (#944)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 6 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.18.0` | `8.18.2` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.18.0` | `8.18.2` |
|
[eslint-plugin-import-x](https://github.com/un-ts/eslint-plugin-import-x)
| `4.5.0` | `4.6.1` |
|
[eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest)
| `28.9.0` | `28.10.0` |
| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n)
| `17.15.0` | `17.15.1` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.18.0` | `8.18.2` |
Updates `@typescript-eslint/eslint-plugin` from 8.18.0 to 8.18.2
Release notes
Sourced from @typescript-eslint/eslint-plugin
's
releases.
v8.18.2
8.18.2 (2024-12-23)
🩹 Fixes
- eslint-plugin: [no-deprecated] not reporting usages
of deprecated declared constants as object value (#10498)
- eslint-plugin: [prefer-reduce-type-parameter] don't
report cases in which the fix results in a type error (#10494)
- eslint-plugin: [no-unnecessary-condition] don't
flag values of an unconstrained or valid type parameter (#10473)
- eslint-plugin: [consistent-indexed-object-style]
use a suggestion over an auto-fix if can't reliably determine that
produced index signature is valid (#10490)
- eslint-plugin: [no-unsafe-type-assertion] fix for
unsafe assertion to a constrained type parameter (#10461)
- eslint-plugin: [no-unnecessary-type-arguments]
handle type/value context (#10503)
- eslint-plugin: [consistent-type-assertions] allow
default assertionStyle option (#10512)
- eslint-plugin: [no-unnecessary-condition] handle
noUncheckedIndexedAccess true (#10514)
- typescript-eslint: export types so that
declarations can be named for dts files (#10513)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
v8.18.1
8.18.1 (2024-12-16)
🩹 Fixes
- eslint-plugin: [no-unnecessary-template-expression]
don't report when an expression includes comment (#10444)
- eslint-plugin: handle string like index type (#10460)
- eslint-plugin:
[no-unnecessary-boolean-literal-compare] flag values of a type parameter
with boolean type constraints (#10474)
- eslint-plugin: use consistent naming for asserting
types and casting values (#10472)
- eslint-plugin: [no-unnecessary-condition] better
message when comparing between literal types (#10454)
- scope-manager: visit params decorator before nest
scope (#10475)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/eslint-plugin
's
changelog.
8.18.2 (2024-12-23)
🩹 Fixes
- eslint-plugin: [no-unnecessary-condition] handle
noUncheckedIndexedAccess true (#10514)
- eslint-plugin: [consistent-type-assertions] allow
default assertionStyle option (#10512)
- eslint-plugin: [no-unnecessary-type-arguments]
handle type/value context (#10503)
- eslint-plugin: [no-unsafe-type-assertion] fix for
unsafe assertion to a constrained type parameter (#10461)
- eslint-plugin: [consistent-indexed-object-style]
use a suggestion over an auto-fix if can't reliably determine that
produced index signature is valid (#10490)
- eslint-plugin: [no-unnecessary-condition] don't
flag values of an unconstrained or valid type parameter (#10473)
- eslint-plugin: [prefer-reduce-type-parameter] don't
report cases in which the fix results in a type error (#10494)
- eslint-plugin: [no-deprecated] not reporting usages
of deprecated declared constants as object value (#10498)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
8.18.1 (2024-12-16)
🩹 Fixes
- scope-manager: visit params decorator before nest
scope (#10475)
- eslint-plugin: [no-unnecessary-condition] better
message when comparing between literal types (#10454)
- eslint-plugin: use consistent naming for asserting
types and casting values (#10472)
- eslint-plugin:
[no-unnecessary-boolean-literal-compare] flag values of a type parameter
with boolean type constraints (#10474)
- eslint-plugin: handle string like index type (#10460)
- eslint-plugin: [no-unnecessary-template-expression]
don't report when an expression includes comment (#10444)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
157b781
chore(release): publish 8.18.2
83c3bbf
fix(eslint-plugin): [no-unnecessary-condition] handle
noUncheckedIndexedAcces...
c6a387f
fix(eslint-plugin): [consistent-type-assertions] allow default
assertionStyle...
4747299
fix(eslint-plugin): [no-unnecessary-type-arguments] handle type/value
context...
4c91ed5
fix(eslint-plugin): [no-unsafe-type-assertion] fix for unsafe assertion
to a ...
91e7217
fix(eslint-plugin): [consistent-indexed-object-style] use a suggestion
over a...
dfd550d
chore(deps): update dependency prettier to v3.4.2 (#10478)
8ca9cba
fix(eslint-plugin): [no-unnecessary-condition] don't flag values of an
uncons...
ba39dde
fix(eslint-plugin): [prefer-reduce-type-parameter] don't report cases in
whic...
6c75493
fix(eslint-plugin): [no-deprecated] not reporting usages of deprecated
declar...
- Additional commits viewable in compare
view
Updates `@typescript-eslint/parser` from 8.18.0 to 8.18.2
Release notes
Sourced from @typescript-eslint/parser
's
releases.
v8.18.2
8.18.2 (2024-12-23)
🩹 Fixes
- eslint-plugin: [no-deprecated] not reporting usages
of deprecated declared constants as object value (#10498)
- eslint-plugin: [prefer-reduce-type-parameter] don't
report cases in which the fix results in a type error (#10494)
- eslint-plugin: [no-unnecessary-condition] don't
flag values of an unconstrained or valid type parameter (#10473)
- eslint-plugin: [consistent-indexed-object-style]
use a suggestion over an auto-fix if can't reliably determine that
produced index signature is valid (#10490)
- eslint-plugin: [no-unsafe-type-assertion] fix for
unsafe assertion to a constrained type parameter (#10461)
- eslint-plugin: [no-unnecessary-type-arguments]
handle type/value context (#10503)
- eslint-plugin: [consistent-type-assertions] allow
default assertionStyle option (#10512)
- eslint-plugin: [no-unnecessary-condition] handle
noUncheckedIndexedAccess true (#10514)
- typescript-eslint: export types so that
declarations can be named for dts files (#10513)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
v8.18.1
8.18.1 (2024-12-16)
🩹 Fixes
- eslint-plugin: [no-unnecessary-template-expression]
don't report when an expression includes comment (#10444)
- eslint-plugin: handle string like index type (#10460)
- eslint-plugin:
[no-unnecessary-boolean-literal-compare] flag values of a type parameter
with boolean type constraints (#10474)
- eslint-plugin: use consistent naming for asserting
types and casting values (#10472)
- eslint-plugin: [no-unnecessary-condition] better
message when comparing between literal types (#10454)
- scope-manager: visit params decorator before nest
scope (#10475)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/parser
's
changelog.
8.18.2 (2024-12-23)
This was a version bump only for parser to align it with other
projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
8.18.1 (2024-12-16)
This was a version bump only for parser to align it with other
projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
Updates `eslint-plugin-import-x` from 4.5.0 to 4.6.1
Release notes
Sourced from eslint-plugin-import-x's
releases.
v4.6.1
Patch Changes
v4.6.0
Minor Changes
-
#209
46d2360
Thanks @SukkaW
! -
When eslint-plugin-import-x
was forked from
eslint-plugin-import
, we copied over the default resolver
(which is eslint-import-resolver-node
) as well. However,
this resolver doesn't supports exports
in the
package.json
file, and the current maintainer of the
eslint-import-resolver-node
(ljharb) doesn't have the time
implementing this feature and he locked the issue import-js/eslint-plugin-import#1810.
So we decided to implement our own resolver that "just
works". The new resolver is built upon the enhanced-resolve
that implements the full Node.js Resolver
Algorithm. The new resolver only implements the import resolver
interface v3, which means you can only use it with ESLint Flat config.
For more details about the import resolver interface v3, please check
out #192.
In the next major version of eslint-plugin-import-x
, we
will remove the eslint-import-resolver-node
and use this
new resolver by default. In the meantime, you can try out this new
resolver by setting the import-x/resolver-next
option in
your eslint.config.js
file:
// eslint.config.js
const eslintPluginImportX = require('eslint-plugin-import-x');
const { createNodeResolver } = eslintPluginImportX;
module.exports = {
plugins: {
'import-x': eslintPluginImportX,
},
settings: {
'import-x/resolver-next': [
// This is the new resolver we are introducing
createNodeResolver({
/**
* The allowed extensions the resolver will attempt to find when
resolving a module
* By default it uses a relaxed extension list to search for both ESM and
CJS modules
* You can customize this list to fit your needs
*
* @default
['.mjs', '.cjs', '.js', '.json', '.node']
/
extensions?: string[];
/*
* Optional, the import conditions the resolver will used when reading
the exports map from "package.json"
* By default it uses a relaxed condition list to search for both ESM and
CJS modules
* You can customize this list to fit your needs
*
* @default
['default', 'module', 'import', 'require']
/
conditions: ['default', 'module', 'import', 'require'],
// You can pass more options here, see the enhanced-resolve
documentation for more details
//
https://github.com/webpack/enhanced-resolve/tree/v5.17.1?tab=readme-ov-file#resolver-options
}),
// you can add more resolvers down below
require('eslint-import-resolver-typescript').createTypeScriptImportResolver(
/* options of eslint-import-resolver-typescript */
... (truncated)
Changelog
Sourced from eslint-plugin-import-x's
changelog.
4.6.1
Patch Changes
4.6.0
Minor Changes
-
#209
46d2360
Thanks @SukkaW
! -
When eslint-plugin-import-x
was forked from
eslint-plugin-import
, we copied over the default resolver
(which is eslint-import-resolver-node
) as well. However,
this resolver doesn't supports exports
in the
package.json
file, and the current maintainer of the
eslint-import-resolver-node
(ljharb) doesn't have the time
implementing this feature and he locked the issue import-js/eslint-plugin-import#1810.
So we decided to implement our own resolver that "just
works". The new resolver is built upon the enhanced-resolve
that implements the full Node.js Resolver
Algorithm. The new resolver only implements the import resolver
interface v3, which means you can only use it with ESLint Flat config.
For more details about the import resolver interface v3, please check
out #192.
In the next major version of eslint-plugin-import-x
, we
will remove the eslint-import-resolver-node
and use this
new resolver by default. In the meantime, you can try out this new
resolver by setting the import-x/resolver-next
option in
your eslint.config.js
file:
// eslint.config.js
const eslintPluginImportX = require('eslint-plugin-import-x');
const { createNodeResolver } = eslintPluginImportX;
module.exports = {
plugins: {
'import-x': eslintPluginImportX,
},
settings: {
'import-x/resolver-next': [
// This is the new resolver we are introducing
createNodeResolver({
/**
* The allowed extensions the resolver will attempt to find when
resolving a module
* By default it uses a relaxed extension list to search for both ESM and
CJS modules
* You can customize this list to fit your needs
*
* @default
['.mjs', '.cjs', '.js', '.json', '.node']
/
extensions?: string[];
/*
* Optional, the import conditions the resolver will used when reading
the exports map from "package.json"
* By default it uses a relaxed condition list to search for both ESM and
CJS modules
* You can customize this list to fit your needs
*
* @default
['default', 'module', 'import', 'require']
*/
conditions: ['default', 'module', 'import', 'require'],
// You can pass more options here, see the enhanced-resolve
documentation for more details
//
https://github.com/webpack/enhanced-resolve/tree/v5.17.1?tab=readme-ov-file#resolver-options
}),
// you can add more resolvers down below
require('eslint-import-resolver-typescript').createTypeScriptImportResolver(
... (truncated)
Commits
1ff90b8
chore: release eslint-plugin-import-x (#213)
be9c3e8
fix: move enhanced-resolve
to prod deps (#211)
c3950d4
chore: release eslint-plugin-import-x (#207)
46d2360
feat: implement a resolver that supports exports
(#209)
449738f
fix(no-duplicates): autofix insert type prefix without new line (#206)
af711e5
chore: release eslint-plugin-import-x (#202)
32e9b55
fix(no-duplicates
): merge type import as
with
value import (#204)
ac6d2e1
fix: include @types/doctrine
to dependencies
(#198)
- See full diff in compare
view
Updates `eslint-plugin-jest` from 28.9.0 to 28.10.0
Release notes
Sourced from eslint-plugin-jest's
releases.
v28.10.0
Features
- unbound-method: ignore functions passed to
jest.mocked
(#1681)
(d868636)
Changelog
Sourced from eslint-plugin-jest's
changelog.
Features
- unbound-method: ignore functions passed to
jest.mocked
(#1681)
(d868636)
Commits
Updates `eslint-plugin-n` from 17.15.0 to 17.15.1
Release notes
Sourced from eslint-plugin-n's
releases.
v17.15.1
🩹 Fixes
- Promise.withResolvers is supported since node 22.11 (#398)
(c5bcb3a)
Changelog
Sourced from eslint-plugin-n's
changelog.
🩹 Fixes
- Promise.withResolvers is supported since node 22.11 (#398)
(c5bcb3a)
Commits
Updates `typescript-eslint` from 8.18.0 to 8.18.2
Release notes
Sourced from typescript-eslint's
releases.
v8.18.2
8.18.2 (2024-12-23)
🩹 Fixes
- eslint-plugin: [no-deprecated] not reporting usages
of deprecated declared constants as object value (#10498)
- eslint-plugin: [prefer-reduce-type-parameter] don't
report cases in which the fix results in a type error (#10494)
- eslint-plugin: [no-unnecessary-condition] don't
flag values of an unconstrained or valid type parameter (#10473)
- eslint-plugin: [consistent-indexed-object-style]
use a suggestion over an auto-fix if can't reliably determine that
produced index signature is valid (#10490)
- eslint-plugin: [no-unsafe-type-assertion] fix for
unsafe assertion to a constrained type parameter (#10461)
- eslint-plugin: [no-unnecessary-type-arguments]
handle type/value context (#10503)
- eslint-plugin: [consistent-type-assertions] allow
default assertionStyle option (#10512)
- eslint-plugin: [no-unnecessary-condition] handle
noUncheckedIndexedAccess true (#10514)
- typescript-eslint: export types so that
declarations can be named for dts files (#10513)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
v8.18.1
8.18.1 (2024-12-16)
🩹 Fixes
- eslint-plugin: [no-unnecessary-template-expression]
don't report when an expression includes comment (#10444)
- eslint-plugin: handle string like index type (#10460)
- eslint-plugin:
[no-unnecessary-boolean-literal-compare] flag values of a type parameter
with boolean type constraints (#10474)
- eslint-plugin: use consistent naming for asserting
types and casting values (#10472)
- eslint-plugin: [no-unnecessary-condition] better
message when comparing between literal types (#10454)
- scope-manager: visit params decorator before nest
scope (#10475)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from typescript-eslint's
changelog.
8.18.2 (2024-12-23)
🩹 Fixes
- typescript-eslint: export types so that
declarations can be named for dts files (#10513)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
8.18.1 (2024-12-16)
This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
157b781
chore(release): publish 8.18.2
d24a828
fix(typescript-eslint): export types so that declarations can be named
for dt...
b2ce158
chore(release): publish 8.18.1
- See full diff in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 134 ++++++++++++++++++++++++----------------------
package.json | 12 ++---
2 files changed, 77 insertions(+), 69 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index e86a4ef3f..31bcf2f16 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,17 +18,17 @@
"@types/jest-specific-snapshot": "^0.5.9",
"@types/node": "^22.10.2",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.18.0",
- "@typescript-eslint/parser": "^8.18.0",
+ "@typescript-eslint/eslint-plugin": "^8.18.2",
+ "@typescript-eslint/parser": "^8.18.2",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-import": "^2.31.0",
- "eslint-plugin-import-x": "^4.5.0",
- "eslint-plugin-jest": "^28.9.0",
- "eslint-plugin-n": "^17.15.0",
+ "eslint-plugin-import-x": "^4.6.1",
+ "eslint-plugin-jest": "^28.10.0",
+ "eslint-plugin-n": "^17.15.1",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-simple-import-sort": "^12.1.1",
"fast-sort": "^3.4.1",
@@ -41,7 +41,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.18.0",
+ "typescript-eslint": "^8.18.2",
"yaml": "^2.6.1"
},
"engines": {
@@ -1393,6 +1393,12 @@
"@types/ms": "*"
}
},
+ "node_modules/@types/doctrine": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz",
+ "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==",
+ "dev": true
+ },
"node_modules/@types/estree": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
@@ -1496,16 +1502,16 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.0.tgz",
- "integrity": "sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz",
+ "integrity": "sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.18.0",
- "@typescript-eslint/type-utils": "8.18.0",
- "@typescript-eslint/utils": "8.18.0",
- "@typescript-eslint/visitor-keys": "8.18.0",
+ "@typescript-eslint/scope-manager": "8.18.2",
+ "@typescript-eslint/type-utils": "8.18.2",
+ "@typescript-eslint/utils": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1525,15 +1531,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.0.tgz",
- "integrity": "sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.2.tgz",
+ "integrity": "sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "8.18.0",
- "@typescript-eslint/types": "8.18.0",
- "@typescript-eslint/typescript-estree": "8.18.0",
- "@typescript-eslint/visitor-keys": "8.18.0",
+ "@typescript-eslint/scope-manager": "8.18.2",
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/typescript-estree": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2",
"debug": "^4.3.4"
},
"engines": {
@@ -1549,13 +1555,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.0.tgz",
- "integrity": "sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz",
+ "integrity": "sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.18.0",
- "@typescript-eslint/visitor-keys": "8.18.0"
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1566,13 +1572,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.0.tgz",
- "integrity": "sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz",
+ "integrity": "sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.18.0",
- "@typescript-eslint/utils": "8.18.0",
+ "@typescript-eslint/typescript-estree": "8.18.2",
+ "@typescript-eslint/utils": "8.18.2",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -1589,9 +1595,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.0.tgz",
- "integrity": "sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.2.tgz",
+ "integrity": "sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1602,13 +1608,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.0.tgz",
- "integrity": "sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz",
+ "integrity": "sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.18.0",
- "@typescript-eslint/visitor-keys": "8.18.0",
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -1652,15 +1658,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.0.tgz",
- "integrity": "sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.2.tgz",
+ "integrity": "sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.18.0",
- "@typescript-eslint/types": "8.18.0",
- "@typescript-eslint/typescript-estree": "8.18.0"
+ "@typescript-eslint/scope-manager": "8.18.2",
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/typescript-estree": "8.18.2"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1675,12 +1681,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.0.tgz",
- "integrity": "sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz",
+ "integrity": "sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.18.0",
+ "@typescript-eslint/types": "8.18.2",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -2894,15 +2900,17 @@
}
},
"node_modules/eslint-plugin-import-x": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.5.0.tgz",
- "integrity": "sha512-l0OTfnPF8RwmSXfjT75N8d6ZYLVrVYWpaGlgvVkVqFERCI5SyBfDP7QEMr3kt0zWi2sOa9EQ47clbdFsHkF83Q==",
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.6.1.tgz",
+ "integrity": "sha512-wluSUifMIb7UfwWXqx7Yx0lE/SGCcGXECLx/9bCmbY2nneLwvAZ4vkd1IXDjPKFvdcdUgr1BaRnaRpx3k2+Pfw==",
"dev": true,
"dependencies": {
+ "@types/doctrine": "^0.0.9",
"@typescript-eslint/scope-manager": "^8.1.0",
"@typescript-eslint/utils": "^8.1.0",
"debug": "^4.3.4",
"doctrine": "^3.0.0",
+ "enhanced-resolve": "^5.17.1",
"eslint-import-resolver-node": "^0.3.9",
"get-tsconfig": "^4.7.3",
"is-glob": "^4.0.3",
@@ -3000,9 +3008,9 @@
}
},
"node_modules/eslint-plugin-jest": {
- "version": "28.9.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.9.0.tgz",
- "integrity": "sha512-rLu1s1Wf96TgUUxSw6loVIkNtUjq1Re7A9QdCCHSohnvXEBAjuL420h0T/fMmkQlNsQP2GhQzEUpYHPfxBkvYQ==",
+ "version": "28.10.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.10.0.tgz",
+ "integrity": "sha512-hyMWUxkBH99HpXT3p8hc7REbEZK3D+nk8vHXGgpB+XXsi0gO4PxMSP+pjfUzb67GnV9yawV9a53eUmcde1CCZA==",
"dev": true,
"dependencies": {
"@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0"
@@ -3025,9 +3033,9 @@
}
},
"node_modules/eslint-plugin-n": {
- "version": "17.15.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.15.0.tgz",
- "integrity": "sha512-xF3zJkOfLlFOm5TvmqmsnA9/fO+/z2pYs0dkuKXKN/ymS6UB1yEcaoIkqxLKQ9Dw/WmLX/Tdh6/5ZS5azVixFQ==",
+ "version": "17.15.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.15.1.tgz",
+ "integrity": "sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.1",
@@ -6303,14 +6311,14 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.0.tgz",
- "integrity": "sha512-Xq2rRjn6tzVpAyHr3+nmSg1/9k9aIHnJ2iZeOH7cfGOWqTkXTm3kwpQglEuLGdNrYvPF+2gtAs+/KF5rjVo+WQ==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.2.tgz",
+ "integrity": "sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.18.0",
- "@typescript-eslint/parser": "8.18.0",
- "@typescript-eslint/utils": "8.18.0"
+ "@typescript-eslint/eslint-plugin": "8.18.2",
+ "@typescript-eslint/parser": "8.18.2",
+ "@typescript-eslint/utils": "8.18.2"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
diff --git a/package.json b/package.json
index 246749261..30c154510 100644
--- a/package.json
+++ b/package.json
@@ -16,17 +16,17 @@
"@types/jest-specific-snapshot": "^0.5.9",
"@types/node": "^22.10.2",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.18.0",
- "@typescript-eslint/parser": "^8.18.0",
+ "@typescript-eslint/eslint-plugin": "^8.18.2",
+ "@typescript-eslint/parser": "^8.18.2",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-import": "^2.31.0",
- "eslint-plugin-import-x": "^4.5.0",
- "eslint-plugin-jest": "^28.9.0",
- "eslint-plugin-n": "^17.15.0",
+ "eslint-plugin-import-x": "^4.6.1",
+ "eslint-plugin-jest": "^28.10.0",
+ "eslint-plugin-n": "^17.15.1",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-simple-import-sort": "^12.1.1",
"fast-sort": "^3.4.1",
@@ -39,7 +39,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.18.0",
+ "typescript-eslint": "^8.18.2",
"yaml": "^2.6.1"
},
"bundleDependencies": [
From 39eb980698d2c15e22804a4d4e217bf270fe7670 Mon Sep 17 00:00:00 2001
From: "trunk-open-pr-bot[bot]"
<131314627+trunk-open-pr-bot[bot]@users.noreply.github.com>
Date: Mon, 30 Dec 2024 16:18:39 -0500
Subject: [PATCH 04/27] Auto-add missing snapshots (#938)
Create new snapshots from
https://github.com/trunk-io/plugins/actions/runs/12544947832
---------
Co-authored-by: TylerJang27 <42743566+TylerJang27@users.noreply.github.com>
Co-authored-by: Tyler Jang
---
.../gitleaks_v8.22.0_basic.check.shot | 68 +++++++++++++++++++
.../opa/test_data/opa_v1.0.0_basic.fmt.shot | 18 +++++
2 files changed, 86 insertions(+)
create mode 100644 linters/gitleaks/test_data/gitleaks_v8.22.0_basic.check.shot
create mode 100644 linters/opa/test_data/opa_v1.0.0_basic.fmt.shot
diff --git a/linters/gitleaks/test_data/gitleaks_v8.22.0_basic.check.shot b/linters/gitleaks/test_data/gitleaks_v8.22.0_basic.check.shot
new file mode 100644
index 000000000..d9bc1f9cb
--- /dev/null
+++ b/linters/gitleaks/test_data/gitleaks_v8.22.0_basic.check.shot
@@ -0,0 +1,68 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter gitleaks test basic 1`] = `
+{
+ "issues": [
+ {
+ "code": "aws-access-token",
+ "column": "15",
+ "file": "test_data/basic.py",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "3",
+ "linter": "gitleaks",
+ "message": "aws-access-token has detected secret for file test_data/basic.py.",
+ "ranges": [
+ {
+ "filePath": "test_data/basic.py",
+ "length": "19",
+ "offset": "58",
+ },
+ ],
+ "targetType": "ALL",
+ },
+ {
+ "code": "private-key",
+ "column": "19",
+ "file": "test_data/basic.py",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "5",
+ "linter": "gitleaks",
+ "message": "private-key has detected secret for file test_data/basic.py.",
+ "ranges": [
+ {
+ "filePath": "test_data/basic.py",
+ "length": "397",
+ "offset": "98",
+ },
+ ],
+ "targetType": "ALL",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "gitleaks",
+ "paths": [
+ "test_data/basic.py",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "gitleaks",
+ "paths": [
+ "test_data/basic.py",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
diff --git a/linters/opa/test_data/opa_v1.0.0_basic.fmt.shot b/linters/opa/test_data/opa_v1.0.0_basic.fmt.shot
new file mode 100644
index 000000000..f63e8ba9e
--- /dev/null
+++ b/linters/opa/test_data/opa_v1.0.0_basic.fmt.shot
@@ -0,0 +1,18 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing formatter opa test basic 1`] = `
+"package authz
+
+import rego.v1
+
+default allow := false
+
+allow if {
+ isEmployee
+ "developer" in input.user.roles
+}
+
+isEmployee if regex.match("@acmecorp\\\\.com$", input.user.email)
+"
+`;
From b2fa5cedf175b293951278ab79999a68ac40bce3 Mon Sep 17 00:00:00 2001
From: Nelly Whads
Date: Mon, 30 Dec 2024 17:11:38 -0500
Subject: [PATCH 05/27] Ignore *.dockerignore files as they do not conform to
the Dockerfile spec (#943)
[Docker supports ignore
files](https://docs.docker.com/build/concepts/context/#dockerignore-files)
to keep build contexts clean.
The current configuration ignores the generic `.dockerignore` as
expected, [but attempts to lint Dockerfile-specific
configurations](https://docs.docker.com/build/concepts/context/#filename-and-location)
such as `Dockerfile.dockerignore`, `test.Dockerfile.dockerignore` and
`Dockerfile.build.dockerignore`.
This PR aims to resolve this bug.
Co-authored-by: Neil Wadhvana
---
linters/plugin.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linters/plugin.yaml b/linters/plugin.yaml
index 3150762b0..80d991b1f 100644
--- a/linters/plugin.yaml
+++ b/linters/plugin.yaml
@@ -202,7 +202,7 @@ lint:
# ?: is a non-capturing group, so that the RE2 DFA is more memory efficient
# NOTE(Tyler): This is more strict than it realistically needs to be, but this partial match
# and the file extensions provide a general enough capture.
- - (?i)(?:^|/)Dockerfile\..+$
+ - (?i)(?:^|/)Dockerfile\.(?!.*\.dockerignore$).+$
filenames:
- dockerfile
- Dockerfile
From cc08b6faa9173aa647d45782a00a144555947874 Mon Sep 17 00:00:00 2001
From: Tyler Jang
Date: Mon, 30 Dec 2024 17:41:28 -0500
Subject: [PATCH 06/27] (Fix): Remove tf.json filetype from terraform (#945)
Fixes https://github.com/trunk-io/plugins/issues/941. Verified repro
with terraform and tofu format on `x.tf.json` files. Did a bit of
research as well to make sure our other security scanners don't scan
`.tf.json` files, and we should be fine.
---
linters/plugin.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/linters/plugin.yaml b/linters/plugin.yaml
index 80d991b1f..8255d467a 100644
--- a/linters/plugin.yaml
+++ b/linters/plugin.yaml
@@ -592,7 +592,6 @@ lint:
- name: terraform
extensions:
- tf
- - tf.json
comments:
- hash
- slashes-inline
From 8874a8d3485ef21ef60abc753386f43cab72f683 Mon Sep 17 00:00:00 2001
From: Nelly Whads
Date: Mon, 30 Dec 2024 17:41:42 -0500
Subject: [PATCH 07/27] Update cuda source file types (#942)
Replicates the file type structure from C files to Cuda files.
* Source file convention remains `*.cu`
* Header file convention is added to include `*.cuh` files
The community-adopted `*.cuh` convention is exemplified in many
large-scale public repositories, [including
torch](https://github.com/search?q=repo%3Apytorch%2Fpytorch%20path%3A*.cuh&type=code).
Co-authored-by: Neil Wadhvana
---
linters/plugin.yaml | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/linters/plugin.yaml b/linters/plugin.yaml
index 8255d467a..9500c0505 100644
--- a/linters/plugin.yaml
+++ b/linters/plugin.yaml
@@ -170,6 +170,18 @@ lint:
- slashes-block
- name: cuda
+ inherit:
+ - cuda-header
+ - cuda-source
+
+ - name: cuda-header
+ extensions:
+ - cuh
+ comments:
+ - slashes-block
+ - slashes-inline
+
+ - name: cuda-source
extensions:
- cu
comments:
From b4a3a0bc2e70a44e6b0e6a80aa7bac6967db6922 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 10:51:20 -0800
Subject: [PATCH 08/27] Bump the dependencies group with 5 updates (#949)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `22.10.2` | `22.10.5` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.18.2` | `8.19.0` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.18.2` | `8.19.0` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.18.2` | `8.19.0` |
| [yaml](https://github.com/eemeli/yaml) | `2.6.1` | `2.7.0` |
Updates `@types/node` from 22.10.2 to 22.10.5
Commits
Updates `@typescript-eslint/eslint-plugin` from 8.18.2 to 8.19.0
Release notes
Sourced from @typescript-eslint/eslint-plugin
's
releases.
v8.19.0
8.19.0 (2024-12-30)
🚀 Features
- eslint-plugin: [strict-boolean-expressions] check
array predicate functions' return statements (#10106)
🩹 Fixes
- eslint-plugin: add getConstraintInfo to handle
generic constraints better (#10496)
- eslint-plugin: [array-type] autofix with
conditional types needs parentheses (#10522)
- eslint-plugin: [consistent-indexed-object-style]
don't report on indirect circular references (#10537)
- eslint-plugin: [member-ordering] ignore method
overloading (#10536)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/eslint-plugin
's
changelog.
8.19.0 (2024-12-30)
🚀 Features
- eslint-plugin: [strict-boolean-expressions] check
array predicate functions' return statements (#10106)
🩹 Fixes
- eslint-plugin: [member-ordering] ignore method
overloading (#10536)
- eslint-plugin: [consistent-indexed-object-style]
don't report on indirect circular references (#10537)
- eslint-plugin: [array-type] autofix with
conditional types needs parentheses (#10522)
- eslint-plugin: add getConstraintInfo to handle
generic constraints better (#10496)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
e19f30f
chore(release): publish 8.19.0
9746832
fix(eslint-plugin): [member-ordering] ignore method overloading (#10536)
7eba36e
fix(eslint-plugin): [consistent-indexed-object-style] don't report on
indirec...
3097930
fix(eslint-plugin): [array-type] autofix with conditional types needs
parenth...
2e2731d
fix(eslint-plugin): add getConstraintInfo to handle generic constraints
bette...
07d0e0d
feat(eslint-plugin): [strict-boolean-expressions] check array predicate
funct...
- See full diff in compare
view
Updates `@typescript-eslint/parser` from 8.18.2 to 8.19.0
Release notes
Sourced from @typescript-eslint/parser
's
releases.
v8.19.0
8.19.0 (2024-12-30)
🚀 Features
- eslint-plugin: [strict-boolean-expressions] check
array predicate functions' return statements (#10106)
🩹 Fixes
- eslint-plugin: add getConstraintInfo to handle
generic constraints better (#10496)
- eslint-plugin: [array-type] autofix with
conditional types needs parentheses (#10522)
- eslint-plugin: [consistent-indexed-object-style]
don't report on indirect circular references (#10537)
- eslint-plugin: [member-ordering] ignore method
overloading (#10536)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/parser
's
changelog.
8.19.0 (2024-12-30)
This was a version bump only for parser to align it with other
projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
Updates `typescript-eslint` from 8.18.2 to 8.19.0
Release notes
Sourced from typescript-eslint's
releases.
v8.19.0
8.19.0 (2024-12-30)
🚀 Features
- eslint-plugin: [strict-boolean-expressions] check
array predicate functions' return statements (#10106)
🩹 Fixes
- eslint-plugin: add getConstraintInfo to handle
generic constraints better (#10496)
- eslint-plugin: [array-type] autofix with
conditional types needs parentheses (#10522)
- eslint-plugin: [consistent-indexed-object-style]
don't report on indirect circular references (#10537)
- eslint-plugin: [member-ordering] ignore method
overloading (#10536)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from typescript-eslint's
changelog.
8.19.0 (2024-12-30)
This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
Updates `yaml` from 2.6.1 to 2.7.0
Release notes
Sourced from yaml's
releases.
v2.7.0
The library is now available on JSR as @eemeli/yaml
and on
deno.land/x as yaml. In addition
to Node.js and browsers, it should work in Deno, Bun, and Cloudflare
Workers.
- Use .ts extension in all relative imports (#591)
- Ignore newline after block seq indicator as space before value (#590)
- Require Node.js 14.18 or later (was 14.6) (#598)
Commits
8f512b5
2.7.0
8a7569a
ci: Add jsr.jsonc & jsr-publish workflow
8ef085f
docs: Fix API docs links
374c19c
style: Really use explicit imports for process.env and Buffer
1ab037d
style: Include explicit type declarations on all public APIs
4354c42
style: Use explicit imports for process.env and Buffer
2c55723
Merge pull request #591 from
eemeli/import-ts
ab240c1
fix: Drop .ts extension from import & export paths in .d.ts
files
c4c49f9
fix: Use separate rather than inline type keyword for TS
compatibility
3bec004
ci: Add deno smoke test
- Additional commits viewable in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 119 +++++++++++++++++++++++-----------------------
package.json | 10 ++--
2 files changed, 64 insertions(+), 65 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 31bcf2f16..4a1a66a3a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,10 +16,10 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.2",
+ "@types/node": "^22.10.5",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.18.2",
- "@typescript-eslint/parser": "^8.18.2",
+ "@typescript-eslint/eslint-plugin": "^8.19.0",
+ "@typescript-eslint/parser": "^8.19.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -41,8 +41,8 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.18.2",
- "yaml": "^2.6.1"
+ "typescript-eslint": "^8.19.0",
+ "yaml": "^2.7.0"
},
"engines": {
"node": ">=16"
@@ -1469,9 +1469,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.10.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz",
- "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==",
+ "version": "22.10.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
+ "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
"dev": true,
"dependencies": {
"undici-types": "~6.20.0"
@@ -1502,16 +1502,16 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz",
- "integrity": "sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz",
+ "integrity": "sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.18.2",
- "@typescript-eslint/type-utils": "8.18.2",
- "@typescript-eslint/utils": "8.18.2",
- "@typescript-eslint/visitor-keys": "8.18.2",
+ "@typescript-eslint/scope-manager": "8.19.0",
+ "@typescript-eslint/type-utils": "8.19.0",
+ "@typescript-eslint/utils": "8.19.0",
+ "@typescript-eslint/visitor-keys": "8.19.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1531,15 +1531,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.2.tgz",
- "integrity": "sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.0.tgz",
+ "integrity": "sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "8.18.2",
- "@typescript-eslint/types": "8.18.2",
- "@typescript-eslint/typescript-estree": "8.18.2",
- "@typescript-eslint/visitor-keys": "8.18.2",
+ "@typescript-eslint/scope-manager": "8.19.0",
+ "@typescript-eslint/types": "8.19.0",
+ "@typescript-eslint/typescript-estree": "8.19.0",
+ "@typescript-eslint/visitor-keys": "8.19.0",
"debug": "^4.3.4"
},
"engines": {
@@ -1555,13 +1555,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz",
- "integrity": "sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz",
+ "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.18.2",
- "@typescript-eslint/visitor-keys": "8.18.2"
+ "@typescript-eslint/types": "8.19.0",
+ "@typescript-eslint/visitor-keys": "8.19.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1572,13 +1572,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz",
- "integrity": "sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz",
+ "integrity": "sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.18.2",
- "@typescript-eslint/utils": "8.18.2",
+ "@typescript-eslint/typescript-estree": "8.19.0",
+ "@typescript-eslint/utils": "8.19.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -1595,9 +1595,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.2.tgz",
- "integrity": "sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz",
+ "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1608,13 +1608,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz",
- "integrity": "sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz",
+ "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.18.2",
- "@typescript-eslint/visitor-keys": "8.18.2",
+ "@typescript-eslint/types": "8.19.0",
+ "@typescript-eslint/visitor-keys": "8.19.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -1658,15 +1658,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.2.tgz",
- "integrity": "sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz",
+ "integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.18.2",
- "@typescript-eslint/types": "8.18.2",
- "@typescript-eslint/typescript-estree": "8.18.2"
+ "@typescript-eslint/scope-manager": "8.19.0",
+ "@typescript-eslint/types": "8.19.0",
+ "@typescript-eslint/typescript-estree": "8.19.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1681,12 +1681,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz",
- "integrity": "sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz",
+ "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/types": "8.19.0",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -6311,14 +6311,14 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.2.tgz",
- "integrity": "sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.0.tgz",
+ "integrity": "sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.18.2",
- "@typescript-eslint/parser": "8.18.2",
- "@typescript-eslint/utils": "8.18.2"
+ "@typescript-eslint/eslint-plugin": "8.19.0",
+ "@typescript-eslint/parser": "8.19.0",
+ "@typescript-eslint/utils": "8.19.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -6525,11 +6525,10 @@
"license": "ISC"
},
"node_modules/yaml": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz",
- "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz",
+ "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==",
"dev": true,
- "license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
diff --git a/package.json b/package.json
index 30c154510..6f62c41df 100644
--- a/package.json
+++ b/package.json
@@ -14,10 +14,10 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.2",
+ "@types/node": "^22.10.5",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.18.2",
- "@typescript-eslint/parser": "^8.18.2",
+ "@typescript-eslint/eslint-plugin": "^8.19.0",
+ "@typescript-eslint/parser": "^8.19.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -39,8 +39,8 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.18.2",
- "yaml": "^2.6.1"
+ "typescript-eslint": "^8.19.0",
+ "yaml": "^2.7.0"
},
"bundleDependencies": [
"tests"
From 6fffc1d95ca9ba89704bfe14eeba051b213ef45f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 10:51:48 -0800
Subject: [PATCH 09/27] Bump the dependencies group with 2 updates (#939)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 2 updates:
[github/codeql-action](https://github.com/github/codeql-action) and
[actions/upload-artifact](https://github.com/actions/upload-artifact).
Updates `github/codeql-action` from 3.27.9 to 3.28.0
Release notes
Sourced from github/codeql-action's
releases.
v3.28.0
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
Note that the only difference between v2
and
v3
of the CodeQL Action is the node version they support,
with v3
running on node 20 while we continue to release
v2
to support running on node 16. For example
3.22.11
was the first v3
release and is
functionally identical to 2.22.11
. This approach ensures an
easy way to track exactly which features are included in different
versions, indicated by the minor and patch version numbers.
3.28.0 - 20 Dec 2024
- Bump the minimum CodeQL bundle version to 2.15.5. #2655
- Don't fail in the unusual case that a file is on the search path. #2660.
See the full CHANGELOG.md
for more information.
Changelog
Sourced from github/codeql-action's
changelog.
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
Note that the only difference between v2
and
v3
of the CodeQL Action is the node version they support,
with v3
running on node 20 while we continue to release
v2
to support running on node 16. For example
3.22.11
was the first v3
release and is
functionally identical to 2.22.11
. This approach ensures an
easy way to track exactly which features are included in different
versions, indicated by the minor and patch version numbers.
[UNRELEASED]
No user facing changes.
3.28.0 - 20 Dec 2024
- Bump the minimum CodeQL bundle version to 2.15.5. #2655
- Don't fail in the unusual case that a file is on the search path. #2660.
3.27.9 - 12 Dec 2024
No user facing changes.
3.27.8 - 12 Dec 2024
- Fixed an issue where streaming the download and extraction of the
CodeQL bundle did not respect proxy settings. #2624
3.27.7 - 10 Dec 2024
- We are rolling out a change in December 2024 that will extract the
CodeQL bundle directly to the toolcache to improve performance. #2631
- Update default CodeQL bundle version to 2.20.0. #2636
3.27.6 - 03 Dec 2024
- Update default CodeQL bundle version to 2.19.4. #2626
3.27.5 - 19 Nov 2024
No user facing changes.
3.27.4 - 14 Nov 2024
No user facing changes.
3.27.3 - 12 Nov 2024
No user facing changes.
3.27.2 - 12 Nov 2024
- Fixed an issue where setting up the CodeQL tools would sometimes
fail with the message "Invalid value 'undefined' for header
'authorization'". #2590
3.27.1 - 08 Nov 2024
... (truncated)
Commits
48ab28a
Merge pull request #2662
from github/update-v3.28.0-d01b25e64
4946b76
Update changelog for v3.28.0
d01b25e
Merge pull request #2660
from github/henrymercer/fix-error-file-on-path
7d6d36c
Add changelog note
b58f447
Use @actions/io
to locate binaries
64cc90b
Merge pull request #2653
from github/dependabot/npm_and_yarn/npm-61c837125e
d8f8eca
Merge branch 'main' into dependabot/npm_and_yarn/npm-61c837125e
562042d
Merge pull request #2655
from github/aeisenberg/deprecate-2.14
beed6ff
Change codeql version used in test
5f0a4d3
Bump the minimum supported version of CodeQL to 2.15.5
- Additional commits viewable in compare
view
Updates `actions/upload-artifact` from 4.4.3 to 4.5.0
Release notes
Sourced from actions/upload-artifact's
releases.
v4.5.0
What's Changed
New Contributors
Full Changelog: https://github.com/actions/upload-artifact/compare/v4.4.3...v4.5.0
Commits
6f51ac0
Merge pull request #656
from bdehamer/bdehamer/artifact-digest
c40c16d
add new artifact-digest output
735efb4
bump @actions/artifact
from 2.1.11 to 2.2.0
184d73b
Merge pull request #578
from hamirmahal/fix/deprecated-nodejs-usage-in-action
b4a0a98
Merge branch 'main' into fix/deprecated-nodejs-usage-in-action
- See full diff in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/codeql.yml | 6 +++---
.github/workflows/nightly.yaml | 4 ++--
.github/workflows/scorecard.yml | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index e22d35b23..dad41fce7 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -34,7 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
+ uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
# Override language selection by uncommenting this and choosing your languages
with:
languages: javascript
@@ -42,7 +42,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below).
- name: Autobuild
- uses: github/codeql-action/autobuild@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
+ uses: github/codeql-action/autobuild@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -56,4 +56,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
+ uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml
index e7ee84d05..3fbe1751f 100644
--- a/.github/workflows/nightly.yaml
+++ b/.github/workflows/nightly.yaml
@@ -180,7 +180,7 @@ jobs:
- name: Upload Test Outputs for Upload Job
# Only upload results from latest. Always run, except when cancelled.
if: (failure() || success()) && matrix.linter-version == 'Latest'
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+ uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
name: ${{ matrix.results-file }}-test-results
path: ${{ matrix.results-file }}-res.json
@@ -241,7 +241,7 @@ jobs:
- name: Upload Test Outputs for Notification Job
# Always run, except when cancelled.
if: (failure() || success())
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+ uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
name: tools-${{ matrix.results-file }}-test-results
path: ${{ matrix.results-file }}-res.json
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 5df3f65ab..6740dbd9d 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -57,7 +57,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: Upload artifact
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+ uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
name: SARIF file
path: results.sarif
@@ -65,6 +65,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
+ uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
with:
sarif_file: results.sarif
From bec401be8468d4ef60f7c4e76fe1e63812494f64 Mon Sep 17 00:00:00 2001
From: "trunk-open-pr-bot[bot]"
<131314627+trunk-open-pr-bot[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 10:58:47 -0800
Subject: [PATCH 10/27] Auto-add missing snapshots (#948)
Create new snapshots from
https://github.com/trunk-io/plugins/actions/runs/12649307505
Co-authored-by: TylerJang27 <42743566+TylerJang27@users.noreply.github.com>
---
.../golangci_lint_v1.63.4_all.check.shot | 79 +++++++++++++++++++
.../golangci_lint_v1.63.4_empty.check.shot | 55 +++++++++++++
...langci_lint_v1.63.4_unbuildable.check.shot | 31 ++++++++
3 files changed, 165 insertions(+)
create mode 100644 linters/golangci-lint/test_data/golangci_lint_v1.63.4_all.check.shot
create mode 100644 linters/golangci-lint/test_data/golangci_lint_v1.63.4_empty.check.shot
create mode 100644 linters/golangci-lint/test_data/golangci_lint_v1.63.4_unbuildable.check.shot
diff --git a/linters/golangci-lint/test_data/golangci_lint_v1.63.4_all.check.shot b/linters/golangci-lint/test_data/golangci_lint_v1.63.4_all.check.shot
new file mode 100644
index 000000000..4cfb4238c
--- /dev/null
+++ b/linters/golangci-lint/test_data/golangci_lint_v1.63.4_all.check.shot
@@ -0,0 +1,79 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter golangci-lint test all 1`] = `
+{
+ "issues": [
+ {
+ "code": "godot",
+ "column": "1",
+ "file": "test_data/basic.go",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "issueUrl": "https://golangci-lint.run/usage/linters/",
+ "level": "LEVEL_HIGH",
+ "line": "5",
+ "linter": "golangci-lint",
+ "message": "Comment should end in a period",
+ "targetType": "go",
+ },
+ {
+ "code": "errcheck",
+ "column": "12",
+ "file": "test_data/basic.go",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "issueUrl": "https://golangci-lint.run/usage/linters/",
+ "level": "LEVEL_HIGH",
+ "line": "8",
+ "linter": "golangci-lint",
+ "message": "Error return value of \`time.Parse\` is not checked",
+ "targetType": "go",
+ },
+ {
+ "code": "unused",
+ "column": "6",
+ "file": "test_data/unused_func.go",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "issueUrl": "https://golangci-lint.run/usage/linters/",
+ "level": "LEVEL_HIGH",
+ "line": "5",
+ "linter": "golangci-lint",
+ "message": "func \`helper\` is unused",
+ "targetType": "go",
+ },
+ {
+ "code": "typecheck",
+ "file": "test_data/wrapper/printer.go",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "issueUrl": "https://golangci-lint.run/usage/linters/",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "golangci-lint",
+ "message": ": # golangcilint_linter_test/wrapper
+wrapper/printer.go:12:23: undefined: Wrapper2",
+ "targetType": "go",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "go",
+ "linter": "golangci-lint",
+ "paths": [
+ "test_data",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "go",
+ "linter": "golangci-lint",
+ "paths": [
+ "test_data/wrapper",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
diff --git a/linters/golangci-lint/test_data/golangci_lint_v1.63.4_empty.check.shot b/linters/golangci-lint/test_data/golangci_lint_v1.63.4_empty.check.shot
new file mode 100644
index 000000000..08f295adc
--- /dev/null
+++ b/linters/golangci-lint/test_data/golangci_lint_v1.63.4_empty.check.shot
@@ -0,0 +1,55 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter golangci-lint test empty 1`] = `
+{
+ "issues": [
+ {
+ "code": "typecheck",
+ "column": "1",
+ "file": "test_data/empty.go",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://golangci-lint.run/usage/linters/",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "golangci-lint",
+ "message": "expected 'package', found 'EOF'",
+ "targetType": "go",
+ },
+ {
+ "code": "typecheck",
+ "file": "test_data/wrapper/printer.go",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "issueUrl": "https://golangci-lint.run/usage/linters/",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "golangci-lint",
+ "message": ": # golangcilint_linter_test/wrapper
+wrapper/printer.go:12:23: undefined: Wrapper2",
+ "targetType": "go",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "go",
+ "linter": "golangci-lint",
+ "paths": [
+ "test_data",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "go",
+ "linter": "golangci-lint",
+ "paths": [
+ "test_data/wrapper",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
diff --git a/linters/golangci-lint/test_data/golangci_lint_v1.63.4_unbuildable.check.shot b/linters/golangci-lint/test_data/golangci_lint_v1.63.4_unbuildable.check.shot
new file mode 100644
index 000000000..5e14a0891
--- /dev/null
+++ b/linters/golangci-lint/test_data/golangci_lint_v1.63.4_unbuildable.check.shot
@@ -0,0 +1,31 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter golangci-lint test unbuildable 1`] = `
+{
+ "issues": [
+ {
+ "code": "error",
+ "file": ".",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "level": "LEVEL_HIGH",
+ "linter": "golangci-lint",
+ "message": "typechecking error: build constraints exclude all Go files in /tmp/plugins_",
+ "targetType": "go",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "go",
+ "linter": "golangci-lint",
+ "paths": [
+ ".",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
From 74416c6804fdf2dd380291b3c43602c7f71bc4a7 Mon Sep 17 00:00:00 2001
From: Andrei Liviu Georgescu
<146103342+andreilgeorgescu@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:22:23 -0500
Subject: [PATCH 11/27] Add support for `biome.jsonc` configuration file (#950)
Since `v1.6`, Biome [supports .jsonc for its configuration
file](https://biomejs.dev/blog/biome-v1-6/#support-for-biomejsonc).
---
linters/biome/plugin.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/linters/biome/plugin.yaml b/linters/biome/plugin.yaml
index a4b7a65a9..50c5c53b7 100644
--- a/linters/biome/plugin.yaml
+++ b/linters/biome/plugin.yaml
@@ -39,6 +39,7 @@ lint:
suggest_if: config_present
direct_configs:
- biome.json
+ - biome.jsonc
- rome.json # For backwards compatibility with rome
affects_cache:
- package.json
From 56c8168cfe18a2e63fad9f7ac5a0e24d85d8302e Mon Sep 17 00:00:00 2001
From: Andrei Liviu Georgescu
<146103342+andreilgeorgescu@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:24:20 -0500
Subject: [PATCH 12/27] Update Biome configuration file with additional
supported languages (#951)
I've added [all the languages that are currently fully supported by
Biome](https://biomejs.dev/internals/language-support/).
---
linters/biome/plugin.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/linters/biome/plugin.yaml b/linters/biome/plugin.yaml
index 50c5c53b7..df9005985 100644
--- a/linters/biome/plugin.yaml
+++ b/linters/biome/plugin.yaml
@@ -12,9 +12,11 @@ lint:
# Successor to the rome linter+formatter
- name: biome
files:
- - typescript
+ - css
+ - graphql
- javascript
- json
+ - typescript
description: A static analyzer for web projects
commands:
- name: lint
From 90c77cabfe2f5f318c3af2e8e08934858faad89e Mon Sep 17 00:00:00 2001
From: Tyler Jang
Date: Tue, 7 Jan 2025 15:05:26 -0800
Subject: [PATCH 13/27] (Fix): Use mjs for default svgo config (#952)
See https://github.com/trunk-io/configs/pull/192
---
linters/svgo/{svgo.config.js => svgo.config.mjs} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename linters/svgo/{svgo.config.js => svgo.config.mjs} (93%)
diff --git a/linters/svgo/svgo.config.js b/linters/svgo/svgo.config.mjs
similarity index 93%
rename from linters/svgo/svgo.config.js
rename to linters/svgo/svgo.config.mjs
index b257d1349..55b4a7a11 100644
--- a/linters/svgo/svgo.config.js
+++ b/linters/svgo/svgo.config.mjs
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
plugins: [
{
name: "preset-default",
From 030136c17f8c6777f072efe2796edebbd6eff846 Mon Sep 17 00:00:00 2001
From: Andrei Liviu Georgescu
<146103342+andreilgeorgescu@users.noreply.github.com>
Date: Thu, 9 Jan 2025 13:54:59 -0500
Subject: [PATCH 14/27] Add support for Astro files (#955)
[The documentation shows the two supported comments
styles.](https://docs.astro.build/en/reference/astro-syntax/#comments)
---
linters/biome/plugin.yaml | 1 +
linters/plugin.yaml | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/linters/biome/plugin.yaml b/linters/biome/plugin.yaml
index df9005985..787a60e8f 100644
--- a/linters/biome/plugin.yaml
+++ b/linters/biome/plugin.yaml
@@ -12,6 +12,7 @@ lint:
# Successor to the rome linter+formatter
- name: biome
files:
+ - astro
- css
- graphql
- javascript
diff --git a/linters/plugin.yaml b/linters/plugin.yaml
index 9500c0505..08b7569b3 100644
--- a/linters/plugin.yaml
+++ b/linters/plugin.yaml
@@ -61,6 +61,13 @@ lint:
- slashes-block
- slashes-inline
+ - name: astro
+ extensions:
+ - astro
+ comments:
+ - html-tag
+ - brace-slashes-block
+
- name: bazel-build
extensions:
- BUILD
From 6c19991064de8cbeb7f8933085e8c89243bb8eb8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 13 Jan 2025 09:29:52 -0800
Subject: [PATCH 15/27] Bump the dependencies group with 2 updates (#956)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 2 updates:
[github/codeql-action](https://github.com/github/codeql-action) and
[actions/upload-artifact](https://github.com/actions/upload-artifact).
Updates `github/codeql-action` from 3.28.0 to 3.28.1
Release notes
Sourced from github/codeql-action's
releases.
v3.28.1
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
3.28.1 - 10 Jan 2025
- CodeQL Action v2 is now deprecated, and is no longer updated or
supported. For better performance, improved security, and new features,
upgrade to v3. For more information, see this
changelog post. #2677
- Update default CodeQL bundle version to 2.20.1. #2678
See the full CHANGELOG.md
for more information.
Changelog
Sourced from github/codeql-action's
changelog.
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
[UNRELEASED]
No user facing changes.
3.28.1 - 10 Jan 2025
- CodeQL Action v2 is now deprecated, and is no longer updated or
supported. For better performance, improved security, and new features,
upgrade to v3. For more information, see this
changelog post. #2677
- Update default CodeQL bundle version to 2.20.1. #2678
3.28.0 - 20 Dec 2024
- Bump the minimum CodeQL bundle version to 2.15.5. #2655
- Don't fail in the unusual case that a file is on the search path. #2660.
3.27.9 - 12 Dec 2024
No user facing changes.
3.27.8 - 12 Dec 2024
- Fixed an issue where streaming the download and extraction of the
CodeQL bundle did not respect proxy settings. #2624
3.27.7 - 10 Dec 2024
- We are rolling out a change in December 2024 that will extract the
CodeQL bundle directly to the toolcache to improve performance. #2631
- Update default CodeQL bundle version to 2.20.0. #2636
3.27.6 - 03 Dec 2024
- Update default CodeQL bundle version to 2.19.4. #2626
3.27.5 - 19 Nov 2024
No user facing changes.
3.27.4 - 14 Nov 2024
No user facing changes.
3.27.3 - 12 Nov 2024
No user facing changes.
3.27.2 - 12 Nov 2024
- Fixed an issue where setting up the CodeQL tools would sometimes
fail with the message "Invalid value 'undefined' for header
'authorization'". #2590
... (truncated)
Commits
b6a472f
Merge pull request #2681
from github/update-v3.28.1-ea6acbfea
bb999b4
Update changelog for v3.28.1
ea6acbf
Merge pull request #2677
from github/angelapwen/deprecate-action-v2
4df151e
Merge branch 'main' into angelapwen/deprecate-action-v2
a05a7eb
Fix PR number in changenote
8d2753b
Add public changelog blog post link
e83e0a4
Merge pull request #2673
from github/dependabot/npm_and_yarn/npm-877f465710
b7ff308
Merge pull request #2678
from github/update-bundle/codeql-bundle-v2.20.1
1aa16c2
Merge branch 'main' into update-bundle/codeql-bundle-v2.20.1
fb65b6c
Merge pull request #2672
from github/mbg/start-proxy/include-type-in-urls-output
- Additional commits viewable in compare
view
Updates `actions/upload-artifact` from 4.5.0 to 4.6.0
Release notes
Sourced from actions/upload-artifact's
releases.
v4.6.0
What's Changed
Full Changelog: https://github.com/actions/upload-artifact/compare/v4...v4.6.0
Commits
65c4c4a
Merge pull request #662
from actions/yacaovsnc/add_variable_for_concurrency_a...
0207619
move files back to satisfy licensed ci
1ecca81
licensed cache updates
9742269
Expose env vars to controll concurrency and timeout
- See full diff in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/codeql.yml | 6 +++---
.github/workflows/nightly.yaml | 4 ++--
.github/workflows/scorecard.yml | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index dad41fce7..ad3f95872 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -34,7 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
+ uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
# Override language selection by uncommenting this and choosing your languages
with:
languages: javascript
@@ -42,7 +42,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below).
- name: Autobuild
- uses: github/codeql-action/autobuild@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
+ uses: github/codeql-action/autobuild@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -56,4 +56,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
+ uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml
index 3fbe1751f..1bf379b15 100644
--- a/.github/workflows/nightly.yaml
+++ b/.github/workflows/nightly.yaml
@@ -180,7 +180,7 @@ jobs:
- name: Upload Test Outputs for Upload Job
# Only upload results from latest. Always run, except when cancelled.
if: (failure() || success()) && matrix.linter-version == 'Latest'
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ matrix.results-file }}-test-results
path: ${{ matrix.results-file }}-res.json
@@ -241,7 +241,7 @@ jobs:
- name: Upload Test Outputs for Notification Job
# Always run, except when cancelled.
if: (failure() || success())
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: tools-${{ matrix.results-file }}-test-results
path: ${{ matrix.results-file }}-res.json
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 6740dbd9d..31c97680b 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -57,7 +57,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: Upload artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: SARIF file
path: results.sarif
@@ -65,6 +65,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
+ uses: github/codeql-action/upload-sarif@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
with:
sarif_file: results.sarif
From c641874c68c582e0c26a5390a3657faad0a6d198 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 13 Jan 2025 09:30:16 -0800
Subject: [PATCH 16/27] Bump the dependencies group with 4 updates (#957)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 4 updates:
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin),
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser),
[typescript](https://github.com/microsoft/TypeScript) and
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).
Updates `@typescript-eslint/eslint-plugin` from 8.19.0 to 8.19.1
Release notes
Sourced from @typescript-eslint/eslint-plugin
's
releases.
v8.19.1
8.19.1 (2025-01-06)
🩹 Fixes
- eslint-plugin: [no-base-to-string] check array
generic type (#10437)
- eslint-plugin: [no-shadow] report correctly on
parameters of functions declared with the
declare
keyword
(#10543)
- eslint-plugin: [strict-boolean-expressions] remove
remaining (unsafe) autofixes (#10548)
- eslint-plugin: [no-deprecated] doesn't report on
shorthand property in an object expression (#10550)
❤️ Thank You
- Kirk Waiblinger
- mdm317
- Ronen Amiel
- Yukihiro Hasegawa
@y-hsgw
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/eslint-plugin
's
changelog.
8.19.1 (2025-01-06)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-assertion]
handle literal types (#10523)
- eslint-plugin: [no-deprecated] doesn't report on
shorthand property in an object expression (#10550)
- eslint-plugin: [strict-boolean-expressions] remove
remaining (unsafe) autofixes (#10548)
- eslint-plugin: [no-shadow] report correctly on
parameters of functions declared with the
declare
keyword
(#10543)
- eslint-plugin: [no-base-to-string] check array
generic type (#10437)
❤️ Thank You
- Kirk Waiblinger
- mdm317
- Ronen Amiel
- Yukihiro Hasegawa
@y-hsgw
You can read about our versioning
strategy and releases
on our website.
Commits
328b7df
chore(release): publish 8.19.1
5dedb1c
docs: fix incorrect variable name in a comment in code example (#10613)
6e05e56
fix: revert "fix(eslint-plugin): [no-unnecessary-type-assertion]
handle liter...
82716b8
fix(eslint-plugin): [no-unnecessary-type-assertion] handle literal types
(#10...
c7154bf
chore(eslint-plugin): use getConstraintInfo
in
no-unnecessary-template-expr...
63b2d3e
fix(eslint-plugin): [no-deprecated] doesn't report on shorthand property
in a...
4dbf48b
fix(eslint-plugin): [strict-boolean-expressions] remove remaining
(unsafe) au...
3bacfa7
chore: upgrade to ts-api-utils 2.0 (#10567)
4f50f64
docs: [return-await] make the rule no longer an extension of ESLint
no-return...
4e7f5f8
docs: [prefer-nullish-coalescing] fix admonition (#10574)
- Additional commits viewable in compare
view
Updates `@typescript-eslint/parser` from 8.19.0 to 8.19.1
Release notes
Sourced from @typescript-eslint/parser
's
releases.
v8.19.1
8.19.1 (2025-01-06)
🩹 Fixes
- eslint-plugin: [no-base-to-string] check array
generic type (#10437)
- eslint-plugin: [no-shadow] report correctly on
parameters of functions declared with the
declare
keyword
(#10543)
- eslint-plugin: [strict-boolean-expressions] remove
remaining (unsafe) autofixes (#10548)
- eslint-plugin: [no-deprecated] doesn't report on
shorthand property in an object expression (#10550)
❤️ Thank You
- Kirk Waiblinger
- mdm317
- Ronen Amiel
- Yukihiro Hasegawa
@y-hsgw
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/parser
's
changelog.
8.19.1 (2025-01-06)
This was a version bump only for parser to align it with other
projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
Updates `typescript` from 5.7.2 to 5.7.3
Release notes
Sourced from typescript's
releases.
TypeScript 5.7.3
For release notes, check out the release
announcement.
Downloads are available on npm
Commits
Updates `typescript-eslint` from 8.19.0 to 8.19.1
Release notes
Sourced from typescript-eslint's
releases.
v8.19.1
8.19.1 (2025-01-06)
🩹 Fixes
- eslint-plugin: [no-base-to-string] check array
generic type (#10437)
- eslint-plugin: [no-shadow] report correctly on
parameters of functions declared with the
declare
keyword
(#10543)
- eslint-plugin: [strict-boolean-expressions] remove
remaining (unsafe) autofixes (#10548)
- eslint-plugin: [no-deprecated] doesn't report on
shorthand property in an object expression (#10550)
❤️ Thank You
- Kirk Waiblinger
- mdm317
- Ronen Amiel
- Yukihiro Hasegawa
@y-hsgw
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from typescript-eslint's
changelog.
8.19.1 (2025-01-06)
This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
328b7df
chore(release): publish 8.19.1
4f50f64
docs: [return-await] make the rule no longer an extension of ESLint
no-return...
- See full diff in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 126 +++++++++++++++++++++++-----------------------
package.json | 8 +--
2 files changed, 67 insertions(+), 67 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 4a1a66a3a..619e35114 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,8 +18,8 @@
"@types/jest-specific-snapshot": "^0.5.9",
"@types/node": "^22.10.5",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.19.0",
- "@typescript-eslint/parser": "^8.19.0",
+ "@typescript-eslint/eslint-plugin": "^8.19.1",
+ "@typescript-eslint/parser": "^8.19.1",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -40,8 +40,8 @@
"ts-jest": "^29.2.5",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
- "typescript": "^5.7.2",
- "typescript-eslint": "^8.19.0",
+ "typescript": "^5.7.3",
+ "typescript-eslint": "^8.19.1",
"yaml": "^2.7.0"
},
"engines": {
@@ -1502,20 +1502,20 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz",
- "integrity": "sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz",
+ "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.19.0",
- "@typescript-eslint/type-utils": "8.19.0",
- "@typescript-eslint/utils": "8.19.0",
- "@typescript-eslint/visitor-keys": "8.19.0",
+ "@typescript-eslint/scope-manager": "8.19.1",
+ "@typescript-eslint/type-utils": "8.19.1",
+ "@typescript-eslint/utils": "8.19.1",
+ "@typescript-eslint/visitor-keys": "8.19.1",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
- "ts-api-utils": "^1.3.0"
+ "ts-api-utils": "^2.0.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1531,15 +1531,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.0.tgz",
- "integrity": "sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz",
+ "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "8.19.0",
- "@typescript-eslint/types": "8.19.0",
- "@typescript-eslint/typescript-estree": "8.19.0",
- "@typescript-eslint/visitor-keys": "8.19.0",
+ "@typescript-eslint/scope-manager": "8.19.1",
+ "@typescript-eslint/types": "8.19.1",
+ "@typescript-eslint/typescript-estree": "8.19.1",
+ "@typescript-eslint/visitor-keys": "8.19.1",
"debug": "^4.3.4"
},
"engines": {
@@ -1555,13 +1555,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz",
- "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz",
+ "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.19.0",
- "@typescript-eslint/visitor-keys": "8.19.0"
+ "@typescript-eslint/types": "8.19.1",
+ "@typescript-eslint/visitor-keys": "8.19.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1572,15 +1572,15 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz",
- "integrity": "sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz",
+ "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.19.0",
- "@typescript-eslint/utils": "8.19.0",
+ "@typescript-eslint/typescript-estree": "8.19.1",
+ "@typescript-eslint/utils": "8.19.1",
"debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
+ "ts-api-utils": "^2.0.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1595,9 +1595,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz",
- "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz",
+ "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1608,19 +1608,19 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz",
- "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz",
+ "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.19.0",
- "@typescript-eslint/visitor-keys": "8.19.0",
+ "@typescript-eslint/types": "8.19.1",
+ "@typescript-eslint/visitor-keys": "8.19.1",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
+ "ts-api-utils": "^2.0.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1658,15 +1658,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz",
- "integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz",
+ "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.19.0",
- "@typescript-eslint/types": "8.19.0",
- "@typescript-eslint/typescript-estree": "8.19.0"
+ "@typescript-eslint/scope-manager": "8.19.1",
+ "@typescript-eslint/types": "8.19.1",
+ "@typescript-eslint/typescript-estree": "8.19.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1681,12 +1681,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz",
- "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz",
+ "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.19.0",
+ "@typescript-eslint/types": "8.19.1",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -6077,14 +6077,15 @@
}
},
"node_modules/ts-api-utils": {
- "version": "1.3.0",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz",
+ "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": ">=16"
+ "node": ">=18.12"
},
"peerDependencies": {
- "typescript": ">=4.2.0"
+ "typescript": ">=4.8.4"
}
},
"node_modules/ts-jest": {
@@ -6297,11 +6298,10 @@
}
},
"node_modules/typescript": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
- "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
+ "version": "5.7.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
+ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
"dev": true,
- "license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -6311,14 +6311,14 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.0.tgz",
- "integrity": "sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==",
+ "version": "8.19.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz",
+ "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.19.0",
- "@typescript-eslint/parser": "8.19.0",
- "@typescript-eslint/utils": "8.19.0"
+ "@typescript-eslint/eslint-plugin": "8.19.1",
+ "@typescript-eslint/parser": "8.19.1",
+ "@typescript-eslint/utils": "8.19.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
diff --git a/package.json b/package.json
index 6f62c41df..3de6213d0 100644
--- a/package.json
+++ b/package.json
@@ -16,8 +16,8 @@
"@types/jest-specific-snapshot": "^0.5.9",
"@types/node": "^22.10.5",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.19.0",
- "@typescript-eslint/parser": "^8.19.0",
+ "@typescript-eslint/eslint-plugin": "^8.19.1",
+ "@typescript-eslint/parser": "^8.19.1",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -38,8 +38,8 @@
"ts-jest": "^29.2.5",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
- "typescript": "^5.7.2",
- "typescript-eslint": "^8.19.0",
+ "typescript": "^5.7.3",
+ "typescript-eslint": "^8.19.1",
"yaml": "^2.7.0"
},
"bundleDependencies": [
From 18d25a8c97534673172808b6e353e7902abaa713 Mon Sep 17 00:00:00 2001
From: "trunk-open-pr-bot[bot]"
<131314627+trunk-open-pr-bot[bot]@users.noreply.github.com>
Date: Tue, 14 Jan 2025 09:29:07 -0800
Subject: [PATCH 17/27] Auto-add missing snapshots (#958)
Create new snapshots from
https://github.com/trunk-io/plugins/actions/runs/12765270716
Co-authored-by: TylerJang27 <42743566+TylerJang27@users.noreply.github.com>
---
.../test_data/squawk_v1.5.3_basic.check.shot | 126 ++++++++++++++++++
1 file changed, 126 insertions(+)
create mode 100644 linters/squawk/test_data/squawk_v1.5.3_basic.check.shot
diff --git a/linters/squawk/test_data/squawk_v1.5.3_basic.check.shot b/linters/squawk/test_data/squawk_v1.5.3_basic.check.shot
new file mode 100644
index 000000000..11479bba6
--- /dev/null
+++ b/linters/squawk/test_data/squawk_v1.5.3_basic.check.shot
@@ -0,0 +1,126 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter squawk test basic 1`] = `
+{
+ "issues": [
+ {
+ "code": "prefer-robust-stmts",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "squawk",
+ "message": "Consider wrapping in a transaction or adding a IF NOT EXISTS clause if the statement supports it.",
+ "targetType": "sql",
+ },
+ {
+ "code": "prefer-big-int",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "2",
+ "linter": "squawk",
+ "message": "Hitting the max 32 bit integer is possible and may break your application. Use 64bit integer values instead to prevent hitting this limit.",
+ "targetType": "sql",
+ },
+ {
+ "code": "prefer-bigint-over-int",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "2",
+ "linter": "squawk",
+ "message": "Hitting the max 32 bit integer is possible and may break your application. Use 64bit integer values instead to prevent hitting this limit.",
+ "targetType": "sql",
+ },
+ {
+ "code": "prefer-identity",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "2",
+ "linter": "squawk",
+ "message": "Serial types have confusing behaviors that make schema management difficult. Use identity columns instead for more features and better usability.",
+ "targetType": "sql",
+ },
+ {
+ "code": "prefer-text-field",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "3",
+ "linter": "squawk",
+ "message": "Changing the size of a varchar field requires an ACCESS EXCLUSIVE lock. Use a text field with a check constraint.",
+ "targetType": "sql",
+ },
+ {
+ "code": "prefer-robust-stmts",
+ "column": "2",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "5",
+ "linter": "squawk",
+ "message": "Consider wrapping in a transaction or adding a IF NOT EXISTS clause if the statement supports it.",
+ "targetType": "sql",
+ },
+ {
+ "code": "require-concurrent-index-creation",
+ "column": "2",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "5",
+ "linter": "squawk",
+ "message": "Creating an index blocks writes. Create the index CONCURRENTLY.",
+ "targetType": "sql",
+ },
+ {
+ "code": "disallowed-unique-constraint",
+ "column": "2",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "7",
+ "linter": "squawk",
+ "message": "Adding a UNIQUE constraint requires an ACCESS EXCLUSIVE lock which blocks reads. Create an index CONCURRENTLY and create the constraint using the index.",
+ "targetType": "sql",
+ },
+ {
+ "code": "prefer-robust-stmts",
+ "column": "2",
+ "file": "test_data/basic.in.sql",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "7",
+ "linter": "squawk",
+ "message": "Consider wrapping in a transaction or adding a IF NOT EXISTS clause if the statement supports it.",
+ "targetType": "sql",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "sql",
+ "linter": "squawk",
+ "paths": [
+ "test_data/basic.in.sql",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "sql",
+ "linter": "squawk",
+ "paths": [
+ "test_data/basic.in.sql",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
From dc19d2dd24c2b5158e1b5b501f3dcde9165b0d85 Mon Sep 17 00:00:00 2001
From: "trunk-open-pr-bot[bot]"
<131314627+trunk-open-pr-bot[bot]@users.noreply.github.com>
Date: Fri, 17 Jan 2025 16:27:38 -0800
Subject: [PATCH 18/27] Auto-add missing snapshots (#960)
Create new snapshots from
https://github.com/trunk-io/plugins/actions/runs/12826818232
---------
Co-authored-by: TylerJang27 <42743566+TylerJang27@users.noreply.github.com>
Co-authored-by: Tyler Jang
---
.../ruff_nbqa_v0.9.2_basic_nb.check.shot | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 linters/ruff/test_data/ruff_nbqa_v0.9.2_basic_nb.check.shot
diff --git a/linters/ruff/test_data/ruff_nbqa_v0.9.2_basic_nb.check.shot b/linters/ruff/test_data/ruff_nbqa_v0.9.2_basic_nb.check.shot
new file mode 100644
index 000000000..339a109c5
--- /dev/null
+++ b/linters/ruff/test_data/ruff_nbqa_v0.9.2_basic_nb.check.shot
@@ -0,0 +1,49 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter ruff-nbqa test basic_nb 1`] = `
+{
+ "issues": [
+ {
+ "code": "error",
+ "file": "test_data/basic_nb.in.ipynb",
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "linter": "ruff-nbqa",
+ "message": "/tmp/plugins_/test_data/basic_nb.in.ipynb:cell_1:1:8: F401 [*] \`os\` imported but unused
+ |
+1 | # %%NBQA-CELL-SEP
+2 | import os
+ | ^^ F401
+3 |
+4 | print("Hello World!")
+ |
+ = help: Remove unused import: \`os\`",
+ "targetType": "jupyter",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "jupyter",
+ "linter": "ruff-nbqa",
+ "paths": [
+ "test_data/basic_nb.in.ipynb",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "jupyter",
+ "linter": "ruff-nbqa",
+ "paths": [
+ "test_data/basic_nb.in.ipynb",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
From 71ad7110052e49ef4cad7849ca5b4e1ef753f161 Mon Sep 17 00:00:00 2001
From: Andrei Liviu Georgescu
<146103342+andreilgeorgescu@users.noreply.github.com>
Date: Wed, 22 Jan 2025 02:23:11 -0500
Subject: [PATCH 19/27] =?UTF-8?q?Add=20support=20to=20biome=20for=20linter?=
=?UTF-8?q?=20safe=20fixes=20and=20import=20organization=20as=E2=80=A6=20(?=
=?UTF-8?q?#953)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
… apart of the `fmt` command
---
linters/biome/plugin.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/linters/biome/plugin.yaml b/linters/biome/plugin.yaml
index 787a60e8f..2e1966a1b 100644
--- a/linters/biome/plugin.yaml
+++ b/linters/biome/plugin.yaml
@@ -32,8 +32,8 @@ lint:
read_output_from: stderr
- name: fmt
output: rewrite
- run: biome format --write "${target}"
- success_codes: [0]
+ run: biome check --fix "${target}"
+ success_codes: [0, 1]
batch: true
cache_results: true
formatter: true
From f75aa98b895e763951c40d06bf5e311f68a3e1d1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 22 Jan 2025 10:33:11 -0800
Subject: [PATCH 20/27] Bump the dependencies group with 7 updates (#961)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 7 updates:
| Package | From | To |
| --- | --- | --- |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `22.10.5` | `22.10.7` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.19.1` | `8.20.0` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.19.1` | `8.20.0` |
|
[eslint-config-prettier](https://github.com/prettier/eslint-config-prettier)
| `9.1.0` | `10.0.1` |
|
[eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest)
| `28.10.0` | `28.11.0` |
|
[eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier)
| `5.2.1` | `5.2.3` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.19.1` | `8.20.0` |
Updates `@types/node` from 22.10.5 to 22.10.7
Commits
Updates `@typescript-eslint/eslint-plugin` from 8.19.1 to 8.20.0
Release notes
Sourced from @typescript-eslint/eslint-plugin
's
releases.
v8.20.0
8.20.0 (2025-01-13)
🚀 Features
- standardize debug namespaces to file paths (#10599)
- eslint-plugin: [no-misused-spread] add new rule (#10551)
- eslint-plugin: [no-deprecated] add allow options
(#10585)
- eslint-plugin: [consistent-type-assertions] add
arrayLiteralTypeAssertions options (#10565)
🩹 Fixes
- eslint-plugin: [no-shadow] ignore ordering of type
declarations (#10593)
- eslint-plugin: [no-unnecessary-condition] don't
flag optional chaining for union types with an unconstrained type
parameters (#10602)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/eslint-plugin
's
changelog.
8.20.0 (2025-01-13)
🚀 Features
- eslint-plugin: [consistent-type-assertions] add
arrayLiteralTypeAssertions options (#10565)
- eslint-plugin: [no-deprecated] add allow options
(#10585)
- eslint-plugin: [no-misused-spread] add new rule (#10551)
🩹 Fixes
- eslint-plugin: [no-unnecessary-condition] don't
flag optional chaining for union types with an unconstrained type
parameters (#10602)
- eslint-plugin: [no-shadow] ignore ordering of type
declarations (#10593)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
ea6fbea
chore(release): publish 8.20.0
a7fc28c
feat(eslint-plugin): [consistent-type-assertions] add
arrayLiteralTypeAsserti...
d6e5978
fix(eslint-plugin): [no-unnecessary-condition] don't flag optional
chaining f...
63135f7
fix(eslint-plugin): [no-shadow] ignore ordering of type declarations (#10593)
6dda0a4
feat(eslint-plugin): [no-deprecated] add allow options (#10585)
04166e0
feat(eslint-plugin): [no-misused-spread] add new rule (#10551)
b17c7f2
chore: export all Options and MessageIds types from rule files (#10556)
03d9639
test(eslint-plugin): add extra tests (#10587)
e697cfa
chore: fix CI snapshot failure (#10624)
- See full diff in compare
view
Updates `@typescript-eslint/parser` from 8.19.1 to 8.20.0
Release notes
Sourced from @typescript-eslint/parser
's
releases.
v8.20.0
8.20.0 (2025-01-13)
🚀 Features
- standardize debug namespaces to file paths (#10599)
- eslint-plugin: [no-misused-spread] add new rule (#10551)
- eslint-plugin: [no-deprecated] add allow options
(#10585)
- eslint-plugin: [consistent-type-assertions] add
arrayLiteralTypeAssertions options (#10565)
🩹 Fixes
- eslint-plugin: [no-shadow] ignore ordering of type
declarations (#10593)
- eslint-plugin: [no-unnecessary-condition] don't
flag optional chaining for union types with an unconstrained type
parameters (#10602)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/parser
's
changelog.
8.20.0 (2025-01-13)
This was a version bump only for parser to align it with other
projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
Updates `eslint-config-prettier` from 9.1.0 to 10.0.1
Release notes
Sourced from eslint-config-prettier's
releases.
v10.0.1
eslint-config-prettier
10.0.1
What's Changed
New Contributors
Full Changelog: https://github.com/prettier/eslint-config-prettier/compare/v9.1.0...v10.0.1
v10.0.0
Major Changes
Changelog
Sourced from eslint-config-prettier's
changelog.
eslint-config-prettier
10.0.0
Major Changes
Versions before 10.0.0
Commits
c5170f0
fix: add main field
e814e70
chore: change release folders
9ebedc7
chore: release eslint-config-prettier (#296)
5be64be
feat: add support for @stylistic/eslint-plugin
(#272)
5687e7d
chore: migrate to changeset for automatically releasing (#278)
4f3bbb4
Remove unused eslint-disable-next-line comment
- See full diff in compare
view
Maintainer changes
This version was pushed to npm by jounqin, a new releaser for
eslint-config-prettier since your current version.
Updates `eslint-plugin-jest` from 28.10.0 to 28.11.0
Release notes
Sourced from eslint-plugin-jest's
releases.
v28.11.0
Features
- valid-expect: allow calling
expect
with no arguments (#1688)
(ff0349e)
v28.10.1
Bug Fixes
- padding-around-test-blocks: update description (#1691)
(9cb4ecc)
Changelog
Sourced from eslint-plugin-jest's
changelog.
Features
- valid-expect: allow calling
expect
with no arguments (#1688)
(ff0349e)
Bug Fixes
- padding-around-test-blocks: update description (#1691)
(9cb4ecc)
Commits
53427f0
chore(release): 28.11.0 [skip ci]
ff0349e
feat(valid-expect): allow calling expect
with no arguments
(#1688)
deb6609
chore(release): 28.10.1 [skip ci]
9cb4ecc
fix(padding-around-test-blocks): update description (#1691)
eecc6e6
chore: downgrade markdown-link-check
to known working
version and make it l...
f05e76d
chore: add Node 23 to CI (#1695)
8c89634
chore(deps): update dependency eslint-config-prettier to v10 (#1694)
320e949
chore(deps): update dependency is-ci to v4 (#1682)
9c91509
chore: update package urls for homepage, repository, and bugs (#1693)
3377cae
chore(deps): lock file maintenance (#1692)
- Additional commits viewable in compare
view
Updates `eslint-plugin-prettier` from 5.2.1 to 5.2.3
Release notes
Sourced from eslint-plugin-prettier's
releases.
v5.2.3
Patch Changes
v5.2.2
Patch Changes
What's Changed
New Contributors
Full Changelog: https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.1...v5.2.2
Changelog
Sourced from eslint-plugin-prettier's
changelog.
5.2.3
Patch Changes
5.2.2
Patch Changes
Commits
6fd7ba1
chore: release eslint-plugin-prettier (#704)
190d6f9
build(deps): Bump synckit from 0.9.1 to 0.9.2 (#705)
9cf6a01
build(deps-dev): Bump svelte from 4.2.8 to 4.2.19 (#677)
9c6141f
chore: add plugin name to flat recommended config (#703)
35a5cd0
chore: bupm eslint-plugin-comments (#702)
df123a5
chore: release eslint-plugin-prettier (#701)
e272d7c
chore: use double quote for changesets/changelog files
aa5b59f
fix: report node when loc not found (#700)
37d87ea
chore: update FUNDING.yml
b307125
docs(README): fixes legacy ESlint configs link (#686)
- Additional commits viewable in compare
view
Updates `typescript-eslint` from 8.19.1 to 8.20.0
Release notes
Sourced from typescript-eslint's
releases.
v8.20.0
8.20.0 (2025-01-13)
🚀 Features
- standardize debug namespaces to file paths (#10599)
- eslint-plugin: [no-misused-spread] add new rule (#10551)
- eslint-plugin: [no-deprecated] add allow options
(#10585)
- eslint-plugin: [consistent-type-assertions] add
arrayLiteralTypeAssertions options (#10565)
🩹 Fixes
- eslint-plugin: [no-shadow] ignore ordering of type
declarations (#10593)
- eslint-plugin: [no-unnecessary-condition] don't
flag optional chaining for union types with an unconstrained type
parameters (#10602)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from typescript-eslint's
changelog.
8.20.0 (2025-01-13)
🚀 Features
- eslint-plugin: [no-misused-spread] add new rule (#10551)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
ea6fbea
chore(release): publish 8.20.0
a175189
docs(typescript-eslint): make jsdoc for config helper function
consistent (#1...
04166e0
feat(eslint-plugin): [no-misused-spread] add new rule (#10551)
- See full diff in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 135 +++++++++++++++++++++++-----------------------
package.json | 14 ++---
2 files changed, 75 insertions(+), 74 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 619e35114..9225ee8fa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,20 +16,20 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.5",
+ "@types/node": "^22.10.7",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.19.1",
- "@typescript-eslint/parser": "^8.19.1",
+ "@typescript-eslint/eslint-plugin": "^8.20.0",
+ "@typescript-eslint/parser": "^8.20.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
- "eslint-config-prettier": "^9.1.0",
+ "eslint-config-prettier": "^10.0.1",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-import-x": "^4.6.1",
- "eslint-plugin-jest": "^28.10.0",
+ "eslint-plugin-jest": "^28.11.0",
"eslint-plugin-n": "^17.15.1",
- "eslint-plugin-prettier": "^5.2.1",
+ "eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-simple-import-sort": "^12.1.1",
"fast-sort": "^3.4.1",
"jest": "^29.3.1",
@@ -41,7 +41,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.3",
- "typescript-eslint": "^8.19.1",
+ "typescript-eslint": "^8.20.0",
"yaml": "^2.7.0"
},
"engines": {
@@ -1469,9 +1469,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.10.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
- "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
+ "version": "22.10.7",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
+ "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
"dev": true,
"dependencies": {
"undici-types": "~6.20.0"
@@ -1502,16 +1502,16 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz",
- "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz",
+ "integrity": "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.19.1",
- "@typescript-eslint/type-utils": "8.19.1",
- "@typescript-eslint/utils": "8.19.1",
- "@typescript-eslint/visitor-keys": "8.19.1",
+ "@typescript-eslint/scope-manager": "8.20.0",
+ "@typescript-eslint/type-utils": "8.20.0",
+ "@typescript-eslint/utils": "8.20.0",
+ "@typescript-eslint/visitor-keys": "8.20.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1531,15 +1531,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz",
- "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz",
+ "integrity": "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "8.19.1",
- "@typescript-eslint/types": "8.19.1",
- "@typescript-eslint/typescript-estree": "8.19.1",
- "@typescript-eslint/visitor-keys": "8.19.1",
+ "@typescript-eslint/scope-manager": "8.20.0",
+ "@typescript-eslint/types": "8.20.0",
+ "@typescript-eslint/typescript-estree": "8.20.0",
+ "@typescript-eslint/visitor-keys": "8.20.0",
"debug": "^4.3.4"
},
"engines": {
@@ -1555,13 +1555,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz",
- "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz",
+ "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.19.1",
- "@typescript-eslint/visitor-keys": "8.19.1"
+ "@typescript-eslint/types": "8.20.0",
+ "@typescript-eslint/visitor-keys": "8.20.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1572,13 +1572,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz",
- "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz",
+ "integrity": "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.19.1",
- "@typescript-eslint/utils": "8.19.1",
+ "@typescript-eslint/typescript-estree": "8.20.0",
+ "@typescript-eslint/utils": "8.20.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.0.0"
},
@@ -1595,9 +1595,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz",
- "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz",
+ "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1608,13 +1608,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz",
- "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz",
+ "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.19.1",
- "@typescript-eslint/visitor-keys": "8.19.1",
+ "@typescript-eslint/types": "8.20.0",
+ "@typescript-eslint/visitor-keys": "8.20.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -1658,15 +1658,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz",
- "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz",
+ "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.19.1",
- "@typescript-eslint/types": "8.19.1",
- "@typescript-eslint/typescript-estree": "8.19.1"
+ "@typescript-eslint/scope-manager": "8.20.0",
+ "@typescript-eslint/types": "8.20.0",
+ "@typescript-eslint/typescript-estree": "8.20.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1681,12 +1681,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz",
- "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz",
+ "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.19.1",
+ "@typescript-eslint/types": "8.20.0",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -2757,11 +2757,12 @@
}
},
"node_modules/eslint-config-prettier": {
- "version": "9.1.0",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz",
+ "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==",
"dev": true,
- "license": "MIT",
"bin": {
- "eslint-config-prettier": "bin/cli.js"
+ "eslint-config-prettier": "build/bin/cli.js"
},
"peerDependencies": {
"eslint": ">=7.0.0"
@@ -3008,9 +3009,9 @@
}
},
"node_modules/eslint-plugin-jest": {
- "version": "28.10.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.10.0.tgz",
- "integrity": "sha512-hyMWUxkBH99HpXT3p8hc7REbEZK3D+nk8vHXGgpB+XXsi0gO4PxMSP+pjfUzb67GnV9yawV9a53eUmcde1CCZA==",
+ "version": "28.11.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.11.0.tgz",
+ "integrity": "sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==",
"dev": true,
"dependencies": {
"@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0"
@@ -3094,9 +3095,9 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz",
- "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==",
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz",
+ "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==",
"dev": true,
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
@@ -6311,14 +6312,14 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.19.1",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz",
- "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.20.0.tgz",
+ "integrity": "sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.19.1",
- "@typescript-eslint/parser": "8.19.1",
- "@typescript-eslint/utils": "8.19.1"
+ "@typescript-eslint/eslint-plugin": "8.20.0",
+ "@typescript-eslint/parser": "8.20.0",
+ "@typescript-eslint/utils": "8.20.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
diff --git a/package.json b/package.json
index 3de6213d0..3e1b89619 100644
--- a/package.json
+++ b/package.json
@@ -14,20 +14,20 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.5",
+ "@types/node": "^22.10.7",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.19.1",
- "@typescript-eslint/parser": "^8.19.1",
+ "@typescript-eslint/eslint-plugin": "^8.20.0",
+ "@typescript-eslint/parser": "^8.20.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
- "eslint-config-prettier": "^9.1.0",
+ "eslint-config-prettier": "^10.0.1",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-import-x": "^4.6.1",
- "eslint-plugin-jest": "^28.10.0",
+ "eslint-plugin-jest": "^28.11.0",
"eslint-plugin-n": "^17.15.1",
- "eslint-plugin-prettier": "^5.2.1",
+ "eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-simple-import-sort": "^12.1.1",
"fast-sort": "^3.4.1",
"jest": "^29.3.1",
@@ -39,7 +39,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.3",
- "typescript-eslint": "^8.19.1",
+ "typescript-eslint": "^8.20.0",
"yaml": "^2.7.0"
},
"bundleDependencies": [
From 0c95fa974ef46367bb499996c22db8d490059ced Mon Sep 17 00:00:00 2001
From: Felix Sargent
Date: Thu, 23 Jan 2025 10:30:16 -0800
Subject: [PATCH 21/27] Feat/add snyk (#959)
Add [snyk cli](https://github.com/snyk/cli) for security scans.
As of 2025-01-20 I can't get this to test properly locally because it
says snyk isn't enabled. Not sure what might be misconfigured that's
causing that. Would love help.
---------
Co-authored-by: Tyler Jang
---
.github/actions/linter_tests/action.yaml | 4 +
.github/workflows/nightly.yaml | 4 +
.github/workflows/pr.yaml | 3 +
.../workflows/upload_results.reusable.yaml | 3 +
.github/workflows/windows_nightly.yaml | 1 +
.gitignore | 3 +
README.md | 3 +-
linters/snyk/plugin.yaml | 66 ++++
linters/snyk/snyk.test.ts | 4 +
linters/snyk/test_data/SqlInjectionLess4.java | 77 +++++
linters/snyk/test_data/index.js | 291 +++++++++++++++++
linters/snyk/test_data/requirements.txt | 2 +
.../test_data/snyk_v1.1295.0_basic.check.shot | 298 ++++++++++++++++++
13 files changed, 758 insertions(+), 1 deletion(-)
create mode 100644 linters/snyk/plugin.yaml
create mode 100644 linters/snyk/snyk.test.ts
create mode 100644 linters/snyk/test_data/SqlInjectionLess4.java
create mode 100644 linters/snyk/test_data/index.js
create mode 100644 linters/snyk/test_data/requirements.txt
create mode 100644 linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot
diff --git a/.github/actions/linter_tests/action.yaml b/.github/actions/linter_tests/action.yaml
index 0f2af97d3..40850c627 100644
--- a/.github/actions/linter_tests/action.yaml
+++ b/.github/actions/linter_tests/action.yaml
@@ -20,6 +20,9 @@ inputs:
description: Additional args to append to the test invocation
required: false
default: linters --
+ snyk-token:
+ description: Token to login for snyk test
+ required: true
sourcery-token:
description: Token to login for sourcery test
required: true
@@ -103,6 +106,7 @@ runs:
PLUGINS_TEST_LINTER_VERSION: ${{ inputs.linter-version }}
PLUGINS_TEST_CLI_VERSION: ${{ inputs.cli-version }}
PLUGINS_TEST_CLI_PATH: ${{ env.CLI_PATH }}
+ SNYK_TOKEN: ${{ inputs.snyk-token }}
SOURCERY_TOKEN: ${{ inputs.sourcery-token }}
# Debug recurrent eslint circular JSON errors
DEBUG: Driver:eslint:*,Driver:nixpkgs-fmt:*,Driver:trunk-toolbox:*
diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml
index 1bf379b15..97dac1ddc 100644
--- a/.github/workflows/nightly.yaml
+++ b/.github/workflows/nightly.yaml
@@ -67,6 +67,7 @@ jobs:
with:
linter-version: ${{ matrix.linter-version }}
ref-type: main
+ snyk-token: ${{ secrets.TRUNK_SNYK_TOKEN }}
sourcery-token: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
trunk-staging-token: ${{ secrets.TRUNK_DEBUGGER_TOKEN }}
trunk-prod-token: ${{ secrets.TRUNK_ORG_PROD_TOKEN }}
@@ -173,6 +174,7 @@ jobs:
linter-version: ${{ matrix.linter-version }}
append-args: linters -- --json --outputFile=${{ matrix.results-file }}-res.json
ref-type: release
+ snyk-token: ${{ secrets.TRUNK_SNYK_TOKEN }}
sourcery-token: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
trunk-staging-token: ${{ secrets.TRUNK_DEBUGGER_TOKEN }}
trunk-prod-token: ${{ secrets.TRUNK_ORG_PROD_TOKEN }}
@@ -198,6 +200,7 @@ jobs:
TRUNK_API_TOKEN: ${{ secrets.TRUNK_API_TOKEN }}
TRUNK_OPEN_PR_APP_ID: ${{ secrets.TRUNK_OPEN_PR_APP_ID }}
TRUNK_OPEN_PR_APP_PRIVATE_KEY: ${{ secrets.TRUNK_OPEN_PR_APP_PRIVATE_KEY }}
+ TRUNK_SNYK_TOKEN: ${{ secrets.TRUNK_SNYK_TOKEN }}
TRUNK_SOURCERY_TOKEN: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
TRUNK_DEBUGGER_TOKEN: ${{ secrets.TRUNK_DEBUGGER_TOKEN }}
TRUNK_ORG_PROD_TOKEN: ${{ secrets.TRUNK_ORG_PROD_TOKEN }}
@@ -254,6 +257,7 @@ jobs:
uses: ./.github/workflows/upload_results.reusable.yaml
secrets:
TRUNKBOT_SLACK_BOT_TOKEN: ${{ secrets.TRUNKBOT_SLACK_BOT_TOKEN }}
+ TRUNK_SNYK_TOKEN: ${{ secrets.TRUNK_SNYK_TOKEN }}
TRUNK_SOURCERY_TOKEN: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
TRUNK_DEBUGGER_TOKEN: ${{ secrets.TRUNK_DEBUGGER_TOKEN }}
TRUNK_ORG_PROD_TOKEN: ${{ secrets.TRUNK_ORG_PROD_TOKEN }}
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index 0c007b2ea..76df7ea78 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -151,6 +151,7 @@ jobs:
with:
linter-version: KnownGoodVersion
ref-type: main
+ snyk-token: ${{ secrets.TRUNK_SNYK_TOKEN }}
sourcery-token: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
append-args:
${{ needs.detect_changes.outputs.all-linters }} ${{
@@ -167,6 +168,7 @@ jobs:
with:
linter-version: Latest
ref-type: main
+ snyk-token: ${{ secrets.TRUNK_SNYK_TOKEN }}
sourcery-token: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
append-args: ${{ needs.detect_changes.outputs.linters-files }}
trunk-staging-token: ${{ secrets.TRUNK_DEBUGGER_TOKEN }}
@@ -262,6 +264,7 @@ jobs:
with:
linter-version: Latest
ref-type: main
+ snyk-token: ${{ secrets.TRUNK_SNYK_TOKEN }}
sourcery-token: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
cli-path: ${{ github.workspace }}\trunk.ps1
append-args: ${{needs.detect_changes.outputs.linters-files }} -- --maxWorkers=5
diff --git a/.github/workflows/upload_results.reusable.yaml b/.github/workflows/upload_results.reusable.yaml
index 48230fec0..cc61d2232 100644
--- a/.github/workflows/upload_results.reusable.yaml
+++ b/.github/workflows/upload_results.reusable.yaml
@@ -34,6 +34,8 @@ on:
required: false
TRUNK_OPEN_PR_APP_PRIVATE_KEY:
required: false
+ TRUNK_SNYK_TOKEN:
+ required: false
TRUNK_SOURCERY_TOKEN:
required: false
TRUNK_DEBUGGER_TOKEN:
@@ -242,6 +244,7 @@ jobs:
linter-version: Latest
ref-type: main
append-args: ${{ needs.upload_test_results.outputs.reruns }} -- -u
+ snyk-token: ${{ secrets.TRUNK_SNYK_TOKEN }}
sourcery-token: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
trunk-staging-token: ${{ secrets.TRUNK_DEBUGGER_TOKEN }}
trunk-prod-token: ${{ secrets.TRUNK_ORG_PROD_TOKEN }}
diff --git a/.github/workflows/windows_nightly.yaml b/.github/workflows/windows_nightly.yaml
index 0f060ea7e..68ff0bb43 100644
--- a/.github/workflows/windows_nightly.yaml
+++ b/.github/workflows/windows_nightly.yaml
@@ -45,6 +45,7 @@ jobs:
with:
linter-version: ${{ matrix.linter-version }}
ref-type: main
+ snyk-token: ${{ secrets.TRUNK_SNYK_TOKEN }}
sourcery-token: ${{ secrets.TRUNK_SOURCERY_TOKEN }}
cli-path: ${{ github.workspace }}\trunk.ps1
# manually specify more parallelism to avoid bottlenecks
diff --git a/.gitignore b/.gitignore
index 026fd7db3..75a65a35c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,6 @@ node_modules/
out/
junit.xml
+
+# Snyk
+.dccache
diff --git a/README.md b/README.md
index ad42f489a..aac41e3e5 100644
--- a/README.md
+++ b/README.md
@@ -81,7 +81,7 @@ trunk check enable {linter}
| Ruby | [brakeman], [rubocop], [rufo], [semgrep], [standardrb] |
| Rust | [clippy], [rustfmt] |
| Scala | [scalafmt] |
-| Security | [checkov], [dustilock], [nancy], [osv-scanner], [tfsec], [trivy], [trufflehog], [terrascan] |
+| Security | [checkov], [dustilock], [nancy], [osv-scanner], [snyk], [tfsec], [trivy], [trufflehog], [terrascan] |
| SQL | [sqlfluff], [sqlfmt], [sql-formatter], [squawk] |
| SVG | [svgo] |
| Swift | [stringslint], [swiftlint], [swiftformat] |
@@ -175,6 +175,7 @@ trunk check enable {linter}
[sqlfluff]: https://github.com/sqlfluff/sqlfluff#readme
[sqlfmt]: https://github.com/tconbeer/sqlfmt#readme
[squawk]: https://github.com/sbdchd/squawk#readme
+[snyk]: https://github.com/snyk/cli#readme
[standardrb]: https://github.com/testdouble/standard#readme
[stringslint]: https://github.com/dral3x/StringsLint#readme
[stylelint]: https://github.com/stylelint/stylelint#readme
diff --git a/linters/snyk/plugin.yaml b/linters/snyk/plugin.yaml
new file mode 100644
index 000000000..cb23fd187
--- /dev/null
+++ b/linters/snyk/plugin.yaml
@@ -0,0 +1,66 @@
+version: 0.1
+downloads:
+ - name: snyk
+ downloads:
+ - url: https://downloads.snyk.io/cli/v${version}/snyk-${os}-${cpu}
+ cpu: arm_64
+ os:
+ macos: macos
+ linux: linux
+ - url: https://downloads.snyk.io/cli/v${version}/snyk-${os}
+ cpu: x86_64
+ os:
+ macos: macos
+ linux: linux
+ - url: https://downloads.snyk.io/cli/v${version}/snyk-win.exe
+ os: windows
+tools:
+ definitions:
+ - name: snyk
+ download: snyk
+ known_good_version: 1.1295.0
+ shims: [snyk]
+ health_checks:
+ - command: snyk --version
+ parse_regex: ${semver}
+lint:
+ definitions:
+ - name: snyk
+ tools: [snyk]
+ suggest_if: config_present
+ description: Security scanning tool for code, dependencies and containers
+ known_good_version: 1.1295.0
+ commands:
+ - name: test
+ files: [lockfile]
+ output: sarif
+ run: snyk test --sarif --skip-unresolved --file=${target}
+ success_codes: [0, 1] # Snyk returns 1 when vulnerabilities are found
+ read_output_from: stdout
+ batch: false
+ is_security: true
+ - name: code
+ files: [javascript, typescript, java, python]
+ output: sarif
+ run: snyk code test --sarif .
+ run_from: ${parent}
+ success_codes: [0, 1]
+ read_output_from: stdout
+ sandbox_type: copy_targets
+ batch: true
+ is_security: true
+ - name: container
+ files: [docker]
+ output: sarif
+ run: snyk container test --sarif ${target}
+ success_codes: [0, 1]
+ read_output_from: stdout
+ batch: true
+ is_security: true
+ direct_configs: [.snyk]
+ environment:
+ - name: SNYK_TOKEN
+ optional: true
+ value: ${env.SNYK_TOKEN}
+ - name: PATH
+ list: ["${linter}", "${env.PATH}"]
diff --git a/linters/snyk/snyk.test.ts b/linters/snyk/snyk.test.ts
new file mode 100644
index 000000000..f63385374
--- /dev/null
+++ b/linters/snyk/snyk.test.ts
@@ -0,0 +1,4 @@
+import { customLinterCheckTest } from "tests";
+import { TEST_DATA } from "tests/utils";
+
+customLinterCheckTest({ linterName: "snyk", args: TEST_DATA, testName: "basic" });
diff --git a/linters/snyk/test_data/SqlInjectionLess4.java b/linters/snyk/test_data/SqlInjectionLess4.java
new file mode 100644
index 000000000..dafab92fd
--- /dev/null
+++ b/linters/snyk/test_data/SqlInjectionLess4.java
@@ -0,0 +1,77 @@
+
+/*
+ * This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http://www.owasp.org/
+ *
+ * Copyright (c) 2002 - 2019 Bruce Mayhew
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if
+ * not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * Getting Source ==============
+ *
+ * Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software projects.
+ */
+
+ package org.owasp.webgoat.sql_injection.introduction;
+
+ import org.owasp.webgoat.assignments.AssignmentEndpoint;
+ import org.owasp.webgoat.assignments.AssignmentHints;
+ import org.owasp.webgoat.assignments.AttackResult;
+ import org.springframework.web.bind.annotation.PostMapping;
+ import org.springframework.web.bind.annotation.RequestParam;
+ import org.springframework.web.bind.annotation.ResponseBody;
+ import org.springframework.web.bind.annotation.RestController;
+
+ import javax.sql.DataSource;
+ import java.sql.*;
+
+ import static java.sql.ResultSet.*;
+
+
+ @RestController
+ @AssignmentHints(value = {"SqlStringInjectionHint4-1", "SqlStringInjectionHint4-2", "SqlStringInjectionHint4-3"})
+ public class SqlInjectionLesson4 extends AssignmentEndpoint {
+
+ private final DataSource dataSource;
+
+ public SqlInjectionLesson4(DataSource dataSource) {
+ this.dataSource = dataSource;
+ }
+
+ @PostMapping("/SqlInjection/attack4")
+ @ResponseBody
+ public AttackResult completed(@RequestParam String query) {
+ return injectableQuery(query);
+ }
+
+ protected AttackResult injectableQuery(String query) {
+ try (Connection connection = dataSource.getConnection()) {
+ try (Statement statement = connection.createStatement(TYPE_SCROLL_INSENSITIVE, CONCUR_READ_ONLY)) {
+ statement.executeUpdate(query);
+ connection.commit();
+ ResultSet results = statement.executeQuery("SELECT phone from employees;");
+ StringBuffer output = new StringBuffer();
+ // user completes lesson if column phone exists
+ if (results.first()) {
+ output.append("" + query + "");
+ return success(this).output(output.toString()).build();
+ } else {
+ return failed(this).output(output.toString()).build();
+ }
+ } catch (SQLException sqle) {
+ return failed(this).output(sqle.getMessage()).build();
+ }
+ } catch (Exception e) {
+ return failed(this).output(this.getClass().getName() + " : " + e.getMessage()).build();
+ }
+ }
+ }
diff --git a/linters/snyk/test_data/index.js b/linters/snyk/test_data/index.js
new file mode 100644
index 000000000..e01b12544
--- /dev/null
+++ b/linters/snyk/test_data/index.js
@@ -0,0 +1,291 @@
+var utils = require('../utils');
+var mongoose = require('mongoose');
+var Todo = mongoose.model('Todo');
+var User = mongoose.model('User');
+// TODO:
+var hms = require('humanize-ms');
+var ms = require('ms');
+var streamBuffers = require('stream-buffers');
+var readline = require('readline');
+var moment = require('moment');
+var exec = require('child_process').exec;
+
+// zip-slip
+var fileType = require('file-type');
+var AdmZip = require('adm-zip');
+var fs = require('fs');
+
+// prototype-pollution
+var _ = require('lodash');
+
+exports.index = function (req, res, next) {
+ Todo.
+ find({}).
+ sort('-updated_at').
+ exec(function (err, todos) {
+ if (err) return next(err);
+
+ res.render('index', {
+ title: 'Goof TODO',
+ subhead: 'Vulnerabilities at their best',
+ todos: todos,
+ });
+ });
+};
+
+
+exports.admin = function (req, res, next) {
+ console.log(req.body);
+ User.find({ username: req.body.username, password: req.body.password }, function (err, users) {
+ if (users.length > 0) {
+ return res.render('admin', {
+ title: 'Admin Access Granted',
+ granted: true,
+ });
+ } else {
+ return res.render('admin', {
+ title: 'Admin Access',
+ granted: false,
+ });
+ }
+ });
+
+};
+
+function parse(todo) {
+ var t = todo;
+
+ var remindToken = ' in ';
+ var reminder = t.toString().indexOf(remindToken);
+ if (reminder > 0) {
+ var time = t.slice(reminder + remindToken.length);
+ time = time.replace(/\n$/, '');
+
+ var period = hms(time);
+
+ console.log('period: ' + period);
+
+ // remove it
+ t = t.slice(0, reminder);
+ if (typeof period != 'undefined') {
+ t += ' [' + ms(period) + ']';
+ }
+ }
+ return t;
+}
+
+exports.create = function (req, res, next) {
+ // console.log('req.body: ' + JSON.stringify(req.body));
+
+ var item = req.body.content;
+ var imgRegex = /\!\[alt text\]\((http.*)\s\".*/;
+ if (typeof(item) == 'string' && item.match(imgRegex)) {
+ var url = item.match(imgRegex)[1];
+ console.log('found img: ' + url);
+
+ exec('identify ' + url, function (err, stdout, stderr) {
+ console.log(err);
+ if (err !== null) {
+ console.log('Error (' + err + '):' + stderr);
+ }
+ });
+
+ } else {
+ item = parse(item);
+ }
+
+ new Todo({
+ content: item,
+ updated_at: Date.now(),
+ }).save(function (err, todo, count) {
+ if (err) return next(err);
+
+ /*
+ res.setHeader('Data', todo.content.toString('base64'));
+ res.redirect('/');
+ */
+
+ res.setHeader('Location', '/');
+ res.status(302).send(todo.content.toString('base64'));
+
+ // res.redirect('/#' + todo.content.toString('base64'));
+ });
+};
+
+exports.destroy = function (req, res, next) {
+ Todo.findById(req.params.id, function (err, todo) {
+
+ try {
+ todo.remove(function (err, todo) {
+ if (err) return next(err);
+ res.redirect('/');
+ });
+ } catch(e) {
+ }
+ });
+};
+
+exports.edit = function(req, res, next) {
+ Todo.
+ find({}).
+ sort('-updated_at').
+ exec(function (err, todos) {
+ if (err) return next(err);
+
+ res.render('edit', {
+ title : 'TODO',
+ todos : todos,
+ current : req.params.id
+ });
+ });
+};
+
+exports.update = function(req, res, next) {
+ Todo.findById(req.params.id, function (err, todo) {
+
+ todo.content = req.body.content;
+ todo.updated_at = Date.now();
+ todo.save(function (err, todo, count) {
+ if(err) return next(err);
+
+ res.redirect('/');
+ });
+ });
+};
+
+// ** express turns the cookie key to lowercase **
+exports.current_user = function (req, res, next) {
+
+ next();
+};
+
+function isBlank(str) {
+ return (!str || /^\s*$/.test(str));
+}
+
+exports.import = function (req, res, next) {
+ if (!req.files) {
+ res.send('No files were uploaded.');
+ return;
+ }
+
+ var importFile = req.files.importFile;
+ var data;
+ var importedFileType = fileType(importFile.data);
+ var zipFileExt = { ext: "zip", mime: "application/zip" };
+ if (importedFileType === null) {
+ importedFileType = { ext: "txt", mime: "text/plain" };
+ }
+ if (importedFileType["mime"] === zipFileExt["mime"]) {
+ var zip = AdmZip(importFile.data);
+ var extracted_path = "/tmp/extracted_files";
+ zip.extractAllTo(extracted_path, true);
+ data = "No backup.txt file found";
+ fs.readFile('backup.txt', 'ascii', function(err, data) {
+ if (!err) {
+ data = data;
+ }});
+ } else {
+ data = importFile.data.toString('ascii');
+ }
+ var lines = data.split('\n');
+ lines.forEach(function (line) {
+ var parts = line.split(',');
+ var what = parts[0];
+ console.log('importing ' + what);
+ var when = parts[1];
+ var locale = parts[2];
+ var format = parts[3];
+ var item = what;
+ if (!isBlank(what)) {
+ if (!isBlank(when) && !isBlank(locale) && !isBlank(format)) {
+ console.log('setting locale ' + parts[1]);
+ moment.locale(locale);
+ var d = moment(when);
+ console.log('formatting ' + d);
+ item += ' [' + d.format(format) + ']';
+ }
+
+ new Todo({
+ content: item,
+ updated_at: Date.now(),
+ }).save(function (err, todo, count) {
+ if (err) return next(err);
+ console.log('added ' + todo);
+ });
+ }
+ });
+
+ res.redirect('/');
+};
+
+exports.about_new = function (req, res, next) {
+ console.log(JSON.stringify(req.query));
+ return res.render("about_new.dust",
+ {
+ title: 'Goof TODO',
+ subhead: 'Vulnerabilities at their best',
+ device: req.query.device
+ });
+};
+
+// Prototype Pollution
+
+///////////////////////////////////////////////////////////////////////////////
+// In order of simplicity we are not using any database. But you can write the
+// same logic using MongoDB.
+const users = [
+ // You know password for the user.
+ {name: 'user', password: 'pwd'},
+ // You don't know password for the admin.
+ {name: 'admin', password: Math.random().toString(32), canDelete: true},
+];
+
+let messages = [];
+let lastId = 1;
+
+function findUser(auth) {
+ return users.find((u) =>
+ u.name === auth.name &&
+ u.password === auth.password);
+}
+///////////////////////////////////////////////////////////////////////////////
+
+exports.chat = {
+ get(req, res) {
+ res.send(messages);
+ },
+ add(req, res) {
+ const user = findUser(req.body.auth || {});
+
+ if (!user) {
+ res.status(403).send({ok: false, error: 'Access denied'});
+ return;
+ }
+
+ const message = {
+ // Default message icon. Cen be overwritten by user.
+ icon: '👋',
+ };
+
+ _.merge(message, req.body.message, {
+ id: lastId++,
+ timestamp: Date.now(),
+ userName: user.name,
+ });
+
+ messages.push(message);
+ res.send({ok: true});
+ },
+ delete(req, res) {
+ const user = findUser(req.body.auth || {});
+
+ if (!user || !user.canDelete) {
+ res.status(403).send({ok: false, error: 'Access denied'});
+ return;
+ }
+
+ messages = messages.filter((m) => m.id !== req.body.messageId);
+ res.send({ok: true});
+ }
+};
diff --git a/linters/snyk/test_data/requirements.txt b/linters/snyk/test_data/requirements.txt
new file mode 100644
index 000000000..4c29e3562
--- /dev/null
+++ b/linters/snyk/test_data/requirements.txt
@@ -0,0 +1,2 @@
+pillow==9.1.1
+langchain==0.0.171
diff --git a/linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot b/linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot
new file mode 100644
index 000000000..2a0c57758
--- /dev/null
+++ b/linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot
@@ -0,0 +1,298 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Testing linter snyk test basic 1`] = `
+{
+ "issues": [
+ {
+ "code": "java/Sqli",
+ "column": "18",
+ "file": "test_data/SqlInjectionLess4.java",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "59",
+ "linter": "snyk",
+ "message": "Unsanitized input from an HTTP parameter flows into executeUpdate, where it is used in an SQL query. This may result in an SQL Injection vulnerability.",
+ "ranges": [
+ {
+ "filePath": "test_data/SqlInjectionLess4.java",
+ "length": "23",
+ "offset": "2394",
+ },
+ ],
+ "targetType": "javascript",
+ },
+ {
+ "code": "javascript/NoSqli",
+ "column": "8",
+ "file": "test_data/index.js",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "116",
+ "linter": "snyk",
+ "message": "Unsanitized input from an HTTP parameter flows into findById, where it is used in an NoSQL query. This may result in an NoSQL Injection vulnerability.",
+ "ranges": [
+ {
+ "filePath": "test_data/index.js",
+ "length": "8",
+ "offset": "2725",
+ },
+ ],
+ "targetType": "javascript",
+ },
+ {
+ "code": "javascript/NoSqli",
+ "column": "8",
+ "file": "test_data/index.js",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "144",
+ "linter": "snyk",
+ "message": "Unsanitized input from an HTTP parameter flows into findById, where it is used in an NoSQL query. This may result in an NoSQL Injection vulnerability.",
+ "ranges": [
+ {
+ "filePath": "test_data/index.js",
+ "length": "8",
+ "offset": "3261",
+ },
+ ],
+ "targetType": "javascript",
+ },
+ {
+ "code": "javascript/NoRateLimitingForExpensiveWebOperation",
+ "column": "18",
+ "file": "test_data/index.js",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_MEDIUM",
+ "line": "166",
+ "linter": "snyk",
+ "message": "This endpoint handler performs a file system operation and does not use a rate-limiting mechanism. It may enable the attackers to perform Denial-of-service attacks. Consider using a rate-limiting middleware such as express-limit.",
+ "ranges": [
+ {
+ "filePath": "test_data/index.js",
+ "length": "1567",
+ "offset": "3702",
+ },
+ ],
+ "targetType": "javascript",
+ },
+ {
+ "code": "javascript/NoRateLimitingForExpensiveWebOperation",
+ "column": "21",
+ "file": "test_data/index.js",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_MEDIUM",
+ "line": "222",
+ "linter": "snyk",
+ "message": "This endpoint handler performs a file system operation and does not use a rate-limiting mechanism. It may enable the attackers to perform Denial-of-service attacks. Consider using a rate-limiting middleware such as express-limit.",
+ "ranges": [
+ {
+ "filePath": "test_data/index.js",
+ "length": "242",
+ "offset": "5292",
+ },
+ ],
+ "targetType": "javascript",
+ },
+ {
+ "code": "javascript/NoSqli",
+ "column": "8",
+ "file": "test_data/index.js",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "39",
+ "linter": "snyk",
+ "message": "Unsanitized input from the HTTP request body flows into find, where it is used in an NoSQL query. This may result in an NoSQL Injection vulnerability.",
+ "ranges": [
+ {
+ "filePath": "test_data/index.js",
+ "length": "4",
+ "offset": "918",
+ },
+ ],
+ "targetType": "javascript",
+ },
+ {
+ "code": "javascript/NoRateLimitingForExpensiveWebOperation",
+ "column": "18",
+ "file": "test_data/index.js",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_MEDIUM",
+ "line": "77",
+ "linter": "snyk",
+ "message": "This endpoint handler performs a system command execution and does not use a rate-limiting mechanism. It may enable the attackers to perform Denial-of-service attacks. Consider using a rate-limiting middleware such as express-limit.",
+ "ranges": [
+ {
+ "filePath": "test_data/index.js",
+ "length": "928",
+ "offset": "1741",
+ },
+ ],
+ "targetType": "javascript",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-3113875",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_MEDIUM",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a medium severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-3113876",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_MEDIUM",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a medium severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-5918878",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a critical severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-6043904",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-6182918",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-6219984",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-6219986",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ {
+ "code": "SNYK-PYTHON-PILLOW-6514866",
+ "column": "1",
+ "file": "test_data/requirements.txt",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "1",
+ "linter": "snyk",
+ "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
+ "targetType": "lockfile",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "code",
+ "fileGroupName": "java",
+ "linter": "snyk",
+ "paths": [
+ "test_data/SqlInjectionLess4.java",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "code",
+ "fileGroupName": "javascript",
+ "linter": "snyk",
+ "paths": [
+ "test_data/index.js",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "code",
+ "fileGroupName": "java",
+ "linter": "snyk",
+ "paths": [
+ "test_data/SqlInjectionLess4.java",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "code",
+ "fileGroupName": "javascript",
+ "linter": "snyk",
+ "paths": [
+ "test_data/index.js",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "test",
+ "fileGroupName": "lockfile",
+ "linter": "snyk",
+ "paths": [
+ "test_data/requirements.txt",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "test",
+ "fileGroupName": "lockfile",
+ "linter": "snyk",
+ "paths": [
+ "test_data/requirements.txt",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
From 2b0b98948806b38133c5efa58c7ef7caebc2b800 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 26 Jan 2025 23:40:34 -0800
Subject: [PATCH 22/27] Bump github/codeql-action from 3.28.1 to 3.28.5 in the
dependencies group (#964)
Bumps the dependencies group with 1 update:
[github/codeql-action](https://github.com/github/codeql-action).
Updates `github/codeql-action` from 3.28.1 to 3.28.5
Release notes
Sourced from github/codeql-action's
releases.
v3.28.5
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
3.28.5 - 24 Jan 2025
- Update default CodeQL bundle version to 2.20.3. #2717
See the full CHANGELOG.md
for more information.
v3.28.4
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
3.28.4 - 23 Jan 2025
No user facing changes.
See the full CHANGELOG.md
for more information.
v3.28.3
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
3.28.3 - 22 Jan 2025
- Update default CodeQL bundle version to 2.20.2. #2707
- Fix an issue downloading the CodeQL Bundle from a GitHub Enterprise
Server instance which occurred when the CodeQL Bundle had been synced to
the instance using the CodeQL Action
sync tool and the Actions runner did not have Zstandard installed.
#2710
- Uploading debug artifacts for CodeQL analysis is temporarily
disabled. #2712
See the full CHANGELOG.md
for more information.
v3.28.2
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
3.28.2 - 21 Jan 2025
No user facing changes.
See the full CHANGELOG.md
for more information.
Changelog
Sourced from github/codeql-action's
changelog.
CodeQL Action Changelog
See the releases
page for the relevant changes to the CodeQL CLI and language
packs.
[UNRELEASED]
No user facing changes.
3.28.5 - 24 Jan 2025
- Update default CodeQL bundle version to 2.20.3. #2717
3.28.4 - 23 Jan 2025
No user facing changes.
3.28.3 - 22 Jan 2025
- Update default CodeQL bundle version to 2.20.2. #2707
- Fix an issue downloading the CodeQL Bundle from a GitHub Enterprise
Server instance which occurred when the CodeQL Bundle had been synced to
the instance using the CodeQL Action
sync tool and the Actions runner did not have Zstandard installed.
#2710
- Uploading debug artifacts for CodeQL analysis is temporarily
disabled. #2712
3.28.2 - 21 Jan 2025
No user facing changes.
3.28.1 - 10 Jan 2025
- CodeQL Action v2 is now deprecated, and is no longer updated or
supported. For better performance, improved security, and new features,
upgrade to v3. For more information, see this
changelog post. #2677
- Update default CodeQL bundle version to 2.20.1. #2678
3.28.0 - 20 Dec 2024
- Bump the minimum CodeQL bundle version to 2.15.5. #2655
- Don't fail in the unusual case that a file is on the search path. #2660.
3.27.9 - 12 Dec 2024
No user facing changes.
3.27.8 - 12 Dec 2024
- Fixed an issue where streaming the download and extraction of the
CodeQL bundle did not respect proxy settings. #2624
3.27.7 - 10 Dec 2024
- We are rolling out a change in December 2024 that will extract the
CodeQL bundle directly to the toolcache to improve performance. #2631
- Update default CodeQL bundle version to 2.20.0. #2636
3.27.6 - 03 Dec 2024
... (truncated)
Commits
f6091c0
Merge pull request #2721
from github/update-v3.28.5-01f001931
064af10
Update changelog for v3.28.5
01f0019
Merge pull request #2717
from github/update-bundle/codeql-bundle-v2.20.3
573ad88
Merge pull request #2718
from github/kaeluka/4779-1
d7f3976
permissions block in query-filters.yml
428975c
Add changelog note
208091d
Update default bundle to codeql-bundle-v2.20.3
7e3036b
Merge pull request #2716
from github/mergeback/v3.28.4-to-main-ee117c90
e32a0d6
Update checked-in dependencies
67c21e4
Update changelog and version after v3.28.4
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/codeql.yml | 6 +++---
.github/workflows/scorecard.yml | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index ad3f95872..11780764e 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -34,7 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
+ uses: github/codeql-action/init@f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4 # v3.28.5
# Override language selection by uncommenting this and choosing your languages
with:
languages: javascript
@@ -42,7 +42,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below).
- name: Autobuild
- uses: github/codeql-action/autobuild@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
+ uses: github/codeql-action/autobuild@f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4 # v3.28.5
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -56,4 +56,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
+ uses: github/codeql-action/analyze@f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4 # v3.28.5
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 31c97680b..011b6861a 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -65,6 +65,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
+ uses: github/codeql-action/upload-sarif@f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4 # v3.28.5
with:
sarif_file: results.sarif
From cb9b51e8a4a55ebd9564b33b8e06437a1bbdea49 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 26 Jan 2025 23:41:17 -0800
Subject: [PATCH 23/27] Bump the dependencies group with 4 updates (#965)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the dependencies group with 4 updates:
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node),
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin),
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
and
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).
Updates `@types/node` from 22.10.7 to 22.10.10
Commits
Updates `@typescript-eslint/eslint-plugin` from 8.20.0 to 8.21.0
Release notes
Sourced from @typescript-eslint/eslint-plugin
's
releases.
v8.21.0
8.21.0 (2025-01-20)
🚀 Features
- ast-spec: support import attributes in
TSImportType
(#10640)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-arguments]
handle type args on jsx (#10630)
- eslint-plugin: check JSX spread elements for
misused spread usage (#10653)
- eslint-plugin: [no-for-in-array] report on any type
which may be an array or array-like (#10535)
- eslint-plugin: [no-base-to-string] don't crash for
recursive array or tuple types (#10633)
- eslint-plugin: [no-duplicate-enum-values] handle
template literal (#10675)
- eslint-plugin-internal: [debug-namespace] on
windows (#10661)
- rule-tester: handle window root path (#10654)
- scope-manager: add a reference for JSX closing
element if it exists (#10614)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/eslint-plugin
's
changelog.
8.21.0 (2025-01-20)
🩹 Fixes
- eslint-plugin: [no-duplicate-enum-values] handle
template literal (#10675)
- eslint-plugin: [no-base-to-string] don't crash for
recursive array or tuple types (#10633)
- eslint-plugin: [no-for-in-array] report on any type
which may be an array or array-like (#10535)
- eslint-plugin: check JSX spread elements for
misused spread usage (#10653)
- eslint-plugin: [no-unnecessary-type-arguments]
handle type args on jsx (#10630)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Commits
79af426
chore(release): publish 8.21.0
609a78f
test(eslint-plugin): adjust tests to verify
no-unnecessary-type-assertion
d...
fb4ca72
fix(eslint-plugin): [no-duplicate-enum-values] handle template literal
(#10675)
1895948
fix(eslint-plugin): [no-base-to-string] don't crash for recursive array
or tu...
74f1c5a
fix(eslint-plugin): [no-for-in-array] report on any type which may be an
arra...
916b989
fix(eslint-plugin): check JSX spread elements for misused spread usage
(#10653)
31be053
chore: fix failing test on master
70f3092
docs: [no-misused-spread] fix sample code (#10659)
a157fd4
chore: standardized on inline named exports (mostly) (#10596)
3dbcc19
fix(eslint-plugin): [no-unnecessary-type-arguments] handle type args on
jsx (...
- See full diff in compare
view
Updates `@typescript-eslint/parser` from 8.20.0 to 8.21.0
Release notes
Sourced from @typescript-eslint/parser
's
releases.
v8.21.0
8.21.0 (2025-01-20)
🚀 Features
- ast-spec: support import attributes in
TSImportType
(#10640)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-arguments]
handle type args on jsx (#10630)
- eslint-plugin: check JSX spread elements for
misused spread usage (#10653)
- eslint-plugin: [no-for-in-array] report on any type
which may be an array or array-like (#10535)
- eslint-plugin: [no-base-to-string] don't crash for
recursive array or tuple types (#10633)
- eslint-plugin: [no-duplicate-enum-values] handle
template literal (#10675)
- eslint-plugin-internal: [debug-namespace] on
windows (#10661)
- rule-tester: handle window root path (#10654)
- scope-manager: add a reference for JSX closing
element if it exists (#10614)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from @typescript-eslint/parser
's
changelog.
8.21.0 (2025-01-20)
This was a version bump only for parser to align it with other
projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
Updates `typescript-eslint` from 8.20.0 to 8.21.0
Release notes
Sourced from typescript-eslint's
releases.
v8.21.0
8.21.0 (2025-01-20)
🚀 Features
- ast-spec: support import attributes in
TSImportType
(#10640)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-arguments]
handle type args on jsx (#10630)
- eslint-plugin: check JSX spread elements for
misused spread usage (#10653)
- eslint-plugin: [no-for-in-array] report on any type
which may be an array or array-like (#10535)
- eslint-plugin: [no-base-to-string] don't crash for
recursive array or tuple types (#10633)
- eslint-plugin: [no-duplicate-enum-values] handle
template literal (#10675)
- eslint-plugin-internal: [debug-namespace] on
windows (#10661)
- rule-tester: handle window root path (#10654)
- scope-manager: add a reference for JSX closing
element if it exists (#10614)
❤️ Thank You
You can read about our versioning
strategy and releases
on our website.
Changelog
Sourced from typescript-eslint's
changelog.
8.21.0 (2025-01-20)
This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.
You can read about our versioning
strategy and releases
on our website.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 123 +++++++++++++++++++++++++---------------------
package.json | 8 +--
2 files changed, 72 insertions(+), 59 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9225ee8fa..f61099fff 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,10 +16,10 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.7",
+ "@types/node": "^22.10.10",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.20.0",
- "@typescript-eslint/parser": "^8.20.0",
+ "@typescript-eslint/eslint-plugin": "^8.21.0",
+ "@typescript-eslint/parser": "^8.21.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -41,7 +41,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.3",
- "typescript-eslint": "^8.20.0",
+ "typescript-eslint": "^8.21.0",
"yaml": "^2.7.0"
},
"engines": {
@@ -1469,10 +1469,11 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "22.10.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
- "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
+ "version": "22.10.10",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz",
+ "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
}
@@ -1502,16 +1503,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz",
- "integrity": "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz",
+ "integrity": "sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.20.0",
- "@typescript-eslint/type-utils": "8.20.0",
- "@typescript-eslint/utils": "8.20.0",
- "@typescript-eslint/visitor-keys": "8.20.0",
+ "@typescript-eslint/scope-manager": "8.21.0",
+ "@typescript-eslint/type-utils": "8.21.0",
+ "@typescript-eslint/utils": "8.21.0",
+ "@typescript-eslint/visitor-keys": "8.21.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1531,15 +1533,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz",
- "integrity": "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.21.0.tgz",
+ "integrity": "sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.20.0",
- "@typescript-eslint/types": "8.20.0",
- "@typescript-eslint/typescript-estree": "8.20.0",
- "@typescript-eslint/visitor-keys": "8.20.0",
+ "@typescript-eslint/scope-manager": "8.21.0",
+ "@typescript-eslint/types": "8.21.0",
+ "@typescript-eslint/typescript-estree": "8.21.0",
+ "@typescript-eslint/visitor-keys": "8.21.0",
"debug": "^4.3.4"
},
"engines": {
@@ -1555,13 +1558,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz",
- "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz",
+ "integrity": "sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.20.0",
- "@typescript-eslint/visitor-keys": "8.20.0"
+ "@typescript-eslint/types": "8.21.0",
+ "@typescript-eslint/visitor-keys": "8.21.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1572,13 +1576,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz",
- "integrity": "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz",
+ "integrity": "sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.20.0",
- "@typescript-eslint/utils": "8.20.0",
+ "@typescript-eslint/typescript-estree": "8.21.0",
+ "@typescript-eslint/utils": "8.21.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.0.0"
},
@@ -1595,10 +1600,11 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz",
- "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.21.0.tgz",
+ "integrity": "sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -1608,13 +1614,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz",
- "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.21.0.tgz",
+ "integrity": "sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.20.0",
- "@typescript-eslint/visitor-keys": "8.20.0",
+ "@typescript-eslint/types": "8.21.0",
+ "@typescript-eslint/visitor-keys": "8.21.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -1638,6 +1645,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -1647,6 +1655,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -1658,15 +1667,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz",
- "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.21.0.tgz",
+ "integrity": "sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.20.0",
- "@typescript-eslint/types": "8.20.0",
- "@typescript-eslint/typescript-estree": "8.20.0"
+ "@typescript-eslint/scope-manager": "8.21.0",
+ "@typescript-eslint/types": "8.21.0",
+ "@typescript-eslint/typescript-estree": "8.21.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1681,12 +1691,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz",
- "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.21.0.tgz",
+ "integrity": "sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.20.0",
+ "@typescript-eslint/types": "8.21.0",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -1702,6 +1713,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -6312,14 +6324,15 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.20.0.tgz",
- "integrity": "sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==",
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.21.0.tgz",
+ "integrity": "sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.20.0",
- "@typescript-eslint/parser": "8.20.0",
- "@typescript-eslint/utils": "8.20.0"
+ "@typescript-eslint/eslint-plugin": "8.21.0",
+ "@typescript-eslint/parser": "8.21.0",
+ "@typescript-eslint/utils": "8.21.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
diff --git a/package.json b/package.json
index 3e1b89619..aaf3e6c6f 100644
--- a/package.json
+++ b/package.json
@@ -14,10 +14,10 @@
"@types/debug": "^4.1.12",
"@types/jest": "^29.5.14",
"@types/jest-specific-snapshot": "^0.5.9",
- "@types/node": "^22.10.7",
+ "@types/node": "^22.10.10",
"@types/semver": "^7.5.8",
- "@typescript-eslint/eslint-plugin": "^8.20.0",
- "@typescript-eslint/parser": "^8.20.0",
+ "@typescript-eslint/eslint-plugin": "^8.21.0",
+ "@typescript-eslint/parser": "^8.21.0",
"caller": "^1.1.0",
"debug": "^4.4.0",
"eslint": "9.14.0",
@@ -39,7 +39,7 @@
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.1.2",
"typescript": "^5.7.3",
- "typescript-eslint": "^8.20.0",
+ "typescript-eslint": "^8.21.0",
"yaml": "^2.7.0"
},
"bundleDependencies": [
From ef0d9126c18d716447dc361f567ed076b03f8289 Mon Sep 17 00:00:00 2001
From: Matt Gowie
Date: Tue, 28 Jan 2025 15:52:03 -0700
Subject: [PATCH 24/27] =?UTF-8?q?feat:=20adds=20terraform-docs=20action=20?=
=?UTF-8?q?=E2=9A=A1=20(#966)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Info
* Adds terraform-docs as an action to support automatically generating +
updating terraform module documentation for terraform projects.
* Closes https://github.com/trunk-io/plugins/issues/681
* This is working well locally.
* Adding terraform-docs support via this PR in favor of #946
* Question: Is there a way to ensure that trunk installs
`terraform-docs`? I only see a [`tools` declaration for
`commitizen`](https://github.com/trunk-io/plugins/blob/main/actions/commitizen/plugin.yaml#L13-L24)
and I'm unsure if I can enforce that the user is using
[tools/terraform-docs](https://github.com/trunk-io/plugins/tree/main/tools/terraform-docs).
What am I missing there?
---
README.md | 1 +
actions/terraform-docs/README.md | 13 +++++
actions/terraform-docs/plugin.yaml | 10 ++++
actions/terraform-docs/terraform-docs.py | 73 ++++++++++++++++++++++++
4 files changed, 97 insertions(+)
create mode 100644 actions/terraform-docs/README.md
create mode 100644 actions/terraform-docs/plugin.yaml
create mode 100755 actions/terraform-docs/terraform-docs.py
diff --git a/README.md b/README.md
index aac41e3e5..d0545e841 100644
--- a/README.md
+++ b/README.md
@@ -222,6 +222,7 @@ trunk actions enable {action}
| [`go-mod-tidy-vendor`](actions/go-mod-tidy-vendor/README.md) | automatically tidy and vendor go.mod file |
| [`git-blame-ignore-revs`](actions/git-blame-ignore-revs/README.md) | automatically configure git to use .git-blame-ignore-revs |
| [`npm-check`](actions/npm-check/README.md) | check whether NPM installation is up to date |
+| [`terraform-docs`](actions/terraform-docs/README.md) | generate documentation from Terraform modules |
| [`poetry-check`](actions/poetry/README.md), [`poetry-lock`](actions/poetry/README.md), [`poetry-export`](actions/poetry/README.md), [`poetry-install`](actions/poetry/README.md) | hooks to enforce poetry configuration |
| [`yarn-check`](actions/yarn-check/README.md) | check whether Yarn installation is up to date |
diff --git a/actions/terraform-docs/README.md b/actions/terraform-docs/README.md
new file mode 100644
index 000000000..39a43a3c4
--- /dev/null
+++ b/actions/terraform-docs/README.md
@@ -0,0 +1,13 @@
+# terraform-docs
+
+Generate documentation from Terraform modules in various output formats. Read more about
+terraform-docs [here](https://terraform-docs.io).
+
+This action is intended to be used only with output mode as `inject` with `README.md` files as the
+target. You can configure terraform-docs via a `.terraform-docs.yml` file at the root of your
+repository. Read more about the configuration
+[here](https://terraform-docs.io/user-guide/configuration/).
+
+Is markdownlint causing consistent diffs in your README files? Try using the < !--
+markdownlint-disable --> and < !-- markdownlint-enable --> comments to disable and re-enable
+markdownlint for your terraform-docs section of your README.
diff --git a/actions/terraform-docs/plugin.yaml b/actions/terraform-docs/plugin.yaml
new file mode 100644
index 000000000..6763ed4c4
--- /dev/null
+++ b/actions/terraform-docs/plugin.yaml
@@ -0,0 +1,10 @@
+version: 0.1
+actions:
+ definitions:
+ - id: terraform-docs
+ display_name: Terraform Docs
+ description: Generate documentation from Terraform modules in various output formats
+ runtime: python
+ triggers:
+ - git_hooks: [pre-commit]
+ run: python ${cwd}/terraform-docs.py
diff --git a/actions/terraform-docs/terraform-docs.py b/actions/terraform-docs/terraform-docs.py
new file mode 100755
index 000000000..26f56ddb1
--- /dev/null
+++ b/actions/terraform-docs/terraform-docs.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python3
+"""
+Trunk.io plugin for terraform-docs integration.
+
+This script acts as a pre-commit hook to ensure terraform documentation is up to date.
+It performs the following:
+1. Runs terraform-docs to update documentation
+2. Checks if any README.md files show up in the unstaged changes
+3. Exits with failure if there are unstaged README changes, success otherwise
+"""
+
+# trunk-ignore(bandit/B404)
+import subprocess
+import sys
+
+
+def run_command(cmd):
+ """
+ Execute a shell command and return its exit code, stdout, and stderr.
+
+ Args:
+ cmd: List of command arguments to execute
+
+ Returns:
+ Tuple containing (return_code, stdout, stderr)
+ """
+ try:
+
+ process = subprocess.Popen(
+ cmd,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ universal_newlines=True,
+ # trunk-ignore(bandit/B603)
+ shell=False, # Explicitly disable shell to prevent command injection
+ )
+ stdout, stderr = process.communicate()
+ return process.returncode, stdout, stderr
+ except FileNotFoundError:
+ print(
+ f"terraform-docs error: {cmd[0]} not found. Please ensure it's installed and in your PATH"
+ )
+ sys.exit(1)
+ except Exception as e:
+ print(f"terraform-docs error: Executing command {' '.join(cmd)}: {e}")
+ sys.exit(1)
+
+
+# First, run terraform-docs to update documentation
+update_cmd = ["terraform-docs", "."]
+return_code, stdout, stderr = run_command(update_cmd)
+
+if stderr:
+ print(f"terraform-docs error: Warning during execution:\n{stderr}", file=sys.stderr)
+
+# Check git status for unstaged README changes
+status_cmd = ["git", "status", "--porcelain"]
+return_code, stdout, stderr = run_command(status_cmd)
+
+# Look for any README.md files in the unstaged changes
+unstaged_readmes = [
+ line.split()[-1]
+ for line in stdout.splitlines()
+ if line.startswith(" M") and line.endswith("README.md")
+]
+
+# Check if we found any unstaged README files
+if len(unstaged_readmes) > 0:
+ print("terraform-docs error: Please stage any README changes before committing.")
+ sys.exit(1)
+
+print("terraform-docs: Documentation is up to date")
+sys.exit(0)
From bb850517a83ee76824518139e27eaaab2afe8415 Mon Sep 17 00:00:00 2001
From: Matt Gowie
Date: Wed, 29 Jan 2025 11:09:26 -0700
Subject: [PATCH 25/27] fix: use python3 as executable for tf-docs script
(#967)
## Info
* Follow up from #966 - Executing `python` doesn't do the trick, the
executable needs to be `python3`
---
actions/terraform-docs/plugin.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/actions/terraform-docs/plugin.yaml b/actions/terraform-docs/plugin.yaml
index 6763ed4c4..f18454a45 100644
--- a/actions/terraform-docs/plugin.yaml
+++ b/actions/terraform-docs/plugin.yaml
@@ -7,4 +7,4 @@ actions:
runtime: python
triggers:
- git_hooks: [pre-commit]
- run: python ${cwd}/terraform-docs.py
+ run: python3 ${cwd}/terraform-docs.py
From 54b7448e49f054c475dc6f6fd72a18309dafda08 Mon Sep 17 00:00:00 2001
From: Tyler Jang
Date: Wed, 29 Jan 2025 10:28:00 -0800
Subject: [PATCH 26/27] (Chore): Streamline repo tests (#963)
- Fix snyk test to run in CI
- Fix biome snapshots
- Fix hadolint snapshots
- Fix ansible-lint snapshots and update recommended usage for inverse
ignores
- Remove windows test workflows
- Upgrade the CLI (required fixing some of the above snapshots)
---
.github/workflows/nightly.yaml | 12 +-
.github/workflows/pr.yaml | 7 +-
.../workflows/upload_results.reusable.yaml | 25 +-
linters/ansible-lint/README.md | 30 +-
linters/ansible-lint/ansible_lint.test.ts | 14 +-
linters/ansible-lint/plugin.yaml | 10 +-
.../ansible_lint_v24.5.0_FQCN.check.shot | 596 ------------------
.../ansible_lint_v24.5.0_non_FQCN.check.shot | 584 -----------------
.../ansible_lint_v24.6.0_FQCN.check.shot | 158 ++---
.../ansible_lint_v24.6.0_non_FQCN.check.shot | 156 ++---
.../ansible_lint_v6.13.0_FQCN.check.shot | 154 ++---
.../ansible_lint_v6.13.0_non_FQCN.check.shot | 503 ++++++++++++++-
.../ansible_lint_v6.14.3_FQCN.check.shot | 560 ----------------
.../ansible_lint_v6.14.3_non_FQCN.check.shot | 43 --
.../ansible_lint_v6.22.1_FQCN.check.shot | 560 ----------------
.../ansible_lint_v6.22.1_non_FQCN.check.shot | 43 --
linters/biome/biome.test.ts | 19 +-
linters/biome/plugin.yaml | 4 +-
.../biome_v1.4.1_basic_check.check.shot | 61 --
.../test_data/biome_v1.4.1_error.check.shot | 36 --
.../test_data/biome_v1.6.0_basic_fmt.fmt.shot | 23 -
.../biome_v1.6.0_basic_json.fmt.shot | 6 -
...ot => biome_v1.9.4_basic_check.check.shot} | 0
...t.shot => biome_v1.9.4_basic_fmt.fmt.shot} | 6 +-
....shot => biome_v1.9.4_basic_json.fmt.shot} | 0
...eck.shot => biome_v1.9.4_error.check.shot} | 17 +-
.../hadolint_v2.10.0_CUSTOM.check.shot | 38 --
.../hadolint_v2.12.1-beta_CUSTOM.check.shot | 38 --
linters/plugin.yaml | 1 +
linters/snyk/plugin.yaml | 2 +-
linters/snyk/snyk.test.ts | 1 +
linters/snyk/test_data/requirements.txt | 2 -
.../test_data/snyk_v1.1295.0_basic.check.shot | 153 -----
33 files changed, 825 insertions(+), 3037 deletions(-)
delete mode 100644 linters/ansible-lint/test_data/ansible_lint_v24.5.0_FQCN.check.shot
delete mode 100644 linters/ansible-lint/test_data/ansible_lint_v24.5.0_non_FQCN.check.shot
delete mode 100644 linters/ansible-lint/test_data/ansible_lint_v6.14.3_FQCN.check.shot
delete mode 100644 linters/ansible-lint/test_data/ansible_lint_v6.14.3_non_FQCN.check.shot
delete mode 100644 linters/ansible-lint/test_data/ansible_lint_v6.22.1_FQCN.check.shot
delete mode 100644 linters/ansible-lint/test_data/ansible_lint_v6.22.1_non_FQCN.check.shot
delete mode 100644 linters/biome/test_data/biome_v1.4.1_basic_check.check.shot
delete mode 100644 linters/biome/test_data/biome_v1.4.1_error.check.shot
delete mode 100644 linters/biome/test_data/biome_v1.6.0_basic_fmt.fmt.shot
delete mode 100644 linters/biome/test_data/biome_v1.6.0_basic_json.fmt.shot
rename linters/biome/test_data/{biome_v1.6.0_basic_check.check.shot => biome_v1.9.4_basic_check.check.shot} (100%)
rename linters/biome/test_data/{biome_v1.4.1_basic_fmt.fmt.shot => biome_v1.9.4_basic_fmt.fmt.shot} (89%)
rename linters/biome/test_data/{biome_v1.4.1_basic_json.fmt.shot => biome_v1.9.4_basic_json.fmt.shot} (100%)
rename linters/biome/test_data/{biome_v1.6.0_error.check.shot => biome_v1.9.4_error.check.shot} (74%)
delete mode 100644 linters/snyk/test_data/requirements.txt
diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml
index 97dac1ddc..57a1fc226 100644
--- a/.github/workflows/nightly.yaml
+++ b/.github/workflows/nightly.yaml
@@ -28,14 +28,14 @@ jobs:
# This job is used to diagnose plugin config health in advance of a release
linter_tests_main:
name: Plugin Tests Main
- # runs-on: [self-hosted, "${{ matrix.os }}"] TODO(Tyler): Set after Windows self-hosted are established.
runs-on: ${{ matrix.os }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
linter-version: [Snapshots, Latest]
- os: [ubuntu-latest, macOS, windows-latest]
+ # TODO(Tyler): Re-add Windows runners.
+ os: [ubuntu-latest, macOS]
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
@@ -213,21 +213,21 @@ jobs:
# Run tool tests only on main
tool_tests_main:
name: Tool Tests Main
- # runs-on: [self-hosted, "${{ matrix.os }}"] TODO(Tyler): Set after Windows self-hosted are established.
runs-on: ${{ matrix.os }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
- os: [ubuntu-latest, macOS, windows-latest]
+ # TODO(Tyler): Re-add Windows runners.
+ os: [ubuntu-latest, macOS]
include:
# Normalize the filenames as inputs for ease of parsing
- os: ubuntu-latest
results-file: ubuntu-latest
- os: macOS
results-file: macos-latest
- - os: windows-latest
- results-file: windows-latest
+ # - os: windows-latest
+ # results-file: windows-latest
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index 76df7ea78..3b5b72a1a 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -241,12 +241,12 @@ jobs:
TRUNK_GITHUB_CHECK_RUN_TITLE: Trunk Check
# Run Windows tests for modified linters and tools
- # TODO(Tyler): When this is more stabilized and we want to gate on it, we can make it part of the matrix above.
windows_linter_tests:
name: Windows Linter Tests
runs-on: windows-latest
needs: detect_changes
- if: needs.detect_changes.outputs.linters == 'true'
+ # TODO(Tyler): Re-add Windows runners.
+ if: needs.detect_changes.outputs.linters == 'true' && false
timeout-minutes: 90
steps:
- name: Checkout
@@ -271,11 +271,12 @@ jobs:
trunk-staging-token: ${{ secrets.TRUNK_DEBUGGER_TOKEN }}
trunk-prod-token: ${{ secrets.TRUNK_ORG_PROD_TOKEN }}
+ # TODO(Tyler): Re-add Windows runners.
windows_tool_tests:
name: Windows Tool Tests
runs-on: windows-latest
needs: detect_changes
- if: needs.detect_changes.outputs.tools == 'true'
+ if: needs.detect_changes.outputs.tools == 'true' && false
timeout-minutes: 60
steps:
- name: Checkout
diff --git a/.github/workflows/upload_results.reusable.yaml b/.github/workflows/upload_results.reusable.yaml
index cc61d2232..8e19d284f 100644
--- a/.github/workflows/upload_results.reusable.yaml
+++ b/.github/workflows/upload_results.reusable.yaml
@@ -76,12 +76,13 @@ jobs:
with:
name: ${{ inputs.results-prefix }}macos-latest-test-results
- - name: Retrieve Test Outputs Windows
- id: download-windows
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
- continue-on-error: true
- with:
- name: ${{ inputs.results-prefix }}windows-latest-test-results
+ # TODO(Tyler): Re-add Windows runners.
+ # - name: Retrieve Test Outputs Windows
+ # id: download-windows
+ # uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
+ # continue-on-error: true
+ # with:
+ # name: ${{ inputs.results-prefix }}windows-latest-test-results
- name: Print Test Outputs
continue-on-error: true
@@ -95,15 +96,15 @@ jobs:
cat "macos-latest-res.json" || echo "missing"
echo "::endgroup::"
- echo "::group::Windows results"
- cat "windows-latest-res.json" || echo "missing"
- echo "::endgroup::"
+ # echo "::group::Windows results"
+ # cat "windows-latest-res.json" || echo "missing"
+ # echo "::endgroup::"
- name: Slack Notification For Missing Artifacts
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
if:
- steps.download-ubuntu.outcome == 'failure' || steps.download-macos.outcome == 'failure' ||
- steps.download-windows.outcome == 'failure'
+ steps.download-ubuntu.outcome == 'failure' || steps.download-macos.outcome == 'failure'
+ # || steps.download-windows.outcome == 'failure'
with:
method: chat.postMessage
token: ${{ secrets.TRUNKBOT_SLACK_BOT_TOKEN }}
@@ -114,7 +115,7 @@ jobs:
- type: section
text:
type: mrkdwn
- text: "Failure: "
+ text: "Failure: "
- name: Setup Node
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
diff --git a/linters/ansible-lint/README.md b/linters/ansible-lint/README.md
index 23be34fe1..2a6226784 100644
--- a/linters/ansible-lint/README.md
+++ b/linters/ansible-lint/README.md
@@ -2,10 +2,32 @@
## Usage
-[Ansible-lint](https://github.com/ansible/ansible-lint) is used to check ansible playbooks. In order
-to integrate well with trunk, ansible is usually run using triggers. The trigger system allows file
-changes to trigger lint runs. An example of an ansible-lint trigger is included below, but more
-information can be found in our [docs](https://docs.trunk.io/check/configuration#trigger-rules).
+### New Recommendation
+
+We now recommend using
+[inverse ignores](https://docs.trunk.io/code-quality/linters/ignoring-issues-and-files#ignoring-multiple-files)
+to run ansible-lint. For backwards compatibility, you will need to specify filetypes yourself and
+then a list of ignores.
+
+```yaml
+lint:
+ definitions:
+ - name: ansible-lint
+ files: [yaml]
+ enabled:
+ - ansible-lint@5.3.2
+ ignore:
+ - linters: [ansible-lint]
+ paths:
+ - "**"
+ - "!test_data/jboss-standalone"
+```
+
+### Legacy Mode
+
+[Ansible-lint](https://github.com/ansible/ansible-lint) is used to check ansible playbooks.
+Historically, in order to integrate well with trunk, you would invoke ansible-lint with
+[triggers](https://docs.trunk.io/check/configuration#trigger-rules).
```yaml
lint:
diff --git a/linters/ansible-lint/ansible_lint.test.ts b/linters/ansible-lint/ansible_lint.test.ts
index 896f5cba6..3510159b8 100644
--- a/linters/ansible-lint/ansible_lint.test.ts
+++ b/linters/ansible-lint/ansible_lint.test.ts
@@ -9,16 +9,14 @@ const preCheck =
(driver: TrunkLintDriver) => {
const trunkYamlPath = ".trunk/trunk.yaml";
const currentContents = driver.readFile(trunkYamlPath);
- const newContents = currentContents.concat(` triggers:
- # Run these linters
- - linters:
- - ansible-lint
- # If any files matching these change
+ const newContents = currentContents.concat(` definitions:
+ - name: ansible-lint
+ files: [yaml]
+ ignore:
+ - linters: [ansible-lint]
paths:
- "**"
- # On this target (A directory in this case)
- targets:
- - jboss-standalone
+ - "!jboss-standalone"
`);
driver.writeFile(trunkYamlPath, newContents);
diff --git a/linters/ansible-lint/plugin.yaml b/linters/ansible-lint/plugin.yaml
index 0e9caec4d..d7188d1b0 100644
--- a/linters/ansible-lint/plugin.yaml
+++ b/linters/ansible-lint/plugin.yaml
@@ -19,18 +19,20 @@ lint:
version: ">=6.1.0"
# sarif support was added in version 6.1.0
output: sarif
- run: ansible-lint -f sarif
+ run: ansible-lint -f sarif ${target}
# ansible-lint >=6.15.0 return exit code 5 when no files matched
success_codes: [0, 2, 5]
- run_from: ${target_directory}
+ run_from: ${parent}
+ batch: true
- name: lint
version: ">=5.1.3"
# Custom parser type defined in the trunk cli to handle ansible-lint's output.
output: ansible_lint
# parseable-severity was removed after 5.4.0
- run: ansible-lint --parseable-severity
+ run: ansible-lint --parseable-severity ${target}
success_codes: [0, 2]
- run_from: ${target_directory}
+ run_from: ${parent}
+ batch: true
tools: [ansible-lint]
suggest_if: never
direct_configs: [.ansible-lint]
diff --git a/linters/ansible-lint/test_data/ansible_lint_v24.5.0_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v24.5.0_FQCN.check.shot
deleted file mode 100644
index ed073c421..000000000
--- a/linters/ansible-lint/test_data/ansible_lint_v24.5.0_FQCN.check.shot
+++ /dev/null
@@ -1,596 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-// trunk-upgrade-validation:RELEASE
-
-exports[`Testing linter ansible-lint test FQCN 1`] = `
-{
- "issues": [
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "28",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.wait_for\` or \`ansible.legacy.wait_for\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "5",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/deploy-application.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/java-app",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name java-app does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "19",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name jboss-standalone does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart jboss",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart iptables",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.get_url\` or \`ansible.legacy.get_url\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Task/Handler: Download JBoss from jboss.org",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "17",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.unarchive\` or \`ansible.legacy.unarchive\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "22",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "25",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.command\` or \`ansible.legacy.command\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "37",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.group\` or \`ansible.legacy.group\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "41",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.user\` or \`ansible.legacy.user\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "47",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.file\` or \`ansible.legacy.file\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "53",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "55",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[octal-values]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[octal-values]",
- "level": "LEVEL_HIGH",
- "line": "59",
- "linter": "ansible-lint",
- "message": "Forbidden implicit octal value "0755"",
- "targetType": "custom",
- },
- {
- "code": "command-instead-of-module",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#command-instead-of-module",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.shell\` or \`ansible.legacy.shell\` instead.",
- "targetType": "custom",
- },
- {
- "code": "ignore-errors",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#ignore-errors",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "no-changed-when",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#no-changed-when",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "63",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "65",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "68",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "78",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "84",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Action \`firewalld\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy firewalld rules",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "92",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "95",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/site.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- ],
- "lintActions": [
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [],
- "unformattedFiles": [],
-}
-`;
diff --git a/linters/ansible-lint/test_data/ansible_lint_v24.5.0_non_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v24.5.0_non_FQCN.check.shot
deleted file mode 100644
index 5eb027aa2..000000000
--- a/linters/ansible-lint/test_data/ansible_lint_v24.5.0_non_FQCN.check.shot
+++ /dev/null
@@ -1,584 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-// trunk-upgrade-validation:RELEASE
-
-exports[`Testing linter ansible-lint test non_FQCN 1`] = `
-{
- "issues": [
- {
- "code": "syntax-check[unknown-module]",
- "column": "7",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#syntax-check[unknown-module]",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "couldn't resolve module/action 'ec2'. This often indicates a misspelling, missing collection, or incorrect module path.",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/deploy-application.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/java-app",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name java-app does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "19",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name jboss-standalone does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart jboss",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart iptables",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.get_url\` or \`ansible.legacy.get_url\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Task/Handler: Download JBoss from jboss.org",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "17",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.unarchive\` or \`ansible.legacy.unarchive\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "22",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "25",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.command\` or \`ansible.legacy.command\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "37",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.group\` or \`ansible.legacy.group\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "41",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.user\` or \`ansible.legacy.user\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "47",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.file\` or \`ansible.legacy.file\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "53",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "55",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[octal-values]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[octal-values]",
- "level": "LEVEL_HIGH",
- "line": "59",
- "linter": "ansible-lint",
- "message": "Forbidden implicit octal value "0755"",
- "targetType": "custom",
- },
- {
- "code": "command-instead-of-module",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#command-instead-of-module",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.shell\` or \`ansible.legacy.shell\` instead.",
- "targetType": "custom",
- },
- {
- "code": "ignore-errors",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#ignore-errors",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "no-changed-when",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#no-changed-when",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "63",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "65",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "68",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "78",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "84",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Action \`firewalld\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy firewalld rules",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "92",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "95",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/site.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- ],
- "lintActions": [
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [],
- "unformattedFiles": [],
-}
-`;
diff --git a/linters/ansible-lint/test_data/ansible_lint_v24.6.0_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v24.6.0_FQCN.check.shot
index 90ea69641..a67527fe7 100644
--- a/linters/ansible-lint/test_data/ansible_lint_v24.6.0_FQCN.check.shot
+++ b/linters/ansible-lint/test_data/ansible_lint_v24.6.0_FQCN.check.shot
@@ -1,5 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-// trunk-upgrade-validation:RELEASE
exports[`Testing linter ansible-lint test FQCN 1`] = `
{
@@ -14,7 +13,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "28",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.wait_for\` or \`ansible.legacy.wait_for\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -26,7 +25,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "5",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[play]",
@@ -38,19 +37,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "4",
"linter": "ansible-lint",
"message": "All plays should be named.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/java-app",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name java-app does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -62,7 +49,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "14",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -74,7 +61,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "14",
"linter": "ansible-lint",
"message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -86,7 +73,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "19",
"linter": "ansible-lint",
"message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -98,7 +85,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -110,7 +97,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -122,19 +109,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name jboss-standalone does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -146,7 +121,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -158,7 +133,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Task/Handler: restart jboss",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -170,7 +145,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -182,7 +157,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Task/Handler: restart iptables",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -194,7 +169,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.get_url\` or \`ansible.legacy.get_url\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -206,7 +181,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "Task/Handler: Download JBoss from jboss.org",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -218,7 +193,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "17",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.unarchive\` or \`ansible.legacy.unarchive\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -230,7 +205,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -242,7 +217,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "22",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -254,7 +229,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "25",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.command\` or \`ansible.legacy.command\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -266,7 +241,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "31",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -278,7 +253,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "31",
"linter": "ansible-lint",
"message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -290,7 +265,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "37",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.group\` or \`ansible.legacy.group\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -302,7 +277,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "41",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.user\` or \`ansible.legacy.user\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -314,7 +289,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "47",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.file\` or \`ansible.legacy.file\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -326,7 +301,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "53",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -338,7 +313,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "55",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[octal-values]",
@@ -350,7 +325,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "59",
"linter": "ansible-lint",
"message": "Forbidden implicit octal value "0755"",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "command-instead-of-module",
@@ -362,7 +337,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -374,7 +349,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.shell\` or \`ansible.legacy.shell\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "ignore-errors",
@@ -386,7 +361,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "no-changed-when",
@@ -398,7 +373,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -410,7 +385,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "63",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -422,7 +397,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "65",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -434,7 +409,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "68",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -446,7 +421,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -458,7 +433,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -470,7 +445,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -482,7 +457,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "78",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -494,7 +469,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "84",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -506,7 +481,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "90",
"linter": "ansible-lint",
"message": "Action \`firewalld\` is not FQCN.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -518,7 +493,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "90",
"linter": "ansible-lint",
"message": "Task/Handler: deploy firewalld rules",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -530,7 +505,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "92",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -542,7 +517,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "95",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[play]",
@@ -554,27 +529,62 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "4",
"linter": "ansible-lint",
"message": "All plays should be named.",
- "targetType": "custom",
+ "targetType": "yaml",
},
],
"lintActions": [
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/demo-aws-launch.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/deploy-application.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/java-app/tasks/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
],
"verb": "TRUNK_VERB_CHECK",
},
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/site.yml",
],
- "upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
],
diff --git a/linters/ansible-lint/test_data/ansible_lint_v24.6.0_non_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v24.6.0_non_FQCN.check.shot
index 8737a2c44..50b3c44c4 100644
--- a/linters/ansible-lint/test_data/ansible_lint_v24.6.0_non_FQCN.check.shot
+++ b/linters/ansible-lint/test_data/ansible_lint_v24.6.0_non_FQCN.check.shot
@@ -1,5 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-// trunk-upgrade-validation:RELEASE
exports[`Testing linter ansible-lint test non_FQCN 1`] = `
{
@@ -14,7 +13,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "couldn't resolve module/action 'ec2'. This often indicates a misspelling, missing collection, or incorrect module path.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[play]",
@@ -26,19 +25,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "4",
"linter": "ansible-lint",
"message": "All plays should be named.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/java-app",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name java-app does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -50,7 +37,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "14",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -62,7 +49,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "14",
"linter": "ansible-lint",
"message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -74,7 +61,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "19",
"linter": "ansible-lint",
"message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -86,7 +73,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -98,7 +85,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -110,19 +97,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name jboss-standalone does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -134,7 +109,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -146,7 +121,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Task/Handler: restart jboss",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -158,7 +133,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -170,7 +145,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Task/Handler: restart iptables",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -182,7 +157,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.get_url\` or \`ansible.legacy.get_url\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -194,7 +169,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "Task/Handler: Download JBoss from jboss.org",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -206,7 +181,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "17",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.unarchive\` or \`ansible.legacy.unarchive\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -218,7 +193,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -230,7 +205,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "22",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -242,7 +217,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "25",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.command\` or \`ansible.legacy.command\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -254,7 +229,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "31",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -266,7 +241,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "31",
"linter": "ansible-lint",
"message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -278,7 +253,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "37",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.group\` or \`ansible.legacy.group\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -290,7 +265,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "41",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.user\` or \`ansible.legacy.user\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -302,7 +277,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "47",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.file\` or \`ansible.legacy.file\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -314,7 +289,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "53",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -326,7 +301,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "55",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[octal-values]",
@@ -338,7 +313,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "59",
"linter": "ansible-lint",
"message": "Forbidden implicit octal value "0755"",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "command-instead-of-module",
@@ -350,7 +325,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -362,7 +337,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.shell\` or \`ansible.legacy.shell\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "ignore-errors",
@@ -374,7 +349,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "no-changed-when",
@@ -386,7 +361,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -398,7 +373,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "63",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -410,7 +385,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "65",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -422,7 +397,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "68",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -434,7 +409,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -446,7 +421,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -458,7 +433,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -470,7 +445,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "78",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.dnf\` or \`ansible.legacy.dnf\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -482,7 +457,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "84",
"linter": "ansible-lint",
"message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -494,7 +469,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "90",
"linter": "ansible-lint",
"message": "Action \`firewalld\` is not FQCN.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -506,7 +481,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "90",
"linter": "ansible-lint",
"message": "Task/Handler: deploy firewalld rules",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -518,7 +493,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "92",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -530,7 +505,7 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "95",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[play]",
@@ -542,27 +517,62 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "4",
"linter": "ansible-lint",
"message": "All plays should be named.",
- "targetType": "custom",
+ "targetType": "yaml",
},
],
"lintActions": [
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/demo-aws-launch.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/deploy-application.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/java-app/tasks/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
],
"verb": "TRUNK_VERB_CHECK",
},
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/site.yml",
],
- "upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
],
diff --git a/linters/ansible-lint/test_data/ansible_lint_v6.13.0_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v6.13.0_FQCN.check.shot
index 82f916454..2fc859ed5 100644
--- a/linters/ansible-lint/test_data/ansible_lint_v6.13.0_FQCN.check.shot
+++ b/linters/ansible-lint/test_data/ansible_lint_v6.13.0_FQCN.check.shot
@@ -1,5 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-// trunk-upgrade-validation:RELEASE
exports[`Testing linter ansible-lint test FQCN 1`] = `
{
@@ -14,7 +13,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "28",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (wait_for).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -26,7 +25,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "5",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[play]",
@@ -38,19 +37,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "4",
"linter": "ansible-lint",
"message": "All plays should be named.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/java-app",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name java-app does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -62,7 +49,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "14",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (copy).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -74,7 +61,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "14",
"linter": "ansible-lint",
"message": "File permissions unset or incorrect.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -86,7 +73,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "19",
"linter": "ansible-lint",
"message": "Use FQCN for module actions, such \`community.general.jboss\`.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -98,7 +85,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (copy).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -110,7 +97,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "File permissions unset or incorrect.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -122,19 +109,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Use FQCN for module actions, such \`community.general.jboss\`.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name jboss-standalone does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -146,7 +121,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (service).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -158,7 +133,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "2",
"linter": "ansible-lint",
"message": "All names should start with an uppercase letter.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -170,7 +145,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (service).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -182,7 +157,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "7",
"linter": "ansible-lint",
"message": "All names should start with an uppercase letter.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -194,7 +169,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (get_url).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -206,7 +181,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "File permissions unset or incorrect.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -218,7 +193,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "17",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (unarchive).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -230,7 +205,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "22",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -242,7 +217,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "25",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (command).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -254,7 +229,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "31",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (template).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -266,7 +241,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "31",
"linter": "ansible-lint",
"message": "File permissions unset or incorrect.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -278,7 +253,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "37",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (group).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -290,7 +265,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "41",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (user).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -302,7 +277,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "47",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (file).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -314,7 +289,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "53",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -326,7 +301,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "55",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (copy).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[octal-values]",
@@ -338,7 +313,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "59",
"linter": "ansible-lint",
"message": "Forbidden implicit octal value "0755"",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "command-instead-of-module",
@@ -350,7 +325,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "service used in place of service module",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -362,7 +337,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (shell).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "ignore-errors",
@@ -374,7 +349,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Use failed_when and specify error conditions instead of using ignore_errors.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "no-changed-when",
@@ -386,7 +361,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "61",
"linter": "ansible-lint",
"message": "Commands should not change things if nothing needs doing.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -398,7 +373,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "63",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -410,7 +385,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "65",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (service).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -422,7 +397,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "68",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -434,7 +409,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (template).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -446,7 +421,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "All names should start with an uppercase letter.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "risky-file-permissions",
@@ -458,7 +433,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "71",
"linter": "ansible-lint",
"message": "File permissions unset or incorrect.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action-core]",
@@ -470,7 +445,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "84",
"linter": "ansible-lint",
"message": "Use FQCN for builtin module actions (service).",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "fqcn[action]",
@@ -482,7 +457,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "90",
"linter": "ansible-lint",
"message": "Use FQCN for module actions, such \`ansible.posix.firewalld\`.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[casing]",
@@ -494,7 +469,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "90",
"linter": "ansible-lint",
"message": "All names should start with an uppercase letter.",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -506,7 +481,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "92",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "yaml[truthy]",
@@ -518,7 +493,7 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "95",
"linter": "ansible-lint",
"message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
+ "targetType": "yaml",
},
{
"code": "name[play]",
@@ -530,27 +505,62 @@ exports[`Testing linter ansible-lint test FQCN 1`] = `
"line": "4",
"linter": "ansible-lint",
"message": "All plays should be named.",
- "targetType": "custom",
+ "targetType": "yaml",
},
],
"lintActions": [
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/demo-aws-launch.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/deploy-application.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/java-app/tasks/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
],
"verb": "TRUNK_VERB_CHECK",
},
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/site.yml",
],
- "upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
],
diff --git a/linters/ansible-lint/test_data/ansible_lint_v6.13.0_non_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v6.13.0_non_FQCN.check.shot
index 8c4365b3b..b17ecea8b 100644
--- a/linters/ansible-lint/test_data/ansible_lint_v6.13.0_non_FQCN.check.shot
+++ b/linters/ansible-lint/test_data/ansible_lint_v6.13.0_non_FQCN.check.shot
@@ -13,27 +13,518 @@ exports[`Testing linter ansible-lint test non_FQCN 1`] = `
"line": "12",
"linter": "ansible-lint",
"message": "couldn't resolve module/action 'ec2'. This often indicates a misspelling, missing collection, or incorrect module path.",
- "targetType": "custom",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/java-app/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "14",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (copy).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "risky-file-permissions",
+ "column": "1",
+ "file": "jboss-standalone/roles/java-app/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
+ "level": "LEVEL_HIGH",
+ "line": "14",
+ "linter": "ansible-lint",
+ "message": "File permissions unset or incorrect.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action]",
+ "column": "1",
+ "file": "jboss-standalone/roles/java-app/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
+ "level": "LEVEL_HIGH",
+ "line": "19",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for module actions, such \`community.general.jboss\`.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/java-app/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "2",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (copy).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "risky-file-permissions",
+ "column": "1",
+ "file": "jboss-standalone/roles/java-app/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
+ "level": "LEVEL_HIGH",
+ "line": "2",
+ "linter": "ansible-lint",
+ "message": "File permissions unset or incorrect.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action]",
+ "column": "1",
+ "file": "jboss-standalone/roles/java-app/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
+ "level": "LEVEL_HIGH",
+ "line": "7",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for module actions, such \`community.general.jboss\`.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "2",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (service).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "name[casing]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
+ "level": "LEVEL_HIGH",
+ "line": "2",
+ "linter": "ansible-lint",
+ "message": "All names should start with an uppercase letter.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "7",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (service).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "name[casing]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
+ "level": "LEVEL_HIGH",
+ "line": "7",
+ "linter": "ansible-lint",
+ "message": "All names should start with an uppercase letter.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "12",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (get_url).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "risky-file-permissions",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
+ "level": "LEVEL_HIGH",
+ "line": "12",
+ "linter": "ansible-lint",
+ "message": "File permissions unset or incorrect.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "17",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (unarchive).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "yaml[truthy]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
+ "level": "LEVEL_HIGH",
+ "line": "22",
+ "linter": "ansible-lint",
+ "message": "Truthy value should be one of [false, true]",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "25",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (command).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "31",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (template).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "risky-file-permissions",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
+ "level": "LEVEL_HIGH",
+ "line": "31",
+ "linter": "ansible-lint",
+ "message": "File permissions unset or incorrect.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "37",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (group).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "41",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (user).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "47",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (file).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "yaml[truthy]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
+ "level": "LEVEL_HIGH",
+ "line": "53",
+ "linter": "ansible-lint",
+ "message": "Truthy value should be one of [false, true]",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "55",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (copy).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "yaml[octal-values]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[octal-values]",
+ "level": "LEVEL_HIGH",
+ "line": "59",
+ "linter": "ansible-lint",
+ "message": "Forbidden implicit octal value "0755"",
+ "targetType": "yaml",
+ },
+ {
+ "code": "command-instead-of-module",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#command-instead-of-module",
+ "level": "LEVEL_HIGH",
+ "line": "61",
+ "linter": "ansible-lint",
+ "message": "service used in place of service module",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "61",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (shell).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "ignore-errors",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#ignore-errors",
+ "level": "LEVEL_HIGH",
+ "line": "61",
+ "linter": "ansible-lint",
+ "message": "Use failed_when and specify error conditions instead of using ignore_errors.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "no-changed-when",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#no-changed-when",
+ "level": "LEVEL_HIGH",
+ "line": "61",
+ "linter": "ansible-lint",
+ "message": "Commands should not change things if nothing needs doing.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "yaml[truthy]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
+ "level": "LEVEL_HIGH",
+ "line": "63",
+ "linter": "ansible-lint",
+ "message": "Truthy value should be one of [false, true]",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "65",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (service).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "yaml[truthy]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
+ "level": "LEVEL_HIGH",
+ "line": "68",
+ "linter": "ansible-lint",
+ "message": "Truthy value should be one of [false, true]",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "71",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (template).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "name[casing]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
+ "level": "LEVEL_HIGH",
+ "line": "71",
+ "linter": "ansible-lint",
+ "message": "All names should start with an uppercase letter.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "risky-file-permissions",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
+ "level": "LEVEL_HIGH",
+ "line": "71",
+ "linter": "ansible-lint",
+ "message": "File permissions unset or incorrect.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action-core]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
+ "level": "LEVEL_HIGH",
+ "line": "84",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for builtin module actions (service).",
+ "targetType": "yaml",
+ },
+ {
+ "code": "fqcn[action]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
+ "level": "LEVEL_HIGH",
+ "line": "90",
+ "linter": "ansible-lint",
+ "message": "Use FQCN for module actions, such \`ansible.posix.firewalld\`.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "name[casing]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
+ "level": "LEVEL_HIGH",
+ "line": "90",
+ "linter": "ansible-lint",
+ "message": "All names should start with an uppercase letter.",
+ "targetType": "yaml",
+ },
+ {
+ "code": "yaml[truthy]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
+ "level": "LEVEL_HIGH",
+ "line": "92",
+ "linter": "ansible-lint",
+ "message": "Truthy value should be one of [false, true]",
+ "targetType": "yaml",
+ },
+ {
+ "code": "yaml[truthy]",
+ "column": "1",
+ "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
+ "issueClass": "ISSUE_CLASS_NEW",
+ "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
+ "level": "LEVEL_HIGH",
+ "line": "95",
+ "linter": "ansible-lint",
+ "message": "Truthy value should be one of [false, true]",
+ "targetType": "yaml",
},
],
"lintActions": [
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/demo-aws-launch.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/deploy-application.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/java-app/tasks/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
+ "linter": "ansible-lint",
+ "paths": [
+ "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
],
"verb": "TRUNK_VERB_CHECK",
},
{
"command": "lint",
- "fileGroupName": "custom",
+ "fileGroupName": "yaml",
"linter": "ansible-lint",
"paths": [
- "jboss-standalone",
+ "jboss-standalone/site.yml",
],
- "upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
],
diff --git a/linters/ansible-lint/test_data/ansible_lint_v6.14.3_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v6.14.3_FQCN.check.shot
deleted file mode 100644
index 21551177a..000000000
--- a/linters/ansible-lint/test_data/ansible_lint_v6.14.3_FQCN.check.shot
+++ /dev/null
@@ -1,560 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-// trunk-upgrade-validation:RELEASE
-
-exports[`Testing linter ansible-lint test FQCN 1`] = `
-{
- "issues": [
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "28",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.wait_for\` or \`ansible.legacy.wait_for\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "5",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/deploy-application.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/java-app",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name java-app does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "19",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name jboss-standalone does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart jboss",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart iptables",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.get_url\` or \`ansible.legacy.get_url\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Task/Handler: Download JBoss from jboss.org",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "17",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.unarchive\` or \`ansible.legacy.unarchive\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "22",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "25",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.command\` or \`ansible.legacy.command\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "37",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.group\` or \`ansible.legacy.group\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "41",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.user\` or \`ansible.legacy.user\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "47",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.file\` or \`ansible.legacy.file\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "53",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "55",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[octal-values]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[octal-values]",
- "level": "LEVEL_HIGH",
- "line": "59",
- "linter": "ansible-lint",
- "message": "Forbidden implicit octal value "0755"",
- "targetType": "custom",
- },
- {
- "code": "command-instead-of-module",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#command-instead-of-module",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.shell\` or \`ansible.legacy.shell\` instead.",
- "targetType": "custom",
- },
- {
- "code": "ignore-errors",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#ignore-errors",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "no-changed-when",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#no-changed-when",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "63",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "65",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "68",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "84",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Action \`firewalld\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy firewalld rules",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "92",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "95",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/site.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- ],
- "lintActions": [
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [],
- "unformattedFiles": [],
-}
-`;
diff --git a/linters/ansible-lint/test_data/ansible_lint_v6.14.3_non_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v6.14.3_non_FQCN.check.shot
deleted file mode 100644
index 8c4365b3b..000000000
--- a/linters/ansible-lint/test_data/ansible_lint_v6.14.3_non_FQCN.check.shot
+++ /dev/null
@@ -1,43 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Testing linter ansible-lint test non_FQCN 1`] = `
-{
- "issues": [
- {
- "code": "syntax-check[specific]",
- "column": "7",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#syntax-check[specific]",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "couldn't resolve module/action 'ec2'. This often indicates a misspelling, missing collection, or incorrect module path.",
- "targetType": "custom",
- },
- ],
- "lintActions": [
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [],
- "unformattedFiles": [],
-}
-`;
diff --git a/linters/ansible-lint/test_data/ansible_lint_v6.22.1_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v6.22.1_FQCN.check.shot
deleted file mode 100644
index 21551177a..000000000
--- a/linters/ansible-lint/test_data/ansible_lint_v6.22.1_FQCN.check.shot
+++ /dev/null
@@ -1,560 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-// trunk-upgrade-validation:RELEASE
-
-exports[`Testing linter ansible-lint test FQCN 1`] = `
-{
- "issues": [
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "28",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.wait_for\` or \`ansible.legacy.wait_for\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "5",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/deploy-application.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/java-app",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name java-app does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "14",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "19",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copy application WAR file to host",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/java-app/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Action \`jboss\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "role-name",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#role-name",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "ansible-lint",
- "message": "Role name jboss-standalone does not match \`\`^[a-z][a-z0-9_]*$\`\` pattern.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "2",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart jboss",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/handlers/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "7",
- "linter": "ansible-lint",
- "message": "Task/Handler: restart iptables",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.get_url\` or \`ansible.legacy.get_url\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "Task/Handler: Download JBoss from jboss.org",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "17",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.unarchive\` or \`ansible.legacy.unarchive\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "22",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "25",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.command\` or \`ansible.legacy.command\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "31",
- "linter": "ansible-lint",
- "message": "Task/Handler: Copying standalone.xml configuration file",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "37",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.group\` or \`ansible.legacy.group\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "41",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.user\` or \`ansible.legacy.user\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "47",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.file\` or \`ansible.legacy.file\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "53",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "55",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.copy\` or \`ansible.legacy.copy\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[octal-values]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[octal-values]",
- "level": "LEVEL_HIGH",
- "line": "59",
- "linter": "ansible-lint",
- "message": "Forbidden implicit octal value "0755"",
- "targetType": "custom",
- },
- {
- "code": "command-instead-of-module",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#command-instead-of-module",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.shell\` or \`ansible.legacy.shell\` instead.",
- "targetType": "custom",
- },
- {
- "code": "ignore-errors",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#ignore-errors",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "no-changed-when",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#no-changed-when",
- "level": "LEVEL_HIGH",
- "line": "61",
- "linter": "ansible-lint",
- "message": "Task/Handler: Workaround for systemd bug",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "63",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "65",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "68",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.template\` or \`ansible.legacy.template\` instead.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "risky-file-permissions",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#risky-file-permissions",
- "level": "LEVEL_HIGH",
- "line": "71",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy iptables rules",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action-core]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action-core]",
- "level": "LEVEL_HIGH",
- "line": "84",
- "linter": "ansible-lint",
- "message": "Use \`ansible.builtin.service\` or \`ansible.legacy.service\` instead.",
- "targetType": "custom",
- },
- {
- "code": "fqcn[action]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#fqcn[action]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Action \`firewalld\` is not FQCN.",
- "targetType": "custom",
- },
- {
- "code": "name[casing]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[casing]",
- "level": "LEVEL_HIGH",
- "line": "90",
- "linter": "ansible-lint",
- "message": "Task/Handler: deploy firewalld rules",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "92",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "yaml[truthy]",
- "column": "1",
- "file": "jboss-standalone/roles/jboss-standalone/tasks/main.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#yaml[truthy]",
- "level": "LEVEL_HIGH",
- "line": "95",
- "linter": "ansible-lint",
- "message": "Truthy value should be one of [false, true]",
- "targetType": "custom",
- },
- {
- "code": "name[play]",
- "column": "1",
- "file": "jboss-standalone/site.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#name[play]",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "ansible-lint",
- "message": "All plays should be named.",
- "targetType": "custom",
- },
- ],
- "lintActions": [
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [],
- "unformattedFiles": [],
-}
-`;
diff --git a/linters/ansible-lint/test_data/ansible_lint_v6.22.1_non_FQCN.check.shot b/linters/ansible-lint/test_data/ansible_lint_v6.22.1_non_FQCN.check.shot
deleted file mode 100644
index 19d429497..000000000
--- a/linters/ansible-lint/test_data/ansible_lint_v6.22.1_non_FQCN.check.shot
+++ /dev/null
@@ -1,43 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Testing linter ansible-lint test non_FQCN 1`] = `
-{
- "issues": [
- {
- "code": "syntax-check[unknown-module]",
- "column": "7",
- "file": "jboss-standalone/demo-aws-launch.yml",
- "issueClass": "ISSUE_CLASS_NEW",
- "issueUrl": "https://ansible-lint.readthedocs.io/en/latest/default_rules.html#syntax-check[unknown-module]",
- "level": "LEVEL_HIGH",
- "line": "12",
- "linter": "ansible-lint",
- "message": "couldn't resolve module/action 'ec2'. This often indicates a misspelling, missing collection, or incorrect module path.",
- "targetType": "custom",
- },
- ],
- "lintActions": [
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "custom",
- "linter": "ansible-lint",
- "paths": [
- "jboss-standalone",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [],
- "unformattedFiles": [],
-}
-`;
diff --git a/linters/biome/biome.test.ts b/linters/biome/biome.test.ts
index 76425a373..d0b29b37b 100644
--- a/linters/biome/biome.test.ts
+++ b/linters/biome/biome.test.ts
@@ -1,22 +1,5 @@
-import path from "path";
-import { customLinterCheckTest, linterCheckTest, linterFmtTest } from "tests";
-import { TrunkLintDriver } from "tests/driver";
-import { TEST_DATA } from "tests/utils";
+import { linterCheckTest, linterFmtTest } from "tests";
linterCheckTest({ linterName: "biome", namedTestPrefixes: ["basic_check"] });
linterFmtTest({ linterName: "biome", namedTestPrefixes: ["basic_fmt", "basic_json"] });
-
-const preCheck = (driver: TrunkLintDriver) => {
- // Write an invalid biome config and verify we surface an error for format.
- // NOTE(Tyler): We should handle config errors better for 'lint' too, but the JSON
- // output for biome is not stable and they don't support SARIF.
- driver.writeFile("biome.json", JSON.stringify({ rules: { "no-foo": "error" } }));
-};
-
-customLinterCheckTest({
- linterName: "biome",
- testName: "error",
- args: path.join(TEST_DATA, "basic_check.in.ts"),
- preCheck,
-});
diff --git a/linters/biome/plugin.yaml b/linters/biome/plugin.yaml
index 2e1966a1b..4176814b5 100644
--- a/linters/biome/plugin.yaml
+++ b/linters/biome/plugin.yaml
@@ -6,7 +6,7 @@ tools:
runtime: node
package: "@biomejs/biome"
shims: [biome]
- known_good_version: 1.4.1
+ known_good_version: 1.9.4
lint:
definitions:
# Successor to the rome linter+formatter
@@ -47,7 +47,7 @@ lint:
affects_cache:
- package.json
- .editorconfig # Undocumented config file
- known_good_version: 1.4.1
+ known_good_version: 1.9.4
version_command:
parse_regex: biome CLI version ${semver}
run: biome --version
diff --git a/linters/biome/test_data/biome_v1.4.1_basic_check.check.shot b/linters/biome/test_data/biome_v1.4.1_basic_check.check.shot
deleted file mode 100644
index 2bde4ae46..000000000
--- a/linters/biome/test_data/biome_v1.4.1_basic_check.check.shot
+++ /dev/null
@@ -1,61 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Testing linter biome test basic_check 1`] = `
-{
- "issues": [
- {
- "code": "lint/style/useEnumInitializers",
- "column": "6",
- "file": "test_data/basic_check.in.ts",
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "4",
- "linter": "biome",
- "message": "This enum declaration contains members that are implicitly initialized.",
- "targetType": "typescript",
- },
- ],
- "lintActions": [
- {
- "command": "fmt",
- "fileGroupName": "typescript",
- "linter": "biome",
- "paths": [
- "test_data/basic_check.in.ts",
- ],
- "verb": "TRUNK_VERB_FMT",
- },
- {
- "command": "lint",
- "fileGroupName": "typescript",
- "linter": "biome",
- "paths": [
- "test_data/basic_check.in.ts",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "typescript",
- "linter": "biome",
- "paths": [
- "test_data/basic_check.in.ts",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [],
- "unformattedFiles": [
- {
- "column": "1",
- "file": "test_data/basic_check.in.ts",
- "issueClass": "ISSUE_CLASS_UNFORMATTED",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "biome",
- "message": "Incorrect formatting, autoformat by running 'trunk fmt'",
- },
- ],
-}
-`;
diff --git a/linters/biome/test_data/biome_v1.4.1_error.check.shot b/linters/biome/test_data/biome_v1.4.1_error.check.shot
deleted file mode 100644
index c60995917..000000000
--- a/linters/biome/test_data/biome_v1.4.1_error.check.shot
+++ /dev/null
@@ -1,36 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Testing linter biome test error 1`] = `
-{
- "issues": [],
- "lintActions": [
- {
- "command": "lint",
- "fileGroupName": "typescript",
- "linter": "biome",
- "paths": [
- "test_data/basic_check.in.ts",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "lint",
- "fileGroupName": "typescript",
- "linter": "biome",
- "paths": [
- "test_data/basic_check.in.ts",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
- ],
- "taskFailures": [
- {
- "details": StringMatching /\\.\\*\\$/m,
- "message": "test_data/basic_check.in.ts",
- "name": "biome",
- },
- ],
- "unformattedFiles": [],
-}
-`;
diff --git a/linters/biome/test_data/biome_v1.6.0_basic_fmt.fmt.shot b/linters/biome/test_data/biome_v1.6.0_basic_fmt.fmt.shot
deleted file mode 100644
index 0961c8a09..000000000
--- a/linters/biome/test_data/biome_v1.6.0_basic_fmt.fmt.shot
+++ /dev/null
@@ -1,23 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Testing formatter biome test basic_fmt 1`] = `
-"const foobar = () => {};
-const barfoo = () => {};
-
-enum Bar {
- Baz,
-}
-
-const foo = (bar: Bar) => {
- switch (bar) {
- case Bar.Baz:
- foobar();
- barfoo();
- break;
- }
- {
- !foo ? null : 1;
- }
-};
-"
-`;
diff --git a/linters/biome/test_data/biome_v1.6.0_basic_json.fmt.shot b/linters/biome/test_data/biome_v1.6.0_basic_json.fmt.shot
deleted file mode 100644
index 3b5af7e15..000000000
--- a/linters/biome/test_data/biome_v1.6.0_basic_json.fmt.shot
+++ /dev/null
@@ -1,6 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Testing formatter biome test basic_json 1`] = `
-"{ "a": "foo", "b": 1, "a": true }
-"
-`;
diff --git a/linters/biome/test_data/biome_v1.6.0_basic_check.check.shot b/linters/biome/test_data/biome_v1.9.4_basic_check.check.shot
similarity index 100%
rename from linters/biome/test_data/biome_v1.6.0_basic_check.check.shot
rename to linters/biome/test_data/biome_v1.9.4_basic_check.check.shot
diff --git a/linters/biome/test_data/biome_v1.4.1_basic_fmt.fmt.shot b/linters/biome/test_data/biome_v1.9.4_basic_fmt.fmt.shot
similarity index 89%
rename from linters/biome/test_data/biome_v1.4.1_basic_fmt.fmt.shot
rename to linters/biome/test_data/biome_v1.9.4_basic_fmt.fmt.shot
index 0961c8a09..1e2f30ad4 100644
--- a/linters/biome/test_data/biome_v1.4.1_basic_fmt.fmt.shot
+++ b/linters/biome/test_data/biome_v1.9.4_basic_fmt.fmt.shot
@@ -5,7 +5,7 @@ exports[`Testing formatter biome test basic_fmt 1`] = `
const barfoo = () => {};
enum Bar {
- Baz,
+ Baz = 0,
}
const foo = (bar: Bar) => {
@@ -15,9 +15,7 @@ const foo = (bar: Bar) => {
barfoo();
break;
}
- {
- !foo ? null : 1;
- }
+ !foo ? null : 1;
};
"
`;
diff --git a/linters/biome/test_data/biome_v1.4.1_basic_json.fmt.shot b/linters/biome/test_data/biome_v1.9.4_basic_json.fmt.shot
similarity index 100%
rename from linters/biome/test_data/biome_v1.4.1_basic_json.fmt.shot
rename to linters/biome/test_data/biome_v1.9.4_basic_json.fmt.shot
diff --git a/linters/biome/test_data/biome_v1.6.0_error.check.shot b/linters/biome/test_data/biome_v1.9.4_error.check.shot
similarity index 74%
rename from linters/biome/test_data/biome_v1.6.0_error.check.shot
rename to linters/biome/test_data/biome_v1.9.4_error.check.shot
index c60995917..e959c7ff4 100644
--- a/linters/biome/test_data/biome_v1.6.0_error.check.shot
+++ b/linters/biome/test_data/biome_v1.9.4_error.check.shot
@@ -4,6 +4,15 @@ exports[`Testing linter biome test error 1`] = `
{
"issues": [],
"lintActions": [
+ {
+ "command": "fmt",
+ "fileGroupName": "typescript",
+ "linter": "biome",
+ "paths": [
+ "test_data/basic_check.in.ts",
+ ],
+ "verb": "TRUNK_VERB_FMT",
+ },
{
"command": "lint",
"fileGroupName": "typescript",
@@ -24,13 +33,7 @@ exports[`Testing linter biome test error 1`] = `
"verb": "TRUNK_VERB_CHECK",
},
],
- "taskFailures": [
- {
- "details": StringMatching /\\.\\*\\$/m,
- "message": "test_data/basic_check.in.ts",
- "name": "biome",
- },
- ],
+ "taskFailures": [],
"unformattedFiles": [],
}
`;
diff --git a/linters/hadolint/test_data/hadolint_v2.10.0_CUSTOM.check.shot b/linters/hadolint/test_data/hadolint_v2.10.0_CUSTOM.check.shot
index e5b0d64c0..4fe2209ca 100644
--- a/linters/hadolint/test_data/hadolint_v2.10.0_CUSTOM.check.shot
+++ b/linters/hadolint/test_data/hadolint_v2.10.0_CUSTOM.check.shot
@@ -26,15 +26,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
],
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/Dockerfile.empty",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
@@ -53,15 +44,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
],
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/nested/Dockerfile.debug",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
@@ -90,16 +72,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
"upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/Dockerfile.empty",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
@@ -120,16 +92,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
"upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/nested/Dockerfile.debug",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
diff --git a/linters/hadolint/test_data/hadolint_v2.12.1-beta_CUSTOM.check.shot b/linters/hadolint/test_data/hadolint_v2.12.1-beta_CUSTOM.check.shot
index e5b0d64c0..4fe2209ca 100644
--- a/linters/hadolint/test_data/hadolint_v2.12.1-beta_CUSTOM.check.shot
+++ b/linters/hadolint/test_data/hadolint_v2.12.1-beta_CUSTOM.check.shot
@@ -26,15 +26,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
],
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/Dockerfile.empty",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
@@ -53,15 +44,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
],
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/nested/Dockerfile.debug",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
@@ -90,16 +72,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
"upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/Dockerfile.empty",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
@@ -120,16 +92,6 @@ exports[`Testing linter hadolint test CUSTOM 1`] = `
"upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "lint",
- "fileGroupName": "docker",
- "linter": "hadolint",
- "paths": [
- "test_data/nested/Dockerfile.debug",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
{
"command": "lint",
"fileGroupName": "docker",
diff --git a/linters/plugin.yaml b/linters/plugin.yaml
index 08b7569b3..c57210920 100644
--- a/linters/plugin.yaml
+++ b/linters/plugin.yaml
@@ -221,6 +221,7 @@ lint:
# ?: is a non-capturing group, so that the RE2 DFA is more memory efficient
# NOTE(Tyler): This is more strict than it realistically needs to be, but this partial match
# and the file extensions provide a general enough capture.
+ # Note that re2 does not support ?!, so this does not capture all correct cases.
- (?i)(?:^|/)Dockerfile\.(?!.*\.dockerignore$).+$
filenames:
- dockerfile
diff --git a/linters/snyk/plugin.yaml b/linters/snyk/plugin.yaml
index cb23fd187..4849c5c64 100644
--- a/linters/snyk/plugin.yaml
+++ b/linters/snyk/plugin.yaml
@@ -2,7 +2,7 @@ version: 0.1
downloads:
- name: snyk
downloads:
- - url: https://downloads.snyk.io/cli/v${version}/snyk-${os}-${cpu}
+ - url: https://downloads.snyk.io/cli/v${version}/snyk-${os}-arm64
cpu: arm_64
os:
macos: macos
diff --git a/linters/snyk/snyk.test.ts b/linters/snyk/snyk.test.ts
index f63385374..c382ce7ca 100644
--- a/linters/snyk/snyk.test.ts
+++ b/linters/snyk/snyk.test.ts
@@ -1,4 +1,5 @@
import { customLinterCheckTest } from "tests";
import { TEST_DATA } from "tests/utils";
+// Requires SNYK_TOKEN to run
customLinterCheckTest({ linterName: "snyk", args: TEST_DATA, testName: "basic" });
diff --git a/linters/snyk/test_data/requirements.txt b/linters/snyk/test_data/requirements.txt
deleted file mode 100644
index 4c29e3562..000000000
--- a/linters/snyk/test_data/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-pillow==9.1.1
-langchain==0.0.171
diff --git a/linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot b/linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot
index 2a0c57758..a535e0542 100644
--- a/linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot
+++ b/linters/snyk/test_data/snyk_v1.1295.0_basic.check.shot
@@ -22,44 +22,6 @@ exports[`Testing linter snyk test basic 1`] = `
],
"targetType": "javascript",
},
- {
- "code": "javascript/NoSqli",
- "column": "8",
- "file": "test_data/index.js",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "116",
- "linter": "snyk",
- "message": "Unsanitized input from an HTTP parameter flows into findById, where it is used in an NoSQL query. This may result in an NoSQL Injection vulnerability.",
- "ranges": [
- {
- "filePath": "test_data/index.js",
- "length": "8",
- "offset": "2725",
- },
- ],
- "targetType": "javascript",
- },
- {
- "code": "javascript/NoSqli",
- "column": "8",
- "file": "test_data/index.js",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "144",
- "linter": "snyk",
- "message": "Unsanitized input from an HTTP parameter flows into findById, where it is used in an NoSQL query. This may result in an NoSQL Injection vulnerability.",
- "ranges": [
- {
- "filePath": "test_data/index.js",
- "length": "8",
- "offset": "3261",
- },
- ],
- "targetType": "javascript",
- },
{
"code": "javascript/NoRateLimitingForExpensiveWebOperation",
"column": "18",
@@ -136,102 +98,6 @@ exports[`Testing linter snyk test basic 1`] = `
],
"targetType": "javascript",
},
- {
- "code": "SNYK-PYTHON-PILLOW-3113875",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_MEDIUM",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a medium severity vulnerability.",
- "targetType": "lockfile",
- },
- {
- "code": "SNYK-PYTHON-PILLOW-3113876",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_MEDIUM",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a medium severity vulnerability.",
- "targetType": "lockfile",
- },
- {
- "code": "SNYK-PYTHON-PILLOW-5918878",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a critical severity vulnerability.",
- "targetType": "lockfile",
- },
- {
- "code": "SNYK-PYTHON-PILLOW-6043904",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
- "targetType": "lockfile",
- },
- {
- "code": "SNYK-PYTHON-PILLOW-6182918",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
- "targetType": "lockfile",
- },
- {
- "code": "SNYK-PYTHON-PILLOW-6219984",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
- "targetType": "lockfile",
- },
- {
- "code": "SNYK-PYTHON-PILLOW-6219986",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
- "targetType": "lockfile",
- },
- {
- "code": "SNYK-PYTHON-PILLOW-6514866",
- "column": "1",
- "file": "test_data/requirements.txt",
- "isSecurity": true,
- "issueClass": "ISSUE_CLASS_EXISTING",
- "level": "LEVEL_HIGH",
- "line": "1",
- "linter": "snyk",
- "message": "This file introduces a vulnerable pillow package with a high severity vulnerability.",
- "targetType": "lockfile",
- },
],
"lintActions": [
{
@@ -272,25 +138,6 @@ exports[`Testing linter snyk test basic 1`] = `
"upstream": true,
"verb": "TRUNK_VERB_CHECK",
},
- {
- "command": "test",
- "fileGroupName": "lockfile",
- "linter": "snyk",
- "paths": [
- "test_data/requirements.txt",
- ],
- "verb": "TRUNK_VERB_CHECK",
- },
- {
- "command": "test",
- "fileGroupName": "lockfile",
- "linter": "snyk",
- "paths": [
- "test_data/requirements.txt",
- ],
- "upstream": true,
- "verb": "TRUNK_VERB_CHECK",
- },
],
"taskFailures": [],
"unformattedFiles": [],
From a08ca2999fcc7e782de7cfe9ea4cceed588a39d1 Mon Sep 17 00:00:00 2001
From: "trunk-open-pr-bot[bot]"
<131314627+trunk-open-pr-bot[bot]@users.noreply.github.com>
Date: Wed, 29 Jan 2025 12:01:41 -0800
Subject: [PATCH 27/27] Auto-add missing snapshots (#968)
Create new snapshots from
https://github.com/trunk-io/plugins/actions/runs/13037946183
Co-authored-by: TylerJang27 <42743566+TylerJang27@users.noreply.github.com>
---
.../trufflehog_git_v3.88.3_CUSTOM.check.shot | 43 +++++++++++++++
.../trufflehog_v3.88.3_buff_size.check.shot | 31 +++++++++++
.../trufflehog_v3.88.3_secrets.check.shot | 43 +++++++++++++++
...lehog_v3.88.3_wrong_line_number.check.shot | 54 +++++++++++++++++++
4 files changed, 171 insertions(+)
create mode 100644 linters/trufflehog/test_data/trufflehog_git_v3.88.3_CUSTOM.check.shot
create mode 100644 linters/trufflehog/test_data/trufflehog_v3.88.3_buff_size.check.shot
create mode 100644 linters/trufflehog/test_data/trufflehog_v3.88.3_secrets.check.shot
create mode 100644 linters/trufflehog/test_data/trufflehog_v3.88.3_wrong_line_number.check.shot
diff --git a/linters/trufflehog/test_data/trufflehog_git_v3.88.3_CUSTOM.check.shot b/linters/trufflehog/test_data/trufflehog_git_v3.88.3_CUSTOM.check.shot
new file mode 100644
index 000000000..e09657b97
--- /dev/null
+++ b/linters/trufflehog/test_data/trufflehog_git_v3.88.3_CUSTOM.check.shot
@@ -0,0 +1,43 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter trufflehog-git test CUSTOM 1`] = `
+{
+ "issues": [
+ {
+ "code": "URI",
+ "file": ".",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_NEW",
+ "level": "LEVEL_HIGH",
+ "linter": "trufflehog-git",
+ "message": "secrets.in.py:8: Secret detected: https://admin:********@the-internet.herokuapp.com/basic_auth on commit (file since deleted)",
+ "targetType": "ALL",
+ },
+ {
+ "code": "URI",
+ "file": "secrets2.in.py",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_NEW",
+ "level": "LEVEL_HIGH",
+ "line": "8",
+ "linter": "trufflehog-git",
+ "message": "Secret detected: https://admin:********@the-internet.herokuapp.com/basic_auth on commit ",
+ "targetType": "ALL",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "trufflehog-git",
+ "paths": [
+ ".",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
diff --git a/linters/trufflehog/test_data/trufflehog_v3.88.3_buff_size.check.shot b/linters/trufflehog/test_data/trufflehog_v3.88.3_buff_size.check.shot
new file mode 100644
index 000000000..da6cc9615
--- /dev/null
+++ b/linters/trufflehog/test_data/trufflehog_v3.88.3_buff_size.check.shot
@@ -0,0 +1,31 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter trufflehog test buff_size 1`] = `
+{
+ "issues": [],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "trufflehog",
+ "paths": [
+ "test_data/buff_size.in.cc",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "trufflehog",
+ "paths": [
+ "test_data/buff_size.in.cc",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
diff --git a/linters/trufflehog/test_data/trufflehog_v3.88.3_secrets.check.shot b/linters/trufflehog/test_data/trufflehog_v3.88.3_secrets.check.shot
new file mode 100644
index 000000000..48b3993e9
--- /dev/null
+++ b/linters/trufflehog/test_data/trufflehog_v3.88.3_secrets.check.shot
@@ -0,0 +1,43 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter trufflehog test secrets 1`] = `
+{
+ "issues": [
+ {
+ "code": "URI",
+ "file": "test_data/secrets.in.py",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "8",
+ "linter": "trufflehog",
+ "message": "Secret detected: https://admin:********@the-internet.herokuapp.com/basic_auth",
+ "targetType": "ALL",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "trufflehog",
+ "paths": [
+ "test_data/secrets.in.py",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "trufflehog",
+ "paths": [
+ "test_data/secrets.in.py",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;
diff --git a/linters/trufflehog/test_data/trufflehog_v3.88.3_wrong_line_number.check.shot b/linters/trufflehog/test_data/trufflehog_v3.88.3_wrong_line_number.check.shot
new file mode 100644
index 000000000..265e27257
--- /dev/null
+++ b/linters/trufflehog/test_data/trufflehog_v3.88.3_wrong_line_number.check.shot
@@ -0,0 +1,54 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+// trunk-upgrade-validation:RELEASE
+
+exports[`Testing linter trufflehog test wrong_line_number 1`] = `
+{
+ "issues": [
+ {
+ "code": "URI",
+ "file": "test_data/wrong_line_number.in.ts",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "587",
+ "linter": "trufflehog",
+ "message": "Secret detected: https://admin:********@the-internet.herokuapp.com/basic_auth",
+ "targetType": "ALL",
+ },
+ {
+ "code": "URI",
+ "file": "test_data/wrong_line_number.in.ts",
+ "isSecurity": true,
+ "issueClass": "ISSUE_CLASS_EXISTING",
+ "level": "LEVEL_HIGH",
+ "line": "592",
+ "linter": "trufflehog",
+ "message": "Secret detected: https://admin:********@the-internet.herokuapp.com/basic_auth",
+ "targetType": "ALL",
+ },
+ ],
+ "lintActions": [
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "trufflehog",
+ "paths": [
+ "test_data/wrong_line_number.in.ts",
+ ],
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ {
+ "command": "lint",
+ "fileGroupName": "ALL",
+ "linter": "trufflehog",
+ "paths": [
+ "test_data/wrong_line_number.in.ts",
+ ],
+ "upstream": true,
+ "verb": "TRUNK_VERB_CHECK",
+ },
+ ],
+ "taskFailures": [],
+ "unformattedFiles": [],
+}
+`;