├── .gitattributes ├── .vscode └── settings.json ├── 9781484244470.jpg ├── Contributing.md ├── LICENSE.txt ├── README.md ├── chapter02 ├── 01 │ └── lovely-offline │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── README.md │ │ ├── angular.json │ │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ └── app.module.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ │ ├── tsconfig.json │ │ └── tslint.json ├── 02 │ └── lovely-offline │ │ ├── .editorconfig │ │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ │ ├── .firebaserc │ │ ├── .gitignore │ │ ├── README.md │ │ ├── angular.json │ │ ├── database.rules.json │ │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ │ ├── firebase.json │ │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ └── app.module.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ │ ├── tsconfig.json │ │ └── tslint.json └── 03 │ └── lovely-offline │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── lovely-offline │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ └── app.module.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.scss │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ └── app.module.ts │ ├── assets │ │ └── .gitkeep │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── main.ts │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter03 ├── 01-material-design-and-core-shared-modules-setup │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── core.module.spec.ts │ │ │ │ └── core.module.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ └── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── 02-login-signup-profile │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── core.module.spec.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── firebaseAuth.service.spec.ts │ │ │ │ └── firebaseAuth.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 03-note-list-add-edit-update-delete │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ └── snack-bar.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ └── .gitkeep │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── main.ts │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter04 ├── 01-simple-service-worker │ ├── index.html │ ├── package-lock.json │ ├── package.json │ └── service-worker.js ├── 02-simple-service-worker-with-cache │ ├── app.js │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── service-worker.js │ └── style.css ├── 03-analyze-using-lighthouse │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 04-support-for-pwas-with-angular-cli │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ └── snack-bar.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter05 ├── 01-cache-strategies │ └── sw.js ├── 02-runtime-cache │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── 03-no-cache-route │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── modules │ │ │ │ ├── core │ │ │ │ │ ├── auth.guard.ts │ │ │ │ │ ├── auth.service.ts │ │ │ │ │ ├── core.module.ts │ │ │ │ │ ├── data.service.ts │ │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.component.html │ │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ │ └── footer.component.ts │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.component.html │ │ │ │ │ │ ├── header.component.scss │ │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ │ └── header.component.ts │ │ │ │ │ ├── layout.module.spec.ts │ │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ │ ├── note-card │ │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ │ └── note-card.component.ts │ │ │ │ │ ├── note-details │ │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ │ └── note-details.component.ts │ │ │ │ │ ├── note-form │ │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ │ └── note-form.component.ts │ │ │ │ │ ├── notes-add │ │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ │ └── notes-add.component.ts │ │ │ │ │ ├── notes-list │ │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ │ └── notes-list.component.ts │ │ │ │ │ ├── notes-routing.module.ts │ │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ │ ├── shared.module.spec.ts │ │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ │ ├── user-container.component.html │ │ │ │ │ ├── user-container.component.scss │ │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ │ ├── user-container.component.ts │ │ │ │ │ ├── user-routing.module.ts │ │ │ │ │ ├── user.module.spec.ts │ │ │ │ │ └── user.module.ts │ │ │ └── no-cache-route.component.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 04-notification-updates │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ └── snack-bar.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter06 └── 01-app-manifest │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── add-to-home-screen.service.ts │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ └── snack-bar.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter07 ├── 01-angular-7 │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── 02-app-shell │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 03-more-optimization │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app-shell │ │ │ ├── app-shell.component.css │ │ │ ├── app-shell.component.html │ │ │ ├── app-shell.component.spec.ts │ │ │ └── app-shell.component.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── app.server.module.ts │ │ ├── loading.component.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── add-to-home-screen.service.ts │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ └── snack-bar.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── lazy-fonts.js │ ├── main.server.ts │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.server.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter08 └── 01-push-notification │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app-shell │ │ │ ├── app-shell.component.css │ │ │ ├── app-shell.component.html │ │ │ ├── app-shell.component.spec.ts │ │ │ └── app-shell.component.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── app.server.module.ts │ │ ├── loading.component.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── add-to-home-screen.service.ts │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ └── snack-bar.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── lazy-fonts.js │ ├── main.server.ts │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.server.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter09 ├── .DS_Store ├── 01-pouchdb │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── config.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ ├── offline-db.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 02-firebase-presistent-db │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app-shell │ │ │ ├── app-shell.component.css │ │ │ ├── app-shell.component.html │ │ │ ├── app-shell.component.spec.ts │ │ │ └── app-shell.component.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── app.server.module.ts │ │ ├── loading.component.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── add-to-home-screen.service.ts │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ └── snack-bar.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── lazy-fonts.js │ ├── main.server.ts │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.server.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter10 ├── .DS_Store ├── index.html ├── lighthouse-chrome-launcher.js ├── lighthouse-puppeteer.js ├── main.js ├── package-lock.json ├── package.json ├── service-worker.js └── service-worker.test.js ├── chapter11 ├── 01-safety-worker │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 02-kill-switch │ └── extended-safety-worker.js ├── chapter12 ├── 01-credential-management-API │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── credential-management.service.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── homepage │ │ │ │ ├── home-routing.module.ts │ │ │ │ ├── home.module.ts │ │ │ │ └── homepage.component.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── 02-payment-request-API │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ ├── snack-bar.service.ts │ │ │ │ └── web-payment.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ │ └── payment-details.json │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── 03-camera-and-microphone-API │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── 04-geolocation-API │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ ├── geolocation.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── 05-web-bluetooth-API │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ ├── snack-bar.service.ts │ │ │ │ └── wbe-bluetooth.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 06-web-USB-API │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── ngsw-config.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app-shell │ │ │ ├── app-shell.component.css │ │ │ ├── app-shell.component.html │ │ │ ├── app-shell.component.spec.ts │ │ │ └── app-shell.component.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── app.server.module.ts │ │ ├── loading.component.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── add-to-home-screen.service.ts │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ ├── snack-bar.service.ts │ │ │ └── web-usb.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── lazy-fonts.js │ ├── main.server.ts │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.server.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json ├── chapter13 ├── 01-starter │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── backup_ngsw-config.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ └── snack-bar.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ └── tslint.json └── 02-workbox-setup │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── backup_ngsw-config.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app-shell │ │ │ ├── app-shell.component.css │ │ │ ├── app-shell.component.html │ │ │ ├── app-shell.component.spec.ts │ │ │ └── app-shell.component.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── app.server.module.ts │ │ ├── loading.component.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── add-to-home-screen.service.ts │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ ├── snack-bar.service.ts │ │ │ └── window-ref.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── lazy-fonts.js │ ├── main.server.ts │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── sw-source.js │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.server.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ ├── tslint.json │ └── workbox-config.js ├── chapter14 ├── 01-broadcast-channel │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── backup_ngsw-config.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ ├── snack-bar.service.ts │ │ │ │ └── window-ref.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── sw-source.js │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ ├── tslint.json │ └── workbox-config.js ├── 02-background-sync │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── backup_ngsw-config.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── simple-express-server.js │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ ├── snack-bar.service.ts │ │ │ │ └── window-ref.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── sw-source.js │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ ├── tslint.json │ └── workbox-config.js ├── 03-push-notification │ ├── .editorconfig │ ├── .firebase │ │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── backup_ngsw-config.json │ ├── database.rules.json │ ├── e2e │ │ ├── protractor.conf.js │ │ ├── src │ │ │ ├── app.e2e-spec.ts │ │ │ └── app.po.ts │ │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ │ ├── .eslintrc.json │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── simple-express-server.js │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app-shell │ │ │ │ ├── app-shell.component.css │ │ │ │ ├── app-shell.component.html │ │ │ │ ├── app-shell.component.spec.ts │ │ │ │ └── app-shell.component.ts │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.server.module.ts │ │ │ ├── loading.component.ts │ │ │ └── modules │ │ │ │ ├── core │ │ │ │ ├── add-to-home-screen.service.ts │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── core.module.ts │ │ │ │ ├── data.service.ts │ │ │ │ ├── push.service.ts │ │ │ │ ├── snack-bar.service.ts │ │ │ │ └── window-ref.service.ts │ │ │ │ ├── layout │ │ │ │ ├── footer │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.scss │ │ │ │ │ ├── footer.component.spec.ts │ │ │ │ │ └── footer.component.ts │ │ │ │ ├── header │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ └── header.component.ts │ │ │ │ ├── layout.module.spec.ts │ │ │ │ └── layout.module.ts │ │ │ │ ├── notes │ │ │ │ ├── note-card │ │ │ │ │ ├── note-card.component.html │ │ │ │ │ ├── note-card.component.scss │ │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ │ └── note-card.component.ts │ │ │ │ ├── note-details │ │ │ │ │ ├── note-details.component.html │ │ │ │ │ ├── note-details.component.scss │ │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ │ └── note-details.component.ts │ │ │ │ ├── note-form │ │ │ │ │ ├── note-form.component.html │ │ │ │ │ ├── note-form.component.scss │ │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ │ └── note-form.component.ts │ │ │ │ ├── notes-add │ │ │ │ │ ├── notes-add.component.html │ │ │ │ │ ├── notes-add.component.scss │ │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ │ └── notes-add.component.ts │ │ │ │ ├── notes-list │ │ │ │ │ ├── notes-list.component.html │ │ │ │ │ ├── notes-list.component.scss │ │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ │ └── notes-list.component.ts │ │ │ │ ├── notes-routing.module.ts │ │ │ │ └── notes.module.ts │ │ │ │ ├── shared │ │ │ │ ├── shared.module.spec.ts │ │ │ │ └── shared.module.ts │ │ │ │ └── user │ │ │ │ ├── user-container.component.html │ │ │ │ ├── user-container.component.scss │ │ │ │ ├── user-container.component.spec.ts │ │ │ │ ├── user-container.component.ts │ │ │ │ ├── user-routing.module.ts │ │ │ │ ├── user.module.spec.ts │ │ │ │ └── user.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── icon-72x72.png │ │ │ │ └── icon-96x96.png │ │ ├── browserslist │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── lazy-fonts.js │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── manifest.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── sw-source.js │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.server.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── tsconfig.json │ ├── tslint.json │ └── workbox-config.js └── 04-offline-analytics │ ├── .editorconfig │ ├── .firebase │ └── hosting.ZGlzdA.cache │ ├── .firebaserc │ ├── .gitignore │ ├── README.md │ ├── angular.json │ ├── backup_ngsw-config.json │ ├── database.rules.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json │ ├── firebase.json │ ├── functions │ ├── .eslintrc.json │ ├── index.js │ ├── package-lock.json │ └── package.json │ ├── package-lock.json │ ├── package.json │ ├── simple-express-server.js │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app-shell │ │ │ ├── app-shell.component.css │ │ │ ├── app-shell.component.html │ │ │ ├── app-shell.component.spec.ts │ │ │ └── app-shell.component.ts │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── app.server.module.ts │ │ ├── loading.component.ts │ │ └── modules │ │ │ ├── core │ │ │ ├── add-to-home-screen.service.ts │ │ │ ├── auth.guard.ts │ │ │ ├── auth.service.ts │ │ │ ├── core.module.ts │ │ │ ├── data.service.ts │ │ │ ├── snack-bar.service.ts │ │ │ └── window-ref.service.ts │ │ │ ├── layout │ │ │ ├── footer │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.scss │ │ │ │ ├── footer.component.spec.ts │ │ │ │ └── footer.component.ts │ │ │ ├── header │ │ │ │ ├── header.component.html │ │ │ │ ├── header.component.scss │ │ │ │ ├── header.component.spec.ts │ │ │ │ └── header.component.ts │ │ │ ├── layout.module.spec.ts │ │ │ └── layout.module.ts │ │ │ ├── notes │ │ │ ├── note-card │ │ │ │ ├── note-card.component.html │ │ │ │ ├── note-card.component.scss │ │ │ │ ├── note-card.component.spec.ts │ │ │ │ └── note-card.component.ts │ │ │ ├── note-details │ │ │ │ ├── note-details.component.html │ │ │ │ ├── note-details.component.scss │ │ │ │ ├── note-details.component.spec.ts │ │ │ │ └── note-details.component.ts │ │ │ ├── note-form │ │ │ │ ├── note-form.component.html │ │ │ │ ├── note-form.component.scss │ │ │ │ ├── note-form.component.spec.ts │ │ │ │ └── note-form.component.ts │ │ │ ├── notes-add │ │ │ │ ├── notes-add.component.html │ │ │ │ ├── notes-add.component.scss │ │ │ │ ├── notes-add.component.spec.ts │ │ │ │ └── notes-add.component.ts │ │ │ ├── notes-list │ │ │ │ ├── notes-list.component.html │ │ │ │ ├── notes-list.component.scss │ │ │ │ ├── notes-list.component.spec.ts │ │ │ │ └── notes-list.component.ts │ │ │ ├── notes-routing.module.ts │ │ │ └── notes.module.ts │ │ │ ├── shared │ │ │ ├── shared.module.spec.ts │ │ │ └── shared.module.ts │ │ │ └── user │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ ├── user-routing.module.ts │ │ │ ├── user.module.spec.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── lazy-fonts.js │ ├── main.server.ts │ ├── main.ts │ ├── manifest.json │ ├── polyfills.ts │ ├── styles.scss │ ├── sw-source.js │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.server.json │ ├── tsconfig.spec.json │ └── tslint.json │ ├── tsconfig.json │ ├── tslint.json │ └── workbox-config.js └── errata.md /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/.gitattributes -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | } -------------------------------------------------------------------------------- /9781484244470.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/9781484244470.jpg -------------------------------------------------------------------------------- /Contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/Contributing.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/README.md -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/.editorconfig -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/.gitignore -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/README.md -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/angular.json -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/package-lock.json -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/package.json -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/browserslist -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/favicon.ico -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/index.html -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/karma.conf.js -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/main.ts -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/polyfills.ts -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/styles.scss -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/test.ts -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/src/tslint.json -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/tsconfig.json -------------------------------------------------------------------------------- /chapter02/01/lovely-offline/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/01/lovely-offline/tslint.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/.editorconfig -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/.firebaserc -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/.gitignore -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/README.md -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/angular.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/database.rules.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/firebase.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/functions/index.js -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/package-lock.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/package.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/browserslist -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/favicon.ico -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/index.html -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/karma.conf.js -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/main.ts -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/polyfills.ts -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/styles.scss -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/test.ts -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/src/tslint.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/tsconfig.json -------------------------------------------------------------------------------- /chapter02/02/lovely-offline/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/02/lovely-offline/tslint.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/.editorconfig -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/.firebaserc -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/.gitignore -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/README.md -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/angular.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/database.rules.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/firebase.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/functions/index.js -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/lovely-offline/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/lovely-offline/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/lovely-offline/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/package-lock.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/package.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/browserslist -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/favicon.ico -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/index.html -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/karma.conf.js -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/main.ts -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/polyfills.ts -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/styles.scss -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/test.ts -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/src/tslint.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/tsconfig.json -------------------------------------------------------------------------------- /chapter02/03/lovely-offline/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter02/03/lovely-offline/tslint.json -------------------------------------------------------------------------------- /chapter03/01-material-design-and-core-shared-modules-setup/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter03/01-material-design-and-core-shared-modules-setup/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter03/01-material-design-and-core-shared-modules-setup/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/.editorconfig -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/.firebaserc -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/.gitignore -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/README.md -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/angular.json -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/firebase.json -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/package.json -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/src/index.html -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/src/main.ts -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/src/test.ts -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/tsconfig.json -------------------------------------------------------------------------------- /chapter03/02-login-signup-profile/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter03/02-login-signup-profile/tslint.json -------------------------------------------------------------------------------- /chapter03/03-note-list-add-edit-update-delete/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter03/03-note-list-add-edit-update-delete/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter03/03-note-list-add-edit-update-delete/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter03/03-note-list-add-edit-update-delete/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter03/03-note-list-add-edit-update-delete/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter03/03-note-list-add-edit-update-delete/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/01-simple-service-worker/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter04/01-simple-service-worker/index.html -------------------------------------------------------------------------------- /chapter04/01-simple-service-worker/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter04/01-simple-service-worker/package.json -------------------------------------------------------------------------------- /chapter04/02-simple-service-worker-with-cache/style.css: -------------------------------------------------------------------------------- 1 | .title { 2 | text-align: center; 3 | padding: 3rem; 4 | } 5 | -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter04/03-analyze-using-lighthouse/.gitignore -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter04/03-analyze-using-lighthouse/README.md -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/03-analyze-using-lighthouse/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/04-support-for-pwas-with-angular-cli/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter04/04-support-for-pwas-with-angular-cli/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/04-support-for-pwas-with-angular-cli/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/04-support-for-pwas-with-angular-cli/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/04-support-for-pwas-with-angular-cli/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter04/04-support-for-pwas-with-angular-cli/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/01-cache-strategies/sw.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/01-cache-strategies/sw.js -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/.editorconfig -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/.firebaserc -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/.gitignore -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/README.md -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/angular.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/database.rules.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/firebase.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/functions/index.js -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/ngsw-config.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/package-lock.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/package.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/browserslist -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/favicon.ico -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/index.html -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/karma.conf.js -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/main.ts -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/manifest.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/polyfills.ts -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/styles.scss -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/test.ts -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/src/tslint.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/tsconfig.json -------------------------------------------------------------------------------- /chapter05/02-runtime-cache/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/02-runtime-cache/tslint.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/.editorconfig -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/.firebaserc -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/.gitignore -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/README.md -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/angular.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/database.rules.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/firebase.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/functions/index.js -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/ngsw-config.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/package-lock.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/package.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/browserslist -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/favicon.ico -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/index.html -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/karma.conf.js -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/main.ts -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/manifest.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/polyfills.ts -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/styles.scss -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/test.ts -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/src/tslint.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/tsconfig.json -------------------------------------------------------------------------------- /chapter05/03-no-cache-route/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/03-no-cache-route/tslint.json -------------------------------------------------------------------------------- /chapter05/04-notification-updates/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/.editorconfig -------------------------------------------------------------------------------- /chapter05/04-notification-updates/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/.firebaserc -------------------------------------------------------------------------------- /chapter05/04-notification-updates/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/.gitignore -------------------------------------------------------------------------------- /chapter05/04-notification-updates/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/README.md -------------------------------------------------------------------------------- /chapter05/04-notification-updates/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/angular.json -------------------------------------------------------------------------------- /chapter05/04-notification-updates/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/firebase.json -------------------------------------------------------------------------------- /chapter05/04-notification-updates/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/package.json -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/src/index.html -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/src/main.ts -------------------------------------------------------------------------------- /chapter05/04-notification-updates/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/src/test.ts -------------------------------------------------------------------------------- /chapter05/04-notification-updates/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/tsconfig.json -------------------------------------------------------------------------------- /chapter05/04-notification-updates/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter05/04-notification-updates/tslint.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/.editorconfig -------------------------------------------------------------------------------- /chapter06/01-app-manifest/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/.firebaserc -------------------------------------------------------------------------------- /chapter06/01-app-manifest/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/.gitignore -------------------------------------------------------------------------------- /chapter06/01-app-manifest/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/README.md -------------------------------------------------------------------------------- /chapter06/01-app-manifest/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/angular.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/database.rules.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/e2e/protractor.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/e2e/protractor.conf.js -------------------------------------------------------------------------------- /chapter06/01-app-manifest/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter06/01-app-manifest/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/firebase.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/functions/index.js -------------------------------------------------------------------------------- /chapter06/01-app-manifest/functions/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/functions/package.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/ngsw-config.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/package-lock.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/package.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/browserslist -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/favicon.ico -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/index.html -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/karma.conf.js -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/main.ts -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/manifest.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/polyfills.ts -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/styles.scss -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/test.ts -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/tsconfig.spec.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/src/tslint.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/tsconfig.json -------------------------------------------------------------------------------- /chapter06/01-app-manifest/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter06/01-app-manifest/tslint.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/.editorconfig -------------------------------------------------------------------------------- /chapter07/01-angular-7/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/.firebaserc -------------------------------------------------------------------------------- /chapter07/01-angular-7/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/.gitignore -------------------------------------------------------------------------------- /chapter07/01-angular-7/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/README.md -------------------------------------------------------------------------------- /chapter07/01-angular-7/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/angular.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/database.rules.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/e2e/protractor.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/e2e/protractor.conf.js -------------------------------------------------------------------------------- /chapter07/01-angular-7/e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/e2e/src/app.e2e-spec.ts -------------------------------------------------------------------------------- /chapter07/01-angular-7/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter07/01-angular-7/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/firebase.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/functions/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/functions/.eslintrc.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/functions/index.js -------------------------------------------------------------------------------- /chapter07/01-angular-7/functions/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/functions/package.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/ngsw-config.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/package-lock.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/package.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/app/app.component.ts -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/browserslist -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/favicon.ico -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/index.html -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/karma.conf.js -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/main.ts -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/manifest.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/polyfills.ts -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/styles.scss -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/test.ts -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/tsconfig.spec.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/src/tslint.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/tsconfig.json -------------------------------------------------------------------------------- /chapter07/01-angular-7/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/01-angular-7/tslint.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/.editorconfig -------------------------------------------------------------------------------- /chapter07/02-app-shell/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/.firebaserc -------------------------------------------------------------------------------- /chapter07/02-app-shell/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/.gitignore -------------------------------------------------------------------------------- /chapter07/02-app-shell/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/README.md -------------------------------------------------------------------------------- /chapter07/02-app-shell/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/angular.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/database.rules.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/e2e/protractor.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/e2e/protractor.conf.js -------------------------------------------------------------------------------- /chapter07/02-app-shell/e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/e2e/src/app.e2e-spec.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/firebase.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/functions/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/functions/.eslintrc.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/functions/index.js -------------------------------------------------------------------------------- /chapter07/02-app-shell/functions/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/functions/package.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/ngsw-config.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/package-lock.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/package.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/app/app.component.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/browserslist -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/favicon.ico -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/index.html -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/karma.conf.js -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/main.server.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/main.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/manifest.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/polyfills.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/styles.scss -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/test.ts -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/tsconfig.server.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/tsconfig.server.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/tsconfig.spec.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/src/tslint.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/tsconfig.json -------------------------------------------------------------------------------- /chapter07/02-app-shell/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/02-app-shell/tslint.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/.editorconfig -------------------------------------------------------------------------------- /chapter07/03-more-optimization/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/.firebaserc -------------------------------------------------------------------------------- /chapter07/03-more-optimization/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/.gitignore -------------------------------------------------------------------------------- /chapter07/03-more-optimization/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/README.md -------------------------------------------------------------------------------- /chapter07/03-more-optimization/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/angular.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter07/03-more-optimization/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/firebase.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/ngsw-config.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/package-lock.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/package.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/browserslist -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/favicon.ico -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/index.html -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/karma.conf.js -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/main.ts -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/manifest.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/polyfills.ts -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/styles.scss -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/test.ts -------------------------------------------------------------------------------- /chapter07/03-more-optimization/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/src/tslint.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/tsconfig.json -------------------------------------------------------------------------------- /chapter07/03-more-optimization/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter07/03-more-optimization/tslint.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/.editorconfig -------------------------------------------------------------------------------- /chapter08/01-push-notification/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/.firebaserc -------------------------------------------------------------------------------- /chapter08/01-push-notification/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/.gitignore -------------------------------------------------------------------------------- /chapter08/01-push-notification/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/README.md -------------------------------------------------------------------------------- /chapter08/01-push-notification/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/angular.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter08/01-push-notification/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/firebase.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/ngsw-config.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/package-lock.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/package.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/browserslist -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/favicon.ico -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/index.html -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/karma.conf.js -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/main.ts -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/manifest.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/polyfills.ts -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/styles.scss -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/test.ts -------------------------------------------------------------------------------- /chapter08/01-push-notification/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/src/tslint.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/tsconfig.json -------------------------------------------------------------------------------- /chapter08/01-push-notification/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter08/01-push-notification/tslint.json -------------------------------------------------------------------------------- /chapter09/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/.DS_Store -------------------------------------------------------------------------------- /chapter09/01-pouchdb/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/.editorconfig -------------------------------------------------------------------------------- /chapter09/01-pouchdb/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/.firebaserc -------------------------------------------------------------------------------- /chapter09/01-pouchdb/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/.gitignore -------------------------------------------------------------------------------- /chapter09/01-pouchdb/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/README.md -------------------------------------------------------------------------------- /chapter09/01-pouchdb/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/angular.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/config.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/database.rules.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/e2e/protractor.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/e2e/protractor.conf.js -------------------------------------------------------------------------------- /chapter09/01-pouchdb/e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/e2e/src/app.e2e-spec.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/firebase.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/functions/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/functions/.eslintrc.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/functions/index.js -------------------------------------------------------------------------------- /chapter09/01-pouchdb/functions/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/functions/package-lock.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/functions/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/functions/package.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/ngsw-config.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/package-lock.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/package.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/app/app.component.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/browserslist -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/favicon.ico -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/index.html -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/karma.conf.js -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/main.server.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/main.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/manifest.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/polyfills.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/styles.scss -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/test.ts -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/tsconfig.server.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/tsconfig.server.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/tsconfig.spec.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/src/tslint.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/tsconfig.json -------------------------------------------------------------------------------- /chapter09/01-pouchdb/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/01-pouchdb/tslint.json -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/.firebaserc -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/.gitignore -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/README.md -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/angular.json -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/package.json -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/src/main.ts -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/src/test.ts -------------------------------------------------------------------------------- /chapter09/02-firebase-presistent-db/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter09/02-firebase-presistent-db/tslint.json -------------------------------------------------------------------------------- /chapter10/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/.DS_Store -------------------------------------------------------------------------------- /chapter10/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/index.html -------------------------------------------------------------------------------- /chapter10/lighthouse-chrome-launcher.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/lighthouse-chrome-launcher.js -------------------------------------------------------------------------------- /chapter10/lighthouse-puppeteer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/lighthouse-puppeteer.js -------------------------------------------------------------------------------- /chapter10/main.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter10/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/package-lock.json -------------------------------------------------------------------------------- /chapter10/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/package.json -------------------------------------------------------------------------------- /chapter10/service-worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/service-worker.js -------------------------------------------------------------------------------- /chapter10/service-worker.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter10/service-worker.test.js -------------------------------------------------------------------------------- /chapter11/01-safety-worker/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/.editorconfig -------------------------------------------------------------------------------- /chapter11/01-safety-worker/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/.firebaserc -------------------------------------------------------------------------------- /chapter11/01-safety-worker/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/.gitignore -------------------------------------------------------------------------------- /chapter11/01-safety-worker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/README.md -------------------------------------------------------------------------------- /chapter11/01-safety-worker/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/angular.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/database.rules.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter11/01-safety-worker/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/firebase.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/functions/index.js -------------------------------------------------------------------------------- /chapter11/01-safety-worker/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/ngsw-config.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/package-lock.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/package.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/browserslist -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/favicon.ico -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/index.html -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/karma.conf.js -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/main.server.ts -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/main.ts -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/manifest.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/polyfills.ts -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/styles.scss -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/test.ts -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/src/tslint.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/tsconfig.json -------------------------------------------------------------------------------- /chapter11/01-safety-worker/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter11/01-safety-worker/tslint.json -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/01-credential-management-API/README.md -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/01-credential-management-API/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/.editorconfig -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/.firebaserc -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/.gitignore -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/README.md -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/angular.json -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/firebase.json -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/package.json -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/src/favicon.ico -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/src/index.html -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/src/main.ts -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/src/styles.scss -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/src/test.ts -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/src/tslint.json -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/tsconfig.json -------------------------------------------------------------------------------- /chapter12/02-payment-request-API/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/02-payment-request-API/tslint.json -------------------------------------------------------------------------------- /chapter12/03-camera-and-microphone-API/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/03-camera-and-microphone-API/README.md -------------------------------------------------------------------------------- /chapter12/03-camera-and-microphone-API/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/03-camera-and-microphone-API/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter12/03-camera-and-microphone-API/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/03-camera-and-microphone-API/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/03-camera-and-microphone-API/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/03-camera-and-microphone-API/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/.editorconfig -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/.firebaserc -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/.gitignore -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/README.md -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/angular.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/database.rules.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/firebase.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/functions/index.js -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/ngsw-config.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/package-lock.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/package.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/browserslist -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/favicon.ico -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/index.html -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/karma.conf.js -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/main.server.ts -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/main.ts -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/manifest.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/polyfills.ts -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/styles.scss -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/test.ts -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/src/tslint.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/tsconfig.json -------------------------------------------------------------------------------- /chapter12/04-geolocation-API/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/04-geolocation-API/tslint.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/.editorconfig -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/.firebaserc -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/.gitignore -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/README.md -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/angular.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/firebase.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/ngsw-config.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/package-lock.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/package.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/src/browserslist -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/src/favicon.ico -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/src/index.html -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/src/main.ts -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/src/styles.scss -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/src/test.ts -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/src/tslint.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/tsconfig.json -------------------------------------------------------------------------------- /chapter12/05-web-bluetooth-API/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/05-web-bluetooth-API/tslint.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/.editorconfig -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/.firebaserc -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/.gitignore -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/README.md -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/angular.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/database.rules.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/firebase.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/functions/index.js -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/ngsw-config.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/package-lock.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/package.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/browserslist -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/favicon.ico -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/index.html -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/karma.conf.js -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/main.server.ts -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/main.ts -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/manifest.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/polyfills.ts -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/styles.scss -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/test.ts -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/src/tslint.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/tsconfig.json -------------------------------------------------------------------------------- /chapter12/06-web-USB-API/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter12/06-web-USB-API/tslint.json -------------------------------------------------------------------------------- /chapter13/01-starter/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/.editorconfig -------------------------------------------------------------------------------- /chapter13/01-starter/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/.firebaserc -------------------------------------------------------------------------------- /chapter13/01-starter/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/.gitignore -------------------------------------------------------------------------------- /chapter13/01-starter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/README.md -------------------------------------------------------------------------------- /chapter13/01-starter/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/angular.json -------------------------------------------------------------------------------- /chapter13/01-starter/backup_ngsw-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/backup_ngsw-config.json -------------------------------------------------------------------------------- /chapter13/01-starter/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/database.rules.json -------------------------------------------------------------------------------- /chapter13/01-starter/e2e/protractor.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/e2e/protractor.conf.js -------------------------------------------------------------------------------- /chapter13/01-starter/e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/e2e/src/app.e2e-spec.ts -------------------------------------------------------------------------------- /chapter13/01-starter/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter13/01-starter/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/e2e/tsconfig.e2e.json -------------------------------------------------------------------------------- /chapter13/01-starter/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/firebase.json -------------------------------------------------------------------------------- /chapter13/01-starter/functions/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/functions/.eslintrc.json -------------------------------------------------------------------------------- /chapter13/01-starter/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/functions/index.js -------------------------------------------------------------------------------- /chapter13/01-starter/functions/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/functions/package.json -------------------------------------------------------------------------------- /chapter13/01-starter/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/package-lock.json -------------------------------------------------------------------------------- /chapter13/01-starter/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/package.json -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/app/app.component.ts -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/app/app.module.ts -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/01-starter/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/01-starter/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/01-starter/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/browserslist -------------------------------------------------------------------------------- /chapter13/01-starter/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/favicon.ico -------------------------------------------------------------------------------- /chapter13/01-starter/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/index.html -------------------------------------------------------------------------------- /chapter13/01-starter/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/karma.conf.js -------------------------------------------------------------------------------- /chapter13/01-starter/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter13/01-starter/src/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/main.server.ts -------------------------------------------------------------------------------- /chapter13/01-starter/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/main.ts -------------------------------------------------------------------------------- /chapter13/01-starter/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/manifest.json -------------------------------------------------------------------------------- /chapter13/01-starter/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/polyfills.ts -------------------------------------------------------------------------------- /chapter13/01-starter/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/styles.scss -------------------------------------------------------------------------------- /chapter13/01-starter/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/test.ts -------------------------------------------------------------------------------- /chapter13/01-starter/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/tsconfig.app.json -------------------------------------------------------------------------------- /chapter13/01-starter/src/tsconfig.server.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/tsconfig.server.json -------------------------------------------------------------------------------- /chapter13/01-starter/src/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/tsconfig.spec.json -------------------------------------------------------------------------------- /chapter13/01-starter/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/src/tslint.json -------------------------------------------------------------------------------- /chapter13/01-starter/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/tsconfig.json -------------------------------------------------------------------------------- /chapter13/01-starter/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/01-starter/tslint.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/.editorconfig -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/.firebaserc -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/.gitignore -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/README.md -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/angular.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/database.rules.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/database.rules.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/firebase.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/functions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/functions/index.js -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/package-lock.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/package.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/browserslist -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/favicon.ico -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/index.html -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/karma.conf.js -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/main.server.ts -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/main.ts -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/manifest.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/polyfills.ts -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/styles.scss -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/sw-source.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/sw-source.js -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/test.ts -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/src/tslint.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/tsconfig.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/tslint.json -------------------------------------------------------------------------------- /chapter13/02-workbox-setup/workbox-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter13/02-workbox-setup/workbox-config.js -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/.editorconfig -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/.firebaserc -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/.gitignore -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/README.md -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/angular.json -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/firebase.json -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/package.json -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/src/favicon.ico -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/src/index.html -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/src/main.ts -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/src/styles.scss -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/src/test.ts -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/src/tslint.json -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/tsconfig.json -------------------------------------------------------------------------------- /chapter14/01-broadcast-channel/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/01-broadcast-channel/tslint.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/.editorconfig -------------------------------------------------------------------------------- /chapter14/02-background-sync/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/.firebaserc -------------------------------------------------------------------------------- /chapter14/02-background-sync/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/.gitignore -------------------------------------------------------------------------------- /chapter14/02-background-sync/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/README.md -------------------------------------------------------------------------------- /chapter14/02-background-sync/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/angular.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/e2e/src/app.po.ts -------------------------------------------------------------------------------- /chapter14/02-background-sync/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/firebase.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/package-lock.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/package.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/browserslist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/browserslist -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/favicon.ico -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/index.html -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/karma.conf.js -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/lazy-fonts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/lazy-fonts.js -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/main.ts -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/manifest.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/polyfills.ts -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/styles.scss -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/sw-source.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/sw-source.js -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/test.ts -------------------------------------------------------------------------------- /chapter14/02-background-sync/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/src/tslint.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/tsconfig.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/tslint.json -------------------------------------------------------------------------------- /chapter14/02-background-sync/workbox-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/02-background-sync/workbox-config.js -------------------------------------------------------------------------------- /chapter14/03-push-notification/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/.editorconfig -------------------------------------------------------------------------------- /chapter14/03-push-notification/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/.firebaserc -------------------------------------------------------------------------------- /chapter14/03-push-notification/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/.gitignore -------------------------------------------------------------------------------- /chapter14/03-push-notification/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/README.md -------------------------------------------------------------------------------- /chapter14/03-push-notification/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/angular.json -------------------------------------------------------------------------------- /chapter14/03-push-notification/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/firebase.json -------------------------------------------------------------------------------- /chapter14/03-push-notification/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/package.json -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/src/favicon.ico -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/src/index.html -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/src/main.ts -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/src/styles.scss -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/src/test.ts -------------------------------------------------------------------------------- /chapter14/03-push-notification/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/src/tslint.json -------------------------------------------------------------------------------- /chapter14/03-push-notification/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/tsconfig.json -------------------------------------------------------------------------------- /chapter14/03-push-notification/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/03-push-notification/tslint.json -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/.editorconfig -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/.firebaserc -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/.gitignore -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/README.md -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/angular.json -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/firebase.json -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/package.json -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/app/app-shell/app-shell.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/app/modules/layout/header/header.component.scss: -------------------------------------------------------------------------------- 1 | .space-between { 2 | flex:1; 3 | } -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/app/modules/notes/note-card/note-card.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/app/modules/notes/note-details/note-details.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/app/modules/notes/notes-add/notes-add.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/app/modules/notes/notes-list/notes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/src/favicon.ico -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/src/index.html -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/src/main.ts -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/src/styles.scss -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/src/test.ts -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/src/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/src/tslint.json -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/tsconfig.json -------------------------------------------------------------------------------- /chapter14/04-offline-analytics/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/chapter14/04-offline-analytics/tslint.json -------------------------------------------------------------------------------- /errata.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/progressive-web-apps-with-Angular/HEAD/errata.md --------------------------------------------------------------------------------