diff --git a/packages/schematics/src/collection/application/application.spec.ts b/packages/schematics/src/collection/application/application.spec.ts index c56fc2b872..df2631e739 100644 --- a/packages/schematics/src/collection/application/application.spec.ts +++ b/packages/schematics/src/collection/application/application.spec.ts @@ -303,6 +303,17 @@ describe('app', () => { 'apps/my-app/tsconfig.app.json', 'apps/my-app/tsconfig.spec.json' ]); + const tsconfigAppJson = readJsonInTree( + tree, + 'apps/my-app/tsconfig.app.json' + ); + expect(tsconfigAppJson.exclude).toEqual([ + 'src/test-setup.ts', + '**/*.spec.ts' + ]); + expect(tsconfigAppJson.compilerOptions.outDir).toEqual( + '../../dist/out-tsc/apps/my-app' + ); }); }); diff --git a/packages/schematics/src/collection/application/index.ts b/packages/schematics/src/collection/application/index.ts index 7536d26376..8c736eaea0 100644 --- a/packages/schematics/src/collection/application/index.ts +++ b/packages/schematics/src/collection/application/index.ts @@ -175,7 +175,6 @@ function updateProject(options: NormalizedSchema): Rule { return json; }), updateJsonInTree(`${options.appProjectRoot}/tsconfig.app.json`, json => { - json.exclude = json.exclude || []; return { ...json, extends: `${offsetFromRoot(options.appProjectRoot)}tsconfig.json`, @@ -185,6 +184,10 @@ function updateProject(options: NormalizedSchema): Rule { options.appProjectRoot }` }, + exclude: + options.unitTestRunner === 'jest' + ? ['src/test-setup.ts', '**/*.spec.ts'] + : json.exclude || [], include: ['**/*.ts'] }; }),