Skip to content

Conversation

@matteobruni
Copy link
Contributor

@matteobruni matteobruni commented Dec 20, 2025

Summary by CodeRabbit

  • New Features

    • Expanded public API for webpack integration with additional export functions.
  • Chores

    • Updated development dependencies across the monorepo (Lerna, Nx, TypeScript, ESLint, Prettier, Webpack, and related packages).
    • Bumped package versions to 3.0.6.
    • Modernized TypeScript module resolution and compilation target configurations.

✏️ Tip: You can customize this high-level summary in your review settings.

Copilot AI review requested due to automatic review settings December 20, 2025 17:40
@coderabbitai
Copy link

coderabbitai bot commented Dec 20, 2025

Caution

Review failed

The pull request is closed.

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

This PR performs a coordinated version bump to 3.0.6 across the monorepo, updates numerous devDependencies (Lerna 8.x→9.x, Nx 19.x→22.x, TypeScript, ESLint ecosystem packages), updates TypeScript configurations to use NodeNext module resolution strategy, adds explicit .js file extensions to ES module imports throughout the webpack-config package, and expands the public export API in the main webpack-tsparticles entry point.

Changes

Cohort / File(s) Summary
Monorepo root version & dependency updates
CHANGELOG.md, lerna.json, package.json
Added CHANGELOG entry for 3.0.6; bumped Lerna version from 3.0.3 to 3.0.6; upgraded devDependencies: Lerna ^8.2.3→^9.0.3, Nx 19.8.4→^22.3.3, TypeScript ^5.9.2→^5.9.3.
ESLint config package updates
packages/eslint-config/CHANGELOG.md, packages/eslint-config/package.json, packages/eslint-config/tsconfig.json
Added CHANGELOG entries for 3.0.6 and 3.0.5; bumped version to 3.0.6; updated 10 devDependencies (ESLint, @stylistic, @tsparticles packages, TypeScript, etc.); changed TypeScript compiler options from ESNext/Bundler to NodeNext module resolution.
Prettier config package updates
packages/prettier-config/CHANGELOG.md, packages/prettier-config/package.json
Added CHANGELOG entry for 3.0.6; bumped version from 3.0.1 to 3.0.6; updated Prettier ^3.6.2→^3.7.4 and prettier-plugin-multiline-arrays ^4.0.3→4.1.1.
TypeScript config package updates
packages/tsconfig/CHANGELOG.md, packages/tsconfig/package.json, packages/tsconfig/tsconfig.base.json, packages/tsconfig/tsconfig.browser.json, packages/tsconfig/tsconfig.json, packages/tsconfig/tsconfig.module.json, packages/tsconfig/tsconfig.types.json, packages/tsconfig/tsconfig.umd.json
Added CHANGELOG entry for 3.0.6; bumped version to 3.0.6; updated TypeScript ^5.9.2→^5.9.3; updated module resolution to NodeNext across multiple tsconfig variants; added ES2024 to lib array; added explicit moduleResolution to browser, module, types, and umd configs.
Webpack config package updates
packages/webpack-config/CHANGELOG.md, packages/webpack-config/eslint.config.js, packages/webpack-config/package.json, packages/webpack-config/tsconfig.json
Added CHANGELOG entries for 3.0.6 and 3.0.5; added trailing newline to eslint.config.js; bumped version to 3.0.6; updated 20+ devDependencies (Babel, ESLint, TypeScript, Webpack, plugins); changed TypeScript module from es2015→NodeNext and moduleResolution from node→NodeNext; updated lib to include ES2024.
Webpack config ES module imports (.js extensions)
packages/webpack-config/src/bundles/buildBundle.ts, packages/webpack-config/src/common/getConfig.ts, packages/webpack-config/src/common/getExternals.ts, packages/webpack-config/src/effects/buildEffect.ts, packages/webpack-config/src/engine/buildEngine.ts, packages/webpack-config/src/interactions/buildInteraction.ts, packages/webpack-config/src/interactions/external/buildInteractionExternal.ts, packages/webpack-config/src/interactions/particles/buildInteractionParticles.ts, packages/webpack-config/src/moves/buildMove.ts, packages/webpack-config/src/paths/buildPath.ts, packages/webpack-config/src/plugins/buildPlugin.ts, packages/webpack-config/src/plugins/easings/buildEasing.ts, packages/webpack-config/src/plugins/emittersShapes/buildEmittersShape.ts, packages/webpack-config/src/plugins/exports/buildExport.ts, packages/webpack-config/src/presets/buildPreset.ts, packages/webpack-config/src/shapes/buildShape.ts, packages/webpack-config/src/templates/buildTemplate.ts, packages/webpack-config/src/updaters/buildUpdater.ts
Updated all import paths to include explicit .js extensions for ExternalData and getConfig modules, aligning with ES module resolution requirements.
Webpack-tsparticles main entry point
packages/webpack-config/src/webpack-tsparticles.ts
Updated all internal imports to use .js extensions; expanded public API exports to include 16 loadParticles* symbols (previously only exported loadParticlesBundle).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Areas requiring extra attention:
    • Verify TypeScript configuration changes (NodeNext module resolution, ES2024 additions) are compatible across all packages and build tooling
    • Review Lerna 8→9 and Nx 19→22 major version upgrade compatibility; confirm no breaking changes impact the monorepo setup
    • Spot-check that all .js extension additions in webpack-config imports are consistent and complete (18 files modified with same pattern)
    • Validate webpack-tsparticles public API expansion: ensure all 16 exported symbols are necessary and correctly mapped to their source modules
    • Confirm dependency version upgrades (ESLint, Prettier, TypeScript ecosystem) don't introduce breaking changes in configurations

