Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
552e360
fix: fix slim loading order
matteobruni Feb 4, 2026
5395bcb
refactor: optimize plugin loading and ensure interactivity plugin is …
matteobruni Feb 4, 2026
a355108
chore(release): published new version
matteobruni Feb 4, 2026
590c7b0
chore(ci): update CI configuration for Nx Cloud integration
matteobruni Feb 4, 2026
cceaac5
chore(ci): update installation and build steps in CI configuration
matteobruni Feb 4, 2026
588f95c
ci: remove stop-agents-after option from Nx Cloud initialization
matteobruni Feb 4, 2026
fe0f82c
refactor: streamline plugin loading by removing redundant calls
matteobruni Feb 4, 2026
18248b8
ci: replace lerna build commands with nx for improved performance
matteobruni Feb 4, 2026
0d5b26e
build: update slimbuild scripts to use nx for improved build management
matteobruni Feb 4, 2026
4432648
Merge branch 'main' into v4
matteobruni Feb 4, 2026
81fe729
chore(ci): add nx-set-shas action for deriving SHAs in affected commands
matteobruni Feb 4, 2026
3f1b91e
build: remove parallel execution from build commands in CI workflows
matteobruni Feb 4, 2026
8a26528
ci: update nodejs.yml to replace nx affected commands with nx run-many
matteobruni Feb 4, 2026
2dbd77f
chore(ci): replace nx run-many with lerna run for building packages
matteobruni Feb 4, 2026
1c4f944
chore(ci): update CI workflows to use nx affected for builds and remo…
matteobruni Feb 4, 2026
de70fa6
ci: disable NX_CLOUD_DISTRIBUTED_EXECUTION in workflows
matteobruni Feb 4, 2026
537f51e
chore(ci): update Node.js CI configuration for improved execution and…
matteobruni Feb 4, 2026
e814012
chore(ci): update workflows to initialize and stop Nx Cloud sessions
matteobruni Feb 4, 2026
aa1e6b5
chore: update pnpm install command and bump nx and webpack versions
matteobruni Feb 4, 2026
5526bcc
build: add outputs configuration for build tasks in nx.json
matteobruni Feb 4, 2026
04169a2
Merge pull request #5577 from tsparticles/v4
matteobruni Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
162 changes: 32 additions & 130 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -1,167 +1,69 @@
name: Node.js CI
on:
push:
branches:
- main
- v4
- v3
- v2
- v1
branches: [main, v4, v3, v2, v1]
pull_request:
branches:
- main
- v4
- v3
- v2
- v1
branches: [main, v4, v3, v2, v1]

env:
#NX_CLOUD_DISTRIBUTED_EXECUTION: true
#NX_CLOUD_ACCESS_TOKEN: '${{ secrets.NX_CLOUD_ACCESS_TOKEN }}'
#NX_BRANCH: '${{github.event.pull_request.number || github.ref_name}}'
NX_CLOUD_DISTRIBUTED_EXECUTION: true
NX_CLOUD_ACCESS_TOKEN: '${{ secrets.NX_CLOUD_ACCESS_TOKEN }}'
firebaseToken: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TSPARTICLES }}'

jobs:

main:
build-and-deploy:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' }}
steps:
- uses: actions/checkout@v6
name: Checkout [main]
with:
ref: ${{ github.event.pull_request.head.ref || github.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
fetch-depth: 0
#- name: Derive appropriate SHAs for base and head for `nx affected` commands
# uses: nrwl/nx-set-shas@v3

- name: Derive SHAs for nx affected
uses: nrwl/nx-set-shas@v4

- uses: actions/setup-node@v6
with:
node-version: '24'

- uses: pnpm/action-setup@v4.2.0
name: Install pnpm
id: pnpm-install
with:
run_install: false
- name: Get pnpm version
id: pnpm-version
run: |
echo "$(pnpm --version)"

- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- name: Initialize Nx Cloud
run: npx nx-cloud start-ci-run --distribute-on="5 linux-medium-js"

- uses: actions/cache@v5
name: Setup pnpm cache
- name: Setup pnpm cache
uses: actions/cache@v5
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install
#- run: npx nx-cloud start-ci-run
- run: pnpm run prettify:ci:readme
- run: npx lerna run build:ci #--concurrency 3
#- run: npx nx-cloud stop-all-agents
- if: env.firebaseToken != '' && github.ref == 'refs/heads/main'
uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TSPARTICLES }}'
projectId: tsparticles
channelId: live

- if: env.firebaseToken != '' && github.ref == 'refs/heads/dev'
- name: Install dependencies
run: pnpm install

- name: Prettify README
run: pnpm run prettify:ci:readme

- name: Build packages
run: npx nx affected -t build:ci

