diff --git a/.github/workflows/lua-lint.yml b/.github/workflows/lua-lint.yml index 35b51ad2..e1e4f75f 100644 --- a/.github/workflows/lua-lint.yml +++ b/.github/workflows/lua-lint.yml @@ -5,14 +5,14 @@ on: pull_request: env: - EMMYLUA_CHECK_VERSION: "0.24.0" + EMMYLUA_CHECK_VERSION: "0.25.1" jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: actions/setup-node@v7 with: node-version: lts/* - name: Generate Factorio typedefs diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index d2e83e7e..f465f8f7 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -21,19 +21,19 @@ jobs: node-version: [24.x] # Supported factorio versions are latest stable and one minor version before stable (even if from a previous major) - factorio-version: [1.1.110, 2.0.77, 2.1.8] + factorio-version: [1.1.110, 2.0.77, 2.1.17] # Coverage is performed on the older of the supported node versions include: - node-version: 22.x - factorio-version: 2.1.8 + factorio-version: 2.1.17 coverage: true steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@v7 with: node-version: ${{ matrix.node-version }} - name: Prepare and install @@ -48,13 +48,13 @@ jobs: run: pnpm run ci-cover - name: Upload coverage to Codecov if: ${{ matrix.coverage }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v7 with: files: ./coverage/lcov.info token: ${{ secrets.CODECOV_TOKEN }} - name: Upload test logs for debugging if: ${{ !cancelled() }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: logs-${{ matrix.node-version }}-${{ matrix.factorio-version }} path: temp/test/logs @@ -77,9 +77,9 @@ jobs: host: local steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7 with: node-version: ${{ env.NODE_VERSION }} - name: Prepare and install @@ -97,9 +97,9 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 5 steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7 with: node-version: ${{ env.NODE_VERSION }} - run: pnpm i --no-frozen-lockfile @@ -109,16 +109,16 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 5 steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7 with: node-version: ${{ env.NODE_VERSION }} - run: pnpm i --no-frozen-lockfile - run: pnpm run build-mod # Upload build to artifacts - name: Upload build to artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: clusterio_lib path: ./dist diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 79ff4d83..6ac1cf88 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,15 +15,15 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7 with: node-version: 24.x registry-url: https://registry.npmjs.org - run: pnpm install --no-frozen-lockfile - run: pnpm -r --filter='./{plugins,packages}/*' publish --no-git-checks - - uses: softprops/action-gh-release@v2 + - uses: softprops/action-gh-release@v3 with: files: pnpm-lock.yaml @@ -31,9 +31,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7 with: node-version: 24.x - run: pnpm install --no-frozen-lockfile @@ -41,6 +41,6 @@ jobs: - run: node ./publish.js factorio ./dist env: FACTORIO_TOKEN: ${{ secrets.FACTORIO_TOKEN }} - - uses: softprops/action-gh-release@v2 + - uses: softprops/action-gh-release@v3 with: files: ./dist/* diff --git a/.npmrc b/.npmrc deleted file mode 100644 index f301fedf..00000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -auto-install-peers=false diff --git a/Dockerfile b/Dockerfile index 4f4832f7..66c296b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20 as subspace_storage_builder +FROM node:24 AS subspace_storage_builder RUN apt update && apt install -y git WORKDIR / RUN git clone https://github.com/clusterio/subspace_storage.git @@ -6,7 +6,7 @@ WORKDIR /subspace_storage RUN npm install \ && node build -FROM node:20 as clusterio_builder +FROM node:24 AS clusterio_builder RUN apt update \ && apt install -y wget \ && mkdir /clusterio diff --git a/package.json b/package.json index 972d08c9..2d0a3dd4 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "root", "private": true, "files": [], - "packageManager": "pnpm@10.28.1+sha512.7d7dbbca9e99447b7c3bf7a73286afaaf6be99251eb9498baefa7d406892f67b879adb3a1d7e687fc4ccc1a388c7175fbaae567a26ab44d1067b54fcb0d6a316", + "packageManager": "pnpm@12.4.1+sha512.2e81e399d73fe8390dab25e06aa788ab7a5908248d2f5a370f82b481147a6a7a367bf8048f9a6fdb6460f21a66f0542dedb8b94ca2c8723596741920b1656d4c", "type": "module", "scripts": { "build": "tsc --build", @@ -14,7 +14,7 @@ "no-external-test": "NO_EXTERNAL_TEST=y pnpm test", "cover": "nyc pnpm test", "fast-cover": "FAST_TEST=y nyc pnpm test", - "ci-cover": "nyc --reporter=lcovonly pnpm run-script test", + "ci-cover": "nyc --reporter=lcovonly pnpm test", "lint": "eslint packages plugins test", "lint-fix": "eslint --fix packages plugins test", "clean": "node ./clean.js", diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 949418cc..42891c9c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -36,9 +36,11 @@ catalog: catalogMode: strict +autoInstallPeers: false + linkWorkspacePackages: true -onlyBuiltDependencies: - - '@swc/core' +allowBuilds: + '@swc/core': true shellEmulator: true