diff --git a/superset-frontend/tsconfig.json b/superset-frontend/tsconfig.json index 3f4dce97a717c..6a8959e1c49fb 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 31446d5031b6d..4997a6d066542 100644 --- a/superset-frontend/webpack.config.js +++ b/superset-frontend/webpack.config.js @@ -265,12 +265,19 @@ const config = { }, }, 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,