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 2390 deletions
+3 -2
View File
@@ -13,7 +13,8 @@ jobs:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
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
+1
View File
@@ -21,6 +21,7 @@ repos:
hooks: hooks:
- id: pretty-format-yaml - id: pretty-format-yaml
args: [--autofix] args: [--autofix]
exclude: ^pnpm-lock\.yaml$
- repo: https://github.com/pre-commit/mirrors-prettier - repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8 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: To run the tests locally, use the following command:
```bash ```bash
npm test pnpm test
``` ```
### Testing Pipeline ### 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: 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
-2366
View File
File diff suppressed because it is too large Load Diff
+5 -4
View File
@@ -3,6 +3,7 @@
"version": "0.2.1", "version": "0.2.1",
"description": "Deploys screeps code to the official game or a private server.", "description": "Deploys screeps code to the official game or a private server.",
"type": "module", "type": "module",
"packageManager": "pnpm@11.21.0",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"start": "node index.js", "start": "node index.js",
@@ -13,11 +14,11 @@
"@actions/artifact": "^1.1.2", "@actions/artifact": "^1.1.2",
"@actions/core": "^3.0.0", "@actions/core": "^3.0.0",
"glob": "^13.0.0", "glob": "^13.0.0",
"screeps-api": "^1.7.2" "screeps-api": "^2.0.0"
}, },
"devDependencies": { "devDependencies": {
"@vercel/ncc": "^0.38.4", "@vercel/ncc": "^0.44.1",
"@vitest/coverage-v8": "^4.0.16", "@vitest/coverage-v8": "^4.1.10",
"vitest": "^4.0.16" "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": [ "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"