screeps 4.2.21 → 4.3.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,127 @@
1
+ name: Build binaries
2
+ on:
3
+ push:
4
+ tags:
5
+ - 'build-binaries'
6
+ jobs:
7
+ build:
8
+ strategy:
9
+ matrix:
10
+ include:
11
+ - os: ubuntu-latest
12
+ platform: linux
13
+ container: node:24-bullseye
14
+ - os: windows-latest
15
+ platform: windows
16
+ runs-on: ${{ matrix.os }}
17
+ container: ${{ matrix.container || '' }}
18
+ permissions:
19
+ contents: read
20
+ steps:
21
+ - name: ⤵️ Checkout
22
+ uses: actions/checkout@v4
23
+ - name: 🔨 Setup node
24
+ if: ${{ !matrix.container }}
25
+ uses: actions/setup-node@v4
26
+ with:
27
+ node-version: '24.14.0'
28
+ - name: 👷 Install
29
+ run: npm ci
30
+ - name: 📦 Packing binaries
31
+ shell: bash
32
+ run: |
33
+ mkdir -p dist
34
+ cp node_modules/isolated-vm/build/Release/isolated_vm.node dist/
35
+ cp node_modules/@screeps/driver/native/build/Release/native.node dist/
36
+ - name: 📦️ Upload binaries
37
+ uses: actions/upload-artifact@v4
38
+ with:
39
+ name: binaries-${{ matrix.platform }}
40
+ path: dist/
41
+
42
+ build-macos-x64:
43
+ runs-on: macos-latest
44
+ permissions:
45
+ contents: read
46
+ steps:
47
+ - name: ⤵️ Checkout
48
+ uses: actions/checkout@v4
49
+ - name: 🔨 Setup node
50
+ uses: actions/setup-node@v4
51
+ with:
52
+ node-version: '24.14.0'
53
+ - name: 👷 Install (no scripts)
54
+ run: npm ci --ignore-scripts
55
+ - name: 🔨 Build native modules (x64)
56
+ run: npm rebuild isolated-vm @screeps/driver
57
+ env:
58
+ npm_config_arch: x64
59
+ - name: 📦 Pack
60
+ run: |
61
+ mkdir -p dist
62
+ cp node_modules/isolated-vm/build/Release/isolated_vm.node dist/
63
+ cp node_modules/@screeps/driver/native/build/Release/native.node dist/
64
+ - name: 📦️ Upload
65
+ uses: actions/upload-artifact@v4
66
+ with:
67
+ name: binaries-macos-x64
68
+ path: dist/
69
+
70
+ build-macos-arm64:
71
+ runs-on: macos-latest
72
+ permissions:
73
+ contents: read
74
+ steps:
75
+ - name: ⤵️ Checkout
76
+ uses: actions/checkout@v4
77
+ - name: 🔨 Setup node
78
+ uses: actions/setup-node@v4
79
+ with:
80
+ node-version: '24.14.0'
81
+ - name: 👷 Install (no scripts)
82
+ run: npm ci --ignore-scripts
83
+ - name: 🔨 Build native modules (arm64)
84
+ run: npm rebuild isolated-vm @screeps/driver
85
+ env:
86
+ npm_config_arch: arm64
87
+ - name: 📦 Pack
88
+ run: |
89
+ mkdir -p dist
90
+ cp node_modules/isolated-vm/build/Release/isolated_vm.node dist/
91
+ cp node_modules/@screeps/driver/native/build/Release/native.node dist/
92
+ - name: 📦️ Upload
93
+ uses: actions/upload-artifact@v4
94
+ with:
95
+ name: binaries-macos-arm64
96
+ path: dist/
97
+
98
+ lipo-macos:
99
+ needs: [build-macos-x64, build-macos-arm64]
100
+ runs-on: macos-latest
101
+ permissions:
102
+ contents: read
103
+ steps:
104
+ - name: ⬇️ Download x64
105
+ uses: actions/download-artifact@v4
106
+ with:
107
+ name: binaries-macos-x64
108
+ path: x64
109
+ - name: ⬇️ Download arm64
110
+ uses: actions/download-artifact@v4
111
+ with:
112
+ name: binaries-macos-arm64
113
+ path: arm64
114
+ - name: 🍎 Create universal binaries
115
+ run: |
116
+ mkdir -p dist
117
+ lipo -create -output dist/isolated_vm.node x64/isolated_vm.node arm64/isolated_vm.node
118
+ lipo -create -output dist/native.node x64/native.node arm64/native.node
119
+ - name: 🧐 Verify
120
+ run: |
121
+ lipo -info dist/isolated_vm.node
122
+ lipo -info dist/native.node
123
+ - name: 📦️ Upload binaries
124
+ uses: actions/upload-artifact@v4
125
+ with:
126
+ name: binaries-macos
127
+ path: dist/
@@ -0,0 +1,38 @@
1
+ name: Build platform packages
2
+ on:
3
+ push:
4
+ tags:
5
+ - 'build-package'
6
+ jobs:
7
+ build:
8
+ strategy:
9
+ matrix:
10
+ include:
11
+ - os: ubuntu-latest
12
+ platform: linux
13
+ container: node:24-bullseye
14
+ - os: macos-latest
15
+ platform: macos
16
+ - os: windows-latest
17
+ platform: windows
18
+ runs-on: ${{ matrix.os }}
19
+ container: ${{ matrix.container || '' }}
20
+ permissions:
21
+ contents: read
22
+ steps:
23
+ - name: ⤵️ Checkout
24
+ uses: actions/checkout@v6
25
+ - name: 🔨 Setup node
26
+ if: ${{ !matrix.container }}
27
+ uses: actions/setup-node@v6
28
+ with:
29
+ node-version: '24.x'
30
+ - name: 👷 Install
31
+ run: npm ci
32
+ - name: 🔨 Install additional dependencies
33
+ run: npm install @electron/remote@2.1.3 --save
34
+ - name: 📦️ Upload package
35
+ uses: actions/upload-artifact@v7
36
+ with:
37
+ name: package-${{ matrix.platform }}
38
+ path: node_modules/
@@ -5,7 +5,7 @@ on:
5
5
  - '**'
