@roots/sage
Version:
@roots/sage preset for @roots/bud
85 lines (84 loc) • 2.32 kB
JavaScript
import { __decorate } from "tslib";
import { Extension } from '@roots/bud-framework/extension';
import { bind, dependsOn, expose, label, } from '@roots/bud-framework/extension/decorators';
import { deprecated } from '@roots/bud-support/decorators';
/**
* roots/sage
*
* @see {@link https://github.com/roots/sage}
* @see {@link https://bud.js.org/extensions/sage}
*/
let Sage = class Sage extends Extension {
/**
* {@link Acorn}
*/
get acorn() {
return this.app.extensions.get(`@roots/sage/acorn`);
}
/**
* {@link BladeLoaderExtension}
*/
get blade() {
return this.app.extensions.get(`@roots/sage/blade-loader`);
}
/**
* Get unique name for project
*/
getUniqueName() {
return this.app.label !== `sage`
? `@roots/bud/sage/${this.app.label}`
: `@roots/bud/sage`;
}
/**
* {@link BladeLoaderExtension.enable}
*/
processBladeTemplates(value = true) {
this.blade.enable(value);
return this;
}
/**
* {@link Extension.register}
*/
async register(bud) {
bud
.setPath({
'@dist': `public`,
'@fonts': `@src/fonts`,
'@images': `@src/images`,
'@scripts': `@src/scripts`,
'@src': `resources`,
'@styles': `@src/styles`,
'@views': `@src/views`,
})
.when(bud.isProduction, bud.hash, bud.devtool);
bud.hooks.on(`build.output.uniqueName`, this.getUniqueName);
}
/**
* Set acorn version
*
* @deprecated This function is deprecated. It is unneeded; you can just remove the call.
*/
setAcornVersion(version) { }
};
__decorate([
bind
], Sage.prototype, "getUniqueName", null);
__decorate([
bind
], Sage.prototype, "processBladeTemplates", null);
__decorate([
bind
], Sage.prototype, "register", null);
__decorate([
deprecated(`bud.sage`, `This function is no longer needed. Remove the call from your configuration.`)
], Sage.prototype, "setAcornVersion", null);
Sage = __decorate([
label(`@roots/sage`),
dependsOn([
`@roots/bud-preset-wordpress`,
`@roots/sage/acorn`,
`@roots/sage/blade-loader`,
]),
expose(`sage`)
], Sage);
export default Sage;