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