UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

58 lines (57 loc) 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addResetCss = exports.scssImport = exports.cssImport = void 0; const path = require("path"); const dependency_handler_1 = require("../utils/dependency-handler"); const util_1 = require("../utils/util"); const resetPackage = { 'minireset.css': '~0.0.4' }; exports.cssImport = 'node_modules/minireset.css/minireset.css'; exports.scssImport = `// CSS Reset, comment out if not required or using a different module\n` + `@import 'minireset.css/minireset';\n`; const addResetCss = (workspace, host) => { let status = false; let addPackage; const styleExts = ['scss', 'sass', 'css', 'less', 'styl']; workspace.projects.forEach(project => { const styleExt = styleExts.find(ext => host.exists(path.posix.join(project.sourceRoot, `styles.${ext}`))); if (!styleExt) { return; } const stylesFile = path.posix.join(project.sourceRoot, `styles.${styleExt}`); switch (styleExt) { case 'sass': case 'scss': let content = host.read(stylesFile).toString(); if (content.indexOf(`minireset.css/minireset`) === -1) { content = exports.scssImport + content; host.overwrite(stylesFile, content); addPackage = resetPackage; } break; case 'css': case 'less': case 'styl': const build = project.targets.get('build'); if (!build || project.extensions['projectType'] !== util_1.ProjectType.Application) { return; } if (build.options.styles) { build.options.styles = [exports.cssImport, ...build.options.styles]; } else { build.options.styles = [exports.cssImport]; } addPackage = resetPackage; break; default: break; } }); if (addPackage) { const name = Object.keys(resetPackage)[0]; status = (0, dependency_handler_1.addPackageToPkgJson)(host, name, resetPackage[name], 'dependencies'); } return status; }; exports.addResetCss = addResetCss;