Skip to content

Commit 283b564

Browse files
committed
feat(@schematics/angular): remove environment files in new applications
This commit removes the usage of environment files and `fileReplacements` in new application projects. Previously, the environment files was used to distinguish between a prod build to invoke `enableProdMode`. The `enableProdMode` however needed only for the case of JIT mode in production mode, which is a rare case as JIT mode is recommanded to be used in production. In the CLI, calling `enableProdMode` is not needed as `ngDevMode` it's set using the minifier.
1 parent 56a1e8f commit 283b564

File tree

30 files changed

+68
-401
lines changed

30 files changed

+68
-401
lines changed

packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ describe('AppShell Builder', () => {
5151
5252
import { AppRoutingModule } from './app-routing.module';
5353
import { AppComponent } from './app.component';
54-
import { environment } from '../environments/environment';
5554
import { RouterModule } from '@angular/router';
5655
5756
@NgModule({
@@ -91,15 +90,8 @@ describe('AppShell Builder', () => {
9190
export class AppServerModule {}
9291
`,
9392
'src/main.ts': `
94-
import { enableProdMode } from '@angular/core';
9593
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
96-
9794
import { AppModule } from './app/app.module';
98-
import { environment } from './environments/environment';
99-
100-
if (environment.production) {
101-
enableProdMode();
102-
}
10395
10496
document.addEventListener('DOMContentLoaded', () => {
10597
platformBrowserDynamic().bootstrapModule(AppModule)

packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,8 @@ describe('Browser Builder rebuilds', () => {
5555
export let X = '$$_E2E_GOLDEN_VALUE_2';
5656
`,
5757
'src/main.ts': `
58-
import { enableProdMode } from '@angular/core';
5958
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
60-
6159
import { AppModule } from './app/app.module';
62-
import { environment } from './environments/environment';
63-
64-
if (environment.production) {
65-
enableProdMode();
66-
}
6760
6861
platformBrowserDynamic().bootstrapModule(AppModule);
6962

packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ describe('Browser Builder unused files warnings', () => {
3838
});
3939

4040
it('should show warning when some files are unused', async () => {
41-
host.replaceInFile(
42-
'src/tsconfig.app.json',
43-
'"main.ts"',
44-
'"main.ts", "environments/environment.prod.ts"',
45-
);
41+
host.writeMultipleFiles({
42+
'src/unused-file.ts': `export const unused = '1';`,
43+
});
44+
45+
host.replaceInFile('src/tsconfig.app.json', '"main.ts"', '"main.ts", "unused-file.ts"');
4646

4747
const logger = new logging.Logger('');
4848
const logs: string[] = [];
@@ -51,7 +51,7 @@ describe('Browser Builder unused files warnings', () => {
5151
const run = await architect.scheduleTarget(targetSpec, undefined, { logger });
5252
const output = (await run.result) as BrowserBuilderOutput;
5353
expect(output.success).toBe(true);
54-
expect(logs.join().includes(`environment.prod.ts ${warningMessageSuffix}`)).toBe(true);
54+
expect(logs.join().includes(`unused-file.ts ${warningMessageSuffix}`)).toBe(true);
5555

5656
await run.stop();
5757
});

packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ describe('Identifying third-party code in source maps', () => {
107107
expect(mainMap.sources.filter((_, i) => !mainMap[IGNORE_LIST].includes(i))).toEqual([
108108
'./src/app/app.component.ts',
109109
'./src/app/app.module.ts',
110-
'./src/environments/environment.ts',
111110
'./src/main.ts',
112111
]);
113112

packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,8 @@ describe('Browser Builder Web Worker support', () => {
3737
});
3838
`,
3939
'src/main.ts': `
40-
import { enableProdMode } from '@angular/core';
4140
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
4241
import { AppModule } from './app/app.module';
43-
import { environment } from './environments/environment';
44-
if (environment.production) { enableProdMode(); }
4542
platformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.error(err));
4643
4744
const worker = new Worker(new URL('./app/app.worker', import.meta.url), { type: 'module' });

packages/angular_devkit/build_angular/test/hello-world-app/angular.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,6 @@
4343
},
4444
"configurations": {
4545
"production": {
46-
"fileReplacements": [
47-
{
48-
"replace": "src/environments/environment.ts",
49-
"with": "src/environments/environment.prod.ts"
50-
}
51-
],
5246
"optimization": true,
5347
"outputHashing": "all",
5448
"sourceMap": false,

packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts

Lines changed: 0 additions & 16 deletions
This file was deleted.

packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,5 @@
77
*/
88

99
import '@angular/localize/init';
10-
import { enableProdMode } from '@angular/core';
11-
12-
import { environment } from './environments/environment';
13-
14-
if (environment.production) {
15-
enableProdMode();
16-
}
1710

1811
export { AppServerModule } from './app/app.server.module';

packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,9 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
import { enableProdMode } from '@angular/core';
109
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
1110

1211
import { AppModule } from './app/app.module';
13-
import { environment } from './environments/environment';
14-
15-
if (environment.production) {
16-
enableProdMode();
17-
}
1812

1913
platformBrowserDynamic()
2014
.bootstrapModule(AppModule)

0 commit comments

Comments
 (0)