6
6
  jobs:
7
7
  build:
8
- # if: contains(github.event.head_commit.message, '🔖')
8
+ if: contains(github.event.head_commit.message, '🔖')
9
9
  runs-on: ubuntu-latest
10
10
  permissions:
11
11
  contents: read
@@ -16,7 +16,7 @@ jobs:
16
16
  - name: 🔨 Setup node (github registry)
17
17
  uses: actions/setup-node@v4
18
18
  with:
19
- node-version: '10.x'
19
+ node-version: '24.x'
20
20
  registry-url: 'https://registry.npmjs.org'
21
21
  - name: 🔨 Setup Python
22
22
  uses: actions/setup-python@v5
package/README.md CHANGED
@@ -22,9 +22,8 @@ npx screeps start
22
22
  ```
23
23
 
24
24
  Prerequisites:
25
- * Node.js 10 LTS or higher
26
- * Python 2 (for node-gyp, [Python 3 is not supported](https://github.com/nodejs/node-gyp/issues/193))
27
- * Build tools (`apt install build-essential` for Ubuntu, [Visual Studio](https://www.visualstudio.com/vs/) for Windows, etc)
25
+ * Node.js 22 LTS or higher
26
+ * Python 3, build tools (see [node-gyp requirements](https://github.com/nodejs/node-gyp))
28
27
 
29
28
  You will be prompted for your Steam Web API key, you can obtain it on [this page](https://steamcommunity.com/dev/apikey).
30
29
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "screeps",
3
- "version": "4.2.21",
3
+ "version": "4.3.0-beta.10",
4
4
  "description": "A standalone server for programming game Screeps",
5
5
  "main": "package.json",
6
6
  "bin": {
7
7
  "screeps": "bin/screeps.js"
8
8
  },
9
9
  "scripts": {
10
- "postinstall": "cd `node_modules` && npm explore @screeps/driver -- npx webpack"
10
+ "postinstall": "node postinstall.js"
11
11
  },
12
12
  "author": "Artem Chivchalov <contact@screeps.com>",
13
13
  "license": "ISC",
@@ -16,17 +16,20 @@
16
16
  "url": "https://github.com/screeps/screeps.git"
17
17
  },
18
18
  "dependencies": {
19
- "@screeps/backend": "3.2.6",
20
- "@screeps/common": "2.15.5",
21
- "@screeps/driver": "5.2.7",
22
- "@screeps/engine": "4.2.23",
23
- "@screeps/launcher": "4.1.1",
19
+ "@screeps/backend": "3.3.0-beta",
20
+ "@screeps/common": "2.16.0-beta",
21
+ "@screeps/driver": "5.3.0-beta.3",
22
+ "@screeps/engine": "4.3.0-beta",
23
+ "@screeps/launcher": "4.2.0-beta.7",
24
24
  "@screeps/pathfinding": "0.4.17",
25
- "@screeps/storage": "5.1.2",
25
+ "@screeps/storage": "5.1.3-beta",
26
26
  "node_modules-path": "2.0.7"
27
27
  },
28
28
  "engines": {
29
- "node": ">=10.13.0",
30
- "npm": ">=3.10.3"
29
+ "node": ">=22.9.0",
30
+ "npm": ">=10.8.2"
31
+ },
32
+ "publishConfig": {
33
+ "tag": "beta"
31
34
  }
32
35
  }
package/postinstall.js ADDED
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ const { execSync } = require('child_process');
3
+ const path = require('path');
4
+
5
+ const nmPath = require('node_modules-path')();
6
+ const driverPath = path.join(nmPath, '@screeps', 'driver');
7
+
8
+ execSync('npx webpack', {
9
+ cwd: driverPath,
10
+ env: Object.assign({}, process.env, { NODE_PATH: nmPath }),
11
+ stdio: 'inherit',
12
+ });