1 Commits

Author SHA1 Message Date
Nick Alteen
d4a34c5270 Add license generation 2025-02-11 16:42:50 -05:00
35 changed files with 2143 additions and 3471 deletions

7
.checkov.yaml Normal file
View File

@@ -0,0 +1,7 @@
quiet: true
skip-check:
- CKV_GHA_7
# Ensure that HEALTHCHECK instructions have been added to container images
- CKV_DOCKER_2
# Ensure that a user for the container has been created
- CKV_DOCKER_3

View File

@@ -1,10 +0,0 @@
# See: https://www.checkov.io/1.Welcome/Quick%20Start.html
compact: true
quiet: true
skip-path:
- coverage
- node_modules
skip-check:
- CKV_DOCKER_2
- CKV_DOCKER_3

View File

@@ -38,6 +38,6 @@
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers-community/npm-features/prettier:1": {}
"ghcr.io/devcontainers-contrib/features/prettier:1": {}
}
}

View File

@@ -1,131 +0,0 @@
# Copilot Instructions
This GitHub Action is written in TypeScript and transpiled to JavaScript. The
transpiled JavaScript is invoked from within a Docker container. Both the
TypeScript sources and the **generated** JavaScript code are contained in this
repository. The TypeScript sources are contained in the `src` directory and the
JavaScript code is contained in the `dist` directory. A GitHub Actions workflow
checks that the JavaScript code in `dist` is up-to-date. Therefore, you should
not review any changes to the contents of the `dist` folder and it is expected
that the JavaScript code in `dist` closely mirrors the TypeScript code it is
generated from.
## Repository Structure
| Path | Description |
| -------------------- | ----------------------------------- |
| `__fixtures__/` | Unit Test Fixtures |
| `__tests__/` | Unit Tests |
| `.devcontainer/` | Development Container Configuration |
| `.github/` | GitHub Configuration |
| `.licenses/` | License Information |
| `.vscode/` | Visual Studio Code Configuration |
| `badges/` | Badges for readme |
| `dist/` | Generated JavaScript Code |
| `src/` | TypeScript Source Code |
| `.licensed.yml` | Licensed Configuration |
| `.markdown-lint.yml` | Markdown Linter Configuration |
| `.node-version` | Node.js Version Configuration |
| `.prettierrc.yml` | Prettier Formatter Configuration |
| `.yaml-lint.yml` | YAML Linter Configuration |
| `action.yml` | GitHub Action Metadata |
| `CODEOWNERS` | Code Owners File |
| `Dockerfile` | Dockerfile for the Action |
| `eslint.config.mjs` | ESLint Configuration |
| `jest.config.js` | Jest Configuration |
| `LICENSE` | License File |
| `package.json` | NPM Package Configuration |
| `README.md` | Project Documentation |
| `rollup.config.ts` | Rollup Bundler Configuration |
| `tsconfig.json` | TypeScript Configuration |
## Environment Setup
Install dependencies by running:
```bash
npm install
```
## Testing
Ensure all unit tests pass by running:
```bash
npm run test
```
Unit tests should exist in the `__tests__` directory. They are powered by
`jest`. Fixtures should be placed in the `__fixtures__` directory.
## Bundling
Any time files in the `src` directory are changed, you should run the following
command to bundle the TypeScript code into JavaScript:
```bash
npm run bundle
```
## General Coding Guidelines
- Follow standard TypeScript and JavaScript coding conventions and best
practices
- Changes should maintain consistency with existing patterns and style
- Document changes clearly and thoroughly, including updates to existing
comments when appropriate
- Do not include basic, unnecessary comments that simply restate what the code
is doing (focus on explaining _why_, not _what_)
- Use consistent error handling patterns throughout the codebase
- Use TypeScript's type system to ensure type safety and clarity
- Keep functions focused and manageable
- Use descriptive variable and function names that clearly convey their purpose
- Use JSDoc comments to document functions, classes, and complex logic
- After doing any refactoring, ensure to run `npm run test` to ensure that all
tests still pass and coverage requirements are met
- When suggesting code changes, always opt for the most maintainable approach.
Try your best to keep the code clean and follow "Don't Repeat Yourself" (DRY)
principles
- Avoid unnecessary complexity and always consider the long-term maintainability
of the code
- When writing unit tests, try to consider edge cases as well as the main path
of success. This will help ensure that the code is robust and can handle
unexpected inputs or situations
- Use the `@actions/core` package for logging over `console` to ensure
compatibility with GitHub Actions logging features
### Versioning
GitHub Actions are versioned using branch and tag names. Please ensure the
version in the project's `package.json` is updated to reflect the changes made
in the codebase. The version should follow
[Semantic Versioning](https://semver.org/) principles.
## Pull Request Guidelines
When creating a pull request (PR), please ensure that:
- Keep changes focused and minimal (avoid large changes, or consider breaking
them into separate, smaller PRs)
- Formatting checks pass
- Linting checks pass
- Unit tests pass and coverage requirements are met
- The action has been transpiled to JavaScript and the `dist` directory is
up-to-date with the latest changes in the `src` directory
- If necessary, the `README.md` file is updated to reflect any changes in
functionality or usage
The body of the PR should include:
- A summary of the changes
- A special note of any changes to dependencies
- A link to any relevant issues or discussions
- Any additional context that may be helpful for reviewers
## Code Review Guidelines
When performing a code review, please follow these guidelines:
- If there are changes that modify the functionality/usage of the action,
validate that there are changes in the `README.md` file that document the new
or modified functionality

View File

@@ -1,34 +0,0 @@
# Create Release Notes
You are an expert technical writer tasked with creating release notes for
updates to this repository. Your specific task is to generate release notes that
are clear, concise, and useful for developers and users of the project.
## Guidelines
Ensure you adhere to the following guidelines when creating release notes:
- Use a clear and consistent format for the release notes
- Include a summary of the changes made in the release
- Highlight any new features, improvements, or bugfixes
- If applicable, include instructions for upgrading or migrating to the new
version
- Use technical language that is appropriate for the audience, but avoid jargon
that may not be understood by all users
- Ensure that the release notes are easy to read and navigate
- Include relevant issue or PR numbers where applicable
- Use proper Markdown formatting
- Use code blocks for commands, configuration examples, or code changes
- Use note and warning callouts for important information
## Versioning
GitHub Actions are versioned using branch and tag names. The version in the
project's `package.json` should reflect the changes made in the codebase and
follow [Semantic Versioning](https://semver.org/) principles. Depending on the
nature of the changes, please make sure to adjust the release notes accordingly:
- For **major** changes, include a detailed description of the breaking changes
and how users can adapt to them
- For **minor** changes, highlight new features and improvements
- For **patch** changes, focus on bugfixes and minor improvements

View File

@@ -1,84 +0,0 @@
# Create Unit Test(s)
You are an expert software engineer tasked with creating unit tests for the
repository. Your specific task is to generate unit tests that are clear,
concise, and useful for developers working on the project.
## Guidelines
Ensure you adhere to the following guidelines when creating unit tests:
- Use a clear and consistent format for the unit tests
- Include a summary of the functionality being tested
- Use descriptive test names that clearly convey their purpose
- Ensure tests cover both the main path of success and edge cases
- Use proper assertions to validate the expected outcomes
- Use `jest` for writing and running tests
- Place unit tests in the `__tests__` directory
- Use fixtures for any necessary test data, placed in the `__fixtures__`
directory
## Example
Use the following as an example of how to structure your unit tests:
```typescript
/**
* Unit tests for the action's main functionality, src/main.ts
*/
import { jest } from '@jest/globals'
import * as core from '../__fixtures__/core.js'
import { wait } from '../__fixtures__/wait.js'
// Mocks should be declared before the module being tested is imported.
jest.unstable_mockModule('@actions/core', () => core)
jest.unstable_mockModule('../src/wait.js', () => ({ wait }))
// The module being tested should be imported dynamically. This ensures that the
// mocks are used in place of any actual dependencies.
const { run } = await import('../src/main.js')
describe('main.ts', () => {
beforeEach(() => {
// Set the action's inputs as return values from core.getInput().
core.getInput.mockImplementation(() => '500')
// Mock the wait function so that it does not actually wait.
wait.mockImplementation(() => Promise.resolve('done!'))
})
afterEach(() => {
jest.resetAllMocks()
})
it('Sets the time output', async () => {
await run()
// Verify the time output was set.
expect(core.setOutput).toHaveBeenNthCalledWith(
1,
'time',
// Simple regex to match a time string in the format HH:MM:SS.
expect.stringMatching(/^\d{2}:\d{2}:\d{2}/)
)
})
it('Sets a failed status', async () => {
// Clear the getInput mock and return an invalid value.
core.getInput.mockClear().mockReturnValueOnce('this is not a number')
// Clear the wait mock and return a rejected promise.
wait
.mockClear()
.mockRejectedValueOnce(new Error('milliseconds is not a number'))
await run()
// Verify that the action was marked as failed.
expect(core.setFailed).toHaveBeenNthCalledWith(
1,
'milliseconds is not a number'
)
})
})
```

View File

@@ -26,25 +26,25 @@ jobs:
runs-on: ubuntu-latest
steps:
# Checkout the repository.
- name: Checkout
id: checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
# Setup Node.js using the version specified in `.node-version`.
- name: Setup Node.js
id: setup-node
uses: actions/setup-node@v6
uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: npm
- name: Remove dist/ Directory
id: remove-dist
run: npx rimraf ./dist
# Install dependencies using `npm ci`.
- name: Install Dependencies
id: install
run: npm ci
# Build the `dist/` directory.
- name: Build dist/ Directory
id: build
run: npm run bundle
@@ -70,7 +70,7 @@ jobs:
- if: ${{ failure() && steps.diff.outcome == 'failure' }}
name: Upload Artifact
id: upload
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/

View File

@@ -19,11 +19,11 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Setup Node.js
id: setup-node
uses: actions/setup-node@v6
uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: npm
@@ -61,7 +61,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Setup Docker BuildX
id: setup-buildx
@@ -94,7 +94,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Test Local Action
id: test-action

View File

@@ -1,10 +1,10 @@
name: CodeQL
on:
pull_request:
push:
branches:
- main
push:
pull_request:
branches:
- main
schedule:
@@ -12,7 +12,6 @@ on:
permissions:
actions: read
checks: write
contents: read
security-events: write
@@ -25,25 +24,42 @@ jobs:
fail-fast: false
matrix:
language:
- typescript
- TypeScript
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
id: initialize
uses: github/codeql-action/init@v4
uses: github/codeql-action/init@v3
with:
config-file: .github/codeql/codeql-config.yml
languages: ${{ matrix.language }}
source-root: src
config-file: ./.github/codeql/codeql-config.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
id: autobuild
uses: github/codeql-action/autobuild@v4
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
id: analyze
uses: github/codeql-action/analyze@v4
uses: github/codeql-action/analyze@v3

View File

@@ -1,74 +0,0 @@
# This workflow checks the statuses of cached dependencies used in this action
# with the help of the Licensed tool. If any licenses are invalid or missing,
# this workflow will fail. See: https://github.com/licensee/licensed
name: Licensed
on:
# Uncomment the below lines to run this workflow on pull requests and pushes
# to the default branch. This is useful for checking licenses before merging
# changes into the default branch.
# pull_request:
# branches:
# - main
# push:
# branches:
# - main
workflow_dispatch:
permissions:
contents: write
jobs:
licensed:
name: Check Licenses
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v6
- name: Setup Node.js
id: setup-node
uses: actions/setup-node@v6
with:
node-version-file: .node-version
cache: npm
- name: Install Dependencies
id: npm-ci
run: npm ci
- name: Setup Ruby
id: setup-ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- uses: licensee/setup-licensed@v1.3.2
with:
version: 4.x
github_token: ${{ secrets.GITHUB_TOKEN }}
# If this is a workflow_dispatch event, update the cached licenses.
- if: ${{ github.event_name == 'workflow_dispatch' }}
name: Update Licenses
id: update-licenses
run: licensed cache
# Then, commit the updated licenses to the repository.
- if: ${{ github.event_name == 'workflow_dispatch' }}
name: Commit Licenses
id: commit-licenses
run: |
git config --local user.email "licensed-ci@users.noreply.github.com"
git config --local user.name "licensed-ci"
git add .
git commit -m "Auto-update license files"
git push
# Last, check the status of the cached licenses.
- name: Check Licenses
id: check-licenses
run: licensed status

View File

@@ -24,36 +24,36 @@ jobs:
runs-on: ubuntu-latest
steps:
# Checkout the repository.
- name: Checkout
id: checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
fetch-depth: 0
# Setup Node.js using the version specified in `.node-version`.
- name: Setup Node.js
id: setup-node
uses: actions/setup-node@v6
uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: npm
# Install dependencies using `npm ci`.
- name: Install Dependencies
id: install
run: npm ci
# Lint the codebase using the `super-linter/super-linter` action.
- name: Lint Codebase
id: super-linter
uses: super-linter/super-linter/slim@v8
uses: super-linter/super-linter/slim@v7
env:
CHECKOV_FILE_NAME: .checkov.yml
DEFAULT_BRANCH: main
FILTER_REGEX_EXCLUDE: dist/**/*
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LINTER_RULES_PATH: .
LINTER_RULES_PATH: ${{ github.workspace }}
VALIDATE_ALL_CODEBASE: true
VALIDATE_BIOME_FORMAT: false
VALIDATE_BIOME_LINT: false
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
VALIDATE_JAVASCRIPT_ES: false
VALIDATE_JAVASCRIPT_STANDARD: false
VALIDATE_JSCPD: false

View File

@@ -1,18 +0,0 @@
# See: https://github.com/licensee/licensed/blob/main/docs/configuration.md
sources:
npm: true
allowed:
- apache-2.0
- bsd-2-clause
- bsd-3-clause
- isc
- mit
- cc0-1.0
- other
ignored:
npm:
# Used by Rollup.js when building in GitHub Actions
- '@rollup/rollup-linux-x64-gnu'

View File

@@ -1 +1 @@
20.18.1
20.9.0

View File

@@ -1,5 +1,4 @@
.DS_Store
.licenses/
dist/
node_modules/
coverage/

View File

@@ -1,2 +0,0 @@
AVD-DS-0002
AVD-DS-0026

9
.vscode/mcp.json vendored
View File

@@ -1,9 +0,0 @@
{
"servers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"type": "http"
}
},
"inputs": []
}

