@ronaldphilipsen/local-action 0.0.0-stage → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/.checkov.yml +3 -0
  2. package/.env.example +379 -0
  3. package/.github/codeql/codeql-config.yml +7 -0
  4. package/.github/copilot-instructions.md +79 -0
  5. package/.github/dependabot.yml +32 -0
  6. package/.github/workflows/codeql-analysis.yml +53 -0
  7. package/.github/workflows/continuous-delivery.yml +93 -0
  8. package/.github/workflows/continuous-integration.yml +382 -0
  9. package/.github/workflows/linter.yml +47 -0
  10. package/.github/workflows/release.yaml +100 -0
  11. package/.github/workflows/version-check.yml +44 -0
  12. package/.grype.yml +151 -0
  13. package/.markdown-lint.yml +7 -0
  14. package/.mega-linter.yml +188 -0
  15. package/.node-version +1 -0
  16. package/.prettierignore +4 -0
  17. package/.prettierrc.yml +14 -0
  18. package/.vscode/launch.json +15 -0
  19. package/.vscode/mcp.json +9 -0
  20. package/.vscode/settings.json +15 -0
  21. package/.vscode/tasks.json +51 -0
  22. package/.yaml-lint.yml +10 -0
  23. package/CHANGELOG.md +75 -0
  24. package/CODEOWNERS +3 -0
  25. package/CODE_OF_CONDUCT.md +74 -0
  26. package/CONTRIBUTING.md +140 -0
  27. package/LICENSE +21 -0
  28. package/README.md +277 -2
  29. package/SECURITY.md +42 -0
  30. package/SUPPORT.md +19 -0
  31. package/__fixtures__/@actions/core.ts +14 -0
  32. package/__fixtures__/@actions/exec.ts +9 -0
  33. package/__fixtures__/@actions/github.ts +3 -0
  34. package/__fixtures__/@actions/http-client.ts +9 -0
  35. package/__fixtures__/@actions/io.ts +9 -0
  36. package/__fixtures__/@octokit/rest.ts +18 -0
  37. package/__fixtures__/crypto.ts +7 -0
  38. package/__fixtures__/fs.ts +27 -0
  39. package/__fixtures__/javascript/no-export/.env.fixture +2 -0
  40. package/__fixtures__/javascript/no-export/action.yml +16 -0
  41. package/__fixtures__/javascript/no-export/node_modules/.gitkeep +0 -0
  42. package/__fixtures__/javascript/no-export/package.json +12 -0
  43. package/__fixtures__/javascript/no-export/src/index.js +0 -0
  44. package/__fixtures__/javascript/no-export/src/main.js +0 -0
  45. package/__fixtures__/javascript/no-import/.env.fixture +2 -0
  46. package/__fixtures__/javascript/no-import/action.yml +16 -0
  47. package/__fixtures__/javascript/no-import/node_modules/.gitkeep +0 -0
  48. package/__fixtures__/javascript/no-import/package.json +12 -0
  49. package/__fixtures__/javascript/no-import/src/index.js +3 -0
  50. package/__fixtures__/javascript/no-import/src/main.js +7 -0
  51. package/__fixtures__/javascript/success/.env.fixture +2 -0
  52. package/__fixtures__/javascript/success/action.yml +16 -0
  53. package/__fixtures__/javascript/success/node_modules/.gitkeep +0 -0
  54. package/__fixtures__/javascript/success/package.json +12 -0
  55. package/__fixtures__/javascript/success/post/index.js +3 -0
  56. package/__fixtures__/javascript/success/post/main.js +13 -0
  57. package/__fixtures__/javascript/success/pre/index.js +3 -0
  58. package/__fixtures__/javascript/success/pre/main.js +13 -0
  59. package/__fixtures__/javascript/success/src/index.js +3 -0
  60. package/__fixtures__/javascript/success/src/main.js +13 -0
  61. package/__fixtures__/javascript-esm/no-import/.env.fixture +2 -0
  62. package/__fixtures__/javascript-esm/no-import/action.yml +16 -0
  63. package/__fixtures__/javascript-esm/no-import/node_modules/.gitkeep +0 -0
  64. package/__fixtures__/javascript-esm/no-import/package.json +13 -0
  65. package/__fixtures__/javascript-esm/no-import/src/index.js +3 -0
  66. package/__fixtures__/javascript-esm/no-import/src/main.js +7 -0
  67. package/__fixtures__/javascript-esm/success/.env.fixture +2 -0
  68. package/__fixtures__/javascript-esm/success/action.yml +16 -0
  69. package/__fixtures__/javascript-esm/success/node_modules/.gitkeep +0 -0
  70. package/__fixtures__/javascript-esm/success/package.json +13 -0
  71. package/__fixtures__/javascript-esm/success/post/index.js +3 -0
  72. package/__fixtures__/javascript-esm/success/post/main.js +13 -0
  73. package/__fixtures__/javascript-esm/success/pre/index.js +3 -0
  74. package/__fixtures__/javascript-esm/success/pre/main.js +13 -0
  75. package/__fixtures__/javascript-esm/success/src/index.js +3 -0
  76. package/__fixtures__/javascript-esm/success/src/main.js +13 -0
  77. package/__fixtures__/path.ts +7 -0
  78. package/__fixtures__/payloads/issue_opened.json +33 -0
  79. package/__fixtures__/stream/promises.ts +3 -0
  80. package/__fixtures__/tsconfig-paths.ts +4 -0
  81. package/__fixtures__/typescript/no-import/.env.fixture +2 -0
  82. package/__fixtures__/typescript/no-import/action.yml +16 -0
  83. package/__fixtures__/typescript/no-import/node_modules/.gitkeep +0 -0
  84. package/__fixtures__/typescript/no-import/package.json +15 -0
  85. package/__fixtures__/typescript/no-import/src/index.ts +3 -0
  86. package/__fixtures__/typescript/no-import/src/main.ts +3 -0
  87. package/__fixtures__/typescript/no-import/tsconfig.json +20 -0
  88. package/__fixtures__/typescript/success/.env.fixture +2 -0
  89. package/__fixtures__/typescript/success/action.yml +16 -0
  90. package/__fixtures__/typescript/success/node_modules/.gitkeep +0 -0
  91. package/__fixtures__/typescript/success/package.json +15 -0
  92. package/__fixtures__/typescript/success/post/index.ts +3 -0
  93. package/__fixtures__/typescript/success/post/main.ts +9 -0
  94. package/__fixtures__/typescript/success/pre/index.ts +3 -0
  95. package/__fixtures__/typescript/success/pre/main.ts +9 -0
  96. package/__fixtures__/typescript/success/src/index.ts +3 -0
  97. package/__fixtures__/typescript/success/src/main.ts +9 -0
  98. package/__fixtures__/typescript/success/tsconfig.json +20 -0
  99. package/__fixtures__/typescript/success-yaml/.env.fixture +2 -0
  100. package/__fixtures__/typescript/success-yaml/action.yaml +16 -0
  101. package/__fixtures__/typescript/success-yaml/node_modules/.gitkeep +0 -0
  102. package/__fixtures__/typescript/success-yaml/package.json +15 -0
  103. package/__fixtures__/typescript/success-yaml/post/index.ts +3 -0
  104. package/__fixtures__/typescript/success-yaml/post/main.ts +9 -0
  105. package/__fixtures__/typescript/success-yaml/pre/index.ts +3 -0
  106. package/__fixtures__/typescript/success-yaml/pre/main.ts +9 -0
  107. package/__fixtures__/typescript/success-yaml/src/index.ts +3 -0
  108. package/__fixtures__/typescript/success-yaml/src/main.ts +9 -0
  109. package/__fixtures__/typescript/success-yaml/tsconfig.json +20 -0
  110. package/__fixtures__/typescript-esm/no-export/.env.fixture +2 -0
  111. package/__fixtures__/typescript-esm/no-export/action.yml +17 -0
  112. package/__fixtures__/typescript-esm/no-export/node_modules/.gitkeep +0 -0
  113. package/__fixtures__/typescript-esm/no-export/package.json +17 -0
  114. package/__fixtures__/typescript-esm/no-export/src/index.ts +0 -0
  115. package/__fixtures__/typescript-esm/no-export/src/main.ts +0 -0
  116. package/__fixtures__/typescript-esm/no-export/tsconfig.json +25 -0
  117. package/__fixtures__/typescript-esm/no-import/.env.fixture +2 -0
  118. package/__fixtures__/typescript-esm/no-import/action.yml +17 -0
  119. package/__fixtures__/typescript-esm/no-import/node_modules/.gitkeep +0 -0
  120. package/__fixtures__/typescript-esm/no-import/package.json +17 -0
  121. package/__fixtures__/typescript-esm/no-import/src/index.ts +3 -0
  122. package/__fixtures__/typescript-esm/no-import/src/main.ts +3 -0
  123. package/__fixtures__/typescript-esm/no-import/tsconfig.json +25 -0
  124. package/__fixtures__/typescript-esm/success/.env.fixture +2 -0
  125. package/__fixtures__/typescript-esm/success/action.yml +17 -0
  126. package/__fixtures__/typescript-esm/success/node_modules/.gitkeep +0 -0
  127. package/__fixtures__/typescript-esm/success/package.json +17 -0
  128. package/__fixtures__/typescript-esm/success/post/index.ts +3 -0
  129. package/__fixtures__/typescript-esm/success/post/main.ts +9 -0
  130. package/__fixtures__/typescript-esm/success/pre/index.ts +3 -0
  131. package/__fixtures__/typescript-esm/success/pre/main.ts +9 -0
  132. package/__fixtures__/typescript-esm/success/src/index.ts +3 -0
  133. package/__fixtures__/typescript-esm/success/src/main.ts +9 -0
  134. package/__fixtures__/typescript-esm/success/tsconfig.json +25 -0
  135. package/__fixtures__/typescript-esm/tsconfig-comments/.env.fixture +2 -0
  136. package/__fixtures__/typescript-esm/tsconfig-comments/action.yml +17 -0
  137. package/__fixtures__/typescript-esm/tsconfig-comments/node_modules/.gitkeep +0 -0
  138. package/__fixtures__/typescript-esm/tsconfig-comments/package.json +17 -0
  139. package/__fixtures__/typescript-esm/tsconfig-comments/src/index.ts +3 -0
  140. package/__fixtures__/typescript-esm/tsconfig-comments/src/main.ts +9 -0
  141. package/__fixtures__/typescript-esm/tsconfig-comments/tsconfig.json +21 -0
  142. package/__tests__/command.test.ts +224 -0
  143. package/__tests__/stubs/artifact/internal/client.test.ts +340 -0
  144. package/__tests__/stubs/artifact/internal/delete/delete-artifact.test.ts +152 -0
  145. package/__tests__/stubs/artifact/internal/download/download-artifact.test.ts +119 -0
  146. package/__tests__/stubs/artifact/internal/find/get-artifact.test.ts +237 -0
  147. package/__tests__/stubs/artifact/internal/find/list-artifacts.test.ts +218 -0
  148. package/__tests__/stubs/artifact/internal/find/retry-options.test.ts +54 -0
  149. package/__tests__/stubs/artifact/internal/shared/config.test.ts +91 -0
  150. package/__tests__/stubs/artifact/internal/shared/errors.test.ts +38 -0
  151. package/__tests__/stubs/artifact/internal/shared/user-agent.test.ts +22 -0
  152. package/__tests__/stubs/artifact/internal/upload/path-and-artifact-name-validation.test.ts +53 -0
  153. package/__tests__/stubs/artifact/internal/upload/upload-artifact.test.ts +126 -0
  154. package/__tests__/stubs/artifact/internal/upload/upload-zip-specification.test.ts +49 -0
  155. package/__tests__/stubs/cache/cache.test.ts +357 -0
  156. package/__tests__/stubs/cache/errors.test.ts +55 -0
  157. package/__tests__/stubs/cache/internal/cacheUtils.test.ts +109 -0
  158. package/__tests__/stubs/cache/internal/constants.test.ts +81 -0
  159. package/__tests__/stubs/cache/internal/tar.test.ts +129 -0
  160. package/__tests__/stubs/core/core.test.ts +760 -0
  161. package/__tests__/stubs/core/path-utils.test.ts +45 -0
  162. package/__tests__/stubs/core/platform.test.ts +89 -0
  163. package/__tests__/stubs/core/summary.test.ts +455 -0
  164. package/__tests__/stubs/env.test.ts +72 -0
  165. package/__tests__/stubs/github/context.test.ts +73 -0
  166. package/__tests__/stubs/github/github.test.ts +15 -0
  167. package/__tests__/stubs/github/internal/utils.test.ts +98 -0
  168. package/__tests__/stubs/github/utils.test.ts +16 -0
  169. package/__tests__/utils/config.test.ts +78 -0
  170. package/__tests__/utils/output.test.ts +32 -0
  171. package/__tests__/utils/package.test.ts +33 -0
  172. package/badges/coverage.svg +1 -0
  173. package/bin/local-action.js +121 -0
  174. package/docs/create-a-job-summary.md +32 -0
  175. package/docs/debugging-in-vscode.md +27 -0
  176. package/docs/img/job-summary.png +0 -0
  177. package/docs/supported-functionality.md +126 -0
  178. package/eslint.config.mjs +74 -0
  179. package/jest.config.ts +41 -0
  180. package/package.json +93 -4
  181. package/src/command.ts +171 -0
  182. package/src/commands/run.ts +616 -0
  183. package/src/index.ts +21 -0
  184. package/src/stubs/artifact/artifact.ts +17 -0
  185. package/src/stubs/artifact/internal/client.ts +400 -0
  186. package/src/stubs/artifact/internal/delete/delete-artifact.ts +126 -0
  187. package/src/stubs/artifact/internal/download/download-artifact.ts +309 -0
  188. package/src/stubs/artifact/internal/find/get-artifact.ts +135 -0
  189. package/src/stubs/artifact/internal/find/list-artifacts.ts +188 -0
  190. package/src/stubs/artifact/internal/find/retry-options.ts +57 -0
  191. package/src/stubs/artifact/internal/shared/config.ts +64 -0
  192. package/src/stubs/artifact/internal/shared/errors.ts +53 -0
  193. package/src/stubs/artifact/internal/shared/interfaces.ts +195 -0
  194. package/src/stubs/artifact/internal/shared/user-agent.ts +13 -0
  195. package/src/stubs/artifact/internal/upload/path-and-artifact-name-validation.ts +92 -0
  196. package/src/stubs/artifact/internal/upload/upload-artifact.ts +127 -0
  197. package/src/stubs/artifact/internal/upload/upload-zip-specification.ts +108 -0
  198. package/src/stubs/artifact/internal/upload/zip.ts +122 -0
  199. package/src/stubs/cache/cache.ts +334 -0
  200. package/src/stubs/cache/errors.ts +31 -0
  201. package/src/stubs/cache/interfaces.ts +4 -0
  202. package/src/stubs/cache/internal/cacheUtils.ts +207 -0
  203. package/src/stubs/cache/internal/constants.ts +45 -0
  204. package/src/stubs/cache/internal/tar.ts +374 -0
  205. package/src/stubs/cache/options.ts +91 -0
  206. package/src/stubs/core/core.ts +743 -0
  207. package/src/stubs/core/path-utils.ts +39 -0
  208. package/src/stubs/core/platform.ts +132 -0
  209. package/src/stubs/core/summary.ts +399 -0
  210. package/src/stubs/env.ts +40 -0
  211. package/src/stubs/github/context.ts +94 -0
  212. package/src/stubs/github/github.ts +29 -0
  213. package/src/stubs/github/interfaces.ts +52 -0
  214. package/src/stubs/github/internal/utils.ts +83 -0
  215. package/src/stubs/github/utils.ts +52 -0
  216. package/src/types/quibble.d.ts +5 -0
  217. package/src/types.ts +116 -0
  218. package/src/utils/config.ts +47 -0
  219. package/src/utils/output.ts +20 -0
  220. package/src/utils/package.ts +38 -0
  221. package/tsconfig.base.json +29 -0
  222. package/tsconfig.eslint.json +22 -0
  223. package/tsconfig.json +18 -0
