├── .dockerignore
├── .editorconfig
├── .eslintignore
├── .eslintrc.json
├── .gitattributes
├── .github
├── CODEOWNERS
├── CONTRIBUTING.md
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug.yml
│ ├── config.yml
│ └── feature.yml
├── SUPPORT.md
├── dependabot.yml
├── labels.yml
├── mage-action.png
├── mage-releases.json
└── workflows
│ ├── ci.yml
│ ├── labels.yml
│ ├── mage-releases-json.yml
│ ├── test.yml
│ └── validate.yml
├── .gitignore
├── .prettierignore
├── .prettierrc.json
├── .yarn
└── plugins
│ └── @yarnpkg
│ └── plugin-interactive-tools.cjs
├── .yarnrc.yml
├── LICENSE
├── README.md
├── __tests__
└── installer.test.ts
├── action.yml
├── codecov.yml
├── dev.Dockerfile
├── dist
├── index.js
├── index.js.map
├── licenses.txt
└── sourcemap-register.js
├── docker-bake.hcl
├── jest.config.ts
├── package.json
├── src
├── installer.ts
└── main.ts
├── test
├── go.mod
├── go.sum
├── magefile.go
├── main.go
└── tools.go
├── tsconfig.json
└── yarn.lock
/.dockerignore:
--------------------------------------------------------------------------------
1 | /coverage
2 |
3 | # Dependency directories
4 | node_modules/
5 | jspm_packages/
6 |
7 | # yarn v2
8 | .yarn/cache
9 | .yarn/unplugged
10 | .yarn/build-state.yml
11 | .yarn/install-state.gz
12 | .pnp.*
13 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # This file is for unifying the coding style for different editors and IDEs.
2 | # More information at http://editorconfig.org
3 |
4 | root = true
5 |
6 | [*]
7 | indent_style = space
8 | indent_size = 2
9 | end_of_line = lf
10 | charset = utf-8
11 | trim_trailing_whitespace = true
12 | insert_final_newline = true
13 |
14 | [*.md]
15 | trim_trailing_whitespace = false
16 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | /dist/**
2 | /coverage/**
3 | /node_modules/**
4 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "node": true,
4 | "es6": true,
5 | "jest": true
6 | },
7 | "extends": [
8 | "eslint:recommended",
9 | "plugin:@typescript-eslint/eslint-recommended",
10 | "plugin:@typescript-eslint/recommended",
11 | "plugin:jest/recommended",
12 | "plugin:prettier/recommended"
13 | ],
14 | "parser": "@typescript-eslint/parser",
15 | "parserOptions": {
16 | "ecmaVersion": "latest",
17 | "sourceType": "module"
18 | },
19 | "plugins": [
20 | "@typescript-eslint",
21 | "jest",
22 | "prettier"
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | /.yarn/releases/** binary
2 | /.yarn/plugins/** binary
3 | /dist/** linguist-generated=true
4 | /lib/** linguist-generated=true
5 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @crazy-max
2 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ## Contributing
2 |
3 | Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
4 |
5 | Contributions to this project are [released](https://docs.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license)
6 | to the public under the [project's open source license](LICENSE).
7 |
8 | ## Submitting a pull request
9 |
10 | 1. [Fork](https://github.com/mage/mage-action/fork) and clone the repository
11 | 2. Configure and install the dependencies: `yarn install`
12 | 3. Create a new branch: `git checkout -b my-branch-name`
13 | 4. Make your changes
14 | 5. Make sure the tests pass: `docker buildx bake test`
15 | 6. Format code and build javascript artifacts: `docker buildx bake pre-checkin`
16 | 7. Validate all code has correctly formatted and built: `docker buildx bake validate`
17 | 8. Push to your fork and [submit a pull request](https://github.com/mage/mage-action/compare)
18 | 9. Pat your self on the back and wait for your pull request to be reviewed and merged.
19 |
20 | Here are a few things you can do that will increase the likelihood of your pull request being accepted:
21 |
22 | - Write tests.
23 | - Make sure the `README.md` and any other relevant **documentation are kept up-to-date**.
24 | - We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option.
25 | - Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as **separate pull requests**.
26 | - Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
27 |
28 | ## Resources
29 |
30 | - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
31 | - [Using Pull Requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests)
32 | - [GitHub Help](https://docs.github.com/en)
33 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: crazy-max
2 | custom: https://www.paypal.me/crazyws
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug.yml:
--------------------------------------------------------------------------------
1 | # https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
2 | name: Bug Report
3 | description: Report a bug
4 | labels:
5 | - kind/bug
6 | - status/triage
7 |
8 | body:
9 | - type: checkboxes
10 | attributes:
11 | label: Support guidelines
12 | description: Please read the support guidelines before proceeding.
13 | options:
14 | - label: I've read the [support guidelines](https://github.com/mage/mage-action/blob/master/.github/SUPPORT.md)
15 | required: true
16 |
17 | - type: checkboxes
18 | attributes:
19 | label: I've found a bug and checked that ...
20 | description: |
21 | Make sure that your request fulfills all of the following requirements. If one requirement cannot be satisfied, explain in detail why.
22 | options:
23 | - label: ... the documentation does not mention anything about my problem
24 | - label: ... there are no open or closed issues that are related to my problem
25 |
26 | - type: textarea
27 | attributes:
28 | label: Description
29 | description: |
30 | Please provide a brief description of the bug in 1-2 sentences.
31 | validations:
32 | required: true
33 |
34 | - type: textarea
35 | attributes:
36 | label: Expected behaviour
37 | description: |
38 | Please describe precisely what you'd expect to happen.
39 | validations:
40 | required: true
41 |
42 | - type: textarea
43 | attributes:
44 | label: Actual behaviour
45 | description: |
46 | Please describe precisely what is actually happening.
47 | validations:
48 | required: true
49 |
50 | - type: textarea
51 | attributes:
52 | label: Steps to reproduce
53 | description: |
54 | Please describe the steps to reproduce the bug.
55 | placeholder: |
56 | 1. ...
57 | 2. ...
58 | 3. ...
59 | validations:
60 | required: true
61 |
62 | - type: input
63 | attributes:
64 | label: Repository URL
65 | description: >
66 | Enter the URL of the repository where you are experiencing the
67 | issue. If your repository is private, provide a link to a minimal
68 | repository that reproduces the issue.
69 | validations:
70 | required: true
71 |
72 | - type: input
73 | attributes:
74 | label: Workflow run URL
75 | description: >
76 | Enter the URL of the GitHub Action workflow run that fails (e.g.
77 | `https://github.com///actions/runs/`)
78 |
79 | - type: textarea
80 | attributes:
81 | label: YAML workflow
82 | description: |
83 | Provide the YAML of the workflow that's causing the issue.
84 | Make sure to remove any sensitive information.
85 | render: yaml
86 | validations:
87 | required: true
88 |
89 | - type: textarea
90 | attributes:
91 | label: Workflow logs
92 | description: >
93 | [Attach](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)
94 | the [log file of your workflow run](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
95 | and make sure to remove any sensitive information.
96 |
97 | - type: textarea
98 | attributes:
99 | label: Additional info
100 | description: |
101 | Please provide any additional information that seem useful.
102 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | # https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
2 | blank_issues_enabled: true
3 | contact_links:
4 | - name: Questions and Discussions
5 | url: https://github.com/mage/mage-action/discussions/new
6 | about: Use Github Discussions to ask questions and/or open discussion topics.
7 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature.yml:
--------------------------------------------------------------------------------
1 | # https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
2 | name: Feature request
3 | description: Missing functionality? Come tell us about it!
4 | labels:
5 | - kind/enhancement
6 | - status/triage
7 |
8 | body:
9 | - type: textarea
10 | id: description
11 | attributes:
12 | label: Description
13 | description: What is the feature you want to see?
14 | validations:
15 | required: true
16 |
--------------------------------------------------------------------------------
/.github/SUPPORT.md:
--------------------------------------------------------------------------------
1 | # Support [](https://isitmaintained.com/project/magefile/mage-action)
2 |
3 | ## Reporting an issue
4 |
5 | Please do a search in [open issues](https://github.com/magefile/mage-action/issues?utf8=%E2%9C%93&q=) to see if the issue or feature request has already been filed.
6 |
7 | If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment.
8 |
9 | :+1: - upvote
10 |
11 | :-1: - downvote
12 |
13 | If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
14 |
15 | ## Writing good bug reports and feature requests
16 |
17 | File a single issue per problem and feature request.
18 |
19 | * Do not enumerate multiple bugs or feature requests in the same issue.
20 | * Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
21 |
22 | The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
23 |
24 | You are now ready to [create a new issue](https://github.com/magefile/mage-action/issues/new/choose)!
25 |
26 | ## Closure policy
27 |
28 | * Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
29 | * Issues that go a week without a response from original poster are subject to closure at my discretion.
30 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "github-actions"
4 | directory: "/"
5 | schedule:
6 | interval: "daily"
7 | labels:
8 | - "kind/dependencies"
9 | - "bot"
10 | - package-ecosystem: "npm"
11 | directory: "/"
12 | schedule:
13 | interval: "daily"
14 | versioning-strategy: "increase"
15 | allow:
16 | - dependency-type: "production"
17 | labels:
18 | - "kind/dependencies"
19 | - "bot"
20 |
--------------------------------------------------------------------------------
/.github/labels.yml:
--------------------------------------------------------------------------------
1 | ## more info https://github.com/crazy-max/ghaction-github-labeler
2 | -
3 | name: "bot"
4 | color: "69cde9"
5 | description: ""
6 | -
7 | name: "good first issue"
8 | color: "7057ff"
9 | description: ""
10 | -
11 | name: "help wanted"
12 | color: "4caf50"
13 | description: ""
14 | -
15 | name: "area/ci"
16 | color: "ed9ca9"
17 | description: ""
18 | -
19 | name: "kind/bug"
20 | color: "b60205"
21 | description: ""
22 | -
23 | name: "kind/dependencies"
24 | color: "0366d6"
25 | description: ""
26 | -
27 | name: "kind/docs"
28 | color: "c5def5"
29 | description: ""
30 | -
31 | name: "kind/duplicate"
32 | color: "cccccc"
33 | description: ""
34 | -
35 | name: "kind/enhancement"
36 | color: "0054ca"
37 | description: ""
38 | -
39 | name: "kind/invalid"
40 | color: "e6e6e6"
41 | description: ""
42 | -
43 | name: "kind/upstream"
44 | color: "fbca04"
45 | description: ""
46 | -
47 | name: "kind/wontfix"
48 | color: "ffffff"
49 | description: ""
50 | -
51 | name: "status/automerge"
52 | color: "8f4fbc"
53 | description: ""
54 | -
55 | name: "status/needs-investigation"
56 | color: "e6625b"
57 | description: ""
58 | -
59 | name: "status/needs-more-info"
60 | color: "795548"
61 | description: ""
62 | -
63 | name: "status/stale"
64 | color: "237da0"
65 | description: ""
66 | -
67 | name: "status/triage"
68 | color: "dde4b7"
69 | description: ""
70 |
--------------------------------------------------------------------------------
/.github/mage-action.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/magefile/mage-action/6f50bbb8ea47d56e62dee92392788acbc8192d0b/.github/mage-action.png
--------------------------------------------------------------------------------
/.github/mage-releases.json:
--------------------------------------------------------------------------------
1 | {
2 | "latest": {
3 | "id": 102662416,
4 | "tag_name": "v1.15.0",
5 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.15.0",
6 | "assets": [
7 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_DragonFlyBSD-64bit.tar.gz",
8 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_FreeBSD-64bit.tar.gz",
9 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_FreeBSD-ARM.tar.gz",
10 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_FreeBSD-ARM64.tar.gz",
11 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Linux-64bit.tar.gz",
12 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Linux-ARM.tar.gz",
13 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Linux-ARM64.tar.gz",
14 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_NetBSD-64bit.tar.gz",
15 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_NetBSD-ARM.tar.gz",
16 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_OpenBSD-64bit.tar.gz",
17 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_OpenBSD-ARM64.tar.gz",
18 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Windows-64bit.zip",
19 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Windows-ARM.zip",
20 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_checksums.txt",
21 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_macOS-64bit.tar.gz"
22 | ]
23 | },
24 | "v1.15.0": {
25 | "id": 102662416,
26 | "tag_name": "v1.15.0",
27 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.15.0",
28 | "assets": [
29 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_DragonFlyBSD-64bit.tar.gz",
30 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_FreeBSD-64bit.tar.gz",
31 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_FreeBSD-ARM.tar.gz",
32 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_FreeBSD-ARM64.tar.gz",
33 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Linux-64bit.tar.gz",
34 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Linux-ARM.tar.gz",
35 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Linux-ARM64.tar.gz",
36 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_NetBSD-64bit.tar.gz",
37 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_NetBSD-ARM.tar.gz",
38 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_OpenBSD-64bit.tar.gz",
39 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_OpenBSD-ARM64.tar.gz",
40 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Windows-64bit.zip",
41 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_Windows-ARM.zip",
42 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_checksums.txt",
43 | "https://github.com/magefile/mage/releases/download/v1.15.0/mage_1.15.0_macOS-64bit.tar.gz"
44 | ]
45 | },
46 | "v1.14.0": {
47 | "id": 77420565,
48 | "tag_name": "v1.14.0",
49 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.14.0",
50 | "assets": [
51 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_DragonFlyBSD-64bit.tar.gz",
52 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_FreeBSD-64bit.tar.gz",
53 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_FreeBSD-ARM.tar.gz",
54 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_FreeBSD-ARM64.tar.gz",
55 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_Linux-64bit.tar.gz",
56 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_Linux-ARM.tar.gz",
57 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_Linux-ARM64.tar.gz",
58 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_NetBSD-64bit.tar.gz",
59 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_NetBSD-ARM.tar.gz",
60 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_OpenBSD-64bit.tar.gz",
61 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_OpenBSD-ARM64.tar.gz",
62 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_Windows-64bit.zip",
63 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_Windows-ARM.zip",
64 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_Windows-ARM64.zip",
65 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_checksums.txt",
66 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_macOS-64bit.tar.gz",
67 | "https://github.com/magefile/mage/releases/download/v1.14.0/mage_1.14.0_macOS-ARM64.tar.gz"
68 | ]
69 | },
70 | "v1.13.0": {
71 | "id": 62023706,
72 | "tag_name": "v1.13.0",
73 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.13.0",
74 | "assets": [
75 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_DragonFlyBSD-64bit.tar.gz",
76 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_FreeBSD-64bit.tar.gz",
77 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_FreeBSD-ARM.tar.gz",
78 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_FreeBSD-ARM64.tar.gz",
79 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_Linux-64bit.tar.gz",
80 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_Linux-ARM.tar.gz",
81 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_Linux-ARM64.tar.gz",
82 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_NetBSD-64bit.tar.gz",
83 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_NetBSD-ARM.tar.gz",
84 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_OpenBSD-64bit.tar.gz",
85 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_OpenBSD-ARM64.tar.gz",
86 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_Windows-64bit.zip",
87 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_Windows-ARM.zip",
88 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_Windows-ARM64.zip",
89 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_checksums.txt",
90 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_macOS-64bit.tar.gz",
91 | "https://github.com/magefile/mage/releases/download/v1.13.0/mage_1.13.0_macOS-ARM64.tar.gz"
92 | ]
93 | },
94 | "v1.12.1": {
95 | "id": 55556652,
96 | "tag_name": "v1.12.1",
97 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.12.1",
98 | "assets": [
99 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_DragonFlyBSD-64bit.tar.gz",
100 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_FreeBSD-64bit.tar.gz",
101 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_FreeBSD-ARM.tar.gz",
102 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_FreeBSD-ARM64.tar.gz",
103 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_Linux-64bit.tar.gz",
104 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_Linux-ARM.tar.gz",
105 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_Linux-ARM64.tar.gz",
106 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_NetBSD-64bit.tar.gz",
107 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_NetBSD-ARM.tar.gz",
108 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_OpenBSD-64bit.tar.gz",
109 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_OpenBSD-ARM64.tar.gz",
110 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_Windows-64bit.zip",
111 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_Windows-ARM.zip",
112 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_Windows-ARM64.zip",
113 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_checksums.txt",
114 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_macOS-64bit.tar.gz",
115 | "https://github.com/magefile/mage/releases/download/v1.12.1/mage_1.12.1_macOS-ARM64.tar.gz"
116 | ]
117 | },
118 | "v1.12.0": {
119 | "id": 55456860,
120 | "tag_name": "v1.12.0",
121 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.12.0",
122 | "assets": [
123 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_DragonFlyBSD-64bit.tar.gz",
124 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_FreeBSD-64bit.tar.gz",
125 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_FreeBSD-ARM.tar.gz",
126 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_FreeBSD-ARM64.tar.gz",
127 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_Linux-64bit.tar.gz",
128 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_Linux-ARM.tar.gz",
129 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_Linux-ARM64.tar.gz",
130 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_NetBSD-64bit.tar.gz",
131 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_NetBSD-ARM.tar.gz",
132 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_OpenBSD-64bit.tar.gz",
133 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_OpenBSD-ARM64.tar.gz",
134 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_Windows-64bit.zip",
135 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_Windows-ARM.zip",
136 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_Windows-ARM64.zip",
137 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_checksums.txt",
138 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_macOS-64bit.tar.gz",
139 | "https://github.com/magefile/mage/releases/download/v1.12.0/mage_1.12.0_macOS-ARM64.tar.gz"
140 | ]
141 | },
142 | "v1.11.0": {
143 | "id": 35793647,
144 | "tag_name": "v1.11.0",
145 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.11.0",
146 | "assets": [
147 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_DragonFlyBSD-64bit.tar.gz",
148 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_FreeBSD-64bit.tar.gz",
149 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_FreeBSD-ARM.tar.gz",
150 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_Linux-64bit.tar.gz",
151 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_Linux-ARM.tar.gz",
152 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_Linux-ARM64.tar.gz",
153 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_NetBSD-64bit.tar.gz",
154 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_NetBSD-ARM.tar.gz",
155 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_OpenBSD-64bit.tar.gz",
156 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_Windows-64bit.zip",
157 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_checksums.txt",
158 | "https://github.com/magefile/mage/releases/download/v1.11.0/mage_1.11.0_macOS-64bit.tar.gz"
159 | ]
160 | },
161 | "v1.10.0": {
162 | "id": 28373323,
163 | "tag_name": "v1.10.0",
164 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.10.0",
165 | "assets": [
166 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_DragonFlyBSD-64bit.tar.gz",
167 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_FreeBSD-32bit.tar.gz",
168 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_FreeBSD-64bit.tar.gz",
169 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_FreeBSD-ARM.tar.gz",
170 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_Linux-32bit.tar.gz",
171 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_Linux-64bit.tar.gz",
172 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_Linux-ARM.tar.gz",
173 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_Linux-ARM64.tar.gz",
174 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_NetBSD-32bit.tar.gz",
175 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_NetBSD-64bit.tar.gz",
176 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_NetBSD-ARM.tar.gz",
177 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_OpenBSD-32bit.tar.gz",
178 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_OpenBSD-64bit.tar.gz",
179 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_Windows-32bit.zip",
180 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_Windows-64bit.zip",
181 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_checksums.txt",
182 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_macOS-32bit.tar.gz",
183 | "https://github.com/magefile/mage/releases/download/v1.10.0/mage_1.10.0_macOS-64bit.tar.gz"
184 | ]
185 | },
186 | "v1.9.0": {
187 | "id": 19981557,
188 | "tag_name": "v1.9.0",
189 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.9.0",
190 | "assets": [
191 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_DragonFlyBSD-64bit.tar.gz",
192 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_FreeBSD-32bit.tar.gz",
193 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_FreeBSD-64bit.tar.gz",
194 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_FreeBSD-ARM.tar.gz",
195 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_Linux-32bit.tar.gz",
196 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_Linux-64bit.tar.gz",
197 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_Linux-ARM.tar.gz",
198 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_Linux-ARM64.tar.gz",
199 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_NetBSD-32bit.tar.gz",
200 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_NetBSD-64bit.tar.gz",
201 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_NetBSD-ARM.tar.gz",
202 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_OpenBSD-32bit.tar.gz",
203 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_OpenBSD-64bit.tar.gz",
204 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_Windows-32bit.zip",
205 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_Windows-64bit.zip",
206 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_checksums.txt",
207 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_macOS-32bit.tar.gz",
208 | "https://github.com/magefile/mage/releases/download/v1.9.0/mage_1.9.0_macOS-64bit.tar.gz"
209 | ]
210 | },
211 | "v1.8.0": {
212 | "id": 14481575,
213 | "tag_name": "v1.8.0",
214 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.8.0",
215 | "assets": [
216 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_DragonFlyBSD-64bit.tar.gz",
217 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_FreeBSD-32bit.tar.gz",
218 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_FreeBSD-64bit.tar.gz",
219 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_FreeBSD-ARM.tar.gz",
220 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_Linux-32bit.tar.gz",
221 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_Linux-64bit.tar.gz",
222 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_Linux-ARM.tar.gz",
223 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_Linux-ARM64.tar.gz",
224 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_NetBSD-32bit.tar.gz",
225 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_NetBSD-64bit.tar.gz",
226 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_NetBSD-ARM.tar.gz",
227 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_OpenBSD-32bit.tar.gz",
228 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_OpenBSD-64bit.tar.gz",
229 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_Windows-32bit.zip",
230 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_Windows-64bit.zip",
231 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_checksums.txt",
232 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_macOS-32bit.tar.gz",
233 | "https://github.com/magefile/mage/releases/download/v1.8.0/mage_1.8.0_macOS-64bit.tar.gz"
234 | ]
235 | },
236 | "v1.7.1": {
237 | "id": 13488347,
238 | "tag_name": "v1.7.1",
239 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.7.1",
240 | "assets": [
241 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_DragonFlyBSD-64bit.tar.gz",
242 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_FreeBSD-32bit.tar.gz",
243 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_FreeBSD-64bit.tar.gz",
244 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_FreeBSD-ARM.tar.gz",
245 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_Linux-32bit.tar.gz",
246 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_Linux-64bit.tar.gz",
247 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_Linux-ARM.tar.gz",
248 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_Linux-ARM64.tar.gz",
249 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_NetBSD-32bit.tar.gz",
250 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_NetBSD-64bit.tar.gz",
251 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_NetBSD-ARM.tar.gz",
252 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_OpenBSD-32bit.tar.gz",
253 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_OpenBSD-64bit.tar.gz",
254 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_Windows-32bit.zip",
255 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_Windows-64bit.zip",
256 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_checksums.txt",
257 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_macOS-32bit.tar.gz",
258 | "https://github.com/magefile/mage/releases/download/v1.7.1/mage_1.7.1_macOS-64bit.tar.gz"
259 | ]
260 | },
261 | "v1.7.0": {
262 | "id": 13364751,
263 | "tag_name": "v1.7.0",
264 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.7.0",
265 | "assets": [
266 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_DragonFlyBSD-64bit.tar.gz",
267 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_FreeBSD-32bit.tar.gz",
268 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_FreeBSD-64bit.tar.gz",
269 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_FreeBSD-ARM.tar.gz",
270 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_Linux-32bit.tar.gz",
271 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_Linux-64bit.tar.gz",
272 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_Linux-ARM.tar.gz",
273 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_Linux-ARM64.tar.gz",
274 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_NetBSD-32bit.tar.gz",
275 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_NetBSD-64bit.tar.gz",
276 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_NetBSD-ARM.tar.gz",
277 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_OpenBSD-32bit.tar.gz",
278 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_OpenBSD-64bit.tar.gz",
279 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_Windows-32bit.zip",
280 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_Windows-64bit.zip",
281 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_checksums.txt",
282 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_macOS-32bit.tar.gz",
283 | "https://github.com/magefile/mage/releases/download/v1.7.0/mage_1.7.0_macOS-64bit.tar.gz"
284 | ]
285 | },
286 | "v1.6.2": {
287 | "id": 13025196,
288 | "tag_name": "v1.6.2",
289 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.6.2",
290 | "assets": [
291 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_DragonFlyBSD-64bit.tar.gz",
292 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_FreeBSD-32bit.tar.gz",
293 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_FreeBSD-64bit.tar.gz",
294 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_FreeBSD-ARM.tar.gz",
295 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_Linux-32bit.tar.gz",
296 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_Linux-64bit.tar.gz",
297 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_Linux-ARM.tar.gz",
298 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_Linux-ARM64.tar.gz",
299 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_NetBSD-32bit.tar.gz",
300 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_NetBSD-64bit.tar.gz",
301 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_NetBSD-ARM.tar.gz",
302 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_OpenBSD-32bit.tar.gz",
303 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_OpenBSD-64bit.tar.gz",
304 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_Windows-32bit.zip",
305 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_Windows-64bit.zip",
306 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_checksums.txt",
307 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_macOS-32bit.tar.gz",
308 | "https://github.com/magefile/mage/releases/download/v1.6.2/mage_1.6.2_macOS-64bit.tar.gz"
309 | ]
310 | },
311 | "v1.6.1": {
312 | "id": 12992651,
313 | "tag_name": "v1.6.1",
314 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.6.1",
315 | "assets": [
316 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_DragonFlyBSD-64bit.tar.gz",
317 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_FreeBSD-32bit.tar.gz",
318 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_FreeBSD-64bit.tar.gz",
319 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_FreeBSD-ARM.tar.gz",
320 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_Linux-32bit.tar.gz",
321 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_Linux-64bit.tar.gz",
322 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_Linux-ARM.tar.gz",
323 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_Linux-ARM64.tar.gz",
324 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_NetBSD-32bit.tar.gz",
325 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_NetBSD-64bit.tar.gz",
326 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_NetBSD-ARM.tar.gz",
327 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_OpenBSD-32bit.tar.gz",
328 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_OpenBSD-64bit.tar.gz",
329 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_Windows-32bit.zip",
330 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_Windows-64bit.zip",
331 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_checksums.txt",
332 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_macOS-32bit.tar.gz",
333 | "https://github.com/magefile/mage/releases/download/v1.6.1/mage_1.6.1_macOS-64bit.tar.gz"
334 | ]
335 | },
336 | "v1.6.0": {
337 | "id": 12971916,
338 | "tag_name": "v1.6.0",
339 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.6.0",
340 | "assets": [
341 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_DragonFlyBSD-64bit.tar.gz",
342 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_FreeBSD-32bit.tar.gz",
343 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_FreeBSD-64bit.tar.gz",
344 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_FreeBSD-ARM.tar.gz",
345 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_Linux-32bit.tar.gz",
346 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_Linux-64bit.tar.gz",
347 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_Linux-ARM.tar.gz",
348 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_Linux-ARM64.tar.gz",
349 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_NetBSD-32bit.tar.gz",
350 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_NetBSD-64bit.tar.gz",
351 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_NetBSD-ARM.tar.gz",
352 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_OpenBSD-32bit.tar.gz",
353 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_OpenBSD-64bit.tar.gz",
354 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_Windows-32bit.zip",
355 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_Windows-64bit.zip",
356 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_checksums.txt",
357 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_macOS-32bit.tar.gz",
358 | "https://github.com/magefile/mage/releases/download/v1.6.0/mage_1.6.0_macOS-64bit.tar.gz"
359 | ]
360 | },
361 | "v1.5.0": {
362 | "id": 12935587,
363 | "tag_name": "v1.5.0",
364 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.5.0",
365 | "assets": [
366 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_DragonFlyBSD-64bit.tar.gz",
367 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_FreeBSD-32bit.tar.gz",
368 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_FreeBSD-64bit.tar.gz",
369 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_FreeBSD-ARM.tar.gz",
370 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_Linux-32bit.tar.gz",
371 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_Linux-64bit.tar.gz",
372 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_Linux-ARM.tar.gz",
373 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_Linux-ARM64.tar.gz",
374 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_NetBSD-32bit.tar.gz",
375 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_NetBSD-64bit.tar.gz",
376 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_NetBSD-ARM.tar.gz",
377 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_OpenBSD-32bit.tar.gz",
378 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_OpenBSD-64bit.tar.gz",
379 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_Windows-32bit.zip",
380 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_Windows-64bit.zip",
381 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_checksums.txt",
382 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_macOS-32bit.tar.gz",
383 | "https://github.com/magefile/mage/releases/download/v1.5.0/mage_1.5.0_macOS-64bit.tar.gz"
384 | ]
385 | },
386 | "v1.4.0": {
387 | "id": 12829367,
388 | "tag_name": "v1.4.0",
389 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.4.0",
390 | "assets": [
391 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_DragonFlyBSD-64bit.tar.gz",
392 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_FreeBSD-32bit.tar.gz",
393 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_FreeBSD-64bit.tar.gz",
394 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_FreeBSD-ARM.tar.gz",
395 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_Linux-32bit.tar.gz",
396 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_Linux-64bit.tar.gz",
397 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_Linux-ARM.tar.gz",
398 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_Linux-ARM64.tar.gz",
399 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_NetBSD-32bit.tar.gz",
400 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_NetBSD-64bit.tar.gz",
401 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_NetBSD-ARM.tar.gz",
402 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_OpenBSD-32bit.tar.gz",
403 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_OpenBSD-64bit.tar.gz",
404 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_Windows-32bit.zip",
405 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_Windows-64bit.zip",
406 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_checksums.txt",
407 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_macOS-32bit.tar.gz",
408 | "https://github.com/magefile/mage/releases/download/v1.4.0/mage_1.4.0_macOS-64bit.tar.gz"
409 | ]
410 | },
411 | "v1.3.0": {
412 | "id": 12775702,
413 | "tag_name": "v1.3.0",
414 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.3.0",
415 | "assets": [
416 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_DragonFlyBSD-64bit.tar.gz",
417 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_FreeBSD-32bit.tar.gz",
418 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_FreeBSD-64bit.tar.gz",
419 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_FreeBSD-ARM.tar.gz",
420 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_Linux-32bit.tar.gz",
421 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_Linux-64bit.tar.gz",
422 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_Linux-ARM.tar.gz",
423 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_Linux-ARM64.tar.gz",
424 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_NetBSD-32bit.tar.gz",
425 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_NetBSD-64bit.tar.gz",
426 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_NetBSD-ARM.tar.gz",
427 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_OpenBSD-32bit.tar.gz",
428 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_OpenBSD-64bit.tar.gz",
429 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_Windows-32bit.zip",
430 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_Windows-64bit.zip",
431 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_checksums.txt",
432 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_macOS-32bit.tar.gz",
433 | "https://github.com/magefile/mage/releases/download/v1.3.0/mage_1.3.0_macOS-64bit.tar.gz"
434 | ]
435 | },
436 | "v1.2.4": {
437 | "id": 12702011,
438 | "tag_name": "v1.2.4",
439 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.2.4",
440 | "assets": [
441 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_DragonFlyBSD-64bit.tar.gz",
442 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_FreeBSD-32bit.tar.gz",
443 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_FreeBSD-64bit.tar.gz",
444 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_FreeBSD-ARM.tar.gz",
445 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_Linux-32bit.tar.gz",
446 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_Linux-64bit.tar.gz",
447 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_Linux-ARM.tar.gz",
448 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_Linux-ARM64.tar.gz",
449 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_NetBSD-32bit.tar.gz",
450 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_NetBSD-64bit.tar.gz",
451 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_NetBSD-ARM.tar.gz",
452 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_OpenBSD-32bit.tar.gz",
453 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_OpenBSD-64bit.tar.gz",
454 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_Windows-32bit.zip",
455 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_Windows-64bit.zip",
456 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_checksums.txt",
457 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_macOS-32bit.tar.gz",
458 | "https://github.com/magefile/mage/releases/download/v1.2.4/mage_1.2.4_macOS-64bit.tar.gz"
459 | ]
460 | },
461 | "v1.0.2": {
462 | "id": 8143151,
463 | "tag_name": "v1.0.2",
464 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.0.2",
465 | "assets": [
466 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_DragonFlyBSD-64bit.tar.gz",
467 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_FreeBSD-32bit.tar.gz",
468 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_FreeBSD-64bit.tar.gz",
469 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_FreeBSD-ARM.tar.gz",
470 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_Linux-32bit.tar.gz",
471 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_Linux-64bit.tar.gz",
472 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_Linux-ARM.tar.gz",
473 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_Linux-ARM64.tar.gz",
474 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_NetBSD-32bit.tar.gz",
475 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_NetBSD-64bit.tar.gz",
476 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_NetBSD-ARM.tar.gz",
477 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_OpenBSD-32bit.tar.gz",
478 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_OpenBSD-64bit.tar.gz",
479 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_Windows-32bit.zip",
480 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_Windows-64bit.zip",
481 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_checksums.txt",
482 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_macOS-32bit.tar.gz",
483 | "https://github.com/magefile/mage/releases/download/v1.0.2/mage_1.0.2_macOS-64bit.tar.gz"
484 | ]
485 | },
486 | "v1.0.1": {
487 | "id": 8127889,
488 | "tag_name": "v1.0.1",
489 | "html_url": "https://github.com/magefile/mage/releases/tag/v1.0.1",
490 | "assets": []
491 | },
492 | "v1": {
493 | "id": 8112076,
494 | "tag_name": "v1",
495 | "html_url": "https://github.com/magefile/mage/releases/tag/v1",
496 | "assets": []
497 | }
498 | }
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: ci
2 |
3 | concurrency:
4 | group: ${{ github.workflow }}-${{ github.ref }}
5 | cancel-in-progress: true
6 |
7 | # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
8 | permissions:
9 | contents: read
10 |
11 | on:
12 | schedule:
13 | - cron: '0 10 * * *'
14 | push:
15 | branches:
16 | - 'master'
17 | - 'releases/v*'
18 | tags:
19 | - 'v*'
20 | pull_request:
21 | paths-ignore:
22 | - '.github/mage-releases.json'
23 |
24 | jobs:
25 | ci:
26 | runs-on: ${{ matrix.os }}
27 | strategy:
28 | fail-fast: false
29 | matrix:
30 | os:
31 | - ubuntu-latest
32 | # TODO: uncomment when arm64 binaries are available: https://github.com/magefile/mage/issues/481
33 | # - macos-15
34 | # - macos-14
35 | - macos-13
36 | - windows-latest
37 | version:
38 | - latest
39 | - v1.8.0
40 | steps:
41 | -
42 | name: Checkout
43 | uses: actions/checkout@v4
44 | -
45 | name: Set up Go
46 | uses: actions/setup-go@v5
47 | with:
48 | go-version: "1.20"
49 | cache-dependency-path: test/go.sum
50 | -
51 | name: Mage
52 | uses: ./
53 | with:
54 | version: ${{ matrix.version }}
55 | args: build
56 | workdir: test
57 | cache-binary: false
58 |
59 | install-only:
60 | runs-on: ${{ matrix.os }}
61 | strategy:
62 | fail-fast: false
63 | matrix:
64 | os:
65 | - ubuntu-latest
66 | # TODO: uncomment when arm64 binaries are available: https://github.com/magefile/mage/issues/481
67 | # - macos-15
68 | # - macos-14
69 | - macos-13
70 | - windows-latest
71 | version:
72 | - latest
73 | - v1.8.0
74 | steps:
75 | -
76 | name: Checkout
77 | uses: actions/checkout@v4
78 | -
79 | name: Install Mage
80 | uses: ./
81 | with:
82 | version: ${{ matrix.version }}
83 | install-only: true
84 | cache-binary: false
85 | -
86 | name: Show Mage version
87 | run: mage --version
88 |
89 | cache-binary:
90 | runs-on: ubuntu-latest
91 | steps:
92 | -
93 | name: Checkout
94 | uses: actions/checkout@v4
95 | -
96 | name: Install Mage
97 | uses: ./
98 | with:
99 | version: v1.14.0
100 | install-only: true
101 | cache-binary: true
102 | -
103 | name: Show Mage version
104 | run: mage --version
105 |
--------------------------------------------------------------------------------
/.github/workflows/labels.yml:
--------------------------------------------------------------------------------
1 | name: labels
2 |
3 | concurrency:
4 | group: ${{ github.workflow }}-${{ github.ref }}
5 | cancel-in-progress: true
6 |
7 | # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
8 | permissions:
9 | contents: read
10 |
11 | on:
12 | push:
13 | branches:
14 | - 'master'
15 | paths:
16 | - '.github/labels.yml'
17 | - '.github/workflows/labels.yml'
18 | pull_request:
19 | paths:
20 | - '.github/labels.yml'
21 | - '.github/workflows/labels.yml'
22 |
23 | jobs:
24 | labeler:
25 | runs-on: ubuntu-latest
26 | permissions:
27 | # same as global permissions
28 | contents: read
29 | # required to update labels
30 | issues: write
31 | steps:
32 | -
33 | name: Checkout
34 | uses: actions/checkout@v4
35 | -
36 | name: Run Labeler
37 | uses: crazy-max/ghaction-github-labeler@v5
38 | with:
39 | dry-run: ${{ github.event_name == 'pull_request' }}
40 |
--------------------------------------------------------------------------------
/.github/workflows/mage-releases-json.yml:
--------------------------------------------------------------------------------
1 | name: mage-releases-json
2 |
3 | concurrency:
4 | group: ${{ github.workflow }}-${{ github.ref }}
5 | cancel-in-progress: true
6 |
7 | # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
8 | permissions:
9 | contents: read
10 |
11 | on:
12 | workflow_dispatch:
13 | schedule:
14 | - cron: '0 */12 * * *'
15 | push:
16 | branches:
17 | - 'master'
18 | pull_request:
19 | paths-ignore:
20 | - '.github/mage-releases.json'
21 |
22 | jobs:
23 | generate:
24 | uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
25 | with:
26 | repository: magefile/mage
27 | artifact_name: mage-releases-json
28 | filename: mage-releases.json
29 | secrets: inherit
30 |
31 | open-pr:
32 | runs-on: ubuntu-22.04
33 | if: github.event_name != 'pull_request'
34 | permissions:
35 | # required to create PR
36 | contents: write
37 | pull-requests: write
38 | needs:
39 | - generate
40 | steps:
41 | -
42 | name: Checkout
43 | uses: actions/checkout@v4
44 | -
45 | name: Download
46 | uses: actions/download-artifact@v4
47 | with:
48 | name: mage-releases-json
49 | path: .github
50 | -
51 | name: Commit changes
52 | run: |
53 | git add -A .
54 | -
55 | name: Create PR
56 | uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f
57 | with:
58 | base: master
59 | branch: bot/mage-releases-json
60 | commit-message: "update .github/mage-releases.json"
61 | signoff: true
62 | delete-branch: true
63 | title: "Update `.github/mage-releases.json`"
64 | body: |
65 | Update `.github/mage-releases.json` to keep in sync with [https://github.com/magefile/mage](https://github.com/magefile/mage).
66 | draft: false
67 |
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: test
2 |
3 | concurrency:
4 | group: ${{ github.workflow }}-${{ github.ref }}
5 | cancel-in-progress: true
6 |
7 | # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
8 | permissions:
9 | contents: read
10 |
11 | on:
12 | push:
13 | branches:
14 | - 'master'
15 | - 'releases/v*'
16 | pull_request:
17 | paths-ignore:
18 | - '.github/mage-releases.json'
19 |
20 | jobs:
21 | test:
22 | runs-on: ubuntu-latest
23 | steps:
24 | -
25 | name: Checkout
26 | uses: actions/checkout@v4
27 | -
28 | name: Test
29 | uses: docker/bake-action@v6
30 | with:
31 | source: .
32 | targets: test
33 | -
34 | name: Upload coverage
35 | uses: codecov/codecov-action@v5
36 | with:
37 | files: ./coverage/clover.xml
38 | token: ${{ secrets.CODECOV_TOKEN }}
39 |
--------------------------------------------------------------------------------
/.github/workflows/validate.yml:
--------------------------------------------------------------------------------
1 | name: validate
2 |
3 | concurrency:
4 | group: ${{ github.workflow }}-${{ github.ref }}
5 | cancel-in-progress: true
6 |
7 | # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
8 | permissions:
9 | contents: read
10 |
11 | on:
12 | push:
13 | branches:
14 | - 'master'
15 | - 'releases/v*'
16 | pull_request:
17 | paths-ignore:
18 | - '.github/mage-releases.json'
19 |
20 | jobs:
21 | prepare:
22 | runs-on: ubuntu-latest
23 | outputs:
24 | targets: ${{ steps.generate.outputs.targets }}
25 | steps:
26 | -
27 | name: Checkout
28 | uses: actions/checkout@v4
29 | -
30 | name: List targets
31 | id: generate
32 | uses: docker/bake-action/subaction/list-targets@v6
33 | with:
34 | target: validate
35 |
36 | validate:
37 | runs-on: ubuntu-latest
38 | needs:
39 | - prepare
40 | strategy:
41 | fail-fast: false
42 | matrix:
43 | target: ${{ fromJson(needs.prepare.outputs.targets) }}
44 | steps:
45 | -
46 | name: Validate
47 | uses: docker/bake-action@v6
48 | with:
49 | targets: ${{ matrix.target }}
50 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
2 |
3 | # Logs
4 | logs
5 | *.log
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 | lerna-debug.log*
10 | .pnpm-debug.log*
11 |
12 | # Diagnostic reports (https://nodejs.org/api/report.html)
13 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
14 |
15 | # Runtime data
16 | pids
17 | *.pid
18 | *.seed
19 | *.pid.lock
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 | *.lcov
24 |
25 | # Dependency directories
26 | node_modules/
27 | jspm_packages/
28 |
29 | # TypeScript cache
30 | *.tsbuildinfo
31 |
32 | # Optional npm cache directory
33 | .npm
34 |
35 | # Optional eslint cache
36 | .eslintcache
37 |
38 | # Yarn Integrity file
39 | .yarn-integrity
40 |
41 | # dotenv environment variable files
42 | .env
43 | .env.development.local
44 | .env.test.local
45 | .env.production.local
46 | .env.local
47 |
48 | # yarn v2
49 | .yarn/cache
50 | .yarn/unplugged
51 | .yarn/build-state.yml
52 | .yarn/install-state.gz
53 | .pnp.*
54 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # Dependency directories
2 | node_modules/
3 | jspm_packages/
4 |
5 | # yarn v2
6 | .yarn/
7 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 120,
3 | "tabWidth": 2,
4 | "useTabs": false,
5 | "semi": true,
6 | "singleQuote": true,
7 | "trailingComma": "none",
8 | "bracketSpacing": false,
9 | "arrowParens": "avoid",
10 | "parser": "typescript"
11 | }
12 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | logFilters:
2 | - code: YN0013
3 | level: discard
4 | - code: YN0019
5 | level: discard
6 | - code: YN0076
7 | level: discard
8 |
9 | nodeLinker: node-modules
10 |
11 | plugins:
12 | - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
13 | spec: "@yarnpkg/plugin-interactive-tools"
14 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019-2025 CrazyMax
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Mage Action
4 | GitHub Action for Mage
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | ___
15 |
16 | 
17 |
18 | * [Usage](#usage)
19 | * [Customizing](#customizing)
20 | * [inputs](#inputs)
21 | * [License](#license)
22 |
23 | ## Usage
24 |
25 | ### Quick start
26 |
27 | ```yaml
28 | name: mage
29 |
30 | on:
31 | pull_request:
32 | push:
33 |
34 | jobs:
35 | mage:
36 | runs-on: ubuntu-latest
37 | steps:
38 | -
39 | name: Checkout
40 | uses: actions/checkout@v4
41 | -
42 | name: Set up Go
43 | uses: actions/setup-go@v5
44 | -
45 | name: Run Mage
46 | uses: magefile/mage-action@v3
47 | with:
48 | version: latest
49 | args: build
50 | ```
51 |
52 | ### Install Only
53 |
54 | ```yaml
55 | name: mage
56 |
57 | on:
58 | pull_request:
59 | push:
60 |
61 | jobs:
62 | mage:
63 | runs-on: ubuntu-latest
64 | steps:
65 | -
66 | name: Checkout
67 | uses: actions/checkout@v4
68 | -
69 | name: Set up Go
70 | uses: actions/setup-go@v5
71 | -
72 | name: Run Mage
73 | uses: magefile/mage-action@v3
74 | with:
75 | install-only: true
76 | -
77 | name: Show Mage version
78 | run: mage --version
79 | ```
80 |
81 | ## Customizing
82 |
83 | ### inputs
84 |
85 | The following inputs can be used as `step.with` keys:
86 |
87 | | Name | Type | Default | Description |
88 | |----------------|--------|----------|----------------------------------------------|
89 | | `version` | String | `latest` | Mage version. Example: `v1.9.0` |
90 | | `args` | String | | Arguments to pass to Mage |
91 | | `workdir` | String | `.` | Working directory (below repository root) |
92 | | `install-only` | Bool | `false` | Just install Mage |
93 | | `cache-binary` | Bool | `true` | Cache binary to GitHub Actions cache backend |
94 |
95 | ## License
96 |
97 | MIT. See `LICENSE` for more details.
98 |
--------------------------------------------------------------------------------
/__tests__/installer.test.ts:
--------------------------------------------------------------------------------
1 | import {describe, expect, it} from '@jest/globals';
2 | import * as fs from 'fs';
3 | import * as installer from '../src/installer';
4 |
5 | describe('getRelease', () => {
6 | it('returns latest Mage GitHub release', async () => {
7 | const release = await installer.getRelease('latest');
8 | expect(release).not.toBeNull();
9 | expect(release?.tag_name).not.toEqual('');
10 | });
11 |
12 | it('returns v1.8.0 Mage GitHub release', async () => {
13 | const release = await installer.getRelease('v1.8.0');
14 | expect(release).not.toBeNull();
15 | expect(release?.id).toEqual(14481575);
16 | expect(release?.tag_name).toEqual('v1.8.0');
17 | expect(release?.html_url).toEqual('https://github.com/magefile/mage/releases/tag/v1.8.0');
18 | });
19 |
20 | it('unknown release', async () => {
21 | await expect(installer.getRelease('foo')).rejects.toThrow(
22 | new Error(
23 | 'Cannot find Mage release foo in https://raw.githubusercontent.com/magefile/mage-action/master/.github/mage-releases.json'
24 | )
25 | );
26 | });
27 | });
28 |
29 | describe('installer', () => {
30 | it('acquires v1.8.0 version of Mage', async () => {
31 | const mage = await installer.getMage('v1.8.0');
32 | expect(fs.existsSync(mage)).toBe(true);
33 | }, 100000);
34 |
35 | it('acquires v1.8.0 version of Mage from local cache', async () => {
36 | const mage = await installer.getMage('v1.8.0');
37 | expect(fs.existsSync(mage)).toBe(true);
38 | }, 100000);
39 |
40 | it('acquires latest version of Mage', async () => {
41 | const mage = await installer.getMage('latest');
42 | expect(fs.existsSync(mage)).toBe(true);
43 | }, 100000);
44 | });
45 |
--------------------------------------------------------------------------------
/action.yml:
--------------------------------------------------------------------------------
1 | # https://help.github.com/en/articles/metadata-syntax-for-github-actions
2 | name: 'Mage Action'
3 | description: 'GitHub Action for Mage, a Make/rake-like build tool using Go'
4 | author: 'crazy-max'
5 | branding:
6 | color: 'purple'
7 | icon: 'settings'
8 |
9 | inputs:
10 | version:
11 | description: 'Mage version.'
12 | default: 'latest'
13 | required: false
14 | args:
15 | description: 'Arguments to pass to Mage'
16 | required: false
17 | workdir:
18 | description: 'Working directory (below repository root)'
19 | required: false
20 | install-only:
21 | description: 'Just install Mage'
22 | default: 'false'
23 | required: false
24 | cache-binary:
25 | description: 'Cache binary to GitHub Actions cache backend'
26 | default: 'true'
27 | required: false
28 |
29 | runs:
30 | using: 'node20'
31 | main: 'dist/index.js'
32 |
--------------------------------------------------------------------------------
/codecov.yml:
--------------------------------------------------------------------------------
1 | comment: false
2 |
3 | coverage:
4 | status:
5 | project: # settings affecting project coverage
6 | default:
7 | target: auto # auto % coverage target
8 | threshold: 5% # allow for 5% reduction of coverage without failing
9 | patch: off
10 |
11 | github_checks:
12 | annotations: false
13 |
--------------------------------------------------------------------------------
/dev.Dockerfile:
--------------------------------------------------------------------------------
1 | # syntax=docker/dockerfile:1
2 |
3 | ARG NODE_VERSION=20
4 |
5 | FROM node:${NODE_VERSION}-alpine AS base
6 | RUN apk add --no-cache cpio findutils git
7 | WORKDIR /src
8 | RUN --mount=type=bind,target=.,rw \
9 | --mount=type=cache,target=/src/.yarn/cache <&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
31 | git status --porcelain -- yarn.lock
32 | exit 1
33 | fi
34 | EOT
35 |
36 | FROM deps AS build
37 | RUN --mount=type=bind,target=.,rw \
38 | --mount=type=cache,target=/src/.yarn/cache \
39 | --mount=type=cache,target=/src/node_modules \
40 | yarn run build && mkdir /out && cp -Rf dist /out/
41 |
42 | FROM scratch AS build-update
43 | COPY --from=build /out /
44 |
45 | FROM build AS build-validate
46 | RUN --mount=type=bind,target=.,rw <&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
52 | git status --porcelain -- dist
53 | exit 1
54 | fi
55 | EOT
56 |
57 | FROM deps AS format
58 | RUN --mount=type=bind,target=.,rw \
59 | --mount=type=cache,target=/src/.yarn/cache \
60 | --mount=type=cache,target=/src/node_modules \
61 | yarn run format \
62 | && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
63 |
64 | FROM scratch AS format-update
65 | COPY --from=format /out /
66 |
67 | FROM deps AS lint
68 | RUN --mount=type=bind,target=.,rw \
69 | --mount=type=cache,target=/src/.yarn/cache \
70 | --mount=type=cache,target=/src/node_modules \
71 | yarn run lint
72 |
73 | FROM deps AS test
74 | ENV RUNNER_TEMP=/tmp/github_runner
75 | ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
76 | RUN --mount=type=bind,target=.,rw \
77 | --mount=type=cache,target=/src/.yarn/cache \
78 | --mount=type=cache,target=/src/node_modules \
79 | yarn run test --coverage --coverageDirectory=/tmp/coverage
80 |
81 | FROM scratch AS test-coverage
82 | COPY --from=test /tmp/coverage /
83 |
--------------------------------------------------------------------------------
/dist/licenses.txt:
--------------------------------------------------------------------------------
1 | @actions/cache
2 | MIT
3 | The MIT License (MIT)
4 |
5 | Copyright 2019 GitHub
6 |
7 | 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:
8 |
9 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10 |
11 | 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.
12 |
13 | @actions/core
14 | MIT
15 | The MIT License (MIT)
16 |
17 | Copyright 2019 GitHub
18 |
19 | 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:
20 |
21 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
22 |
23 | 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.
24 |
25 | @actions/exec
26 | MIT
27 | The MIT License (MIT)
28 |
29 | Copyright 2019 GitHub
30 |
31 | 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:
32 |
33 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
34 |
35 | 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.
36 |
37 | @actions/glob
38 | MIT
39 | The MIT License (MIT)
40 |
41 | Copyright 2019 GitHub
42 |
43 | 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:
44 |
45 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
46 |
47 | 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.
48 |
49 | @actions/http-client
50 | MIT
51 | Actions Http Client for Node.js
52 |
53 | Copyright (c) GitHub, Inc.
54 |
55 | All rights reserved.
56 |
57 | MIT License
58 |
59 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
60 | associated documentation files (the "Software"), to deal in the Software without restriction,
61 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
62 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
63 | subject to the following conditions:
64 |
65 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
66 |
67 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
68 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
69 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
70 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
71 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
72 |
73 |
74 | @actions/io
75 | MIT
76 | The MIT License (MIT)
77 |
78 | Copyright 2019 GitHub
79 |
80 | 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:
81 |
82 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
83 |
84 | 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.
85 |
86 | @actions/tool-cache
87 | MIT
88 | The MIT License (MIT)
89 |
90 | Copyright 2019 GitHub
91 |
92 | 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:
93 |
94 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
95 |
96 | 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.
97 |
98 | @azure/abort-controller
99 | MIT
100 | The MIT License (MIT)
101 |
102 | Copyright (c) 2020 Microsoft
103 |
104 | Permission is hereby granted, free of charge, to any person obtaining a copy
105 | of this software and associated documentation files (the "Software"), to deal
106 | in the Software without restriction, including without limitation the rights
107 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
108 | copies of the Software, and to permit persons to whom the Software is
109 | furnished to do so, subject to the following conditions:
110 |
111 | The above copyright notice and this permission notice shall be included in all
112 | copies or substantial portions of the Software.
113 |
114 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
115 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
116 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
117 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
118 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
119 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
120 | SOFTWARE.
121 |
122 |
123 | @azure/core-auth
124 | MIT
125 | The MIT License (MIT)
126 |
127 | Copyright (c) 2020 Microsoft
128 |
129 | Permission is hereby granted, free of charge, to any person obtaining a copy
130 | of this software and associated documentation files (the "Software"), to deal
131 | in the Software without restriction, including without limitation the rights
132 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
133 | copies of the Software, and to permit persons to whom the Software is
134 | furnished to do so, subject to the following conditions:
135 |
136 | The above copyright notice and this permission notice shall be included in all
137 | copies or substantial portions of the Software.
138 |
139 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
140 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
141 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
142 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
143 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
144 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
145 | SOFTWARE.
146 |
147 |
148 | @azure/core-http
149 | MIT
150 | The MIT License (MIT)
151 |
152 | Copyright (c) 2020 Microsoft
153 |
154 | Permission is hereby granted, free of charge, to any person obtaining a copy
155 | of this software and associated documentation files (the "Software"), to deal
156 | in the Software without restriction, including without limitation the rights
157 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
158 | copies of the Software, and to permit persons to whom the Software is
159 | furnished to do so, subject to the following conditions:
160 |
161 | The above copyright notice and this permission notice shall be included in all
162 | copies or substantial portions of the Software.
163 |
164 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
165 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
166 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
167 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
168 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
169 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
170 | SOFTWARE.
171 |
172 |
173 | @azure/core-lro
174 | MIT
175 | The MIT License (MIT)
176 |
177 | Copyright (c) 2020 Microsoft
178 |
179 | Permission is hereby granted, free of charge, to any person obtaining a copy
180 | of this software and associated documentation files (the "Software"), to deal
181 | in the Software without restriction, including without limitation the rights
182 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
183 | copies of the Software, and to permit persons to whom the Software is
184 | furnished to do so, subject to the following conditions:
185 |
186 | The above copyright notice and this permission notice shall be included in all
187 | copies or substantial portions of the Software.
188 |
189 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
190 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
191 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
192 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
193 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
194 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
195 | SOFTWARE.
196 |
197 |
198 | @azure/core-paging
199 | MIT
200 | The MIT License (MIT)
201 |
202 | Copyright (c) 2020 Microsoft
203 |
204 | Permission is hereby granted, free of charge, to any person obtaining a copy
205 | of this software and associated documentation files (the "Software"), to deal
206 | in the Software without restriction, including without limitation the rights
207 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
208 | copies of the Software, and to permit persons to whom the Software is
209 | furnished to do so, subject to the following conditions:
210 |
211 | The above copyright notice and this permission notice shall be included in all
212 | copies or substantial portions of the Software.
213 |
214 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
215 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
216 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
217 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
218 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
219 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
220 | SOFTWARE.
221 |
222 |
223 | @azure/core-tracing
224 | MIT
225 | The MIT License (MIT)
226 |
227 | Copyright (c) 2020 Microsoft
228 |
229 | Permission is hereby granted, free of charge, to any person obtaining a copy
230 | of this software and associated documentation files (the "Software"), to deal
231 | in the Software without restriction, including without limitation the rights
232 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
233 | copies of the Software, and to permit persons to whom the Software is
234 | furnished to do so, subject to the following conditions:
235 |
236 | The above copyright notice and this permission notice shall be included in all
237 | copies or substantial portions of the Software.
238 |
239 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
240 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
241 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
242 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
243 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
244 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
245 | SOFTWARE.
246 |
247 |
248 | @azure/core-util
249 | MIT
250 | The MIT License (MIT)
251 |
252 | Copyright (c) 2020 Microsoft
253 |
254 | Permission is hereby granted, free of charge, to any person obtaining a copy
255 | of this software and associated documentation files (the "Software"), to deal
256 | in the Software without restriction, including without limitation the rights
257 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
258 | copies of the Software, and to permit persons to whom the Software is
259 | furnished to do so, subject to the following conditions:
260 |
261 | The above copyright notice and this permission notice shall be included in all
262 | copies or substantial portions of the Software.
263 |
264 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
265 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
266 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
267 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
268 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
269 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
270 | SOFTWARE.
271 |
272 |
273 | @azure/logger
274 | MIT
275 | The MIT License (MIT)
276 |
277 | Copyright (c) 2020 Microsoft
278 |
279 | Permission is hereby granted, free of charge, to any person obtaining a copy
280 | of this software and associated documentation files (the "Software"), to deal
281 | in the Software without restriction, including without limitation the rights
282 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
283 | copies of the Software, and to permit persons to whom the Software is
284 | furnished to do so, subject to the following conditions:
285 |
286 | The above copyright notice and this permission notice shall be included in all
287 | copies or substantial portions of the Software.
288 |
289 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
290 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
291 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
292 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
293 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
294 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
295 | SOFTWARE.
296 |
297 |
298 | @azure/storage-blob
299 | MIT
300 | The MIT License (MIT)
301 |
302 | Copyright (c) 2020 Microsoft
303 |
304 | Permission is hereby granted, free of charge, to any person obtaining a copy
305 | of this software and associated documentation files (the "Software"), to deal
306 | in the Software without restriction, including without limitation the rights
307 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
308 | copies of the Software, and to permit persons to whom the Software is
309 | furnished to do so, subject to the following conditions:
310 |
311 | The above copyright notice and this permission notice shall be included in all
312 | copies or substantial portions of the Software.
313 |
314 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
315 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
316 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
317 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
318 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
319 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
320 | SOFTWARE.
321 |
322 |
323 | @fastify/busboy
324 | MIT
325 | Copyright Brian White. All rights reserved.
326 |
327 | Permission is hereby granted, free of charge, to any person obtaining a copy
328 | of this software and associated documentation files (the "Software"), to
329 | deal in the Software without restriction, including without limitation the
330 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
331 | sell copies of the Software, and to permit persons to whom the Software is
332 | furnished to do so, subject to the following conditions:
333 |
334 | The above copyright notice and this permission notice shall be included in
335 | all copies or substantial portions of the Software.
336 |
337 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
338 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
339 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
340 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
341 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
342 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
343 | IN THE SOFTWARE.
344 |
345 | @opentelemetry/api
346 | Apache-2.0
347 | Apache License
348 | Version 2.0, January 2004
349 | http://www.apache.org/licenses/
350 |
351 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
352 |
353 | 1. Definitions.
354 |
355 | "License" shall mean the terms and conditions for use, reproduction,
356 | and distribution as defined by Sections 1 through 9 of this document.
357 |
358 | "Licensor" shall mean the copyright owner or entity authorized by
359 | the copyright owner that is granting the License.
360 |
361 | "Legal Entity" shall mean the union of the acting entity and all
362 | other entities that control, are controlled by, or are under common
363 | control with that entity. For the purposes of this definition,
364 | "control" means (i) the power, direct or indirect, to cause the
365 | direction or management of such entity, whether by contract or
366 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
367 | outstanding shares, or (iii) beneficial ownership of such entity.
368 |
369 | "You" (or "Your") shall mean an individual or Legal Entity
370 | exercising permissions granted by this License.
371 |
372 | "Source" form shall mean the preferred form for making modifications,
373 | including but not limited to software source code, documentation
374 | source, and configuration files.
375 |
376 | "Object" form shall mean any form resulting from mechanical
377 | transformation or translation of a Source form, including but
378 | not limited to compiled object code, generated documentation,
379 | and conversions to other media types.
380 |
381 | "Work" shall mean the work of authorship, whether in Source or
382 | Object form, made available under the License, as indicated by a
383 | copyright notice that is included in or attached to the work
384 | (an example is provided in the Appendix below).
385 |
386 | "Derivative Works" shall mean any work, whether in Source or Object
387 | form, that is based on (or derived from) the Work and for which the
388 | editorial revisions, annotations, elaborations, or other modifications
389 | represent, as a whole, an original work of authorship. For the purposes
390 | of this License, Derivative Works shall not include works that remain
391 | separable from, or merely link (or bind by name) to the interfaces of,
392 | the Work and Derivative Works thereof.
393 |
394 | "Contribution" shall mean any work of authorship, including
395 | the original version of the Work and any modifications or additions
396 | to that Work or Derivative Works thereof, that is intentionally
397 | submitted to Licensor for inclusion in the Work by the copyright owner
398 | or by an individual or Legal Entity authorized to submit on behalf of
399 | the copyright owner. For the purposes of this definition, "submitted"
400 | means any form of electronic, verbal, or written communication sent
401 | to the Licensor or its representatives, including but not limited to
402 | communication on electronic mailing lists, source code control systems,
403 | and issue tracking systems that are managed by, or on behalf of, the
404 | Licensor for the purpose of discussing and improving the Work, but
405 | excluding communication that is conspicuously marked or otherwise
406 | designated in writing by the copyright owner as "Not a Contribution."
407 |
408 | "Contributor" shall mean Licensor and any individual or Legal Entity
409 | on behalf of whom a Contribution has been received by Licensor and
410 | subsequently incorporated within the Work.
411 |
412 | 2. Grant of Copyright License. Subject to the terms and conditions of
413 | this License, each Contributor hereby grants to You a perpetual,
414 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
415 | copyright license to reproduce, prepare Derivative Works of,
416 | publicly display, publicly perform, sublicense, and distribute the
417 | Work and such Derivative Works in Source or Object form.
418 |
419 | 3. Grant of Patent License. Subject to the terms and conditions of
420 | this License, each Contributor hereby grants to You a perpetual,
421 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
422 | (except as stated in this section) patent license to make, have made,
423 | use, offer to sell, sell, import, and otherwise transfer the Work,
424 | where such license applies only to those patent claims licensable
425 | by such Contributor that are necessarily infringed by their
426 | Contribution(s) alone or by combination of their Contribution(s)
427 | with the Work to which such Contribution(s) was submitted. If You
428 | institute patent litigation against any entity (including a
429 | cross-claim or counterclaim in a lawsuit) alleging that the Work
430 | or a Contribution incorporated within the Work constitutes direct
431 | or contributory patent infringement, then any patent licenses
432 | granted to You under this License for that Work shall terminate
433 | as of the date such litigation is filed.
434 |
435 | 4. Redistribution. You may reproduce and distribute copies of the
436 | Work or Derivative Works thereof in any medium, with or without
437 | modifications, and in Source or Object form, provided that You
438 | meet the following conditions:
439 |
440 | (a) You must give any other recipients of the Work or
441 | Derivative Works a copy of this License; and
442 |
443 | (b) You must cause any modified files to carry prominent notices
444 | stating that You changed the files; and
445 |
446 | (c) You must retain, in the Source form of any Derivative Works
447 | that You distribute, all copyright, patent, trademark, and
448 | attribution notices from the Source form of the Work,
449 | excluding those notices that do not pertain to any part of
450 | the Derivative Works; and
451 |
452 | (d) If the Work includes a "NOTICE" text file as part of its
453 | distribution, then any Derivative Works that You distribute must
454 | include a readable copy of the attribution notices contained
455 | within such NOTICE file, excluding those notices that do not
456 | pertain to any part of the Derivative Works, in at least one
457 | of the following places: within a NOTICE text file distributed
458 | as part of the Derivative Works; within the Source form or
459 | documentation, if provided along with the Derivative Works; or,
460 | within a display generated by the Derivative Works, if and
461 | wherever such third-party notices normally appear. The contents
462 | of the NOTICE file are for informational purposes only and
463 | do not modify the License. You may add Your own attribution
464 | notices within Derivative Works that You distribute, alongside
465 | or as an addendum to the NOTICE text from the Work, provided
466 | that such additional attribution notices cannot be construed
467 | as modifying the License.
468 |
469 | You may add Your own copyright statement to Your modifications and
470 | may provide additional or different license terms and conditions
471 | for use, reproduction, or distribution of Your modifications, or
472 | for any such Derivative Works as a whole, provided Your use,
473 | reproduction, and distribution of the Work otherwise complies with
474 | the conditions stated in this License.
475 |
476 | 5. Submission of Contributions. Unless You explicitly state otherwise,
477 | any Contribution intentionally submitted for inclusion in the Work
478 | by You to the Licensor shall be under the terms and conditions of
479 | this License, without any additional terms or conditions.
480 | Notwithstanding the above, nothing herein shall supersede or modify
481 | the terms of any separate license agreement you may have executed
482 | with Licensor regarding such Contributions.
483 |
484 | 6. Trademarks. This License does not grant permission to use the trade
485 | names, trademarks, service marks, or product names of the Licensor,
486 | except as required for reasonable and customary use in describing the
487 | origin of the Work and reproducing the content of the NOTICE file.
488 |
489 | 7. Disclaimer of Warranty. Unless required by applicable law or
490 | agreed to in writing, Licensor provides the Work (and each
491 | Contributor provides its Contributions) on an "AS IS" BASIS,
492 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
493 | implied, including, without limitation, any warranties or conditions
494 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
495 | PARTICULAR PURPOSE. You are solely responsible for determining the
496 | appropriateness of using or redistributing the Work and assume any
497 | risks associated with Your exercise of permissions under this License.
498 |
499 | 8. Limitation of Liability. In no event and under no legal theory,
500 | whether in tort (including negligence), contract, or otherwise,
501 | unless required by applicable law (such as deliberate and grossly
502 | negligent acts) or agreed to in writing, shall any Contributor be
503 | liable to You for damages, including any direct, indirect, special,
504 | incidental, or consequential damages of any character arising as a
505 | result of this License or out of the use or inability to use the
506 | Work (including but not limited to damages for loss of goodwill,
507 | work stoppage, computer failure or malfunction, or any and all
508 | other commercial damages or losses), even if such Contributor
509 | has been advised of the possibility of such damages.
510 |
511 | 9. Accepting Warranty or Additional Liability. While redistributing
512 | the Work or Derivative Works thereof, You may choose to offer,
513 | and charge a fee for, acceptance of support, warranty, indemnity,
514 | or other liability obligations and/or rights consistent with this
515 | License. However, in accepting such obligations, You may act only
516 | on Your own behalf and on Your sole responsibility, not on behalf
517 | of any other Contributor, and only if You agree to indemnify,
518 | defend, and hold each Contributor harmless for any liability
519 | incurred by, or claims asserted against, such Contributor by reason
520 | of your accepting any such warranty or additional liability.
521 |
522 | END OF TERMS AND CONDITIONS
523 |
524 | APPENDIX: How to apply the Apache License to your work.
525 |
526 | To apply the Apache License to your work, attach the following
527 | boilerplate notice, with the fields enclosed by brackets "[]"
528 | replaced with your own identifying information. (Don't include
529 | the brackets!) The text should be enclosed in the appropriate
530 | comment syntax for the file format. We also recommend that a
531 | file or class name and description of purpose be included on the
532 | same "printed page" as the copyright notice for easier
533 | identification within third-party archives.
534 |
535 | Copyright [yyyy] [name of copyright owner]
536 |
537 | Licensed under the Apache License, Version 2.0 (the "License");
538 | you may not use this file except in compliance with the License.
539 | You may obtain a copy of the License at
540 |
541 | http://www.apache.org/licenses/LICENSE-2.0
542 |
543 | Unless required by applicable law or agreed to in writing, software
544 | distributed under the License is distributed on an "AS IS" BASIS,
545 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
546 | See the License for the specific language governing permissions and
547 | limitations under the License.
548 |
549 |
550 | @protobuf-ts/runtime
551 | (Apache-2.0 AND BSD-3-Clause)
552 | Apache License
553 | Version 2.0, January 2004
554 | http://www.apache.org/licenses/
555 |
556 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
557 |
558 | 1. Definitions.
559 |
560 | "License" shall mean the terms and conditions for use, reproduction,
561 | and distribution as defined by Sections 1 through 9 of this document.
562 |
563 | "Licensor" shall mean the copyright owner or entity authorized by
564 | the copyright owner that is granting the License.
565 |
566 | "Legal Entity" shall mean the union of the acting entity and all
567 | other entities that control, are controlled by, or are under common
568 | control with that entity. For the purposes of this definition,
569 | "control" means (i) the power, direct or indirect, to cause the
570 | direction or management of such entity, whether by contract or
571 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
572 | outstanding shares, or (iii) beneficial ownership of such entity.
573 |
574 | "You" (or "Your") shall mean an individual or Legal Entity
575 | exercising permissions granted by this License.
576 |
577 | "Source" form shall mean the preferred form for making modifications,
578 | including but not limited to software source code, documentation
579 | source, and configuration files.
580 |
581 | "Object" form shall mean any form resulting from mechanical
582 | transformation or translation of a Source form, including but
583 | not limited to compiled object code, generated documentation,
584 | and conversions to other media types.
585 |
586 | "Work" shall mean the work of authorship, whether in Source or
587 | Object form, made available under the License, as indicated by a
588 | copyright notice that is included in or attached to the work
589 | (an example is provided in the Appendix below).
590 |
591 | "Derivative Works" shall mean any work, whether in Source or Object
592 | form, that is based on (or derived from) the Work and for which the
593 | editorial revisions, annotations, elaborations, or other modifications
594 | represent, as a whole, an original work of authorship. For the purposes
595 | of this License, Derivative Works shall not include works that remain
596 | separable from, or merely link (or bind by name) to the interfaces of,
597 | the Work and Derivative Works thereof.
598 |
599 | "Contribution" shall mean any work of authorship, including
600 | the original version of the Work and any modifications or additions
601 | to that Work or Derivative Works thereof, that is intentionally
602 | submitted to Licensor for inclusion in the Work by the copyright owner
603 | or by an individual or Legal Entity authorized to submit on behalf of
604 | the copyright owner. For the purposes of this definition, "submitted"
605 | means any form of electronic, verbal, or written communication sent
606 | to the Licensor or its representatives, including but not limited to
607 | communication on electronic mailing lists, source code control systems,
608 | and issue tracking systems that are managed by, or on behalf of, the
609 | Licensor for the purpose of discussing and improving the Work, but
610 | excluding communication that is conspicuously marked or otherwise
611 | designated in writing by the copyright owner as "Not a Contribution."
612 |
613 | "Contributor" shall mean Licensor and any individual or Legal Entity
614 | on behalf of whom a Contribution has been received by Licensor and
615 | subsequently incorporated within the Work.
616 |
617 | 2. Grant of Copyright License. Subject to the terms and conditions of
618 | this License, each Contributor hereby grants to You a perpetual,
619 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
620 | copyright license to reproduce, prepare Derivative Works of,
621 | publicly display, publicly perform, sublicense, and distribute the
622 | Work and such Derivative Works in Source or Object form.
623 |
624 | 3. Grant of Patent License. Subject to the terms and conditions of
625 | this License, each Contributor hereby grants to You a perpetual,
626 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
627 | (except as stated in this section) patent license to make, have made,
628 | use, offer to sell, sell, import, and otherwise transfer the Work,
629 | where such license applies only to those patent claims licensable
630 | by such Contributor that are necessarily infringed by their
631 | Contribution(s) alone or by combination of their Contribution(s)
632 | with the Work to which such Contribution(s) was submitted. If You
633 | institute patent litigation against any entity (including a
634 | cross-claim or counterclaim in a lawsuit) alleging that the Work
635 | or a Contribution incorporated within the Work constitutes direct
636 | or contributory patent infringement, then any patent licenses
637 | granted to You under this License for that Work shall terminate
638 | as of the date such litigation is filed.
639 |
640 | 4. Redistribution. You may reproduce and distribute copies of the
641 | Work or Derivative Works thereof in any medium, with or without
642 | modifications, and in Source or Object form, provided that You
643 | meet the following conditions:
644 |
645 | (a) You must give any other recipients of the Work or
646 | Derivative Works a copy of this License; and
647 |
648 | (b) You must cause any modified files to carry prominent notices
649 | stating that You changed the files; and
650 |
651 | (c) You must retain, in the Source form of any Derivative Works
652 | that You distribute, all copyright, patent, trademark, and
653 | attribution notices from the Source form of the Work,
654 | excluding those notices that do not pertain to any part of
655 | the Derivative Works; and
656 |
657 | (d) If the Work includes a "NOTICE" text file as part of its
658 | distribution, then any Derivative Works that You distribute must
659 | include a readable copy of the attribution notices contained
660 | within such NOTICE file, excluding those notices that do not
661 | pertain to any part of the Derivative Works, in at least one
662 | of the following places: within a NOTICE text file distributed
663 | as part of the Derivative Works; within the Source form or
664 | documentation, if provided along with the Derivative Works; or,
665 | within a display generated by the Derivative Works, if and
666 | wherever such third-party notices normally appear. The contents
667 | of the NOTICE file are for informational purposes only and
668 | do not modify the License. You may add Your own attribution
669 | notices within Derivative Works that You distribute, alongside
670 | or as an addendum to the NOTICE text from the Work, provided
671 | that such additional attribution notices cannot be construed
672 | as modifying the License.
673 |
674 | You may add Your own copyright statement to Your modifications and
675 | may provide additional or different license terms and conditions
676 | for use, reproduction, or distribution of Your modifications, or
677 | for any such Derivative Works as a whole, provided Your use,
678 | reproduction, and distribution of the Work otherwise complies with
679 | the conditions stated in this License.
680 |
681 | 5. Submission of Contributions. Unless You explicitly state otherwise,
682 | any Contribution intentionally submitted for inclusion in the Work
683 | by You to the Licensor shall be under the terms and conditions of
684 | this License, without any additional terms or conditions.
685 | Notwithstanding the above, nothing herein shall supersede or modify
686 | the terms of any separate license agreement you may have executed
687 | with Licensor regarding such Contributions.
688 |
689 | 6. Trademarks. This License does not grant permission to use the trade
690 | names, trademarks, service marks, or product names of the Licensor,
691 | except as required for reasonable and customary use in describing the
692 | origin of the Work and reproducing the content of the NOTICE file.
693 |
694 | 7. Disclaimer of Warranty. Unless required by applicable law or
695 | agreed to in writing, Licensor provides the Work (and each
696 | Contributor provides its Contributions) on an "AS IS" BASIS,
697 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
698 | implied, including, without limitation, any warranties or conditions
699 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
700 | PARTICULAR PURPOSE. You are solely responsible for determining the
701 | appropriateness of using or redistributing the Work and assume any
702 | risks associated with Your exercise of permissions under this License.
703 |
704 | 8. Limitation of Liability. In no event and under no legal theory,
705 | whether in tort (including negligence), contract, or otherwise,
706 | unless required by applicable law (such as deliberate and grossly
707 | negligent acts) or agreed to in writing, shall any Contributor be
708 | liable to You for damages, including any direct, indirect, special,
709 | incidental, or consequential damages of any character arising as a
710 | result of this License or out of the use or inability to use the
711 | Work (including but not limited to damages for loss of goodwill,
712 | work stoppage, computer failure or malfunction, or any and all
713 | other commercial damages or losses), even if such Contributor
714 | has been advised of the possibility of such damages.
715 |
716 | 9. Accepting Warranty or Additional Liability. While redistributing
717 | the Work or Derivative Works thereof, You may choose to offer,
718 | and charge a fee for, acceptance of support, warranty, indemnity,
719 | or other liability obligations and/or rights consistent with this
720 | License. However, in accepting such obligations, You may act only
721 | on Your own behalf and on Your sole responsibility, not on behalf
722 | of any other Contributor, and only if You agree to indemnify,
723 | defend, and hold each Contributor harmless for any liability
724 | incurred by, or claims asserted against, such Contributor by reason
725 | of your accepting any such warranty or additional liability.
726 |
727 |
728 | @protobuf-ts/runtime-rpc
729 | Apache-2.0
730 | Apache License
731 | Version 2.0, January 2004
732 | http://www.apache.org/licenses/
733 |
734 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
735 |
736 | 1. Definitions.
737 |
738 | "License" shall mean the terms and conditions for use, reproduction,
739 | and distribution as defined by Sections 1 through 9 of this document.
740 |
741 | "Licensor" shall mean the copyright owner or entity authorized by
742 | the copyright owner that is granting the License.
743 |
744 | "Legal Entity" shall mean the union of the acting entity and all
745 | other entities that control, are controlled by, or are under common
746 | control with that entity. For the purposes of this definition,
747 | "control" means (i) the power, direct or indirect, to cause the
748 | direction or management of such entity, whether by contract or
749 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
750 | outstanding shares, or (iii) beneficial ownership of such entity.
751 |
752 | "You" (or "Your") shall mean an individual or Legal Entity
753 | exercising permissions granted by this License.
754 |
755 | "Source" form shall mean the preferred form for making modifications,
756 | including but not limited to software source code, documentation
757 | source, and configuration files.
758 |
759 | "Object" form shall mean any form resulting from mechanical
760 | transformation or translation of a Source form, including but
761 | not limited to compiled object code, generated documentation,
762 | and conversions to other media types.
763 |
764 | "Work" shall mean the work of authorship, whether in Source or
765 | Object form, made available under the License, as indicated by a
766 | copyright notice that is included in or attached to the work
767 | (an example is provided in the Appendix below).
768 |
769 | "Derivative Works" shall mean any work, whether in Source or Object
770 | form, that is based on (or derived from) the Work and for which the
771 | editorial revisions, annotations, elaborations, or other modifications
772 | represent, as a whole, an original work of authorship. For the purposes
773 | of this License, Derivative Works shall not include works that remain
774 | separable from, or merely link (or bind by name) to the interfaces of,
775 | the Work and Derivative Works thereof.
776 |
777 | "Contribution" shall mean any work of authorship, including
778 | the original version of the Work and any modifications or additions
779 | to that Work or Derivative Works thereof, that is intentionally
780 | submitted to Licensor for inclusion in the Work by the copyright owner
781 | or by an individual or Legal Entity authorized to submit on behalf of
782 | the copyright owner. For the purposes of this definition, "submitted"
783 | means any form of electronic, verbal, or written communication sent
784 | to the Licensor or its representatives, including but not limited to
785 | communication on electronic mailing lists, source code control systems,
786 | and issue tracking systems that are managed by, or on behalf of, the
787 | Licensor for the purpose of discussing and improving the Work, but
788 | excluding communication that is conspicuously marked or otherwise
789 | designated in writing by the copyright owner as "Not a Contribution."
790 |
791 | "Contributor" shall mean Licensor and any individual or Legal Entity
792 | on behalf of whom a Contribution has been received by Licensor and
793 | subsequently incorporated within the Work.
794 |
795 | 2. Grant of Copyright License. Subject to the terms and conditions of
796 | this License, each Contributor hereby grants to You a perpetual,
797 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
798 | copyright license to reproduce, prepare Derivative Works of,
799 | publicly display, publicly perform, sublicense, and distribute the
800 | Work and such Derivative Works in Source or Object form.
801 |
802 | 3. Grant of Patent License. Subject to the terms and conditions of
803 | this License, each Contributor hereby grants to You a perpetual,
804 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
805 | (except as stated in this section) patent license to make, have made,
806 | use, offer to sell, sell, import, and otherwise transfer the Work,
807 | where such license applies only to those patent claims licensable
808 | by such Contributor that are necessarily infringed by their
809 | Contribution(s) alone or by combination of their Contribution(s)
810 | with the Work to which such Contribution(s) was submitted. If You
811 | institute patent litigation against any entity (including a
812 | cross-claim or counterclaim in a lawsuit) alleging that the Work
813 | or a Contribution incorporated within the Work constitutes direct
814 | or contributory patent infringement, then any patent licenses
815 | granted to You under this License for that Work shall terminate
816 | as of the date such litigation is filed.
817 |
818 | 4. Redistribution. You may reproduce and distribute copies of the
819 | Work or Derivative Works thereof in any medium, with or without
820 | modifications, and in Source or Object form, provided that You
821 | meet the following conditions:
822 |
823 | (a) You must give any other recipients of the Work or
824 | Derivative Works a copy of this License; and
825 |
826 | (b) You must cause any modified files to carry prominent notices
827 | stating that You changed the files; and
828 |
829 | (c) You must retain, in the Source form of any Derivative Works
830 | that You distribute, all copyright, patent, trademark, and
831 | attribution notices from the Source form of the Work,
832 | excluding those notices that do not pertain to any part of
833 | the Derivative Works; and
834 |
835 | (d) If the Work includes a "NOTICE" text file as part of its
836 | distribution, then any Derivative Works that You distribute must
837 | include a readable copy of the attribution notices contained
838 | within such NOTICE file, excluding those notices that do not
839 | pertain to any part of the Derivative Works, in at least one
840 | of the following places: within a NOTICE text file distributed
841 | as part of the Derivative Works; within the Source form or
842 | documentation, if provided along with the Derivative Works; or,
843 | within a display generated by the Derivative Works, if and
844 | wherever such third-party notices normally appear. The contents
845 | of the NOTICE file are for informational purposes only and
846 | do not modify the License. You may add Your own attribution
847 | notices within Derivative Works that You distribute, alongside
848 | or as an addendum to the NOTICE text from the Work, provided
849 | that such additional attribution notices cannot be construed
850 | as modifying the License.
851 |
852 | You may add Your own copyright statement to Your modifications and
853 | may provide additional or different license terms and conditions
854 | for use, reproduction, or distribution of Your modifications, or
855 | for any such Derivative Works as a whole, provided Your use,
856 | reproduction, and distribution of the Work otherwise complies with
857 | the conditions stated in this License.
858 |
859 | 5. Submission of Contributions. Unless You explicitly state otherwise,
860 | any Contribution intentionally submitted for inclusion in the Work
861 | by You to the Licensor shall be under the terms and conditions of
862 | this License, without any additional terms or conditions.
863 | Notwithstanding the above, nothing herein shall supersede or modify
864 | the terms of any separate license agreement you may have executed
865 | with Licensor regarding such Contributions.
866 |
867 | 6. Trademarks. This License does not grant permission to use the trade
868 | names, trademarks, service marks, or product names of the Licensor,
869 | except as required for reasonable and customary use in describing the
870 | origin of the Work and reproducing the content of the NOTICE file.
871 |
872 | 7. Disclaimer of Warranty. Unless required by applicable law or
873 | agreed to in writing, Licensor provides the Work (and each
874 | Contributor provides its Contributions) on an "AS IS" BASIS,
875 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
876 | implied, including, without limitation, any warranties or conditions
877 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
878 | PARTICULAR PURPOSE. You are solely responsible for determining the
879 | appropriateness of using or redistributing the Work and assume any
880 | risks associated with Your exercise of permissions under this License.
881 |
882 | 8. Limitation of Liability. In no event and under no legal theory,
883 | whether in tort (including negligence), contract, or otherwise,
884 | unless required by applicable law (such as deliberate and grossly
885 | negligent acts) or agreed to in writing, shall any Contributor be
886 | liable to You for damages, including any direct, indirect, special,
887 | incidental, or consequential damages of any character arising as a
888 | result of this License or out of the use or inability to use the
889 | Work (including but not limited to damages for loss of goodwill,
890 | work stoppage, computer failure or malfunction, or any and all
891 | other commercial damages or losses), even if such Contributor
892 | has been advised of the possibility of such damages.
893 |
894 | 9. Accepting Warranty or Additional Liability. While redistributing
895 | the Work or Derivative Works thereof, You may choose to offer,
896 | and charge a fee for, acceptance of support, warranty, indemnity,
897 | or other liability obligations and/or rights consistent with this
898 | License. However, in accepting such obligations, You may act only
899 | on Your own behalf and on Your sole responsibility, not on behalf
900 | of any other Contributor, and only if You agree to indemnify,
901 | defend, and hold each Contributor harmless for any liability
902 | incurred by, or claims asserted against, such Contributor by reason
903 | of your accepting any such warranty or additional liability.
904 |
905 |
906 | asynckit
907 | MIT
908 | The MIT License (MIT)
909 |
910 | Copyright (c) 2016 Alex Indigo
911 |
912 | Permission is hereby granted, free of charge, to any person obtaining a copy
913 | of this software and associated documentation files (the "Software"), to deal
914 | in the Software without restriction, including without limitation the rights
915 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
916 | copies of the Software, and to permit persons to whom the Software is
917 | furnished to do so, subject to the following conditions:
918 |
919 | The above copyright notice and this permission notice shall be included in all
920 | copies or substantial portions of the Software.
921 |
922 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
923 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
924 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
925 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
926 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
927 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
928 | SOFTWARE.
929 |
930 |
931 | balanced-match
932 | MIT
933 | (MIT)
934 |
935 | Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
936 |
937 | Permission is hereby granted, free of charge, to any person obtaining a copy of
938 | this software and associated documentation files (the "Software"), to deal in
939 | the Software without restriction, including without limitation the rights to
940 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
941 | of the Software, and to permit persons to whom the Software is furnished to do
942 | so, subject to the following conditions:
943 |
944 | The above copyright notice and this permission notice shall be included in all
945 | copies or substantial portions of the Software.
946 |
947 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
948 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
949 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
950 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
951 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
952 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
953 | SOFTWARE.
954 |
955 |
956 | brace-expansion
957 | MIT
958 | MIT License
959 |
960 | Copyright (c) 2013 Julian Gruber
961 |
962 | Permission is hereby granted, free of charge, to any person obtaining a copy
963 | of this software and associated documentation files (the "Software"), to deal
964 | in the Software without restriction, including without limitation the rights
965 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
966 | copies of the Software, and to permit persons to whom the Software is
967 | furnished to do so, subject to the following conditions:
968 |
969 | The above copyright notice and this permission notice shall be included in all
970 | copies or substantial portions of the Software.
971 |
972 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
973 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
974 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
975 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
976 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
977 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
978 | SOFTWARE.
979 |
980 |
981 | combined-stream
982 | MIT
983 | Copyright (c) 2011 Debuggable Limited
984 |
985 | Permission is hereby granted, free of charge, to any person obtaining a copy
986 | of this software and associated documentation files (the "Software"), to deal
987 | in the Software without restriction, including without limitation the rights
988 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
989 | copies of the Software, and to permit persons to whom the Software is
990 | furnished to do so, subject to the following conditions:
991 |
992 | The above copyright notice and this permission notice shall be included in
993 | all copies or substantial portions of the Software.
994 |
995 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
996 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
997 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
998 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
999 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1000 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1001 | THE SOFTWARE.
1002 |
1003 |
1004 | concat-map
1005 | MIT
1006 | This software is released under the MIT license:
1007 |
1008 | Permission is hereby granted, free of charge, to any person obtaining a copy of
1009 | this software and associated documentation files (the "Software"), to deal in
1010 | the Software without restriction, including without limitation the rights to
1011 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
1012 | the Software, and to permit persons to whom the Software is furnished to do so,
1013 | subject to the following conditions:
1014 |
1015 | The above copyright notice and this permission notice shall be included in all
1016 | copies or substantial portions of the Software.
1017 |
1018 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1019 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1020 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
1021 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1022 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1023 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1024 |
1025 |
1026 | delayed-stream
1027 | MIT
1028 | Copyright (c) 2011 Debuggable Limited
1029 |
1030 | Permission is hereby granted, free of charge, to any person obtaining a copy
1031 | of this software and associated documentation files (the "Software"), to deal
1032 | in the Software without restriction, including without limitation the rights
1033 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1034 | copies of the Software, and to permit persons to whom the Software is
1035 | furnished to do so, subject to the following conditions:
1036 |
1037 | The above copyright notice and this permission notice shall be included in
1038 | all copies or substantial portions of the Software.
1039 |
1040 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1041 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1042 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1043 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1044 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1045 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1046 | THE SOFTWARE.
1047 |
1048 |
1049 | encoding
1050 | MIT
1051 | Copyright (c) 2012-2014 Andris Reinman
1052 |
1053 | Permission is hereby granted, free of charge, to any person obtaining a copy
1054 | of this software and associated documentation files (the "Software"), to deal
1055 | in the Software without restriction, including without limitation the rights
1056 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1057 | copies of the Software, and to permit persons to whom the Software is
1058 | furnished to do so, subject to the following conditions:
1059 |
1060 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1061 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1062 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1063 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1064 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1065 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1066 | SOFTWARE.
1067 |
1068 |
1069 | form-data
1070 | MIT
1071 | Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors
1072 |
1073 | Permission is hereby granted, free of charge, to any person obtaining a copy
1074 | of this software and associated documentation files (the "Software"), to deal
1075 | in the Software without restriction, including without limitation the rights
1076 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1077 | copies of the Software, and to permit persons to whom the Software is
1078 | furnished to do so, subject to the following conditions:
1079 |
1080 | The above copyright notice and this permission notice shall be included in
1081 | all copies or substantial portions of the Software.
1082 |
1083 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1084 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1085 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1086 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1087 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1088 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1089 | THE SOFTWARE.
1090 |
1091 |
1092 | iconv-lite
1093 | MIT
1094 | Copyright (c) 2011 Alexander Shtuchkin
1095 |
1096 | Permission is hereby granted, free of charge, to any person obtaining
1097 | a copy of this software and associated documentation files (the
1098 | "Software"), to deal in the Software without restriction, including
1099 | without limitation the rights to use, copy, modify, merge, publish,
1100 | distribute, sublicense, and/or sell copies of the Software, and to
1101 | permit persons to whom the Software is furnished to do so, subject to
1102 | the following conditions:
1103 |
1104 | The above copyright notice and this permission notice shall be
1105 | included in all copies or substantial portions of the Software.
1106 |
1107 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1108 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1109 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1110 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1111 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1112 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1113 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1114 |
1115 |
1116 |
1117 | mime-db
1118 | MIT
1119 | (The MIT License)
1120 |
1121 | Copyright (c) 2014 Jonathan Ong
1122 | Copyright (c) 2015-2022 Douglas Christopher Wilson
1123 |
1124 | Permission is hereby granted, free of charge, to any person obtaining
1125 | a copy of this software and associated documentation files (the
1126 | 'Software'), to deal in the Software without restriction, including
1127 | without limitation the rights to use, copy, modify, merge, publish,
1128 | distribute, sublicense, and/or sell copies of the Software, and to
1129 | permit persons to whom the Software is furnished to do so, subject to
1130 | the following conditions:
1131 |
1132 | The above copyright notice and this permission notice shall be
1133 | included in all copies or substantial portions of the Software.
1134 |
1135 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
1136 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1137 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1138 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1139 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1140 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1141 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1142 |
1143 |
1144 | mime-types
1145 | MIT
1146 | (The MIT License)
1147 |
1148 | Copyright (c) 2014 Jonathan Ong
1149 | Copyright (c) 2015 Douglas Christopher Wilson
1150 |
1151 | Permission is hereby granted, free of charge, to any person obtaining
1152 | a copy of this software and associated documentation files (the
1153 | 'Software'), to deal in the Software without restriction, including
1154 | without limitation the rights to use, copy, modify, merge, publish,
1155 | distribute, sublicense, and/or sell copies of the Software, and to
1156 | permit persons to whom the Software is furnished to do so, subject to
1157 | the following conditions:
1158 |
1159 | The above copyright notice and this permission notice shall be
1160 | included in all copies or substantial portions of the Software.
1161 |
1162 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
1163 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1164 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1165 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1166 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1167 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1168 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1169 |
1170 |
1171 | minimatch
1172 | ISC
1173 | The ISC License
1174 |
1175 | Copyright (c) Isaac Z. Schlueter and Contributors
1176 |
1177 | Permission to use, copy, modify, and/or distribute this software for any
1178 | purpose with or without fee is hereby granted, provided that the above
1179 | copyright notice and this permission notice appear in all copies.
1180 |
1181 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1182 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1183 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1184 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1185 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1186 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1187 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1188 |
1189 |
1190 | node-fetch
1191 | MIT
1192 | The MIT License (MIT)
1193 |
1194 | Copyright (c) 2016 David Frank
1195 |
1196 | Permission is hereby granted, free of charge, to any person obtaining a copy
1197 | of this software and associated documentation files (the "Software"), to deal
1198 | in the Software without restriction, including without limitation the rights
1199 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1200 | copies of the Software, and to permit persons to whom the Software is
1201 | furnished to do so, subject to the following conditions:
1202 |
1203 | The above copyright notice and this permission notice shall be included in all
1204 | copies or substantial portions of the Software.
1205 |
1206 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1207 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1208 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1209 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1210 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1211 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1212 | SOFTWARE.
1213 |
1214 |
1215 |
1216 | safer-buffer
1217 | MIT
1218 | MIT License
1219 |
1220 | Copyright (c) 2018 Nikita Skovoroda
1221 |
1222 | Permission is hereby granted, free of charge, to any person obtaining a copy
1223 | of this software and associated documentation files (the "Software"), to deal
1224 | in the Software without restriction, including without limitation the rights
1225 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1226 | copies of the Software, and to permit persons to whom the Software is
1227 | furnished to do so, subject to the following conditions:
1228 |
1229 | The above copyright notice and this permission notice shall be included in all
1230 | copies or substantial portions of the Software.
1231 |
1232 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1233 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1234 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1235 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1236 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1237 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1238 | SOFTWARE.
1239 |
1240 |
1241 | sax
1242 | ISC
1243 | The ISC License
1244 |
1245 | Copyright (c) Isaac Z. Schlueter and Contributors
1246 |
1247 | Permission to use, copy, modify, and/or distribute this software for any
1248 | purpose with or without fee is hereby granted, provided that the above
1249 | copyright notice and this permission notice appear in all copies.
1250 |
1251 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1252 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1253 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1254 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1255 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1256 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1257 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1258 |
1259 | ====
1260 |
1261 | `String.fromCodePoint` by Mathias Bynens used according to terms of MIT
1262 | License, as follows:
1263 |
1264 | Copyright Mathias Bynens
1265 |
1266 | Permission is hereby granted, free of charge, to any person obtaining
1267 | a copy of this software and associated documentation files (the
1268 | "Software"), to deal in the Software without restriction, including
1269 | without limitation the rights to use, copy, modify, merge, publish,
1270 | distribute, sublicense, and/or sell copies of the Software, and to
1271 | permit persons to whom the Software is furnished to do so, subject to
1272 | the following conditions:
1273 |
1274 | The above copyright notice and this permission notice shall be
1275 | included in all copies or substantial portions of the Software.
1276 |
1277 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1278 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1279 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1280 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1281 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1282 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1283 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1284 |
1285 |
1286 | semver
1287 | ISC
1288 | The ISC License
1289 |
1290 | Copyright (c) Isaac Z. Schlueter and Contributors
1291 |
1292 | Permission to use, copy, modify, and/or distribute this software for any
1293 | purpose with or without fee is hereby granted, provided that the above
1294 | copyright notice and this permission notice appear in all copies.
1295 |
1296 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1297 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1298 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1299 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1300 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1301 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1302 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1303 |
1304 |
1305 | tr46
1306 | MIT
1307 |
1308 | tslib
1309 | 0BSD
1310 | Copyright (c) Microsoft Corporation.
1311 |
1312 | Permission to use, copy, modify, and/or distribute this software for any
1313 | purpose with or without fee is hereby granted.
1314 |
1315 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1316 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1317 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1318 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1319 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1320 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1321 | PERFORMANCE OF THIS SOFTWARE.
1322 |
1323 | tunnel
1324 | MIT
1325 | The MIT License (MIT)
1326 |
1327 | Copyright (c) 2012 Koichi Kobayashi
1328 |
1329 | Permission is hereby granted, free of charge, to any person obtaining a copy
1330 | of this software and associated documentation files (the "Software"), to deal
1331 | in the Software without restriction, including without limitation the rights
1332 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1333 | copies of the Software, and to permit persons to whom the Software is
1334 | furnished to do so, subject to the following conditions:
1335 |
1336 | The above copyright notice and this permission notice shall be included in
1337 | all copies or substantial portions of the Software.
1338 |
1339 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1340 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1341 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1342 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1343 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1344 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1345 | THE SOFTWARE.
1346 |
1347 |
1348 | undici
1349 | MIT
1350 | MIT License
1351 |
1352 | Copyright (c) Matteo Collina and Undici contributors
1353 |
1354 | Permission is hereby granted, free of charge, to any person obtaining a copy
1355 | of this software and associated documentation files (the "Software"), to deal
1356 | in the Software without restriction, including without limitation the rights
1357 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1358 | copies of the Software, and to permit persons to whom the Software is
1359 | furnished to do so, subject to the following conditions:
1360 |
1361 | The above copyright notice and this permission notice shall be included in all
1362 | copies or substantial portions of the Software.
1363 |
1364 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1365 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1366 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1367 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1368 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1369 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1370 | SOFTWARE.
1371 |
1372 |
1373 | uuid
1374 | MIT
1375 | The MIT License (MIT)
1376 |
1377 | Copyright (c) 2010-2020 Robert Kieffer and other contributors
1378 |
1379 | 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:
1380 |
1381 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1382 |
1383 | 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.
1384 |
1385 |
1386 | webidl-conversions
1387 | BSD-2-Clause
1388 | # The BSD 2-Clause License
1389 |
1390 | Copyright (c) 2014, Domenic Denicola
1391 | All rights reserved.
1392 |
1393 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1394 |
1395 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
1396 |
1397 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
1398 |
1399 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1400 |
1401 |
1402 | whatwg-url
1403 | MIT
1404 | The MIT License (MIT)
1405 |
1406 | Copyright (c) 2015–2016 Sebastian Mayr
1407 |
1408 | Permission is hereby granted, free of charge, to any person obtaining a copy
1409 | of this software and associated documentation files (the "Software"), to deal
1410 | in the Software without restriction, including without limitation the rights
1411 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1412 | copies of the Software, and to permit persons to whom the Software is
1413 | furnished to do so, subject to the following conditions:
1414 |
1415 | The above copyright notice and this permission notice shall be included in
1416 | all copies or substantial portions of the Software.
1417 |
1418 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1419 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1420 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1421 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1422 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1423 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1424 | THE SOFTWARE.
1425 |
1426 |
1427 | xml2js
1428 | MIT
1429 | Copyright 2010, 2011, 2012, 2013. All rights reserved.
1430 |
1431 | Permission is hereby granted, free of charge, to any person obtaining a copy
1432 | of this software and associated documentation files (the "Software"), to
1433 | deal in the Software without restriction, including without limitation the
1434 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
1435 | sell copies of the Software, and to permit persons to whom the Software is
1436 | furnished to do so, subject to the following conditions:
1437 |
1438 | The above copyright notice and this permission notice shall be included in
1439 | all copies or substantial portions of the Software.
1440 |
1441 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1442 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1443 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1444 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1445 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1446 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
1447 | IN THE SOFTWARE.
1448 |
1449 |
1450 | xmlbuilder
1451 | MIT
1452 | The MIT License (MIT)
1453 |
1454 | Copyright (c) 2013 Ozgur Ozcitak
1455 |
1456 | Permission is hereby granted, free of charge, to any person obtaining a copy
1457 | of this software and associated documentation files (the "Software"), to deal
1458 | in the Software without restriction, including without limitation the rights
1459 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1460 | copies of the Software, and to permit persons to whom the Software is
1461 | furnished to do so, subject to the following conditions:
1462 |
1463 | The above copyright notice and this permission notice shall be included in
1464 | all copies or substantial portions of the Software.
1465 |
1466 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1467 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1468 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1469 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1470 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1471 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1472 | THE SOFTWARE.
1473 |
--------------------------------------------------------------------------------
/dist/sourcemap-register.js:
--------------------------------------------------------------------------------
1 | (()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e{var t=n(190);var o=5;var i=1<>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n{var t;var o=n(339);var i=n(345);var a=n(274).I;var u=n(449);var s=n(758).U;function SourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}return n.sections!=null?new IndexedSourceMapConsumer(n,r):new BasicSourceMapConsumer(n,r)}SourceMapConsumer.fromSourceMap=function(e,r){return BasicSourceMapConsumer.fromSourceMap(e,r)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,r){var n=e.charAt(r);return n===";"||n===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,r){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,r,n){var t=r||null;var i=n||SourceMapConsumer.GENERATED_ORDER;var a;switch(i){case SourceMapConsumer.GENERATED_ORDER:a=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:a=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var u=this.sourceRoot;a.map((function(e){var r=e.source===null?null:this._sources.at(e.source);r=o.computeSourceURL(u,r,this._sourceMapURL);return{source:r,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}}),this).forEach(e,t)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var r=o.getArg(e,"line");var n={source:o.getArg(e,"source"),originalLine:r,originalColumn:o.getArg(e,"column",0)};n.source=this._findSourceIndex(n.source);if(n.source<0){return[]}var t=[];var a=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(a>=0){var u=this._originalMappings[a];if(e.column===undefined){var s=u.originalLine;while(u&&u.originalLine===s){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}else{var l=u.originalColumn;while(u&&u.originalLine===r&&u.originalColumn==l){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}}return t};r.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sources");var u=o.getArg(n,"names",[]);var s=o.getArg(n,"sourceRoot",null);var l=o.getArg(n,"sourcesContent",null);var c=o.getArg(n,"mappings");var p=o.getArg(n,"file",null);if(t!=this._version){throw new Error("Unsupported version: "+t)}if(s){s=o.normalize(s)}i=i.map(String).map(o.normalize).map((function(e){return s&&o.isAbsolute(s)&&o.isAbsolute(e)?o.relative(s,e):e}));this._names=a.fromArray(u.map(String),true);this._sources=a.fromArray(i,true);this._absoluteSources=this._sources.toArray().map((function(e){return o.computeSourceURL(s,e,r)}));this.sourceRoot=s;this.sourcesContent=l;this._mappings=c;this._sourceMapURL=r;this.file=p}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var r=e;if(this.sourceRoot!=null){r=o.relative(this.sourceRoot,r)}if(this._sources.has(r)){return this._sources.indexOf(r)}var n;for(n=0;n1){v.source=l+_[1];l+=_[1];v.originalLine=i+_[2];i=v.originalLine;v.originalLine+=1;v.originalColumn=a+_[3];a=v.originalColumn;if(_.length>4){v.name=c+_[4];c+=_[4]}}m.push(v);if(typeof v.originalLine==="number"){d.push(v)}}}s(m,o.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;s(d,o.compareByOriginalPositions);this.__originalMappings=d};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,r,n,t,o,a){if(e[n]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[n])}if(e[t]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[t])}return i.search(e,r,o,a)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var t=this._generatedMappings[n];if(t.generatedLine===r.generatedLine){var i=o.getArg(t,"source",null);if(i!==null){i=this._sources.at(i);i=o.computeSourceURL(this.sourceRoot,i,this._sourceMapURL)}var a=o.getArg(t,"name",null);if(a!==null){a=this._names.at(a)}return{source:i,line:o.getArg(t,"originalLine",null),column:o.getArg(t,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return e==null}))};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,r){if(!this.sourcesContent){return null}var n=this._findSourceIndex(e);if(n>=0){return this.sourcesContent[n]}var t=e;if(this.sourceRoot!=null){t=o.relative(this.sourceRoot,t)}var i;if(this.sourceRoot!=null&&(i=o.urlParse(this.sourceRoot))){var a=t.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(a)){return this.sourcesContent[this._sources.indexOf(a)]}if((!i.path||i.path=="/")&&this._sources.has("/"+t)){return this.sourcesContent[this._sources.indexOf("/"+t)]}}if(r){return null}else{throw new Error('"'+t+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var r=o.getArg(e,"source");r=this._findSourceIndex(r);if(r<0){return{line:null,column:null,lastColumn:null}}var n={source:r,originalLine:o.getArg(e,"line"),originalColumn:o.getArg(e,"column")};var t=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,o.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(t>=0){var i=this._originalMappings[t];if(i.source===n.source){return{line:o.getArg(i,"generatedLine",null),column:o.getArg(i,"generatedColumn",null),lastColumn:o.getArg(i,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sections");if(t!=this._version){throw new Error("Unsupported version: "+t)}this._sources=new a;this._names=new a;var u={line:-1,column:0};this._sections=i.map((function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var n=o.getArg(e,"offset");var t=o.getArg(n,"line");var i=o.getArg(n,"column");if(t{var t=n(449);var o=n(339);var i=n(274).I;var a=n(680).H;function SourceMapGenerator(e){if(!e){e={}}this._file=o.getArg(e,"file",null);this._sourceRoot=o.getArg(e,"sourceRoot",null);this._skipValidation=o.getArg(e,"skipValidation",false);this._sources=new i;this._names=new i;this._mappings=new a;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var r=e.sourceRoot;var n=new SourceMapGenerator({file:e.file,sourceRoot:r});e.eachMapping((function(e){var t={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){t.source=e.source;if(r!=null){t.source=o.relative(r,t.source)}t.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){t.name=e.name}}n.addMapping(t)}));e.sources.forEach((function(t){var i=t;if(r!==null){i=o.relative(r,t)}if(!n._sources.has(i)){n._sources.add(i)}var a=e.sourceContentFor(t);if(a!=null){n.setSourceContent(t,a)}}));return n};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var r=o.getArg(e,"generated");var n=o.getArg(e,"original",null);var t=o.getArg(e,"source",null);var i=o.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(r,n,t,i)}if(t!=null){t=String(t);if(!this._sources.has(t)){this._sources.add(t)}}if(i!=null){i=String(i);if(!this._names.has(i)){this._names.add(i)}}this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:t,name:i})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,r){var n=e;if(this._sourceRoot!=null){n=o.relative(this._sourceRoot,n)}if(r!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[o.toSetString(n)]=r}else if(this._sourcesContents){delete this._sourcesContents[o.toSetString(n)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,r,n){var t=r;if(r==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}t=e.file}var a=this._sourceRoot;if(a!=null){t=o.relative(a,t)}var u=new i;var s=new i;this._mappings.unsortedForEach((function(r){if(r.source===t&&r.originalLine!=null){var i=e.originalPositionFor({line:r.originalLine,column:r.originalColumn});if(i.source!=null){r.source=i.source;if(n!=null){r.source=o.join(n,r.source)}if(a!=null){r.source=o.relative(a,r.source)}r.originalLine=i.line;r.originalColumn=i.column;if(i.name!=null){r.name=i.name}}}var l=r.source;if(l!=null&&!u.has(l)){u.add(l)}var c=r.name;if(c!=null&&!s.has(c)){s.add(c)}}),this);this._sources=u;this._names=s;e.sources.forEach((function(r){var t=e.sourceContentFor(r);if(t!=null){if(n!=null){r=o.join(n,r)}if(a!=null){r=o.relative(a,r)}this.setSourceContent(r,t)}}),this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,r,n,t){if(r&&typeof r.line!=="number"&&typeof r.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!r&&!n&&!t){return}else if(e&&"line"in e&&"column"in e&&r&&"line"in r&&"column"in r&&e.line>0&&e.column>=0&&r.line>0&&r.column>=0&&n){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:r,name:t}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var r=1;var n=0;var i=0;var a=0;var u=0;var s="";var l;var c;var p;var f;var g=this._mappings.toArray();for(var h=0,d=g.length;h0){if(!o.compareByGeneratedPositionsInflated(c,g[h-1])){continue}l+=","}}l+=t.encode(c.generatedColumn-e);e=c.generatedColumn;if(c.source!=null){f=this._sources.indexOf(c.source);l+=t.encode(f-u);u=f;l+=t.encode(c.originalLine-1-i);i=c.originalLine-1;l+=t.encode(c.originalColumn-n);n=c.originalColumn;if(c.name!=null){p=this._names.indexOf(c.name);l+=t.encode(p-a);a=p}}s+=l}return s};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,r){return e.map((function(e){if(!this._sourcesContents){return null}if(r!=null){e=o.relative(r,e)}var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};r.h=SourceMapGenerator},351:(e,r,n)=>{var t;var o=n(591).h;var i=n(339);var a=/(\r?\n)/;var u=10;var s="$$$isSourceNode$$$";function SourceNode(e,r,n,t,o){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=r==null?null:r;this.source=n==null?null:n;this.name=o==null?null:o;this[s]=true;if(t!=null)this.add(t)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,r,n){var t=new SourceNode;var o=e.split(a);var u=0;var shiftNextLine=function(){var e=getNextLine();var r=getNextLine()||"";return e+r;function getNextLine(){return u=0;r--){this.prepend(e[r])}}else if(e[s]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var r;for(var n=0,t=this.children.length;n0){r=[];for(n=0;n{function getArg(e,r,n){if(r in e){return e[r]}else if(arguments.length===3){return n}else{throw new Error('"'+r+'" is a required argument.')}}r.getArg=getArg;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var t=/^data:.+\,.+$/;function urlParse(e){var r=e.match(n);if(!r){return null}return{scheme:r[1],auth:r[2],host:r[3],port:r[4],path:r[5]}}r.urlParse=urlParse;function urlGenerate(e){var r="";if(e.scheme){r+=e.scheme+":"}r+="//";if(e.auth){r+=e.auth+"@"}if(e.host){r+=e.host}if(e.port){r+=":"+e.port}if(e.path){r+=e.path}return r}r.urlGenerate=urlGenerate;function normalize(e){var n=e;var t=urlParse(e);if(t){if(!t.path){return e}n=t.path}var o=r.isAbsolute(n);var i=n.split(/\/+/);for(var a,u=0,s=i.length-1;s>=0;s--){a=i[s];if(a==="."){i.splice(s,1)}else if(a===".."){u++}else if(u>0){if(a===""){i.splice(s+1,u);u=0}else{i.splice(s,2);u--}}}n=i.join("/");if(n===""){n=o?"/":"."}if(t){t.path=n;return urlGenerate(t)}return n}r.normalize=normalize;function join(e,r){if(e===""){e="."}if(r===""){r="."}var n=urlParse(r);var o=urlParse(e);if(o){e=o.path||"/"}if(n&&!n.scheme){if(o){n.scheme=o.scheme}return urlGenerate(n)}if(n||r.match(t)){return r}if(o&&!o.host&&!o.path){o.host=r;return urlGenerate(o)}var i=r.charAt(0)==="/"?r:normalize(e.replace(/\/+$/,"")+"/"+r);if(o){o.path=i;return urlGenerate(o)}return i}r.join=join;r.isAbsolute=function(e){return e.charAt(0)==="/"||n.test(e)};function relative(e,r){if(e===""){e="."}e=e.replace(/\/$/,"");var n=0;while(r.indexOf(e+"/")!==0){var t=e.lastIndexOf("/");if(t<0){return r}e=e.slice(0,t);if(e.match(/^([^\/]+:\/)?\/*$/)){return r}++n}return Array(n+1).join("../")+r.substr(e.length+1)}r.relative=relative;var o=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}r.toSetString=o?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}r.fromSetString=o?identity:fromSetString;function isProtoString(e){if(!e){return false}var r=e.length;if(r<9){return false}if(e.charCodeAt(r-1)!==95||e.charCodeAt(r-2)!==95||e.charCodeAt(r-3)!==111||e.charCodeAt(r-4)!==116||e.charCodeAt(r-5)!==111||e.charCodeAt(r-6)!==114||e.charCodeAt(r-7)!==112||e.charCodeAt(r-8)!==95||e.charCodeAt(r-9)!==95){return false}for(var n=r-10;n>=0;n--){if(e.charCodeAt(n)!==36){return false}}return true}function compareByOriginalPositions(e,r,n){var t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0||n){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0){return t}t=e.generatedLine-r.generatedLine;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,r,n){var t=e.generatedLine-r.generatedLine;if(t!==0){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0||n){return t}t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,r){if(e===r){return 0}if(e===null){return 1}if(r===null){return-1}if(e>r){return 1}return-1}function compareByGeneratedPositionsInflated(e,r){var n=e.generatedLine-r.generatedLine;if(n!==0){return n}n=e.generatedColumn-r.generatedColumn;if(n!==0){return n}n=strcmp(e.source,r.source);if(n!==0){return n}n=e.originalLine-r.originalLine;if(n!==0){return n}n=e.originalColumn-r.originalColumn;if(n!==0){return n}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}r.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,r,n){r=r||"";if(e){if(e[e.length-1]!=="/"&&r[0]!=="/"){e+="/"}r=e+r}if(n){var t=urlParse(n);if(!t){throw new Error("sourceMapURL could not be parsed")}if(t.path){var o=t.path.lastIndexOf("/");if(o>=0){t.path=t.path.substring(0,o+1)}}r=join(urlGenerate(t),r)}return normalize(r)}r.computeSourceURL=computeSourceURL},997:(e,r,n)=>{n(591).h;r.SourceMapConsumer=n(952).SourceMapConsumer;n(351)},284:(e,r,n)=>{e=n.nmd(e);var t=n(997).SourceMapConsumer;var o=n(17);var i;try{i=n(147);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(650);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var h=[];var d=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"")}}else if(u){o+="new "+(i||"")}else if(i){o+=i}else{o+=r;a=false}if(a){o+=" ("+r+")"}return o}function cloneCallSite(e){var r={};Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(n){r[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n]}));r.toString=CallSiteToString;return r}function wrapCallSite(e,r){if(r===undefined){r={nextPosition:null,curPosition:null}}if(e.isNative()){r.curPosition=null;return e}var n=e.getFileName()||e.getScriptNameOrSourceURL();if(n){var t=e.getLineNumber();var o=e.getColumnNumber()-1;var i=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/;var a=i.test(globalProcessVersion())?0:62;if(t===1&&o>a&&!isInBrowser()&&!e.isEval()){o-=a}var u=mapSourcePosition({source:n,line:t,column:o});r.curPosition=u;e=cloneCallSite(e);var s=e.getFunctionName;e.getFunctionName=function(){if(r.nextPosition==null){return s()}return r.nextPosition.name||s()};e.getFileName=function(){return u.source};e.getLineNumber=function(){return u.line};e.getColumnNumber=function(){return u.column+1};e.getScriptNameOrSourceURL=function(){return u.source};return e}var l=e.isEval()&&e.getEvalOrigin();if(l){l=mapEvalOrigin(l);e=cloneCallSite(e);e.getEvalOrigin=function(){return l};return e}return e}function prepareStackTrace(e,r){if(l){p={};f={}}var n=e.name||"Error";var t=e.message||"";var o=n+": "+t;var i={nextPosition:null,curPosition:null};var a=[];for(var u=r.length-1;u>=0;u--){a.push("\n at "+wrapCallSite(r[u],i));i.nextPosition=i.curPosition}i.curPosition=i.nextPosition=null;return o+a.reverse().join("")}function getErrorSource(e){var r=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(r){var n=r[1];var t=+r[2];var o=+r[3];var a=p[n];if(!a&&i&&i.existsSync(n)){try{a=i.readFileSync(n,"utf8")}catch(e){a=""}}if(a){var u=a.split(/(?:\r\n|\r|\n)/)[t-1];if(u){return n+":"+t+"\n"+u+"\n"+new Array(o).join(" ")+"^"}}}return null}function printErrorAndExit(e){var r=getErrorSource(e);var n=globalProcessStderr();if(n&&n._handle&&n._handle.setBlocking){n._handle.setBlocking(true)}if(r){console.error();console.error(r)}console.error(e.stack);globalProcessExit(1)}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(r){if(r==="uncaughtException"){var n=arguments[1]&&arguments[1].stack;var t=this.listeners(r).length>0;if(n&&!t){return printErrorAndExit(arguments[1])}}return e.apply(this,arguments)}}var S=h.slice(0);var _=d.slice(0);r.wrapCallSite=wrapCallSite;r.getErrorSource=getErrorSource;r.mapSourcePosition=mapSourcePosition;r.retrieveSourceMap=v;r.install=function(r){r=r||{};if(r.environment){c=r.environment;if(["node","browser","auto"].indexOf(c)===-1){throw new Error("environment "+c+" was unknown. Available options are {auto, browser, node}")}}if(r.retrieveFile){if(r.overrideRetrieveFile){h.length=0}h.unshift(r.retrieveFile)}if(r.retrieveSourceMap){if(r.overrideRetrieveSourceMap){d.length=0}d.unshift(r.retrieveSourceMap)}if(r.hookRequire&&!isInBrowser()){var n=dynamicRequire(e,"module");var t=n.prototype._compile;if(!t.__sourceMapSupport){n.prototype._compile=function(e,r){p[r]=e;f[r]=undefined;return t.call(this,e,r)};n.prototype._compile.__sourceMapSupport=true}}if(!l){l="emptyCacheBetweenOperations"in r?r.emptyCacheBetweenOperations:false}if(!u){u=true;Error.prepareStackTrace=prepareStackTrace}if(!s){var o="handleUncaughtExceptions"in r?r.handleUncaughtExceptions:true;try{var i=dynamicRequire(e,"worker_threads");if(i.isMainThread===false){o=false}}catch(e){}if(o&&hasGlobalProcessEventEmitter()){s=true;shimEmitUncaughtException()}}};r.resetRetrieveHandlers=function(){h.length=0;d.length=0;h=S.slice(0);d=_.slice(0);v=handlerExec(d);m=handlerExec(h)}},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")}};var r={};function __webpack_require__(n){var t=r[n];if(t!==undefined){return t.exports}var o=r[n]={id:n,loaded:false,exports:{}};var i=true;try{e[n](o,o.exports,__webpack_require__);i=false}finally{if(i)delete r[n]}o.loaded=true;return o.exports}(()=>{__webpack_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __webpack_require__!=="undefined")__webpack_require__.ab=__dirname+"/";var n={};(()=>{__webpack_require__(284).install()})();module.exports=n})();
--------------------------------------------------------------------------------
/docker-bake.hcl:
--------------------------------------------------------------------------------
1 | target "_common" {
2 | args = {
3 | BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
4 | }
5 | }
6 |
7 | group "default" {
8 | targets = ["build"]
9 | }
10 |
11 | group "pre-checkin" {
12 | targets = ["vendor", "format", "build"]
13 | }
14 |
15 | group "validate" {
16 | targets = ["lint", "build-validate", "vendor-validate"]
17 | }
18 |
19 | target "build" {
20 | dockerfile = "dev.Dockerfile"
21 | target = "build-update"
22 | output = ["."]
23 | }
24 |
25 | target "build-validate" {
26 | inherits = ["_common"]
27 | dockerfile = "dev.Dockerfile"
28 | target = "build-validate"
29 | output = ["type=cacheonly"]
30 | }
31 |
32 | target "format" {
33 | dockerfile = "dev.Dockerfile"
34 | target = "format-update"
35 | output = ["."]
36 | }
37 |
38 | target "lint" {
39 | dockerfile = "dev.Dockerfile"
40 | target = "lint"
41 | output = ["type=cacheonly"]
42 | }
43 |
44 | target "vendor" {
45 | dockerfile = "dev.Dockerfile"
46 | target = "vendor-update"
47 | output = ["."]
48 | }
49 |
50 | target "vendor-validate" {
51 | inherits = ["_common"]
52 | dockerfile = "dev.Dockerfile"
53 | target = "vendor-validate"
54 | output = ["type=cacheonly"]
55 | }
56 |
57 | target "test" {
58 | dockerfile = "dev.Dockerfile"
59 | target = "test-coverage"
60 | output = ["./coverage"]
61 | }
62 |
--------------------------------------------------------------------------------
/jest.config.ts:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | clearMocks: true,
3 | testEnvironment: 'node',
4 | moduleFileExtensions: ['js', 'ts'],
5 | testMatch: ['**/*.test.ts'],
6 | transform: {
7 | '^.+\\.ts$': 'ts-jest'
8 | },
9 | collectCoverageFrom: ['src/**/{!(main.ts),}.ts'],
10 | coveragePathIgnorePatterns: ['dist/', 'node_modules/', '__tests__/'],
11 | verbose: true
12 | };
13 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mage-action",
3 | "description": "GitHub Action for Mage, a Make/rake-like build tool using Go",
4 | "main": "src/main.ts",
5 | "scripts": {
6 | "build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
7 | "lint": "yarn run prettier && yarn run eslint",
8 | "format": "yarn run prettier:fix && yarn run eslint:fix",
9 | "eslint": "eslint --max-warnings=0 .",
10 | "eslint:fix": "eslint --fix .",
11 | "prettier": "prettier --check \"./**/*.ts\"",
12 | "prettier:fix": "prettier --write \"./**/*.ts\"",
13 | "test": "jest",
14 | "all": "yarn run build && yarn run format && yarn test"
15 | },
16 | "repository": {
17 | "type": "git",
18 | "url": "git+https://github.com/magefile/mage-action.git"
19 | },
20 | "keywords": [
21 | "actions",
22 | "mage",
23 | "make",
24 | "rake",
25 | "golang"
26 | ],
27 | "author": "CrazyMax",
28 | "license": "MIT",
29 | "packageManager": "yarn@3.6.3",
30 | "dependencies": {
31 | "@actions/cache": "^4.0.3",
32 | "@actions/core": "^1.11.1",
33 | "@actions/exec": "^1.1.1",
34 | "@actions/http-client": "^2.2.3",
35 | "@actions/tool-cache": "^2.0.2"
36 | },
37 | "devDependencies": {
38 | "@types/node": "^20.6.0",
39 | "@typescript-eslint/eslint-plugin": "^6.6.0",
40 | "@typescript-eslint/parser": "^6.6.0",
41 | "@vercel/ncc": "^0.38.0",
42 | "eslint": "^8.49.0",
43 | "eslint-config-prettier": "^9.0.0",
44 | "eslint-plugin-jest": "^27.2.3",
45 | "eslint-plugin-prettier": "^5.0.0",
46 | "jest": "^29.6.4",
47 | "prettier": "^3.0.3",
48 | "ts-jest": "^29.1.1",
49 | "ts-node": "^10.9.1",
50 | "typescript": "^5.2.2"
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/installer.ts:
--------------------------------------------------------------------------------
1 | import * as os from 'os';
2 | import * as path from 'path';
3 | import * as util from 'util';
4 | import * as core from '@actions/core';
5 | import * as httpm from '@actions/http-client';
6 | import * as tc from '@actions/tool-cache';
7 | import * as cache from '@actions/cache';
8 | import fs from 'fs';
9 |
10 | const osPlat: string = os.platform();
11 | const osArch: string = os.arch();
12 |
13 | export interface GitHubRelease {
14 | id: number;
15 | tag_name: string;
16 | html_url: string;
17 | assets: Array;
18 | }
19 |
20 | export const getRelease = async (version: string): Promise => {
21 | const url = `https://raw.githubusercontent.com/magefile/mage-action/master/.github/mage-releases.json`;
22 | const http: httpm.HttpClient = new httpm.HttpClient('ghaction-setup-containerd');
23 | const resp: httpm.HttpClientResponse = await http.get(url);
24 | const body = await resp.readBody();
25 | const statusCode = resp.message.statusCode || 500;
26 | if (statusCode >= 400) {
27 | throw new Error(`Failed to get Mage release ${version} from ${url} with status code ${statusCode}: ${body}`);
28 | }
29 | const releases = >JSON.parse(body);
30 | if (!releases[version]) {
31 | throw new Error(`Cannot find Mage release ${version} in ${url}`);
32 | }
33 | return releases[version];
34 | };
35 |
36 | export async function getMage(version: string, cacheBinary?: boolean): Promise {
37 | const release: GitHubRelease = await getRelease(version);
38 | const semver: string = release.tag_name.replace(/^v/, '');
39 | core.info(`Mage version found: ${release.tag_name}`);
40 |
41 | const filename: string = getFilename(semver);
42 | const magePath = tc.find('mage-action', semver);
43 | if (magePath) {
44 | core.info(`Mage binary found in local cache @ ${magePath}`);
45 | return getExePath(magePath);
46 | }
47 |
48 | const mageHome = path.join(`${process.env.HOME}`, '.mage');
49 | if (!fs.existsSync(mageHome)) {
50 | fs.mkdirSync(mageHome, {recursive: true});
51 | }
52 |
53 | if (cacheBinary && cache.isFeatureAvailable()) {
54 | core.debug(`GitHub actions cache feature available`);
55 | const cacheKey = await cache.restoreCache([getExePath(mageHome)], getCacheKey(semver));
56 | if (cacheKey) {
57 | core.info(`Restored ${cacheKey} from GitHub actions cache`);
58 | const cachePath: string = await tc.cacheDir(mageHome, 'mage-action', semver);
59 | return getExePath(cachePath);
60 | }
61 | }
62 |
63 | const downloadUrl: string = util.format(
64 | 'https://github.com/magefile/mage/releases/download/%s/%s',
65 | release.tag_name,
66 | filename
67 | );
68 |
69 | core.info(`Downloading ${downloadUrl}...`);
70 | const downloadPath: string = await tc.downloadTool(downloadUrl);
71 | core.debug(`Downloaded to ${downloadPath}`);
72 |
73 | core.info('Extracting Mage...');
74 | let extPath: string;
75 | if (osPlat == 'win32') {
76 | extPath = await tc.extractZip(downloadPath, mageHome);
77 | } else {
78 | extPath = await tc.extractTar(downloadPath, mageHome);
79 | }
80 | core.debug(`Extracted to ${extPath}`);
81 |
82 | const cachePath: string = await tc.cacheDir(extPath, 'mage-action', semver);
83 | core.debug(`Cached to ${cachePath}`);
84 | if (cacheBinary && cache.isFeatureAvailable()) {
85 | core.debug(`Caching to GitHub actions cache`);
86 | await cache.saveCache([getExePath(mageHome)], getCacheKey(semver));
87 | }
88 |
89 | return getExePath(cachePath);
90 | }
91 |
92 | const getCacheKey = (semver: string): string => {
93 | return util.format('mage-action-cache-%s', semver);
94 | };
95 |
96 | const getExePath = (basePath: string): string => {
97 | const exePath: string = path.join(basePath, osPlat == 'win32' ? 'mage.exe' : 'mage');
98 | core.debug(`Exe path is ${exePath}`);
99 |
100 | return exePath;
101 | };
102 |
103 | const getFilename = (semver: string): string => {
104 | const platform: string = osPlat == 'win32' ? 'Windows' : osPlat == 'darwin' ? 'macOS' : 'Linux';
105 | const arch: string = osArch == 'x64' ? '64bit' : osArch == 'arm64' ? 'ARM64' : '32bit';
106 | const ext: string = osPlat == 'win32' ? 'zip' : 'tar.gz';
107 | return util.format('mage_%s_%s-%s.%s', semver, platform, arch, ext);
108 | };
109 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import * as path from 'path';
2 | import * as installer from './installer';
3 | import * as core from '@actions/core';
4 | import * as exec from '@actions/exec';
5 |
6 | async function run(): Promise {
7 | try {
8 | const version = core.getInput('version') || 'latest';
9 | const args = core.getInput('args');
10 | const workdir = core.getInput('workdir') || process.env['GITHUB_WORKSPACE'] || '.';
11 | const installOnly = core.getBooleanInput('install-only');
12 | const cacheBinary = core.getBooleanInput('cache-binary');
13 |
14 | const mage = await installer.getMage(version, cacheBinary);
15 |
16 | if (installOnly) {
17 | const dir = path.dirname(mage);
18 | core.addPath(dir);
19 | core.debug(`Added ${dir} to PATH`);
20 | return;
21 | }
22 |
23 | core.info('Running Mage...');
24 | await exec.exec(`${mage} ${args}`, undefined, {
25 | cwd: workdir
26 | });
27 | } catch (error) {
28 | core.setFailed(error.message);
29 | }
30 | }
31 |
32 | run();
33 |
--------------------------------------------------------------------------------
/test/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/magefile/mage-action/test
2 |
3 | go 1.20
4 |
5 | require github.com/magefile/mage v1.15.0
6 |
--------------------------------------------------------------------------------
/test/go.sum:
--------------------------------------------------------------------------------
1 | github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg=
2 | github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A=
3 |
--------------------------------------------------------------------------------
/test/magefile.go:
--------------------------------------------------------------------------------
1 | //go:build mage
2 |
3 | package main
4 |
5 | import (
6 | "fmt"
7 |
8 | "github.com/magefile/mage/mg"
9 | "github.com/magefile/mage/sh"
10 | )
11 |
12 | // Build the app!
13 | func Build() error {
14 | fmt.Println("⚙️ Go mod download")
15 | if err := sh.Run(mg.GoCmd(), "mod", "download"); err != nil {
16 | return err
17 | }
18 |
19 | fmt.Println("⚙️ Go build...")
20 | return sh.Run(mg.GoCmd(), "build", "-o", "mage-action", "-v")
21 | }
22 |
--------------------------------------------------------------------------------
/test/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | func main() {
4 | println("Ba dum, tss!")
5 | }
6 |
--------------------------------------------------------------------------------
/test/tools.go:
--------------------------------------------------------------------------------
1 | //go:build tools
2 |
3 | package tools
4 |
5 | import (
6 | // Import mage tool
7 | _ "github.com/magefile/mage"
8 | )
9 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "esModuleInterop": true,
4 | "target": "es6",
5 | "module": "commonjs",
6 | "newLine": "lf",
7 | "outDir": "./lib",
8 | "rootDir": "./src",
9 | "forceConsistentCasingInFileNames": true,
10 | "noImplicitAny": false,
11 | "resolveJsonModule": true,
12 | "useUnknownInCatchVariables": false,
13 | },
14 | "exclude": [
15 | "node_modules",
16 | "**/*.test.ts",
17 | "jest.config.ts"
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------