Skip to content

Commit f6a606d

Browse files
alan-agius4vikerman
authored andcommitted
fix(@schematics/angular): set cortrect file extention in config when using preprocessors (#13552)
Fixes #13550
1 parent fb072cf commit f6a606d

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

packages/schematics/angular/application/index.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@ function addAppToWorkspaceFile(options: ApplicationOptions, workspace: Workspace
185185
});
186186
}
187187

188+
const styleExt = styleToFileExtention(options.style);
189+
188190
const project: WorkspaceProject = {
189191
root: projectRoot,
190192
sourceRoot: join(normalize(projectRoot), 'src'),
@@ -205,7 +207,7 @@ function addAppToWorkspaceFile(options: ApplicationOptions, workspace: Workspace
205207
join(normalize(projectRoot), 'src', 'assets'),
206208
],
207209
styles: [
208-
`${projectRoot}src/styles.${options.style}`,
210+
`${projectRoot}src/styles.${styleExt}`,
209211
],
210212
scripts: [],
211213
es5BrowserSupport: true,
@@ -258,7 +260,7 @@ function addAppToWorkspaceFile(options: ApplicationOptions, workspace: Workspace
258260
tsConfig: `${rootFilesRoot}tsconfig.spec.json`,
259261
karmaConfig: `${rootFilesRoot}karma.conf.js`,
260262
styles: [
261-
`${projectRoot}src/styles.${options.style}`,
263+
`${projectRoot}src/styles.${styleExt}`,
262264
],
263265
scripts: [],
264266
assets: [

packages/schematics/angular/application/index_spec.ts

+17-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/te
1010
import { latestVersions } from '../utility/latest-versions';
1111
import { getFileContent } from '../utility/test';
1212
import { Schema as WorkspaceOptions } from '../workspace/schema';
13-
import { Schema as ApplicationOptions } from './schema';
13+
import { Schema as ApplicationOptions, Style } from './schema';
1414

1515
// tslint:disable:max-line-length
1616
describe('Application Schematic', () => {
@@ -275,6 +275,22 @@ describe('Application Schematic', () => {
275275
]);
276276
});
277277

278+
it('should set values in angular.json correctly when using a style preprocessor', () => {
279+
const options = { ...defaultOptions, projectRoot: '', style: Style.Sass };
280+
const tree = schematicRunner.runSchematic('application', options, workspaceTree);
281+
const config = JSON.parse(tree.readContent('/angular.json'));
282+
const prj = config.projects.foo;
283+
const buildOpt = prj.architect.build.options;
284+
expect(buildOpt.styles).toEqual([
285+
'src/styles.scss',
286+
]);
287+
const testOpt = prj.architect.test.options;
288+
expect(testOpt.styles).toEqual([
289+
'src/styles.scss',
290+
]);
291+
expect(tree.exists('src/styles.scss')).toBe(true);
292+
});
293+
278294
it('should set the relative tsconfig paths', () => {
279295
const options = { ...defaultOptions, projectRoot: '' };
280296

0 commit comments

Comments
 (0)