- if: env.firebaseToken != '' && github.ref == 'refs/heads/main' && github.event_name == 'push'
uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TSPARTICLES }}'
projectId: tsparticles
channelId: next
pr:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
#- name: Derive appropriate SHAs for base and head for `nx affected` commands
# uses: nrwl/nx-set-shas@v3
- uses: actions/setup-node@v6
with:
node-version: '24'
- uses: pnpm/action-setup@v4.2.0
name: Install pnpm
id: pnpm-install
with:
run_install: false
- name: Get pnpm version
id: pnpm-version
run: |
echo "$(pnpm --version)"

- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
channelId: live

- uses: actions/cache@v5
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install
#- run: npx nx-cloud start-ci-run
- run: pnpm run prettify:ci:readme
- run: npx lerna run build:ci #--concurrency 3
#- run: npx nx-cloud stop-all-agents
- run: echo ${{ github.repository_owner }}
- run: echo ${{ github.actor }}
- if: env.firebaseToken != '' && contains(github.ref, 'refs/pull') && github.actor == 'matteobruni'
- if: env.firebaseToken != '' && github.event_name == 'pull_request' && github.actor == 'matteobruni'
uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TSPARTICLES }}'
projectId: tsparticles

# agents:
# runs-on: ubuntu-latest
# name: Nx Agent
# timeout-minutes: 60
# strategy:
# matrix:
# agent: [ 1, 2, 3 ]
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v3
# with:
# node-version: '20'
# - uses: pnpm/action-setup@v2.2.2
# name: Install pnpm
# id: pnpm-install
# with:
# run_install: false
# - name: Get pnpm version
# id: pnpm-version
# run: |
# echo "$(pnpm --version)"
#
# - name: Get pnpm store directory
# id: pnpm-cache
# run: |
# echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
#
# - uses: actions/cache@v3
# name: Setup pnpm cache
# with:
# path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
# key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
# restore-keys: |
# ${{ runner.os }}-pnpm-store-
# - run: pnpm install
# - name: Start Nx Agent ${{ matrix.agent }}
# run: npx nx-cloud start-agent
- name: Stop Nx Cloud Session
run: npx nx fix-ci
if: always()
48 changes: 39 additions & 9 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,43 +9,69 @@ permissions:
id-token: write
contents: read

env:
NX_CLOUD_DISTRIBUTED_EXECUTION: true
NX_CLOUD_ACCESS_TOKEN: '${{ secrets.NX_CLOUD_ACCESS_TOKEN }}'

jobs:
publish:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
name: Checkout Source
with:
fetch-depth: 0

- uses: actions/setup-node@v6
name: Setup Node.js
with:
node-version: 24
registry-url: https://registry.npmjs.org

- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v4.2.0
name: Install pnpm
with:
run_install: false

- run: pnpm install
- name: Initialize Nx Cloud
run: npx nx-cloud start-ci-run --distribute-on="5 linux-medium-js"

- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v5
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install Dependencies
run: pnpm install

- name: Build All Packages
run: pnpm run build:ci
run: npx nx run-many -t build:ci
env:
CI: true

- name: Publish
- name: Publish to NPM (OIDC Auth)
run: |
npm config set //registry.npmjs.org/:_authToken ""

TAG="${GITHUB_REF#refs/tags/}"

BASE_CMD="lerna publish from-package --ignore-scripts --loglevel verbose"
# --provenance: Fondamentale per OIDC e sicurezza nel 2026
# --yes: Evita blocchi interattivi in CI
BASE_CMD="npx lerna publish from-package --ignore-scripts --provenance --yes"

echo "Publishing tag: $TAG via OIDC"

if [[ "$TAG" == *"-alpha."* ]]; then
$BASE_CMD --pre-dist-tag alpha --preid alpha
$BASE_CMD --dist-tag alpha
elif [[ "$TAG" == *"-beta."* ]]; then
$BASE_CMD --pre-dist-tag beta --preid beta
$BASE_CMD --dist-tag beta
elif [[ "$TAG" == v1* ]]; then
$BASE_CMD --dist-tag v1
elif [[ "$TAG" == v2* ]]; then
Expand All @@ -55,3 +81,7 @@ jobs:
else
$BASE_CMD
fi

- name: Stop Nx Cloud Session
run: npx nx fix-ci
if: always()
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

# [4.0.0-alpha.18](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.17...v4.0.0-alpha.18) (2026-02-04)

### Bug Fixes

- fix slim loading order ([552e360](https://github.com/tsparticles/tsparticles/commit/552e360a668260461a9928860f1c71dcbc62e60b))

# [4.0.0-alpha.17](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.16...v4.0.0-alpha.17) (2026-02-04)

### Bug Fixes
Expand Down
4 changes: 4 additions & 0 deletions bundles/all/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

# [4.0.0-alpha.18](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.17...v4.0.0-alpha.18) (2026-02-04)

**Note:** Version bump only for package @tsparticles/all

# [4.0.0-alpha.17](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.16...v4.0.0-alpha.17) (2026-02-04)

**Note:** Version bump only for package @tsparticles/all
Expand Down
Loading
Loading