eslint-plugin-github-actions-2 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,75 +26,88 @@ Then review [getting started](../getting-started.md) and the full
26
26
 
27
27
  ## Rule Matrix
28
28
 
29
- | Rule | 🧩 actionMetadata | 🗂️ workflowTemplateProperties | 🧱 workflowTemplates | 🟡 recommended | 🛡️ security | 🔴 strict | 🟣 all |
30
- | --- | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
31
- | [`action-name-casing`](../action-name-casing.md) | — | — | — | — | — | ✅ | ✅ |
32
- | [`job-id-casing`](../job-id-casing.md) | | | — | — | — | ✅ | ✅ |
33
- | [`max-jobs-per-action`](../max-jobs-per-action.md) | — | — | — | — | — | ✅ | ✅ |
34
- | [`no-case-insensitive-input-id-collision`](../no-case-insensitive-input-id-collision.md) | ✅ | — | — | — | — | — | ✅ |
35
- | [`no-composite-input-env-access`](../no-composite-input-env-access.md) | ✅ | — | — | — | — | — | ✅ |
36
- | [`no-deprecated-node-runtime`](../no-deprecated-node-runtime.md) | ✅ | — | — | — | — | — | ✅ |
37
- | [`no-duplicate-composite-step-id`](../no-duplicate-composite-step-id.md) | ✅ | — | — | — | — | — | ✅ |
38
- | [`no-empty-template-file-pattern`](../no-empty-template-file-pattern.md) | — | ✅ | ✅ | — | — | — | ✅ |
39
- | [`no-external-job`](../no-external-job.md) | — | — | — | — | — | ✅ | ✅ |
40
- | [`no-hardcoded-default-branch-in-template`](../no-hardcoded-default-branch-in-template.md) | — | — | ✅ | — | — | — | ✅ |
41
- | [`no-icon-file-extension-in-template-icon-name`](../no-icon-file-extension-in-template-icon-name.md) | — | ✅ | ✅ | — | — | — | ✅ |
42
- | [`no-inherit-secrets`](../no-inherit-secrets.md) | — | — | — | — | ✅ | ✅ | ✅ |
43
- | [`no-invalid-concurrency-context`](../no-invalid-concurrency-context.md) | — | — | — | ✅ | — | ✅ | ✅ |
44
- | [`no-invalid-key`](../no-invalid-key.md) | — | — | — | ✅ | — | ✅ | ✅ |
45
- | [`no-invalid-reusable-workflow-job-key`](../no-invalid-reusable-workflow-job-key.md) | — | — | — | ✅ | — | ✅ | ✅ |
46
- | [`no-invalid-template-file-pattern-regex`](../no-invalid-template-file-pattern-regex.md) | — | ✅ | ✅ | — | — | — | ✅ |
47
- | [`no-invalid-workflow-call-output-value`](../no-invalid-workflow-call-output-value.md) | — | — | — | ✅ | — | ✅ | ✅ |
48
- | [`no-path-separators-in-template-icon-name`](../no-path-separators-in-template-icon-name.md) | — | ✅ | ✅ | — | — | — | ✅ |
49
- | [`no-post-if-without-post`](../no-post-if-without-post.md) | ✅ | — | — | — | — | — | ✅ |
50
- | [`no-pr-head-checkout-in-pull-request-target`](../no-pr-head-checkout-in-pull-request-target.md) | — | — | — | — | ✅ | ✅ | ✅ |
51
- | [`no-pre-if-without-pre`](../no-pre-if-without-pre.md) | ✅ | — | — | — | — | — | ✅ |
52
- | [`no-required-input-with-default`](../no-required-input-with-default.md) | ✅ | — | — | — | — | — | ✅ |
53
- | [`no-secrets-in-if`](../no-secrets-in-if.md) | — | — | — | ✅ | ✅ | ✅ | ✅ |
54
- | [`no-self-hosted-runner-on-fork-pr-events`](../no-self-hosted-runner-on-fork-pr-events.md) | — | — | — | — | ✅ | ✅ | ✅ |
55
- | [`no-subdirectory-template-file-pattern`](../no-subdirectory-template-file-pattern.md) | — | ✅ | ✅ | — | — | — | ✅ |
56
- | [`no-template-placeholder-in-non-template-workflow`](../no-template-placeholder-in-non-template-workflow.md) | — | — | — | ✅ | — | ✅ | ✅ |
57
- | [`no-top-level-env`](../no-top-level-env.md) | — | — | — | — | — | ✅ | ✅ |
58
- | [`no-top-level-permissions`](../no-top-level-permissions.md) | — | — | — | — | — | — | ✅ |
59
- | [`no-universal-template-file-pattern`](../no-universal-template-file-pattern.md) | — | ✅ | ✅ | — | — | — | ✅ |
60
- | [`no-unknown-input-reference-in-composite`](../no-unknown-input-reference-in-composite.md) | ✅ | — | — | — | — | — | ✅ |
61
- | [`no-unknown-job-output-reference`](../no-unknown-job-output-reference.md) | — | — | — | ✅ | — | ✅ | ✅ |
62
- | [`no-unknown-step-reference`](../no-unknown-step-reference.md) | — | — | — | — | — | ✅ | ✅ |
63
- | [`no-untrusted-input-in-run`](../no-untrusted-input-in-run.md) | — | — | — | — | ✅ | ✅ | ✅ |
64
- | [`no-unused-input-in-composite`](../no-unused-input-in-composite.md) | ✅ | — | — | — | — | — | ✅ |
65
- | [`no-write-all-permissions`](../no-write-all-permissions.md) | — | — | — | ✅ | ✅ | ✅ | ✅ |
66
- | [`pin-action-shas`](../pin-action-shas.md) | — | — | — | — | ✅ | ✅ | ✅ |
67
- | [`prefer-action-yml`](../prefer-action-yml.md) | ✅ | — | — | — | — | — | ✅ |
68
- | [`prefer-fail-fast`](../prefer-fail-fast.md) | — | — | — | — | — | ✅ | ✅ |
69
- | [`prefer-file-extension`](../prefer-file-extension.md) | — | — | — | ✅ | — | ✅ | ✅ |
70
- | [`prefer-inputs-context`](../prefer-inputs-context.md) | — | — | — | ✅ | — | ✅ | ✅ |
71
- | [`prefer-step-uses-style`](../prefer-step-uses-style.md) | — | — | — | — | — | — | ✅ |
72
- | [`prefer-template-yml-extension`](../prefer-template-yml-extension.md) | — | — | ✅ | — | — | — | ✅ |
73
- | [`require-action-name`](../require-action-name.md) | — | — | — | ✅ | — | ✅ | ✅ |
74
- | [`require-action-run-name`](../require-action-run-name.md) | — | — | — | — | — | ✅ | ✅ |
75
- | [`require-checkout-before-local-action`](../require-checkout-before-local-action.md) | — | — | — | ✅ | — | ✅ | ✅ |
76
- | [`require-composite-step-name`](../require-composite-step-name.md) | ✅ | — | — | — | — | — | ✅ |
77
- | [`require-job-name`](../require-job-name.md) | — | — | — | — | — | ✅ | ✅ |
78
- | [`require-job-step-name`](../require-job-step-name.md) | — | — | — | — | — | ✅ | ✅ |
79
- | [`require-job-timeout-minutes`](../require-job-timeout-minutes.md) | — | — | — | ✅ | — | ✅ | ✅ |
80
- | [`require-merge-group-trigger`](../require-merge-group-trigger.md) | — | — | — | — | — | ✅ | ✅ |
81
- | [`require-pull-request-target-branches`](../require-pull-request-target-branches.md) | — | — | — | — | ✅ | ✅ | ✅ |
82
- | [`require-run-step-shell`](../require-run-step-shell.md) | — | — | — | — | — | ✅ | ✅ |
83
- | [`require-template-categories`](../require-template-categories.md) | — | ✅ | ✅ | — | — | — | ✅ |
84
- | [`require-template-file-patterns`](../require-template-file-patterns.md) | — | ✅ | ✅ | — | — | — | ✅ |
85
- | [`require-template-icon-file-exists`](../require-template-icon-file-exists.md) | — | ✅ | ✅ | — | — | — | ✅ |
86
- | [`require-template-icon-name`](../require-template-icon-name.md) | — | ✅ | ✅ | — | — | — | ✅ |
87
- | [`require-template-workflow-name`](../require-template-workflow-name.md) | — | — | ✅ | — | — | — | ✅ |
88
- | [`require-trigger-types`](../require-trigger-types.md) | — | — | — | — | — | ✅ | ✅ |
89
- | [`require-workflow-call-input-type`](../require-workflow-call-input-type.md) | — | — | — | ✅ | — | ✅ | ✅ |
90
- | [`require-workflow-call-output-value`](../require-workflow-call-output-value.md) | — | — | — | ✅ | — | ✅ | ✅ |
91
- | [`require-workflow-concurrency`](../require-workflow-concurrency.md) | — | — | — | — | — | ✅ | ✅ |
92
- | [`require-workflow-dispatch-input-type`](../require-workflow-dispatch-input-type.md) | — | — | — | ✅ | — | ✅ | ✅ |
93
- | [`require-workflow-interface-description`](../require-workflow-interface-description.md) | — | — | — | — | — | ✅ | ✅ |
94
- | [`require-workflow-permissions`](../require-workflow-permissions.md) | — | — | — | ✅ | ✅ | ✅ | ✅ |
95
- | [`require-workflow-run-branches`](../require-workflow-run-branches.md) | — | — | — | — | ✅ | ✅ | ✅ |
96
- | [`require-workflow-template-pair`](../require-workflow-template-pair.md) | — | — | ✅ | — | — | — | ✅ |
97
- | [`require-workflow-template-properties-pair`](../require-workflow-template-properties-pair.md) | — | ✅ | ✅ | — | — | — | ✅ |
98
- | [`valid-timeout-minutes`](../valid-timeout-minutes.md) | — | — | — | ✅ | — | ✅ | ✅ |
99
- | [`valid-trigger-events`](../valid-trigger-events.md) | — | — | — | ✅ | — | ✅ | ✅ |
29
+ Fix legend:
30
+ 🔧 = autofixable
31
+ 💡 = suggestions available
32
+ = report only
100
33
 
