@nxext/stencil
Version:
Nx plugin for stenciljs
29 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SupportedStyles = void 0;
exports.addStylePlugin = addStylePlugin;
exports.addStylePluginToConfig = addStylePluginToConfig;
const plugins_1 = require("./plugins");
const devkit_1 = require("@nx/devkit");
const common_1 = require("@nxext/common");
var SupportedStyles;
(function (SupportedStyles) {
SupportedStyles["css"] = "css";
SupportedStyles["scss"] = "scss";
})(SupportedStyles || (exports.SupportedStyles = SupportedStyles = {}));
function addStylePlugin(stencilConfigSource, style) {
const styleImports = {
[SupportedStyles.css]: [],
[SupportedStyles.scss]: [
...(0, common_1.addImport)(stencilConfigSource, `import { sass } from '@stencil/sass'`),
...(0, plugins_1.addToPlugins)(stencilConfigSource, 'sass()'),
],
};
return styleImports[style];
}
function addStylePluginToConfig(host, stencilConfigPath, style) {
const stencilConfigSource = (0, common_1.readTsSourceFile)(host, stencilConfigPath);
const changes = (0, devkit_1.applyChangesToString)(stencilConfigSource.text, addStylePlugin(stencilConfigSource, style));
host.write(stencilConfigPath, changes);
}
//# sourceMappingURL=style-plugins.js.map