Skip to content

3.1.0#41

Open
matteobruni wants to merge 7 commits intomainfrom
dev
Open

3.1.0#41
matteobruni wants to merge 7 commits intomainfrom
dev

Conversation

@matteobruni
Copy link
Contributor

@matteobruni matteobruni commented Oct 7, 2024

Summary by CodeRabbit

  • New Features

    • README badges reorganized; Slack badge removed for a cleaner layout.
    • Package metadata enhanced with additional publishing and support fields.
  • Bug Fixes

    • Fixed a stray quotation in the Product Hunt badge link.
    • Removed a deprecated "params" option from the Solid component interface.
  • Chores

    • Updated multiple dependency versions across packages.
    • Renovate configured to target the dev base branch.

@coderabbitai
Copy link

coderabbitai bot commented Oct 7, 2024

📝 Walkthrough

Walkthrough

Multiple README badge reorderings/removals and dependency/version metadata updates across Solid-related packages; package.json files gain metadata fields; a props property and its fallback usage were removed from the Solid Particles component; CI and Renovate config edits were added.

Changes

Cohort / File(s) Summary
Docs / READMEs
README.md, components/solid/README.md
Reordered community badges, removed Slack badge, minor Product Hunt link quote fix.
apps: Solid app package
apps/solid/package.json
Bumped devDependencies and dependencies (Solid, Vite, TypeScript, vite-plugin-solid, solid-devtools, tsparticles packages).
components: Solid package metadata
components/solid/package.json
Added files, bugs, repository, funding, keywords, exports; bumped peer/dev dependencies (@tsparticles/engine >=3 and ^3.6.0-beta.0) and other versions.
components: API/type changes
components/solid/src/IParticlesProps.ts
Removed params?: ISourceOptions property from IParticlesProps interface.
components: Particles implementation
components/solid/src/Particles.tsx
Removed fallback to config.params when resolving options, now uses config.options ?? {} only.
components: Engine init
components/solid/src/index.tsx
Cosmetic/formatting adjustments in initParticlesEngine; exported API unchanged.
Workspace package
package.json
Bumped tooling versions: @commitlint/cli, @commitlint/config-conventional, husky, lerna.
Tooling / config
renovate.json, .github/workflows/nodejs.yml
Added baseBranches: ["dev"] to Renovate; replaced pnpm install --no-frozen-lockfile with pnpm install in CI steps.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • Modern solid #34 — Related Solid component changes: touches Particles props/packaging and dependency updates similar to this PR.

Suggested labels

size/XXL

Poem

🐰
I hopped through badges, tidy and spry,
Moved Discord, Telegram—Slack said goodbye.
I nudged some versions, cleared a prop’s lane,
CI and renovate hopped in the train.
A tiny rabbit clap—code fresh again! 🥕

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title '3.1.0' is a version number only, lacking any meaningful description of the actual changes made in the pull request. Replace the title with a descriptive summary of the main changes, such as 'Update dependencies and package configuration for v3.1.0' or similar, to clearly communicate the changeset's purpose.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 621bcb4 and 524d62b.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (9)
  • README.md (1 hunks)
  • apps/solid/package.json (1 hunks)
  • components/solid/README.md (1 hunks)
  • components/solid/package.json (1 hunks)
  • components/solid/src/IParticlesProps.ts (0 hunks)
  • components/solid/src/Particles.tsx (1 hunks)
  • components/solid/src/index.tsx (1 hunks)
  • package.json (1 hunks)
  • renovate.json (1 hunks)
💤 Files with no reviewable changes (1)
  • components/solid/src/IParticlesProps.ts
✅ Files skipped from review due to trivial changes (5)
  • README.md
  • components/solid/README.md
  • components/solid/src/index.tsx
  • package.json
  • renovate.json
🧰 Additional context used
🔇 Additional comments (9)
apps/solid/package.json (2)

19-23: ⚠️ Potential issue

Caution: Beta versions and version inconsistencies in dependencies.

The updates to dependencies introduce some potential risks:

  • @tsparticles/configs and @tsparticles/engine are updated to beta versions (^3.6.0-beta.0).
  • solid-js is updated from ^1.8.11 to ^1.9.1, which is a minor version update.
  • tsparticles remains at ^3.5.0, which is inconsistent with the other tsparticles packages.

Consider the following recommendations:

  1. Be cautious when using beta versions in production. Ensure thorough testing is performed.
  2. Align all tsparticles packages to the same version to avoid potential compatibility issues.
  3. Update tsparticles to ^3.6.0-beta.0 to match the other tsparticles packages.

To check for any known issues or breaking changes in the beta versions, run the following script:


13-16: Approved: DevDependencies version updates look good.

The updates to devDependencies seem appropriate:

  • solid-devtools: ^0.29.2 → ^0.30.1
  • typescript: ^5.3.3 → ^5.6.2
  • vite: ^5.0.11 → ^5.4.8
  • vite-plugin-solid: ^2.8.2 → ^2.10.2

These are minor version updates, which should maintain backwards compatibility. However, the TypeScript and Vite updates are more significant.

To ensure there are no breaking changes, please review the changelogs for these packages, especially for TypeScript and Vite. You may also want to run your test suite to catch any potential issues. Here's a script to fetch the latest changelogs:

