update to angular 12

This commit is contained in:
Matt Hill
2021-08-10 18:53:39 -06:00
committed by Aiden McClelland
parent 58678522ff
commit 1fe9c6ffdf
19 changed files with 12735 additions and 10234 deletions

View File

@@ -14,6 +14,7 @@
"build": { "build": {
"builder": "@angular-devkit/build-angular:browser", "builder": "@angular-devkit/build-angular:browser",
"options": { "options": {
"allowedCommonJsDependencies": ["json-pointer"],
"outputPath": "www", "outputPath": "www",
"index": "src/index.html", "index": "src/index.html",
"main": "src/main.ts", "main": "src/main.ts",
@@ -29,21 +30,16 @@
"glob": "**/*.svg", "glob": "**/*.svg",
"input": "node_modules/ionicons/dist/ionicons/svg", "input": "node_modules/ionicons/dist/ionicons/svg",
"output": "./svg" "output": "./svg"
},
{
"glob": "**/*.svg",
"input": "src/assets/icon",
"output": "./svg"
}
],
"styles": [
{
"input": "src/theme/variables.scss"
},
{
"input": "src/global.scss"
} }
], ],
"styles": ["src/theme/variables.scss", "src/global.scss"],
"aot": false,
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true,
"scripts": [] "scripts": []
}, },
"configurations": { "configurations": {
@@ -96,13 +92,11 @@
} }
}, },
"lint": { "lint": {
"builder": "@angular-devkit/build-angular:tslint", "builder": "@angular-eslint/builder:lint",
"options": { "options": {
"tsConfig": [ "lintFilePatterns": [
"tsconfig.json" "src/**/*.ts",
], "src/**/*.html"
"exclude": [
"**/node_modules/**"
] ]
} }
}, },

22807
ui/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,49 +9,47 @@
"start": "ng serve", "start": "ng serve",
"build": "ng build", "build": "ng build",
"build-prod": "ng build --prod && tsc postprocess.ts && node postprocess.js && git log | head -n1 > www/git-hash.txt", "build-prod": "ng build --prod && tsc postprocess.ts && node postprocess.js && git log | head -n1 > www/git-hash.txt",
"test": "ng test", "lint": "ng lint"
"lint": "ng lint",
"e2e": "ng e2e"
}, },
"dependencies": { "dependencies": {
"@angular/common": "^11.0.0", "@angular/common": "12.2.0",
"@angular/core": "^11.0.0", "@angular/core": "12.2.0",
"@angular/forms": "^11.0.0", "@angular/forms": "12.2.0",
"@angular/platform-browser": "^11.0.0", "@angular/platform-browser": "12.2.0",
"@angular/platform-browser-dynamic": "^11.0.0", "@angular/platform-browser-dynamic": "12.2.0",
"@angular/router": "^11.0.0", "@angular/router": "12.2.0",
"@ionic/angular": "^5.6.0", "@ionic/angular": "5.6.13",
"@ionic/storage": "^3.0.0", "@ionic/storage-angular": "3.0.6",
"@ionic/storage-angular": "^3.0.0", "@start9labs/emver": "0.1.4",
"@start9labs/emver": "^0.1.4", "ajv": "6.12.6",
"ajv": "^6.12.6", "compare-versions": "3.6.0",
"angularx-qrcode": "^11.0.0", "core-js": "3.16.1",
"compare-versions": "^3.5.0", "json-pointer": "0.6.1",
"core-js": "^3.4.0", "jsonpointerx": "1.1.3",
"handlebars": "^4.7.6", "marked": "2.1.3",
"json-pointer": "^0.6.1", "mustache": "^4.2.0",
"jsonpointerx": "^1.0.30", "ng-qrcode": "^5.0.0",
"marked": "^2.0.0",
"patch-db-client": "file: ../../../../patch-db/client", "patch-db-client": "file: ../../../../patch-db/client",
"rxjs": "^6.6.0", "rxjs": "6.6.7",
"uuid": "^8.3.0", "uuid": "8.3.2",
"zone.js": "^0.11.2" "zone.js": "0.11.4"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "^0.1102.0", "@angular-devkit/build-angular": "12.2.0",
"@angular/cli": "^11.0.0", "@angular/cli": "12.2.0",
"@angular/compiler": "^11.0.0", "@angular/compiler": "12.2.0",
"@angular/compiler-cli": "^11.0.0", "@angular/compiler-cli": "12.2.0",
"@angular/language-service": "^11.0.0", "@angular/language-service": "12.2.0",
"@ionic/angular-toolkit": "^3.0.0", "@ionic/angular-toolkit": "4.0.0",
"@ionic/lab": "^3.2.9", "@types/json-pointer": "1.0.31",
"@types/json-pointer": "^1.0.30", "@types/marked": "2.0.4",
"@types/marked": "^2.0.0", "@types/mustache": "^4.1.2",
"@types/node": "^15.0.0", "@types/node": "16.4.13",
"@types/uuid": "^8.0.0", "@types/uuid": "8.3.1",
"node-html-parser": "^3.2.0", "node-html-parser": "4.1.3",
"ts-node": "^9.1.0", "raw-loader": "^4.0.2",
"tslint": "^6.1.0", "ts-node": "10.2.0",
"typescript": "4.1.5" "tslint": "6.1.3",
"typescript": "4.3.5"
} }
} }

View File

@@ -48,7 +48,7 @@
</ion-split-pane> </ion-split-pane>
<section id="preload" style="display: none;"> <section id="preload" style="display: none;">
<!-- 3rd party components --> <!-- 3rd party components -->
<qrcode qrdata="hello"></qrcode> <qr-code value="hello"></qr-code>
<img src="assets/img/success-bulb.png"/> <img src="assets/img/success-bulb.png"/>
<img src="assets/img/danger-bulb.png"/> <img src="assets/img/danger-bulb.png"/>

View File

@@ -1,5 +1,5 @@
import { Component } from '@angular/core' import { Component } from '@angular/core'
import { Storage } from '@ionic/storage' import { Storage } from '@ionic/storage-angular'
import { AuthService, AuthState } from './services/auth.service' import { AuthService, AuthState } from './services/auth.service'
import { ApiService } from './services/api/embassy/embassy-api.service' import { ApiService } from './services/api/embassy/embassy-api.service'
import { Router, RoutesRecognized } from '@angular/router' import { Router, RoutesRecognized } from '@angular/router'

View File

@@ -12,7 +12,7 @@ import { ApiServiceFactory, MarketplaceApiServiceFactory } from './services/api/
import { PatchDbServiceFactory } from './services/patch-db/patch-db.factory' import { PatchDbServiceFactory } from './services/patch-db/patch-db.factory'
import { HttpService } from './services/http.service' import { HttpService } from './services/http.service'
import { ConfigService } from './services/config.service' import { ConfigService } from './services/config.service'
import { QRCodeModule } from 'angularx-qrcode' import { QrCodeModule } from 'ng-qrcode'
import { OSWelcomePageModule } from './modals/os-welcome/os-welcome.module' import { OSWelcomePageModule } from './modals/os-welcome/os-welcome.module'
import { MarkdownPageModule } from './modals/markdown/markdown.module' import { MarkdownPageModule } from './modals/markdown/markdown.module'
import { PatchDbService } from './services/patch-db/patch-db.service' import { PatchDbService } from './services/patch-db/patch-db.service'
@@ -35,7 +35,7 @@ import { FormBuilder } from '@angular/forms'
name: '_embassystorage', name: '_embassystorage',
driverOrder: [Drivers.LocalStorage, Drivers.IndexedDB], driverOrder: [Drivers.LocalStorage, Drivers.IndexedDB],
}), }),
QRCodeModule, QrCodeModule,
OSWelcomePageModule, OSWelcomePageModule,
MarkdownPageModule, MarkdownPageModule,
SharingModule, SharingModule,

View File

@@ -4,6 +4,6 @@
<ion-text color="success" *ngIf="data.isNew">&nbsp;(New)</ion-text> <ion-text color="success" *ngIf="data.isNew">&nbsp;(New)</ion-text>
<ion-text color="warning" *ngIf="data.isEdited">&nbsp;(Edited)</ion-text> <ion-text color="warning" *ngIf="data.isEdited">&nbsp;(Edited)</ion-text>
<span *ngIf="(['string', 'number'] | includes : data.spec.type) && !data.spec.nullable">&nbsp;*</span> <span *ngIf="(['string', 'number'] | includes : data.spec.type) && !$any(data.spec).nullable">&nbsp;*</span>
<span *ngIf="data.spec.type === 'list' && Range.from(data.spec.range).min">&nbsp;*</span> <span *ngIf="data.spec.type === 'list' && Range.from(data.spec.range).min">&nbsp;*</span>

View File

@@ -5,7 +5,7 @@ import { ConfigSpec, ListValueSpecOf, ValueSpec, ValueSpecList, ValueSpecListOf,
import { FormService } from 'src/app/services/form.service' import { FormService } from 'src/app/services/form.service'
import { Range } from 'src/app/pkg-config/config-utilities' import { Range } from 'src/app/pkg-config/config-utilities'
import { EnumListPage } from 'src/app/modals/enum-list/enum-list.page' import { EnumListPage } from 'src/app/modals/enum-list/enum-list.page'
import * as handlebars from 'handlebars' const Mustache = require('mustache')
import { pauseFor } from 'src/app/util/misc.util' import { pauseFor } from 'src/app/util/misc.util'
@Component({ @Component({
@@ -54,7 +54,7 @@ export class FormObjectComponent {
this.objectListInfo[key][index] = { this.objectListInfo[key][index] = {
expanded: false, expanded: false,
height: '0px', height: '0px',
displayAs: displayAs ? handlebars.compile(displayAs)(obj) : '', displayAs: displayAs ? (Mustache as any).render(displayAs, obj) : '',
} }
}) })
} }
@@ -93,7 +93,7 @@ export class FormObjectComponent {
this.objectListInfo[key].push({ this.objectListInfo[key].push({
height: '0px', height: '0px',
expanded: true, expanded: true,
displayAs: displayAs ? handlebars.compile(displayAs)(newItem.value) : '', displayAs: displayAs ? Mustache.render(displayAs, newItem.value) : '',
}) })
pauseFor(200).then(() => { pauseFor(200).then(() => {

View File

@@ -1 +1 @@
<qrcode [qrdata]="text" [width]="width" errorCorrectionLevel="L"></qrcode> <qr-code [value]="text"></qr-code>

View File

@@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common' import { CommonModule } from '@angular/common'
import { QRComponent } from './qr.component' import { QRComponent } from './qr.component'
import { IonicModule } from '@ionic/angular' import { IonicModule } from '@ionic/angular'
import { QRCodeModule } from 'angularx-qrcode' import { QrCodeModule } from 'ng-qrcode'
@NgModule({ @NgModule({
declarations: [ declarations: [
@@ -11,7 +11,7 @@ import { QRCodeModule } from 'angularx-qrcode'
imports: [ imports: [
CommonModule, CommonModule,
IonicModule, IonicModule,
QRCodeModule, QrCodeModule,
], ],
exports: [QRComponent], exports: [QRComponent],
}) })

View File

@@ -1,5 +1,4 @@
import { Component, Input } from '@angular/core' import { Component, Input } from '@angular/core'
import { isPlatform } from '@ionic/angular'
@Component({ @Component({
selector: 'qr', selector: 'qr',
@@ -8,9 +7,4 @@ import { isPlatform } from '@ionic/angular'
}) })
export class QRComponent { export class QRComponent {
@Input() text: string @Input() text: string
width: number
ngOnInit () {
this.width = isPlatform('ios') || isPlatform('android') ? 320 : 420
}
} }

View File

@@ -18,7 +18,7 @@ interface LocalInterface {
export class AppInterfacesPage { export class AppInterfacesPage {
@ViewChild(IonContent) content: IonContent @ViewChild(IonContent) content: IonContent
ui: LocalInterface | null ui: LocalInterface | null
other: LocalInterface[] other: LocalInterface[] = []
constructor ( constructor (
private readonly route: ActivatedRoute, private readonly route: ActivatedRoute,

View File

@@ -5,6 +5,7 @@ import { FormsModule } from '@angular/forms'
import { IonicModule } from '@ionic/angular' import { IonicModule } from '@ionic/angular'
import { LoginPage } from './login.page' import { LoginPage } from './login.page'
import { SharingModule } from 'src/app/modules/sharing.module' import { SharingModule } from 'src/app/modules/sharing.module'
// import { MarketplaceLibModule } from 'marketplace-lib'
const routes: Routes = [ const routes: Routes = [
{ {
@@ -20,6 +21,7 @@ const routes: Routes = [
IonicModule, IonicModule,
RouterModule.forChild(routes), RouterModule.forChild(routes),
SharingModule, SharingModule,
// MarketplaceLibModule,
], ],
declarations: [LoginPage], declarations: [LoginPage],
}) })

View File

@@ -1,4 +1,5 @@
<ion-content> <ion-content>
<!-- <start9-marketplace-lib></start9-marketplace-lib> -->
<ion-grid style="height: 100%; max-width: 540px;"> <ion-grid style="height: 100%; max-width: 540px;">
<ion-row class="ion-align-items-center" style="height: 100%;"> <ion-row class="ion-align-items-center" style="height: 100%;">
<ion-col class="ion-text-center"> <ion-col class="ion-text-center">

View File

@@ -7,7 +7,7 @@ import { RR, WithRevision } from '../api.types'
import { parsePropertiesPermissive } from 'src/app/util/properties.util' import { parsePropertiesPermissive } from 'src/app/util/properties.util'
import { Mock } from '../api.fixures' import { Mock } from '../api.fixures'
import { HttpService } from '../../http.service' import { HttpService } from '../../http.service'
import markdown from 'raw-loader!src/assets/markdown/md-sample.md' import markdown from '!!raw-loader!src/assets/markdown/md-sample.md'
import { ConfigService } from '../../config.service' import { ConfigService } from '../../config.service'
@Injectable() @Injectable()

View File

@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core'
import { BehaviorSubject, Observable } from 'rxjs' import { BehaviorSubject, Observable } from 'rxjs'
import { distinctUntilChanged } from 'rxjs/operators' import { distinctUntilChanged } from 'rxjs/operators'
import { ApiService } from './api/embassy/embassy-api.service' import { ApiService } from './api/embassy/embassy-api.service'
import { Storage } from '@ionic/storage' import { Storage } from '@ionic/storage-angular'
import { getPlatforms, isPlatform } from '@ionic/angular' import { getPlatforms, isPlatform } from '@ionic/angular'
export enum AuthState { export enum AuthState {

View File

@@ -12,7 +12,10 @@ export class Emver {
} }
compare (lhs: string, rhs: string): number { compare (lhs: string, rhs: string): number {
return this.e.compare(lhs, rhs) console.log('EMVER', this.e)
const compare = this.e.compare(lhs, rhs)
console.log('COMPARE', compare)
return compare
} }
satisfies (version: string, range: string): boolean { satisfies (version: string, range: string): boolean {

View File

@@ -1,7 +1,7 @@
import { Bootstrapper, DBCache } from 'patch-db-client' import { Bootstrapper, DBCache } from 'patch-db-client'
import { DataModel } from './data-model' import { DataModel } from './data-model'
import { Injectable } from '@angular/core' import { Injectable } from '@angular/core'
import { Storage } from '@ionic/storage' import { Storage } from '@ionic/storage-angular'
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',

View File

@@ -5,7 +5,8 @@
"outDir": "./out-tsc/app", "outDir": "./out-tsc/app",
"sourceMap": true, "sourceMap": true,
"declaration": false, "declaration": false,
"module": "esnext", "downlevelIteration": true,
"module": "es2020",
"moduleResolution": "node", "moduleResolution": "node",
"emitDecoratorMetadata": true, "emitDecoratorMetadata": true,
"experimentalDecorators": true, "experimentalDecorators": true,
@@ -26,7 +27,10 @@
] ]
}, },
"angularCompilerOptions": { "angularCompilerOptions": {
"strictInjectionParameters": true "strictInjectionParameters": true,
"enableI18nLegacyMessageIdFormat": false,
"strictInputAccessModifiers": true,
"strictTemplates": true
}, },
"files": [ "files": [
"src/main.ts", "src/main.ts",