Angular 10 compatibility update

This commit is contained in:
sercan 2020-07-23 15:15:42 +03:00
parent 137b728f95
commit e5ce782c3b
23 changed files with 4569 additions and 4082 deletions

View File

@ -17,7 +17,7 @@
"build": { "build": {
"builder": "@angular-devkit/build-angular:browser", "builder": "@angular-devkit/build-angular:browser",
"options": { "options": {
"aot": true, "aot": true,
"outputPath": "dist/fuse", "outputPath": "dist/fuse",
"index": "src/index.html", "index": "src/index.html",
"main": "src/main.ts", "main": "src/main.ts",
@ -32,7 +32,19 @@
"src/styles.scss" "src/styles.scss"
], ],
"scripts": [], "scripts": [],
"showCircularDependencies": false "showCircularDependencies": false,
"allowedCommonJsDependencies": [
"lodash",
"@swimlane/dragula",
"chart.js",
"angular-calendar",
"calendar-utils/date-adapters/date-fns",
"contra/emitter",
"crossvent",
"dom-plane",
"dom-set",
"@mattlewis92/dom-autoscroller"
]
}, },
"configurations": { "configurations": {
"production": { "production": {
@ -57,29 +69,29 @@
"maximumWarning": "4mb", "maximumWarning": "4mb",
"maximumError": "6mb" "maximumError": "6mb"
}, },
{ {
"type": "anyComponentStyle", "type": "anyComponentStyle",
"maximumWarning": "6kb" "maximumWarning": "6kb"
} }
] ]
}, },
"ec": { "ec": {
"budgets": [ "budgets": [
{ {
"type": "anyComponentStyle", "type": "anyComponentStyle",
"maximumWarning": "6kb" "maximumWarning": "6kb"
} }
], ],
"sourceMap": true, "sourceMap": true,
"extractCss": true "extractCss": true
}, },
"hmr": { "hmr": {
"budgets": [ "budgets": [
{ {
"type": "anyComponentStyle", "type": "anyComponentStyle",
"maximumWarning": "6kb" "maximumWarning": "6kb"
} }
], ],
"fileReplacements": [ "fileReplacements": [
{ {
"replace": "src/environments/environment.ts", "replace": "src/environments/environment.ts",

View File

@ -1,5 +1,5 @@
{ {
"extends": "../tsconfig.json", "extends": "../tsconfig.base.json",
"compilerOptions": { "compilerOptions": {
"outDir": "../out-tsc/app", "outDir": "../out-tsc/app",
"module": "commonjs", "module": "commonjs",

View File

@ -1,9 +1,9 @@
{ {
"extends": "../tsconfig.json", "extends": "../tsconfig.base.json",
"compilerOptions": { "compilerOptions": {
"outDir": "../out-tsc/e2e", "outDir": "../out-tsc/e2e",
"module": "commonjs", "module": "commonjs",
"target": "es5", "target": "es2018",
"types": [ "types": [
"jasmine", "jasmine",
"jasminewd2", "jasminewd2",

8251
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,89 +1,84 @@
{ {
"name": "fuse", "name": "fuse",
"version": "9.0.0", "version": "10.0.0",
"license": "https://themeforest.net/licenses/terms/regular", "license": "https://themeforest.net/licenses/terms/regular",
"scripts": { "scripts": {
"ng": "ng", "ng": "ng",
"start": "ng serve --open", "start": "ng serve --open",
"start-hmr": "ng serve --configuration hmr --source-map=false --hmr-warning=false", "start:mem": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng serve --open",
"start-hmr-sourcemaps": "ng serve --configuration hmr --source-map=true --hmr-warning=false", "build": "ng build",
"build": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --dev", "build:prod": "ng build --prod",
"build-stats": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --dev --stats-json", "build:prod:mem": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --prod",
"build-prod": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --prod",
"build-prod-stats": "node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build --prod --stats-json",
"test": "ng test", "test": "ng test",
"lint": "ng lint", "lint": "ng lint",
"e2e": "ng e2e", "e2e": "ng e2e",
"bundle-report": "webpack-bundle-analyzer dist/stats.json", "bundle-report": "webpack-bundle-analyzer dist/stats.json"
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@agm/core": "1.1.0", "@agm/core": "1.1.0",
"@angular/animations": "9.0.0", "@angular/animations": "10.0.5",
"@angular/cdk": "9.0.0", "@angular/cdk": "10.1.0",
"@angular/common": "9.0.0", "@angular/common": "10.0.5",
"@angular/compiler": "9.0.0", "@angular/compiler": "10.0.5",
"@angular/core": "9.0.0", "@angular/core": "10.0.5",
"@angular/flex-layout": "9.0.0-beta.29", "@angular/flex-layout": "10.0.0-beta.32",
"@angular/forms": "9.0.0", "@angular/forms": "10.0.5",
"@angular/material": "9.0.0", "@angular/material": "10.1.0",
"@angular/material-moment-adapter": "9.0.0", "@angular/material-moment-adapter": "10.1.0",
"@angular/platform-browser": "9.0.0", "@angular/platform-browser": "10.0.5",
"@angular/platform-browser-dynamic": "9.0.0", "@angular/platform-browser-dynamic": "10.0.5",
"@angular/router": "9.0.0", "@angular/router": "10.0.5",
"@ngrx/effects": "8.6.0", "@ngrx/effects": "8.6.0",
"@ngrx/router-store": "8.6.0", "@ngrx/router-store": "8.6.0",
"@ngrx/store": "8.6.0", "@ngrx/store": "8.6.0",
"@ngrx/store-devtools": "8.6.0", "@ngrx/store-devtools": "8.6.0",
"@ngx-translate/core": "12.0.0", "@ngx-translate/core": "13.0.0",
"@swimlane/dragula": "3.8.0", "@swimlane/dragula": "3.8.0",
"@swimlane/ngx-charts": "13.0.2", "@swimlane/ngx-charts": "14.0.0",
"@swimlane/ngx-datatable": "16.0.3", "@swimlane/ngx-datatable": "17.1.0",
"@swimlane/ngx-dnd": "8.1.0", "@swimlane/ngx-dnd": "8.1.2",
"@types/prismjs": "1.16.0", "@types/prismjs": "1.16.1",
"angular-calendar": "0.28.2", "angular-calendar": "0.28.16",
"angular-in-memory-web-api": "0.9.0", "angular-in-memory-web-api": "0.11.0",
"chart.js": "2.9.3", "chart.js": "2.9.3",
"classlist.js": "1.1.20150312", "classlist.js": "1.1.20150312",
"d3": "5.15.0", "d3": "5.16.0",
"date-fns": "2.9.0", "date-fns": "2.15.0",
"hammerjs": "2.0.8", "lodash": "4.17.19",
"lodash": "4.17.15", "moment": "2.27.0",
"moment": "2.24.0", "ng2-charts": "2.3.2",
"ng2-charts": "2.3.0",
"ngrx-store-freeze": "0.2.4", "ngrx-store-freeze": "0.2.4",
"ngx-color-picker": "8.2.0", "ngx-color-picker": "9.1.0",
"ngx-cookie-service": "2.3.0", "ngx-cookie-service": "3.1.2",
"perfect-scrollbar": "1.4.0", "perfect-scrollbar": "1.5.0",
"prismjs": "1.19.0", "prismjs": "1.20.0",
"rxjs": "6.5.4", "rxjs": "6.6.0",
"tslib": "1.10.0", "tslib": "2.0.0",
"web-animations-js": "2.3.2", "web-animations-js": "2.3.2",
"zone.js": "0.10.2" "zone.js": "0.10.3"
}, },
"devDependencies": { "devDependencies": {
"@angular/cli": "9.0.1", "@angular/cli": "10.0.4",
"@angular/compiler-cli": "9.0.0", "@angular/compiler-cli": "10.0.5",
"@angular/language-service": "9.0.0", "@angular/language-service": "10.0.5",
"@angular-devkit/build-angular": "0.900.1", "@angular-devkit/build-angular": "0.1000.4",
"@angularclass/hmr": "2.1.3",
"@types/jasmine": "3.5.2", "@types/jasmine": "3.5.2",
"@types/jasminewd2": "2.0.8", "@types/jasminewd2": "2.0.8",
"@types/lodash": "4.14.149", "@types/lodash": "4.14.149",
"@types/node": "12.12.6", "@types/node": "12.12.6",
"codelyzer": "5.2.1", "codelyzer": "6.0.0",
"jasmine-core": "3.5.0", "jasmine-core": "3.5.0",
"jasmine-spec-reporter": "4.2.1", "jasmine-spec-reporter": "5.0.2",
"karma": "4.3.0", "karma": "5.1.0",
"karma-chrome-launcher": "3.1.0", "karma-chrome-launcher": "3.1.0",
"karma-coverage-istanbul-reporter": "2.1.1", "karma-coverage-istanbul-reporter": "3.0.3",
"karma-jasmine": "2.0.1", "karma-jasmine": "3.3.1",
"karma-jasmine-html-reporter": "1.5.1", "karma-jasmine-html-reporter": "1.5.4",
"protractor": "5.4.3", "protractor": "7.0.0",
"ts-node": "8.3.0", "ts-node": "8.3.0",
"tslint": "5.18.0", "tslint": "6.1.2",
"typescript": "3.7.5", "typescript": "3.9.7",
"webpack-bundle-analyzer": "3.6.0" "webpack-bundle-analyzer": "3.8.0"
} }
} }

View File

@ -74,7 +74,7 @@
} }
.fuse-search-bar-collapser { .fuse-search-bar-collapser {
display: flex; display: inline-block;
} }
} }
} }

View File

@ -8,7 +8,6 @@ import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon'; import { MatIconModule } from '@angular/material/icon';
import { InMemoryWebApiModule } from 'angular-in-memory-web-api'; import { InMemoryWebApiModule } from 'angular-in-memory-web-api';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import 'hammerjs';
import { FuseModule } from '@fuse/fuse.module'; import { FuseModule } from '@fuse/fuse.module';
import { FuseSharedModule } from '@fuse/shared.module'; import { FuseSharedModule } from '@fuse/shared.module';

View File

@ -6,7 +6,7 @@
target="_blank" mat-button class="pink" fxFlex="0 0 auto" fxLayout="row" target="_blank" mat-button class="pink" fxFlex="0 0 auto" fxLayout="row"
fxLayoutAlign="start center"> fxLayoutAlign="start center">
<mat-icon class="s-16 mr-sm-4">shopping_cart</mat-icon> <mat-icon class="s-16 mr-sm-4">shopping_cart</mat-icon>
<span>Purchase FUSE (Angular 8+)</span> <span>Purchase FUSE Angular</span>
</a> </a>
<div fxLayout="row" fxLayoutAlign="start center" fxHide fxShow.gt-xs> <div fxLayout="row" fxLayoutAlign="start center" fxHide fxShow.gt-xs>

View File

@ -9,7 +9,7 @@ import { fuseAnimations } from '@fuse/animations';
import { FuseUtils } from '@fuse/utils'; import { FuseUtils } from '@fuse/utils';
import { EcommerceOrdersService } from 'app/main/apps/e-commerce/orders/orders.service'; import { EcommerceOrdersService } from 'app/main/apps/e-commerce/orders/orders.service';
import { takeUntil } from 'rxjs/internal/operators'; import { takeUntil } from 'rxjs/operators';
@Component({ @Component({
selector : 'e-commerce-orders', selector : 'e-commerce-orders',

View File

@ -9,7 +9,7 @@ import { fuseAnimations } from '@fuse/animations';
import { FuseUtils } from '@fuse/utils'; import { FuseUtils } from '@fuse/utils';
import { EcommerceProductsService } from 'app/main/apps/e-commerce/products/products.service'; import { EcommerceProductsService } from 'app/main/apps/e-commerce/products/products.service';
import { takeUntil } from 'rxjs/internal/operators'; import { takeUntil } from 'rxjs/operators';
@Component({ @Component({
selector : 'e-commerce-products', selector : 'e-commerce-products',

View File

@ -1,9 +1,13 @@
<div id="changelog" class="page-layout simple fullwidth docs"> <div id="changelog"
class="page-layout simple fullwidth docs">
<!-- HEADER --> <!-- HEADER -->
<div class="header accent p-24" fxLayout="column" fxLayoutAlign="center start"> <div class="header accent p-24"
fxLayout="column"
fxLayoutAlign="center start">
<div fxLayout="row" fxLayoutAlign="start center"> <div fxLayout="row"
fxLayoutAlign="start center">
<mat-icon class="secondary-text s-18">home</mat-icon> <mat-icon class="secondary-text s-18">home</mat-icon>
<mat-icon class="secondary-text s-16">chevron_right</mat-icon> <mat-icon class="secondary-text s-16">chevron_right</mat-icon>
<span class="secondary-text">Documentation</span> <span class="secondary-text">Documentation</span>
@ -19,6 +23,44 @@
<div class="changelog"> <div class="changelog">
<!-- --------------------------------------------------------------------------------------------- -->
<!-- @ v10.0.0 -->
<!-- --------------------------------------------------------------------------------------------- -->
<div class="entry">
<div class="title">
<span class="version">v10.0.0</span>
<span class="date">2020.07.23</span>
</div>
<div class="groups">
<div class="new">
<span class="title">New</span>
<ul>
<li>Updated Angular to 10</li>
<li>Updated Angular Material to 10</li>
<li>Updated various other packages to latest versions</li>
</ul>
</div>
<div class="fixed">
<span class="title">Fixed</span>
<ul>
<li>(Fuse Navigation) Updating menu items on the fly is not working</li>
</ul>
</div>
<div class="breaking-changes">
<span class="title">Breaking Changes</span>
<ul>
<li>Removed HMR (Hot module reloading)</li>
<li>Updated npm script names to better reflect their tasks</li>
</ul>
</div>
</div>
</div>
<!-- --------------------------------------------------------------------------------------------- --> <!-- --------------------------------------------------------------------------------------------- -->
<!-- @ v9.0.0 --> <!-- @ v9.0.0 -->
<!-- --------------------------------------------------------------------------------------------- --> <!-- --------------------------------------------------------------------------------------------- -->

View File

@ -1,7 +1,7 @@
import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms'; import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/internal/operators'; import { takeUntil } from 'rxjs/operators';
import { FuseConfigService } from '@fuse/services/config.service'; import { FuseConfigService } from '@fuse/services/config.service';
import { fuseAnimations } from '@fuse/animations'; import { fuseAnimations } from '@fuse/animations';

View File

@ -1,7 +1,7 @@
import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms'; import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/internal/operators'; import { takeUntil } from 'rxjs/operators';
import { FuseConfigService } from '@fuse/services/config.service'; import { FuseConfigService } from '@fuse/services/config.service';
import { fuseAnimations } from '@fuse/animations'; import { fuseAnimations } from '@fuse/animations';

View File

@ -604,7 +604,7 @@ export const navigation: FuseNavigation[] = [
icon : 'update', icon : 'update',
url : '/documentation/changelog', url : '/documentation/changelog',
badge: { badge: {
title: '9.0.0', title: '10.0.0',
bg : '#EC0C8E', bg : '#EC0C8E',
fg : '#FFFFFF' fg : '#FFFFFF'
} }

View File

@ -1,4 +0,0 @@
export const environment = {
production: false,
hmr : true
};

View File

@ -3,13 +3,13 @@
<head> <head>
<title>Fuse - Angular 8+ Material Design Admin Template</title> <title>Fuse Angular - Material Design Admin Template</title>
<base href="/"> <base href="/">
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="description" content="Material design admin template with pre-built apps and pages"> <meta name="description" content="Material design admin template with pre-built apps and pages">
<meta name="keywords" <meta name="keywords"
content="HTML,CSS,AngularJS,Angular,Angular 2,Angular 4,Angular 5,Angular 6,Angular 7,Material,Material 2"> content="HTML,CSS,AngularJS,Angular,Angular 2,Angular 4,Angular 5,Angular 6,Angular 7,Angular 8,Angular 9,Angular 10,Material,Material 2">
<meta name="author" content="Withinpixels"> <meta name="author" content="Withinpixels">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

View File

@ -1,30 +1,12 @@
import { enableProdMode } from '@angular/core'; import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module'; import { AppModule } from './app/app.module';
import { environment } from './environments/environment'; import { environment } from './environments/environment';
import { hmrBootstrap } from 'hmr';
if ( environment.production ) if ( environment.production )
{ {
enableProdMode(); enableProdMode();
} }
const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule); platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));
if ( environment.hmr )
{
if ( module['hot'] )
{
hmrBootstrap(module, bootstrap);
}
else
{
console.error('HMR is not enabled for webpack-dev-server!');
console.log('Are you using the --hmr flag for ng serve?');
}
}
else
{
bootstrap().catch(err => console.error(err));
}

View File

@ -1,15 +1,15 @@
{ {
"extends": "./tsconfig.json", "extends": "./tsconfig.base.json",
"compilerOptions": { "compilerOptions": {
"outDir": "./out-tsc/app", "outDir": "./out-tsc/app",
"types": [ "types": [
"node" "node"
] ]
}, },
"files": [ "files": [
"src/main.ts", "src/main.ts",
"src/polyfills.ts" "src/polyfills.ts"
], ],
"include": [ "include": [
"src/**/*.d.ts" "src/**/*.d.ts"
] ]

31
tsconfig.base.json Normal file
View File

@ -0,0 +1,31 @@
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./src",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"module": "es2020",
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
],
"paths": {
"@fuse": [
"@fuse/"
]
}
},
"angularCompilerOptions": {
"fullTemplateTypeCheck": false,
"strictInjectionParameters": false
}
}

View File

@ -1,31 +1,17 @@
/*
This is a "Solution Style" tsconfig.json file, and is used by editors and TypeScripts language server to improve development experience.
It is not intended to be used to perform a compilation.
To learn more about this file see: https://angular.io/config/solution-tsconfig.
*/
{ {
"compileOnSave": false, "files": [],
"compilerOptions": { "references": [
"baseUrl": "./src", {
"outDir": "./dist/out-tsc", "path": "./tsconfig.app.json"
"sourceMap": true, },
"declaration": false, {
"downlevelIteration": true, "path": "./tsconfig.spec.json"
"experimentalDecorators": true,
"module": "esnext",
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
],
"paths": {
"@fuse": [
"@fuse/"
]
} }
}, ]
"angularCompilerOptions": {
"fullTemplateTypeCheck": false,
"strictInjectionParameters": false
}
} }

View File

@ -1,5 +1,5 @@
{ {
"extends": "./tsconfig.json", "extends": "./tsconfig.base.json",
"compilerOptions": { "compilerOptions": {
"outDir": "./out-tsc/spec", "outDir": "./out-tsc/spec",
"types": [ "types": [

View File

@ -1,10 +1,18 @@
{ {
"extends": "tslint:recommended", "extends": "tslint:recommended",
"rules": { "rules": {
"align": {
"options": [
"parameters",
"statements"
]
},
"array-type": false, "array-type": false,
"arrow-parens": false, "arrow-parens": false,
"arrow-return-shorthand": true,
"curly": true,
"deprecation": { "deprecation": {
"severity": "warning" "severity": "warning"
}, },
"component-class-suffix": true, "component-class-suffix": true,
"contextual-lifecycle": true, "contextual-lifecycle": true,
@ -31,10 +39,17 @@
"camelCase" "camelCase"
] ]
], ],
"eofline": true,
"import-blacklist": [ "import-blacklist": [
true, true,
"rxjs/Rx" "rxjs/Rx"
], ],
"import-spacing": true,
"indent": {
"options": [
"spaces"
]
},
"interface-name": false, "interface-name": false,
"max-classes-per-file": false, "max-classes-per-file": false,
"max-line-length": [ "max-line-length": [
@ -83,6 +98,20 @@
true, true,
"single" "single"
], ],
"semicolon": {
"options": [
"always"
]
},
"space-before-function-paren": {
"options": {
"anonymous": "never",
"asyncArrow": "always",
"constructor": "never",
"method": "never",
"named": "never"
}
},
"typedef": [ "typedef": [
true, true,
"call-signature", "call-signature",
@ -99,6 +128,24 @@
"no-outputs-metadata-property": true, "no-outputs-metadata-property": true,
"template-banana-in-box": true, "template-banana-in-box": true,
"template-no-negated-async": true, "template-no-negated-async": true,
"typedef-whitespace": {
"options": [
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
},
{
"call-signature": "onespace",
"index-signature": "onespace",
"parameter": "onespace",
"property-declaration": "onespace",
"variable-declaration": "onespace"
}
]
},
"use-lifecycle-interface": true, "use-lifecycle-interface": true,
"use-pipe-transform-interface": true, "use-pipe-transform-interface": true,
"variable-name": [ "variable-name": [
@ -107,7 +154,17 @@
"check-format", "check-format",
"allow-pascal-case", "allow-pascal-case",
"allow-leading-underscore" "allow-leading-underscore"
] ],
"whitespace": {
"options": [
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type",
"check-typecast"
]
}
}, },
"rulesDirectory": [ "rulesDirectory": [
"codelyzer" "codelyzer"