chore: migrate package manager from npm to pnpm
Lint / pre-commit Linting (push) Successful in 2m15s
Test / Run Tests (push) Failing after 1m28s

This commit is contained in:
2026-08-10 23:45:58 +02:00
parent 076e96f3de
commit a4abc3806c
8 changed files with 1423 additions and 2346 deletions
+3 -2
View File
@@ -13,7 +13,8 @@ jobs:
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with: with:
node-version: '24' node-version: '24'
- run: npm install - uses: pnpm/action-setup@v4
- run: pnpm install --frozen-lockfile
shell: bash shell: bash
- run: npm test - run: pnpm test
shell: bash shell: bash
+4 -4
View File
@@ -18,7 +18,7 @@ This project uses [Vitest](https://vitest.dev/) for testing. The tests are locat
To run the tests locally, use the following command: To run the tests locally, use the following command:
```bash ```bash
npm test pnpm test
``` ```
### Testing Pipeline ### Testing Pipeline
@@ -28,6 +28,6 @@ The tests are automatically run on every push and workflow dispatch using a Gite
The Gitea workflow does the following: The Gitea workflow does the following:
1. Checks out the code. 1. Checks out the code.
2. Sets up Node.js. 2. Sets up Node.js and pnpm.
3. Installs the dependencies using `npm install`. 3. Installs the dependencies using `pnpm install`.
4. Runs the tests using `npm test`. 4. Runs the tests using `pnpm test`.
+3 -3
View File
@@ -84,7 +84,7 @@ This project includes a build step to prepare the action for use.
### Why a Build Step? ### Why a Build Step?
We use a build step to compile the JavaScript code and its dependencies into a single, self-contained file (`dist/index.js`). This approach is chosen for the following reasons: We use a build step to compile the JavaScript code and its dependencies into a single, self-contained file (`dist/index.js`). This approach is chosen for the following reasons:
1. **Zero-configuration at Runtime:** By bundling everything, the action runner doesn't need to run `npm install`, which speeds up the action execution. 1. **Zero-configuration at Runtime:** By bundling everything, the action runner doesn't need to run `pnpm install` or `npm install`, which speeds up the action execution.
2. **Reliability:** It guarantees that the exact versions of dependencies tested during development are used in the action, avoiding potential issues with version updates or missing packages. 2. **Reliability:** It guarantees that the exact versions of dependencies tested during development are used in the action, avoiding potential issues with version updates or missing packages.
3. **Standard Practice:** This is a recommended practice for JavaScript-based GitHub/Gitea Actions. 3. **Standard Practice:** This is a recommended practice for JavaScript-based GitHub/Gitea Actions.
@@ -100,8 +100,8 @@ We chose [`@vercel/ncc`](https://github.com/vercel/ncc) as the compiler because:
If you modify `index.js` or change dependencies, you must rebuild the project before committing: If you modify `index.js` or change dependencies, you must rebuild the project before committing:
```bash ```bash
npm install pnpm install
npm run build pnpm run build
``` ```
This will update the `dist/index.js` file, which should be committed to the repository. This will update the `dist/index.js` file, which should be committed to the repository.
+8 -8
View File
File diff suppressed because one or more lines are too long
-2326
View File
File diff suppressed because it is too large Load Diff
+1399
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -0,0 +1,3 @@
allowBuilds:
bufferutil: true
utf-8-validate: true
+3 -3
View File
@@ -8,12 +8,12 @@
"packageRules": [ "packageRules": [
{ {
"matchManagers": [ "matchManagers": [
"npm" "pnpm"
], ],
"postUpgradeTasks": { "postUpgradeTasks": {
"commands": [ "commands": [
"npm ci", "pnpm install --frozen-lockfile",
"npm run build" "pnpm run build"
], ],
"fileFilters": [ "fileFilters": [
"dist/index.js" "dist/index.js"