15
.vscode/settings.json vendored
View File

@@ -1,15 +0,0 @@
{
"github.copilot.chat.reviewSelection.instructions": [
{
"text": "Review the code changes carefully before accepting them."
}
],
"github.copilot.chat.commitMessageGeneration.instructions": [
{
"text": "Use conventional commit message format."
}
],
"github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
{ "text": "Always include a list of key changes." }
]
}

View File

@@ -10,5 +10,3 @@ rules:
max: 80
allow-non-breakable-words: true
allow-non-breakable-inline-mappings: true
ignore:
- .licenses/

View File

@@ -1,10 +1,9 @@
# Create a Container Action with the GitHub Actions Toolkit
[![GitHub Super-Linter](https://github.com/actions/container-toolkit-action/actions/workflows/linter.yml/badge.svg)](https://github.com/super-linter/super-linter)
[![Check dist/](https://github.com/actions/container-toolkit-action/actions/workflows/check-dist.yml/badge.svg)](https://github.com/actions/container-toolkit-action/actions/workflows/check-dist.yml)
![Check `dist/`](https://github.com/actions/container-toolkit-action/actions/workflows/check-dist.yml/badge.svg)
![CI](https://github.com/actions/container-toolkit-action/actions/workflows/ci.yml/badge.svg)
[![CodeQL](https://github.com/actions/container-toolkit-action/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/actions/container-toolkit-action/actions/workflows/codeql-analysis.yml)
[![Coverage](./badges/coverage.svg)](./badges/coverage.svg)
[![Code Coverage](./badges/coverage.svg)](./badges/coverage.svg)
Use this template to bootstrap the creation of a container action with the
GitHub Actions toolkit. :rocket:
@@ -39,16 +38,10 @@ need to perform some initial setup steps before you can develop your action.
> [!NOTE]
>
> You'll need to have a reasonably modern version of
> You'll need to have reasonably modern versions of
> [Node.js](https://nodejs.org) and
> [Docker](https://www.docker.com/get-started/) handy (Node.js v20.x or later
> and Docker engine v20+ or later should work!). If you are using a version
> manager like [`nodenv`](https://github.com/nodenv/nodenv) or
> [`fnm`](https://github.com/Schniz/fnm), this template has a `.node-version`
> file at the root of the repository that can be used to automatically switch to
> the correct version when you `cd` into the repository. Additionally, this
> `.node-version` file is used by GitHub Actions in any `actions/setup-node`
> actions.
> [Docker](https://www.docker.com/get-started/) handy (e.g. Node.js v20+ and
> docker engine v20+).
1. :hammer_and_wrench: Install the dependencies
@@ -201,10 +194,14 @@ So, what are you waiting for? Go ahead and start customizing your action!
npm run all
```
> This step is important! It will run [`rollup`](https://rollupjs.org/) to
> build the final JavaScript action code with all dependencies included. If
> you do not run this step, your action will not work correctly when it is
> used in a workflow.
> [!WARNING]
>
> This step is important! It will run [`ncc`](https://github.com/vercel/ncc)
> to build the final JavaScript action code with all dependencies included.
> If you do not run this step, your action will not work correctly when it is
> used in a workflow. This step also includes the `--license` option for
> `ncc`, which will create a license file for all of the production node
> modules used in your project.
1. Commit your changes
@@ -225,7 +222,7 @@ So, what are you waiting for? Go ahead and start customizing your action!
Your action is now published! :rocket:
For information about versioning your action, see
[Versioning](https://github.com/actions/toolkit/blob/main/docs/action-versioning.md)
[Versioning](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md)
in the GitHub Actions toolkit.
## Validate the Action
@@ -282,48 +279,3 @@ steps:
id: output
run: echo "${{ steps.test-action.outputs.time }}"
```
## Dependency License Management
This template includes a GitHub Actions workflow,
[`licensed.yml`](./.github/workflows/licensed.yml), that uses
[Licensed](https://github.com/licensee/licensed) to check for dependencies with
missing or non-compliant licenses. This workflow is initially disabled. To
enable the workflow, follow the below steps.
1. Open [`licensed.yml`](./.github/workflows/licensed.yml)
1. Uncomment the following lines:
```yaml
# pull_request:
# branches:
# - main
# push:
# branches:
# - main
```
1. Save and commit the changes
Once complete, this workflow will run any time a pull request is created or
changes pushed directly to `main`. If the workflow detects any dependencies with
missing or non-compliant licenses, it will fail the workflow and provide details
on the issue(s) found.
### Updating Licenses
Whenever you install or update dependencies, you can use the Licensed CLI to
update the licenses database. To install Licensed, see the project's
[Readme](https://github.com/licensee/licensed?tab=readme-ov-file#installation).
To update the cached licenses, run the following command:
```bash
licensed cache
```
To check the status of cached licenses, run the following command:
```bash
licensed status
```

View File

@@ -1,23 +1,18 @@
name: The name of your action here
description: Provide a description here
author: Your name or organization here
# Add your action's branding here. This will appear on the GitHub Marketplace.
branding:
icon: heart
color: red
name: 'The name of your action here'
description: 'Provide a description here'
author: 'Your name or organization here'
# Define your inputs here.
inputs:
milliseconds:
description: Your input description here
description: 'Your input description here'
required: true
default: '1000'
# Define your outputs here.
outputs:
time:
description: Your output description here
description: 'Your output description here'
runs:
using: docker

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="106" height="20" role="img" aria-label="Coverage: 100%"><title>Coverage: 100%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="106" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="63" height="20" fill="#555"/><rect x="63" width="43" height="20" fill="#4c1"/><rect width="106" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="325" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="530">Coverage</text><text x="325" y="140" transform="scale(.1)" fill="#fff" textLength="530">Coverage</text><text aria-hidden="true" x="835" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="330">100%</text><text x="835" y="140" transform="scale(.1)" fill="#fff" textLength="330">100%</text></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="106" height="20" role="img" aria-label="Coverage: 100%"><title>Coverage: 100%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="106" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="63" height="20" fill="#555"/><rect x="63" width="43" height="20" fill="#4c1"/><rect width="106" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="325" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="530">Coverage</text><text x="325" y="140" transform="scale(.1)" fill="#fff" textLength="530">Coverage</text><text aria-hidden="true" x="835" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="330">100%</text><text x="835" y="140" transform="scale(.1)" fill="#fff" textLength="330">100%</text></g></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

1
dist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export {};

301
dist/index.js generated vendored
View File

@@ -8219,9 +8219,9 @@ var hasRequiredConstants$2;
function requireConstants$2 () {
if (hasRequiredConstants$2) return constants$2;
hasRequiredConstants$2 = 1;
(function (exports$1) {
Object.defineProperty(exports$1, "__esModule", { value: true });
exports$1.SPECIAL_HEADERS = exports$1.HEADER_STATE = exports$1.MINOR = exports$1.MAJOR = exports$1.CONNECTION_TOKEN_CHARS = exports$1.HEADER_CHARS = exports$1.TOKEN = exports$1.STRICT_TOKEN = exports$1.HEX = exports$1.URL_CHAR = exports$1.STRICT_URL_CHAR = exports$1.USERINFO_CHARS = exports$1.MARK = exports$1.ALPHANUM = exports$1.NUM = exports$1.HEX_MAP = exports$1.NUM_MAP = exports$1.ALPHA = exports$1.FINISH = exports$1.H_METHOD_MAP = exports$1.METHOD_MAP = exports$1.METHODS_RTSP = exports$1.METHODS_ICE = exports$1.METHODS_HTTP = exports$1.METHODS = exports$1.LENIENT_FLAGS = exports$1.FLAGS = exports$1.TYPE = exports$1.ERROR = void 0;
(function (exports) {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
const utils_1 = requireUtils();
(function (ERROR) {
ERROR[ERROR["OK"] = 0] = "OK";
@@ -8249,12 +8249,12 @@ function requireConstants$2 () {
ERROR[ERROR["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
ERROR[ERROR["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
ERROR[ERROR["USER"] = 24] = "USER";
})(exports$1.ERROR || (exports$1.ERROR = {}));
})(exports.ERROR || (exports.ERROR = {}));
(function (TYPE) {
TYPE[TYPE["BOTH"] = 0] = "BOTH";
TYPE[TYPE["REQUEST"] = 1] = "REQUEST";
TYPE[TYPE["RESPONSE"] = 2] = "RESPONSE";
})(exports$1.TYPE || (exports$1.TYPE = {}));
})(exports.TYPE || (exports.TYPE = {}));
(function (FLAGS) {
FLAGS[FLAGS["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
FLAGS[FLAGS["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
@@ -8266,12 +8266,12 @@ function requireConstants$2 () {
FLAGS[FLAGS["TRAILING"] = 128] = "TRAILING";
// 1 << 8 is unused
FLAGS[FLAGS["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
})(exports$1.FLAGS || (exports$1.FLAGS = {}));
})(exports.FLAGS || (exports.FLAGS = {}));
(function (LENIENT_FLAGS) {
LENIENT_FLAGS[LENIENT_FLAGS["HEADERS"] = 1] = "HEADERS";
LENIENT_FLAGS[LENIENT_FLAGS["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
LENIENT_FLAGS[LENIENT_FLAGS["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
})(exports$1.LENIENT_FLAGS || (exports$1.LENIENT_FLAGS = {}));
})(exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}));
var METHODS;
(function (METHODS) {
METHODS[METHODS["DELETE"] = 0] = "DELETE";
@@ -8331,8 +8331,8 @@ function requireConstants$2 () {
METHODS[METHODS["RECORD"] = 44] = "RECORD";
/* RAOP */
METHODS[METHODS["FLUSH"] = 45] = "FLUSH";
})(METHODS = exports$1.METHODS || (exports$1.METHODS = {}));
exports$1.METHODS_HTTP = [
})(METHODS = exports.METHODS || (exports.METHODS = {}));
exports.METHODS_HTTP = [
METHODS.DELETE,
METHODS.GET,
METHODS.HEAD,
@@ -8370,10 +8370,10 @@ function requireConstants$2 () {
// TODO(indutny): should we allow it with HTTP?
METHODS.SOURCE,
];
exports$1.METHODS_ICE = [
exports.METHODS_ICE = [
METHODS.SOURCE,
];
exports$1.METHODS_RTSP = [
exports.METHODS_RTSP = [
METHODS.OPTIONS,
METHODS.DESCRIBE,
METHODS.ANNOUNCE,
@@ -8390,59 +8390,59 @@ function requireConstants$2 () {
METHODS.GET,
METHODS.POST,
];
exports$1.METHOD_MAP = utils_1.enumToMap(METHODS);
exports$1.H_METHOD_MAP = {};
Object.keys(exports$1.METHOD_MAP).forEach((key) => {
exports.METHOD_MAP = utils_1.enumToMap(METHODS);
exports.H_METHOD_MAP = {};
Object.keys(exports.METHOD_MAP).forEach((key) => {
if (/^H/.test(key)) {
exports$1.H_METHOD_MAP[key] = exports$1.METHOD_MAP[key];
exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key];
}
});
(function (FINISH) {
FINISH[FINISH["SAFE"] = 0] = "SAFE";
FINISH[FINISH["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
FINISH[FINISH["UNSAFE"] = 2] = "UNSAFE";
})(exports$1.FINISH || (exports$1.FINISH = {}));
exports$1.ALPHA = [];
})(exports.FINISH || (exports.FINISH = {}));
exports.ALPHA = [];
for (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) {
// Upper case
exports$1.ALPHA.push(String.fromCharCode(i));
exports.ALPHA.push(String.fromCharCode(i));
// Lower case
exports$1.ALPHA.push(String.fromCharCode(i + 0x20));
exports.ALPHA.push(String.fromCharCode(i + 0x20));
}
exports$1.NUM_MAP = {
exports.NUM_MAP = {
0: 0, 1: 1, 2: 2, 3: 3, 4: 4,
5: 5, 6: 6, 7: 7, 8: 8, 9: 9,
};
exports$1.HEX_MAP = {
exports.HEX_MAP = {
0: 0, 1: 1, 2: 2, 3: 3, 4: 4,
5: 5, 6: 6, 7: 7, 8: 8, 9: 9,
A: 0XA, B: 0XB, C: 0XC, D: 0XD, E: 0XE, F: 0XF,
a: 0xa, b: 0xb, c: 0xc, d: 0xd, e: 0xe, f: 0xf,
};
exports$1.NUM = [
exports.NUM = [
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
];
exports$1.ALPHANUM = exports$1.ALPHA.concat(exports$1.NUM);
exports$1.MARK = ['-', '_', '.', '!', '~', '*', '\'', '(', ')'];
exports$1.USERINFO_CHARS = exports$1.ALPHANUM
.concat(exports$1.MARK)
exports.ALPHANUM = exports.ALPHA.concat(exports.NUM);
exports.MARK = ['-', '_', '.', '!', '~', '*', '\'', '(', ')'];
exports.USERINFO_CHARS = exports.ALPHANUM
.concat(exports.MARK)
.concat(['%', ';', ':', '&', '=', '+', '$', ',']);
// TODO(indutny): use RFC
exports$1.STRICT_URL_CHAR = [
exports.STRICT_URL_CHAR = [
'!', '"', '$', '%', '&', '\'',
'(', ')', '*', '+', ',', '-', '.', '/',
':', ';', '<', '=', '>',
'@', '[', '\\', ']', '^', '_',
'`',
'{', '|', '}', '~',
].concat(exports$1.ALPHANUM);
exports$1.URL_CHAR = exports$1.STRICT_URL_CHAR
].concat(exports.ALPHANUM);
exports.URL_CHAR = exports.STRICT_URL_CHAR
.concat(['\t', '\f']);
// All characters with 0x80 bit set to 1
for (let i = 0x80; i <= 0xff; i++) {
exports$1.URL_CHAR.push(i);
exports.URL_CHAR.push(i);
}
exports$1.HEX = exports$1.NUM.concat(['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']);
exports.HEX = exports.NUM.concat(['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']);
/* Tokens as defined by rfc 2616. Also lowercases them.
* token = 1*<any CHAR except CTLs or separators>
* separators = "(" | ")" | "<" | ">" | "@"
@@ -8450,27 +8450,27 @@ function requireConstants$2 () {
* | "/" | "[" | "]" | "?" | "="
* | "{" | "}" | SP | HT
*/
exports$1.STRICT_TOKEN = [
exports.STRICT_TOKEN = [
'!', '#', '$', '%', '&', '\'',
'*', '+', '-', '.',
'^', '_', '`',
'|', '~',
].concat(exports$1.ALPHANUM);
exports$1.TOKEN = exports$1.STRICT_TOKEN.concat([' ']);
].concat(exports.ALPHANUM);
exports.TOKEN = exports.STRICT_TOKEN.concat([' ']);
/*
* Verify that a char is a valid visible (printable) US-ASCII
* character or %x80-FF
*/
exports$1.HEADER_CHARS = ['\t'];
exports.HEADER_CHARS = ['\t'];
for (let i = 32; i <= 255; i++) {
if (i !== 127) {
exports$1.HEADER_CHARS.push(i);
exports.HEADER_CHARS.push(i);
}
}
// ',' = \x44
exports$1.CONNECTION_TOKEN_CHARS = exports$1.HEADER_CHARS.filter((c) => c !== 44);
exports$1.MAJOR = exports$1.NUM_MAP;
exports$1.MINOR = exports$1.MAJOR;
exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);
exports.MAJOR = exports.NUM_MAP;
exports.MINOR = exports.MAJOR;
var HEADER_STATE;
(function (HEADER_STATE) {
HEADER_STATE[HEADER_STATE["GENERAL"] = 0] = "GENERAL";
@@ -8482,8 +8482,8 @@ function requireConstants$2 () {
HEADER_STATE[HEADER_STATE["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
HEADER_STATE[HEADER_STATE["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
HEADER_STATE[HEADER_STATE["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
})(HEADER_STATE = exports$1.HEADER_STATE || (exports$1.HEADER_STATE = {}));
exports$1.SPECIAL_HEADERS = {
})(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}));
exports.SPECIAL_HEADERS = {
'connection': HEADER_STATE.CONNECTION,
'content-length': HEADER_STATE.CONTENT_LENGTH,
'proxy-connection': HEADER_STATE.CONNECTION,
@@ -9322,10 +9322,10 @@ function requireClient () {
const TIMEOUT_IDLE = 3;
class Parser {
constructor (client, socket, { exports: exports$1 }) {
constructor (client, socket, { exports }) {
assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
this.llhttp = exports$1;
this.llhttp = exports;
this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
this.client = client;
this.socket = socket;
@@ -11492,20 +11492,6 @@ function requirePool () {
? { ...options.interceptors }
: undefined;
this[kFactory] = factory;
this.on('connectionError', (origin, targets, error) => {
// If a connection error occurs, we remove the client from the pool,
// and emit a connectionError event. They will not be re-used.
// Fixes https://github.com/nodejs/undici/issues/3895
for (const target of targets) {
// Do not use kRemoveClient here, as it will close the client,
// but the client cannot be closed in this state.
const idx = this[kClients].indexOf(target);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
}
});
}
[kGetDispatcher] () {
@@ -14967,7 +14953,6 @@ function requireHeaders () {
isValidHeaderName,
isValidHeaderValue
} = requireUtil$5();
const util = require$$0$2;
const { webidl } = requireWebidl();
const assert = require$$0$3;
@@ -15514,9 +15499,6 @@ function requireHeaders () {
[Symbol.toStringTag]: {
value: 'Headers',
configurable: true
},
[util.inspect.custom]: {
enumerable: false
}
});
@@ -21406,10 +21388,9 @@ function requireUtil$1 () {
if (hasRequiredUtil$1) return util$1;
hasRequiredUtil$1 = 1;
/**
* @param {string} value
* @returns {boolean}
*/
const assert = require$$0$3;
const { kHeadersList } = requireSymbols$4();
function isCTLExcludingHtab (value) {
if (value.length === 0) {
return false
@@ -21670,13 +21651,31 @@ function requireUtil$1 () {
return out.join('; ')
}
let kHeadersListNode;
function getHeadersList (headers) {
if (headers[kHeadersList]) {
return headers[kHeadersList]
}
if (!kHeadersListNode) {
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
(symbol) => symbol.description === 'headers list'
);
assert(kHeadersListNode, 'Headers cannot be parsed');
}
const headersList = headers[kHeadersListNode];
assert(headersList);
return headersList
}
util$1 = {
isCTLExcludingHtab,
validateCookieName,
validateCookiePath,
validateCookieValue,
toIMFDate,
stringify
stringify,
getHeadersList
};
return util$1;
}
@@ -22014,7 +22013,7 @@ function requireCookies () {
hasRequiredCookies = 1;
const { parseSetCookie } = requireParse();
const { stringify } = requireUtil$1();
const { stringify, getHeadersList } = requireUtil$1();
const { webidl } = requireWebidl();
const { Headers } = requireHeaders();
@@ -22090,13 +22089,14 @@ function requireCookies () {
webidl.brandCheck(headers, Headers, { strict: false });
const cookies = headers.getSetCookie();
const cookies = getHeadersList(headers).cookies;
if (!cookies) {
return []
}
return cookies.map((pair) => parseSetCookie(pair))
// In older versions of undici, cookies is a list of name:value.
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
}
/**
@@ -25187,7 +25187,7 @@ var hasRequiredSummary;
function requireSummary () {
if (hasRequiredSummary) return summary;
hasRequiredSummary = 1;
(function (exports$1) {
(function (exports) {
var __awaiter = (summary && summary.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -25197,13 +25197,13 @@ function requireSummary () {
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports$1, "__esModule", { value: true });
exports$1.summary = exports$1.markdownSummary = exports$1.SUMMARY_DOCS_URL = exports$1.SUMMARY_ENV_VAR = void 0;
Object.defineProperty(exports, "__esModule", { value: true });
exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;
const os_1 = require$$0;
const fs_1 = require$$1;
const { access, appendFile, writeFile } = fs_1.promises;
exports$1.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';
exports$1.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';
exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';
exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';
class Summary {
constructor() {
this._buffer = '';
@@ -25219,9 +25219,9 @@ function requireSummary () {
if (this._filePath) {
return this._filePath;
}
const pathFromEnv = process.env[exports$1.SUMMARY_ENV_VAR];
const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];
if (!pathFromEnv) {
throw new Error(`Unable to find environment variable for $${exports$1.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);
throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);
}
try {
yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);
@@ -25467,8 +25467,8 @@ function requireSummary () {
/**
* @deprecated use `core.summary`
*/
exports$1.markdownSummary = _summary;
exports$1.summary = _summary;
exports.markdownSummary = _summary;
exports.summary = _summary;
} (summary));
return summary;
@@ -25560,7 +25560,7 @@ var hasRequiredIoUtil;
function requireIoUtil () {
if (hasRequiredIoUtil) return ioUtil;
hasRequiredIoUtil = 1;
(function (exports$1) {
(function (exports) {
var __createBinding = (ioUtil && ioUtil.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -25590,22 +25590,22 @@ function requireIoUtil () {
});
};
var _a;
Object.defineProperty(exports$1, "__esModule", { value: true });
exports$1.getCmdPath = exports$1.tryGetExecutablePath = exports$1.isRooted = exports$1.isDirectory = exports$1.exists = exports$1.READONLY = exports$1.UV_FS_O_EXLOCK = exports$1.IS_WINDOWS = exports$1.unlink = exports$1.symlink = exports$1.stat = exports$1.rmdir = exports$1.rm = exports$1.rename = exports$1.readlink = exports$1.readdir = exports$1.open = exports$1.mkdir = exports$1.lstat = exports$1.copyFile = exports$1.chmod = void 0;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0;
const fs = __importStar(require$$1);
const path = __importStar(require$$1$5);
_a = fs.promises
// export const {open} = 'fs'
, exports$1.chmod = _a.chmod, exports$1.copyFile = _a.copyFile, exports$1.lstat = _a.lstat, exports$1.mkdir = _a.mkdir, exports$1.open = _a.open, exports$1.readdir = _a.readdir, exports$1.readlink = _a.readlink, exports$1.rename = _a.rename, exports$1.rm = _a.rm, exports$1.rmdir = _a.rmdir, exports$1.stat = _a.stat, exports$1.symlink = _a.symlink, exports$1.unlink = _a.unlink;
, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
// export const {open} = 'fs'
exports$1.IS_WINDOWS = process.platform === 'win32';
exports.IS_WINDOWS = process.platform === 'win32';
// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691
exports$1.UV_FS_O_EXLOCK = 0x10000000;
exports$1.READONLY = fs.constants.O_RDONLY;
exports.UV_FS_O_EXLOCK = 0x10000000;
exports.READONLY = fs.constants.O_RDONLY;
function exists(fsPath) {
return __awaiter(this, void 0, void 0, function* () {
try {
yield exports$1.stat(fsPath);
yield exports.stat(fsPath);
}
catch (err) {
if (err.code === 'ENOENT') {
@@ -25616,14 +25616,14 @@ function requireIoUtil () {
return true;
});
}
exports$1.exists = exists;
exports.exists = exists;
function isDirectory(fsPath, useStat = false) {
return __awaiter(this, void 0, void 0, function* () {
const stats = useStat ? yield exports$1.stat(fsPath) : yield exports$1.lstat(fsPath);
const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath);
return stats.isDirectory();
});
}
exports$1.isDirectory = isDirectory;
exports.isDirectory = isDirectory;
/**
* On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:
* \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases).
@@ -25633,13 +25633,13 @@ function requireIoUtil () {
if (!p) {
throw new Error('isRooted() parameter "p" cannot be empty');
}
if (exports$1.IS_WINDOWS) {
if (exports.IS_WINDOWS) {
return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello
); // e.g. C: or C:\hello
}
return p.startsWith('/');
}
exports$1.isRooted = isRooted;
exports.isRooted = isRooted;
/**
* Best effort attempt to determine whether a file exists and is executable.
* @param filePath file path to check
@@ -25651,7 +25651,7 @@ function requireIoUtil () {
let stats = undefined;
try {
// test file exists
stats = yield exports$1.stat(filePath);
stats = yield exports.stat(filePath);
}
catch (err) {
if (err.code !== 'ENOENT') {
@@ -25660,7 +25660,7 @@ function requireIoUtil () {
}
}
if (stats && stats.isFile()) {
if (exports$1.IS_WINDOWS) {
if (exports.IS_WINDOWS) {
// on Windows, test for valid extension
const upperExt = path.extname(filePath).toUpperCase();
if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) {
@@ -25679,7 +25679,7 @@ function requireIoUtil () {
filePath = originalFilePath + extension;
stats = undefined;
try {
stats = yield exports$1.stat(filePath);
stats = yield exports.stat(filePath);
}
catch (err) {
if (err.code !== 'ENOENT') {
@@ -25688,12 +25688,12 @@ function requireIoUtil () {
}
}
if (stats && stats.isFile()) {
if (exports$1.IS_WINDOWS) {
if (exports.IS_WINDOWS) {
// preserve the case of the actual file (since an extension was appended)
try {
const directory = path.dirname(filePath);
const upperName = path.basename(filePath).toUpperCase();
for (const actualName of yield exports$1.readdir(directory)) {
for (const actualName of yield exports.readdir(directory)) {
if (upperName === actualName.toUpperCase()) {
filePath = path.join(directory, actualName);
break;
@@ -25716,10 +25716,10 @@ function requireIoUtil () {
return '';
});
}
exports$1.tryGetExecutablePath = tryGetExecutablePath;
exports.tryGetExecutablePath = tryGetExecutablePath;
function normalizeSeparators(p) {
p = p || '';
if (exports$1.IS_WINDOWS) {
if (exports.IS_WINDOWS) {
// convert slashes on Windows
p = p.replace(/\//g, '\\');
// remove redundant slashes
@@ -25741,7 +25741,7 @@ function requireIoUtil () {
var _a;
return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`;
}
exports$1.getCmdPath = getCmdPath;
exports.getCmdPath = getCmdPath;
} (ioUtil));
return ioUtil;
@@ -26793,7 +26793,7 @@ var hasRequiredPlatform;
function requirePlatform () {
if (hasRequiredPlatform) return platform;
hasRequiredPlatform = 1;
(function (exports$1) {
(function (exports) {
var __createBinding = (platform && platform.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26829,8 +26829,8 @@ function requirePlatform () {
var __importDefault = (platform && platform.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports$1, "__esModule", { value: true });
exports$1.getDetails = exports$1.isLinux = exports$1.isMacOS = exports$1.isWindows = exports$1.arch = exports$1.platform = void 0;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDetails = exports.isLinux = exports.isMacOS = exports.isWindows = exports.arch = exports.platform = void 0;
const os_1 = __importDefault(require$$0);
const exec = __importStar(requireExec());
const getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () {
@@ -26867,25 +26867,25 @@ function requirePlatform () {
version
};
});
exports$1.platform = os_1.default.platform();
exports$1.arch = os_1.default.arch();
exports$1.isWindows = exports$1.platform === 'win32';
exports$1.isMacOS = exports$1.platform === 'darwin';
exports$1.isLinux = exports$1.platform === 'linux';
exports.platform = os_1.default.platform();
exports.arch = os_1.default.arch();
exports.isWindows = exports.platform === 'win32';
exports.isMacOS = exports.platform === 'darwin';
exports.isLinux = exports.platform === 'linux';
function getDetails() {
return __awaiter(this, void 0, void 0, function* () {
return Object.assign(Object.assign({}, (yield (exports$1.isWindows
return Object.assign(Object.assign({}, (yield (exports.isWindows
? getWindowsInfo()
: exports$1.isMacOS
: exports.isMacOS
? getMacOsInfo()
: getLinuxInfo()))), { platform: exports$1.platform,
arch: exports$1.arch,
isWindows: exports$1.isWindows,
isMacOS: exports$1.isMacOS,
isLinux: exports$1.isLinux });
: getLinuxInfo()))), { platform: exports.platform,
arch: exports.arch,
isWindows: exports.isWindows,
isMacOS: exports.isMacOS,
isLinux: exports.isLinux });
});
}
exports$1.getDetails = getDetails;
exports.getDetails = getDetails;
} (platform));
return platform;
@@ -26896,7 +26896,7 @@ var hasRequiredCore;
function requireCore () {
if (hasRequiredCore) return core;
hasRequiredCore = 1;
(function (exports$1) {
(function (exports) {
var __createBinding = (core && core.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26929,8 +26929,8 @@ function requireCore () {
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports$1, "__esModule", { value: true });
exports$1.platform = exports$1.toPlatformPath = exports$1.toWin32Path = exports$1.toPosixPath = exports$1.markdownSummary = exports$1.summary = exports$1.getIDToken = exports$1.getState = exports$1.saveState = exports$1.group = exports$1.endGroup = exports$1.startGroup = exports$1.info = exports$1.notice = exports$1.warning = exports$1.error = exports$1.debug = exports$1.isDebug = exports$1.setFailed = exports$1.setCommandEcho = exports$1.setOutput = exports$1.getBooleanInput = exports$1.getMultilineInput = exports$1.getInput = exports$1.addPath = exports$1.setSecret = exports$1.exportVariable = exports$1.ExitCode = void 0;
Object.defineProperty(exports, "__esModule", { value: true });
exports.platform = exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = exports.markdownSummary = exports.summary = exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
const command_1 = requireCommand();
const file_command_1 = requireFileCommand();
const utils_1 = requireUtils$1();
@@ -26950,7 +26950,7 @@ function requireCore () {
* A code indicating that the action was a failure
*/
ExitCode[ExitCode["Failure"] = 1] = "Failure";
})(ExitCode || (exports$1.ExitCode = ExitCode = {}));
})(ExitCode || (exports.ExitCode = ExitCode = {}));
//-----------------------------------------------------------------------
// Variables
//-----------------------------------------------------------------------
@@ -26969,7 +26969,7 @@ function requireCore () {
}
(0, command_1.issueCommand)('set-env', { name }, convertedVal);
}
exports$1.exportVariable = exportVariable;
exports.exportVariable = exportVariable;
/**
* Registers a secret which will get masked from logs
* @param secret value of the secret
@@ -26977,7 +26977,7 @@ function requireCore () {
function setSecret(secret) {
(0, command_1.issueCommand)('add-mask', {}, secret);
}
exports$1.setSecret = setSecret;
exports.setSecret = setSecret;
/**
* Prepends inputPath to the PATH (for this action and future actions)
* @param inputPath
@@ -26992,7 +26992,7 @@ function requireCore () {
}
process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
}
exports$1.addPath = addPath;
exports.addPath = addPath;
/**
* Gets the value of an input.
* Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
@@ -27012,7 +27012,7 @@ function requireCore () {
}
return val.trim();
}
exports$1.getInput = getInput;
exports.getInput = getInput;
/**
* Gets the values of an multiline input. Each value is also trimmed.
*
@@ -27030,7 +27030,7 @@ function requireCore () {
}
return inputs.map(input => input.trim());
}
exports$1.getMultilineInput = getMultilineInput;
exports.getMultilineInput = getMultilineInput;
/**
* Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
* Support boolean input list: `true | True | TRUE | false | False | FALSE` .
@@ -27052,7 +27052,7 @@ function requireCore () {
throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
}
exports$1.getBooleanInput = getBooleanInput;
exports.getBooleanInput = getBooleanInput;
/**
* Sets the value of an output.
*
@@ -27068,7 +27068,7 @@ function requireCore () {
process.stdout.write(os.EOL);
(0, command_1.issueCommand)('set-output', { name }, (0, utils_1.toCommandValue)(value));
}
exports$1.setOutput = setOutput;
exports.setOutput = setOutput;
/**
* Enables or disables the echoing of commands into stdout for the rest of the step.
* Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
@@ -27077,7 +27077,7 @@ function requireCore () {
function setCommandEcho(enabled) {
(0, command_1.issue)('echo', enabled ? 'on' : 'off');
}
exports$1.setCommandEcho = setCommandEcho;
exports.setCommandEcho = setCommandEcho;
//-----------------------------------------------------------------------
// Results
//-----------------------------------------------------------------------
@@ -27090,7 +27090,7 @@ function requireCore () {
process.exitCode = ExitCode.Failure;
error(message);
}
exports$1.setFailed = setFailed;
exports.setFailed = setFailed;
//-----------------------------------------------------------------------
// Logging Commands
//-----------------------------------------------------------------------
@@ -27100,7 +27100,7 @@ function requireCore () {
function isDebug() {
return process.env['RUNNER_DEBUG'] === '1';
}
exports$1.isDebug = isDebug;
exports.isDebug = isDebug;
/**
* Writes debug message to user log
* @param message debug message
@@ -27108,7 +27108,7 @@ function requireCore () {
function debug(message) {
(0, command_1.issueCommand)('debug', {}, message);
}
exports$1.debug = debug;
exports.debug = debug;
/**
* Adds an error issue
* @param message error issue message. Errors will be converted to string via toString()
@@ -27117,7 +27117,7 @@ function requireCore () {
function error(message, properties = {}) {
(0, command_1.issueCommand)('error', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message);
}
exports$1.error = error;
exports.error = error;
/**
* Adds a warning issue
* @param message warning issue message. Errors will be converted to string via toString()
@@ -27126,7 +27126,7 @@ function requireCore () {
function warning(message, properties = {}) {
(0, command_1.issueCommand)('warning', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message);
}
exports$1.warning = warning;
exports.warning = warning;
/**
* Adds a notice issue
* @param message notice issue message. Errors will be converted to string via toString()
@@ -27135,7 +27135,7 @@ function requireCore () {
function notice(message, properties = {}) {
(0, command_1.issueCommand)('notice', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message);
}
exports$1.notice = notice;
exports.notice = notice;
/**
* Writes info to log with console.log.
* @param message info message
@@ -27143,7 +27143,7 @@ function requireCore () {
function info(message) {
process.stdout.write(message + os.EOL);
}
exports$1.info = info;
exports.info = info;
/**
* Begin an output group.
*
@@ -27154,14 +27154,14 @@ function requireCore () {
function startGroup(name) {
(0, command_1.issue)('group', name);
}
exports$1.startGroup = startGroup;
exports.startGroup = startGroup;
/**
* End an output group.
*/
function endGroup() {
(0, command_1.issue)('endgroup');
}
exports$1.endGroup = endGroup;
exports.endGroup = endGroup;
/**
* Wrap an asynchronous function call in a group.
*
@@ -27183,7 +27183,7 @@ function requireCore () {
return result;
});
}
exports$1.group = group;
exports.group = group;
//-----------------------------------------------------------------------
// Wrapper action state
//-----------------------------------------------------------------------
@@ -27201,7 +27201,7 @@ function requireCore () {
}
(0, command_1.issueCommand)('save-state', { name }, (0, utils_1.toCommandValue)(value));
}
exports$1.saveState = saveState;
exports.saveState = saveState;
/**
* Gets the value of an state set by this action's main execution.
*
@@ -27211,34 +27211,34 @@ function requireCore () {
function getState(name) {
return process.env[`STATE_${name}`] || '';
}
exports$1.getState = getState;
exports.getState = getState;
function getIDToken(aud) {
return __awaiter(this, void 0, void 0, function* () {
return yield oidc_utils_1.OidcClient.getIDToken(aud);
});
}
exports$1.getIDToken = getIDToken;
exports.getIDToken = getIDToken;
/**
* Summary exports
*/
var summary_1 = requireSummary();
Object.defineProperty(exports$1, "summary", { enumerable: true, get: function () { return summary_1.summary; } });
Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } });
/**
* @deprecated use core.summary
*/
var summary_2 = requireSummary();
Object.defineProperty(exports$1, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } });
Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } });
/**
* Path exports
*/
var path_utils_1 = requirePathUtils();
Object.defineProperty(exports$1, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });
Object.defineProperty(exports$1, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });
Object.defineProperty(exports$1, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });
Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });
Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });
Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });
/**
* Platform utilities exports
*/
exports$1.platform = __importStar(requirePlatform());
exports.platform = __importStar(requirePlatform());
} (core));
return core;
@@ -27290,3 +27290,4 @@ async function run() {
*/
/* istanbul ignore next */
run();
//# sourceMappingURL=index.js.map

1
dist/index.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

209
dist/licenses.txt generated vendored Normal file
View File

@@ -0,0 +1,209 @@
Name: @actions/core
Version: 1.11.1
License: MIT
Private: false
Description: Actions core lib
Repository: git+https://github.com/actions/toolkit.git
Homepage: https://github.com/actions/toolkit/tree/main/packages/core
License Copyright:
===
The MIT License (MIT)
Copyright 2019 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 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.
---
Name: @actions/http-client
Version: 2.2.3
License: MIT
Private: false
Description: Actions Http Client
Repository: git+https://github.com/actions/toolkit.git
Homepage: https://github.com/actions/toolkit/tree/main/packages/http-client
License Copyright:
===
Actions Http Client for Node.js
Copyright (c) GitHub, Inc.
All rights reserved.
MIT License
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.
---
Name: tunnel
Version: 0.0.6
License: MIT
Private: false
Description: Node HTTP/HTTPS Agents for tunneling proxies
Repository: https://github.com/koichik/node-tunnel.git
Homepage: https://github.com/koichik/node-tunnel/
Author: Koichi Kobayashi <koichik@improvement.jp>
License Copyright:
===
The MIT License (MIT)
Copyright (c) 2012 Koichi Kobayashi
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.
---
Name: undici
Version: 5.28.5
License: MIT
Private: false
Description: An HTTP/1.1 client, written from scratch for Node.js
Repository: git+https://github.com/nodejs/undici.git
Homepage: https://undici.nodejs.org
Contributors:
Daniele Belardi (https://github.com/dnlup)
Ethan Arrowood (https://github.com/ethan-arrowood)
Matteo Collina (https://github.com/mcollina)
Matthew Aitken (https://github.com/KhafraDev)
Robert Nagy (https://github.com/ronag)
Szymon Marczak (https://github.com/szmarczak)
Tomas Della Vedova (https://github.com/delvedor)
License Copyright:
===
MIT License
Copyright (c) Matteo Collina and Undici 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.
---
Name: @fastify/busboy
Version: 2.1.1
License: MIT
Private: false
Description: A streaming parser for HTML form data for node.js
Repository: git+https://github.com/fastify/busboy.git
Author: Brian White <mscdex@mscdex.net>
Contributors:
Igor Savin <kibertoad@gmail.com> (https://github.com/kibertoad)
Aras Abbasi <aras.abbasi@gmail.com> (https://github.com/uzlopak)
License Copyright:
===
Copyright Brian White. All rights reserved.
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.
---
Name: @actions/exec
Version: 1.1.1
License: MIT
Private: false
Description: Actions exec lib
Repository: git+https://github.com/actions/toolkit.git
Homepage: https://github.com/actions/toolkit/tree/main/packages/exec
License Copyright:
===
The MIT License (MIT)
Copyright 2019 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 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.
---
Name: @actions/io
Version: 1.1.3
License: MIT
Private: false
Description: Actions io lib
Repository: git+https://github.com/actions/toolkit.git
Homepage: https://github.com/actions/toolkit/tree/main/packages/io
License Copyright:
===
The MIT License (MIT)
Copyright 2019 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 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.

6
dist/main.d.ts generated vendored Normal file
View File

@@ -0,0 +1,6 @@
/**
* The main function for the action.
*
* @returns Resolves when the action is complete.
*/
export declare function run(): Promise<void>;

7
dist/wait.d.ts generated vendored Normal file
View File

@@ -0,0 +1,7 @@
/**
* Waits for a number of milliseconds.
*
* @param milliseconds The number of milliseconds to wait.
* @returns Resolves with 'done!' after the wait is over.
*/
export declare function wait(milliseconds: number): Promise<string>;

View File

@@ -9,9 +9,13 @@ import _import from 'eslint-plugin-import'
import jest from 'eslint-plugin-jest'
import prettier from 'eslint-plugin-prettier'
import globals from 'globals'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const compat = new FlatCompat({
baseDirectory: import.meta.dirname,
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
})
@@ -48,16 +52,8 @@ export default [
sourceType: 'module',
parserOptions: {
projectService: {
allowDefaultProject: [
'__fixtures__/*.ts',
'__tests__/*.ts',
'eslint.config.mjs',
'jest.config.js',
'rollup.config.ts'
]
},
tsconfigRootDir: import.meta.dirname
project: ['tsconfig.eslint.json'],
tsconfigRootDir: '.'
}
},
@@ -65,7 +61,7 @@ export default [
'import/resolver': {
typescript: {
alwaysTryTypes: true,
project: 'tsconfig.json'
project: 'tsconfig.eslint.json'
}
}
},

View File

@@ -31,7 +31,7 @@ export default {
'^.+\\.ts$': [
'ts-jest',
{
tsconfig: 'tsconfig.json',
tsconfig: 'tsconfig.eslint.json',
useESM: true
}
]

4387
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -32,7 +32,7 @@
"format:write": "npx prettier --write .",
"format:check": "npx prettier --check .",
"lint": "npx eslint .",
"package": "npx rimraf ./dist && npx rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript",
"package": "npx rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript",
"package:watch": "npm run package -- --watch",
"test": "NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 npx jest",
"all": "npm run format:write && npm run lint && npm run test && npm run coverage && npm run package"
@@ -40,34 +40,34 @@
"license": "MIT",
"dependencies": {
"@actions/core": "^1.11.1",
"@actions/github": "^6.0.1"
"@actions/github": "^6.0.0"
},
"devDependencies": {
"@eslint/compat": "^1.4.0",
"@jest/globals": "^30.2.0",
"@rollup/plugin-commonjs": "^29.0.0",
"@rollup/plugin-node-resolve": "^16.0.3",
"@rollup/plugin-typescript": "^12.3.0",
"@types/jest": "^30.0.0",
"@types/node": "^24.10.1",
"@typescript-eslint/eslint-plugin": "^8.49.0",
"@typescript-eslint/parser": "^8.39.0",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest": "^29.5.0",
"eslint-plugin-prettier": "^5.5.4",
"globals": "^16.5.0",
"jest": "^30.2.0",
"@eslint/compat": "^1.2.6",
"@jest/globals": "^29.7.0",
"@rollup/plugin-commonjs": "^28.0.2",
"@rollup/plugin-node-resolve": "^16.0.0",
"@rollup/plugin-typescript": "^12.1.2",
"@types/jest": "^29.5.14",
"@types/node": "^22.13.1",
"@typescript-eslint/eslint-plugin": "^8.24.0",
"@typescript-eslint/parser": "^8.24.0",
"eslint": "^9.20.1",
"eslint-config-prettier": "^10.0.1",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jest": "^28.11.0",
"eslint-plugin-prettier": "^5.2.3",
"jest": "^29.7.0",
"make-coverage-badge": "^1.2.0",
"prettier": "^3.7.4",
"prettier-eslint": "^16.4.2",
"rollup": "^4.53.4",
"ts-jest": "^29.4.6",
"prettier": "^3.5.0",
"prettier-eslint": "^16.3.0",
"rollup": "^4.34.6",
"rollup-plugin-license": "^3.5.3",
"ts-jest": "^29.2.5",
"ts-jest-resolver": "^2.0.1",
"ts-node": "^10.9.2",
"typescript": "^5.9.3"
"typescript": "^5.7.3"
},
"optionalDependencies": {
"@rollup/rollup-linux-x64-gnu": "*"

View File

@@ -3,6 +3,7 @@
import commonjs from '@rollup/plugin-commonjs'
import nodeResolve from '@rollup/plugin-node-resolve'
import typescript from '@rollup/plugin-typescript'
import license from 'rollup-plugin-license'
const config = {
input: 'src/index.ts',
@@ -10,9 +11,19 @@ const config = {
esModule: true,
file: 'dist/index.js',
format: 'es',
sourcemap: false
sourcemap: true
},
plugins: [typescript(), nodeResolve({ preferBuiltins: true }), commonjs()]
plugins: [
typescript(),
nodeResolve({ preferBuiltins: true }),
commonjs(),
license({
sourcemap: true,
thirdParty: {
output: 'dist/licenses.txt'
}
})
]
}
export default config

22
tsconfig.base.json Normal file
View File

@@ -0,0 +1,22 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": true,
"declarationMap": false,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"lib": ["ES2022"],
"module": "NodeNext",
"moduleResolution": "NodeNext",
"newLine": "lf",
"noImplicitAny": true,
"noUnusedLocals": true,
"noUnusedParameters": false,
"pretty": true,
"resolveJsonModule": true,
"strict": true,
"strictNullChecks": true,
"target": "ES2022"
}
}

17
tsconfig.eslint.json Normal file
View File

@@ -0,0 +1,17 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "./tsconfig.base.json",
"compilerOptions": {
"allowJs": true,
"noEmit": true
},
"exclude": ["dist", "node_modules"],
"include": [
"__fixtures__",
"__tests__",
"src",
"eslint.config.mjs",
"jest.config.js",
"rollup.config.ts"
]
}

View File

@@ -1,26 +1,10 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "./tsconfig.base.json",
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"declarationMap": false,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"lib": ["ES2022"],
"module": "NodeNext",
"moduleResolution": "NodeNext",
"newLine": "lf",
"noImplicitAny": true,
"noUnusedLocals": true,
"noUnusedParameters": false,
"outDir": "./dist",
"pretty": true,
"resolveJsonModule": true,
"sourceMap": false,
"strict": true,
"strictNullChecks": true,
"target": "ES2022"
"outDir": "./dist"
},
"exclude": ["__fixtures__", "__tests__", "coverage", "dist", "node_modules"],
"include": ["src"]