34
+ Preset key legend:
35
+ 🧩 — githubActions.configs.actionMetadata
36
+ 🗂️ — githubActions.configs.workflowTemplateProperties
37
+ 🧱 — githubActions.configs.workflowTemplates
38
+ 🟡 — githubActions.configs.recommended
39
+ 🛡️ — githubActions.configs.security
40
+ 🔴 — githubActions.configs.strict
41
+ 🟣 — githubActions.configs.all
42
+
43
+ | Rule | Fix | Preset key |
44
+ | --- | :-: | --- |
45
+ | <span class="sb-inline-rule-number">R009</span> [`action-name-casing`](../action-name-casing.md) | 🔧 | 🟣 🔴 |
46
+ | <span class="sb-inline-rule-number">R010</span> [`job-id-casing`](../job-id-casing.md) | — | 🟣 🔴 |
47
+ | <span class="sb-inline-rule-number">R011</span> [`max-jobs-per-action`](../max-jobs-per-action.md) | — | 🟣 🔴 |
48
+ | <span class="sb-inline-rule-number">R048</span> [`no-case-insensitive-input-id-collision`](../no-case-insensitive-input-id-collision.md) | — | 🧩 🟣 |
49
+ | <span class="sb-inline-rule-number">R049</span> [`no-composite-input-env-access`](../no-composite-input-env-access.md) | — | 🧩 🟣 |
50
+ | <span class="sb-inline-rule-number">R044</span> [`no-deprecated-node-runtime`](../no-deprecated-node-runtime.md) | — | 🧩 🟣 |
51
+ | <span class="sb-inline-rule-number">R051</span> [`no-duplicate-composite-step-id`](../no-duplicate-composite-step-id.md) | — | 🧩 🟣 |
52
+ | <span class="sb-inline-rule-number">R060</span> [`no-empty-template-file-pattern`](../no-empty-template-file-pattern.md) | — | 🗂️ 🧱 🟣 |
53
+ | <span class="sb-inline-rule-number">R012</span> [`no-external-job`](../no-external-job.md) | — | 🟣 🔴 |
54
+ | <span class="sb-inline-rule-number">R068</span> [`no-hardcoded-default-branch-in-template`](../no-hardcoded-default-branch-in-template.md) | — | 🧱 🟣 |
55
+ | <span class="sb-inline-rule-number">R063</span> [`no-icon-file-extension-in-template-icon-name`](../no-icon-file-extension-in-template-icon-name.md) | — | 🗂️ 🧱 🟣 |
56
+ | <span class="sb-inline-rule-number">R026</span> [`no-inherit-secrets`](../no-inherit-secrets.md) | — | 🟣 🛡️ 🔴 |
57
+ | <span class="sb-inline-rule-number">R042</span> [`no-invalid-concurrency-context`](../no-invalid-concurrency-context.md) | — | 🟣 🟡 🔴 |
58
+ | <span class="sb-inline-rule-number">R019</span> [`no-invalid-key`](../no-invalid-key.md) | — | 🟣 🟡 🔴 |
59
+ | <span class="sb-inline-rule-number">R041</span> [`no-invalid-reusable-workflow-job-key`](../no-invalid-reusable-workflow-job-key.md) | — | 🟣 🟡 🔴 |
60
+ | <span class="sb-inline-rule-number">R059</span> [`no-invalid-template-file-pattern-regex`](../no-invalid-template-file-pattern-regex.md) | — | 🗂️ 🧱 🟣 |
61
+ | <span class="sb-inline-rule-number">R040</span> [`no-invalid-workflow-call-output-value`](../no-invalid-workflow-call-output-value.md) | — | 🟣 🟡 🔴 |
62
+ | <span class="sb-inline-rule-number">R064</span> [`no-path-separators-in-template-icon-name`](../no-path-separators-in-template-icon-name.md) | — | 🗂️ 🧱 🟣 |
63
+ | <span class="sb-inline-rule-number">R046</span> [`no-post-if-without-post`](../no-post-if-without-post.md) | — | 🧩 🟣 |
64
+ | <span class="sb-inline-rule-number">R030</span> [`no-pr-head-checkout-in-pull-request-target`](../no-pr-head-checkout-in-pull-request-target.md) | — | 🟣 🛡️ 🔴 |
65
+ | <span class="sb-inline-rule-number">R045</span> [`no-pre-if-without-pre`](../no-pre-if-without-pre.md) | — | 🧩 🟣 |
66
+ | <span class="sb-inline-rule-number">R047</span> [`no-required-input-with-default`](../no-required-input-with-default.md) | — | 🧩 🟣 |
67
+ | <span class="sb-inline-rule-number">R027</span> [`no-secrets-in-if`](../no-secrets-in-if.md) | — | 🟣 🟡 🛡️ 🔴 |
68
+ | <span class="sb-inline-rule-number">R036</span> [`no-self-hosted-runner-on-fork-pr-events`](../no-self-hosted-runner-on-fork-pr-events.md) | — | 🟣 🛡️ 🔴 |
69
+ | <span class="sb-inline-rule-number">R062</span> [`no-subdirectory-template-file-pattern`](../no-subdirectory-template-file-pattern.md) | — | 🗂️ 🧱 🟣 |
70
+ | <span class="sb-inline-rule-number">R069</span> [`no-template-placeholder-in-non-template-workflow`](../no-template-placeholder-in-non-template-workflow.md) | — | 🟡 🔴 🟣 |
71
+ | <span class="sb-inline-rule-number">R013</span> [`no-top-level-env`](../no-top-level-env.md) | — | 🟣 🔴 |
72
+ | <span class="sb-inline-rule-number">R014</span> [`no-top-level-permissions`](../no-top-level-permissions.md) | — | 🟣 |
73
+ | <span class="sb-inline-rule-number">R061</span> [`no-universal-template-file-pattern`](../no-universal-template-file-pattern.md) | — | 🗂️ 🧱 🟣 |
74
+ | <span class="sb-inline-rule-number">R050</span> [`no-unknown-input-reference-in-composite`](../no-unknown-input-reference-in-composite.md) | — | 🧩 🟣 |
75
+ | <span class="sb-inline-rule-number">R037</span> [`no-unknown-job-output-reference`](../no-unknown-job-output-reference.md) | — | 🟣 🟡 🔴 |
76
+ | <span class="sb-inline-rule-number">R038</span> [`no-unknown-step-reference`](../no-unknown-step-reference.md) | — | 🟣 🔴 |
77
+ | <span class="sb-inline-rule-number">R029</span> [`no-untrusted-input-in-run`](../no-untrusted-input-in-run.md) | — | 🟣 🛡️ 🔴 |
78
+ | <span class="sb-inline-rule-number">R053</span> [`no-unused-input-in-composite`](../no-unused-input-in-composite.md) | — | 🧩 🟣 |
79
+ | <span class="sb-inline-rule-number">R023</span> [`no-write-all-permissions`](../no-write-all-permissions.md) | — | 🟣 🟡 🛡️ 🔴 |
80
+ | <span class="sb-inline-rule-number">R003</span> [`pin-action-shas`](../pin-action-shas.md) | — | 🟣 🛡️ 🔴 |
81
+ | <span class="sb-inline-rule-number">R043</span> [`prefer-action-yml`](../prefer-action-yml.md) | — | 🧩 🟣 |
82
+ | <span class="sb-inline-rule-number">R015</span> [`prefer-fail-fast`](../prefer-fail-fast.md) | — | 🟣 🔴 |
83
+ | <span class="sb-inline-rule-number">R020</span> [`prefer-file-extension`](../prefer-file-extension.md) | — | 🟣 🟡 🔴 |
84
+ | <span class="sb-inline-rule-number">R033</span> [`prefer-inputs-context`](../prefer-inputs-context.md) | 🔧 | 🟣 🟡 🔴 |
85
+ | <span class="sb-inline-rule-number">R016</span> [`prefer-step-uses-style`](../prefer-step-uses-style.md) | — | 🟣 |
86
+ | <span class="sb-inline-rule-number">R066</span> [`prefer-template-yml-extension`](../prefer-template-yml-extension.md) | — | 🧱 🟣 |
87
+ | <span class="sb-inline-rule-number">R005</span> [`require-action-name`](../require-action-name.md) | — | 🟣 🟡 🔴 |
88
+ | <span class="sb-inline-rule-number">R006</span> [`require-action-run-name`](../require-action-run-name.md) | — | 🟣 🔴 |
89
+ | <span class="sb-inline-rule-number">R025</span> [`require-checkout-before-local-action`](../require-checkout-before-local-action.md) | — | 🟣 🟡 🔴 |
90
+ | <span class="sb-inline-rule-number">R052</span> [`require-composite-step-name`](../require-composite-step-name.md) | — | 🧩 🟣 |
91
+ | <span class="sb-inline-rule-number">R007</span> [`require-job-name`](../require-job-name.md) | — | 🟣 🔴 |
92
+ | <span class="sb-inline-rule-number">R008</span> [`require-job-step-name`](../require-job-step-name.md) | — | 🟣 🔴 |
93
+ | <span class="sb-inline-rule-number">R002</span> [`require-job-timeout-minutes`](../require-job-timeout-minutes.md) | — | 🟣 🟡 🔴 |
94
+ | <span class="sb-inline-rule-number">R035</span> [`require-merge-group-trigger`](../require-merge-group-trigger.md) | — | 🟣 🔴 |
95
+ | <span class="sb-inline-rule-number">R032</span> [`require-pull-request-target-branches`](../require-pull-request-target-branches.md) | — | 🟣 🛡️ 🔴 |
96
+ | <span class="sb-inline-rule-number">R021</span> [`require-run-step-shell`](../require-run-step-shell.md) | — | 🟣 🔴 |
97
+ | <span class="sb-inline-rule-number">R057</span> [`require-template-categories`](../require-template-categories.md) | — | 🗂️ 🧱 🟣 |
98
+ | <span class="sb-inline-rule-number">R058</span> [`require-template-file-patterns`](../require-template-file-patterns.md) | — | 🗂️ 🧱 🟣 |
99
+ | <span class="sb-inline-rule-number">R065</span> [`require-template-icon-file-exists`](../require-template-icon-file-exists.md) | — | 🗂️ 🧱 🟣 |
100
+ | <span class="sb-inline-rule-number">R056</span> [`require-template-icon-name`](../require-template-icon-name.md) | — | 🗂️ 🧱 🟣 |
101
+ | <span class="sb-inline-rule-number">R067</span> [`require-template-workflow-name`](../require-template-workflow-name.md) | — | 🧱 🟣 |
102
+ | <span class="sb-inline-rule-number">R031</span> [`require-trigger-types`](../require-trigger-types.md) | — | 🟣 🔴 |
103
+ | <span class="sb-inline-rule-number">R034</span> [`require-workflow-call-input-type`](../require-workflow-call-input-type.md) | — | 🟣 🟡 🔴 |
104
+ | <span class="sb-inline-rule-number">R039</span> [`require-workflow-call-output-value`](../require-workflow-call-output-value.md) | — | 🟣 🟡 🔴 |
105
+ | <span class="sb-inline-rule-number">R004</span> [`require-workflow-concurrency`](../require-workflow-concurrency.md) | — | 🟣 🔴 |
106
+ | <span class="sb-inline-rule-number">R022</span> [`require-workflow-dispatch-input-type`](../require-workflow-dispatch-input-type.md) | — | 🟣 🟡 🔴 |
107
+ | <span class="sb-inline-rule-number">R024</span> [`require-workflow-interface-description`](../require-workflow-interface-description.md) | — | 🟣 🔴 |
108
+ | <span class="sb-inline-rule-number">R001</span> [`require-workflow-permissions`](../require-workflow-permissions.md) | — | 🟣 🟡 🛡️ 🔴 |
109
+ | <span class="sb-inline-rule-number">R028</span> [`require-workflow-run-branches`](../require-workflow-run-branches.md) | — | 🟣 🛡️ 🔴 |
110
+ | <span class="sb-inline-rule-number">R054</span> [`require-workflow-template-pair`](../require-workflow-template-pair.md) | — | 🧱 🟣 |
111
+ | <span class="sb-inline-rule-number">R055</span> [`require-workflow-template-properties-pair`](../require-workflow-template-properties-pair.md) | — | 🗂️ 🧱 🟣 |
112
+ | <span class="sb-inline-rule-number">R017</span> [`valid-timeout-minutes`](../valid-timeout-minutes.md) | — | 🟣 🟡 🔴 |
113
+ | <span class="sb-inline-rule-number">R018</span> [`valid-trigger-events`](../valid-trigger-events.md) | — | 🟣 🟡 🔴 |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://www.schemastore.org/package.json",
3
3
  "name": "eslint-plugin-github-actions-2",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "private": false,
