Compare commits

...

134 Commits

Author SHA1 Message Date
dependabot[bot]
d45ffd76d7 chore(deps): bump flatted from 3.3.4 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.4 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.4...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 20:04:18 +00:00
CrazyMax
63211a80a3 Merge pull request #283 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2026-03-06 02:40:19 +01:00
crazy-max
b372fe4809 update .github/upx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-06 00:15:27 +00:00
CrazyMax
d6af38d296 Merge pull request #282 from crazy-max/update-readme
readme: update to v4
2026-03-02 23:35:30 +01:00
CrazyMax
12339ed48f readme: update to v4 2026-03-02 23:34:27 +01:00
CrazyMax
c83f378efc Merge pull request #281 from crazy-max/node24
node 24 as default runtime
2026-03-02 23:28:51 +01:00
CrazyMax
ece6c7aefc node 24 as default runtime 2026-03-02 23:27:08 +01:00
CrazyMax
ba752d785c Merge pull request #279 from crazy-max/dependabot/npm_and_yarn/glob-13.0.6
chore(deps): bump glob from 11.1.0 to 13.0.6
2026-03-02 23:24:25 +01:00
CrazyMax
4c1efe3556 chore: update generated content 2026-03-02 23:23:00 +01:00
dependabot[bot]
4691e381bf chore(deps): bump glob from 11.1.0 to 13.0.6
Bumps [glob](https://github.com/isaacs/node-glob) from 11.1.0 to 13.0.6.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v11.1.0...v13.0.6)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 13.0.6
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 22:22:04 +00:00
CrazyMax
d316ed7335 Merge pull request #274 from crazy-max/dependabot/npm_and_yarn/actions/tool-cache-4.0.0
chore(deps): bump @actions/tool-cache from 2.0.2 to 4.0.0
2026-03-02 23:20:33 +01:00
CrazyMax
c4146ab44f chore: update generated content 2026-03-02 23:19:12 +01:00
dependabot[bot]
99b83110e8 chore(deps): bump @actions/tool-cache from 2.0.2 to 4.0.0
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 2.0.2 to 4.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/cache@4.0.0/packages/tool-cache)

---
updated-dependencies:
- dependency-name: "@actions/tool-cache"
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 22:16:47 +00:00
CrazyMax
05b8d23b78 Merge pull request #273 from crazy-max/dependabot/npm_and_yarn/actions/core-3.0.0
chore(deps): bump @actions/core from 1.11.1 to 3.0.0
2026-03-02 23:15:09 +01:00
CrazyMax
339ea5e81e chore: update generated content 2026-03-02 23:12:48 +01:00
dependabot[bot]
8ed20ae6fd chore(deps): bump @actions/core from 1.11.1 to 3.0.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 22:12:05 +00:00
CrazyMax
4b5f05bec4 Merge pull request #280 from crazy-max/dependabot/npm_and_yarn/actions/exec-3.0.0
chore(deps): bump @actions/exec from 1.1.1 to 3.0.0
2026-03-02 23:10:31 +01:00
CrazyMax
37e3f51e7b chore: update generated content 2026-03-02 23:09:26 +01:00
dependabot[bot]
1118c925fc chore(deps): bump @actions/exec from 1.1.1 to 3.0.0
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.1.1 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/exec)

---
updated-dependencies:
- dependency-name: "@actions/exec"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 21:49:03 +00:00
CrazyMax
22a759a2ac Merge pull request #275 from crazy-max/dependabot/npm_and_yarn/actions/http-client-4.0.0
chore(deps): bump @actions/http-client from 2.2.3 to 4.0.0
2026-03-02 22:43:29 +01:00
CrazyMax
aed328ad51 chore: update generated content 2026-03-02 22:42:15 +01:00
dependabot[bot]
e40426c154 chore(deps): bump @actions/http-client from 2.2.3 to 4.0.0
Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 2.2.3 to 4.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/cache@4.0.0/packages/http-client)

