Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Conversation

hainenber
Copy link
Contributor

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

…e extraneous eslint process during build

Signed-off-by: hainenber <[email protected]>
…SM import

Also bumps fast-glob and fs-extra to remove some extra sub-packages

Signed-off-by: hainenber <[email protected]>
@github-actions github-actions bot added doc Namespace | Anything related to documentation plugins dependencies:npm packages labels Aug 18, 2024
@dosubot dosubot bot added the change:frontend Requires changing the frontend label Aug 18, 2024
@rusackas rusackas requested a review from kgabryje August 19, 2024 16:24
@rusackas
Copy link
Member

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

@rusackas
Copy link
Member

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

@hainenber
Copy link
Contributor Author

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

@rusackas rusackas self-assigned this Aug 21, 2024
@rusackas
Copy link
Member

@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.

@hainenber
Copy link
Contributor Author

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?

…npm build in newly generated Viz plugin"

This reverts commit 27915ef.
@rusackas rusackas merged commit aa50eb3 into apache:master Sep 6, 2024
37 of 38 checks passed
@rusackas
Copy link
Member

rusackas commented Sep 6, 2024

Merged! Thanks again for the help with this!

@jackgray
Copy link

jackgray commented Sep 7, 2024

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!

@hainenber
Copy link
Contributor Author

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 hainenber deleted the upgrade-major-versions-for-lefotver-frontend-deps branch September 9, 2024 15:12
@sadpandajoe sadpandajoe added the risk:breaking-change Issues or PRs that will introduce breaking changes label Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
change:frontend Requires changing the frontend dependencies:npm doc Namespace | Anything related to documentation packages plugins risk:breaking-change Issues or PRs that will introduce breaking changes size/XL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants