The default backend loader doesn't work with cli+bundler+systemjs
3cp opened this issue · 5 comments
@zewa666 I need to modify this line
i18n/src/aurelia-i18n-loader.ts
Line 73 in b585383
to
const response = await Backend.loader.loadText(SystemJS.normalizeSync(url));
In order to make it work on cli+bundler+systemjs, it is something related to how systemjs normalize module id with plugin subfix.
The aurelia-loader has an abstraction on normalize but I have no reference to 2nd parameter relativeTo
. (the 2nd parameter on SystemJS.normalizeSync is optional, but it's required on aurelia loader abstraction)
const response = await Backend.loader.loadText(
Backend.loader.normalizeSync(url, relativeTo_is_not_accessable_here)
);
requirejs has no such issue.
Looks like this is not aurelia-i18n bug. An easier fix is to remove following code from aurelia-loader-default.
That code block is unnecessary, as cli+bundler provides systemjs text plugin from npm package systemjs-plugin-text.
It looks like the double definition of text plugin confused systemjs runtime.
@EisenbergEffect for that inline text plugin for systemjs, is it designed to support jspm setup?
@EisenbergEffect it looks like jspm setup does not need that inline text plugin either.
@huochunpeng Can you submit a PR to address it? If so, I can make a release this week.
@EisenbergEffect is it safe to remove it? I don't know the history.
I have no idea. That's been there for years.