---
updated-dependencies:
- dependency-name: "@actions/http-client"
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 21:41:09 +00:00
CrazyMax
1a040c51a1 Merge pull request #277 from crazy-max/dependabot/npm_and_yarn/minimatch-3.1.5
chore(deps): bump minimatch from 3.1.2 to 3.1.5
2026-03-02 22:36:08 +01:00
CrazyMax
aa792c6991 chore: update generated content 2026-03-02 22:34:04 +01:00
dependabot[bot]
93c44e0fbf chore(deps): bump minimatch from 3.1.2 to 3.1.5
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 21:33:14 +00:00
CrazyMax
7364ee396a Merge pull request #264 from crazy-max/dependabot/npm_and_yarn/brace-expansion-1.1.12
chore(deps): bump brace-expansion from 1.1.11 to 1.1.12
2026-03-02 22:33:07 +01:00
dependabot[bot]
c2be7c0e51 chore(deps): bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 21:31:26 +00:00
CrazyMax
490553544c Merge pull request #278 from crazy-max/esm
switch to ESM and update config/test wiring
2026-03-02 22:29:46 +01:00
CrazyMax
0d2b39edbf update codecov config 2026-03-02 22:24:48 +01:00
CrazyMax
920c832385 chore: update generated content 2026-03-02 22:24:33 +01:00
CrazyMax
4e1017043f update dev dependencies 2026-03-02 22:23:06 +01:00
CrazyMax
9839d94df1 switch to ESM and update config/test wiring 2026-03-02 22:22:15 +01:00
CrazyMax
431a9f4c97 switch from jest to vitest 2026-03-02 22:08:14 +01:00
CrazyMax
7054f155b5 dockerfile: fix vendoring 2026-03-02 22:05:30 +01:00
CrazyMax
5c81813acf update jest config since 30.0 2026-03-02 22:04:44 +01:00
CrazyMax
c0392600bd migrate eslint config to new format required since 9.0.0 2026-03-02 22:03:00 +01:00
CrazyMax
b3bfdb342f update dev dependencies 2026-03-02 22:01:59 +01:00
CrazyMax
9d974f0bf5 new year 2026-02-15 22:38:10 +01:00
CrazyMax
02ec95e12a Merge pull request #268 from crazy-max/dependabot/npm_and_yarn/js-yaml-3.14.2
chore(deps): bump js-yaml from 3.14.0 to 3.14.2
2026-02-15 22:01:31 +01:00
dependabot[bot]
e90e22ee9e chore(deps): bump js-yaml from 3.14.0 to 3.14.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.0 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.0...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-15 20:59:18 +00:00
CrazyMax
ebe27778d5 Merge pull request #270 from crazy-max/dependabot/npm_and_yarn/lodash-4.17.23
chore(deps): bump lodash from 4.17.21 to 4.17.23
2026-02-15 21:55:16 +01:00
dependabot[bot]
a2f9558717 chore(deps): bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-15 20:46:54 +00:00
CrazyMax
9b113d69b3 Merge pull request #272 from crazy-max/update-yarn
update yarn to 4.12.0
2026-02-15 21:45:19 +01:00
CrazyMax
5c2495d8c5 update yarn to 4.12.0 2026-02-15 20:25:23 +01:00
CrazyMax
d8679b5aba Merge pull request #265 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2026-02-13 11:15:21 +01:00
crazy-max
208d1a4703 update .github/upx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-08 00:07:34 +00:00
CrazyMax
e4f8b1afe3 Merge pull request #263 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2025-06-30 22:38:19 +02:00
crazy-max
98a5b6dc55 update .github/upx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-06 12:03:02 +00:00
CrazyMax
db8cc9515a Merge pull request #262 from crazy-max/bake-v6
ci: update bake-action to v6
2025-03-30 01:27:46 +01:00
CrazyMax
0611e9b059 ci: update bake-action to v6 2025-03-30 01:25:25 +01:00
CrazyMax
9ae418490f Merge pull request #258 from crazy-max/dependabot/npm_and_yarn/undici-5.28.5
chore(deps): bump undici from 5.28.4 to 5.28.5
2025-03-30 01:23:12 +01:00
CrazyMax
c50a32206a Merge pull request #259 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2025-03-30 01:20:42 +01:00
CrazyMax
bc957b5008 chore: update generated content 2025-03-30 01:19:54 +01:00
dependabot[bot]
753df44ceb chore(deps): bump undici from 5.28.4 to 5.28.5
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.28.5)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-30 00:18:48 +00:00
crazy-max
b80076a108 update .github/upx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-30 00:16:55 +00:00
CrazyMax
89befed9a1 Merge pull request #257 from crazy-max/dependabot/npm_and_yarn/actions/tool-cache-2.0.2
chore(deps): bump @actions/tool-cache from 2.0.1 to 2.0.2
2025-03-30 01:16:31 +01:00
CrazyMax
9c4157adde chore: update generated content 2025-03-30 01:14:31 +01:00
dependabot[bot]
3b6774bbf1 chore(deps): bump @actions/tool-cache from 2.0.1 to 2.0.2
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 2.0.1 to 2.0.2.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

---
updated-dependencies:
- dependency-name: "@actions/tool-cache"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-30 00:06:10 +00:00
CrazyMax
eae762b1a8 Merge pull request #256 from crazy-max/dependabot/npm_and_yarn/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6
2025-03-30 01:04:25 +01:00
CrazyMax
228e793ac6 Merge pull request #255 from crazy-max/dependabot/github_actions/codecov/codecov-action-5
chore(deps): bump codecov/codecov-action from 4 to 5
2025-03-30 01:04:04 +01:00
CrazyMax
303645cb72 ci: fix deprecated codecov input 2025-03-30 01:02:29 +01:00
CrazyMax
768043258e Merge pull request #260 from crazy-max/gha-perms
ci: set contents read as default workflow permissions
2025-03-02 16:24:31 +01:00
CrazyMax
05f1368902 ci: set contents read as default workflow permissions 2025-03-02 16:18:40 +01:00
CrazyMax
d0b058af6b new year 2025-03-02 16:18:37 +01:00
dependabot[bot]
bc548a3f9e chore(deps): bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 22:51:29 +00:00
dependabot[bot]
525b2b9d14 chore(deps): bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-14 19:21:08 +00:00
CrazyMax
de21b8cbed Merge pull request #254 from crazy-max/arm-support
arm platform support
2024-10-27 21:13:44 +01:00
CrazyMax
b9b8f6c885 chore: update generated content 2024-10-27 21:11:25 +01:00
CrazyMax
ff965ece8d arm platform support 2024-10-27 21:10:52 +01:00
CrazyMax
5deb7f8ace Merge pull request #245 from crazy-max/dependabot/npm_and_yarn/actions/http-client-2.2.3
chore(deps): bump @actions/http-client from 2.1.1 to 2.2.3
2024-10-27 20:41:26 +01:00
CrazyMax
922ae56856 chore: update generated content 2024-10-27 20:39:31 +01:00
dependabot[bot]
c57ba98218 chore(deps): bump @actions/http-client from 2.1.1 to 2.2.3
Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 2.1.1 to 2.2.3.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client)

