Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install --no-frozen-lockfile
- run: pnpm install
#- run: npx nx-cloud start-ci-run
#- run: pnpm run prettify:ci:readme
- run: npx lerna run build:ci #--concurrency 3
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- run: pnpm install --no-frozen-lockfile
- run: pnpm install
#- run: npx nx-cloud start-ci-run
#- run: pnpm run prettify:ci:readme
- run: npx lerna run build:ci #--concurrency 3
Expand Down Expand Up @@ -137,6 +137,6 @@ jobs:
# key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
# restore-keys: |
# ${{ runner.os }}-pnpm-store-
# - run: pnpm install --no-frozen-lockfile
# - run: pnpm install
# - name: Start Nx Agent ${{ matrix.agent }}
# run: npx nx-cloud start-agent
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Official [tsParticles](https://github.com/matteobruni/tsparticles) solid component

[![Slack](https://particles.js.org/images/slack.png)](https://join.slack.com/t/tsparticles/shared_invite/enQtOTcxNTQxNjQ4NzkxLWE2MTZhZWExMWRmOWI5MTMxNjczOGE1Yjk0MjViYjdkYTUzODM3OTc5MGQ5MjFlODc4MzE0N2Q1OWQxZDc1YzI) [![Discord](https://particles.js.org/images/discord.png)](https://discord.gg/hACwv45Hme) [![Telegram](https://particles.js.org/images/telegram.png)](https://t.me/tsparticles)
[![Discord](https://particles.js.org/images/discord.png)](https://discord.gg/hACwv45Hme) [![Telegram](https://particles.js.org/images/telegram.png)](https://t.me/tsparticles)

[![tsParticles Product Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=186113&theme=light)](https://www.producthunt.com/posts/tsparticles?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-tsparticles") <a href="https://www.buymeacoffee.com/matteobruni"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a beer&emoji=🍺&slug=matteobruni&button_colour=5F7FFF&font_colour=ffffff&font_family=Arial&outline_colour=000000&coffee_colour=FFDD00"></a>

Expand Down
14 changes: 7 additions & 7 deletions apps/solid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@
},
"license": "MIT",
"devDependencies": {
"solid-devtools": "^0.29.2",
"typescript": "^5.3.3",
"vite": "^5.0.11",
"vite-plugin-solid": "^2.8.2"
"solid-devtools": "^0.30.1",
"typescript": "^5.6.2",
"vite": "^5.4.8",
"vite-plugin-solid": "^2.10.2"
},
"dependencies": {
"@tsparticles/configs": "^3.5.0",
"@tsparticles/engine": "^3.5.0",
"@tsparticles/configs": "^3.6.0-beta.0",
"@tsparticles/engine": "^3.6.0-beta.0",
"@tsparticles/solid": "workspace:*",
"solid-js": "^1.8.11",
"solid-js": "^1.9.1",
"tsparticles": "^3.5.0"
}
}
2 changes: 1 addition & 1 deletion components/solid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Official [tsParticles](https://github.com/matteobruni/tsparticles) solid component

[![Slack](https://particles.js.org/images/slack.png)](https://join.slack.com/t/tsparticles/shared_invite/enQtOTcxNTQxNjQ4NzkxLWE2MTZhZWExMWRmOWI5MTMxNjczOGE1Yjk0MjViYjdkYTUzODM3OTc5MGQ5MjFlODc4MzE0N2Q1OWQxZDc1YzI) [![Discord](https://particles.js.org/images/discord.png)](https://discord.gg/hACwv45Hme) [![Telegram](https://particles.js.org/images/telegram.png)](https://t.me/tsparticles)
[![Discord](https://particles.js.org/images/discord.png)](https://discord.gg/hACwv45Hme) [![Telegram](https://particles.js.org/images/telegram.png)](https://t.me/tsparticles)

[![tsParticles Product Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=186113&theme=light)](https://www.producthunt.com/posts/tsparticles?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-tsparticles") <a href="https://www.buymeacoffee.com/matteobruni"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a beer&emoji=🍺&slug=matteobruni&button_colour=5F7FFF&font_colour=ffffff&font_family=Arial&outline_colour=000000&coffee_colour=FFDD00"></a>

Expand Down
301 changes: 150 additions & 151 deletions components/solid/package.json
Original file line number Diff line number Diff line change
@@ -1,157 +1,156 @@
{
"name": "@tsparticles/solid",
"version": "3.0.0",
"description": "Official tsParticles Solid Component - Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.js.",
"license": "MIT",
"author": "Matteo Bruni <matteo.bruni@me.com>",
"homepage": "https://particles.js.org",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"publishConfig": {
"access": "public"
"name": "@tsparticles/solid",
"version": "3.0.0",
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR title indicates a 3.1.0 release, but this package is still marked as version 3.0.0. If this PR is meant to cut 3.1.0, update the package version (and any related monorepo versioning) to match.

Copilot uses AI. Check for mistakes.
"description": "Official tsParticles Solid Component - Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.js.",
"license": "MIT",
"author": "Matteo Bruni <matteo.bruni@me.com>",
"homepage": "https://particles.js.org",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"publishConfig": {
"access": "public"
},
"files": [
"dist"
],
"bugs": {
"url": "https://github.com/tsparticles/solid/issues"
},
"repository": {
"url": "https://github.com/tsparticles/solid",
"directory": "components/solid",
"type": "git"
},
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
"files": [
"dist"
],
"bugs": {
"url": "https://github.com/tsparticles/solid/issues"
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
"repository": {
"url": "https://github.com/tsparticles/solid",
"directory": "components/solid",
"type": "git"
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"keywords": [
"front-end",
"frontend",
"tsparticles",
"particles.js",
"particlesjs",
"particles",
"particle",
"canvas",
"jsparticles",
"xparticles",
"particles-js",
"particles-bg",
"particles-bg-vue",
"particles-ts",
"particles.ts",
"react-particles-js",
"react-particles.js",
"react-particles",
"react",
"reactjs",
"vue-particles",
"ngx-particles",
"angular-particles",
"particleground",
"solid",
"vue",
"vuejs",
"preact",
"preactjs",
"jquery",
"angularjs",
"angular",
"typescript",
"javascript",
"animation",
"web",
"html5",
"web-design",
"webdesign",
"css",
"html",
"css3",
"animated",
"background",
"confetti",
"canvas",
"fireworks",
"fireworks-js",
"confetti-js",
"confettijs",
"fireworksjs",
"canvas-confetti"
],
"exports": {
"solid": {
"development": "./dist/dev.jsx",
"import": "./dist/index.jsx"
},
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"keywords": [
"front-end",
"frontend",
"tsparticles",
"particles.js",
"particlesjs",
"particles",
"particle",
"canvas",
"jsparticles",
"xparticles",
"particles-js",
"particles-bg",
"particles-bg-vue",
"particles-ts",
"particles.ts",
"react-particles-js",
"react-particles.js",
"react-particles",
"react",
"reactjs",
"vue-particles",
"ngx-particles",
"angular-particles",
"particleground",
"solid",
"vue",
"vuejs",
"preact",
"preactjs",
"jquery",
"angularjs",
"angular",
"typescript",
"javascript",
"animation",
"web",
"html5",
"web-design",
"webdesign",
"css",
"html",
"css3",
"animated",
"background",
"confetti",
"canvas",
"fireworks",
"fireworks-js",
"confetti-js",
"confettijs",
"fireworksjs",
"canvas-confetti"
],
"exports": {
"solid": {
"development": "./dist/dev.jsx",
"import": "./dist/index.jsx"
},
"development": {
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/dev.js"
}
},
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
"development": {
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/dev.js"
}
},
"prettier": "@tsparticles/prettier-config",
"scripts": {
"check": "tsc",
"build": "pnpm run prettify && pnpm run lint && tsup",
"build:ci": "pnpm run prettify:ci && pnpm run lint:ci && tsup",
"test": "concurrently pnpm:test:*",
"test:client": "vitest",
"test:ssr": "pnpm run test:client --mode ssr",
"lint": "concurrently \"pnpm:lint:code --fix\" pnpm:lint:types",
"lint:ci": "concurrently pnpm:lint:code pnpm:lint:types",
"lint:code": "eslint --ignore-path .gitignore --max-warnings 0 src/**/*.{js,ts,tsx,jsx}",
"lint:types": "tsc --noEmit",
"update-deps": "pnpm up -Li",
"prettify": "prettier --write \"src/**/*.{js,ts,json,css,tsx,jsx}\" \"README.md\"",
"prettify:ci": "prettier --check \"src/**/*.{js,ts,json,css,tsx,jsx}\" \"README.md\"",
"prepack": "pnpm build",
"prepare": "pnpm build",
"prepublishOnly": "pnpm build"
},
"peerDependencies": {
"@tsparticles/engine": ">=1.0.0",
"solid-js": ">=1.0.0"
},
"devDependencies": {
"@tsparticles/engine": "^3.5.0",
"@tsparticles/prettier-config": "^2.1.6",
"@types/node": "^20.12.12",
"@typescript-eslint/eslint-plugin": "^7.9.0",
"@typescript-eslint/parser": "^7.9.0",
"concurrently": "^8.2.2",
"esbuild": "^0.21.3",
"esbuild-plugin-solid": "^0.6.0",
"eslint": "^8.56.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-no-only-tests": "^3.1.0",
"jsdom": "^24.0.0",
"prettier": "3.0.0",
"solid-js": "^1.8.17",
"tsup": "^8.0.2",
"tsup-preset-solid": "^2.2.0",
"typescript": "^5.4.5",
"vite": "^5.2.11",
"vite-plugin-solid": "^2.10.2",
"vitest": "^1.6.0"
},
"browser": {},
"typesVersions": {}
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"prettier": "@tsparticles/prettier-config",
"scripts": {
"check": "tsc",
"build": "pnpm run prettify && pnpm run lint && tsup",
"build:ci": "pnpm run prettify:ci && pnpm run lint:ci && tsup",
"test": "concurrently pnpm:test:*",
"test:client": "vitest",
"test:ssr": "pnpm run test:client --mode ssr",
"lint": "concurrently \"pnpm:lint:code --fix\" pnpm:lint:types",
"lint:ci": "concurrently pnpm:lint:code pnpm:lint:types",
"lint:code": "eslint --ignore-path .gitignore --max-warnings 0 src/**/*.{ts,tsx}",
"lint:types": "tsc --noEmit",
"update-deps": "pnpm up -Li",
"prettify": "prettier --write \"src/**/*.{js,ts,json,css,tsx,jsx}\" \"README.md\"",
"prettify:ci": "prettier --check \"src/**/*.{js,ts,json,css,tsx,jsx}\" \"README.md\"",
"prepack": "pnpm build",
"prepublishOnly": "pnpm build"
},
"peerDependencies": {
"@tsparticles/engine": ">=3",
"solid-js": ">=1.0.0"
Comment on lines +128 to +130
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The peer dependency requirement for @tsparticles/engine was tightened to >=3. If this increases the minimum supported engine for existing consumers, it should be treated as a breaking change (or at least called out in release notes/versioning).

Copilot uses AI. Check for mistakes.
},
"devDependencies": {
"@tsparticles/engine": "^3.6.0-beta.0",
"@tsparticles/prettier-config": "^2.1.6",
"@types/node": "^22.7.5",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"concurrently": "^9.0.1",
"esbuild": "^0.24.0",
"esbuild-plugin-solid": "^0.6.0",
"eslint": "^8.57.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-no-only-tests": "^3.3.0",
"jsdom": "^25.0.1",
"prettier": "3.3.3",
"solid-js": "^1.9.1",
"tsup": "^8.3.0",
"tsup-preset-solid": "^2.2.0",
"typescript": "^5.6.2",
"vite": "^5.4.8",
"vite-plugin-solid": "^2.10.2",
"vitest": "^1.6.0"
},
Comment on lines +128 to +153
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Action Required: Update CHANGELOG.md with @tsparticles/engine peer dependency change.

The current CHANGELOG.md does not mention the update to the @tsparticles/engine peer dependency requiring version >=3. Please add this information to inform users of the potential breaking change.

🔗 Analysis chain

Approved: Dependencies updated and comprehensive scripts retained.

The updates to peer and dev dependencies are good for keeping the package current and secure. The scripts cover a wide range of development tasks, which is excellent for maintainability.

However, please note the following:

  1. The peer dependency for @tsparticles/engine has been updated to require version 3 or higher. This change might require users to update their @tsparticles/engine version.

To ensure this change is properly documented, please run the following command:

  1. Consider adding a note in the CHANGELOG.md about this peer dependency update to inform users of potential breaking changes.
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the CHANGELOG.md file mentions the update to @tsparticles/engine peer dependency
grep -i "@tsparticles/engine.*>= *3" CHANGELOG.md || echo "Warning: CHANGELOG.md may need to be updated to mention the new @tsparticles/engine peer dependency requirement."

Length of output: 286

"browser": {},
"typesVersions": {}
}
1 change: 0 additions & 1 deletion components/solid/src/IParticlesProps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ export interface IParticlesProps {
height?: string;
options?: ISourceOptions;
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The params?: ISourceOptions prop was removed from the public IParticlesProps interface. This is a breaking API change for downstream users; either keep params as a deprecated alias (and update runtime handling accordingly) or ensure the release versioning reflects a breaking change.

Suggested change
options?: ISourceOptions;
options?: ISourceOptions;
/**
* @deprecated Use `options` instead.
*/
params?: ISourceOptions;

Copilot uses AI. Check for mistakes.
url?: string;
params?: ISourceOptions;
style?: JSX.CSSProperties;
class?: string;
canvasClass?: string;
Expand Down
2 changes: 1 addition & 1 deletion components/solid/src/Particles.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const Particles = (props: IParticlesProps): JSX.Element => {
const [container] = createResource(
() => ({
id: config.id,
options: config.params ?? config.options ?? {},
options: config.options ?? {},
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

params support was removed from the runtime options resolution (config.params ?? config.options). This is a breaking change for consumers passing params, and it will silently fall back to {} now. If this is intended for a minor release, consider continuing to accept params as an alias (optionally marking it deprecated) or bumping the major version accordingly.

Suggested change
options: config.options ?? {},
options: config.params ?? config.options ?? {},

Copilot uses AI. Check for mistakes.
url: config.url,
}),
data => tsParticles.load(data),
Expand Down
Loading
Loading