From 7c6656a238a4c046b109a8edf5bfdafacb0338a6 Mon Sep 17 00:00:00 2001 From: tomastrajan Date: Fri, 22 Jul 2022 15:52:37 +0200 Subject: [PATCH] feat(lib): upgrade to RxJs 7.5.x - adjust RxJs imports, adjust tests, adjuts peer deps --- package-lock.json | 333 ++++++++++++++---- package.json | 2 +- .../elements-demo/src/app/app.component.ts | 10 +- .../core/layout/responsive-layout.service.ts | 3 +- .../src/app/core/refresh.service.ts | 2 +- projects/elements/package.json | 5 +- .../lazy-element-dynamic.directive.spec.ts | 8 +- .../lazy-element-dynamic.directive.ts | 3 +- .../lazy-element.directive.spec.ts | 39 +- .../lazy-element/lazy-element.directive.ts | 5 +- 10 files changed, 316 insertions(+), 94 deletions(-) diff --git a/package-lock.json b/package-lock.json index b986136..5c33959 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "highlight.js": "^11.3.1", "ngx-highlightjs": "^7.0.0", "ngx-markdown": "^14.0.1", - "rxjs": "^6.6.3", + "rxjs": "^7.5.0", "tslib": "^2.3.1", "zone.js": "~0.11.4" }, @@ -255,6 +255,24 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "devOptional": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "devOptional": true + }, "node_modules/@angular-devkit/build-angular": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.0.tgz", @@ -409,6 +427,24 @@ "node": ">=10" } }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular-devkit/build-webpack": { "version": "0.1401.0", "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.0.tgz", @@ -428,6 +464,24 @@ "webpack-dev-server": "^4.0.0" } }, + "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular-devkit/core": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.0.tgz", @@ -473,6 +527,22 @@ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@angular-devkit/schematics": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.0.tgz", @@ -495,6 +565,22 @@ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@angular-eslint/builder": { "version": "14.0.2", "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-14.0.2.tgz", @@ -4316,6 +4402,24 @@ "nx": ">= 13.10 <= 15" } }, + "node_modules/@nrwl/devkit/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@nrwl/devkit/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@nrwl/devkit/node_modules/semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", @@ -5720,6 +5824,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/all-contributors-cli/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/all-contributors-cli/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -7270,6 +7392,18 @@ "node": ">=4" } }, + "node_modules/commitizen/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, "node_modules/commitizen/node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -7337,6 +7471,12 @@ "node": ">=4" } }, + "node_modules/commitizen/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -13242,15 +13382,6 @@ "node": ">=12.0.0" } }, - "node_modules/inquirer/node_modules/rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "devOptional": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/inquirer/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -16894,15 +17025,6 @@ "node": ">=10" } }, - "node_modules/ng-packagr/node_modules/rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/ngx-highlightjs": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/ngx-highlightjs/-/ngx-highlightjs-7.0.0.tgz", @@ -20064,21 +20186,13 @@ "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", + "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" + "tslib": "^2.1.0" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -23077,6 +23191,23 @@ "requires": { "@angular-devkit/core": "14.1.0", "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "devOptional": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "devOptional": true + } } }, "@angular-devkit/build-angular": { @@ -23186,6 +23317,23 @@ "requires": { "brace-expansion": "^2.0.1" } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } } } }, @@ -23197,6 +23345,23 @@ "requires": { "@angular-devkit/architect": "0.1401.0", "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@angular-devkit/core": { @@ -23226,6 +23391,19 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -23245,6 +23423,19 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -25988,6 +26179,23 @@ "tslib": "^2.3.0" }, "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, "semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", @@ -27091,6 +27299,21 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", "dev": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -28261,6 +28484,15 @@ "signal-exit": "^3.0.2" } }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -28313,6 +28545,12 @@ "requires": { "has-flag": "^3.0.0" } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -32871,15 +33109,6 @@ "wrap-ansi": "^7.0.0" }, "dependencies": { - "rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "devOptional": true, - "requires": { - "tslib": "^2.1.0" - } - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -35685,15 +35914,6 @@ "requires": { "brace-expansion": "^2.0.1" } - }, - "rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } } } }, @@ -37953,18 +38173,11 @@ "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", + "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.1.0" } }, "safe-buffer": { diff --git a/package.json b/package.json index e62f3a8..9eda4cd 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "highlight.js": "^11.3.1", "ngx-highlightjs": "^7.0.0", "ngx-markdown": "^14.0.1", - "rxjs": "^6.6.3", + "rxjs": "^7.5.0", "tslib": "^2.3.1", "zone.js": "~0.11.4" }, diff --git a/projects/elements-demo/src/app/app.component.ts b/projects/elements-demo/src/app/app.component.ts index 81cdb2b..954b8c9 100644 --- a/projects/elements-demo/src/app/app.component.ts +++ b/projects/elements-demo/src/app/app.component.ts @@ -1,8 +1,14 @@ import { MatDrawerMode, MatSidenav } from '@angular/material/sidenav'; import { SwUpdate } from '@angular/service-worker'; import { Component, OnInit, ViewChild, HostBinding } from '@angular/core'; -import { BehaviorSubject, combineLatest, Observable } from 'rxjs'; -import { delay, map, tap } from 'rxjs/operators'; +import { + BehaviorSubject, + combineLatest, + Observable, + delay, + map, + tap, +} from 'rxjs'; import { ResponsiveLayoutService } from './core/layout/responsive-layout.service'; import { RefreshService } from './core/refresh.service'; diff --git a/projects/elements-demo/src/app/core/layout/responsive-layout.service.ts b/projects/elements-demo/src/app/core/layout/responsive-layout.service.ts index 60db2e9..f45731e 100644 --- a/projects/elements-demo/src/app/core/layout/responsive-layout.service.ts +++ b/projects/elements-demo/src/app/core/layout/responsive-layout.service.ts @@ -1,7 +1,6 @@ import { Injectable } from '@angular/core'; import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout'; -import { combineLatest, Observable } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { combineLatest, Observable, map } from 'rxjs'; @Injectable({ providedIn: 'root', diff --git a/projects/elements-demo/src/app/core/refresh.service.ts b/projects/elements-demo/src/app/core/refresh.service.ts index c601d0c..3fdbe73 100644 --- a/projects/elements-demo/src/app/core/refresh.service.ts +++ b/projects/elements-demo/src/app/core/refresh.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { MatSnackBar } from '@angular/material/snack-bar'; import { SwUpdate } from '@angular/service-worker'; -import { take } from 'rxjs/operators'; +import { take } from 'rxjs'; @Injectable({ providedIn: 'root', diff --git a/projects/elements/package.json b/projects/elements/package.json index e1e8d52..0248316 100644 --- a/projects/elements/package.json +++ b/projects/elements/package.json @@ -2,8 +2,9 @@ "name": "@angular-extensions/elements", "version": "14.0.0", "peerDependencies": { - "@angular/common": ">=12", - "@angular/core": ">=12" + "@angular/common": ">=14", + "@angular/core": ">=14", + "rxjs": ">=7.5.0" }, "dependencies": { "tslib": "^2.1.0" diff --git a/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.spec.ts b/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.spec.ts index 7b0e97d..aff2279 100644 --- a/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.spec.ts +++ b/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.spec.ts @@ -1,5 +1,5 @@ import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LazyElementDynamicDirective } from './lazy-element-dynamic.directive'; @@ -36,12 +36,12 @@ describe('LazyElementDirectiveDynamic', () => { let fixture: ComponentFixture; let appendChildSpy: jest.SpyInstance; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ + beforeEach(async () => { + await TestBed.configureTestingModule({ schemas: [CUSTOM_ELEMENTS_SCHEMA], declarations: [TestHostComponent, LazyElementDynamicDirective], }).compileComponents(); - })); + }); beforeEach(() => { fixture = TestBed.createComponent(TestHostComponent); diff --git a/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.ts b/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.ts index 856df67..9d3fc97 100644 --- a/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.ts +++ b/projects/elements/src/lib/lazy-elements/lazy-element-dynamic/lazy-element-dynamic.directive.ts @@ -13,8 +13,7 @@ import { ViewContainerRef, } from '@angular/core'; import { DOCUMENT, isPlatformServer } from '@angular/common'; -import { from, Subscription } from 'rxjs'; -import { mergeMap } from 'rxjs/operators'; +import { from, Subscription, mergeMap } from 'rxjs'; import { ElementConfig, diff --git a/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.spec.ts b/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.spec.ts index f2bf7fe..d17bdea 100644 --- a/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.spec.ts +++ b/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.spec.ts @@ -1,5 +1,5 @@ import { Component, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LazyElementsModule } from '../lazy-elements.module'; import { LazyElementsLoaderService } from '../lazy-elements-loader.service'; @@ -92,7 +92,6 @@ describe('LazyElementDirective', () => { let fixture: ComponentFixture; let appendChildSpy: jest.SpyInstance; let whenDefinedSpy: jest.SpyInstance; - let requestAnimationFrameSpy: jest.SpyInstance; function getAppendChildFirstScript(): HTMLScriptElement { return appendChildSpy.mock.calls[0][0]; @@ -102,8 +101,8 @@ describe('LazyElementDirective', () => { return appendChildSpy.mock.calls[1][0]; } - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ + beforeEach(async () => { + await TestBed.configureTestingModule({ imports: [ TestModule, LazyElementsModule.forRoot({ @@ -119,9 +118,9 @@ describe('LazyElementDirective', () => { schemas: [CUSTOM_ELEMENTS_SCHEMA], declarations: [TestHostComponent], }).compileComponents(); - })); + }); - beforeEach(() => { + beforeEach(async () => { fixture = TestBed.createComponent(TestHostComponent); testHostComponent = fixture.componentInstance; appendChildSpy = jest.spyOn(document.body, 'appendChild'); @@ -130,20 +129,13 @@ describe('LazyElementDirective', () => { .mockReturnValue( Promise.resolve(class DummyElement extends HTMLElement {}) ); - requestAnimationFrameSpy = jest - .spyOn(window, 'requestAnimationFrame') - .mockImplementation((callback) => { - const time = 0; - callback(time); - return time; - }); fixture.detectChanges(); + await fixture.whenRenderingDone(); }); afterEach(() => { appendChildSpy.mockRestore(); whenDefinedSpy.mockRestore(); - requestAnimationFrameSpy.mockRestore(); }); it('should create', () => { @@ -167,10 +159,12 @@ describe('LazyElementDirective', () => { ); }); - it('adds multiple script tags if elements have different bundle url', () => { + it('adds multiple script tags if elements have different bundle url', async () => { testHostComponent.addOtherElement = true; fixture.detectChanges(); + await fixture.whenStable(); + expect(appendChildSpy).toHaveBeenCalledTimes(2); expect(getAppendChildFirstScript().src).toBe( 'http://elements.com/some-element' @@ -180,11 +174,12 @@ describe('LazyElementDirective', () => { ); }); - it('renders loading template', () => { + it('renders loading template', async () => { expect(document.querySelector('.loading')).toBe(null); testHostComponent.useLoadingTemplate = true; fixture.detectChanges(); + await fixture.whenStable(); expect(document.querySelector('.loading').textContent).toBe('Loading...'); }); @@ -194,6 +189,7 @@ describe('LazyElementDirective', () => { testHostComponent.useLoadingTemplate = true; fixture.detectChanges(); + await fixture.whenStable(); expect(document.querySelector('.loading').textContent).toBe('Loading...'); @@ -212,6 +208,7 @@ describe('LazyElementDirective', () => { testHostComponent.useErrorTemplate = true; fixture.detectChanges(); + await fixture.whenStable(); expect(document.querySelector('.loading').textContent).toBe('Loading...'); expect(document.querySelector('.error')).toBe(null); @@ -231,7 +228,7 @@ describe('LazyElementDirective', () => { consoleErrorSpy.mockRestore(); }); - it('uses type module on script tag when specified', () => { + it('uses type module on script tag when specified', async () => { fixture.detectChanges(); expect(appendChildSpy).toHaveBeenCalledTimes(1); @@ -242,6 +239,7 @@ describe('LazyElementDirective', () => { testHostComponent.useModule = true; fixture.detectChanges(); + await fixture.whenStable(); expect(appendChildSpy).toHaveBeenCalledTimes(2); expect(getAppendChildSecondScript().src).toBe( @@ -273,14 +271,15 @@ describe('LazyElementDirective', () => { ); }); - it('uses elementConfig for the tag', () => { + it('uses elementConfig for the tag', async () => { testHostComponent.useElementConfig = true; fixture.detectChanges(); + await fixture.whenStable(); expect(document.querySelector('.loading').textContent).toBe('Spinner...'); }); - it('should load another element when the `url` binding changes', () => { + it('should load another element when the `url` binding changes', async () => { // Arrange const elementsLoaderService = TestBed.inject(LazyElementsLoaderService); const loadElementSpy = jest.spyOn(elementsLoaderService, 'loadElement'); @@ -290,10 +289,12 @@ describe('LazyElementDirective', () => { testHostComponent.url = 'http://elements.com/some-configured-element-module'; fixture.detectChanges(); + await fixture.whenStable(); testHostComponent.url = 'http://elements.com/some-configured-element-module-es2015'; fixture.detectChanges(); + await fixture.whenStable(); // Assert expect(loadElementSpy).toHaveBeenCalledTimes(2); diff --git a/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.ts b/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.ts index ecd2083..7e71cb6 100644 --- a/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.ts +++ b/projects/elements/src/lib/lazy-elements/lazy-element/lazy-element.directive.ts @@ -20,8 +20,11 @@ import { EMPTY, from, Subscription, + catchError, + debounceTime, + mergeMap, + switchMap, } from 'rxjs'; -import { catchError, debounceTime, mergeMap, switchMap } from 'rxjs/operators'; import { ElementConfig,