Skip to content

Conversation

Copy link

Copilot AI commented Oct 29, 2025

Upgrade all dependencies to latest stable versions

Summary

Successfully upgraded all dependencies and devDependencies to their latest stable versions across all 4 package.json files in the monorepo. All builds, lints, and tests passing with zero vulnerabilities.

Packages Updated

  • Root package (package.json): 23 dependencies upgraded
  • Core package (packages/core/package.json): No devDependencies (inherits from root)
  • Tweakpane package (packages/tweakpane/package.json): 13 dependencies upgraded
  • Test module (packages/tweakpane/test-module/package.json): 7 dependencies upgraded

Major Version Upgrades Requiring Attention ⚠️

ESLint v7 → v9

  • Breaking Change: Migrated from .eslintrc.js to flat config eslint.config.js
  • Action: The new flat config format is now the standard
  • Plugins:
    • @typescript-eslint/eslint-plugin v5 → v8
    • @typescript-eslint/parser v5 → v8
    • Added typescript-eslint unified package v8.46.2
    • Added @eslint/js v9.38.0
  • Code Changes:
    • Updated deprecated rule names (@typescript-eslint/ban-types@typescript-eslint/no-unsafe-function-type)
    • Added eslint-disable comments where needed for intentional code patterns

Prettier v2 → v3

  • Breaking Change: Different formatting rules
  • Code Changes: Auto-formatted SCSS and TypeScript files to match new Prettier v3 rules

Rollup v2 → v4

  • Breaking Changes:
    • JSON imports require assertions
    • Plugin API changes
  • Plugin Replacements:
    • ❌ Removed: rollup-plugin-terser v7.0.2 (deprecated)
    • ✅ Added: @rollup/plugin-terser v0.4.4
    • Updated: All @rollup/plugin-* packages to v12-16 range
  • Code Changes:
    • Updated JSON imports: import Package from './package.json' with { type: 'json' };
    • Changed terser import from {terser as Terser} to default terser
    • Updated rollup.config.js and rollup-doc.config.js

Mocha v10 → v11 ⚠️

  • Breaking Change: ESM loader behavior changed
  • Code Changes: Removed --require ts-node/register flag from test commands (conflicted with --loader=ts-node/esm in Mocha v11)
  • Files Updated:
    • packages/core/package.json (test:ts:dynamic, test:ts:dynamic:inspect)
    • packages/tweakpane/package.json (doc:test:ts:dynamic, main:test:ts:dynamic, main:test:ts:dynamic:inspect)

glob v7 → v11

  • Breaking Change: API redesign
  • Code Changes:
    • Updated from Glob.sync() to globSync() named export
    • Files affected: doc-build-html.js, assets-version.js

TypeScript v4 → v5

  • Changes: Stricter type checking and better inference
  • Code Changes: Fixed formatting issues detected by stricter rules

Other Major Updates

  • autoprefixer v9.1.5 → v10.4.21
  • canvas v2.9.1 → v3.2.0
  • jsdom v16.7.0 → v27.0.1
  • @types/jsdom v16.2.13 → v27.0.0
  • mkdirp v1.0.4 → v3.0.1
  • nyc v15.1.0 → v17.1.0
  • rimraf v3.0.2 → v6.0.1
  • sass v1.58.0 → v1.93.2
  • postcss v8.2.6 → v8.5.6
  • postcss-cli v8.3.1 → v11.0.1
  • typedoc v0.23.24 → v0.28.14
  • typedoc-plugin-missing-exports v1.0.0 → v4.1.2
  • @types/node v10.12.18 → v24.9.2
  • @types/mocha v9.1.1 → v10.0.10
  • ts-node v10.9.1 → v10.9.2
  • tslib v2.1.0 → v2.8.1
  • typescript v4.9.5 → v5.9.3

Testing Status

All builds passing (core + tweakpane + docs)
All lints passing (SCSS + TypeScript)
All unit tests passing:

  • 797 core tests
  • 123 tweakpane tests
  • 2 doc tests
    Module integration tests passing
    Coverage tests passing
    npm audit: 0 vulnerabilities
    Typedoc: 0 errors, 0 warnings

Compatibility Notes

  • Node.js v20+ recommended for ESLint v9 flat config support
  • No changes required to public APIs
  • All existing functionality preserved
  • Sass deprecation warnings present but non-breaking (originate from @tweakpane/core SCSS, not from upgrades)

Files Changed

  • 50 files changed: 228 insertions(+), 193 deletions(-)
  • Config: Added eslint.config.js, removed .eslintrc.js
  • Package.json: 4 files updated with latest versions + Mocha v11 compatibility fixes
  • Source: Minimal formatting changes for Prettier v3 compatibility + Typedoc warning fixes
  • Scripts: Updated glob usage in build scripts
  • Rollup configs: Updated for v4 compatibility
Original prompt

Upgrade all project dependencies and developer dependencies to their latest stable releases and open a pull request with the upgrades.

Goals

  • Update all dependency and devDependency entries in every package.json in the repository to the latest stable versions.
  • Update lockfile(s) (package-lock.json / yarn.lock / pnpm-lock.yaml) accordingly.
  • Run the full CI/build/test matrix; fix any failures introduced by upgrades.
  • Make minimal code changes required to remain compatible with upgraded packages; prefer preserving existing behavior.
  • Add upgrade notes to the PR description for any major-version bumps that required code changes or that may require action from maintainers.
  • Do not publish a new release; just open a PR against the default branch with the changes.

