| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- "use strict";
- /**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- Object.defineProperty(exports, "__esModule", { value: true });
- const core_1 = require("@angular-devkit/core");
- const project_targets_1 = require("./project-targets");
- /** Regular expression that matches all possible Angular CLI default style files. */
- const defaultStyleFileRegex = /styles\.(c|le|sc)ss/;
- /** Regular expression that matches all files that have a proper stylesheet extension. */
- const validStyleFileRegex = /\.(c|le|sc)ss/;
- /**
- * Gets a style file with the given extension in a project and returns its path. If no
- * extension is specified, any style file with a valid extension will be returned.
- */
- function getProjectStyleFile(project, extension) {
- const buildOptions = project_targets_1.getProjectTargetOptions(project, 'build');
- if (buildOptions.styles && buildOptions.styles.length) {
- const styles = buildOptions.styles.map(s => typeof s === 'string' ? s : s.input);
- // Look for the default style file that is generated for new projects by the Angular CLI. This
- // default style file is usually called `styles.ext` unless it has been changed explicitly.
- const defaultMainStylePath = styles
- .find(file => extension ? file === `styles.${extension}` : defaultStyleFileRegex.test(file));
- if (defaultMainStylePath) {
- return core_1.normalize(defaultMainStylePath);
- }
- // If no default style file could be found, use the first style file that matches the given
- // extension. If no extension specified explicitly, we look for any file with a valid style
- // file extension.
- const fallbackStylePath = styles
- .find(file => extension ? file.endsWith(`.${extension}`) : validStyleFileRegex.test(file));
- if (fallbackStylePath) {
- return core_1.normalize(fallbackStylePath);
- }
- }
- return null;
- }
- exports.getProjectStyleFile = getProjectStyleFile;
- //# sourceMappingURL=project-style-file.js.map
|