4 Commits
Author SHA1 Message Date
RenovateandRenovate a2711f3f40 chore(deps): update pnpm/action-setup action to v6 (#114)
Lint / pre-commit Linting (push) Successful in 46s
Test / Run Tests (push) Successful in 2m20s
Co-authored-by: Renovate Bot <renovate@horstenkamp.eu>
2026-08-11 02:43:32 +02:00
RenovateandRenovate 7e526aeef3 chore(deps): update pnpm/action-setup action to v4.4.0 (#112)
Lint / pre-commit Linting (push) Successful in 39s
Test / Run Tests (push) Successful in 1m14s
Co-authored-by: Renovate Bot <renovate@horstenkamp.eu>
2026-08-11 01:33:30 +02:00
RenovateandRenovate c116597f23 chore(deps): pin pnpm/action-setup action to b906aff (#111)
Lint / pre-commit Linting (push) Successful in 50s
Test / Run Tests (push) Failing after 3m14s
Co-authored-by: Renovate Bot <renovate@horstenkamp.eu>
2026-08-11 00:31:23 +02: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 1437 additions and 2352 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@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- 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
-2329
View File
File diff suppressed because it is too large Load Diff
+4 -3
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",
@@ -16,8 +17,8 @@
"screeps-api": "^1.7.2"
},
"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"
}
}
+1408
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"