Skip to content

Commit e881c15

Browse files
authored
Merge pull request tsparticles#5571 from tsparticles/v4
4.0.0-alpha.6
2 parents 49a5382 + 9208a75 commit e881c15

1,551 files changed

Lines changed: 65214 additions & 60303 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/nodejs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
5757
restore-keys: |
5858
${{ runner.os }}-pnpm-store-
59-
- run: pnpm install --no-frozen-lockfile
59+
- run: pnpm install
6060
#- run: npx nx-cloud start-ci-run
6161
- run: pnpm run prettify:ci:readme
6262
- run: npx lerna run build:ci #--concurrency 3
@@ -112,7 +112,7 @@ jobs:
112112
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
113113
restore-keys: |
114114
${{ runner.os }}-pnpm-store-
115-
- run: pnpm install --no-frozen-lockfile
115+
- run: pnpm install
116116
#- run: npx nx-cloud start-ci-run
117117
- run: pnpm run prettify:ci:readme
118118
- run: npx lerna run build:ci #--concurrency 3
@@ -160,6 +160,6 @@ jobs:
160160
# key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
161161
# restore-keys: |
162162
# ${{ runner.os }}-pnpm-store-
163-
# - run: pnpm install --no-frozen-lockfile
163+
# - run: pnpm install
164164
# - name: Start Nx Agent ${{ matrix.agent }}
165165
# run: npx nx-cloud start-agent

