mirror of
https://github.com/dkershner6/post-api-call-action.git
synced 2024-11-15 11:33:51 +08:00
chore: project created with projen
This commit is contained in:
parent
30ecd56ecf
commit
324f5343f2
235
.eslintrc.json
generated
Normal file
235
.eslintrc.json
generated
Normal file
@ -0,0 +1,235 @@
|
||||
// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
{
|
||||
"env": {
|
||||
"jest": true,
|
||||
"node": true
|
||||
},
|
||||
"root": true,
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"import"
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2018,
|
||||
"sourceType": "module",
|
||||
"project": "./tsconfig.dev.json"
|
||||
},
|
||||
"extends": [
|
||||
"plugin:import/typescript"
|
||||
],
|
||||
"settings": {
|
||||
"import/parsers": {
|
||||
"@typescript-eslint/parser": [
|
||||
".ts",
|
||||
".tsx"
|
||||
]
|
||||
},
|
||||
"import/resolver": {
|
||||
"node": {},
|
||||
"typescript": {
|
||||
"project": "./tsconfig.dev.json",
|
||||
"alwaysTryTypes": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ignorePatterns": [
|
||||
"*.js",
|
||||
"*.d.ts",
|
||||
"node_modules/",
|
||||
"*.generated.ts",
|
||||
"coverage",
|
||||
"!.projenrc.ts",
|
||||
"!projenrc/**/*.ts"
|
||||
],
|
||||
"rules": {
|
||||
"indent": [
|
||||
"off"
|
||||
],
|
||||
"@typescript-eslint/indent": [
|
||||
"error",
|
||||
2
|
||||
],
|
||||
"quotes": [
|
||||
"error",
|
||||
"single",
|
||||
{
|
||||
"avoidEscape": true
|
||||
}
|
||||
],
|
||||
"comma-dangle": [
|
||||
"error",
|
||||
"always-multiline"
|
||||
],
|
||||
"comma-spacing": [
|
||||
"error",
|
||||
{
|
||||
"before": false,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"no-multi-spaces": [
|
||||
"error",
|
||||
{
|
||||
"ignoreEOLComments": false
|
||||
}
|
||||
],
|
||||
"array-bracket-spacing": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"array-bracket-newline": [
|
||||
"error",
|
||||
"consistent"
|
||||
],
|
||||
"object-curly-spacing": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"object-curly-newline": [
|
||||
"error",
|
||||
{
|
||||
"multiline": true,
|
||||
"consistent": true
|
||||
}
|
||||
],
|
||||
"object-property-newline": [
|
||||
"error",
|
||||
{
|
||||
"allowAllPropertiesOnSameLine": true
|
||||
}
|
||||
],
|
||||
"keyword-spacing": [
|
||||
"error"
|
||||
],
|
||||
"brace-style": [
|
||||
"error",
|
||||
"1tbs",
|
||||
{
|
||||
"allowSingleLine": true
|
||||
}
|
||||
],
|
||||
"space-before-blocks": [
|
||||
"error"
|
||||
],
|
||||
"curly": [
|
||||
"error",
|
||||
"multi-line",
|
||||
"consistent"
|
||||
],
|
||||
"@typescript-eslint/member-delimiter-style": [
|
||||
"error"
|
||||
],
|
||||
"semi": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"max-len": [
|
||||
"error",
|
||||
{
|
||||
"code": 150,
|
||||
"ignoreUrls": true,
|
||||
"ignoreStrings": true,
|
||||
"ignoreTemplateLiterals": true,
|
||||
"ignoreComments": true,
|
||||
"ignoreRegExpLiterals": true
|
||||
}
|
||||
],
|
||||
"quote-props": [
|
||||
"error",
|
||||
"consistent-as-needed"
|
||||
],
|
||||
"@typescript-eslint/no-require-imports": [
|
||||
"error"
|
||||
],
|
||||
"import/no-extraneous-dependencies": [
|
||||
"error",
|
||||
{
|
||||
"devDependencies": [
|
||||
"**/test/**",
|
||||
"**/build-tools/**",
|
||||
".projenrc.ts",
|
||||
"projenrc/**/*.ts"
|
||||
],
|
||||
"optionalDependencies": false,
|
||||
"peerDependencies": true
|
||||
}
|
||||
],
|
||||
"import/no-unresolved": [
|
||||
"error"
|
||||
],
|
||||
"import/order": [
|
||||
"warn",
|
||||
{
|
||||
"groups": [
|
||||
"builtin",
|
||||
"external"
|
||||
],
|
||||
"alphabetize": {
|
||||
"order": "asc",
|
||||
"caseInsensitive": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"no-duplicate-imports": [
|
||||
"error"
|
||||
],
|
||||
"no-shadow": [
|
||||
"off"
|
||||
],
|
||||
"@typescript-eslint/no-shadow": [
|
||||
"error"
|
||||
],
|
||||
"key-spacing": [
|
||||
"error"
|
||||
],
|
||||
"no-multiple-empty-lines": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/no-floating-promises": [
|
||||
"error"
|
||||
],
|
||||
"no-return-await": [
|
||||
"off"
|
||||
],
|
||||
"@typescript-eslint/return-await": [
|
||||
"error"
|
||||
],
|
||||
"no-trailing-spaces": [
|
||||
"error"
|
||||
],
|
||||
"dot-notation": [
|
||||
"error"
|
||||
],
|
||||
"no-bitwise": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/member-ordering": [
|
||||
"error",
|
||||
{
|
||||
"default": [
|
||||
"public-static-field",
|
||||
"public-static-method",
|
||||
"protected-static-field",
|
||||
"protected-static-method",
|
||||
"private-static-field",
|
||||
"private-static-method",
|
||||
"field",
|
||||
"constructor",
|
||||
"method"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
".projenrc.ts"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-require-imports": "off",
|
||||
"import/no-extraneous-dependencies": "off"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
24
.gitattributes
generated
vendored
Normal file
24
.gitattributes
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
|
||||
*.snap linguist-generated
|
||||
/.eslintrc.json linguist-generated
|
||||
/.gitattributes linguist-generated
|
||||
/.github/pull_request_template.md linguist-generated
|
||||
/.github/workflows/build.yml linguist-generated
|
||||
/.github/workflows/pull-request-lint.yml linguist-generated
|
||||
/.github/workflows/release.yml linguist-generated
|
||||
/.github/workflows/upgrade-main.yml linguist-generated
|
||||
/.gitignore linguist-generated
|
||||
/.mergify.yml linguist-generated
|
||||
/.npmignore linguist-generated
|
||||
/.projen/** linguist-generated
|
||||
/.projen/deps.json linguist-generated
|
||||
/.projen/files.json linguist-generated
|
||||
/.projen/tasks.json linguist-generated
|
||||
/action.yml linguist-generated
|
||||
/dist/** linguist-generated
|
||||
/LICENSE linguist-generated
|
||||
/package.json linguist-generated
|
||||
/tsconfig.dev.json linguist-generated
|
||||
/tsconfig.json linguist-generated
|
||||
/yarn.lock linguist-generated
|
1
.github/pull_request_template.md
generated
vendored
Normal file
1
.github/pull_request_template.md
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
Fixes #
|
73
.github/workflows/build.yml
generated
vendored
Normal file
73
.github/workflows/build.yml
generated
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
|
||||
name: build
|
||||
on:
|
||||
pull_request: {}
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
outputs:
|
||||
self_mutation_happened: ${{ steps.self_mutation.outputs.self_mutation_happened }}
|
||||
env:
|
||||
CI: "true"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
- name: Install dependencies
|
||||
run: yarn install --check-files
|
||||
- name: build
|
||||
run: npx projen build
|
||||
- name: Find mutations
|
||||
id: self_mutation
|
||||
run: |-
|
||||
git add .
|
||||
git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT
|
||||
- name: Upload patch
|
||||
if: steps.self_mutation.outputs.self_mutation_happened
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: .repo.patch
|
||||
- name: Fail build on mutation
|
||||
if: steps.self_mutation.outputs.self_mutation_happened
|
||||
run: |-
|
||||
echo "::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch."
|
||||
cat .repo.patch
|
||||
exit 1
|
||||
self-mutation:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
if: always() && needs.build.outputs.self_mutation_happened && !(github.event.pull_request.head.repo.full_name != github.repository)
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
- name: Download patch
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: ${{ runner.temp }}
|
||||
- name: Apply patch
|
||||
run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."'
|
||||
- name: Set git identity
|
||||
run: |-
|
||||
git config user.name "github-actions"
|
||||
git config user.email "github-actions@github.com"
|
||||
- name: Push changes
|
||||
env:
|
||||
PULL_REQUEST_REF: ${{ github.event.pull_request.head.ref }}
|
||||
run: |-
|
||||
git add .
|
||||
git commit -s -m "chore: self mutation"
|
||||
git push origin HEAD:$PULL_REQUEST_REF
|
29
.github/workflows/pull-request-lint.yml
generated
vendored
Normal file
29
.github/workflows/pull-request-lint.yml
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
|
||||
name: pull-request-lint
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- labeled
|
||||
- opened
|
||||
- synchronize
|
||||
- reopened
|
||||
- ready_for_review
|
||||
- edited
|
||||
jobs:
|
||||
validate:
|
||||
name: Validate PR title
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@v5.0.2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
types: |-
|
||||
feat
|
||||
fix
|
||||
chore
|
||||
requireScope: false
|
||||
githubBaseUrl: ${{ github.api_url }}
|
68
.github/workflows/release.yml
generated
vendored
Normal file
68
.github/workflows/release.yml
generated
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
|
||||
name: release
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
outputs:
|
||||
latest_commit: ${{ steps.git_remote.outputs.latest_commit }}
|
||||
env:
|
||||
CI: "true"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set git identity
|
||||
run: |-
|
||||
git config user.name "github-actions"
|
||||
git config user.email "github-actions@github.com"
|
||||
- name: Install dependencies
|
||||
run: yarn install --check-files --frozen-lockfile
|
||||
- name: release
|
||||
run: npx projen release
|
||||
- name: Check for new commits
|
||||
id: git_remote
|
||||
run: echo "latest_commit=$(git ls-remote origin -h ${{ github.ref }} | cut -f1)" >> $GITHUB_OUTPUT
|
||||
- name: Backup artifact permissions
|
||||
if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
|
||||
run: cd dist && getfacl -R . > permissions-backup.acl
|
||||
continue-on-error: true
|
||||
- name: Upload artifact
|
||||
if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-artifact
|
||||
path: dist
|
||||
release_github:
|
||||
name: Publish to GitHub Releases
|
||||
needs: release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
if: needs.release.outputs.latest_commit == github.sha
|
||||
steps:
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.x
|
||||
- name: Download build artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: build-artifact
|
||||
path: dist
|
||||
- name: Restore build artifact permissions
|
||||
run: cd dist && setfacl --restore=permissions-backup.acl
|
||||
continue-on-error: true
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||
GITHUB_REF: ${{ github.ref }}
|
||||
run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
|
86
.github/workflows/upgrade-main.yml
generated
vendored
Normal file
86
.github/workflows/upgrade-main.yml
generated
vendored
Normal file
@ -0,0 +1,86 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
|
||||
name: upgrade-main
|
||||
on:
|
||||
workflow_dispatch: {}
|
||||
schedule:
|
||||
- cron: 0 0 * * *
|
||||
jobs:
|
||||
upgrade:
|
||||
name: Upgrade
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
outputs:
|
||||
patch_created: ${{ steps.create_patch.outputs.patch_created }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: main
|
||||
- name: Install dependencies
|
||||
run: yarn install --check-files --frozen-lockfile
|
||||
- name: Upgrade dependencies
|
||||
run: npx projen upgrade
|
||||
- name: Find mutations
|
||||
id: create_patch
|
||||
run: |-
|
||||
git add .
|
||||
git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT
|
||||
- name: Upload patch
|
||||
if: steps.create_patch.outputs.patch_created
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: .repo.patch
|
||||
pr:
|
||||
name: Create Pull Request
|
||||
needs: upgrade
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
if: ${{ needs.upgrade.outputs.patch_created }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: main
|
||||
- name: Download patch
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: ${{ runner.temp }}
|
||||
- name: Apply patch
|
||||
run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."'
|
||||
- name: Set git identity
|
||||
run: |-
|
||||
git config user.name "github-actions"
|
||||
git config user.email "github-actions@github.com"
|
||||
- name: Create Pull Request
|
||||
id: create-pr
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
|
||||
commit-message: |-
|
||||
chore(deps): upgrade dependencies
|
||||
|
||||
Upgrades project dependencies. See details in [workflow run].
|
||||
|
||||
[Workflow Run]: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
------
|
||||
|
||||
*Automatically created by projen via the "upgrade-main" workflow*
|
||||
branch: github-actions/upgrade-main
|
||||
title: "chore(deps): upgrade dependencies"
|
||||
body: |-
|
||||
Upgrades project dependencies. See details in [workflow run].
|
||||
|
||||
[Workflow Run]: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
------
|
||||
|
||||
*Automatically created by projen via the "upgrade-main" workflow*
|
||||
author: github-actions <github-actions@github.com>
|
||||
committer: github-actions <github-actions@github.com>
|
||||
signoff: true
|
104
.gitignore
generated
vendored
104
.gitignore
generated
vendored
@ -1,99 +1,49 @@
|
||||
# Dependency directory
|
||||
node_modules
|
||||
|
||||
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
|
||||
# Logs
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
!/.gitattributes
|
||||
!/.projen/tasks.json
|
||||
!/.projen/deps.json
|
||||
!/.projen/files.json
|
||||
!/.github/workflows/pull-request-lint.yml
|
||||
!/package.json
|
||||
!/LICENSE
|
||||
!/.npmignore
|
||||
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
|
||||
node_modules/
|
||||
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/*
|
||||
lib/**/*
|
||||
!/.projenrc.js
|
||||
/test-reports/
|
||||
junit.xml
|
||||
/coverage/
|
||||
!/.github/workflows/build.yml
|
||||
!/.github/workflows/release.yml
|
||||
!/.mergify.yml
|
||||
!/.github/workflows/upgrade-main.yml
|
||||
!/.github/pull_request_template.md
|
||||
!/test/
|
||||
!/tsconfig.json
|
||||
!/tsconfig.dev.json
|
||||
!/src/
|
||||
/lib
|
||||
!/.eslintrc.json
|
||||
!/dist/
|
||||
!/action.yml
|
||||
|
24
.mergify.yml
generated
Normal file
24
.mergify.yml
generated
Normal file
@ -0,0 +1,24 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
|
||||
queue_rules:
|
||||
- name: default
|
||||
update_method: merge
|
||||
conditions:
|
||||
- "#approved-reviews-by>=1"
|
||||
- -label~=(do-not-merge)
|
||||
- status-success=build
|
||||
pull_request_rules:
|
||||
- name: Automatic merge on approval and successful build
|
||||
actions:
|
||||
delete_head_branch: {}
|
||||
queue:
|
||||
method: squash
|
||||
name: default
|
||||
commit_message_template: |-
|
||||
{{ title }} (#{{ number }})
|
||||
|
||||
{{ body }}
|
||||
conditions:
|
||||
- "#approved-reviews-by>=1"
|
||||
- -label~=(do-not-merge)
|
||||
- status-success=build
|
23
.npmignore
generated
Normal file
23
.npmignore
generated
Normal file
@ -0,0 +1,23 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
/.projen/
|
||||
/test-reports/
|
||||
junit.xml
|
||||
/coverage/
|
||||
permissions-backup.acl
|
||||
/dist/changelog.md
|
||||
/dist/version.txt
|
||||
/.mergify.yml
|
||||
/test/
|
||||
/tsconfig.dev.json
|
||||
/src/
|
||||
!/lib/
|
||||
!/lib/**/*.js
|
||||
!/lib/**/*.d.ts
|
||||
dist
|
||||
/tsconfig.json
|
||||
/.github/
|
||||
/.vscode/
|
||||
/.idea/
|
||||
/.projenrc.js
|
||||
tsconfig.tsbuildinfo
|
||||
/.eslintrc.json
|
99
.old/.gitignore
vendored
Normal file
99
.old/.gitignore
vendored
Normal file
@ -0,0 +1,99 @@
|
||||
# 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/*
|
||||
lib/**/*
|
22
.old/LICENSE
Normal file
22
.old/LICENSE
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018 GitHub, Inc. and contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
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 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.
|
38
.old/README.md
Normal file
38
.old/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
# webhook-action
|
||||
|
||||
GitHub Action that sends a POST request of any kind. This is a thin wrapper around Axios.post.
|
||||
|
||||
## Inputs
|
||||
|
||||
### `url`
|
||||
|
||||
**Required**: URL to send post request to.
|
||||
|
||||
### `data`
|
||||
|
||||
Optional: JSON string of data to pass into request. Default `"{}"`.
|
||||
|
||||
### `headers`
|
||||
|
||||
Optional: JSON string of headers to pass into request. Default `"{}"`.
|
||||
|
||||
### `params`
|
||||
|
||||
Optional: JSON string of query parameters to pass into request. Default `"{}"`.
|
||||
|
||||
|
||||
## Example usage
|
||||
|
||||
```yaml
|
||||
uses: dkershner6/post-api-call-action@v1
|
||||
with:
|
||||
url: ${{ secrets.API_URL }}
|
||||
data: "{\"command\": \"publish\"}"
|
||||
headers: "{\"Authorization\": \"Bearer ${{ secrets.API_KEY }}\"}"
|
||||
params: "{\"content\": \"Test Content\"}"
|
||||
```
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
Feel free to open issues or submit PRs.
|
25
.old/action.yml
Normal file
25
.old/action.yml
Normal file
@ -0,0 +1,25 @@
|
||||
name: 'POST API Call Action'
|
||||
description: 'Send a POST request'
|
||||
author: 'Derek Kershner'
|
||||
branding:
|
||||
icon: 'phone'
|
||||
color: 'orange'
|
||||
inputs:
|
||||
url:
|
||||
description: 'URL to send post request to'
|
||||
required: true
|
||||
data:
|
||||
description: 'JSON string of data to pass into request'
|
||||
default: '{}'
|
||||
required: false
|
||||
headers:
|
||||
description: 'JSON string of headers to pass into request'
|
||||
default: '{}'
|
||||
required: false
|
||||
params:
|
||||
description: 'JSON string of query parameters to pass into request'
|
||||
default: '{}'
|
||||
required: false
|
||||
runs:
|
||||
using: 'node16'
|
||||
main: 'dist/index.js'
|
0
dist/index.js → .old/dist/index.js
vendored
0
dist/index.js → .old/dist/index.js
vendored
0
package-lock.json → .old/package-lock.json
generated
0
package-lock.json → .old/package-lock.json
generated
46
.old/package.json
Normal file
46
.old/package.json
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "post-api-call-action",
|
||||
"version": "1.1.0",
|
||||
"private": true,
|
||||
"description": "Send a POST request action",
|
||||
"main": "lib/main.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"format": "prettier --write **/*.ts",
|
||||
"format-check": "prettier --check **/*.ts",
|
||||
"lint": "eslint src/**/*.ts",
|
||||
"pack": "ncc build",
|
||||
"test": "jest --passWithNoTests",
|
||||
"all": "npm run build && npm run format && npm run lint && npm run pack && npm test"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/dkershner6/post-api-call-action.git"
|
||||
},
|
||||
"keywords": [
|
||||
"actions",
|
||||
"node",
|
||||
"setup"
|
||||
],
|
||||
"author": "Derek Kershner",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.3.0",
|
||||
"axios": "^0.21.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^26.0.23",
|
||||
"@types/node": "^15.6.0",
|
||||
"@typescript-eslint/parser": "^4.24.0",
|
||||
"@vercel/ncc": "^0.28.5",
|
||||
"eslint": "^7.26.0",
|
||||
"eslint-plugin-github": "^4.1.3",
|
||||
"eslint-plugin-jest": "^24.3.6",
|
||||
"jest": "^26.6.3",
|
||||
"jest-circus": "^26.6.3",
|
||||
"js-yaml": "^4.1.0",
|
||||
"prettier": "^2.3.0",
|
||||
"ts-jest": "^26.5.6",
|
||||
"typescript": "^4.2.4"
|
||||
}
|
||||
}
|
12
.old/tsconfig.json
Normal file
12
.old/tsconfig.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||
"outDir": "./lib", /* Redirect output structure to the directory. */
|
||||
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||
},
|
||||
"exclude": ["node_modules", "**/*.test.ts"]
|
||||
}
|
88
.projen/deps.json
generated
Normal file
88
.projen/deps.json
generated
Normal file
@ -0,0 +1,88 @@
|
||||
{
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "@types/jest",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "@types/node",
|
||||
"version": "^18",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "@typescript-eslint/eslint-plugin",
|
||||
"version": "^6",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "@typescript-eslint/parser",
|
||||
"version": "^6",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "@vercel/ncc",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "constructs",
|
||||
"version": "^10.0.0",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "eslint-import-resolver-typescript",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "eslint-plugin-import",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "eslint",
|
||||
"version": "^8",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "jest",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "jest-junit",
|
||||
"version": "^15",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "projen",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "projen-github-action-typescript",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "standard-version",
|
||||
"version": "^9",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "ts-jest",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "ts-node",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "typescript",
|
||||
"type": "build"
|
||||
},
|
||||
{
|
||||
"name": "@actions/core",
|
||||
"type": "runtime"
|
||||
},
|
||||
{
|
||||
"name": "@actions/github",
|
||||
"type": "runtime"
|
||||
}
|
||||
],
|
||||
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
||||
}
|
22
.projen/files.json
generated
Normal file
22
.projen/files.json
generated
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"files": [
|
||||
".eslintrc.json",
|
||||
".gitattributes",
|
||||
".github/pull_request_template.md",
|
||||
".github/workflows/build.yml",
|
||||
".github/workflows/pull-request-lint.yml",
|
||||
".github/workflows/release.yml",
|
||||
".github/workflows/upgrade-main.yml",
|
||||
".gitignore",
|
||||
".mergify.yml",
|
||||
".npmignore",
|
||||
".projen/deps.json",
|
||||
".projen/files.json",
|
||||
".projen/tasks.json",
|
||||
"action.yml",
|
||||
"LICENSE",
|
||||
"tsconfig.dev.json",
|
||||
"tsconfig.json"
|
||||
],
|
||||
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
||||
}
|
254
.projen/tasks.json
generated
Normal file
254
.projen/tasks.json
generated
Normal file
@ -0,0 +1,254 @@
|
||||
{
|
||||
"tasks": {
|
||||
"build": {
|
||||
"name": "build",
|
||||
"description": "Full release build",
|
||||
"steps": [
|
||||
{
|
||||
"spawn": "default"
|
||||
},
|
||||
{
|
||||
"spawn": "pre-compile"
|
||||
},
|
||||
{
|
||||
"spawn": "compile"
|
||||
},
|
||||
{
|
||||
"spawn": "post-compile"
|
||||
},
|
||||
{
|
||||
"spawn": "test"
|
||||
},
|
||||
{
|
||||
"spawn": "package"
|
||||
}
|
||||
]
|
||||
},
|
||||
"bump": {
|
||||
"name": "bump",
|
||||
"description": "Bumps version based on latest git tag and generates a changelog entry",
|
||||
"env": {
|
||||
"OUTFILE": "package.json",
|
||||
"CHANGELOG": "dist/changelog.md",
|
||||
"BUMPFILE": "dist/version.txt",
|
||||
"RELEASETAG": "dist/releasetag.txt",
|
||||
"RELEASE_TAG_PREFIX": ""
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"builtin": "release/bump-version"
|
||||
}
|
||||
],
|
||||
"condition": "! git log --oneline -1 | grep -q \"chore(release):\""
|
||||
},
|
||||
"clobber": {
|
||||
"name": "clobber",
|
||||
"description": "hard resets to HEAD of origin and cleans the local repo",
|
||||
"env": {
|
||||
"BRANCH": "$(git branch --show-current)"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"exec": "git checkout -b scratch",
|
||||
"name": "save current HEAD in \"scratch\" branch"
|
||||
},
|
||||
{
|
||||
"exec": "git checkout $BRANCH"
|
||||
},
|
||||
{
|
||||
"exec": "git fetch origin",
|
||||
"name": "fetch latest changes from origin"
|
||||
},
|
||||
{
|
||||
"exec": "git reset --hard origin/$BRANCH",
|
||||
"name": "hard reset to origin commit"
|
||||
},
|
||||
{
|
||||
"exec": "git clean -fdx",
|
||||
"name": "clean all untracked files"
|
||||
},
|
||||
{
|
||||
"say": "ready to rock! (unpushed commits are under the \"scratch\" branch)"
|
||||
}
|
||||
],
|
||||
"condition": "git diff --exit-code > /dev/null"
|
||||
},
|
||||
"compile": {
|
||||
"name": "compile",
|
||||
"description": "Only compile",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "tsc --build"
|
||||
}
|
||||
]
|
||||
},
|
||||
"default": {
|
||||
"name": "default",
|
||||
"description": "Synthesize project files",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "ts-node --project tsconfig.dev.json .projenrc.ts"
|
||||
}
|
||||
]
|
||||
},
|
||||
"eject": {
|
||||
"name": "eject",
|
||||
"description": "Remove projen from the project",
|
||||
"env": {
|
||||
"PROJEN_EJECTING": "true"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"spawn": "default"
|
||||
}
|
||||
]
|
||||
},
|
||||
"eslint": {
|
||||
"name": "eslint",
|
||||
"description": "Runs eslint against the codebase",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern src test build-tools projenrc .projenrc.ts"
|
||||
}
|
||||
]
|
||||
},
|
||||
"install": {
|
||||
"name": "install",
|
||||
"description": "Install project dependencies and update lockfile (non-frozen)",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "yarn install --check-files"
|
||||
}
|
||||
]
|
||||
},
|
||||
"install:ci": {
|
||||
"name": "install:ci",
|
||||
"description": "Install project dependencies using frozen lockfile",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "yarn install --check-files --frozen-lockfile"
|
||||
}
|
||||
]
|
||||
},
|
||||
"package": {
|
||||
"name": "package",
|
||||
"description": "Creates the distribution package",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "ncc build --source-map --license licenses.txt"
|
||||
}
|
||||
]
|
||||
},
|
||||
"post-compile": {
|
||||
"name": "post-compile",
|
||||
"description": "Runs after successful compilation"
|
||||
},
|
||||
"post-upgrade": {
|
||||
"name": "post-upgrade",
|
||||
"description": "Runs after upgrading dependencies"
|
||||
},
|
||||
"pre-compile": {
|
||||
"name": "pre-compile",
|
||||
"description": "Prepare the project for compilation"
|
||||
},
|
||||
"release": {
|
||||
"name": "release",
|
||||
"description": "Prepare a release from \"main\" branch",
|
||||
"env": {
|
||||
"RELEASE": "true"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"exec": "rm -fr dist"
|
||||
},
|
||||
{
|
||||
"spawn": "bump"
|
||||
},
|
||||
{
|
||||
"spawn": "build"
|
||||
},
|
||||
{
|
||||
"spawn": "unbump"
|
||||
},
|
||||
{
|
||||
"exec": "git diff --ignore-space-at-eol --exit-code"
|
||||
}
|
||||
]
|
||||
},
|
||||
"test": {
|
||||
"name": "test",
|
||||
"description": "Run tests",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "jest --passWithNoTests --updateSnapshot",
|
||||
"receiveArgs": true
|
||||
},
|
||||
{
|
||||
"spawn": "eslint"
|
||||
}
|
||||
]
|
||||
},
|
||||
"test:watch": {
|
||||
"name": "test:watch",
|
||||
"description": "Run jest in watch mode",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "jest --watch"
|
||||
}
|
||||
]
|
||||
},
|
||||
"unbump": {
|
||||
"name": "unbump",
|
||||
"description": "Restores version to 0.0.0",
|
||||
"env": {
|
||||
"OUTFILE": "package.json",
|
||||
"CHANGELOG": "dist/changelog.md",
|
||||
"BUMPFILE": "dist/version.txt",
|
||||
"RELEASETAG": "dist/releasetag.txt",
|
||||
"RELEASE_TAG_PREFIX": ""
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"builtin": "release/reset-version"
|
||||
}
|
||||
]
|
||||
},
|
||||
"upgrade": {
|
||||
"name": "upgrade",
|
||||
"description": "upgrade dependencies",
|
||||
"env": {
|
||||
"CI": "0"
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,@vercel/ncc,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,projen,projen-github-action-typescript,standard-version,ts-jest,ts-node,typescript,@actions/core,@actions/github"
|
||||
},
|
||||
{
|
||||
"exec": "yarn install --check-files"
|
||||
},
|
||||
{
|
||||
"exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser @vercel/ncc constructs eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit projen projen-github-action-typescript standard-version ts-jest ts-node typescript @actions/core @actions/github"
|
||||
},
|
||||
{
|
||||
"exec": "npx projen"
|
||||
},
|
||||
{
|
||||
"spawn": "post-upgrade"
|
||||
}
|
||||
]
|
||||
},
|
||||
"watch": {
|
||||
"name": "watch",
|
||||
"description": "Watch & compile in the background",
|
||||
"steps": [
|
||||
{
|
||||
"exec": "tsc --build -w"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"env": {
|
||||
"PATH": "$(npx -c \"node --print process.env.PATH\")"
|
||||
},
|
||||
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
||||
}
|
12
.projenrc.ts
Normal file
12
.projenrc.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { GitHubActionTypeScriptProject } from 'projen-github-action-typescript';
|
||||
const project = new GitHubActionTypeScriptProject({
|
||||
defaultReleaseBranch: 'main',
|
||||
devDeps: ['projen-github-action-typescript'],
|
||||
name: 'post-api-call-action',
|
||||
projenrcTs: true,
|
||||
|
||||
// deps: [], /* Runtime dependencies of this module. */
|
||||
// description: undefined, /* The description is just a string that helps people understand the purpose of the package. */
|
||||
// packageName: undefined, /* The "name" in package.json. */
|
||||
});
|
||||
project.synth();
|
214
LICENSE
generated
214
LICENSE
generated
@ -1,22 +1,202 @@
|
||||
|
||||
The MIT License (MIT)
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
Copyright (c) 2018 GitHub, Inc. and contributors
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
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:
|
||||
1. Definitions.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
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.
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
39
README.md
39
README.md
@ -1,38 +1 @@
|
||||
# webhook-action
|
||||
|
||||
GitHub Action that sends a POST request of any kind. This is a thin wrapper around Axios.post.
|
||||
|
||||
## Inputs
|
||||
|
||||
### `url`
|
||||
|
||||
**Required**: URL to send post request to.
|
||||
|
||||
### `data`
|
||||
|
||||
Optional: JSON string of data to pass into request. Default `"{}"`.
|
||||
|
||||
### `headers`
|
||||
|
||||
Optional: JSON string of headers to pass into request. Default `"{}"`.
|
||||
|
||||
### `params`
|
||||
|
||||
Optional: JSON string of query parameters to pass into request. Default `"{}"`.
|
||||
|
||||
|
||||
## Example usage
|
||||
|
||||
```yaml
|
||||
uses: dkershner6/post-api-call-action@v1
|
||||
with:
|
||||
url: ${{ secrets.API_URL }}
|
||||
data: "{\"command\": \"publish\"}"
|
||||
headers: "{\"Authorization\": \"Bearer ${{ secrets.API_KEY }}\"}"
|
||||
params: "{\"content\": \"Test Content\"}"
|
||||
```
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
Feel free to open issues or submit PRs.
|
||||
# replace this
|
30
action.yml
generated
30
action.yml
generated
@ -1,25 +1,7 @@
|
||||
name: 'POST API Call Action'
|
||||
description: 'Send a POST request'
|
||||
author: 'Derek Kershner'
|
||||
branding:
|
||||
icon: 'phone'
|
||||
color: 'orange'
|
||||
inputs:
|
||||
url:
|
||||
description: 'URL to send post request to'
|
||||
required: true
|
||||
data:
|
||||
description: 'JSON string of data to pass into request'
|
||||
default: '{}'
|
||||
required: false
|
||||
headers:
|
||||
description: 'JSON string of headers to pass into request'
|
||||
default: '{}'
|
||||
required: false
|
||||
params:
|
||||
description: 'JSON string of query parameters to pass into request'
|
||||
default: '{}'
|
||||
required: false
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
|
||||
name: post-api-call-action
|
||||
description: A GitHub Action for post-api-call-action
|
||||
runs:
|
||||
using: 'node16'
|
||||
main: 'dist/index.js'
|
||||
using: node16
|
||||
main: dist/index.js
|
||||
|
127
package.json
generated
127
package.json
generated
@ -1,46 +1,93 @@
|
||||
{
|
||||
"name": "post-api-call-action",
|
||||
"version": "1.1.0",
|
||||
"private": true,
|
||||
"description": "Send a POST request action",
|
||||
"main": "lib/main.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"format": "prettier --write **/*.ts",
|
||||
"format-check": "prettier --check **/*.ts",
|
||||
"lint": "eslint src/**/*.ts",
|
||||
"pack": "ncc build",
|
||||
"test": "jest --passWithNoTests",
|
||||
"all": "npm run build && npm run format && npm run lint && npm run pack && npm test"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/dkershner6/post-api-call-action.git"
|
||||
},
|
||||
"keywords": [
|
||||
"actions",
|
||||
"node",
|
||||
"setup"
|
||||
],
|
||||
"author": "Derek Kershner",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.3.0",
|
||||
"axios": "^0.21.1"
|
||||
"build": "npx projen build",
|
||||
"bump": "npx projen bump",
|
||||
"clobber": "npx projen clobber",
|
||||
"compile": "npx projen compile",
|
||||
"default": "npx projen default",
|
||||
"eject": "npx projen eject",
|
||||
"eslint": "npx projen eslint",
|
||||
"package": "npx projen package",
|
||||
"post-compile": "npx projen post-compile",
|
||||
"post-upgrade": "npx projen post-upgrade",
|
||||
"pre-compile": "npx projen pre-compile",
|
||||
"release": "npx projen release",
|
||||
"test": "npx projen test",
|
||||
"test:watch": "npx projen test:watch",
|
||||
"unbump": "npx projen unbump",
|
||||
"upgrade": "npx projen upgrade",
|
||||
"watch": "npx projen watch",
|
||||
"projen": "npx projen"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^26.0.23",
|
||||
"@types/node": "^15.6.0",
|
||||
"@typescript-eslint/parser": "^4.24.0",
|
||||
"@vercel/ncc": "^0.28.5",
|
||||
"eslint": "^7.26.0",
|
||||
"eslint-plugin-github": "^4.1.3",
|
||||
"eslint-plugin-jest": "^24.3.6",
|
||||
"jest": "^26.6.3",
|
||||
"jest-circus": "^26.6.3",
|
||||
"js-yaml": "^4.1.0",
|
||||
"prettier": "^2.3.0",
|
||||
"ts-jest": "^26.5.6",
|
||||
"typescript": "^4.2.4"
|
||||
}
|
||||
"@types/jest": "^29.5.11",
|
||||
"@types/node": "^18",
|
||||
"@typescript-eslint/eslint-plugin": "^6",
|
||||
"@typescript-eslint/parser": "^6",
|
||||
"@vercel/ncc": "^0.38.1",
|
||||
"constructs": "^10.0.0",
|
||||
"eslint": "^8",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"jest": "^29.7.0",
|
||||
"jest-junit": "^15",
|
||||
"projen": "^0.78.5",
|
||||
"projen-github-action-typescript": "^0.0.395",
|
||||
"standard-version": "^9",
|
||||
"ts-jest": "^29.1.1",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.1",
|
||||
"@actions/github": "^6.0.0"
|
||||
},
|
||||
"main": "lib/index.js",
|
||||
"license": "Apache-2.0",
|
||||
"version": "0.0.0",
|
||||
"jest": {
|
||||
"testMatch": [
|
||||
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|
||||
"<rootDir>/(test|src)/**/*(*.)@(spec|test).ts?(x)"
|
||||
],
|
||||
"clearMocks": true,
|
||||
"collectCoverage": true,
|
||||
"coverageReporters": [
|
||||
"json",
|
||||
"lcov",
|
||||
"clover",
|
||||
"cobertura",
|
||||
"text"
|
||||
],
|
||||
"coverageDirectory": "coverage",
|
||||
"coveragePathIgnorePatterns": [
|
||||
"/node_modules/"
|
||||
],
|
||||
"testPathIgnorePatterns": [
|
||||
"/node_modules/"
|
||||
],
|
||||
"watchPathIgnorePatterns": [
|
||||
"/node_modules/"
|
||||
],
|
||||
"reporters": [
|
||||
"default",
|
||||
[
|
||||
"jest-junit",
|
||||
{
|
||||
"outputDirectory": "test-reports"
|
||||
}
|
||||
]
|
||||
],
|
||||
"transform": {
|
||||
"^.+\\.[t]sx?$": [
|
||||
"ts-jest",
|
||||
{
|
||||
"tsconfig": "tsconfig.dev.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"types": "lib/index.d.ts",
|
||||
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
||||
}
|
||||
|
5
src/index.ts
Normal file
5
src/index.ts
Normal file
@ -0,0 +1,5 @@
|
||||
export class Hello {
|
||||
public sayHello() {
|
||||
return 'hello, world!';
|
||||
}
|
||||
}
|
5
test/hello.test.ts
Normal file
5
test/hello.test.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import { Hello } from '../src';
|
||||
|
||||
test('hello', () => {
|
||||
expect(new Hello().sayHello()).toBe('hello, world!');
|
||||
});
|
38
tsconfig.dev.json
generated
Normal file
38
tsconfig.dev.json
generated
Normal file
@ -0,0 +1,38 @@
|
||||
// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
{
|
||||
"compilerOptions": {
|
||||
"alwaysStrict": true,
|
||||
"declaration": true,
|
||||
"esModuleInterop": true,
|
||||
"experimentalDecorators": true,
|
||||
"inlineSourceMap": true,
|
||||
"inlineSources": true,
|
||||
"lib": [
|
||||
"es2019"
|
||||
],
|
||||
"module": "CommonJS",
|
||||
"noEmitOnError": false,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noImplicitAny": true,
|
||||
"noImplicitReturns": true,
|
||||
"noImplicitThis": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"resolveJsonModule": true,
|
||||
"strict": true,
|
||||
"strictNullChecks": true,
|
||||
"strictPropertyInitialization": true,
|
||||
"stripInternal": true,
|
||||
"target": "ES2019"
|
||||
},
|
||||
"include": [
|
||||
".projenrc.js",
|
||||
"src/**/*.ts",
|
||||
"test/**/*.ts",
|
||||
".projenrc.ts",
|
||||
"projenrc/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
38
tsconfig.json
generated
38
tsconfig.json
generated
@ -1,12 +1,34 @@
|
||||
// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||
"outDir": "./lib", /* Redirect output structure to the directory. */
|
||||
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||
"rootDir": "src",
|
||||
"outDir": "lib",
|
||||
"alwaysStrict": true,
|
||||
"declaration": true,
|
||||
"esModuleInterop": true,
|
||||
"experimentalDecorators": true,
|
||||
"inlineSourceMap": true,
|
||||
"inlineSources": true,
|
||||
"lib": [
|
||||
"es2019"
|
||||
],
|
||||
"module": "CommonJS",
|
||||
"noEmitOnError": false,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noImplicitAny": true,
|
||||
"noImplicitReturns": true,
|
||||
"noImplicitThis": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"resolveJsonModule": true,
|
||||
"strict": true,
|
||||
"strictNullChecks": true,
|
||||
"strictPropertyInitialization": true,
|
||||
"stripInternal": true,
|
||||
"target": "ES2019"
|
||||
},
|
||||
"exclude": ["node_modules", "**/*.test.ts"]
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
],
|
||||
"exclude": []
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user