@@ -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 ,
@@ -27,13 +27,11 @@ import {
2727 getMetadataField
2828} from '@angular/cdk/schematics' ;
2929import { InsertChange } from '@schematics/angular/utility/change' ;
30- import { getWorkspace } from '@schematics/angular/utility/config' ;
3130import { WorkspaceProject } from '@schematics/angular/utility/workspace-models' ;
3231import { readFileSync } from 'fs' ;
3332import { dirname , join , relative } from 'path' ;
3433import * as ts from 'typescript' ;
3534
36- import { getProjectFromProgram } from './cli-workspace' ;
3735import { findHammerScriptImportElements } from './find-hammer-script-tags' ;
3836import { findMainModuleExpression } from './find-main-module' ;
3937import { isHammerJsUsedInTemplate } from './hammer-template-check' ;
@@ -242,8 +240,7 @@ export class HammerGesturesRule extends MigrationRule<null> {
242240 * 4) Setup the "HammerModule" in the root app module (if not done already).
243241 */
244242 private _setupHammerWithCustomEvents ( ) {
245- const project = this . _getProjectOrThrow ( ) ;
246- const sourceRoot = devkitNormalize ( project . sourceRoot || project . root ) ;
243+ const sourceRoot = devkitNormalize ( this . project . sourceRoot || this . project . root ) ;
247244 const newConfigPath =
248245 devkitJoin ( sourceRoot , this . _getAvailableGestureConfigFileName ( sourceRoot ) ) ;
249246
@@ -261,20 +258,18 @@ export class HammerGesturesRule extends MigrationRule<null> {
261258 // Setup the gesture config provider and the "HammerModule" in the root module
262259 // if not done already. The "HammerModule" is needed in v9 since it enables the
263260 // Hammer event plugin that was previously enabled by default in v8.
264- this . _setupNewGestureConfigInRootModule ( project , newConfigPath ) ;
265- this . _setupHammerModuleInRootModule ( project ) ;
261+ this . _setupNewGestureConfigInRootModule ( newConfigPath ) ;
262+ this . _setupHammerModuleInRootModule ( ) ;
266263 }
267264
268265 /**
269266 * Sets up the standard hammer module in the project and removes all
270267 * references to the deprecated Angular Material gesture config.
271268 */
272269 private _setupHammerWithStandardEvents ( ) {
273- const project = this . _getProjectOrThrow ( ) ;
274-
275270 // Setup the HammerModule. The HammerModule enables support for
276271 // the standard HammerJS events.
277- this . _setupHammerModuleInRootModule ( project ) ;
272+ this . _setupHammerModuleInRootModule ( ) ;
278273 this . _removeMaterialGestureConfigSetup ( ) ;
279274 }
280275
@@ -285,13 +280,11 @@ export class HammerGesturesRule extends MigrationRule<null> {
285280 * 3) Remove "hammerjs" from all index HTML files of the current project.
286281 */
287282 private _removeHammerSetup ( ) {
288- const project = this . _getProjectOrThrow ( ) ;
289-
290283 this . _installImports . forEach ( i => this . _importManager . deleteImportByDeclaration ( i ) ) ;
291284
292285 this . _removeMaterialGestureConfigSetup ( ) ;
293286 this . _removeHammerModuleReferences ( ) ;
294- this . _removeHammerFromIndexFile ( project ) ;
287+ this . _removeHammerFromIndexFile ( this . project ) ;
295288 }
296289
297290 /**
@@ -645,8 +638,8 @@ export class HammerGesturesRule extends MigrationRule<null> {
645638 }
646639
647640 /** Sets up the Hammer gesture config in the root module if needed. */
648- private _setupNewGestureConfigInRootModule ( project : WorkspaceProject , gestureConfigPath : string ) {
649- const mainFilePath = join ( this . basePath , getProjectMainFile ( project ) ) ;
641+ private _setupNewGestureConfigInRootModule ( gestureConfigPath : string ) {
642+ const mainFilePath = join ( this . basePath , getProjectMainFile ( this . project ) ) ;
650643 const rootModuleSymbol = this . _getRootModuleSymbol ( mainFilePath ) ;
651644
652645 if ( rootModuleSymbol === null ) {
@@ -722,8 +715,8 @@ export class HammerGesturesRule extends MigrationRule<null> {
722715 }
723716
724717 /** Sets up the "HammerModule" in the root module of the project. */
725- private _setupHammerModuleInRootModule ( project : WorkspaceProject ) {
726- const mainFilePath = join ( this . basePath , getProjectMainFile ( project ) ) ;
718+ private _setupHammerModuleInRootModule ( ) {
719+ const mainFilePath = join ( this . basePath , getProjectMainFile ( this . project ) ) ;
727720 const rootModuleSymbol = this . _getRootModuleSymbol ( mainFilePath ) ;
728721
729722 if ( rootModuleSymbol === null ) {
@@ -820,23 +813,6 @@ export class HammerGesturesRule extends MigrationRule<null> {
820813 } ) ;
821814 }
822815
823- /**
824- * Gets the project from the current program or throws if no project
825- * could be found.
826- */
827- private _getProjectOrThrow ( ) : WorkspaceProject {
828- const workspace = getWorkspace ( this . tree ) ;
829- const project = getProjectFromProgram ( workspace , this . program ) ;
830-
831- if ( ! project ) {
832- throw new SchematicsException (
833- 'Could not find project to perform HammerJS v9 migration. ' +
834- 'Please ensure your workspace configuration defines a project.' ) ;
835- }
836-
837- return project ;
838- }
839-
840816 /** Global state of whether Hammer is used in any analyzed project target. */
841817 static globalUsesHammer = false ;
842818
0 commit comments