package/.grype.yml ADDED
@@ -0,0 +1,151 @@
1
+ # enable/disable checking for application updates on startup
2
+ # same as GRYPE_CHECK_FOR_APP_UPDATE env var
3
+ # check-for-app-update: true
4
+
5
+ # allows users to specify which image source should be used to generate the sbom
6
+ # valid values are: registry, docker, podman
7
+ # same as GRYPE_DEFAULT_IMAGE_PULL_SOURCE env var
8
+ # default-image-pull-source: ""
9
+
10
+ # same as --name; set the name of the target being analyzed
11
+ # name: ""
12
+
13
+ # upon scanning, if a severity is found at or above the given severity then the return code will be 1
14
+ # default is unset which will skip this validation (options: negligible, low, medium, high, critical)
15
+ # same as --fail-on ; GRYPE_FAIL_ON_SEVERITY env var
16
+ fail-on-severity: high
17
+
18
+ # the output format of the vulnerability report (options: table, json, cyclonedx)
19
+ # same as -o ; GRYPE_OUTPUT env var
20
+ # output: "table"
21
+
22
+ # suppress all output (except for the vulnerability list)
23
+ # same as -q ; GRYPE_QUIET env var
24
+ quiet: true
25
+
26
+ # write output report to a file (default is to write to stdout)
27
+ # same as --file; GRYPE_FILE env var
28
+ # file: ""
29
+
30
+ # a list of globs to exclude from scanning, for example:
31
+ exclude:
32
+ - '**/__fixtures__'
33
+ - '**/.git'
34
+ - '**/megalinter-reports'
35
+ # same as --exclude ; GRYPE_EXCLUDE env var
36
+ # exclude: []
37
+
38
+ # os and/or architecture to use when referencing container images (e.g. "windows/armv6" or "arm64")
39
+ # same as --platform; GRYPE_PLATFORM env var
40
+ # platform: ""
41
+
42
+ # If using SBOM input, automatically generate CPEs when packages have none
43
+ # add-cpes-if-none: false
44
+
45
+ # Explicitly specify a linux distribution to use as <distro>:<version> like alpine:3.10
46
+ # distro:
47
+
48
+ # external-sources:
49
+ # enable: false
50
+ # maven:
51
+ # search-upstream-by-sha1: true
52
+ # base-url: https://search.maven.org/solrsearch/select
53
+
54
+ # db:
55
+ # check for database updates on execution
56
+ # same as GRYPE_DB_AUTO_UPDATE env var
57
+ # auto-update: true
58
+
59
+ # location to write the vulnerability database cache
60
+ # same as GRYPE_DB_CACHE_DIR env var
61
+ # cache-dir: "$XDG_CACHE_HOME/grype/db"
62
+
63
+ # URL of the vulnerability database
64
+ # same as GRYPE_DB_UPDATE_URL env var
65
+ # update-url: "https://toolbox-data.anchore.io/grype/databases/listing.json"
66
+
67
+ # it ensures db build is no older than the max-allowed-built-age
68
+ # set to false to disable check
69
+ # validate-age: true
70
+
71
+ # Max allowed age for vulnerability database,
72
+ # age being the time since it was built
73
+ # Default max age is 120h (or five days)
74
+ # max-allowed-built-age: "120h"
75
+
76
+ # search:
77
+ # the search space to look for packages (options: all-layers, squashed)
78
+ # same as -s ; GRYPE_SEARCH_SCOPE env var
79
+ # scope: "squashed"
80
+
81
+ # search within archives that do contain a file index to search against (zip)
82
+ # note: for now this only applies to the java package cataloger
83
+ # same as GRYPE_PACKAGE_SEARCH_INDEXED_ARCHIVES env var
84
+ # indexed-archives: true
85
+
86
+ # search within archives that do not contain a file index to search against (tar, tar.gz, tar.bz2, etc)
87
+ # note: enabling this may result in a performance impact since all discovered compressed tars will be decompressed
88
+ # note: for now this only applies to the java package cataloger
89
+ # same as GRYPE_PACKAGE_SEARCH_UNINDEXED_ARCHIVES env var
90
+ # unindexed-archives: false
91
+
92
+ # options when pulling directly from a registry via the "registry:" scheme
93
+ # registry:
94
+ # skip TLS verification when communicating with the registry
95
+ # same as GRYPE_REGISTRY_INSECURE_SKIP_TLS_VERIFY env var
96
+ # insecure-skip-tls-verify: false
97
+ # use http instead of https when connecting to the registry
98
+ # same as GRYPE_REGISTRY_INSECURE_USE_HTTP env var
99
+ # insecure-use-http: false
100
+
101
+ # credentials for specific registries
102
+ # auth:
103
+ # - # the URL to the registry (e.g. "docker.io", "localhost:5000", etc.)
104
+ # same as GRYPE_REGISTRY_AUTH_AUTHORITY env var
105
+ # authority: ""
106
+ # same as GRYPE_REGISTRY_AUTH_USERNAME env var
107
+ # username: ""
108
+ # same as GRYPE_REGISTRY_AUTH_PASSWORD env var
109
+ # password: ""
110
+ # note: token and username/password are mutually exclusive
111
+ # same as GRYPE_REGISTRY_AUTH_TOKEN env var
112
+ # token: ""
113
+ # - ... # note, more credentials can be provided via config file only
114
+
115
+ # log:
116
+ # use structured logging
117
+ # same as GRYPE_LOG_STRUCTURED env var
118
+ # structured: false
119
+
120
+ # the log level; note: detailed logging suppress the ETUI
121
+ # same as GRYPE_LOG_LEVEL env var
122
+ # Uses logrus logging levels: https://github.com/sirupsen/logrus#level-logging
123
+ # level: "error"
124
+
125
+ # location to write the log file (default is not to have a log file)
126
+ # same as GRYPE_LOG_FILE env var
127
+ # file: ""
128
+
129
+ # match:
130
+ # sets the matchers below to use cpes when trying to find
131
+ # vulnerability matches. The stock matcher is the default
132
+ # when no primary matcher can be identified
133
+ # java:
134
+ # using-cpes: true
135
+ # python:
136
+ # using-cpes: true
137
+ # javascript:
138
+ # using-cpes: true
139
+ # ruby:
140
+ # using-cpes: true
141
+ # dotnet:
142
+ # using-cpes: true
143
+ # golang:
144
+ # using-cpes: true
145
+ # stock:
146
+ # using-cpes: true
147
+
148
+ ignore:
149
+ - package:
150
+ name: stdlib
151
+ type: go-module
@@ -0,0 +1,7 @@
1
+ # Unordered list style
2
+ MD004:
3
+ style: dash
4
+
5
+ # Ordered list item prefix
6
+ MD029:
7
+ style: one
@@ -0,0 +1,188 @@
1
+ # Mega-Linter Configuration File
2
+ # https://megalinter.io/latest/config-file/
3
+
4
+ # Activates formatting and autofix
5
+ APPLY_FIXES: none
6
+
7
+ # Flag to clear files from report folder before starting the linting process
8
+ CLEAR_REPORT_FOLDER: true
9
+
10
+ # List of disabled descriptors keys
11
+ # https://megalinter.io/latest/config-activation/
12
+ DISABLE:
13
+ - COPYPASTE
14
+ - SPELL
15
+ - SNAKEMAKE
16
+
17
+ # Flag to have the linter complete with exit code 0 even if errors were detected
18
+ DISABLE_ERRORS: false
19
+
20
+ # List of disabled linters keys
21
+ # https://megalinter.io/latest/config-activation/
22
+ DISABLE_LINTERS:
23
+ - JAVASCRIPT_STANDARD
24
+ - JSON_JSONLINT
25
+ - JSON_V8R
26
+ - MARKDOWN_MARKDOWN_LINK_CHECK
27
+ - MARKDOWN_MARKDOWN_TABLE_FORMATTER
28
+ - REPOSITORY_KICS
29
+ - REPOSITORY_SEMGREP
30
+ - TYPESCRIPT_STANDARD
31
+ - YAML_V8R
32
+
33
+ # List of enabled but not blocking linters keys
34
+ # https://megalinter.io/latest/config-activation/
35
+ # DISABLE_ERRORS_LINTERS: []
36
+
37
+ # List of enabled descriptors keys
38
+ # https://megalinter.io/latest/config-activation/
39
+ # If you use ENABLE variable, all other linters will be disabled by default
40
+ # ENABLE: []
41
+
42
+ # List of enabled linters keys
43
+ # If you use ENABLE_LINTERS variable, all other linters will be disabled
44
+ # ENABLE_LINTERS: []
45
+
46
+ # List of excluded directory basenames.
47
+ EXCLUDED_DIRECTORIES:
48
+ - .git
49
+ - coverage
50
+ - dist
51
+ - megalinter-reports
52
+ - node_modules
53
+ - reports
54
+
55
+ # If set to true, MegaLinter fails if a linter is missing in the selected flavor
56
+ FAIL_IF_MISSING_LINTER_IN_FLAVOR: false
57
+
58
+ # If set to true, MegaLinter fails if a linter or formatter has autofixed
59
+ # sources, even if there are no errors
60
+ FAIL_IF_UPDATED_SOURCES: false
61
+
62
+ # Upload reports to file.io
63
+ FILEIO_REPORTER: false
64
+
65
+ # Regular expression defining which files will be excluded from linting
66
+ # E.g.: `.*src/test.*`
67
+ # FILTER_REGEX_EXCLUDE: .*src/test.*
68
+
69
+ # Regular expression defining which files will be processed by linters
70
+ # E.g.: `.*src/.*`
71
+ # FILTER_REGEX_INCLUDE: .*src/.*
72
+
73
+ # Provides suggestions about different MegaLinter flavors to use to improve
74
+ # runtime performance
75
+ FLAVOR_SUGGESTIONS: false
76
+
77
+ # Formatter errors will be reported as errors (and not warnings) if this
78
+ # variable is set to false
79
+ FORMATTERS_DISABLE_ERRORS: false
80
+
81
+ # If set, calls git with Authorization: Bearer+value
82
+ # GIT_AUTHORIZATION_BEARER:
83
+
84
+ # URL where the github API can be reached
85
+ # Must be overridden if using GitHub Enterprise
86
+ # GITHUB_API_URL: https://api.github.com
87
+
88
+ # Posts a comment on the pull request with linting results
89
+ GITHUB_COMMENT_REPORTER: true
90
+
91
+ # URL of the GitHub instance
92
+ # Must be overridden if using GitHub Enterprise Server
93
+ # GITHUB_SERVER_URL: https://github.com
94
+
95
+ # Sets pull request status checks on GitHub
96
+ GITHUB_STATUS_REPORTER: true
97
+
98
+ # Base directory for REPORT_OUTPUT_FOLDER, for user-defined linter rules
99
+ # location, for location of linted files if DEFAULT_WORKSPACE isn't set
100
+ # GITHUB_WORKSPACE:
101
+
102
+ # If set to true, MegaLinter will skip files containing @generated marker but
103
+ # without @not-generated marker (more info at https://generated.at)
104
+ IGNORE_GENERATED_FILES: true
105
+
106
+ # If set to true, MegaLinter will skip files ignored by git using .gitignore
107
+ IGNORE_GITIGNORED_FILES: true
108
+
109
+ # JavaScript default style to check/apply
110
+ JAVASCRIPT_DEFAULT_STYLE: prettier
111
+
112
+ # Directory for all linter configuration rules
113
+ # Can be a local folder or a remote URL
114
+ # (ex: https://raw.githubusercontent.com/some_org/some_repo/mega-linter-rules)
115
+ # LINTER_RULES_PATH:
116
+
117
+ # How much output the script will generate to the console. One of INFO, DEBUG,
118
+ # WARNING or ERROR.
119
+ LOG_LEVEL: INFO
120
+
121
+ # Markdown default style to check/apply
122
+ MARKDOWN_DEFAULT_STYLE: markdownlint
123
+
124
+ # Generate Markdown summary report
125
+ MARKDOWN_SUMMARY_REPORTER: true
126
+
127
+ # Name of the Markdown summary report file
128
+ MARKDOWN_SUMMARY_REPORTER_FILE_NAME: summary.md
129
+
130
+ # Comma-separated list of files to analyze. Using this variable will bypass
131
+ # other file listing methods
132
+ # MEGALINTER_FILES_TO_LINT: []
133
+
134
+ # Process linters in parallel to improve overall MegaLinter performance. If
135
+ # true, linters of same language or formats are grouped in the same parallel
136
+ # process to avoid lock issues if fixing the same files
137
+ PARALLEL: true
138
+
139
+ # All available cores are used by default. If there are too many, you need to
140
+ # decrease the number of used cores in order to enhance performance
141
+ # PARALLEL_PROCESS_NUMBER: 4
142
+
143
+ # List of plugin urls to install and run during MegaLinter run
144
+ # PLUGINS: []
145
+
146
+ # Custom bash commands to run after linters
147
+ # POST_COMMANDS:
148
+ # - command: echo "This is MegaLinter POST_COMMAND on own MegaLinter ! :)"
149
+ # cwd: "workspace"
150
+
151
+ # Custom bash commands to run before linters
152
+ PRE_COMMANDS:
153
+ - command: |
154
+ npm -g install \
155
+ prettier
156
+ cwd: workspace
157
+
158
+ # Enable printing alpaca image to console
159
+ PRINT_ALPACA: true
160
+
161
+ # Display all files analyzed by the linter instead of only the number
162
+ PRINT_ALL_FILES: false
163
+
164
+ # Set to simple to avoid external images in generated markdown
165
+ REPORTERS_MARKDOWN_TYPE: advanced
166
+
167
+ REPOSITORY_GRYPE_CONFIG_FILE: .grype.yml
168
+
169
+ # Additional list of secured environment variables to hide when calling linters.
170
+ # SECURED_ENV_VARIABLES: []
171
+
172
+ # Displays elapsed time in reports
173
+ SHOW_ELAPSED_TIME: true
174
+
175
+ # Displays all disabled linters mega-linter could have run
176
+ SHOW_SKIPPED_LINTERS: false
177
+
178
+ # Comma-separated list of cli_lint_modes
179
+ # Use if you want to skip linters with some CLI lint modes (ex: file,project)
180
+ # Available values: file, cli_lint_mode, project
181
+ # SKIP_CLI_LINT_MODES: []
182
+
183
+ # Typescript default style to check/apply
184
+ TYPESCRIPT_DEFAULT_STYLE: prettier
185
+
186
+ # Will parse the entire repository and find all files to validate
187
+ # When set to false, only new or edited files will be parsed for validation
188
+ VALIDATE_ALL_CODEBASE: true
package/.node-version ADDED
@@ -0,0 +1 @@
1
+ 26.12.1
@@ -0,0 +1,4 @@
1
+ coverage/
2
+ dist/
3
+ node_modules/
4
+ reports/
@@ -0,0 +1,14 @@
1
+ arrowParens: avoid
2
+ bracketSameLine: true
3
+ bracketSpacing: true
4
+ endOfLine: lf
5
+ htmlWhitespaceSensitivity: css
6
+ jsxSingleQuote: false
7
+ printWidth: 80
8
+ proseWrap: always
9
+ quoteProps: as-needed
10
+ semi: false
11
+ singleQuote: true
12
+ tabWidth: 2
13
+ trailingComma: none
14
+ useTabs: false
@@ -0,0 +1,15 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Debug Local Action",
6
+ "type": "node",
7
+ "request": "launch",
8
+ "runtimeExecutable": "local-action",
9
+ "cwd": "${workspaceRoot}",
10
+ "args": [".", "src/main.ts", ".env"],
11
+ "console": "integratedTerminal",
12
+ "skipFiles": ["<node_internals>/**", "node_modules/**"]
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "servers": {
3
+ "github": {
4
+ "url": "https://api.githubcopilot.com/mcp/",
5
+ "type": "http"
6
+ }
7
+ },
8
+ "inputs": []
9
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "github.copilot.chat.reviewSelection.instructions": [
3
+ {
4
+ "text": "Review the code changes carefully before accepting them."
5
+ }
6
+ ],
7
+ "github.copilot.chat.commitMessageGeneration.instructions": [
8
+ {
9
+ "text": "Use conventional commit message format."
10
+ }
11
+ ],
12
+ "github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
13
+ { "text": "Always include a list of key changes." }
14
+ ]
15
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "tasks": [
4
+ {
5
+ "label": "Workspace: Lint",
6
+ "type": "shell",
7
+ "group": "test",
8
+ "command": "npx mega-linter-runner --flavor cupcake",
9
+ "options": {
10
+ "cwd": "${workspaceFolder}"
11
+ },
12
+ "problemMatcher": []
13
+ },
14
+ {
15
+ "label": "npm: Test",
16
+ "type": "shell",
17
+ "group": "test",
18
+ "command": "npm test",
19
+ "options": {
20
+ "cwd": "${workspaceFolder}"
21
+ }
22
+ },
23
+ {
24
+ "label": "npm: Lint",
25
+ "type": "shell",
26
+ "group": "test",
27
+ "command": "npm run lint",
28
+ "options": {
29
+ "cwd": "${workspaceFolder}"
30
+ }
31
+ },
32
+ {
33
+ "label": "npm: Format (Check)",
34
+ "group": "test",
35
+ "type": "shell",
36
+ "command": "npm run format:check",
37
+ "options": {
38
+ "cwd": "${workspaceFolder}"
39
+ }
40
+ },
41
+ {
42
+ "label": "npm: Format (Write)",
43
+ "group": "test",
44
+ "type": "shell",
45
+ "command": "npm run format:write",
46
+ "options": {
47
+ "cwd": "${workspaceFolder}"
48
+ }
49
+ }
50
+ ]
51
+ }
package/.yaml-lint.yml ADDED
@@ -0,0 +1,10 @@
1
+ rules:
2
+ document-end: disable
3
+ document-start:
4
+ level: warning
5
+ present: false
6
+ line-length:
7
+ level: warning
8
+ max: 80
9
+ allow-non-breakable-words: true
10
+ allow-non-breakable-inline-mappings: true
package/CHANGELOG.md ADDED
@@ -0,0 +1,75 @@
1
+ # Changelog
2
+
3
+ ## v7
4
+
5
+ Update support for each of the following packages to the latest versions:
6
+
7
+ - [`@actions/artifact`](https://www.npmjs.com/package/@actions/artifact):
8
+ `5.0.2`
9
+ - [`@actions/cache`](https://www.npmjs.com/package/@actions/cache): `5.0.3`
10
+ - [`@actions/core`](https://www.npmjs.com/package/@actions/core): `2.0.2`
11
+ - [`@actions/github`](https://www.npmjs.com/package/@actions/github): `7.0.0`
12
+
13
+ ## v6
14
+
15
+ Adds support for the `@actions/cache` package, allowing for local caching of
16
+ dependencies and other files between runs of a GitHub Action. This is achieved
17
+ by setting the `LOCAL_ACTION_CACHE_PATH` environment variable to a directory
18
+ where cache files will be stored.
19
+
20
+ For both `@actions/artifact` and `@actions/cache`, the `LOCAL_ACTION_WORKSPACE`
21
+ environment variable must be set. Otherwise, calling functions will throw an
22
+ error. Similarly, `@actions/artifact` requires the `LOCAL_ACTION_ARTIFACT_PATH`
23
+ environment variable to be set, and `@actions/cache` requires the
24
+ `LOCAL_ACTION_CACHE_PATH` environment variable to be set.
25
+
26
+ ## v5
27
+
28
+ Removes support for custom `paths` in the target action's `tsconfig.json`. This
29
+ appears to have been causing issues with type-stripping and later versions of
30
+ Node.js.
31
+
32
+ ## v4
33
+
34
+ This version adds support for
35
+ [`pre`](https://docs.github.com/en/actions/reference/metadata-syntax-for-github-actions#runspre)
36
+ and
37
+ [`post`](https://docs.github.com/en/actions/reference/metadata-syntax-for-github-actions#runspost)
38
+ scripts for actions. These should follow the same structure as the `run` action
39
+ code (see the
40
+ [`README.md`](https://github.com/github/local-action#action-structure) for more
41
+ details).
42
+
43
+ ## v3
44
+
45
+ This version adds **experimental** support for [pnpm](https://pnpm.io/) and
46
+ [yarn](https://yarnpkg.com/).
47
+
48
+ Depending on the package manager and version, the invocation of the `tsx`
49
+ command that drives `@github/local-action` is invoked differently.
50
+
51
+ | Package Manager | Version | Command |
52
+ | --------------- | ------- | ----------- |
53
+ | `npm` | Any | `npm exec` |
54
+ | `pnpm` | Any | `pnpm dlx` |
55
+ | `yarn` | `<= 3` | `yarn exec` |
56
+ | `yarn` | `>= 4` | `yarn dlx` |
57
+
58
+ Alongside this, yarn PnP support is implemented via
59
+ [unplugging](https://yarnpkg.com/cli/unplug) any modules stubbed by
60
+ `@github/local-action` and "re-plugging" after completion of the action run.
61
+
62
+ This support is still a work in progress. Any feedback or issues are welcome!
63
+
64
+ ## v2
65
+
66
+ As of version `2.0.0`, the `local-action` tool has been updated to require
67
+ **Node.js v20.6.0** or higher. This is necessary to support ESM loaders to
68
+ override dependencies in the GitHub Actions Toolkit.
69
+
70
+ ## v1
71
+
72
+ With the release of `v1.0.0`, there was a need to switch from
73
+ [`ts-node`](https://www.npmjs.com/package/ts-node) to
74
+ [`tsx`](https://www.npmjs.com/package/tsx). However, the bundled version of
75
+ `tsx` is being used, so you should no longer need to install either :grinning:
package/CODEOWNERS ADDED
@@ -0,0 +1,3 @@
1
+ # Repository CODEOWNERS
2
+
3
+ * @ncalteen
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of
9
+ experience, nationality, personal appearance, race, religion, or sexual identity
10
+ and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ - Using welcoming and inclusive language
18
+ - Being respectful of differing viewpoints and experiences
19
+ - Gracefully accepting constructive criticism
20
+ - Focusing on what is best for the community
21
+ - Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ - The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ - Trolling, insulting/derogatory comments, and personal or political attacks
28
+ - Public or private harassment
29
+ - Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ - Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or reject
41
+ comments, commits, code, wiki edits, issues, and other contributions that are
42
+ not aligned to this Code of Conduct, or to ban temporarily or permanently any
43
+ contributor for other behaviors that they deem inappropriate, threatening,
44
+ offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at
59
+ [opensource@github.com](mailto:opensource@github.com). All complaints will be
60
+ reviewed and investigated and will result in a response that is deemed necessary
61
+ and appropriate to the circumstances. The project team is obligated to maintain
62
+ confidentiality with regard to the reporter of an incident. Further details of
63
+ specific enforcement policies may be posted separately.
64
+
65
+ Project maintainers who do not follow or enforce the Code of Conduct in good
66
+ faith may face temporary or permanent repercussions as determined by other
67
+ members of the project's leadership.
68
+
69
+ ## Attribution
70
+
71
+ This Code of Conduct is adapted from the
72
+ [Contributor Covenant](http://contributor-covenant.org), version 1.4, available
73
+ at
74
+ [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/).