@@ -7,52 +7,37 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project';
7
7
const snapshots = require ( '../../ng-snapshot/package.json' ) ;
8
8
9
9
export default async function ( ) {
10
- // `@angular/material` pre-release may not support the current version of `@angular/core` pre-release.
11
- // due to the order of releases FW -> CLI -> Material
12
- // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests.
13
- const original_NPM_CONFIG_legacy_peer_deps = process . env [ 'NPM_CONFIG_legacy_peer_deps' ] ;
14
- const isPrerelease = await isPrereleaseCli ( ) ;
10
+ let tag = ( await isPrereleaseCli ( ) ) ? '@next' : '' ;
11
+ await ng ( 'add' , `@angular/material${ tag } ` , '--skip-confirmation' ) ;
15
12
16
- let tag = isPrerelease ? '@next' : '' ;
17
-
18
- try {
19
- process . env [ 'NPM_CONFIG_legacy_peer_deps' ] = isPrerelease
20
- ? 'true'
21
- : original_NPM_CONFIG_legacy_peer_deps ;
22
-
23
- await ng ( 'add' , `@angular/material${ tag } ` , '--skip-confirmation' ) ;
24
-
25
- const isSnapshotBuild = getGlobalVariable ( 'argv' ) [ 'ng-snapshots' ] ;
26
- if ( isSnapshotBuild ) {
27
- await updateJsonFile ( 'package.json' , ( packageJson ) => {
28
- const dependencies = packageJson [ 'dependencies' ] ;
29
- // Angular material adds dependencies on other Angular packages
30
- // Iterate over all of the packages to update them to the snapshot version.
31
- for ( const [ name , version ] of Object . entries ( snapshots . dependencies ) ) {
32
- if ( name in dependencies ) {
33
- dependencies [ name ] = version ;
34
- }
13
+ const isSnapshotBuild = getGlobalVariable ( 'argv' ) [ 'ng-snapshots' ] ;
14
+ if ( isSnapshotBuild ) {
15
+ await updateJsonFile ( 'package.json' , ( packageJson ) => {
16
+ const dependencies = packageJson [ 'dependencies' ] ;
17
+ // Angular material adds dependencies on other Angular packages
18
+ // Iterate over all of the packages to update them to the snapshot version.
19
+ for ( const [ name , version ] of Object . entries ( snapshots . dependencies ) ) {
20
+ if ( name in dependencies ) {
21
+ dependencies [ name ] = version ;
35
22
}
36
-
37
- dependencies [ '@angular/material-moment-adapter' ] =
38
- snapshots . dependencies [ '@angular/material-moment-adapter' ] ;
39
- } ) ;
40
- await installWorkspacePackages ( ) ;
41
- } else {
42
- if ( ! tag ) {
43
- const installedMaterialVersion = JSON . parse ( await readFile ( 'package.json' ) ) [ 'dependencies' ] [
44
- '@angular/material'
45
- ] ;
46
- tag = `@${ installedMaterialVersion } ` ;
47
23
}
48
- await installPackage ( `@angular/material-moment-adapter${ tag } ` ) ;
49
- }
50
24
51
- await installPackage ( 'moment' ) ;
52
- } finally {
53
- process . env [ 'NPM_CONFIG_legacy_peer_deps' ] = original_NPM_CONFIG_legacy_peer_deps ;
25
+ dependencies [ '@angular/material-moment-adapter' ] =
26
+ snapshots . dependencies [ '@angular/material-moment-adapter' ] ;
27
+ } ) ;
28
+ await installWorkspacePackages ( ) ;
29
+ } else {
30
+ if ( ! tag ) {
31
+ const installedMaterialVersion = JSON . parse ( await readFile ( 'package.json' ) ) [ 'dependencies' ] [
32
+ '@angular/material'
33
+ ] ;
34
+ tag = `@${ installedMaterialVersion } ` ;
35
+ }
36
+ await installPackage ( `@angular/material-moment-adapter${ tag } ` ) ;
54
37
}
55
38
39
+ await installPackage ( 'moment' ) ;
40
+
56
41
await ng ( 'build' ) ;
57
42
58
43
// Ensure moment adapter works (uses unique importing mechanism for moment)
0 commit comments