Skip to content

build(dev-deps): replace monolithic Lerna with lightweight @lerna-lite#37222

Open
hainenber wants to merge 19 commits into
masterfrom
feat/use-lerna-lite
Open

build(dev-deps): replace monolithic Lerna with lightweight @lerna-lite#37222
hainenber wants to merge 19 commits into
masterfrom
feat/use-lerna-lite

Conversation

@hainenber

@hainenber hainenber commented Jan 17, 2026

Copy link
Copy Markdown
Contributor

User description

build(dev-deps): replace monolithic Lerna with lightweight @lerna-lite

SUMMARY

This PR is to replace monorepo tooling Lerna with a lightweight alternative, API-compliant and modular @lerna-lite/* packages.

  • @lerna-lite/exec
  • @lerna-lite/version
  • @lerna-lite/publish

Once this PR gets merged, there would be a reduction of approximately 100+ dev deps.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Confirm that npm plugins:create-* commands that utilizes lerna version in dry mode
Screenshot 2026-01-17 at 14 55 27

lerna exec is executed in CI so expect the CI should be green for acceptance criterion.

I might need help with lerna publish though.

TESTING INSTRUCTIONS

For write access maintainers:

  • Run npm run plugins:release-from-tag to test out publishing functionality is still intact.

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

CodeAnt-AI Description

Use lightweight @lerna-lite, improve autogenerated chart names, and fix translated progress messages

What Changed

  • Autogenerated chart names are now more descriptive: they prefer column labels, include dataset name for non-aggregated tables, produce human-friendly phrases (e.g., "Sum(Revenue) Over Time", "Product, Revenue Table", "Orders Records – Region West"), append time-grain or filter context, and truncate long names to 60 characters.
  • Chart creation now generates the final chart name after looking up the dataset so names can include the dataset display name.
  • Unit tests updated to expect the new naming conventions and label precedence.
  • Replaced monolithic Lerna references with @lerna-lite packages in config and dev dependencies, and adjusted build invocation formatting.
  • Fixed multiple translation strings so progress messages use the correct block index placeholder across many locales.
  • Minor UI spacing tweaks: added top padding to south pane tab content and increased vertical gap in result set rows.

Impact

✅ Clearer autogenerated chart names for saved charts
✅ Smaller developer dependency footprint
✅ Accurate "running block" progress messages in multiple locales

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Signed-off-by: hainenber <dotronghai96@gmail.com>
@codeant-ai-for-open-source

Copy link
Copy Markdown
Contributor

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@bito-code-review

bito-code-review Bot commented Jan 17, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #0757c4

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: bb07b24..bb07b24
    • superset-frontend/scripts/build.js
  • Files skipped - 3
    • superset-frontend/lerna.json - Reason: Filter setting
    • superset-frontend/package-lock.json - Reason: Filter setting
    • superset-frontend/package.json - Reason: Filter setting
  • Tools
    • Eslint (Linter) - ✔︎ Successful
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@codeant-ai-for-open-source

Copy link
Copy Markdown
Contributor

CodeAnt AI finished reviewing your PR.

@netlify

netlify Bot commented Jan 17, 2026

Copy link
Copy Markdown

Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit db10b1a
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/6a4a73132a3e3e000867fda6
😎 Deploy Preview https://deploy-preview-37222--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 migrates from the monolithic lerna package to the lightweight, modular @lerna-lite alternative. The migration maintains API compatibility while reducing development dependencies by approximately 100+ packages.

Changes:

  • Replaced lerna with four modular @lerna-lite/* packages (cli, exec, publish, version)
  • Updated lerna.json configuration to use the @lerna-lite schema and removed the deprecated graphType option
  • Improved code formatting in build.js by consolidating a multi-line command string

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
superset-frontend/package.json Replaced monolithic lerna@^8.2.3 with four modular @lerna-lite/*@^4.11.0 packages (cli, exec, publish, version)
superset-frontend/lerna.json Updated schema path to reference @lerna-lite/cli and removed graphType option from publish command configuration
superset-frontend/scripts/build.js Reformatted babel command from multi-line to single-line string for improved readability

Signed-off-by: hainenber <dotronghai96@gmail.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
@codeant-ai-for-open-source codeant-ai-for-open-source Bot added the size:XS This PR changes 0-9 lines, ignoring generated files label Mar 8, 2026
@codeant-ai-for-open-source codeant-ai-for-open-source Bot added size:XS This PR changes 0-9 lines, ignoring generated files and removed size:XS This PR changes 0-9 lines, ignoring generated files labels Mar 10, 2026
@hainenber

Copy link
Copy Markdown
Contributor Author

@rusackas can this be the interim solution until we can go for Bun/Turborepo/Changeset tooling? 👀

@pull-request-size pull-request-size Bot added size/L and removed size/S labels Mar 10, 2026
@codeant-ai-for-open-source codeant-ai-for-open-source Bot added size:L This PR changes 100-499 lines, ignoring generated files and removed size:XS This PR changes 0-9 lines, ignoring generated files labels Mar 10, 2026
@github-actions github-actions Bot added i18n Namespace | Anything related to localization i18n:spanish Translation related to Spanish language labels Mar 10, 2026
@github-actions github-actions Bot removed i18n:french Translation related to French language i18n:japanese Translation related to Japanese language i18n:dutch i18n:ukrainian i18n:brazilian i18n:persian labels Apr 25, 2026
Signed-off-by: hainenber <dotronghai96@gmail.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
@hainenber

Copy link
Copy Markdown
Contributor Author

Alright, the commit history is steady now. PTAL when you have time :D

@bito-code-review

bito-code-review Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #cda914

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: 4665346..82eb36f
    • superset-frontend/webpack.config.js
  • Files skipped - 1
    • superset-frontend/package-lock.json - Reason: Filter setting
  • Tools
    • Eslint (Linter) - ✔︎ Successful
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@rusackas rusackas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for trimming this back down to the Lerna swap.

Two things left:
• Rebase to resolve conflicts
• webpack.config.js now flips buffer from the dev-only require.resolve('buffer/') to buffer: false. That polyfill was added on purpose to fix the legacy-plugin-chart-paired-t-test Story, and the paired Buffer: ['buffer', 'Buffer'] ProvidePlugin entry just above it is left as-is. Is that change meant to be in the lerna-lite PR? Feels unrelated, and I'd want to confirm the Story still renders before dropping it. One of these days, I'll update that plugin to be non-legacy, or just deprecate the thing!

hainenber and others added 4 commits July 1, 2026 21:56
Signed-off-by: hainenber <dotronghai96@gmail.com>
…book

Signed-off-by: hainenber <dotronghai96@gmail.com>
…ybook

Signed-off-by: hainenber <dotronghai96@gmail.com>
@hainenber

Copy link
Copy Markdown
Contributor Author

@rusackas PTAL when you have time ;)

@bito-code-review

bito-code-review Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #a89db1

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: 82eb36f..ff44624
    • superset-frontend/webpack.config.js
  • Files skipped - 2
    • superset-frontend/package-lock.json - Reason: Filter setting
    • superset-frontend/package.json - Reason: Filter setting
  • Tools
    • Eslint (Linter) - ✔︎ Successful
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

hainenber added 2 commits July 5, 2026 22:05
Signed-off-by: hainenber <dotronghai96@gmail.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
@codecov

codecov Bot commented Jul 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.70%. Comparing base (8229c01) to head (23874e1).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #37222   +/-   ##
=======================================
  Coverage   64.70%   64.70%           
=======================================
  Files        2686     2686           
  Lines      148626   148626           
  Branches    34298    34298           
=======================================
  Hits        96164    96164           
  Misses      50697    50697           
  Partials     1765     1765           
Flag Coverage Δ
javascript 69.56% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Signed-off-by: hainenber <dotronghai96@gmail.com>
@apache apache deleted a comment from codeant-ai-for-open-source Bot Jul 6, 2026
@apache apache deleted a comment from codeant-ai-for-open-source Bot Jul 6, 2026
@apache apache deleted a comment from codeant-ai-for-open-source Bot Jul 6, 2026
@apache apache deleted a comment from bito-code-review Bot Jul 6, 2026
@rusackas

rusackas commented Jul 7, 2026

Copy link
Copy Markdown
Member

Trimming ~100 transitive dev deps by moving to @lerna-lite is appealing. My one hesitation is the release path... lerna version/publish don't get exercised by CI, so we'd want someone (one of us, I suppose) with release access to dry-run it before we rely on this for a real release. And since it swaps the publishing tooling for the @superset-ui/* packages, probably worth a quick heads-up on the dev@ list so the next release doesn't surprise anyone.

Also curious whether the stray buffer devDep and dropping graphType: "all" were intentional?

It's conflicting with master too, so it'll want a rebase. Holler if you want a hand with any of that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies:npm size:L This PR changes 100-499 lines, ignoring generated files size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants