build: update webpack for npm linking plugins (#11253)
diff --git a/superset-frontend/tsconfig.json b/superset-frontend/tsconfig.json
index 3f4dce9..6a8959e 100644
--- a/superset-frontend/tsconfig.json
+++ b/superset-frontend/tsconfig.json
@@ -30,5 +30,6 @@
"./node_modules/*superset-ui*/**/types/**/*",
// and the type defs of their dependencies
"./node_modules/*superset-ui*/**/node_modules/**/*.d.ts"
- ]
+ ],
+ "exclude": ["./node_modules/*superset-ui*/**/node_modules/@superset-ui/**/*"]
}
diff --git a/superset-frontend/webpack.config.js b/superset-frontend/webpack.config.js
index 51e7eb2..26f769c 100644
--- a/superset-frontend/webpack.config.js
+++ b/superset-frontend/webpack.config.js
@@ -265,12 +265,19 @@
},
},
resolve: {
+ modules: [APP_DIR, 'node_modules'],
alias: {
- src: path.resolve(APP_DIR, './src'),
'react-dom': '@hot-loader/react-dom',
- stylesheets: path.resolve(APP_DIR, './stylesheets'),
- images: path.resolve(APP_DIR, './images'),
- spec: path.resolve(APP_DIR, './spec'),
+ // force using absolute import path of the @superset-ui/core and @superset-ui/chart-controls
+ // so that we can `npm link` viz plugins without linking these two base packages
+ '@superset-ui/core': path.resolve(
+ APP_DIR,
+ './node_modules/@superset-ui/core',
+ ),
+ '@superset-ui/chart-controls': path.resolve(
+ APP_DIR,
+ './node_modules/@superset-ui/chart-controls',
+ ),
},
extensions: ['.ts', '.tsx', '.js', '.jsx'],
symlinks: false,