@roots/bud-extensions
Version:
bud.js core module
30 lines (29 loc) • 945 B
JavaScript
import { __decorate } from "tslib";
import { Extension } from '@roots/bud-framework/extension';
import { bind, label } from '@roots/bud-framework/extension/decorators';
import isString from '@roots/bud-support/isString';
/**
* Import map extension
*/
let BudImportMapExtension = class BudImportMapExtension extends Extension {
/**
* {@link Extension.register}
*/
async register(bud) {
if (!bud.context.manifest?.imports)
return;
Object.entries(bud.context.manifest.imports)
.filter(([k, v]) => isString(k) && isString(v))
.map(([k, v]) => {
if (v && !v.match(/https?:^/))
bud.alias(k, bud.path(v));
});
}
};
__decorate([
bind
], BudImportMapExtension.prototype, "register", null);
BudImportMapExtension = __decorate([
label(`@roots/bud-extensions/import-map`)
], BudImportMapExtension);
export default BudImportMapExtension;