---
updated-dependencies:
- dependency-name: "@actions/http-client"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-27 19:24:54 +00:00
CrazyMax
087f99ec8e Merge pull request #253 from crazy-max/dependabot/npm_and_yarn/actions/core-1.11.1
chore(deps): bump @actions/core from 1.10.0 to 1.11.1
2024-10-27 20:23:57 +01:00
CrazyMax
e8855ae11b chore: update generated content 2024-10-27 20:22:20 +01:00
CrazyMax
df365deb87 Merge pull request #251 from crazy-max/dependabot/github_actions/peter-evans/create-pull-request-7.0.5
chore(deps): bump peter-evans/create-pull-request from 6.1.0 to 7.0.5
2024-10-27 20:12:24 +01:00
CrazyMax
6cb7267ce1 Merge pull request #246 from crazy-max/dependabot/npm_and_yarn/micromatch-4.0.8
chore(deps): bump micromatch from 4.0.5 to 4.0.8
2024-10-27 20:12:10 +01:00
dependabot[bot]
3511e74605 chore(deps): bump @actions/core from 1.10.0 to 1.11.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.11.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 19:49:06 +00:00
dependabot[bot]
8085c47593 chore(deps): bump peter-evans/create-pull-request from 6.1.0 to 7.0.5
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.1.0 to 7.0.5.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](c5a7806660...5e914681df)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 19:57:25 +00:00
dependabot[bot]
cf0a26615e chore(deps): bump micromatch from 4.0.5 to 4.0.8
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 15:41:33 +00:00
CrazyMax
06e76b7e3d Merge pull request #241 from crazy-max/dependabot/github_actions/docker/bake-action-5
chore(deps): bump docker/bake-action from 4 to 5
2024-06-23 17:13:44 +02:00
CrazyMax
3c058fcaf8 Merge pull request #242 from crazy-max/dependabot/github_actions/peter-evans/create-pull-request-6.1.0
chore(deps): bump peter-evans/create-pull-request from 6.0.5 to 6.1.0
2024-06-23 17:13:34 +02:00
dependabot[bot]
390fee0372 chore(deps): bump peter-evans/create-pull-request from 6.0.5 to 6.1.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.0.5 to 6.1.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](6d6857d369...c5a7806660)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 19:49:24 +00:00
dependabot[bot]
d824723552 chore(deps): bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 19:44:45 +00:00
CrazyMax
18c19a3a3c Merge pull request #239 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2024-06-16 23:39:36 +02:00
crazy-max
b4ff921d59 update .github/upx-releases.json
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-16 21:38:15 +00:00
CrazyMax
b263cf2a91 Merge pull request #240 from crazy-max/dependabot/npm_and_yarn/braces-3.0.3
chore(deps): bump braces from 3.0.2 to 3.0.3
2024-06-16 23:37:45 +02:00
dependabot[bot]
fc6941f5cb chore(deps): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 12:13:20 +00:00
CrazyMax
4b6254ec24 Merge pull request #238 from crazy-max/corepack
chore: use corepack to install yarn
2024-04-27 12:24:15 +02:00
CrazyMax
b51bbe71e0 Merge pull request #237 from crazy-max/dependabot/github_actions/peter-evans/create-pull-request-6.0.5
chore(deps): bump peter-evans/create-pull-request from 6.0.2 to 6.0.5
2024-04-27 12:23:05 +02:00
CrazyMax
8b9fc9539f Merge pull request #234 from crazy-max/dependabot/npm_and_yarn/tar-6.2.1
chore(deps): bump tar from 6.2.0 to 6.2.1
2024-04-27 12:22:58 +02:00
CrazyMax
04196a5976 Merge pull request #230 from crazy-max/dependabot/npm_and_yarn/ip-2.0.1
chore(deps): bump ip from 2.0.0 to 2.0.1
2024-04-27 12:22:51 +02:00
CrazyMax
3854409c84 Merge pull request #224 from crazy-max/dependabot/npm_and_yarn/babel/traverse-7.23.2
chore(deps): bump @babel/traverse from 7.17.9 to 7.23.2
2024-04-27 12:22:44 +02:00
CrazyMax
2f2e4253d1 Merge pull request #222 from crazy-max/dependabot/npm_and_yarn/debug-4.3.4
chore(deps): bump debug from 4.1.1 to 4.3.4
2024-04-27 12:22:36 +02:00
CrazyMax
b3885dada4 chore: use corepack to install yarn 2024-04-27 12:22:02 +02:00
dependabot[bot]
910cc4de3a chore(deps): bump peter-evans/create-pull-request from 6.0.2 to 6.0.5
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.0.2 to 6.0.5.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](70a41aba78...6d6857d369)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-25 19:55:56 +00:00
dependabot[bot]
071b6f63ac chore(deps): bump tar from 6.2.0 to 6.2.1
Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.0...v6.2.1)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 11:51:02 +00:00
CrazyMax
9169abd346 Merge pull request #227 from crazy-max/dependabot/github_actions/actions/download-artifact-4
chore(deps): bump actions/download-artifact from 3 to 4
2024-04-08 09:53:45 +02:00
CrazyMax
487c5b1270 Merge pull request #221 from crazy-max/dependabot/github_actions/codecov/codecov-action-4
chore(deps): bump codecov/codecov-action from 3 to 4
2024-04-08 09:53:18 +02:00
CrazyMax
54d948a749 update releases-json to fa6141aedf23596fb8bdcceab9cce8dadaa31bd9 2024-04-08 09:53:08 +02:00
CrazyMax
5f0334cb1b update peter-evans/create-pull-request to v6.0.2 2024-04-08 09:52:50 +02:00
CrazyMax
7f0c123988 ci: set CODECOV_TOKEN 2024-04-08 09:51:23 +02:00
CrazyMax
279e766952 Merge pull request #228 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2024-04-08 09:50:46 +02:00
CrazyMax
058ce2e91a Merge pull request #219 from crazy-max/dependabot/github_actions/crazy-max/ghaction-github-labeler-5
chore(deps): bump crazy-max/ghaction-github-labeler from 4 to 5
2024-04-08 09:50:36 +02:00
CrazyMax
a4c7e33c03 Merge pull request #220 from crazy-max/dependabot/github_actions/docker/bake-action-4
chore(deps): bump docker/bake-action from 3 to 4
2024-04-08 09:50:27 +02:00
crazy-max
bd605356e8 update .github/upx-releases.json
Signed-off-by: GitHub <noreply@github.com>
2024-04-07 22:47:36 +00:00
CrazyMax
6d946854f4 new year 2024-04-08 00:46:59 +02:00
dependabot[bot]
f073aa65b4 chore(deps): bump ip from 2.0.0 to 2.0.1
Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-21 01:19:48 +00:00
dependabot[bot]
894c4caedf chore(deps): bump actions/download-artifact from 3 to 4
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 19:36:33 +00:00
CrazyMax
7ebe5ff18c Merge pull request #218 from crazy-max/dependabot/github_actions/actions/checkout-4
chore(deps): bump actions/checkout from 3 to 4
2024-01-02 17:48:12 +01:00
CrazyMax
44de3abeda Merge pull request #226 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2023-11-01 22:43:49 -07:00
crazy-max
e1028f1f17 update .github/upx-releases.json
Signed-off-by: GitHub <noreply@github.com>
2023-11-02 00:04:58 +00:00
CrazyMax
e946ae938e Merge pull request #225 from crazy-max/bot/upx-releases-json
Update `.github/upx-releases.json`
2023-10-26 06:22:51 -07:00
crazy-max
e7e7b14f87 update .github/upx-releases.json
Signed-off-by: GitHub <noreply@github.com>
2023-10-26 12:02:32 +00:00
dependabot[bot]
03bd05f834 chore(deps): bump @babel/traverse from 7.17.9 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.9 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 23:30:46 +00:00
dependabot[bot]
abeeedd55f chore(deps): bump debug from 4.1.1 to 4.3.4
Bumps [debug](https://github.com/debug-js/debug) from 4.1.1 to 4.3.4.
- [Release notes](https://github.com/debug-js/debug/releases)
- [Commits](https://github.com/debug-js/debug/compare/4.1.1...4.3.4)

---
updated-dependencies:
- dependency-name: debug
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 00:36:10 +00:00
dependabot[bot]
84fe304c84 chore(deps): bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-14 19:18:15 +00:00
dependabot[bot]
bada1c6e0a chore(deps): bump docker/bake-action from 3 to 4
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3 to 4.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:56:44 +00:00
dependabot[bot]
a0b0b319be chore(deps): bump crazy-max/ghaction-github-labeler from 4 to 5
Bumps [crazy-max/ghaction-github-labeler](https://github.com/crazy-max/ghaction-github-labeler) from 4 to 5.
- [Release notes](https://github.com/crazy-max/ghaction-github-labeler/releases)
- [Commits](https://github.com/crazy-max/ghaction-github-labeler/compare/v4...v5)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-github-labeler
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 19:32:11 +00:00
dependabot[bot]
a7cbc445ae chore(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 19:32:07 +00:00
CrazyMax
48041fd66e Merge pull request #216 from crazy-max/bump-major
docs: bump actions to latest major
2023-09-10 15:59:03 +02:00
CrazyMax
8252949326 docs: bump actions to latest major 2023-09-10 15:58:06 +02:00
CrazyMax
0fc45e9126 Merge pull request #213 from crazy-max/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-10 15:54:38 +02:00
CrazyMax
9465f624dd Merge pull request #215 from crazy-max/update-node20
chore: node 20 as default runtime
2023-09-10 15:54:21 +02:00
CrazyMax
9eba60dcc9 ci: split test and validate workflow 2023-09-10 10:39:51 +02:00
CrazyMax
4fd68cb082 chore: node 20 as default runtime 2023-09-10 05:29:56 +02:00
CrazyMax
81a846ee13 chore: update generated content 2023-09-10 05:29:37 +02:00
CrazyMax
6abbb7ec37 test: fix after jest update 2023-09-10 05:28:51 +02:00
CrazyMax
54c2561f69 chore: update dev dependencies 2023-09-10 05:28:33 +02:00
CrazyMax
d280f9562f chore: update to node 20 2023-09-10 05:23:58 +02:00
CrazyMax
4d946a7137 Merge pull request #214 from crazy-max/update-yarn
chore: update yarn to 3.6.3
2023-09-10 05:21:38 +02:00
CrazyMax
fbfc4f37fe chore: update generated content 2023-09-10 05:04:53 +02:00
CrazyMax
ff4a15c5a4 chore: update yarn to 3.6.3 2023-09-10 04:58:47 +02:00
CrazyMax
392f94885d codecov: update config 2023-09-09 11:50:27 +02:00
dependabot[bot]
deed33da1f Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 19:22:46 +00:00
38 changed files with 4005 additions and 4047 deletions

View File

@@ -1,2 +1,12 @@
/coverage
/node_modules
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

View File

@@ -1,23 +0,0 @@
{
"env": {
"node": true,
"es2021": true,
"jest/globals": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}

2
.gitattributes vendored
View File

@@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true
/lib/** linguist-generated=true

View File

@@ -1,22 +1,225 @@
{
"latest": {
"id": 115584145,
"tag_name": "v4.1.0",
"html_url": "https://github.com/upx/upx/releases/tag/v4.1.0",
"id": 293545149,
"tag_name": "v5.1.1",
"html_url": "https://github.com/upx/upx/releases/tag/v5.1.1",
"assets": [
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-dos.zip",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-src.tar.xz",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-win32.zip",
"https://github.com/upx/upx/releases/download/v4.1.0/upx-4.1.0-win64.zip"
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-dos.zip",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-riscv64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-src.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-win32.zip",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-win64.zip"
]
},
"v5.1.1": {
"id": 293545149,
"tag_name": "v5.1.1",
"html_url": "https://github.com/upx/upx/releases/tag/v5.1.1",
"assets": [
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-dos.zip",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-riscv64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-src.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-win32.zip",
"https://github.com/upx/upx/releases/download/v5.1.1/upx-5.1.1-win64.zip"
]
},
"v5.1.0": {
"id": 274789817,
"tag_name": "v5.1.0",
"html_url": "https://github.com/upx/upx/releases/tag/v5.1.0",
"assets": [
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-dos.zip",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-riscv64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-src.tar.xz",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-win32.zip",
"https://github.com/upx/upx/releases/download/v5.1.0/upx-5.1.0-win64.zip"
]
},
"v5.0.2": {
"id": 233751065,
"tag_name": "v5.0.2",
"html_url": "https://github.com/upx/upx/releases/tag/v5.0.2",
"assets": [
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-dos.zip",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-src.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-win32.zip",
"https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-win64.zip"
]
},
"v5.0.1": {
"id": 216714091,
"tag_name": "v5.0.1",
"html_url": "https://github.com/upx/upx/releases/tag/v5.0.1",
"assets": [
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-dos.zip",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-src.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-win32.zip",
"https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-win64.zip"
]
},
"v5.0.0": {
"id": 201485424,
"tag_name": "v5.0.0",
"html_url": "https://github.com/upx/upx/releases/tag/v5.0.0",
"assets": [
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-dos.zip",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-src.tar.xz",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-win32.zip",
"https://github.com/upx/upx/releases/download/v5.0.0/upx-5.0.0-win64.zip"
]
},
"v4.2.4": {
"id": 154915740,
"tag_name": "v4.2.4",
"html_url": "https://github.com/upx/upx/releases/tag/v4.2.4",
"assets": [
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-dos.zip",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-src.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-win32.zip",
"https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-win64.zip"
]
},
"v4.2.3": {
"id": 148738382,
"tag_name": "v4.2.3",
"html_url": "https://github.com/upx/upx/releases/tag/v4.2.3",
"assets": [
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-dos.zip",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-src.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-win32.zip",
"https://github.com/upx/upx/releases/download/v4.2.3/upx-4.2.3-win64.zip"
]
},
"v4.2.2": {
"id": 135721197,
"tag_name": "v4.2.2",
"html_url": "https://github.com/upx/upx/releases/tag/v4.2.2",
"assets": [
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-dos.zip",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-src.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-win32.zip",
"https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-win64.zip"
]
},
"v4.2.1": {
"id": 127511011,
"tag_name": "v4.2.1",
"html_url": "https://github.com/upx/upx/releases/tag/v4.2.1",
"assets": [
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-dos.zip",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-src.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-win32.zip",
"https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-win64.zip"
]
},
"v4.2.0": {
"id": 126740650,
"tag_name": "v4.2.0",
"html_url": "https://github.com/upx/upx/releases/tag/v4.2.0",
"assets": [
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-amd64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-arm64_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-arm_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-armeb_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-dos.zip",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-i386_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-mips_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-mipsel_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-powerpc64le_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-powerpc_linux.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-src.tar.xz",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-win32.zip",
"https://github.com/upx/upx/releases/download/v4.2.0/upx-4.2.0-win64.zip"
]
},
"v4.1.0": {

View File

@@ -4,6 +4,10 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
contents: read
on:
schedule:
- cron: '0 10 * * *'
@@ -32,7 +36,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Download files
shell: bash
@@ -69,7 +73,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: UPX
uses: ./

View File

@@ -4,6 +4,10 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
contents: read
on:
push:
branches:
@@ -19,12 +23,17 @@ on:
jobs:
labeler:
runs-on: ubuntu-latest
permissions:
# same as global permissions
contents: read
# required to update labels
issues: write
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v4
uses: crazy-max/ghaction-github-labeler@v5
with:
dry-run: ${{ github.event_name == 'pull_request' }}

View File

@@ -4,6 +4,10 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
contents: read
on:
push:
branches:
@@ -19,19 +23,16 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Validate
uses: docker/bake-action@v3
with:
targets: validate
uses: actions/checkout@v4
-
name: Test
uses: docker/bake-action@v3
uses: docker/bake-action@v6
with:
source: .
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v5
with:
file: ./coverage/clover.xml
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -4,6 +4,10 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
contents: read
on:
workflow_dispatch:
schedule:
@@ -17,7 +21,7 @@ on:
jobs:
generate:
uses: crazy-max/.github/.github/workflows/releases-json.yml@6dc31870ca6c4f8489bf5a408ab38fae60f47eec
uses: crazy-max/.github/.github/workflows/releases-json.yml@fa6141aedf23596fb8bdcceab9cce8dadaa31bd9
with:
repository: upx/upx
artifact_name: upx-releases-json
@@ -27,15 +31,19 @@ jobs:
open-pr:
runs-on: ubuntu-22.04
if: github.event_name != 'pull_request'
permissions:
# required to create PR
contents: write
pull-requests: write
needs:
- generate
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Download
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: upx-releases-json
path: .github
@@ -45,7 +53,7 @@ jobs:
git add -A .
-
name: Create PR
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
with:
base: master
branch: bot/upx-releases-json

49
.github/workflows/validate.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
name: validate
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
contents: read
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
paths-ignore:
- '.github/upx-releases.json'
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
targets: ${{ steps.generate.outputs.targets }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: List targets
id: generate
uses: docker/bake-action/subaction/list-targets@v6
with:
target: validate
validate:
runs-on: ubuntu-latest
needs:
- prepare
strategy:
fail-fast: false
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps:
-
name: Validate
uses: docker/bake-action@v6
with:
targets: ${{ matrix.target }}

71
.gitignore vendored
View File

@@ -1,12 +1,5 @@
/.dev
node_modules/
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Jetbrains
/.idea
/*.iml
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@@ -14,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -24,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@@ -61,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

6
.prettierignore Normal file
View File

@@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/

View File

@@ -6,6 +6,5 @@
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "avoid",
"parser": "typescript"
"arrowParens": "avoid"
}

17
.yarnrc.yml Normal file
View File

@@ -0,0 +1,17 @@
# https://yarnpkg.com/configuration/yarnrc
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
logFilters:
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
- code: YN0086
level: discard
nodeLinker: node-modules

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020-2023 CrazyMax
Copyright (c) 2020-2026 CrazyMax
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -32,12 +32,9 @@ jobs:
upx:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Run UPX
uses: crazy-max/ghaction-upx@v2
uses: crazy-max/ghaction-upx@v4
with:
version: latest
files: |
@@ -57,12 +54,9 @@ jobs:
upx:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Install UPX
uses: crazy-max/ghaction-upx@v2
uses: crazy-max/ghaction-upx@v4
with:
install-only: true
-
@@ -74,7 +68,7 @@ jobs:
### inputs
Following inputs can be used as `step.with` keys
The following inputs can be used as `step.with` keys
| Name | Type | Default | Description |
|----------------|--------|----------|------------------------------------------------------------|
@@ -89,11 +83,10 @@ This action is only available for Linux and Windows [virtual environments](https
## Contributing
Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. If
you want to open a pull request, please read the [contributing guidelines](.github/CONTRIBUTING.md).
You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max) or by
making a [Paypal donation](https://www.paypal.me/crazyws) to ensure this journey continues indefinitely!
Want to contribute? Awesome! The most basic way to show your support is to star
the project, or to raise issues. You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max)
or by making a [PayPal donation](https://www.paypal.me/crazyws) to ensure this
journey continues indefinitely!
Thanks again for your support, it is much appreciated! :pray:

View File

@@ -28,5 +28,5 @@ inputs:
runs:
using: 'node16'
using: 'node24'
main: 'dist/index.js'

View File

@@ -1,3 +1,9 @@
comment: false
coverage:
status:
patch: false
project: false
github_checks:
annotations: false

View File

@@ -1,13 +1,21 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=16
ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
@@ -16,47 +24,58 @@ COPY --from=deps /vendor /
FROM deps AS vendor-validate
RUN --mount=type=bind,target=.,rw <<EOT
set -e
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
git status --porcelain -- yarn.lock
exit 1
fi
set -e
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=type=bind,target=.,rw <<EOT
set -e
git add -A
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
git status --porcelain -- dist
exit 1
fi
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
git status --porcelain -- dist
exit 1
fi
EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
@@ -64,8 +83,9 @@ FROM deps AS test
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverageDirectory=/tmp/coverage
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /

4
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

310
dist/licenses.txt generated vendored
View File

@@ -71,250 +71,71 @@ The above copyright notice and this permission notice shall be included in all c
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.
balanced-match
MIT
(MIT)
Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
brace-expansion
MIT
MIT License
Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
concat-map
MIT
This software is released under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
fs.realpath
ISC
The ISC License
Copyright (c) Isaac Z. Schlueter and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
----
This library bundles a version of the `fs.realpath` and `fs.realpathSync`
methods from Node.js v0.10 under the terms of the Node.js MIT license.
Node's license follows, also included at the header of `old.js` which contains
the licensed code:
Copyright Joyent, Inc. and other Node contributors.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
glob
ISC
The ISC License
BlueOak-1.0.0
All packages under `src/` are licensed according to the terms in
their respective `LICENSE` or `LICENSE.md` files.
Copyright (c) Isaac Z. Schlueter and Contributors
The remainder of this project is licensed under the Blue Oak
Model License, as follows:
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
-----
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# Blue Oak Model License
## Glob Logo
Version 1.0.0
Glob's logo created by Tanya Brassie <http://tanyabrassie.com/>, licensed
under a Creative Commons Attribution-ShareAlike 4.0 International License
https://creativecommons.org/licenses/by-sa/4.0/
## Purpose
This license gives everyone as much permission to work with
this software as possible, while protecting contributors
from liability.
inflight
ISC
The ISC License
## Acceptance
Copyright (c) Isaac Z. Schlueter
In order to receive this license, you must agree to its
rules. The rules of this license are both obligations
under that agreement and conditions to your license.
You must not do anything with this software that triggers
a rule that you cannot or will not follow.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
## Copyright
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Each contributor licenses you to do everything with this
software that would otherwise infringe that contributor's
copyright in it.
## Notices
inherits
ISC
The ISC License
You must ensure that everyone who gets a copy of
any part of this software from you, with or without
changes, also gets the text of this license or a link to
<https://blueoakcouncil.org/license/1.0.0>.
Copyright (c) Isaac Z. Schlueter
## Excuse
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
If anyone notifies you in writing that you have not
complied with [Notices](#notices), you can keep your
license by taking all practical steps to comply within 30
days after the notice. If you do not do so, your license
ends immediately.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
## Patent
Each contributor licenses you to do everything with this
software that would otherwise infringe any patent claims
they can license or become able to license.
## Reliability
minimatch
ISC
The ISC License
No contributor can revoke this license.
Copyright (c) Isaac Z. Schlueter and Contributors
## No Liability
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
once
ISC
The ISC License
Copyright (c) Isaac Z. Schlueter and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
path-is-absolute
MIT
The MIT License (MIT)
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
***As far as the law allows, this software comes as is,
without any warranty or condition, and no contributor
will be liable to anyone for any damages related to this
software or this license, under any kind of legal claim.***
semver
@@ -361,33 +182,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
uuid
undici
MIT
The MIT License (MIT)
MIT License
Copyright (c) 2010-2020 Robert Kieffer and other contributors
Copyright (c) Matteo Collina and Undici contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
wrappy
ISC
The ISC License
Copyright (c) Isaac Z. Schlueter and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

3
dist/package.json generated vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"type": "module"
}

1
dist/sourcemap-register.cjs generated vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/sourcemap-register.js generated vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,9 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
@@ -17,6 +23,7 @@ target "build" {
}
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
@@ -41,6 +48,7 @@ target "vendor-update" {
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]

52
eslint.config.mjs Normal file
View File

@@ -0,0 +1,52 @@
import {defineConfig} from 'eslint/config';
import js from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import vitest from '@vitest/eslint-plugin';
import globals from 'globals';
import eslintConfigPrettier from 'eslint-config-prettier/flat';
import eslintPluginPrettier from 'eslint-plugin-prettier';
export default defineConfig([
{
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
},
js.configs.recommended,
...tseslint.configs['flat/recommended'],
eslintConfigPrettier,
{
languageOptions: {
globals: {
...globals.node
}
}
},
{
files: ['tests/**'],
...vitest.configs.recommended,
languageOptions: {
globals: {
...globals.node,
...vitest.environments.env.globals
}
},
rules: {
...vitest.configs.recommended.rules,
'vitest/no-conditional-expect': 'error',
'vitest/no-disabled-tests': 0
}
},
{
plugins: {
prettier: eslintPluginPrettier
},
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);

View File

@@ -1,9 +0,0 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
testMatch: ['**/*.test.ts'],
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: true
};

View File

@@ -1,12 +1,13 @@
{
"name": "upx-github-action",
"description": "GitHub Action for UPX, the Ultimate Packer for eXecutables",
"main": "lib/main.js",
"type": "module",
"main": "src/main.ts",
"scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "eslint src/**/*.ts __tests__/**/*.ts",
"format": "eslint --fix src/**/*.ts __tests__/**/*.ts",
"test": "jest --coverage",
"lint": "eslint --max-warnings=0 .",
"format": "eslint --fix .",
"test": "vitest run",
"all": "yarn run build && yarn run format && yarn test"
},
"repository": {
@@ -19,25 +20,28 @@
],
"author": "CrazyMax",
"license": "MIT",
"packageManager": "yarn@4.12.0",
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1",
"@actions/http-client": "^2.1.1",
"@actions/tool-cache": "^2.0.1"
"@actions/core": "^3.0.0",
"@actions/exec": "^3.0.0",
"@actions/http-client": "^4.0.0",
"@actions/tool-cache": "^4.0.0",
"glob": "^13.0.6"
},
"devDependencies": {
"@types/node": "^16.11.26",
"@typescript-eslint/eslint-plugin": "^5.14.0",
"@typescript-eslint/parser": "^5.14.0",
"@vercel/ncc": "^0.33.3",
"eslint": "^8.11.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.1.1",
"eslint-plugin-prettier": "^4.0.0",
"jest": "^27.2.5",
"prettier": "^2.3.1",
"ts-jest": "^27.1.2",
"ts-node": "^10.7.0",
"typescript": "^4.4.4"
"@eslint/js": "^9.39.3",
"@types/node": "^24.11.0",
"@typescript-eslint/eslint-plugin": "^8.56.1",
"@typescript-eslint/parser": "^8.56.1",
"@vercel/ncc": "^0.38.4",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/eslint-plugin": "^1.6.9",
"eslint": "^9.39.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"globals": "^17.3.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
}
}

View File

@@ -1,5 +1,5 @@
import * as glob from 'glob';
import {lstatSync} from 'fs';
import * as glob from 'glob';
import * as core from '@actions/core';
export interface Inputs {

View File

@@ -63,11 +63,30 @@ export async function getUPX(version: string): Promise<string> {
}
function getName(version: string): string {
let platform = '';
if (osPlat == 'win32') {
platform = osArch == 'x64' ? 'win64' : 'win32';
} else if (osPlat == 'linux') {
platform = osArch == 'x64' ? 'amd64_linux' : 'i386_linux';
let platform: string;
switch (osArch) {
case 'x64': {
platform = osPlat === 'win32' ? 'win64' : 'amd64_' + osPlat;
break;
}
case 'x32': {
platform = osPlat === 'win32' ? 'win32' : 'i386_' + osPlat;
break;
}
case 'arm': {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const arm_version = (process.config.variables as any).arm_version;
if (arm_version === '7') {
platform = 'armeb_' + osPlat;
} else {
platform = 'arm_' + osPlat;
}
break;
}
default: {
platform = osArch + '_' + osPlat;
break;
}
}
return util.format('upx-%s-%s', version, platform);
}

View File

@@ -1,10 +1,11 @@
import * as os from 'os';
import * as path from 'path';
import * as context from './context';
import * as installer from './installer';
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as context from './context.js';
import * as installer from './installer.js';
async function run(): Promise<void> {
try {
if (os.platform() == 'darwin') {

View File

@@ -1,60 +1,53 @@
import {describe, expect, it} from '@jest/globals';
import * as context from '../src/context';
import * as core from '@actions/core';
import {describe, expect, it} from 'vitest';
import * as path from 'path';
import * as core from '@actions/core';
import * as context from '../src/context.js';
describe('getInputList', () => {
it('handles single line correctly', async () => {
await setInput('foo', 'bar');
const res = await context.getInputList(core.getInput('foo'));
setInput('foo', 'bar');
const res = context.getInputList(core.getInput('foo'));
expect(res).toEqual(['bar']);
});
it('handles multiple lines correctly', async () => {
setInput('foo', 'bar\nbaz');
const res = await context.getInputList(core.getInput('foo'));
const res = context.getInputList(core.getInput('foo'));
expect(res).toEqual(['bar', 'baz']);
});
it('remove empty lines correctly', async () => {
setInput('foo', 'bar\n\nbaz');
const res = await context.getInputList(core.getInput('foo'));
const res = context.getInputList(core.getInput('foo'));
expect(res).toEqual(['bar', 'baz']);
});
it('handles comma correctly', async () => {
setInput('foo', 'bar,baz');
const res = await context.getInputList(core.getInput('foo'));
const res = context.getInputList(core.getInput('foo'));
expect(res).toEqual(['bar', 'baz']);
});
it('remove empty result correctly', async () => {
setInput('foo', 'bar,baz,');
const res = await context.getInputList(core.getInput('foo'));
const res = context.getInputList(core.getInput('foo'));
expect(res).toEqual(['bar', 'baz']);
});
it('handles different new lines correctly', async () => {
setInput('foo', 'bar\r\nbaz');
const res = await context.getInputList(core.getInput('foo'));
const res = context.getInputList(core.getInput('foo'));
expect(res).toEqual(['bar', 'baz']);
});
it('handles different new lines and comma correctly', async () => {
setInput('foo', 'bar\r\nbaz,bat');
const res = await context.getInputList(core.getInput('foo'));
const res = context.getInputList(core.getInput('foo'));
expect(res).toEqual(['bar', 'baz', 'bat']);
});
it('handles multiple lines and ignoring comma correctly', async () => {
setInput('files', './bin/binary.exe\n./bin/binary2.exe');
const res = await context.getInputList(core.getInput('files'), true);
const res = context.getInputList(core.getInput('files'), true);
expect(res).toEqual(['./bin/binary.exe', './bin/binary2.exe']);
});
it('handles different new lines and ignoring comma correctly', async () => {
setInput('driver-opts', './bin/binary.exe\r\n./bin/binary2.exe');
const res = await context.getInputList(core.getInput('files'), true);
const res = context.getInputList(core.getInput('files'), true);
expect(res).toEqual(['./bin/binary.exe', './bin/binary2.exe']);
});
});
@@ -63,11 +56,9 @@ describe('asyncForEach', () => {
it('executes async tasks sequentially', async () => {
const testValues = [1, 2, 3, 4, 5];
const results: number[] = [];
await context.asyncForEach(testValues, async value => {
results.push(value);
});
expect(results).toEqual(testValues);
});
});

View File

@@ -1,6 +1,7 @@
import {describe, expect, it} from '@jest/globals';
import {describe, expect, it} from 'vitest';
import * as fs from 'fs';
import * as installer from '../src/installer';
import * as installer from '../src/installer.js';
describe('getRelease', () => {
it('returns latest UPX GitHub release', async () => {
@@ -17,8 +18,8 @@ describe('getRelease', () => {
expect(release?.html_url).toEqual('https://github.com/upx/upx/releases/tag/v3.95');
});
it('unknown release', async () => {
await expect(installer.getRelease('foo')).rejects.toThrowError(
it('unknown release', () => {
return expect(installer.getRelease('foo')).rejects.toThrow(
new Error(
'Cannot find UPX release foo in https://raw.githubusercontent.com/crazy-max/ghaction-upx/master/.github/upx-releases.json'
)

View File

@@ -1,20 +1,15 @@
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"newLine": "lf",
"outDir": "./lib",
"rootDir": "./src",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitAny": false,
"resolveJsonModule": true,
"useUnknownInCatchVariables": false,
"useUnknownInCatchVariables": false
},
"exclude": [
"node_modules",
"**/*.test.ts",
"jest.config.ts"
]
"include": ["src/**/*.ts"]
}

16
vitest.config.ts Normal file
View File

@@ -0,0 +1,16 @@
import {defineConfig} from 'vitest/config';
export default defineConfig({
test: {
environment: 'node',
setupFiles: ['./vitest.setup.ts'],
include: ['tests/**/*.test.ts'],
coverage: {
provider: 'v8',
reporter: ['text', 'clover', 'lcov'],
reportsDirectory: 'coverage',
include: ['src/**/*.ts'],
exclude: ['src/main.ts']
}
}
});

11
vitest.setup.ts Normal file
View File

@@ -0,0 +1,11 @@
import * as fs from 'node:fs';
import * as os from 'node:os';
import * as path from 'node:path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'ghaction-upx-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});

6917
yarn.lock

File diff suppressed because it is too large Load Diff