From 9f445f0424a6d1006fb9cedb70fd50cf2d100e4d Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Thu, 7 Nov 2019 22:53:28 +0200 Subject: [PATCH] dashboard: use tsconfig path aliases in webpack automatically --- dashboard/webpack.config.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dashboard/webpack.config.js b/dashboard/webpack.config.js index f129c412..ed2eea1b 100644 --- a/dashboard/webpack.config.js +++ b/dashboard/webpack.config.js @@ -19,6 +19,18 @@ const babelOpts = { ], }; +const tsconfig = require('./tsconfig.json'); +const pathAliases = Object.entries(tsconfig.compilerOptions.paths || []).reduce((aliases, pair) => { + let alias = pair[0]; + if (alias.endsWith('/*')) alias = alias.slice(0, -2); + + let aliasPath = pair[1][0]; + if (aliasPath.endsWith('/*')) aliasPath = aliasPath.slice(0, -2); + + aliases[alias] = path.resolve(__dirname, aliasPath); + return aliases; +}, {}); + let config = { entry: './src/main.ts', output: { @@ -153,6 +165,7 @@ let config = { ], resolve: { extensions: ['.ts', '.tsx', '.js', '.mjs', '.vue'], + alias: pathAliases, }, };