components/solid/src/Particles.tsx (1)

15-15: Approve simplification, but verify removal of config.params

The simplification of the options assignment is a good change. However, we need to ensure that the removal of config.params is intentional and consistent with the rest of the project.

  1. Please confirm that config.params was intentionally removed from the IParticlesProps interface.
  2. Consider adding a comment explaining why config.params was removed to prevent future confusion.

Let's check for consistency across the project:

This script will help us verify if config.params is still used elsewhere in the project and locate the IParticlesProps interface definition for further investigation.

✅ Verification successful

Approved Simplification: config.params Removal Verified

The removal of config.params from the options assignment is intentional and does not impact other parts of the codebase.

  • Verified that config.params is not used elsewhere in the project.
  • Confirmed that IParticlesProps interface has been updated accordingly.
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for usage of config.params in other files

# Search for config.params in TypeScript and JavaScript files
echo "Searching for config.params usage:"
rg --type-add 'script:*.{ts,tsx,js,jsx}' -t script 'config\.params'

# Search for IParticlesProps interface definition
echo "\nSearching for IParticlesProps interface definition:"
rg --type-add 'script:*.{ts,tsx}' -t script 'interface\s+IParticlesProps'

Length of output: 416

components/solid/package.json (6)

2-14: LGTM: Package information is well-defined and comprehensive.

The basic package information is correctly specified, including name, version, description, license, author, and homepage. The main, module, and types fields are properly set, and the publishConfig ensures public access. The description effectively communicates the package's purpose and compatibility.


15-17: Good addition: "files" field explicitly defines package contents.

The addition of the "files" field specifying only the "dist" directory is a good practice. It ensures that only the necessary production files are included in the published package, keeping it lightweight and focused.


18-25: Excellent: Added "bugs" and "repository" fields enhance package metadata.

The addition of "bugs" and "repository" fields provides valuable information for users and potential contributors. The URLs point to the correct GitHub repository, and the inclusion of the directory information in the repository field is particularly helpful for monorepo setups.


26-39: Great addition: "funding" field supports open-source sustainability.

The inclusion of the "funding" field with multiple options (GitHub Sponsors for both the author and the project, and Buy Me a Coffee) is an excellent way to support the ongoing development of this open-source project. It provides users with flexible options to contribute financially.


40-93: Excellent: Comprehensive "keywords" improve package discoverability.

The addition of an extensive and relevant list of keywords will significantly enhance the package's discoverability on npm. The keywords cover a wide range of related technologies, frameworks, and concepts, accurately representing the package's scope and potential use cases.


94-109: Well structured: "exports" field enhances module resolution and TypeScript support.

The "exports" field is well-structured, providing separate entry points for development and production builds, as well as type definitions. This setup supports modern module resolution in various environments and improves TypeScript integration. The clear separation between development and production builds is a good practice for optimizing performance in different scenarios.

Comment on lines +128 to +153
"peerDependencies": {
"@tsparticles/engine": ">=3",
"solid-js": ">=1.0.0"
},
"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"
},
Copy link

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

@ralphsmith80
Copy link
Contributor

ralphsmith80 commented Oct 24, 2024

@matteobruni are you waiting for other things before merging this? I'd like to pull the pull the updates for a project I'm working on. I'm guessing this is the PR that will get it published to npm.

@matteobruni
Copy link
Contributor Author

@matteobruni are you waiting for other things before merging this? I'd like to pull the pull the updates for a project I'm working on. I'm guessing this is the PR that will get it published to npm.

yep I'm working on this tsparticles/tsparticles#5404
I'd like to release this first, then merge to see if everything works

@franciscomerdot
Copy link

franciscomerdot commented Mar 22, 2025

Hi, what is missing here? The current npm distribution is missing types, and I can not make it work, but I hope this PR fixes the issues.

Copilot AI review requested due to automatic review settings February 2, 2026 11:24
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR appears to prepare a new release (titled 3.1.0) by updating Renovate configuration, refreshing dependencies, and adjusting the Solid component’s public API/docs.

Changes:

  • Configure Renovate to target the dev base branch.
  • Update workspace dependencies/lockfile (commitlint, husky, lerna, Solid/Vite toolchain, etc.).
  • Update Solid component API by removing the params prop and simplifying options handling; adjust READMEs/badges and CI install behavior.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
renovate.json Adds baseBranches: ["dev"] to Renovate config.
pnpm-lock.yaml Large dependency refresh aligned with updated package manifests.
package.json Bumps repo tool dependencies (commitlint/husky/lerna).
components/solid/src/index.tsx Formatting-only adjustment around initParticlesEngine.
components/solid/src/Particles.tsx Removes runtime support for params and uses only options.
components/solid/src/IParticlesProps.ts Removes the params prop from the public interface.
components/solid/package.json Reformat + metadata fields + peer/dev dependency updates.
components/solid/README.md Updates community badges layout/links.
apps/solid/package.json Updates demo app deps and toolchain versions.
README.md Updates community badges layout/links.
.github/workflows/nodejs.yml Switches CI install to pnpm install (no --no-frozen-lockfile).
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

() => ({
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.
@@ -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.
"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.
Comment on lines +128 to +130
"peerDependencies": {
"@tsparticles/engine": ">=3",
"solid-js": ">=1.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.

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants