diff --git a/angular/src/schematics/add/index.ts b/angular/src/schematics/add/index.ts index 8466dab6018..121741ac156 100644 --- a/angular/src/schematics/add/index.ts +++ b/angular/src/schematics/add/index.ts @@ -1,20 +1,20 @@ import { - Rule, - SchematicContext, - SchematicsException, - Tree, apply, chain, mergeWith, move, + Rule, + SchematicContext, + SchematicsException, template, + Tree, url } from '@angular-devkit/schematics'; -import { Path, join } from '@angular-devkit/core'; +import { join, Path } from '@angular-devkit/core'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import { addPackageToPackageJson } from './../utils/package'; import { addModuleImportToRootModule } from './../utils/ast'; -import { addStyle, getWorkspace, addArchitectBuilder } from './../utils/config'; +import { addArchitectBuilder, addStyle, getWorkspace } from './../utils/config'; import { Schema as IonAddOptions } from './schema'; function addIonicAngularToPackageJson(): Rule { @@ -36,10 +36,11 @@ function addIonicAngularToolkitToPackageJson(): Rule { }; } -function addIonicAngularModuleToAppModule(): Rule { +function addIonicAngularModuleToAppModule(projectSourceRoot): Rule { return (host: Tree) => { addModuleImportToRootModule( host, + projectSourceRoot, 'IonicModule.forRoot()', '@ionic/angular' ); @@ -118,14 +119,14 @@ export default function ngAdd(options: IonAddOptions): Rule { const sourcePath = join(project.root as Path, 'src'); const rootTemplateSource = apply(url('./files/root'), [ - template({ ...options }), + template({...options}), move(sourcePath) ]); return chain([ // @ionic/angular addIonicAngularToPackageJson(), addIonicAngularToolkitToPackageJson(), - addIonicAngularModuleToAppModule(), + addIonicAngularModuleToAppModule(sourcePath), addIonicBuilder(), addIonicStyles(), mergeWith(rootTemplateSource), diff --git a/angular/src/schematics/utils/ast.ts b/angular/src/schematics/utils/ast.ts index 9825cebf9d5..f29afddddf9 100644 --- a/angular/src/schematics/utils/ast.ts +++ b/angular/src/schematics/utils/ast.ts @@ -27,12 +27,13 @@ export function getSourceFile(host: Tree, path: string): ts.SourceFile { */ export function addModuleImportToRootModule( host: Tree, + projectSourceRoot, moduleName: string, importSrc: string ) { addModuleImportToModule( host, - normalize(`src/app/app.module.ts`), + normalize(`${projectSourceRoot}/app/app.module.ts`), moduleName, importSrc );