Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
Area
- [ ] devkit
- [x] schematics
Versions
Repro steps
- Create an Angular 6 application
- If not present, create a
index.ts in the App module folder with at least the following content:
export * from './app.module';
- In the
main.ts, import the App module indirectly by using its parent folder:
import './polyfills.ts';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
import { AppModule } from './app'; // works because ./app/index.ts exports AppModule
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);
- Now use angular CLI to add PWA
$ ng add @angular/pwa --project <your-project-name-from-angular-json>
The log given by the failure
Installing packages for tooling via npm.
+ @angular/pwa@0.6.8
updated 1 package in 11.487s
Installed packages for tooling via npm.
Could not read file (/src/app.ts).
Desired functionality
Make PWA install work even when importing the AppModule indirectly (through an index.ts).
To be more accurate, the findBootstrapModulePath function from ng-ast-utils.d.ts should properly identify the AppModule path in this setup.
|
export function findBootstrapModulePath(host: Tree, mainPath: string): string { |
This method is called by updateAppModule from
|
const modulePath = getAppModulePath(host, mainPath); |
The failure occurs when trying to update the content of a file which does not exists. Checking the file exists and displaying a better message would also help.
Mention any other details that might be useful
The issue was encountered when attempting to add PWA to our NGXP Seed web side.
$ git clone https://github.com/Monogramm/ngxp-seed.git
$ git checkout develop
$ ng add @angular/pwa --project web
Since we managed to find out the root cause, the workaround of using the complete path will be used for now.
Bug Report or Feature Request (mark with an
x)Area
Versions
Repro steps
index.tsin the App module folder with at least the following content:main.ts, import the App module indirectly by using its parent folder:The log given by the failure
Desired functionality
Make PWA install work even when importing the AppModule indirectly (through an
index.ts).To be more accurate, the
findBootstrapModulePathfunction fromng-ast-utils.d.tsshould properly identify the AppModule path in this setup.angular-cli/packages/schematics/angular/utility/ng-ast-utils.ts
Line 49 in 44086c6
This method is called by
updateAppModulefromangular-cli/packages/schematics/angular/service-worker/index.ts
Line 99 in 8ce5ef4
The failure occurs when trying to update the content of a file which does not exists. Checking the file exists and displaying a better message would also help.
Mention any other details that might be useful
The issue was encountered when attempting to add PWA to our NGXP Seed web side.
Since we managed to find out the root cause, the workaround of using the complete path will be used for now.