mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 18:40:16 +02:00
Drop support for Node.js 14 and 16, require >= 18.17.0
This commit is contained in:
parent
eefaa99872
commit
ba20b8ada4
@ -3,14 +3,6 @@ version: 2.1
|
|||||||
workflows:
|
workflows:
|
||||||
build:
|
build:
|
||||||
jobs:
|
jobs:
|
||||||
- linux-arm64-glibc-node-14:
|
|
||||||
filters:
|
|
||||||
tags:
|
|
||||||
only: /^v.*/
|
|
||||||
- linux-arm64-musl-node-14:
|
|
||||||
filters:
|
|
||||||
tags:
|
|
||||||
only: /^v.*/
|
|
||||||
- linux-arm64-glibc-node-18:
|
- linux-arm64-glibc-node-18:
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
@ -19,9 +11,17 @@ workflows:
|
|||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
only: /^v.*/
|
only: /^v.*/
|
||||||
|
- linux-arm64-glibc-node-20:
|
||||||
|
filters:
|
||||||
|
tags:
|
||||||
|
only: /^v.*/
|
||||||
|
- linux-arm64-musl-node-20:
|
||||||
|
filters:
|
||||||
|
tags:
|
||||||
|
only: /^v.*/
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux-arm64-glibc-node-14:
|
linux-arm64-glibc-node-18:
|
||||||
resource_class: arm.medium
|
resource_class: arm.medium
|
||||||
machine:
|
machine:
|
||||||
image: ubuntu-2004:current
|
image: ubuntu-2004:current
|
||||||
@ -30,13 +30,14 @@ jobs:
|
|||||||
- run: |
|
- run: |
|
||||||
sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp arm64v8/debian:bullseye
|
sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp arm64v8/debian:bullseye
|
||||||
sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl fonts-noto-core"
|
sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl fonts-noto-core"
|
||||||
sudo docker exec sharp sh -c "curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -"
|
sudo docker exec sharp sh -c "mkdir -p /etc/apt/keyrings"
|
||||||
sudo docker exec sharp sh -c "echo 'deb https://deb.nodesource.com/node_14.x sid main' >/etc/apt/sources.list.d/nodesource.list"
|
sudo docker exec sharp sh -c "curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg"
|
||||||
|
sudo docker exec sharp sh -c "echo 'deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main' | tee /etc/apt/sources.list.d/nodesource.list"
|
||||||
sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs"
|
sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs"
|
||||||
- run: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm"
|
- run: sudo docker exec sharp sh -c "npm install --build-from-source"
|
||||||
- run: sudo docker exec sharp sh -c "npm test"
|
- run: sudo docker exec sharp sh -c "npm test"
|
||||||
- run: "[[ -n $CIRCLE_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 7 --upload=$prebuild_upload\" || true"
|
- run: "[[ -n $CIRCLE_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 7 --upload=$prebuild_upload\" || true"
|
||||||
linux-arm64-glibc-node-18:
|
linux-arm64-glibc-node-20:
|
||||||
resource_class: arm.medium
|
resource_class: arm.medium
|
||||||
machine:
|
machine:
|
||||||
image: ubuntu-2004:current
|
image: ubuntu-2004:current
|
||||||
@ -45,25 +46,14 @@ jobs:
|
|||||||
- run: |
|
- run: |
|
||||||
sudo docker run -dit --name sharp --workdir /mnt/sharp arm64v8/debian:bullseye
|
sudo docker run -dit --name sharp --workdir /mnt/sharp arm64v8/debian:bullseye
|
||||||
sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl fonts-noto-core"
|
sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl fonts-noto-core"
|
||||||
sudo docker exec sharp sh -c "curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -"
|
sudo docker exec sharp sh -c "mkdir -p /etc/apt/keyrings"
|
||||||
sudo docker exec sharp sh -c "echo 'deb https://deb.nodesource.com/node_18.x sid main' >/etc/apt/sources.list.d/nodesource.list"
|
sudo docker exec sharp sh -c "curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg"
|
||||||
|
sudo docker exec sharp sh -c "echo 'deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main' | tee /etc/apt/sources.list.d/nodesource.list"
|
||||||
sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs"
|
sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs"
|
||||||
sudo docker exec sharp sh -c "mkdir -p /mnt/sharp"
|
sudo docker exec sharp sh -c "mkdir -p /mnt/sharp"
|
||||||
sudo docker cp . sharp:/mnt/sharp/.
|
sudo docker cp . sharp:/mnt/sharp/.
|
||||||
- run: sudo docker exec sharp sh -c "npm install --build-from-source"
|
- run: sudo docker exec sharp sh -c "npm install --build-from-source"
|
||||||
- run: sudo docker exec sharp sh -c "npm test"
|
- run: sudo docker exec sharp sh -c "npm test"
|
||||||
linux-arm64-musl-node-14:
|
|
||||||
resource_class: arm.medium
|
|
||||||
machine:
|
|
||||||
image: ubuntu-2004:current
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- run: |
|
|
||||||
sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp node:14-alpine3.12
|
|
||||||
sudo docker exec sharp sh -c "apk add build-base git python3 font-noto --update-cache"
|
|
||||||
- run: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm"
|
|
||||||
- run: sudo docker exec sharp sh -c "npm test"
|
|
||||||
- run: "[[ -n $CIRCLE_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 7 --upload=$prebuild_upload\" || true"
|
|
||||||
linux-arm64-musl-node-18:
|
linux-arm64-musl-node-18:
|
||||||
resource_class: arm.medium
|
resource_class: arm.medium
|
||||||
machine:
|
machine:
|
||||||
@ -71,7 +61,19 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run: |
|
- run: |
|
||||||
sudo docker run -dit --name sharp --workdir /mnt/sharp node:18-alpine3.14
|
sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp node:18-alpine3.17
|
||||||
|
sudo docker exec sharp sh -c "apk add build-base git python3 font-noto --update-cache"
|
||||||
|
- run: sudo docker exec sharp sh -c "npm install --build-from-source"
|
||||||
|
- run: sudo docker exec sharp sh -c "npm test"
|
||||||
|
- run: "[[ -n $CIRCLE_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 7 --upload=$prebuild_upload\" || true"
|
||||||
|
linux-arm64-musl-node-20:
|
||||||
|
resource_class: arm.medium
|
||||||
|
machine:
|
||||||
|
image: ubuntu-2004:current
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run: |
|
||||||
|
sudo docker run -dit --name sharp --workdir /mnt/sharp node:20-alpine3.18
|
||||||
sudo docker exec sharp sh -c "apk add build-base git python3 font-noto --update-cache"
|
sudo docker exec sharp sh -c "apk add build-base git python3 font-noto --update-cache"
|
||||||
sudo docker exec sharp sh -c "mkdir -p /mnt/sharp"
|
sudo docker exec sharp sh -c "mkdir -p /mnt/sharp"
|
||||||
sudo docker cp . sharp:/mnt/sharp/.
|
sudo docker cp . sharp:/mnt/sharp/.
|
||||||
|
@ -11,6 +11,6 @@ task:
|
|||||||
- pkg upgrade -y
|
- pkg upgrade -y
|
||||||
- pkg install -y devel/git devel/pkgconf graphics/vips www/node20 www/npm
|
- pkg install -y devel/git devel/pkgconf graphics/vips www/node20 www/npm
|
||||||
install_script:
|
install_script:
|
||||||
- npm install --build-from-source --unsafe-perm
|
- npm install --build-from-source
|
||||||
test_script:
|
test_script:
|
||||||
- npm test
|
- npm test
|
||||||
|
10
.github/workflows/ci-darwin-arm64v8.yml
vendored
10
.github/workflows/ci-darwin-arm64v8.yml
vendored
@ -7,16 +7,18 @@ jobs:
|
|||||||
CI:
|
CI:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # for npx prebuild to make release
|
contents: write # for npx prebuild to make release
|
||||||
name: Node.js ${{ matrix.nodejs_version }} ${{ matrix.nodejs_arch }} ${{ matrix.prebuild && '- prebuild' }}
|
name: Node.js ${{ matrix.nodejs_version }} ${{ matrix.platform }} ${{ matrix.prebuild && '- prebuild' }}
|
||||||
runs-on: macos-m1
|
runs-on: macos-m1
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- nodejs_version: 14
|
- nodejs_version: "^18.17.0"
|
||||||
nodejs_arch: x64
|
nodejs_arch: x64
|
||||||
- nodejs_version: 18
|
platform: darwin-x64
|
||||||
|
- nodejs_version: "^18.17.0"
|
||||||
nodejs_arch: arm64
|
nodejs_arch: arm64
|
||||||
|
platform: darwin-arm64
|
||||||
prebuild: true
|
prebuild: true
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@ -30,7 +32,7 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install
|
- name: Install
|
||||||
run: npm install --build-from-source --unsafe-perm
|
run: npm install --build-from-source
|
||||||
- name: Test
|
- name: Test
|
||||||
run: npm test
|
run: npm test
|
||||||
- name: Prebuild
|
- name: Prebuild
|
||||||
|
61
.github/workflows/ci.yml
vendored
61
.github/workflows/ci.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
|||||||
CI:
|
CI:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # for npx prebuild to make release
|
contents: write # for npx prebuild to make release
|
||||||
name: ${{ matrix.container || matrix.os }} - Node.js ${{ matrix.nodejs_version }} ${{ matrix.nodejs_arch }} ${{ matrix.prebuild && '- prebuild' }}
|
name: ${{ matrix.container || matrix.os }} - Node.js ${{ matrix.platform }} ${{ matrix.nodejs_arch }} ${{ matrix.prebuild && '- prebuild' }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
container: ${{ matrix.container }}
|
container: ${{ matrix.container }}
|
||||||
strategy:
|
strategy:
|
||||||
@ -15,57 +15,54 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
container: centos:7
|
container: rockylinux:8
|
||||||
nodejs_version: 14
|
nodejs_version: "^18.17.0"
|
||||||
|
platform: linux-x64
|
||||||
prebuild: true
|
prebuild: true
|
||||||
- os: ubuntu-22.04
|
|
||||||
container: centos:7
|
|
||||||
nodejs_version: 16
|
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
container: rockylinux:8
|
container: rockylinux:8
|
||||||
nodejs_version: 18
|
nodejs_version: "^20.3.0"
|
||||||
|
platform: linux-x64
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
container: node:14-alpine3.12
|
container: node:18-alpine3.17
|
||||||
|
platform: linuxmusl-x64
|
||||||
prebuild: true
|
prebuild: true
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
container: node:16-alpine3.12
|
container: node:20-alpine3.18
|
||||||
- os: ubuntu-22.04
|
platform: linuxmusl-x64
|
||||||
container: node:18-alpine3.14
|
|
||||||
- os: macos-11
|
- os: macos-11
|
||||||
nodejs_version: 14
|
nodejs_version: "^18.17.0"
|
||||||
|
nodejs_arch: x64
|
||||||
|
platform: darwin-x64
|
||||||
prebuild: true
|
prebuild: true
|
||||||
nodejs_arch: x64
|
|
||||||
- os: macos-11
|
- os: macos-11
|
||||||
nodejs_version: 16
|
nodejs_version: "^20.3.0"
|
||||||
nodejs_arch: x64
|
|
||||||
- os: macos-11
|
|
||||||
nodejs_version: 18
|
|
||||||
nodejs_arch: x64
|
nodejs_arch: x64
|
||||||
|
platform: darwin-x64
|
||||||
- os: windows-2019
|
- os: windows-2019
|
||||||
nodejs_version: 14
|
nodejs_version: "^18.17.0"
|
||||||
nodejs_arch: x86
|
nodejs_arch: x86
|
||||||
|
platform: win32-ia32
|
||||||
prebuild: true
|
prebuild: true
|
||||||
- os: windows-2019
|
- os: windows-2019
|
||||||
nodejs_version: 16
|
nodejs_version: "^20.3.0"
|
||||||
nodejs_arch: x86
|
nodejs_arch: x86
|
||||||
|
platform: win32-ia32
|
||||||
- os: windows-2019
|
- os: windows-2019
|
||||||
nodejs_version: 18
|
nodejs_version: "^18.17.0"
|
||||||
nodejs_arch: x86
|
|
||||||
- os: windows-2019
|
|
||||||
nodejs_version: 14
|
|
||||||
nodejs_arch: x64
|
nodejs_arch: x64
|
||||||
|
platform: win32-x64
|
||||||
prebuild: true
|
prebuild: true
|
||||||
- os: windows-2019
|
- os: windows-2019
|
||||||
nodejs_version: 16
|
nodejs_version: "^20.3.0"
|
||||||
nodejs_arch: x64
|
|
||||||
- os: windows-2019
|
|
||||||
nodejs_version: 18
|
|
||||||
nodejs_arch: x64
|
nodejs_arch: x64
|
||||||
|
platform: win32-x64
|
||||||
steps:
|
steps:
|
||||||
- name: Dependencies (Linux glibc)
|
- name: Dependencies (Linux glibc)
|
||||||
if: contains(matrix.container, 'centos')
|
if: contains(matrix.container, 'centos')
|
||||||
run: |
|
run: |
|
||||||
curl -sL https://rpm.nodesource.com/setup_${{ matrix.nodejs_version }}.x | bash -
|
NODE_MAJOR="${{ contains(matrix.nodejs_version, '^18.') && '18' || '20' }}"
|
||||||
|
yum install -y https://rpm.nodesource.com/pub_${NODE_MAJOR}.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm
|
||||||
yum install -y https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
|
yum install -y https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
|
||||||
yum install -y centos-release-scl
|
yum install -y centos-release-scl
|
||||||
yum install -y devtoolset-11-gcc-c++ make git python3 nodejs fontconfig google-noto-sans-fonts
|
yum install -y devtoolset-11-gcc-c++ make git python3 nodejs fontconfig google-noto-sans-fonts
|
||||||
@ -73,8 +70,10 @@ jobs:
|
|||||||
- name: Dependencies (Rocky Linux glibc)
|
- name: Dependencies (Rocky Linux glibc)
|
||||||
if: contains(matrix.container, 'rockylinux')
|
if: contains(matrix.container, 'rockylinux')
|
||||||
run: |
|
run: |
|
||||||
curl -sL https://rpm.nodesource.com/setup_${{ matrix.nodejs_version }}.x | bash -
|
NODE_MAJOR="${{ contains(matrix.nodejs_version, '^18.') && '18' || '20' }}"
|
||||||
dnf install -y gcc-toolset-11-gcc-c++ make git python3 nodejs fontconfig google-noto-sans-fonts
|
dnf install -y https://rpm.nodesource.com/pub_${NODE_MAJOR}.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm
|
||||||
|
dnf install -y --setopt=nodesource-nodejs.module_hotfixes=1 nodejs
|
||||||
|
dnf install -y gcc-toolset-11-gcc-c++ make git python3 fontconfig google-noto-sans-fonts
|
||||||
echo "/opt/rh/gcc-toolset-11/root/usr/bin" >> $GITHUB_PATH
|
echo "/opt/rh/gcc-toolset-11/root/usr/bin" >> $GITHUB_PATH
|
||||||
- name: Dependencies (Linux musl)
|
- name: Dependencies (Linux musl)
|
||||||
if: contains(matrix.container, 'alpine')
|
if: contains(matrix.container, 'alpine')
|
||||||
@ -96,7 +95,7 @@ jobs:
|
|||||||
if: matrix.container
|
if: matrix.container
|
||||||
run: chown root.root .
|
run: chown root.root .
|
||||||
- name: Install
|
- name: Install
|
||||||
run: npm install --build-from-source --unsafe-perm
|
run: npm install --build-from-source
|
||||||
- name: Test
|
- name: Test
|
||||||
run: npm test
|
run: npm test
|
||||||
- name: Prebuild
|
- name: Prebuild
|
||||||
|
@ -16,7 +16,7 @@ Lanczos resampling ensures quality is not sacrificed for speed.
|
|||||||
As well as image resizing, operations such as
|
As well as image resizing, operations such as
|
||||||
rotation, extraction, compositing and gamma correction are available.
|
rotation, extraction, compositing and gamma correction are available.
|
||||||
|
|
||||||
Most modern macOS, Windows and Linux systems running Node.js >= 14.15.0
|
Most modern macOS, Windows and Linux systems running Node.js >= 18.17.0
|
||||||
do not require any additional install or runtime dependencies.
|
do not require any additional install or runtime dependencies.
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v0.33 - *gauge*
|
||||||
|
|
||||||
|
Requires libvips v8.14.5
|
||||||
|
|
||||||
|
### v0.33.0 - TBD
|
||||||
|
|
||||||
|
* Drop support for Node.js 14 and 16, now requires Node.js >= 18.17.0
|
||||||
|
|
||||||
## v0.32 - *flow*
|
## v0.32 - *flow*
|
||||||
|
|
||||||
Requires libvips v8.14.5
|
Requires libvips v8.14.5
|
||||||
|
@ -10,7 +10,7 @@ yarn add sharp
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
* Node.js >= 14.15.0
|
* Node.js >= 18.17.0
|
||||||
|
|
||||||
## Prebuilt binaries
|
## Prebuilt binaries
|
||||||
|
|
||||||
|
File diff suppressed because one or more lines are too long
@ -134,7 +134,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"color": "^4.2.3",
|
"color": "^4.2.3",
|
||||||
"detect-libc": "^2.0.2",
|
"detect-libc": "^2.0.2",
|
||||||
"node-addon-api": "^6.1.0",
|
"node-addon-api": "^7.0.0",
|
||||||
"prebuild-install": "^7.1.1",
|
"prebuild-install": "^7.1.1",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.5.4",
|
||||||
"simple-get": "^4.0.1",
|
"simple-get": "^4.0.1",
|
||||||
@ -177,7 +177,7 @@
|
|||||||
"target": 7
|
"target": 7
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.15.0"
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user