diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..0023691 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,41 @@ +{ + "name": "GitHub Actions (TypeScript)", + "image": "mcr.microsoft.com/devcontainers/typescript-node:20", + "postCreateCommand": "npm install", + "customizations": { + "codespaces": { + "openFiles": ["README.md"] + }, + "vscode": { + "extensions": [ + "bierner.markdown-preview-github-styles", + "davidanson.vscode-markdownlint", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "github.copilot", + "github.copilot-chat", + "github.vscode-github-actions", + "github.vscode-pull-request-github", + "me-dutour-mathieu.vscode-github-actions", + "redhat.vscode-yaml", + "rvest.vs-code-prettier-eslint", + "yzhang.markdown-all-in-one" + ], + "settings": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.tabSize": 2, + "editor.formatOnSave": true, + "markdown.extension.list.indentationSize": "adaptive", + "markdown.extension.italic.indicator": "_", + "markdown.extension.orderedList.marker": "one" + } + } + }, + "remoteEnv": { + "GITHUB_TOKEN": "${localEnv:GITHUB_TOKEN}" + }, + "features": { + "ghcr.io/devcontainers/features/github-cli:1": {}, + "ghcr.io/devcontainers-contrib/features/prettier:1": {} + } +} diff --git a/.gitattributes b/.gitattributes index 541fd55..6ba5456 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ -.licenses/** -diff linguist-generated=true \ No newline at end of file +* text=auto eol=lf + +dist/** -diff linguist-generated=true diff --git a/.gitignore b/.gitignore index 074ab52..80a8991 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,102 @@ -package-lock.json -node_modules \ No newline at end of file +# Dependency directory +node_modules + +# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# OS metadata +.DS_Store +Thumbs.db + +# Ignore built ts files +__tests__/runner/* + +# IDE files +.idea +*.code-workspace diff --git a/.licensed.yml b/.licensed.yml index 180cc58..91239ed 100644 --- a/.licensed.yml +++ b/.licensed.yml @@ -1,3 +1,5 @@ +# See: https://github.com/licensee/licensed/blob/main/docs/configuration.md + sources: npm: true @@ -8,9 +10,9 @@ allowed: - isc - mit - cc0-1.0 - - unlicense - - 0bsd + - other -reviewed: +ignored: npm: - - sax \ No newline at end of file + # Used by Rollup.js when building in GitHub Actions + - '@rollup/rollup-linux-x64-gnu' diff --git a/.markdown-lint.yml b/.markdown-lint.yml new file mode 100644 index 0000000..0f9e8be --- /dev/null +++ b/.markdown-lint.yml @@ -0,0 +1,24 @@ +# See: https://github.com/DavidAnson/markdownlint + +# Unordered list style +MD004: + style: dash + +# Disable line length for tables +MD013: + tables: false + +# Ordered list item prefix +MD029: + style: one + +# Spaces after list markers +MD030: + ul_single: 1 + ol_single: 1 + ul_multi: 1 + ol_multi: 1 + +# Code block style +MD046: + style: fenced diff --git a/.node-version b/.node-version new file mode 100644 index 0000000..f3f52b4 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +20.9.0 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..c6ad5ad --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +.DS_Store +.licenses/ +dist/ +node_modules/ +coverage/ diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index f6736bc..0000000 --- a/.prettierrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "printWidth": 80, - "tabWidth": 2, - "useTabs": false, - "semi": true, - "singleQuote": true, - "trailingComma": "none", - "bracketSpacing": false, - "arrowParens": "avoid", - "parser": "typescript" - } \ No newline at end of file diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 index 0000000..49c9385 --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,16 @@ +# See: https://prettier.io/docs/en/configuration + +printWidth: 80 +tabWidth: 2 +useTabs: false +semi: false +singleQuote: true +quoteProps: as-needed +jsxSingleQuote: false +trailingComma: none +bracketSpacing: true +bracketSameLine: true +arrowParens: always +proseWrap: always +htmlWhitespaceSensitivity: css +endOfLine: lf diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..74382d8 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Action", + "type": "node", + "request": "launch", + "runtimeExecutable": "npx", + "cwd": "${workspaceRoot}", + "args": ["local-action", ".", "src/main.ts", ".env"], + "console": "integratedTerminal", + "skipFiles": ["/**", "node_modules/**"] + } + ] +} diff --git a/.yaml-lint.yml b/.yaml-lint.yml new file mode 100644 index 0000000..f382152 --- /dev/null +++ b/.yaml-lint.yml @@ -0,0 +1,14 @@ +# See: https://yamllint.readthedocs.io/en/stable/ + +rules: + document-end: disable + document-start: + level: warning + present: false + line-length: + level: warning + max: 80 + allow-non-breakable-words: true + allow-non-breakable-inline-mappings: true +ignore: + - .licenses/ diff --git a/CODEOWNERS b/CODEOWNERS index 992d27f..da17f53 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1,7 @@ -* @actions/actions-runtime +############################################################################ +# Repository CODEOWNERS # +# Order is important! The last matching pattern takes the most precedence. # +############################################################################ + +# Default owners, unless a later match takes precedence. +* @actions/actions-oss-maintainers diff --git a/LICENSE b/LICENSE index a67dca8..5f9e342 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,6 @@ +MIT License -The MIT License (MIT) - -Copyright (c) 2018 GitHub, Inc. and contributors +Copyright GitHub Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file