superset icon indicating copy to clipboard operation
superset copied to clipboard

build(dev-deps, deps): upgrade major versions for FE deps

Open hainenber opened this issue 1 year ago • 5 comments

build(dev-deps, deps): upgrade major versions for FE deps

Closes #29817, #29950, #29761, #29757, #29741, #29704

SUMMARY

Aggregation of changes required for bumping major versions for several FE dependencies, notably

  • superset-frontend
    • @emotion/react (v11.4.0 -> 11.3.0)
    • immer (v9 -> v10)
    • fork-ts-checker-webpack-plugin (v6 -> v9)
      • This major version no longer runs eslint against codebase and since CI already includes eslint step, I've removed it from Webpack config. Lmk if this is OK to go forward
  • docs
    • antd (v4 -> v5)
  • superset-frontend/packages/generator-superset
    • cross-env (v5 -> v7)
  • superset-frontend/plugins/plugin-chart-echarts
    • echarts (v5.4 -> v5.5)

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

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

hainenber avatar Aug 18 '24 07:08 hainenber

Awesome, thanks! I'll test locally (especially the docs) right now :)

rusackas avatar Aug 19 '24 16:08 rusackas

Interestingly, for the documentation, if I do "yarn serve" it runs just fine, but if I do "yarn build" it crashes on me.

rusackas avatar Aug 20 '24 02:08 rusackas

Interestingly, for the documentation, if I do "yarn serve" it runs just fine, but if I do "yarn build" it crashes on me.

Are you on Node 18? If I switched to that version, yarn serve works while yarn build crashes as you described.

Node 20 is chosen in /docs's .nvmrc, btw

yarn serve image image

yarn build image

hainenber avatar Aug 20 '24 14:08 hainenber

@hainenber you were right, Node 20 does the trick. I've made (and merged) a PR to bump all of Superset to Node 20, so it's official now: we're there!

I'm approving the PR, but it looks like it needs a rebase, then we should be good to go!

Thanks again for this... it's awesome.

rusackas avatar Aug 23 '24 20:08 rusackas

I've rebased and pending for green checks now :D

I've got a failed Link Checking job though, seems to be a new addition and the failed link is expired for some time being now. Might be can remove in a different PR?

hainenber avatar Aug 26 '24 16:08 hainenber

Merged! Thanks again for the help with this!

rusackas avatar Sep 06 '24 17:09 rusackas

Hi I think this merge broke embedded-sdk for Node 18. My app broke exactly when this was pushed and I did not change anything about my superset components.

Can we roll it back please I am on a tight schedule and can't work around this with explicit imports due to the way the package.json is configured for embedded-sdk

[client builder 4/4] RUN npm install && npm run build --no-cache:                                                                                                                                                  
44.87 npm warn deprecated [email protected]: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.                                                                                                                                                                                    
46.04 npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported                                                                                                                           
47.17 npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/object-schema instead                                                                                                                       
47.49 npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/config-array instead
51.49 npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
58.20 
58.20 added 580 packages, and audited 581 packages in 58s
58.20 
58.20 151 packages are looking for funding
58.20   run `npm fund` for details
58.20 
58.20 found 0 vulnerabilities
58.20 npm notice
58.20 npm notice New minor version of npm available! 10.7.0 -> 10.8.3
58.20 npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.3
58.20 npm notice To update run: npm install -g [email protected]
58.20 npm notice
58.72 npm warn invalid config cache=false set in command line options
58.72 npm warn invalid config Must be valid filesystem path
58.77 
58.77 > [email protected] build
58.77 > next build
58.77 
59.72 Attention: Next.js now collects completely anonymous telemetry regarding usage.
59.73 This information is used to shape Next.js' roadmap and prioritize features.
59.73 You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
59.73 https://nextjs.org/telemetry
59.73 
59.84   ▲ Next.js 14.2.4
59.84   - Environments: .env
59.84 
59.94    Creating an optimized production build ...
73.74 Failed to compile.
73.74 
73.74 ./node_modules/@superset-ui/embedded-sdk/lib/index.js
73.74 Module not found: Can't resolve '@superset-ui/switchboard'
73.74 
73.74 https://nextjs.org/docs/messages/module-not-found
73.74 
73.74 Import trace for requested module:
73.74 ./components/superset-dashboard.tsx
73.74 
73.75 
73.75 > Build failed because of webpack errors

my package.json:

{
	"name": "spotlight-app",
	"version": "0.0.1",
	"private": true,
	"scripts": {
		"dev": "next dev --turbo",
		"build": "next build",
		"start": "next start",
		"lint": "eslint . --ext .ts,.tsx -c .eslintrc.json --fix"
	},
	"dependencies": {
		"react-cv": "1.6.0",
		"@nextui-org/button": "2.0.37",
		"@nextui-org/card": "2.0.33",
		"@nextui-org/code": "2.0.32",
		"@nextui-org/dropdown": "2.1.29",
		"@nextui-org/input": "2.2.4",
		"@nextui-org/kbd": "2.0.33",
		"@nextui-org/link": "2.0.34",
		"@nextui-org/listbox": "2.1.25",
		"@nextui-org/navbar": "2.0.36",
		"@nextui-org/scroll-shadow": "2.1.19",
		"@nextui-org/spacer": "2.0.32",
		"@nextui-org/snippet": "2.0.41",
		"@nextui-org/switch": "2.0.33",
		"@nextui-org/system": "2.2.5",
		"@nextui-org/tabs": "2.0.35",
		"@nextui-org/theme": "2.2.9",
		"@nextui-org/tooltip": "2.0.39",
		"@react-aria/ssr": "3.9.4",
		"@react-aria/visually-hidden": "3.8.12",
		"clsx": "2.1.1",
		"framer-motion": "~11.1.1",
		"intl-messageformat": "^10.5.0",
		"next": "14.2.4",
		"@next/env": "14.2.7",
		"next-themes": "^0.2.1",
		"react": "18.3.1",
		"react-dom": "18.3.1",
		"@superset-ui/embedded-sdk": "0.1.0-alpha.12",
		"@superset-ui/switchboard": "^2.1.0",
		"axios": "1.7.4"
	},
	"devDependencies": {
		"@types/node": "20.5.7",
		"@types/react": "18.3.3",
		"@types/react-dom": "18.3.0",
		"@typescript-eslint/eslint-plugin": "7.2.0",
		"@typescript-eslint/parser": "7.2.0",
		"autoprefixer": "10.4.19",
		"eslint": "^8.57.0",
		"eslint-config-next": "14.2.1",
		"eslint-config-prettier": "^8.2.0",
		"eslint-plugin-import": "^2.26.0",
		"eslint-plugin-jsx-a11y": "^6.4.1",
		"eslint-plugin-node": "^11.1.0",
		"eslint-plugin-prettier": "^5.1.3",
		"eslint-plugin-react": "^7.23.2",
		"eslint-plugin-react-hooks": "^4.6.0",
		"eslint-plugin-unused-imports": "^3.2.0",
		"postcss": "8.4.38",
		"tailwind-variants": "0.1.20",
		"tailwindcss": "3.4.3",
		"typescript": "5.0.4"
	}
}

Thanks!

jackgray avatar Sep 07 '24 18:09 jackgray

I thoroughly checked the changes introduced by this commit and found them unrelated to @superset-ui/switchboard. Moreover, your pinned @superset-ui dependencies are not published around my changes got merged. Are there some missing contexts around the corner? 👀

hainenber avatar Sep 09 '24 15:09 hainenber