From aa409f4346fc8e609d55f20624f04f993ecce86a Mon Sep 17 00:00:00 2001 From: Darryl Munro Date: Wed, 15 Jan 2025 20:48:31 +1300 Subject: [PATCH] Upgrade dependencies to the latest versions --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/munrodnz/randomcat?shareId=XXXX-XXXX-XXXX-XXXX). --- .angular-cli.json | 184 ++++++++++++++++++++++++++++++--------------- karma.conf.js | 18 ++--- package.json | 67 ++++++++--------- protractor.conf.js | 3 - tsconfig.json | 4 +- tslint.json | 10 ++- 6 files changed, 175 insertions(+), 111 deletions(-) diff --git a/.angular-cli.json b/.angular-cli.json index 4262d4a..fad0911 100644 --- a/.angular-cli.json +++ b/.angular-cli.json @@ -1,66 +1,132 @@ { "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "project": { - "name": "mdbs" - }, - "apps": [ - { - "root": "src", - "outDir": "dist", - "assets": [ - "assets", - "favicon.ico" - ], - "index": "index.html", - "main": "main.ts", - "polyfills": "polyfills.ts", - "test": "test.ts", - "tsconfig": "tsconfig.app.json", - "testTsconfig": "tsconfig.spec.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "mdbs": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", "prefix": "app", - "styles": [ - "../node_modules/font-awesome/scss/font-awesome.scss", - "../node_modules/angular-bootstrap-md/scss/bootstrap/bootstrap.scss", - "../node_modules/angular-bootstrap-md/scss/mdb-free.scss", - "styles.scss" - ], - "scripts": [ - "../node_modules/chart.js/dist/Chart.js", - "../node_modules/hammerjs/hammer.min.js" - ], - "environmentSource": "environments/environment.ts", - "environments": { - "dev": "environments/environment.ts", - "prod": "environments/environment.prod.ts" + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/mdbs", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "aot": true, + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss", + "node_modules/font-awesome/scss/font-awesome.scss", + "node_modules/angular-bootstrap-md/scss/bootstrap/bootstrap.scss", + "node_modules/angular-bootstrap-md/scss/mdb-free.scss" + ], + "scripts": [ + "node_modules/chart.js/dist/Chart.js", + "node_modules/hammerjs/hammer.min.js" + ] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "mdbs:build" + }, + "configurations": { + "production": { + "browserTarget": "mdbs:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "mdbs:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss", + "node_modules/font-awesome/scss/font-awesome.scss", + "node_modules/angular-bootstrap-md/scss/bootstrap/bootstrap.scss", + "node_modules/angular-bootstrap-md/scss/mdb-free.scss" + ], + "scripts": [ + "node_modules/chart.js/dist/Chart.js", + "node_modules/hammerjs/hammer.min.js" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "tsconfig.app.json", + "tsconfig.spec.json", + "e2e/tsconfig.e2e.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "mdbs:serve" + }, + "configurations": { + "production": { + "devServerTarget": "mdbs:serve:production" + } + } + } } } - ], - "e2e": { - "protractor": { - "config": "./protractor.conf.js" - } - }, - "lint": [ - { - "project": "src/tsconfig.app.json", - "exclude": "**/node_modules/**" - }, - { - "project": "src/tsconfig.spec.json", - "exclude": "**/node_modules/**" - }, - { - "project": "e2e/tsconfig.e2e.json", - "exclude": "**/node_modules/**" - } - ], - "test": { - "karma": { - "config": "./karma.conf.js" - } }, - "defaults": { - "styleExt": "scss", - "component": {} - } + "defaultProject": "mdbs" } diff --git a/karma.conf.js b/karma.conf.js index af139fa..217b9b4 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,33 +1,29 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - module.exports = function (config) { config.set({ basePath: '', - frameworks: ['jasmine', '@angular/cli'], + frameworks: ['jasmine', '@angular-devkit/build-angular'], plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), require('karma-jasmine-html-reporter'), require('karma-coverage-istanbul-reporter'), - require('@angular/cli/plugins/karma') + require('@angular-devkit/build-angular/plugins/karma') ], - client:{ + client: { clearContext: false // leave Jasmine Spec Runner output visible in browser }, coverageIstanbulReporter: { - reports: [ 'html', 'lcovonly' ], + dir: require('path').join(__dirname, './coverage/mdbs'), + reports: ['html', 'lcovonly', 'text-summary'], fixWebpackSourcePaths: true }, - angularCli: { - environment: 'dev' - }, reporters: ['progress', 'kjhtml'], port: 9876, colors: true, logLevel: config.LOG_INFO, autoWatch: true, browsers: ['Chrome'], - singleRun: false + singleRun: false, + restartOnFileChange: true }); }; diff --git a/package.json b/package.json index add9b41..809cd1e 100644 --- a/package.json +++ b/package.json @@ -13,42 +13,41 @@ "private": true, "dependencies": { "@agm/core": "^1.0.0-beta.2", - "@angular/animations": "^5.0.0", - "@angular/common": "^5.0.0", - "@angular/compiler": "^5.0.0", - "@angular/core": "^5.0.0", - "@angular/forms": "^5.0.0", - "@angular/http": "^5.2.3", - "@angular/platform-browser": "^5.2.0", - "@angular/platform-browser-dynamic": "^5.2.0", - "@angular/router": "^5.2.0", - "angular-bootstrap-md": "^5.1.2", - "chart.js": "^2.5.0", - "core-js": "^2.4.1", - "font-awesome": "^4.7.0", + "@angular/animations": "^12.0.0", + "@angular/common": "^12.0.0", + "@angular/compiler": "^12.0.0", + "@angular/core": "^12.0.0", + "@angular/forms": "^12.0.0", + "@angular/platform-browser": "^12.0.0", + "@angular/platform-browser-dynamic": "^12.0.0", + "@angular/router": "^12.0.0", + "angular-bootstrap-md": "^12.0.0", + "chart.js": "^3.5.1", + "core-js": "^3.15.2", + "font-awesome": "^5.15.3", "hammerjs": "^2.0.8", - "rxjs": "^5.5.6", - "zone.js": "^0.8.19" + "rxjs": "^6.6.7", + "zone.js": "^0.11.4" }, "devDependencies": { - "@angular/cli": "1.6.7", - "@angular/compiler-cli": "^5.2.0", - "@angular/language-service": "^5.2.0", - "@angular/service-worker": "^5.2.3", - "@types/jasmine": "~2.8.3", - "@types/jasminewd2": "~2.0.2", - "@types/node": "~6.0.60", - "codelyzer": "^4.0.1", - "jasmine-core": "~2.8.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "~2.0.0", - "karma-chrome-launcher": "~2.2.0", - "karma-coverage-istanbul-reporter": "^1.2.1", - "karma-jasmine": "~1.1.0", - "karma-jasmine-html-reporter": "^0.2.2", - "protractor": "~5.1.2", - "ts-node": "~4.1.0", - "tslint": "~5.9.1", - "typescript": "~2.5.3" + "@angular/cli": "^12.0.0", + "@angular/compiler-cli": "^12.0.0", + "@angular/language-service": "^12.0.0", + "@angular/service-worker": "^12.0.0", + "@types/jasmine": "~3.7.7", + "@types/jasminewd2": "~2.0.8", + "@types/node": "~12.20.14", + "codelyzer": "^6.0.1", + "jasmine-core": "~3.7.1", + "jasmine-spec-reporter": "~6.0.0", + "karma": "~6.3.4", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "^3.0.3", + "karma-jasmine": "~4.0.1", + "karma-jasmine-html-reporter": "^1.5.4", + "protractor": "~7.0.0", + "ts-node": "~10.0.0", + "tslint": "~6.1.3", + "typescript": "~4.2.4" } } diff --git a/protractor.conf.js b/protractor.conf.js index 7ee3b5e..3a4f44e 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -1,6 +1,3 @@ -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - const { SpecReporter } = require('jasmine-spec-reporter'); exports.config = { diff --git a/tsconfig.json b/tsconfig.json index 5fabcb5..2ab4234 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,12 +7,12 @@ "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "target": "es5", + "target": "es2017", "typeRoots": [ "node_modules/@types" ], "lib": [ - "es2017", + "es2018", "dom" ] }, diff --git a/tslint.json b/tslint.json index 9963d6c..230cf6e 100644 --- a/tslint.json +++ b/tslint.json @@ -13,7 +13,7 @@ "curly": true, "deprecation": { "severity": "warn" - }, + ], "eofline": true, "forin": true, "import-blacklist": [ @@ -138,6 +138,12 @@ "use-life-cycle-interface": true, "use-pipe-transform-interface": true, "component-class-suffix": true, - "directive-class-suffix": true + "directive-class-suffix": true, + "no-conflicting-lifecycle": true, + "no-host-metadata-property": true, + "no-inputs-metadata-property": true, + "no-outputs-metadata-property": true, + "template-banana-in-box": true, + "template-no-negated-async": true } }