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) {
149149 } ,
150150 ] . forEach ( ( dependency ) => addPackageJsonDependency ( host , dependency ) ) ;
151151
152+ if ( ! options . zoneless ) {
153+ addPackageJsonDependency ( host , {
154+ type : NodeDependencyType . Default ,
155+ name : 'zone.js' ,
156+ version : latestVersions [ 'zone.js' ] ,
157+ } ) ;
158+ }
159+
152160 if ( ! options . skipInstall ) {
153161 context . addTask ( new NodePackageInstallTask ( ) ) ;
154162 }
Original file line number Diff line number Diff line change @@ -268,6 +268,48 @@ describe('Application Schematic', () => {
268268 expect ( pkg . devDependencies [ 'typescript' ] ) . toEqual ( latestVersions [ 'typescript' ] ) ;
269269 } ) ;
270270
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+
271313 it ( `should not override existing users dependencies` , async ( ) => {
272314 const oldPackageJson = workspaceTree . readContent ( 'package.json' ) ;
273315 workspaceTree . overwrite (
Original file line number Diff line number Diff line change 1717 "@angular/platform-browser": "<%= latestVersions.Angular %>",
1818 "@angular/router": "<%= latestVersions.Angular %>",
1919 "rxjs": "<%= latestVersions['rxjs'] %>",
20- "tslib": "<%= latestVersions['tslib'] %>",
21- "zone.js": "<%= latestVersions['zone.js'] %>"
20+ "tslib": "<%= latestVersions['tslib'] %>"
2221 },
2322 "devDependencies": {
2423 "@angular/cli": "<%= '^' + version %>",
Original file line number Diff line number Diff line change @@ -58,7 +58,6 @@ describe('Workspace Schematic', () => {
5858 const pkg = JSON . parse ( tree . readContent ( '/package.json' ) ) ;
5959 expect ( pkg . dependencies [ '@angular/core' ] ) . toEqual ( latestVersions . Angular ) ;
6060 expect ( pkg . dependencies [ 'rxjs' ] ) . toEqual ( latestVersions [ 'rxjs' ] ) ;
61- expect ( pkg . dependencies [ 'zone.js' ] ) . toEqual ( latestVersions [ 'zone.js' ] ) ;
6261 expect ( pkg . devDependencies [ 'typescript' ] ) . toEqual ( latestVersions [ 'typescript' ] ) ;
6362 } ) ;
6463
You can’t perform that action at this time.
0 commit comments