Possibly related PRs

  • Updated deps #49: Overlapping changes to package manifests and TypeScript configuration files across the packages/* directories.

Suggested labels

size/XL


🐰 Bouncing through versions with glee,
Point-zero-six, as it ought to be!
Extensions on imports, configs so bright,
NodeNext modules make everything right.
Dependencies dance to a newer tune,
The monorepo blooms like a tsparticles moon! 🌙✨

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

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 44525bc and 1aa72a5.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (39)
  • CHANGELOG.md (1 hunks)
  • lerna.json (1 hunks)
  • package.json (1 hunks)
  • packages/eslint-config/CHANGELOG.md (1 hunks)
  • packages/eslint-config/package.json (2 hunks)
  • packages/eslint-config/tsconfig.json (1 hunks)
  • packages/prettier-config/CHANGELOG.md (1 hunks)
  • packages/prettier-config/package.json (2 hunks)
  • packages/tsconfig/CHANGELOG.md (1 hunks)
  • packages/tsconfig/package.json (1 hunks)
  • packages/tsconfig/tsconfig.base.json (3 hunks)
  • packages/tsconfig/tsconfig.browser.json (1 hunks)
  • packages/tsconfig/tsconfig.json (1 hunks)
  • packages/tsconfig/tsconfig.module.json (1 hunks)
  • packages/tsconfig/tsconfig.types.json (1 hunks)
  • packages/tsconfig/tsconfig.umd.json (1 hunks)
  • packages/webpack-config/CHANGELOG.md (1 hunks)
  • packages/webpack-config/eslint.config.js (1 hunks)
  • packages/webpack-config/package.json (2 hunks)
  • packages/webpack-config/src/bundles/buildBundle.ts (1 hunks)
  • packages/webpack-config/src/common/getConfig.ts (1 hunks)
  • packages/webpack-config/src/common/getExternals.ts (1 hunks)
  • packages/webpack-config/src/effects/buildEffect.ts (1 hunks)
  • packages/webpack-config/src/engine/buildEngine.ts (1 hunks)
  • packages/webpack-config/src/interactions/buildInteraction.ts (1 hunks)
  • packages/webpack-config/src/interactions/external/buildInteractionExternal.ts (1 hunks)
  • packages/webpack-config/src/interactions/particles/buildInteractionParticles.ts (1 hunks)
  • packages/webpack-config/src/moves/buildMove.ts (1 hunks)
  • packages/webpack-config/src/paths/buildPath.ts (1 hunks)
  • packages/webpack-config/src/plugins/buildPlugin.ts (1 hunks)
  • packages/webpack-config/src/plugins/easings/buildEasing.ts (1 hunks)
  • packages/webpack-config/src/plugins/emittersShapes/buildEmittersShape.ts (1 hunks)
  • packages/webpack-config/src/plugins/exports/buildExport.ts (1 hunks)
  • packages/webpack-config/src/presets/buildPreset.ts (1 hunks)
  • packages/webpack-config/src/shapes/buildShape.ts (1 hunks)
  • packages/webpack-config/src/templates/buildTemplate.ts (1 hunks)
  • packages/webpack-config/src/updaters/buildUpdater.ts (1 hunks)
  • packages/webpack-config/src/webpack-tsparticles.ts (1 hunks)
  • packages/webpack-config/tsconfig.json (2 hunks)

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.

