microbundle
microbundle copied to clipboard
Cannot import external es6 module correctly
I have a typescript project, the ts files are stored in different directories, they all import the same external module, like this:
/main.ts:
import * as ext from 'external';
import { g } from './lib/foo';
function f() {
g();
ext.func1();
}
/lib/foo.ts:
import * as ext from 'external';
function g() {
ext.func2();
}
I want to package main.ts into an ES6 module and store it in the same directory as external.js After packaging, I expected to get this result:
main.js:
import * as ext from './external.js";
// blah blah
My packaging script looks like this:
microbundle -i main.ts --no-pkg-main -f modern --target web -o dist/main.js --external .*/external.js --alias external=./external.js
But I got this result:
import * as ext$1 from './external.js';
import * as ext from './lib/external.js';
I think this should be because the two ts files are in different directories and aliases are used, but what should be the correct way?
I think this might work if you pass --external lib/external.js (not a wildcard).