diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 28caacb3b..be17a0cc9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -36,10 +36,12 @@ List any relevant issue numbers: diff --git a/.github/workflows/build-and-tests.yml b/.github/workflows/build-and-tests.yml index 25310fd32..10a9704ee 100644 --- a/.github/workflows/build-and-tests.yml +++ b/.github/workflows/build-and-tests.yml @@ -59,6 +59,7 @@ jobs: fail-fast: false matrix: settings: + # WASM - host: windows-latest target: x86_64-pc-windows-msvc name: wasm @@ -81,12 +82,8 @@ jobs: path: | wasm-node/ .empty - - host: macos-latest - target: x86_64-apple-darwin - build: >- - set -e && - npm run build:napi -- --release && - strip -x *.node + + # Windows - host: windows-latest build: npm run build:napi -- --release target: x86_64-pc-windows-msvc @@ -96,6 +93,26 @@ jobs: rustup target add i686-pc-windows-msvc && npm run build:napi -- --release --target i686-pc-windows-msvc target: i686-pc-windows-msvc + - host: windows-latest + target: aarch64-pc-windows-msvc + build: npm run build:napi -- --release --target aarch64-pc-windows-msvc + + # MacOS + - host: macos-latest + target: x86_64-apple-darwin + build: >- + set -e && + npm run build:napi -- --release && + strip -x *.node + - host: macos-latest + target: aarch64-apple-darwin + build: >- + set -e && + rustup target add aarch64-apple-darwin && + npm run build:napi -- --release --target aarch64-apple-darwin && + strip -x *.node + + # Linux - host: ubuntu-latest target: x86_64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian @@ -110,13 +127,16 @@ jobs: build: >- set -e && npm run build:napi -- --release && strip *.node - - host: macos-latest - target: aarch64-apple-darwin + - host: ubuntu-latest + target: armv7-unknown-linux-gnueabihf + zig: true + setup: | + sudo apt-get update + sudo apt-get install gcc-arm-linux-gnueabihf -y build: >- set -e && - rustup target add aarch64-apple-darwin && - npm run build:napi -- --release --target aarch64-apple-darwin && - strip -x *.node + npm run build:napi -- --release --target armv7-unknown-linux-gnueabihf && + arm-linux-gnueabihf-strip *.node - host: ubuntu-latest target: aarch64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64 @@ -128,40 +148,37 @@ jobs: npm run build:napi -- --release --target aarch64-unknown-linux-gnu && aarch64-unknown-linux-gnu-strip *.node - host: ubuntu-latest - target: armv7-unknown-linux-gnueabihf - zig: true - setup: | - sudo apt-get update - sudo apt-get install gcc-arm-linux-gnueabihf -y + target: aarch64-unknown-linux-musl + docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine build: >- set -e && - npm run build:napi -- --release --target armv7-unknown-linux-gnueabihf && - arm-linux-gnueabihf-strip *.node + export JEMALLOC_SYS_WITH_LG_PAGE=16 && + rustup default nightly-2023-10-05 && + rustup target add aarch64-unknown-linux-musl && + RUSTFLAGS='-C target-feature=-crt-static -C linker=aarch64-linux-musl-gcc' npm run build:napi -- --release --target aarch64-unknown-linux-musl && + /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node - host: ubuntu-latest - target: aarch64-linux-android + target: armv7-linux-androideabi build: >- set -e && - npm run build:napi -- --release --target aarch64-linux-android && + npm run build:napi -- --release --target armv7-linux-androideabi && ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node - host: ubuntu-latest - target: armv7-linux-androideabi + target: aarch64-linux-android build: >- set -e && - npm run build:napi -- --release --target armv7-linux-androideabi && + npm run build:napi -- --release --target aarch64-linux-android && ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node - host: ubuntu-latest - target: aarch64-unknown-linux-musl - docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine + target: riscv64gc-unknown-linux-gnu + setup: | + sudo apt-get update + sudo apt-get install gcc-riscv64-linux-gnu -y build: >- set -e && - export JEMALLOC_SYS_WITH_LG_PAGE=16 && - rustup default nightly-2023-10-05 && - rustup target add aarch64-unknown-linux-musl && - RUSTFLAGS='-C target-feature=-crt-static -C linker=aarch64-linux-musl-gcc' npm run build:napi -- --release --target aarch64-unknown-linux-musl && - /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node - - host: windows-latest - target: aarch64-pc-windows-msvc - build: npm run build:napi -- --release --target aarch64-pc-windows-msvc + rustup target add riscv64gc-unknown-linux-gnu && + npm run build:napi -- --release --target riscv64gc-unknown-linux-gnu && + riscv64-linux-gnu-strip *.node name: Build ${{ matrix.settings.name || matrix.settings.target }} runs-on: ${{ matrix.settings.host }} timeout-minutes: 30 diff --git a/.github/workflows/repl-artefacts.yml b/.github/workflows/repl-artefacts.yml index bff6ac64f..38a100902 100644 --- a/.github/workflows/repl-artefacts.yml +++ b/.github/workflows/repl-artefacts.yml @@ -8,6 +8,10 @@ on: - reopened - labeled +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + permissions: contents: read diff --git a/CHANGELOG.md b/CHANGELOG.md index d36543f63..149da2cd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,110 @@ # rollup changelog +## 4.8.0 + +_2023-12-11_ + +### Features + +- Improve `experimentalMinChunkSize` to take already loaded modules from dynamic imports into account (#5294) + +### Pull Requests + +- [#5294](https://github.com/rollup/rollup/pull/5294): Find more merge targets for experimentalMinChunkSize (@lukastaegert) + +## 4.7.0 + +_2023-12-08_ + +### Features + +- Add build for Linux riscv64 architecture (#5288) + +### Bug Fixes + +- Improve error message when native Windows build does not start (#5284) + +### Pull Requests + +- [#5278](https://github.com/rollup/rollup/pull/5278): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) +- [#5281](https://github.com/rollup/rollup/pull/5281): Add logs and experimentalLogSideEffects to REPL (@lukastaegert) +- [#5284](https://github.com/rollup/rollup/pull/5284): Add friendly error for missing MSVC redistributable (@sapphi-red) +- [#5285](https://github.com/rollup/rollup/pull/5285): chore(deps): update dependency vite to v5.0.5 [security] (@renovate[bot]) +- [#5288](https://github.com/rollup/rollup/pull/5288): Add support for linux riscv64 gnu (@kxxt) +- [#5290](https://github.com/rollup/rollup/pull/5290): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) + +## 4.6.1 + +_2023-11-30_ + +### Bug Fixes + +- Resolve a situation where declaring the same `var` several times was considered a conflict (#5276) + +### Pull Requests + +- [#5275](https://github.com/rollup/rollup/pull/5275): Add TNG as special sponsor (@lukastaegert) +- [#5276](https://github.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes (@lukastaegert) + +## 4.6.0 + +_2023-11-26_ + +### Features + +- Allow `this.addWatchFile` in all plugin hooks (#5270) + +### Bug Fixes + +- Show helpful error when native binaries are not installed due to an `npm` issue (#5267) +- Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around (#5270) + +### Pull Requests + +- [#5267](https://github.com/rollup/rollup/pull/5267): Add friendly error for npm bug (@sapphi-red) +- [#5270](https://github.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks (@lukastaegert) +- [#5272](https://github.com/rollup/rollup/pull/5272): Debug deployed graphs (@lukastaegert) + +## 4.5.2 + +_2023-11-24_ + +### Bug Fixes + +- Handle files with UTF-8 BOM when using the commonjs plugin (#5268) + +### Pull Requests + +- [#5268](https://github.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook (@TrickyPi) +- [#5269](https://github.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) + +## 4.5.1 + +_2023-11-21_ + +### Bug Fixes + +- Do not error when a function expression uses the same name for a parameter and its id (#5262) + +### Pull Requests + +- [#5257](https://github.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors (@lukastaegert) +- [#5262](https://github.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id (@lukastaegert) + +## 4.5.0 + +_2023-11-18_ + +### Bug Fixes + +- Show a proper error when using native Rollup on armv7 musl Linux (#5255) + +### Pull Requests + +- [#5251](https://github.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page (@lhapaipai) +- [#5253](https://github.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates (@renovate[bot]) +- [#5255](https://github.com/rollup/rollup/pull/5255): Error for armv7 musl build (@lukastaegert) + ## 4.4.1 _2023-11-14_ diff --git a/LICENSE.md b/LICENSE.md index 238cabc51..7e7143837 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -50,6 +50,28 @@ License: MIT By: Rich Harris Repository: rollup/plugins +> The MIT License (MIT) +> +> Copyright (c) 2019 RollupJS Plugin Contributors (https://github.com/rollup/plugins/graphs/contributors) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + --------------------------------------- ## anymatch diff --git a/README.md b/README.md index 7e37ebfa1..000f9361f 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,16 @@ Support this project by becoming a sponsor. Your logo will show up here with a l +<<<<<<< HEAD ## 协议 +======= +## Special Sponsor + +TNG Logo + +TNG has been supporting the work of [Lukas Taegert-Atkinson](https://github.com/lukastaegert) on Rollup since 2017. + +## License +>>>>>>> 7f9d85c7bea77f83dc1abf9ea4ed1046e9875ef5 [MIT](https://github.com/rollup/rollup/blob/master/LICENSE.md) diff --git a/browser/LICENSE.md b/browser/LICENSE.md index bb6a72be4..b589d68c9 100644 --- a/browser/LICENSE.md +++ b/browser/LICENSE.md @@ -50,6 +50,28 @@ License: MIT By: Rich Harris Repository: rollup/plugins +> The MIT License (MIT) +> +> Copyright (c) 2019 RollupJS Plugin Contributors (https://github.com/rollup/plugins/graphs/contributors) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + --------------------------------------- ## builtin-modules diff --git a/browser/package.json b/browser/package.json index 50359112d..26783b6db 100644 --- a/browser/package.json +++ b/browser/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/browser", - "version": "4.4.1", + "version": "4.8.0", "description": "Next-generation ES module bundler browser build", "main": "dist/rollup.browser.js", "module": "dist/es/rollup.browser.js", diff --git a/docs/.vitepress/mermaid.ts b/docs/.vitepress/mermaid.ts index 4dcfd2db5..9a0ed9676 100644 --- a/docs/.vitepress/mermaid.ts +++ b/docs/.vitepress/mermaid.ts @@ -12,6 +12,7 @@ const graphsDirectory = new URL('graphs/', import.meta.url); const mermaidRegExp = /^```mermaid\n([\S\s]*?)\n```/gm; const greaterThanRegExp = />/g; +const svgIdRegExp = /my-svg/g; const styleTagRegExp = /