@matteobruni matteobruni merged commit f6ea9a6 into main Dec 20, 2025
5 checks passed
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 bumps the version from 3.0.3 to 3.0.6 for the tsparticles-utils monorepo packages. The main changes modernize TypeScript module configuration and align import statements with ES module standards.

  • Updates TypeScript module resolution from "node"/"Node16" to "NodeNext" across multiple packages
  • Adds explicit .js file extensions to all relative imports to comply with ES module requirements
  • Updates multiple dependencies to their latest versions across the monorepo

Reviewed changes

Copilot reviewed 38 out of 40 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/webpack-config/tsconfig.json Updates module system from "es2015" to "NodeNext" and adds ES2024/ES2023 to lib array
packages/webpack-config/src/**/*.ts Adds .js extensions to all import statements for ES module compliance
packages/webpack-config/package.json Version bump to 3.0.6 and updates multiple dependencies
packages/webpack-config/CHANGELOG.md Adds changelog entries for versions 3.0.5 and 3.0.6
packages/tsconfig/tsconfig*.json Updates module resolution strategies across different build targets
packages/tsconfig/package.json Version bump to 3.0.6 and TypeScript version update
packages/tsconfig/CHANGELOG.md Adds changelog entries for versions 3.0.4, 3.0.5, and 3.0.6
packages/prettier-config/package.json Version bump to 3.0.6 and dependency updates
packages/prettier-config/CHANGELOG.md Adds changelog entry for version 3.0.6
packages/eslint-config/tsconfig.json Changes module resolution from "Bundler" to "NodeNext"
packages/eslint-config/package.json Version bump to 3.0.6 and updates multiple development dependencies
packages/eslint-config/CHANGELOG.md Adds changelog entries for versions 3.0.5 and 3.0.6
package.json Updates root-level dependencies (lerna, nx, typescript)
lerna.json Updates monorepo version to 3.0.6
CHANGELOG.md Adds root changelog entries for versions 3.0.4, 3.0.5, and 3.0.6

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

"module": "Node16",
"moduleResolution": "Node16"
"module": "NodeNext",
"moduleResolution": "NodeNext",
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

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

Trailing comma added after the last property in the compilerOptions object. This could cause issues with strict JSON parsers, though most modern TypeScript tooling accepts it. For consistency with JSON standards and to avoid potential parsing issues in some tools, consider removing the trailing comma.

Suggested change
"moduleResolution": "NodeNext",
"moduleResolution": "NodeNext"

Copilot uses AI. Check for mistakes.
"ES2015",
"ES5",
"DOM"
"DOM",
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

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

Trailing comma added after "DOM" in the lib array. While TypeScript accepts this, for consistency with JSON standards and to avoid potential parsing issues in some tools, consider removing the trailing comma.

Suggested change
"DOM",
"DOM"

Copilot uses AI. Check for mistakes.
"compilerOptions": {
"module": "ESNext"
"module": "ESNext",
"moduleResolution": "Node",
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

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

Trailing comma added after the last property in the compilerOptions object. For consistency with JSON standards and to avoid potential parsing issues in some tools, consider removing the trailing comma.

Suggested change
"moduleResolution": "Node",
"moduleResolution": "Node"

Copilot uses AI. Check for mistakes.
"compilerOptions": {
"module": "UMD"
"module": "UMD",
"moduleResolution": "Node"
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

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

The moduleResolution is set to "Node" while other tsconfig files in the package are being updated to use "NodeNext" (see packages/tsconfig/tsconfig.json and packages/tsconfig/tsconfig.base.json). For consistency and to align with modern Node.js module resolution, consider using "NodeNext" instead of "Node" unless there's a specific reason to use the older resolution strategy for UMD builds.

Suggested change
"moduleResolution": "Node"
"moduleResolution": "NodeNext"

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.

2 participants