@@ -11,7 +11,7 @@ import {
1111 normalize as devkitNormalize ,
1212 Path as DevkitPath
1313} from '@angular-devkit/core' ;
14- import { SchematicContext , SchematicsException , Tree } from '@angular-devkit/schematics' ;
14+ import { SchematicContext , Tree } from '@angular-devkit/schematics' ;
1515import {
1616 getImportOfIdentifier ,
1717 getProjectIndexFiles ,
@@ -29,13 +29,11 @@ import {
2929 getMetadataField
3030} from '@schematics/angular/utility/ast-utils' ;
3131import { InsertChange } from '@schematics/angular/utility/change' ;
32- import { getWorkspace } from '@schematics/angular/utility/config' ;
3332import { WorkspaceProject } from '@schematics/angular/utility/workspace-models' ;
3433import { readFileSync } from 'fs' ;
3534import { dirname , join , relative } from 'path' ;
3635import * as ts from 'typescript' ;
3736
38- import { getProjectFromProgram } from './cli-workspace' ;
3937import { findHammerScriptImportElements } from './find-hammer-script-tags' ;
4038import { findMainModuleExpression } from './find-main-module' ;
4139import { isHammerJsUsedInTemplate } from './hammer-template-check' ;
@@ -244,8 +242,7 @@ export class HammerGesturesRule extends MigrationRule<null> {
244242 * 4) Setup the "HammerModule" in the root app module (if not done already).
245243 */
246244 private _setupHammerWithCustomEvents ( ) {
247- const project = this . _getProjectOrThrow ( ) ;
248- const sourceRoot = devkitNormalize ( project . sourceRoot || project . root ) ;
245+ const sourceRoot = devkitNormalize ( this . project . sourceRoot || this . project . root ) ;
249246 const newConfigPath =
250247 devkitJoin ( sourceRoot , this . _getAvailableGestureConfigFileName ( sourceRoot ) ) ;
251248
@@ -263,20 +260,18 @@ export class HammerGesturesRule extends MigrationRule<null> {
263260 // Setup the gesture config provider and the "HammerModule" in the root module
264261 // if not done already. The "HammerModule" is needed in v9 since it enables the
265262 // Hammer event plugin that was previously enabled by default in v8.
266- this . _setupNewGestureConfigInRootModule ( project , newConfigPath ) ;
267- this . _setupHammerModuleInRootModule ( project ) ;
263+ this . _setupNewGestureConfigInRootModule ( newConfigPath ) ;
264+ this . _setupHammerModuleInRootModule ( ) ;
268265 }
269266
270267 /**
271268 * Sets up the standard hammer module in the project and removes all
272269 * references to the deprecated Angular Material gesture config.
273270 */
274271 private _setupHammerWithStandardEvents ( ) {
275- const project = this . _getProjectOrThrow ( ) ;
276-
277272 // Setup the HammerModule. The HammerModule enables support for
278273 // the standard HammerJS events.
279- this . _setupHammerModuleInRootModule ( project ) ;
274+ this . _setupHammerModuleInRootModule ( ) ;
280275 this . _removeMaterialGestureConfigSetup ( ) ;
281276 }
282277
@@ -287,13 +282,11 @@ export class HammerGesturesRule extends MigrationRule<null> {
287282 * 3) Remove "hammerjs" from all index HTML files of the current project.
288283 */
289284 private _removeHammerSetup ( ) {
290- const project = this . _getProjectOrThrow ( ) ;
291-
292285 this . _installImports . forEach ( i => this . _importManager . deleteImportByDeclaration ( i ) ) ;
293286
294287 this . _removeMaterialGestureConfigSetup ( ) ;
295288 this . _removeHammerModuleReferences ( ) ;
296- this . _removeHammerFromIndexFile ( project ) ;
289+ this . _removeHammerFromIndexFile ( this . project ) ;
297290 }
298291
299292 /**
@@ -647,8 +640,8 @@ export class HammerGesturesRule extends MigrationRule<null> {
647640 }
648641
649642 /** Sets up the Hammer gesture config in the root module if needed. */
650- private _setupNewGestureConfigInRootModule ( project : WorkspaceProject , gestureConfigPath : string ) {
651- const mainFilePath = join ( this . basePath , getProjectMainFile ( project ) ) ;
643+ private _setupNewGestureConfigInRootModule ( gestureConfigPath : string ) {
644+ const mainFilePath = join ( this . basePath , getProjectMainFile ( this . project ) ) ;
652645 const rootModuleSymbol = this . _getRootModuleSymbol ( mainFilePath ) ;
653646
654647 if ( rootModuleSymbol === null ) {
@@ -724,8 +717,8 @@ export class HammerGesturesRule extends MigrationRule<null> {
724717 }
725718
726719 /** Sets up the "HammerModule" in the root module of the project. */
727- private _setupHammerModuleInRootModule ( project : WorkspaceProject ) {
728- const mainFilePath = join ( this . basePath , getProjectMainFile ( project ) ) ;
720+ private _setupHammerModuleInRootModule ( ) {
721+ const mainFilePath = join ( this . basePath , getProjectMainFile ( this . project ) ) ;
729722 const rootModuleSymbol = this . _getRootModuleSymbol ( mainFilePath ) ;
730723
731724 if ( rootModuleSymbol === null ) {
@@ -822,23 +815,6 @@ export class HammerGesturesRule extends MigrationRule<null> {
822815 } ) ;
823816 }
824817
825- /**
826- * Gets the project from the current program or throws if no project
827- * could be found.
828- */
829- private _getProjectOrThrow ( ) : WorkspaceProject {
830- const workspace = getWorkspace ( this . tree ) ;
831- const project = getProjectFromProgram ( workspace , this . program ) ;
832-
833- if ( ! project ) {
834- throw new SchematicsException (
835- 'Could not find project to perform HammerJS v9 migration. ' +
836- 'Please ensure your workspace configuration defines a project.' ) ;
837- }
838-
839- return project ;
840- }
841-
842818 /** Global state of whether Hammer is used in any analyzed project target. */
843819 static globalUsesHammer = false ;
844820
0 commit comments