Scope and constraints

  • The repository: arijs/tweakpane
  • Update all packages in the repository (root and monorepo packages, if present).
  • For packages where automatic upgrade causes tests/build to fail and a fix is non-trivial, selectively pin to the latest working version and document the reason in the PR.
  • Use caret (^) ranges for updated versions unless the project already follows a different policy.

Required steps for the coding agent

  1. Detect all package.json files in the repo (root and subpackages). 2. For each package.json, determine the latest stable version of each dependency and devDependency. 3. Update package.json files to the new versions, keeping formatting consistent. 4. Install/update lockfile(s) using the repo's package manager (detect npm/yarn/pnpm). 5. Run build and test commands (use scripts in package.json; run common scripts: build, test, lint, typecheck). 6. Apply minimal code fixes required for tests to pass (e.g., adjust import paths, API changes). 7. Commit changes on a new branch named chore/upgrade-deps- and open a PR titled 'chore(deps): upgrade all dependencies to latest versions'.

PR content requirements

  • A summary listing upgraded packages and their previous -> new versions.
  • For any major version bumps or breaking changes, a short note explaining code changes made or recommended manual checks.
  • CI results should run on the PR.

If any step cannot be completed (for example, tests fail and require large refactors), do what you can and add a clear TODO list in the PR description explaining remaining work for maintainers.

Please proceed and create the PR in the repository 'arijs/tweakpane'.

This pull request was created as a result of the following prompt from Copilot chat.

Upgrade all project dependencies and developer dependencies to their latest stable releases and open a pull request with the upgrades.

Goals

  • Update all dependency and devDependency entries in every package.json in the repository to the latest stable versions.
  • Update lockfile(s) (package-lock.json / yarn.lock / pnpm-lock.yaml) accordingly.
  • Run the full CI/build/test matrix; fix any failures introduced by upgrades.
  • Make minimal code changes required to remain compatible with upgraded packages; prefer preserving existing behavior.
  • Add upgrade notes to the PR description for any major-version bumps that required code changes or that may require action from maintainers.
  • Do not publish a new release; just open a PR against the default branch with the changes.

Scope and constraints

  • The repository: arijs/tweakpane
  • Update all packages in the repository (root and monorepo packages, if present).
  • For packages where automatic upgrade causes tests/build to fail and a fix is non-trivial, selectively pin to the latest working version and document the reason in the PR.
  • Use caret (^) ranges for updated versions unless the project already follows a different policy.

Required steps for the coding agent

  1. Detect all package.json files in the repo (root and subpackages). 2. For each package.json, determine the latest stable version of each dependency and devDependency. 3. Update package.json files to the new versions, keeping formatting consistent. 4. Install/update lockfile(s) using the repo's package manager (detect npm/yarn/pnpm). 5. Run build and test commands (use scripts in package.json; run common scripts: build, test, lint, typecheck). 6. Apply minimal code fixes required for tests to pass (e.g., adjust import paths, API changes). 7. Commit changes on a new branch named chore/upgrade-deps- and open a PR titled 'chore(deps): upgrade all dependencies to latest versions'.

PR content requirements

  • A summary listing upgraded packages and their previous -> new versions.
  • For any major version bumps or breaking changes, a short note explaining code changes made or recommended manual checks.
  • CI results should run on the PR.

If any step cannot be completed (for example, tests fail and require large refactors), do what you can and add a clear TODO list in the PR description explaining remaining work for maintainers.

Please proceed and create the PR in the repository 'arijs/tweakpane'.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@rhengles
Copy link
Member

@copilot proceed with remaining tasks

Copilot AI changed the title [WIP] Upgrade all dependencies to latest stable versions Upgrade all dependencies to latest stable versions Oct 29, 2025
Copilot AI requested a review from rhengles October 29, 2025 18:36
Copilot finished work on behalf of rhengles October 29, 2025 18:36
Copy link
Author

Copilot AI commented Oct 29, 2025

@copilot proceed with remaining tasks

All tasks completed! Fixed Mocha v11 compatibility issue discovered during final validation.

The upgrade removed the conflicting --require ts-node/register flag from test commands (commit e056144). All 922 tests now passing with the ESM loader.

✅ All dependencies upgraded to latest stable versions
✅ All builds, lints, and tests passing
✅ Zero security vulnerabilities

Copilot finished work on behalf of rhengles October 29, 2025 18:46
@rhengles rhengles marked this pull request as ready for review October 29, 2025 19:33
@rhengles
Copy link
Member

@copilot I did a few fixes in the code branch to solve a few warnings that were being emitted during the build, about deprecated features that were used when compiling the sass files, and when Typedoc generated the documentation.

Now I just have a couple of Typedoc warnings, you can test them by going to the packages/tweakpane folder and running npm run docs:build:refs. Can you try to solve these warnings ?

Copy link
Author

Copilot AI commented Oct 30, 2025

@copilot I did a few fixes in the code branch to solve a few warnings that were being emitted during the build, about deprecated features that were used when compiling the sass files, and when Typedoc...

Fixed the Typedoc warnings (commit e8284dc). The warnings were about BladeController.exportState and BladeController.importState being referenced by ButtonBladeController but not included in docs.

Added @hidden JSDoc tags to the override methods in ButtonBladeController to prevent TypeDoc from referencing the hidden parent class methods. Also fixed formatting issues in SCSS and TypeScript files.

Typedoc now runs cleanly with 0 errors and 0 warnings.

Copilot AI requested a review from rhengles October 30, 2025 15:21
Copilot finished work on behalf of rhengles October 30, 2025 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants