diff --git a/.github/workflows/jsonrpc-client-npm-package.yml b/.github/workflows/jsonrpc-client-npm-package.yml index 8d371c6d6..89735ac61 100644 --- a/.github/workflows/jsonrpc-client-npm-package.yml +++ b/.github/workflows/jsonrpc-client-npm-package.yml @@ -17,7 +17,7 @@ jobs: uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: "16" + node-version: "18" - name: Get tag id: tag uses: dawidd6/action-get-tag@v1 diff --git a/.github/workflows/jsonrpc.yml b/.github/workflows/jsonrpc.yml index 493dabc8b..0ed7d8ecd 100644 --- a/.github/workflows/jsonrpc.yml +++ b/.github/workflows/jsonrpc.yml @@ -15,10 +15,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Use Node.js 16.x + - name: Use Node.js 18.x uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Add Rust cache uses: Swatinem/rust-cache@v2 - name: npm install diff --git a/.github/workflows/node-docs.yml b/.github/workflows/node-docs.yml index d99521197..ff069254c 100644 --- a/.github/workflows/node-docs.yml +++ b/.github/workflows/node-docs.yml @@ -16,10 +16,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Use Node.js 16.x + - name: Use Node.js 18.x uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: npm install and generate documentation working-directory: node diff --git a/.github/workflows/node-package.yml b/.github/workflows/node-package.yml index 5e5b79108..bd7d348bd 100644 --- a/.github/workflows/node-package.yml +++ b/.github/workflows/node-package.yml @@ -18,7 +18,7 @@ jobs: uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: "16" + node-version: "18" - name: System info run: | rustc -vV @@ -66,10 +66,8 @@ jobs: runs-on: ubuntu-latest # Build Linux prebuilds inside a container with old glibc for backwards compatibility. - # Debian 10 contained glibc 2.28 at the time of the writing (2023-06-04): https://packages.debian.org/buster/libc6 - # Ubuntu 18.04 is at the End of Standard Support since June 2023, but it contains glibc 2.27, - # so we are using it to support Ubuntu 18.04 setups that are still not upgraded. - container: ubuntu:18.04 + # Debian 10 contained glibc 2.28: https://packages.debian.org/buster/libc6 + container: debian:10 steps: # Working directory is owned by 1001:1001 by default. # Change it to our user. @@ -80,7 +78,7 @@ jobs: uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: "16" + node-version: "18" - run: apt-get update # Python is needed for node-gyp @@ -143,7 +141,7 @@ jobs: uses: actions/checkout@v3 - uses: actions/setup-node@v2 with: - node-version: "16" + node-version: "18" - name: Get tag id: tag uses: dawidd6/action-get-tag@v1 diff --git a/.github/workflows/node-tests.yml b/.github/workflows/node-tests.yml index e41b971b5..0a132523f 100644 --- a/.github/workflows/node-tests.yml +++ b/.github/workflows/node-tests.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: "16" + node-version: "18" - name: System info run: | rustc -vV diff --git a/node/README.md b/node/README.md index 8f75b0672..93a0beb76 100644 --- a/node/README.md +++ b/node/README.md @@ -40,7 +40,7 @@ npm install deltachat-node ## Dependencies -- Nodejs >= `v16.0.0` +- Nodejs >= `v18.0.0` - rustup (optional if you can't use the prebuilds) > On Windows, you may need to also install **Perl** to be able to compile deltachat-core. @@ -113,8 +113,8 @@ Then, in the `deltachat-desktop` repository, run: deltachat doesn't support universal (fat) binaries (that contain builds for both cpu architectures) yet, until it does you can use the following workaround to get x86_64 builds: ``` -$ fnm install 17 --arch x64 -$ fnm use 17 +$ fnm install 19 --arch x64 +$ fnm use 19 $ node -p process.arch # result should be x64 $ rustup target add x86_64-apple-darwin @@ -127,8 +127,8 @@ $ npm run test If your node and electron are already build for arm64 you can also try building for arm: ``` -$ fnm install 16 --arch arm64 -$ fnm use 16 +$ fnm install 18 --arch arm64 +$ fnm use 18 $ node -p process.arch # result should be arm64 $ npm_config_arch=arm64 npm run build diff --git a/node/windows.md b/node/windows.md index 4916c0fdb..df19b03d7 100644 --- a/node/windows.md +++ b/node/windows.md @@ -6,7 +6,7 @@ E.g via ## install node -Download and install `v16` from +Download and install `v18` from ## install rust diff --git a/package.json b/package.json index 5c7b4225a..a093b3481 100644 --- a/package.json +++ b/package.json @@ -2,28 +2,26 @@ "dependencies": { "debug": "^4.1.1", "napi-macros": "^2.0.0", - "node-gyp-build": "^4.1.0" + "node-gyp-build": "^4.6.1" }, "description": "node.js bindings for deltachat-core", "devDependencies": { "@types/debug": "^4.1.7", - "@types/node": "^16.11.26", + "@types/node": "^18.18.8", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "esm": "^3.2.25", - "hallmark": "^2.0.0", "mocha": "^8.2.1", "node-fetch": "^2.6.7", - "node-gyp": "^9.0.0", - "opn-cli": "^5.0.0", - "prebuildify": "^3.0.0", - "prebuildify-ci": "^1.0.4", + "node-gyp": "^10.0.0", + "prebuildify": "^5.0.1", + "prebuildify-ci": "^1.0.5", "prettier": "^2.0.5", "typedoc": "^0.17.0", - "typescript": "^3.9.10" + "typescript": "^5.2.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "files": [ "node/scripts/*", @@ -49,12 +47,11 @@ "build:core:rust": "node node/scripts/rebuild-core.js", "clean": "rm -rf node/dist node/build node/prebuilds node/node_modules ./target", "download-prebuilds": "prebuildify-ci download", - "hallmark": "hallmark --fix", "install": "node node/scripts/install.js", "install:prebuilds": "cd node && node-gyp-build \"npm run build:core\" \"npm run build:bindings:c:postinstall\"", "lint": "prettier --check \"node/lib/**/*.{ts,tsx}\"", "lint-fix": "prettier --write \"node/lib/**/*.{ts,tsx}\" \"node/test/**/*.js\"", - "prebuildify": "cd node && prebuildify -t 16.13.0 --napi --strip --postinstall \"node scripts/postinstall.js --prebuild\"", + "prebuildify": "cd node && prebuildify -t 18.0.0 --napi --strip --postinstall \"node scripts/postinstall.js --prebuild\"", "test": "npm run test:lint && npm run test:mocha", "test:lint": "npm run lint", "test:mocha": "mocha -r esm node/test/test.js --growl --reporter=spec --bail --exit"