Author SHA1 Message Date
Renovate ab87ee98a1 fix(deps): update dependency screeps-api to v2
renovate/stability-days Updates have met minimum release age requirement
Lint / pre-commit Linting (push) Successful in 40s
Test / Run Tests (push) Successful in 2m23s
2026-08-10 22:23:51 +00:00
Philipp 0751b1470b chore: migrate package manager from npm to pnpm (#110)
Lint / pre-commit Linting (push) Successful in 45s
Test / Run Tests (push) Successful in 1m20s
This PR migrates the package manager from `npm` to `pnpm`.

### Changes:
- Replaced `package-lock.json` with `pnpm-lock.yaml` and `pnpm-workspace.yaml`.
- Updated `.gitea/workflows/test.yaml` to include `pnpm/action-setup@v4` and use `pnpm install` / `pnpm test`.
- Updated `renovate.json` to match `pnpm` manager and execute `pnpm install --frozen-lockfile` and `pnpm run build`.
- Updated `.pre-commit-config.yaml` to exclude `pnpm-lock.yaml` from `pretty-format-yaml`.
- Updated documentation in `README.md` and `GEMINI.md`.
- Rebuilt `dist/index.js`.Reviewed-on: #110
2026-08-11 00:20:02 +02:00
10 changed files with 1366 additions and 2350 deletions
+3 -2
View File
@@ -13,7 +13,8 @@ jobs:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: '24'
- run: npm install
- uses: pnpm/action-setup@v4
- run: pnpm install --frozen-lockfile
shell: bash
- run: npm test
- run: pnpm test
shell: bash
+1
View File
@@ -21,6 +21,7 @@ repos:
hooks:
- id: pretty-format-yaml
args: [--autofix]
exclude: ^pnpm-lock\.yaml$
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
+4 -4
View File
@@ -19,7 +19,7 @@ This project uses [Vitest](https://vitest.dev/) for testing. The tests are locat
To run the tests locally, use the following command:
```bash
npm test
pnpm test
```
### Testing Pipeline
@@ -29,6 +29,6 @@ The tests are automatically run on every push and workflow dispatch using a Gite
The Gitea workflow does the following:
1. Checks out the code.
2. Sets up Node.js.
3. Installs the dependencies using `npm install`.
4. Runs the tests using `npm test`.
2. Sets up Node.js and pnpm.
3. Installs the dependencies using `pnpm install`.
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?
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.
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:
```bash
npm install
npm run build
pnpm install
pnpm run build
```
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
+5 -4
View File
@@ -3,6 +3,7 @@
"version": "0.2.1",
"description": "Deploys screeps code to the official game or a private server.",
"type": "module",
"packageManager": "pnpm@11.21.0",
"main": "index.js",
"scripts": {
"start": "node index.js",
@@ -13,11 +14,11 @@
"@actions/artifact": "^1.1.2",
"@actions/core": "^3.0.0",
"glob": "^13.0.0",
"screeps-api": "^1.7.2"
"screeps-api": "^2.0.0"
},
"devDependencies": {
"@vercel/ncc": "^0.38.4",
"@vitest/coverage-v8": "^4.0.16",
"vitest": "^4.0.16"
"@vercel/ncc": "^0.44.1",
"@vitest/coverage-v8": "^4.1.10",
"vitest": "^4.1.10"
}
}
+1336
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": [
{
"matchManagers": [
"npm"
"pnpm"
],
"postUpgradeTasks": {
"commands": [
"npm ci",
"npm run build"
"pnpm install --frozen-lockfile",
"pnpm run build"
],
"fileFilters": [
"dist/index.js"