File tree Expand file tree Collapse file tree 4 files changed +51
-3
lines changed
packages/schematics/angular Expand file tree Collapse file tree 4 files changed +51
-3
lines changed Original file line number Diff line number Diff line change @@ -149,6 +149,14 @@ function addDependenciesToPackageJson(options: ApplicationOptions) {
149
149
} ,
150
150
] . forEach ( ( dependency ) => addPackageJsonDependency ( host , dependency ) ) ;
151
151
152
+ if ( ! options . zoneless ) {
153
+ addPackageJsonDependency ( host , {
154
+ type : NodeDependencyType . Default ,
155
+ name : 'zone.js' ,
156
+ version : latestVersions [ 'zone.js' ] ,
157
+ } ) ;
158
+ }
159
+
152
160
if ( ! options . skipInstall ) {
153
161
context . addTask ( new NodePackageInstallTask ( ) ) ;
154
162
}
Original file line number Diff line number Diff line change @@ -268,6 +268,48 @@ describe('Application Schematic', () => {
268
268
expect ( pkg . devDependencies [ 'typescript' ] ) . toEqual ( latestVersions [ 'typescript' ] ) ;
269
269
} ) ;
270
270
271
+ it ( 'should include zone.js if "zoneless" option is false' , async ( ) => {
272
+ const tree = await schematicRunner . runSchematic (
273
+ 'application' ,
274
+ {
275
+ ...defaultOptions ,
276
+ zoneless : false ,
277
+ } ,
278
+ workspaceTree ,
279
+ ) ;
280
+
281
+ const pkg = JSON . parse ( tree . readContent ( '/package.json' ) ) ;
282
+ expect ( pkg . dependencies [ 'zone.js' ] ) . toEqual ( latestVersions [ 'zone.js' ] ) ;
283
+ } ) ;
284
+
285
+ it ( 'should include zone.js if "zoneless" option is not present' , async ( ) => {
286
+ const tree = await schematicRunner . runSchematic (
287
+ 'application' ,
288
+ {
289
+ ...defaultOptions ,
290
+ zoneless : undefined ,
291
+ } ,
292
+ workspaceTree ,
293
+ ) ;
294
+
295
+ const pkg = JSON . parse ( tree . readContent ( '/package.json' ) ) ;
296
+ expect ( pkg . dependencies [ 'zone.js' ] ) . toEqual ( latestVersions [ 'zone.js' ] ) ;
297
+ } ) ;
298
+
299
+ it ( 'should not include zone.js if "zoneless" option is true' , async ( ) => {
300
+ const tree = await schematicRunner . runSchematic (
301
+ 'application' ,
302
+ {
303
+ ...defaultOptions ,
304
+ zoneless : true ,
305
+ } ,
306
+ workspaceTree ,
307
+ ) ;
308
+
309
+ const pkg = JSON . parse ( tree . readContent ( '/package.json' ) ) ;
310
+ expect ( pkg . dependencies [ 'zone.js' ] ) . toBeUndefined ( ) ;
311
+ } ) ;
312
+
271
313
it ( `should not override existing users dependencies` , async ( ) => {
272
314
const oldPackageJson = workspaceTree . readContent ( 'package.json' ) ;
273
315
workspaceTree . overwrite (
Original file line number Diff line number Diff line change 17
17
"@angular/platform-browser": "<%= latestVersions.Angular %>",
18
18
"@angular/router": "<%= latestVersions.Angular %>",
19
19
"rxjs": "<%= latestVersions['rxjs'] %>",
20
- "tslib": "<%= latestVersions['tslib'] %>",
21
- "zone.js": "<%= latestVersions['zone.js'] %>"
20
+ "tslib": "<%= latestVersions['tslib'] %>"
22
21
},
23
22
"devDependencies": {
24
23
"@angular/cli": "<%= '^' + version %>",
Original file line number Diff line number Diff line change @@ -58,7 +58,6 @@ describe('Workspace Schematic', () => {
58
58
const pkg = JSON . parse ( tree . readContent ( '/package.json' ) ) ;
59
59
expect ( pkg . dependencies [ '@angular/core' ] ) . toEqual ( latestVersions . Angular ) ;
60
60
expect ( pkg . dependencies [ 'rxjs' ] ) . toEqual ( latestVersions [ 'rxjs' ] ) ;
61
- expect ( pkg . dependencies [ 'zone.js' ] ) . toEqual ( latestVersions [ 'zone.js' ] ) ;
62
61
expect ( pkg . devDependencies [ 'typescript' ] ) . toEqual ( latestVersions [ 'typescript' ] ) ;
63
62
} ) ;
64
63
You can’t perform that action at this time.
0 commit comments