vue3-sfc-loader icon indicating copy to clipboard operation
vue3-sfc-loader copied to clipboard

use babel source instead of babel packages (@babel/*)

Open FranckFreiburger opened this issue 4 years ago • 3 comments

I would like to embed babel using source version (github.com/babel) instead of packaged version (npm @babel/*) in order to benefits of a better (webpack) tree-shaking (@babel/* is cjs whereas github.com/babel is mjs/ts) and to reduce final bundle size.

I need to make TypeScript to resolve any node_modules/@babel/* to node_modules/babel/packages/babel-*/src

I tried with compilerOptions.paths with no success :

	paths: {
		'@babel/code-frame': ['babel/packages/babel-code-frame/src'],
	}

Is there a trick to make any require to @babel/* to point to babel/packages/babel-*/src ?

BTW, In the webpack configuration file, I use:

resolve: {
	alias: {
		'@babel/code-frame': 'babel/backages/babel-code-frame/src',

and I'm looking for the equivalent for typescript.

FranckFreiburger avatar Dec 16 '20 10:12 FranckFreiburger

I think aliases should also be defined in tsconfig in this case.

https://dev.to/larswaechter/path-aliases-with-typescript-in-nodejs-4353

I'm not sure this kink of wildcard expression is supported though ...

Toilal avatar Mar 09 '21 16:03 Toilal

(AFAIK) TypeScript cannot import flow files. My only option is to wait the resolution of Migrate Babel from Flow to TypeScript PR.

related stackoverflow question

FranckFreiburger avatar Apr 05 '21 08:04 FranckFreiburger