From e27b2a7a5302f01ae7f48c8e02f757086eaf431a Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Fri, 6 Apr 2018 12:25:22 -0400 Subject: [PATCH] convert to ngtools/webpack for aot compilation --- jslib | 2 +- package-lock.json | 156 +++++++++++++++++- package.json | 3 + src/app/accounts/environment.component.ts | 4 +- src/app/accounts/hint.component.ts | 4 +- src/app/accounts/lock.component.ts | 4 +- src/app/accounts/login.component.ts | 4 +- src/app/accounts/premium.component.ts | 4 +- src/app/accounts/register.component.ts | 4 +- src/app/accounts/settings.component.ts | 4 +- .../accounts/two-factor-options.component.ts | 4 +- src/app/accounts/two-factor.component.ts | 4 +- src/app/app.d.ts | 1 - src/app/modal.component.ts | 2 - src/app/services/services.module.ts | 2 +- src/app/vault/add-edit.component.ts | 4 +- src/app/vault/attachments.component.ts | 4 +- src/app/vault/ciphers.component.ts | 4 +- src/app/vault/folder-add-edit.component.ts | 4 +- src/app/vault/groupings.component.ts | 4 +- .../password-generator-history.component.ts | 4 +- .../vault/password-generator.component.html | 2 +- src/app/vault/password-generator.component.ts | 4 +- src/app/vault/vault.component.html | 2 +- src/app/vault/vault.component.ts | 4 +- src/app/vault/view.component.ts | 4 +- src/global.d.ts | 1 - webpack.renderer.js | 11 +- 28 files changed, 185 insertions(+), 69 deletions(-) delete mode 100644 src/app/app.d.ts diff --git a/jslib b/jslib index db83cab552..69afd7923b 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit db83cab552296c609bc3dc6841070ec7fa231818 +Subproject commit 69afd7923ba13cd1248425ae142fad69437167cb diff --git a/package-lock.json b/package-lock.json index 5618cfd324..2d66f9f6af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,6 +60,26 @@ "tslib": "1.8.1" } }, + "@angular/compiler-cli": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.0.tgz", + "integrity": "sha512-+Kef4NjuHwLj2hRPdVo4yAtPmv+kn0Nu/ShmKfaEK4mt9aaQMFxKNt6beUuDK5iUPMB5nuTCZ4bqEFpqd+EtxQ==", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "minimist": "1.2.0", + "reflect-metadata": "0.1.12", + "tsickle": "0.26.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "@angular/core": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.0.tgz", @@ -116,6 +136,70 @@ "tslib": "1.8.1" } }, + "@ngtools/webpack": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.10.2.tgz", + "integrity": "sha512-3u2zg2rarG3qNLSukBClGADWuq/iNn5SQtlSeAbfKzwBeyLGbF0gN1z1tVx1Bcr8YwFzR6NdRePQmJGcoqq1fg==", + "dev": true, + "requires": { + "chalk": "2.2.2", + "enhanced-resolve": "3.4.1", + "loader-utils": "1.1.0", + "magic-string": "0.22.5", + "semver": "5.5.0", + "source-map": "0.5.7", + "tree-kill": "1.2.0", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", + "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, "@types/keytar": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/keytar/-/keytar-4.0.1.tgz", @@ -129,9 +213,9 @@ "dev": true }, "@types/node": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.0.tgz", - "integrity": "sha512-LVPrm5uzrma9ThwNiCgXWtsiXgPgUyEBzJJUJ8zcY0z/Dfdwa1mZ6PR51/mTKourRKnpEx/gwDHYUiY0Z/Juzg==", + "version": "8.0.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.19.tgz", + "integrity": "sha512-VRQB+Q0L3YZWs45uRdpN9oWr82meL/8TrJ6faoKT5tp0uub2l/aRMhtm5fo68h7kjYKH60f9/bay1nF7ZpTW5g==", "dev": true }, "@types/node-forge": { @@ -2326,9 +2410,17 @@ "integrity": "sha512-0TV5Hy92g8ACnPn+PVol6a/2uk+khzmRtWxhah/FcKs6StCytm5hD14QqOdZxEdJN8HljXIVCayN/wJX+0wDiQ==", "dev": true, "requires": { - "@types/node": "8.9.0", + "@types/node": "8.10.2", "electron-download": "3.3.0", "extract-zip": "1.6.6" + }, + "dependencies": { + "@types/node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.2.tgz", + "integrity": "sha512-A6Uv1anbsCvrRDtaUXS2xZ5tlzD+Kg7yMRlSLFDy3z0r7KlGXDzL14vELXIAgpk2aJbU3XeZZQRcEkLkowT92g==", + "dev": true + } } }, "electron-builder": { @@ -5880,6 +5972,15 @@ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", "dev": true }, + "magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dev": true, + "requires": { + "vlq": "0.2.3" + } + }, "make-dir": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", @@ -8201,6 +8302,12 @@ } } }, + "reflect-metadata": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz", + "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==", + "dev": true + }, "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", @@ -9439,6 +9546,12 @@ "punycode": "1.4.1" } }, + "tree-kill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", + "dev": true + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -9736,6 +9849,35 @@ } } }, + "tsickle": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.26.0.tgz", + "integrity": "sha512-eWJ2CUfttGK0LqF9iJ/Avnxbj4M+fCyJ50Zag3wm73Fut1hsasPRHKxKdrMWVj4BMHnQNx7TO+DdNmLmJTSuNw==", + "dev": true, + "requires": { + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map": "0.5.7", + "source-map-support": "0.4.18" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + } + } + }, "tslib": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", @@ -10337,6 +10479,12 @@ "extsprintf": "1.3.0" } }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", diff --git a/package.json b/package.json index a9c80825a8..3409b217fd 100644 --- a/package.json +++ b/package.json @@ -177,8 +177,11 @@ } }, "devDependencies": { + "@angular/compiler-cli": "5.2.0", + "@ngtools/webpack": "1.10.2", "@types/keytar": "^4.0.1", "@types/lunr": "2.1.5", + "@types/node": "8.0.19", "@types/node-forge": "0.7.1", "@types/webcrypto": "0.0.28", "clean-webpack-plugin": "^0.1.17", diff --git a/src/app/accounts/environment.component.ts b/src/app/accounts/environment.component.ts index f9de7008da..0bf262497f 100644 --- a/src/app/accounts/environment.component.ts +++ b/src/app/accounts/environment.component.ts @@ -1,5 +1,3 @@ -import * as template from './environment.component.html'; - import { Component } from '@angular/core'; import { ToasterService } from 'angular2-toaster'; @@ -12,7 +10,7 @@ import { EnvironmentComponent as BaseEnvironmentComponent } from 'jslib/angular/ @Component({ selector: 'app-environment', - template: template, + templateUrl: 'environment.component.html', }) export class EnvironmentComponent extends BaseEnvironmentComponent { constructor(analytics: Angulartics2, toasterService: ToasterService, diff --git a/src/app/accounts/hint.component.ts b/src/app/accounts/hint.component.ts index 8f542845ca..bb84ff02f9 100644 --- a/src/app/accounts/hint.component.ts +++ b/src/app/accounts/hint.component.ts @@ -1,5 +1,3 @@ -import * as template from './hint.component.html'; - import { Component } from '@angular/core'; import { Router } from '@angular/router'; @@ -13,7 +11,7 @@ import { HintComponent as BaseHintComponent } from 'jslib/angular/components/hin @Component({ selector: 'app-hint', - template: template, + templateUrl: 'hint.component.html', }) export class HintComponent extends BaseHintComponent { constructor(router: Router, analytics: Angulartics2, diff --git a/src/app/accounts/lock.component.ts b/src/app/accounts/lock.component.ts index e6d99ab8b8..39fced9b16 100644 --- a/src/app/accounts/lock.component.ts +++ b/src/app/accounts/lock.component.ts @@ -1,5 +1,3 @@ -import * as template from './lock.component.html'; - import { Component } from '@angular/core'; import { Router } from '@angular/router'; @@ -16,7 +14,7 @@ import { LockComponent as BaseLockComponent } from 'jslib/angular/components/loc @Component({ selector: 'app-lock', - template: template, + templateUrl: 'lock.component.html', }) export class LockComponent extends BaseLockComponent { constructor(router: Router, analytics: Angulartics2, diff --git a/src/app/accounts/login.component.ts b/src/app/accounts/login.component.ts index ec15225df5..9b83382b1e 100644 --- a/src/app/accounts/login.component.ts +++ b/src/app/accounts/login.component.ts @@ -1,5 +1,3 @@ -import * as template from './login.component.html'; - import { Component, ComponentFactoryResolver, @@ -22,7 +20,7 @@ import { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/l @Component({ selector: 'app-login', - template: template, + templateUrl: 'login.component.html', }) export class LoginComponent extends BaseLoginComponent { @ViewChild('environment', { read: ViewContainerRef }) environmentModal: ViewContainerRef; diff --git a/src/app/accounts/premium.component.ts b/src/app/accounts/premium.component.ts index 3827a374ff..21ac299285 100644 --- a/src/app/accounts/premium.component.ts +++ b/src/app/accounts/premium.component.ts @@ -1,5 +1,3 @@ -import * as template from './premium.component.html'; - import { Component, OnInit, @@ -15,7 +13,7 @@ import { TokenService } from 'jslib/abstractions/token.service'; @Component({ selector: 'app-premium', - template: template, + templateUrl: 'premium.component.html', }) export class PremiumComponent implements OnInit { isPremium: boolean = false; diff --git a/src/app/accounts/register.component.ts b/src/app/accounts/register.component.ts index a2f2e7fa42..0867b5903c 100644 --- a/src/app/accounts/register.component.ts +++ b/src/app/accounts/register.component.ts @@ -1,5 +1,3 @@ -import * as template from './register.component.html'; - import { Component } from '@angular/core'; import { Router } from '@angular/router'; @@ -15,7 +13,7 @@ import { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/compon @Component({ selector: 'app-register', - template: template, + templateUrl: 'register.component.html', }) export class RegisterComponent extends BaseRegisterComponent { constructor(authService: AuthService, router: Router, diff --git a/src/app/accounts/settings.component.ts b/src/app/accounts/settings.component.ts index 3e71f53c9c..aaf2763582 100644 --- a/src/app/accounts/settings.component.ts +++ b/src/app/accounts/settings.component.ts @@ -1,5 +1,3 @@ -import * as template from './settings.component.html'; - import { Component, OnInit, @@ -19,7 +17,7 @@ import { ConstantsService } from 'jslib/services/constants.service'; @Component({ selector: 'app-settings', - template: template, + templateUrl: 'settings.component.html', }) export class SettingsComponent implements OnInit { lockOptions: any[]; diff --git a/src/app/accounts/two-factor-options.component.ts b/src/app/accounts/two-factor-options.component.ts index 6115898431..c649f8bd35 100644 --- a/src/app/accounts/two-factor-options.component.ts +++ b/src/app/accounts/two-factor-options.component.ts @@ -1,5 +1,3 @@ -import * as template from './two-factor-options.component.html'; - import { Component, } from '@angular/core'; import { Router } from '@angular/router'; @@ -16,7 +14,7 @@ import { @Component({ selector: 'app-two-factor-options', - template: template, + templateUrl: 'two-factor-options.component.html', }) export class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent { constructor(authService: AuthService, router: Router, diff --git a/src/app/accounts/two-factor.component.ts b/src/app/accounts/two-factor.component.ts index b509e26c30..bbe9bf8a14 100644 --- a/src/app/accounts/two-factor.component.ts +++ b/src/app/accounts/two-factor.component.ts @@ -1,5 +1,3 @@ -import * as template from './two-factor.component.html'; - import { Component, ComponentFactoryResolver, @@ -29,7 +27,7 @@ import { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/comp @Component({ selector: 'app-two-factor', - template: template, + templateUrl: 'two-factor.component.html', }) export class TwoFactorComponent extends BaseTwoFactorComponent { @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef; diff --git a/src/app/app.d.ts b/src/app/app.d.ts deleted file mode 100644 index 7bf7506fcf..0000000000 --- a/src/app/app.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module '*.html'; diff --git a/src/app/modal.component.ts b/src/app/modal.component.ts index 1435562c6c..a56d84fd61 100644 --- a/src/app/modal.component.ts +++ b/src/app/modal.component.ts @@ -1,5 +1,3 @@ -import * as template from './modal.component.html'; - import { Component, ComponentFactoryResolver, diff --git a/src/app/services/services.module.ts b/src/app/services/services.module.ts index c750b0d155..0ba68a6c33 100644 --- a/src/app/services/services.module.ts +++ b/src/app/services/services.module.ts @@ -109,7 +109,7 @@ environmentService.setUrlsFromStorage().then(() => { return syncService.fullSync(true); }); -function initFactory(): Function { +export function initFactory(): Function { return async () => { await i18nService.init(); await authService.init(); diff --git a/src/app/vault/add-edit.component.ts b/src/app/vault/add-edit.component.ts index 722edaebcc..cb38f8e94b 100644 --- a/src/app/vault/add-edit.component.ts +++ b/src/app/vault/add-edit.component.ts @@ -1,5 +1,3 @@ -import * as template from './add-edit.component.html'; - import { Component, OnChanges, @@ -18,7 +16,7 @@ import { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/componen @Component({ selector: 'app-vault-add-edit', - template: template, + templateUrl: 'add-edit.component.html', }) export class AddEditComponent extends BaseAddEditComponent implements OnChanges { constructor(cipherService: CipherService, folderService: FolderService, diff --git a/src/app/vault/attachments.component.ts b/src/app/vault/attachments.component.ts index 62324573e5..279b162326 100644 --- a/src/app/vault/attachments.component.ts +++ b/src/app/vault/attachments.component.ts @@ -1,5 +1,3 @@ -import * as template from './attachments.component.html'; - import { Component } from '@angular/core'; import { ToasterService } from 'angular2-toaster'; @@ -15,7 +13,7 @@ import { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/ @Component({ selector: 'app-vault-attachments', - template: template, + templateUrl: 'attachments.component.html', }) export class AttachmentsComponent extends BaseAttachmentsComponent { constructor(cipherService: CipherService, analytics: Angulartics2, diff --git a/src/app/vault/ciphers.component.ts b/src/app/vault/ciphers.component.ts index 0323e24e86..83bf1eef90 100644 --- a/src/app/vault/ciphers.component.ts +++ b/src/app/vault/ciphers.component.ts @@ -1,5 +1,3 @@ -import * as template from './ciphers.component.html'; - import { Component } from '@angular/core'; import { CipherService } from 'jslib/abstractions/cipher.service'; @@ -8,7 +6,7 @@ import { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/componen @Component({ selector: 'app-vault-ciphers', - template: template, + templateUrl: 'ciphers.component.html', }) export class CiphersComponent extends BaseCiphersComponent { constructor(cipherService: CipherService) { diff --git a/src/app/vault/folder-add-edit.component.ts b/src/app/vault/folder-add-edit.component.ts index 05e072b804..62b11d0e9c 100644 --- a/src/app/vault/folder-add-edit.component.ts +++ b/src/app/vault/folder-add-edit.component.ts @@ -1,5 +1,3 @@ -import * as template from './folder-add-edit.component.html'; - import { Component, EventEmitter, @@ -19,7 +17,7 @@ import { FolderView } from 'jslib/models/view/folderView'; @Component({ selector: 'app-folder-add-edit', - template: template, + templateUrl: 'folder-add-edit.component.html', }) export class FolderAddEditComponent implements OnInit { @Input() folderId: string; diff --git a/src/app/vault/groupings.component.ts b/src/app/vault/groupings.component.ts index 7dd03ed38d..d3ce89619f 100644 --- a/src/app/vault/groupings.component.ts +++ b/src/app/vault/groupings.component.ts @@ -1,5 +1,3 @@ -import * as template from './groupings.component.html'; - import { Component } from '@angular/core'; import { CollectionService } from 'jslib/abstractions/collection.service'; @@ -9,7 +7,7 @@ import { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/comp @Component({ selector: 'app-vault-groupings', - template: template, + templateUrl: 'groupings.component.html', }) export class GroupingsComponent extends BaseGroupingsComponent { constructor(collectionService: CollectionService, folderService: FolderService) { diff --git a/src/app/vault/password-generator-history.component.ts b/src/app/vault/password-generator-history.component.ts index 90144ee561..025c291f6c 100644 --- a/src/app/vault/password-generator-history.component.ts +++ b/src/app/vault/password-generator-history.component.ts @@ -1,5 +1,3 @@ -import * as template from './password-generator-history.component.html'; - import { ToasterService } from 'angular2-toaster'; import { Angulartics2 } from 'angulartics2'; @@ -15,7 +13,7 @@ import { @Component({ selector: 'app-password-generator-history', - template: template, + templateUrl: 'password-generator-history.component.html', }) export class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent { constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2, diff --git a/src/app/vault/password-generator.component.html b/src/app/vault/password-generator.component.html index 4a4ed438b2..ab017e058d 100644 --- a/src/app/vault/password-generator.component.html +++ b/src/app/vault/password-generator.component.html @@ -6,7 +6,7 @@