.github/workflows/npm-publish.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Publish Packages
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
id-token: write
10+
contents: read
11+
12+
jobs:
13+
publish:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v6
18+
with:
19+
fetch-depth: 0
20+
21+
- uses: actions/setup-node@v6
22+
with:
23+
node-version: 24
24+
registry-url: https://registry.npmjs.org
25+
26+
- uses: pnpm/action-setup@v4
27+
with:
28+
run_install: false
29+
30+
- run: pnpm install
31+
32+
- name: Publish
33+
run: |
34+
TAG="${GITHUB_REF#refs/tags/}"
35+
36+
if [[ "$TAG" == *"-alpha."* ]]; then
37+
pnpm run publish:alpha
38+
elif [[ "$TAG" == *"-beta."* ]]; then
39+
pnpm run publish:beta
40+
else
41+
if [[ "$TAG" == v1* ]]; then
42+
pnpm run publish:v1
43+
elif [[ "$TAG" == v2* ]]; then
44+
pnpm run publish:v2
45+
elif [[ "$TAG" == v3* ]]; then
46+
pnpm run publish:v3
47+
else
48+
pnpm run publish:next
49+
fi
50+
fi

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,25 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [4.0.0-alpha.8](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2026-01-22)
7+
8+
**Note:** Version bump only for package @tsparticles/workspace
9+
10+
# [4.0.0-alpha.7](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2026-01-22)
11+
12+
**Note:** Version bump only for package @tsparticles/workspace
13+
14+
# [4.0.0-alpha.6](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2026-01-22)
15+
16+
### Bug Fixes
17+
18+
- fixed copy/paste issues ([2c47402](https://github.com/tsparticles/tsparticles/commit/2c47402ab4c605759cc66875fdaa54a76c49c27b))
19+
- format fix ([dd42a71](https://github.com/tsparticles/tsparticles/commit/dd42a71857b5e1a95758186bd00b5aa92c9686a9))
20+
21+
### Features
22+
23+
- add easing plugins for bounce, elastic, gaussian, sigmoid, and smoothstep ([cc8df02](https://github.com/tsparticles/tsparticles/commit/cc8df026d06c8180210fec809d71ae1ef59a040a))
24+
625
# [4.0.0-alpha.5](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2026-01-21)
726

827
**Note:** Version bump only for package @tsparticles/workspace

README.md

Lines changed: 105 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -29,77 +29,77 @@ React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.j
2929
## Table of Contents
3030

3131
- [tsParticles - TypeScript Particles](#tsparticles---typescript-particles)
32-
- [Table of Contents](#table-of-contents)
33-
- [Do you want to use it on your website?](#do-you-want-to-use-it-on-your-website)
34-
- [**_Library installation_**](#library-installation)
35-
- [**_Hosting / CDN_**](#hosting--cdn)
36-
- [jsDelivr](#jsdelivr)
37-
- [cdnjs](#cdnjs)
38-
- [unpkg](#unpkg)
39-
- [**_npm_**](#npm)
40-
- [**_yarn_**](#yarn)
41-
- [**_pnpm_**](#pnpm)
42-
- [Import and require](#import-and-require)
43-
- [**_Usage_**](#usage)
44-
- [Official components for some of the most used frameworks](#official-components-for-some-of-the-most-used-frameworks)
45-
- [Angular](#angular)
46-
- [`@tsparticles/angular`](#@tsparticles/angular)
47-
- [Astro](#astro)
48-
- [`astro-particles`](#astro-particles)
49-
- [Ember.js](#emberjs)
50-
- [`ember-tsparticles`](#ember-tsparticles)
51-
- [Inferno](#inferno)
52-
- [`inferno-particles`](#inferno-particles)
53-
- [jQuery](#jquery)
54-
- [`jquery-particles`](#jquery-particles)
55-
- [Preact](#preact)
56-
- [`preact-particles`](#preact-particles)
57-
- [ReactJS](#reactjs)
58-
- [`@tsparticles/react`](#tsparticlesreact)
59-
- [RiotJS](#riotjs)
60-
- [`riot-particles`](#riot-particles)
61-
- [SolidJS](#solidjs)
62-
- [`solid-particles`](#solid-particles)
63-
- [Svelte](#svelte)
64-
- [`@tsparticles/svelte`](#@tsparticles/svelte)
65-
- [VueJS 2.x](#vuejs-2x)
66-
- [`@tsparticles/vue2`](#tsparticlesvue2)
67-
- [VueJS 3.x](#vuejs-3x)
68-
- [`@tsparticles/vue3`](#tsparticlesvue3)
69-
- [Web Components](#web-components)
70-
- [`web-particles`](#web-particles)
71-
- [WordPress](#wordpress)
72-
- [`@tsparticles/wordpress`](#@tsparticles/wordpress)
73-
- [Elementor](#elementor)
74-
- [Presets](#presets)
75-
- [Big Circles](#big-circles)
76-
- [Bubbles](#bubbles)
77-
- [Confetti](#confetti)
78-
- [Fire](#fire)
79-
- [Firefly](#firefly)
80-
- [Fireworks](#fireworks)
81-
- [Fountain](#fountain)
82-
- [Links](#links)
83-
- [Sea Anemone](#sea-anemone)
84-
- [Snow](#snow)
85-
- [Stars](#stars)
86-
- [Triangles](#triangles)
87-
- [Templates and Resources](#templates-and-resources)
88-
- [**_Demo / Generator_**](#demo--generator)
89-
- [**_Video Tutorials_**](#video-tutorials)
90-
- [Characters as particles](#characters-as-particles)
91-
- [Polygon mask](#polygon-mask)
92-
- [Animated stars](#animated-stars)
93-
- [Nyan cat flying on scrolling stars](#nyan-cat-flying-on-scrolling-stars)
94-
- [Snow particles](#snow-particles)
95-
- [Background Mask particles](#background-mask-particles)
96-
- [**_Options_**](#options)
97-
- [Want to see it in action and try it?](#want-to-see-it-in-action-and-try-it)
98-
- [Migrating from Particles.js](#migrating-from-particlesjs)
99-
- [Plugins/Customizations](#pluginscustomizations)
100-
- [Dependency Graph](#dependency-graph)
101-
- [Sponsors](#sponsors)
102-
- [Huge thanks to JetBrains for the 2020-2022 Open Source Licenses!](#huge-thanks-to-jetbrains-for-the-2020-2022-open-source-licenses)
32+
- [Table of Contents](#table-of-contents)
33+
- [Do you want to use it on your website?](#do-you-want-to-use-it-on-your-website)
34+
- [**_Library installation_**](#library-installation)
35+
- [**_Hosting / CDN_**](#hosting--cdn)
36+
- [jsDelivr](#jsdelivr)
37+
- [cdnjs](#cdnjs)
38+
- [unpkg](#unpkg)
39+
- [**_npm_**](#npm)
40+
- [**_yarn_**](#yarn)
41+
- [**_pnpm_**](#pnpm)
42+
- [Import and require](#import-and-require)
43+
- [**_Usage_**](#usage)
44+
- [Official components for some of the most used frameworks](#official-components-for-some-of-the-most-used-frameworks)
45+
- [Angular](#angular)
46+
- [`@tsparticles/angular`](#@tsparticles/angular)
47+
- [Astro](#astro)
48+
- [`astro-particles`](#astro-particles)
49+
- [Ember.js](#emberjs)
50+
- [`ember-tsparticles`](#ember-tsparticles)
51+
- [Inferno](#inferno)
52+
- [`inferno-particles`](#inferno-particles)
53+
- [jQuery](#jquery)
54+
- [`jquery-particles`](#jquery-particles)
55+
- [Preact](#preact)
56+
- [`preact-particles`](#preact-particles)
57+
- [ReactJS](#reactjs)
58+
- [`@tsparticles/react`](#tsparticlesreact)
59+
- [RiotJS](#riotjs)
60+
- [`riot-particles`](#riot-particles)
61+
- [SolidJS](#solidjs)
62+
- [`solid-particles`](#solid-particles)
63+
- [Svelte](#svelte)
64+
- [`@tsparticles/svelte`](#@tsparticles/svelte)
65+
- [VueJS 2.x](#vuejs-2x)
66+
- [`@tsparticles/vue2`](#tsparticlesvue2)
67+
- [VueJS 3.x](#vuejs-3x)
68+
- [`@tsparticles/vue3`](#tsparticlesvue3)
69+
- [Web Components](#web-components)
70+
- [`web-particles`](#web-particles)
71+
- [WordPress](#wordpress)
72+
- [`@tsparticles/wordpress`](#@tsparticles/wordpress)
73+
- [Elementor](#elementor)
74+
- [Presets](#presets)
75+
- [Big Circles](#big-circles)
76+
- [Bubbles](#bubbles)
77+
- [Confetti](#confetti)
78+
- [Fire](#fire)
79+
- [Firefly](#firefly)
80+
- [Fireworks](#fireworks)
81+
- [Fountain](#fountain)
82+
- [Links](#links)
83+
- [Sea Anemone](#sea-anemone)
84+
- [Snow](#snow)
85+
- [Stars](#stars)
86+
- [Triangles](#triangles)
87+
- [Templates and Resources](#templates-and-resources)
88+
- [**_Demo / Generator_**](#demo--generator)
89+
- [**_Video Tutorials_**](#video-tutorials)
90+
- [Characters as particles](#characters-as-particles)
91+
- [Polygon mask](#polygon-mask)
92+
- [Animated stars](#animated-stars)
93+
- [Nyan cat flying on scrolling stars](#nyan-cat-flying-on-scrolling-stars)
94+
- [Snow particles](#snow-particles)
95+
- [Background Mask particles](#background-mask-particles)
96+
- [**_Options_**](#options)
97+
- [Want to see it in action and try it?](#want-to-see-it-in-action-and-try-it)
98+
- [Migrating from Particles.js](#migrating-from-particlesjs)
99+
- [Plugins/Customizations](#pluginscustomizations)
100+
- [Dependency Graph](#dependency-graph)
101+
- [Sponsors](#sponsors)
102+
- [Huge thanks to JetBrains for the 2020-2022 Open Source Licenses!](#huge-thanks-to-jetbrains-for-the-2020-2022-open-source-licenses)
103103

104104
---
105105

@@ -233,52 +233,52 @@ Load tsParticles and configure the particles:
233233
/* tsParticles.load(@params); */
234234

235235
tsParticles
236-
.load({
237-
id: "tsparticles",
238-
url: "presets/default.json",
239-
})
240-
.then(container => {
241-
console.log("callback - tsparticles config loaded");
242-
})
243-
.catch(error => {
244-
console.error(error);
245-
});
236+
.load({
237+
id: "tsparticles",
238+
url: "presets/default.json",
239+
})
240+
.then(container => {
241+
console.log("callback - tsparticles config loaded");
242+
})
243+
.catch(error => {
244+
console.error(error);
245+
});
246246

247247
//or
248248

249249
tsParticles.load({
250-
id: "tsparticles",
251-
options: {
252-
/* options here */
253-
},
250+
id: "tsparticles",
251+
options: {
252+
/* options here */
253+
},
254254
});
255255

256256
//or
257257

258258
tsParticles.load({
259-
id: "tsparticles",
260-
options: [
261-
{
262-
/* options here */
263-
},
264-
{
265-
/* other options here */
266-
},
267-
],
259+
id: "tsparticles",
260+
options: [
261+
{
262+
/* options here */
263+
},
264+
{
265+
/* other options here */
266+
},
267+
],
268268
});
269269
//random object
270270

271271
tsParticles.load({
272-
id: "tsparticles",
273-
options: [
274-
{
275-
/* options here */
276-
},
277-
{
278-
/* other options here */
279-
},
280-
],
281-
index: 1,
272+
id: "tsparticles",
273+
options: [
274+
{
275+
/* options here */
276+
},
277+
{
278+
/* other options here */
279+
},
280+
],
281+
index: 1,
282282
}); //the second one
283283
// Important! If the index is not in range 0...<array.length, the index will be ignored.
284284

@@ -289,7 +289,7 @@ tsParticles.load({
289289
/* this will be fired from all particles loaded */
290290

291291
tsParticles.setOnClickHandler((event, particles) => {
292-
/* custom on click handler */
292+
/* custom on click handler */
293293
});
294294

295295
// now you can control the animations too, it's possible to pause and resume the animations

bundles/all/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,24 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [4.0.0-alpha.8](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2026-01-22)
7+
8+
**Note:** Version bump only for package @tsparticles/all
9+
10+
# [4.0.0-alpha.7](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2026-01-22)
11+
12+
**Note:** Version bump only for package @tsparticles/all
13+
14+
# [4.0.0-alpha.6](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2026-01-22)
15+
16+
### Bug Fixes
17+
18+
- format fix ([dd42a71](https://github.com/tsparticles/tsparticles/commit/dd42a71857b5e1a95758186bd00b5aa92c9686a9))
19+
20+
### Features
21+
22+
- add easing plugins for bounce, elastic, gaussian, sigmoid, and smoothstep ([cc8df02](https://github.com/tsparticles/tsparticles/commit/cc8df026d06c8180210fec809d71ae1ef59a040a))
23+
624
# [4.0.0-alpha.5](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2026-01-21)
725

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

0 commit comments

Comments
 (0)