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

🩹 Fixes

❤️ 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

🩹 Fixes

❤️ Thank You

You can read about our versioning strategy and releases on our website.

Commits

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

🩹 Fixes

❤️ 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

❤️ 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

17.15.0 (2024-12-10)

🌟 Features

🩹 Fixes

Changelog

Sourced from eslint-plugin-n's changelog.

17.15.0 (2024-12-10)

🌟 Features

🩹 Fixes

Commits

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

🩹 Fixes

❤️ 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

❤️ 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

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=3.27.6&new-version=3.27.9)](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

28.10.0 (2024-12-19)

Features

  • unbound-method: ignore functions passed to jest.mocked (#1681) (d868636)
Changelog

Sourced from eslint-plugin-jest's changelog.

28.10.0 (2024-12-19)

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

17.15.1 (2024-12-20)

🩹 Fixes

  • Promise.withResolvers is supported since node 22.11 (#398) (c5bcb3a)
Changelog

Sourced from eslint-plugin-n's changelog.

17.15.1 (2024-12-20)

🩹 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
  • a5e123d Update LKG
  • 8bc0204 🤖 Pick PR #60828 (Fix CodeQL configuration, releases) into release-5.7 (#60923)
  • 7aa63df 🤖 Pick PR #60393 (Don't try to add an implicit undefi...) into release-5.7 (#...
  • 9df7c36 Bump version to 5.7.3 and LKG
  • e167412 🤖 Pick PR #60794 (Harden sanitizeLog against incorr...) into release-5.7 (#...
  • 9ba364c Fix coverage build on release-5.7 (#60792)
  • 4b7441a 🤖 Pick PR #60680 (Mark the inherited any-based index ...) into release-5.7 (#...
  • e844dc3 Cherry-pick #60402, #60440, #60616 into release-5.7 (#60777)
  • 21b02a1 🤖 Pick PR #60749 (Do not require import attribute on ...) into release-5.7 (#...
  • b82fd16 🤖 Pick PR #60576 (Avoid incorrectly reusing assertion...) into release-5.7 (#...
  • Additional commits viewable in compare view

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

28.11.0 (2025-01-15)

Features

  • valid-expect: allow calling expect with no arguments (#1688) (ff0349e)

v28.10.1

28.10.1 (2025-01-15)

Bug Fixes

  • padding-around-test-blocks: update description (#1691) (9cb4ecc)
Changelog

Sourced from eslint-plugin-jest's changelog.

28.11.0 (2025-01-15)

Features

  • valid-expect: allow calling expect with no arguments (#1688) (ff0349e)

28.10.1 (2025-01-15)

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

  • Josh Goldberg ✨

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(""); + 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

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=3.28.1&new-version=3.28.5)](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": [], +} +`;