6
6
  "description": "ESLint plugin for GitHub Actions workflow quality, reliability, and security rules.",
7
7
  "keywords": [
@@ -256,7 +256,7 @@
256
256
  "eslint-plugin-security": "^4.0.0",
257
257
  "eslint-plugin-sonarjs": "^4.0.2",
258
258
  "eslint-plugin-sort-class-members": "^1.21.0",
259
- "eslint-plugin-testing-library": "^7.16.1",
259
+ "eslint-plugin-testing-library": "^7.16.2",
260
260
  "eslint-plugin-toml": "^1.3.1",
261
261
  "eslint-plugin-total-functions": "^7.1.0",
262
262
  "eslint-plugin-tsdoc": "^0.5.2",
@@ -273,7 +273,7 @@
273
273
  "htmlhint": "^1.9.2",
274
274
  "jscpd": "^4.0.8",
275
275
  "jsonc-eslint-parser": "^3.1.0",
276
- "knip": "^6.0.4",
276
+ "knip": "^6.0.5",
277
277
  "leasot": "^14.4.0",
278
278
  "madge": "^8.0.0",
279
279
  "markdown-link-check": "^3.14.2",
@@ -426,7 +426,7 @@
426
426
  "stylelint-codeframe-formatter": "^1.2.0",
427
427
  "stylelint-config-alphabetical-order": "^2.0.0",
428
428
  "stylelint-config-idiomatic-order": "^10.0.0",
429
- "stylelint-config-inspector": "^2.0.2",
429
+ "stylelint-config-inspector": "^2.0.3",
430
430
  "stylelint-config-recess-order": "^7.7.0",
431
431
  "stylelint-config-recommended": "^18.0.0",
432
432
  "stylelint-config-sass-guidelines": "^13.0.0",