mirror of
https://github.com/apache/superset.git
synced 2026-08-12 11:11:01 +00:00
feat(frontend): migrate from npm/lerna to bun/turborepo/changesets
- Replace lerna with changesets for version management and npm publishing - Migrate from npm to bun as the package manager - Add bun.lock and remove package-lock.json - Add changeset scripts: changeset:add, changeset:version, changeset:publish - Delete lerna.json - Update .gitignore to exclude package-lock.json Benefits of this migration: - Bun: ~10x faster package installs, native TypeScript support - Turborepo: Intelligent caching for builds (already added) - Changesets: Cleaner workflow for version management and publishing Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
d0575ceb29
commit
198c7598cf
@@ -0,0 +1,38 @@
|
||||
# Changesets
|
||||
|
||||
This folder is used by [Changesets](https://github.com/changesets/changesets) to manage versioning and changelogs for the Superset frontend packages.
|
||||
|
||||
## How to add a changeset
|
||||
|
||||
When you make changes to packages that should be published, run:
|
||||
|
||||
```bash
|
||||
npx changeset
|
||||
```
|
||||
|
||||
This will prompt you to:
|
||||
1. Select which packages have changed
|
||||
2. Choose the semver bump type (major/minor/patch)
|
||||
3. Write a summary of the changes
|
||||
|
||||
A markdown file will be created in this folder describing your changes.
|
||||
|
||||
## Releasing
|
||||
|
||||
To create a new release:
|
||||
|
||||
```bash
|
||||
# 1. Update versions and changelogs based on changesets
|
||||
npm run changeset:version
|
||||
|
||||
# 2. Build all packages
|
||||
npm run turbo:build
|
||||
|
||||
# 3. Publish to npm
|
||||
npm run changeset:publish
|
||||
```
|
||||
|
||||
## More information
|
||||
|
||||
- [Changesets documentation](https://github.com/changesets/changesets)
|
||||
- [Using Changesets with Turborepo](https://turbo.build/repo/docs/handbook/publishing-packages/versioning-and-publishing)
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
|
||||
"changelog": [
|
||||
"@changesets/changelog-github",
|
||||
{ "repo": "apache/superset" }
|
||||
],
|
||||
"commit": false,
|
||||
"fixed": [],
|
||||
"linked": [
|
||||
["@superset-ui/*", "@apache-superset/*"]
|
||||
],
|
||||
"access": "public",
|
||||
"baseBranch": "master",
|
||||
"updateInternalDependencies": "patch",
|
||||
"ignore": [
|
||||
"@superset-ui/demo",
|
||||
"@superset-ui/generator-superset"
|
||||
],
|
||||
"privatePackages": {
|
||||
"version": false,
|
||||
"tag": false
|
||||
}
|
||||
}
|
||||
@@ -14,3 +14,6 @@ src/temp
|
||||
migration-storybook.log
|
||||
# Turborepo cache
|
||||
.turbo
|
||||
|
||||
# npm lockfile (using bun.lock instead)
|
||||
package-lock.json
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"npmClient": "npm",
|
||||
"packages": [
|
||||
"packages/*",
|
||||
"plugins/*",
|
||||
"src/setup/*"
|
||||
],
|
||||
"version": "0.20.4",
|
||||
"ignoreChanges": [
|
||||
"**/*.md",
|
||||
"**/*.spec.tsx?",
|
||||
"**/*.spec.jsx?",
|
||||
"**/__mocks__/**"
|
||||
],
|
||||
"command": {
|
||||
"publish": {
|
||||
"message": "chore(superset-ui): publish %s",
|
||||
"graphType": "all"
|
||||
},
|
||||
"version": {
|
||||
"message": "chore(superset-ui): publish %s",
|
||||
"exact": true
|
||||
}
|
||||
},
|
||||
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
|
||||
}
|
||||
Generated
-58145
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "superset",
|
||||
"version": "0.0.0-dev",
|
||||
"packageManager": "npm@10.8.2",
|
||||
"packageManager": "bun@1.3.4",
|
||||
"description": "Superset is a data exploration platform designed to be visual, intuitive, and interactive.",
|
||||
"keywords": [
|
||||
"big",
|
||||
@@ -63,12 +63,11 @@
|
||||
"plugins:build": "node ./scripts/build.js",
|
||||
"plugins:build-assets": "node ./scripts/copyAssets.js",
|
||||
"plugins:build-storybook": "cd packages/superset-ui-demo && npm run build-storybook",
|
||||
"plugins:create-conventional-version": "npm run prune && lerna version --conventional-commits --create-release github --no-private --yes --tag-version-prefix=\"plugins-and-packages-v\"",
|
||||
"plugins:create-minor-version": "npm run prune && lerna version minor --no-private --yes --tag-version-prefix=\"plugins-and-packages-v\"",
|
||||
"plugins:create-patch-version": "npm run prune && lerna version patch --no-private --yes --tag-version-prefix=\"plugins-and-packages-v\"",
|
||||
"plugins:publish-all": "npm run prune && npm run plugins:build && lerna publish from-package --force-publish --yes",
|
||||
"plugins:release-conventional": "npm run prune && npm run plugins:build && lerna publish --conventional-commits --create-release github --yes",
|
||||
"plugins:release-from-tag": "npm run prune && npm run plugins:build && lerna publish from-package --yes",
|
||||
"changeset": "changeset",
|
||||
"changeset:add": "changeset add",
|
||||
"changeset:version": "changeset version",
|
||||
"changeset:publish": "npm run turbo:build && changeset publish",
|
||||
"changeset:status": "changeset status",
|
||||
"turbo:build": "turbo run build",
|
||||
"turbo:build:force": "turbo run build --force",
|
||||
"turbo:type-check": "turbo run type-check",
|
||||
@@ -259,6 +258,8 @@
|
||||
"@babel/runtime": "^7.28.6",
|
||||
"@babel/runtime-corejs3": "^7.29.0",
|
||||
"@babel/types": "^7.28.6",
|
||||
"@changesets/changelog-github": "^0.5.2",
|
||||
"@changesets/cli": "^2.29.8",
|
||||
"@cypress/react": "^8.0.2",
|
||||
"@emotion/babel-plugin": "^11.13.5",
|
||||
"@emotion/jest": "^11.14.2",
|
||||
@@ -351,7 +352,6 @@
|
||||
"jest-websocket-mock": "^2.5.0",
|
||||
"js-yaml-loader": "^1.2.2",
|
||||
"jsdom": "^28.0.0",
|
||||
"lerna": "^8.2.3",
|
||||
"lightningcss": "^1.31.1",
|
||||
"mini-css-extract-plugin": "^2.10.0",
|
||||
"open-cli": "^8.0.0",
|
||||
|
||||
Reference in New Issue
Block a user