Preparing tsParticles v3
Tags: javascript, typescript, webdev, showdev
Published: 2023-01-10 19:55:36

I'm preparing [tsParticles](https://github.com/matteobruni/tsparticles) version 3, and some breaking changes will come.

It's expected to have breaking changes between major releases, but this time I want to start talking about them before the final release.

## What's the difference between v2 and v3?

The main difference between v2 and v3 is the package naming system. Instead of the generic `tsparticles-` prefix, the official packages will be part of the [@tsparticles](https://www.npmjs.com/org/tsparticles) organization.

Every package, except `tsparticles` and the existing `@tsparticles/` packages, will change the name, and all the older ones will be deprecated after `3.1` will come out (I don't know when it will happen, `3.0` is still not ready).

Maybe other changes will occur, but nothing breaking yet.

## The new repositories

Since this naming is a huge change, I decided also to split the mono repository. A 100+ project mono repository is too big, and the maintainability is not the best.

Everyone that want to help on the React (for example) component had to figure out how to build this massive project, and this is not helping newcomers to join the project.

Now every front end framework has its own repository, the full list here:

- Angular (`@tsparticles/angular`): https://github.com/tsparticles/angular
- Ember (`@tsparticles/ember`): https://github.com/tsparticles/ember
- Inferno (`@tsparticles/inferno`): https://github.com/tsparticles/inferno
- jQuery (`@tsparticles/jquery`): https://github.com/tsparticles/jquery
- Lit (`@tsparticles/lit`): https://github.com/tsparticles/lit
- Preact (`@tsparticles/preact`): https://github.com/tsparticles/preact
- React (`@tsparticles/react`): https://github.com/tsparticles/react
- Riot (`@tsparticles/riot`): https://github.com/tsparticles/riot
- Solid (`@tsparticles/solid`): https://github.com/tsparticles/solid
- Svelte (`@tsparticles/svelte`): https://github.com/tsparticles/
- Vue.js 2.x (`@tsparticles/vue2`): https://github.com/tsparticles/vue2
- Vue.js 3.x (`@tsparticles/vue3`): https://github.com/tsparticles/vue3
- Web Components (`@tsparticles/webcomponents`): https://github.com/tsparticles/webcomponents
- WordPress (`@tsparticles/wordpress`): https://github.com/tsparticles/wordpress

Vue 2.x and Vue 3.x are separated because Vue 2.x is completely different from Vue 3.x, and that's why I decided to use two different repositories.

Everyone is welcome to contribute to them now, and it's easier to give them support for starting contributing.

For the creative people, also the presets now have a new repository:

- https://github.com/tsparticles/presets

It's easier to find presets, and to start creating a new one without knowing the whole monorepository. You have to deal only with options.

And last but not least, the two websites (https://particles.js.org and https://confetti.js.org) have two dedicated repositories:

- Confetti Website: https://github.com/tsparticles/confetti
- Main Website: https://github.com/tsparticles/website

## The changelog

Since v3 is under development, you can check the PR on GitHub, the changelog there is kept up to date. I'll post updates here too as soon as possible

---

Thanks to everyone that is supporting the project, even only with a star on GitHub, now you have more stars to place 🤩

I'll leave the socials here, so we can keep in touch for any question or help for contributing to tsParticles repositories

---

{% github matteobruni/tsparticles %}

---

- [Discord](https://discord.gg/hACwv45Hme)
- [Slack](https://join.slack.com/t/tsparticles/shared_invite/enQtOTcxNTQxNjQ4NzkxLWE2MTZhZWExMWRmOWI5MTMxNjczOGE1Yjk0MjViYjdkYTUzODM3OTc5MGQ5MjFlODc4MzE0N2Q1OWQxZDc1YzI)
- [WhatsApp](https://chat.whatsapp.com/KQyHc9UEbRc2qlqNQR2J5c)
- [Telegram](https://t.me/tsparticles)
- [Reddit](https://www.reddit.com/r/tsParticles/)