From 33757f695e0785fbac98a802c7ce03a92be8bf76 Mon Sep 17 00:00:00 2001 From: Perreal Guillaume <guillaume.perreal@irstea.fr> Date: Mon, 14 Oct 2019 11:51:03 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20la=20configuration.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- .gitlab-ci.yml | 2 +- .prettierignore | 3 +- karma.conf.js | 4 +- ng-package.json | 7 - package-lock.json | 124 +++++++++++++++- package.json | 52 ++++--- src/{public-api.ts => index.ts} | 0 src/lib/api/api-debug.component.scss | 156 ++++++++++----------- src/lib/debug.module.ts | 2 + src/lib/watch/watch-display.component.html | 2 +- src/lib/watch/watch.service.ts | 2 +- src/test.ts | 10 +- tsconfig.common.json | 21 --- tsconfig.lib.json | 13 +- tsconfig.spec.json | 5 +- 16 files changed, 258 insertions(+), 148 deletions(-) delete mode 100644 ng-package.json rename src/{public-api.ts => index.ts} (100%) delete mode 100644 tsconfig.common.json diff --git a/.gitignore b/.gitignore index af5c3ba..0f753a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /node_modules /dist -.idea +/coverage +/.idea diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41b828c..adb476e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ include: - project: pole-is/tools/ci-config - ref: "1.6.2" + ref: "1.8.0" file: /ngx-library-ci.yml diff --git a/.prettierignore b/.prettierignore index dd4b1bb..a60030e 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1,2 @@ -./dist/** +dist/ +coverage/ diff --git a/karma.conf.js b/karma.conf.js index bd8d91c..f48fd0e 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -16,8 +16,8 @@ module.exports = function(config) { clearContext: false, // leave Jasmine Spec Runner output visible in browser }, coverageIstanbulReporter: { - dir: __dirname + '/coverage/ngx-errors', - reports: ['html', 'lcovonly', 'text-summary'], + dir: __dirname + '/coverage', + reports: ['html', 'text-summary'], fixWebpackSourcePaths: true, }, reporters: ['progress', 'kjhtml'], diff --git a/ng-package.json b/ng-package.json deleted file mode 100644 index a0aabfa..0000000 --- a/ng-package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/ng-packagr/ng-package.schema.json", - "dest": "dist/ngx-debug", - "lib": { - "entryFile": "src/public-api.ts" - } -} diff --git a/package-lock.json b/package-lock.json index 7a9e4f3..18fa0d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -181,6 +181,34 @@ } } }, + "@angular/animations": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-8.2.9.tgz", + "integrity": "sha512-l30AF0d9P5okTPM1wieUHgcnDyGSNvyaBcxXSOkT790wAP2v5zs7VrKq9Lm+ICu4Nkx07KrOr5XLUHhqsg3VXA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "@angular/cdk": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-8.2.2.tgz", + "integrity": "sha512-e+BtFab0Vd1q/ZVu6l850Q4vvgyVYiugSX31oMRlp86fKHPowlAO7jL3z5JcAG7TybpLIqd7oqF8XQBR/yw83w==", + "dev": true, + "requires": { + "parse5": "^5.0.0", + "tslib": "^1.7.1" + }, + "dependencies": { + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true, + "optional": true + } + } + }, "@angular/cli": { "version": "8.3.8", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.8.tgz", @@ -1972,9 +2000,9 @@ } }, "@devatscience/ngx-rxtools": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@devatscience/ngx-rxtools/-/ngx-rxtools-1.0.1.tgz", - "integrity": "sha512-ZxG7dDSz0kLGGgxDyTiPhE0evklEk3yewBppO2+pdQ5JGdDxS/JU9A3Psblmbh1CQuVij58hTEmiKfvrAY3rYA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@devatscience/ngx-rxtools/-/ngx-rxtools-1.1.0.tgz", + "integrity": "sha512-UCIavkf2dYoeScSiYk3iBRkXPnqL2FJ5WlVZepOehaUgy7RPLIomWMh0wLGLYHTFLlvy1v3V1FLyDmS8GDOz2w==", "requires": { "tslib": "^1.9.0" } @@ -3614,6 +3642,43 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "chart.js": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.8.0.tgz", + "integrity": "sha512-Di3wUL4BFvqI5FB5K26aQ+hvWh8wnP9A3DWGvXHVkO13D3DSnaSsdZx29cXlEsYKVkn1E2az+ZYFS4t0zi8x0w==", + "dev": true, + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.3.0.tgz", + "integrity": "sha512-hEvVheqczsoHD+fZ+tfPUE+1+RbV6b+eksp2LwAhwRTVXEjCSEavvk+Hg3H6SZfGlPh/UfmWKGIvZbtobOEm3g==", + "dev": true, + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^0.5.3" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", + "dev": true + } + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, "chokidar": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.1.1.tgz", @@ -8468,6 +8533,12 @@ } } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -9217,6 +9288,12 @@ "readable-stream": "^2.1.5" } }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==", + "dev": true + }, "parse-asn1": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", @@ -9874,6 +9951,47 @@ "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", "dev": true }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + }, + "dependencies": { + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=", + "dev": true + } + } + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "dev": true, + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + }, + "dependencies": { + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", + "dev": true + } + } + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", diff --git a/package.json b/package.json index a71b652..12d9064 100644 --- a/package.json +++ b/package.json @@ -17,35 +17,38 @@ "url": "https://gitlab.irstea.fr/pole-is/packages/ngx-debug.git" }, "peerDependencies": { - "@angular/common": "^8.2.0", - "@angular/core": "^8.2.0", - "@angular/forms": "^8.2.0", - "@angular/router": "^8.2.0", + "@angular/common": "^8", + "@angular/core": "^8", + "@angular/forms": "^8", + "@angular/router": "^8", "@devatscience/ngx-errors": "^0.1.1", "lodash": "^4.17.15", "primeng": "^8.0.2", "rxjs": "^6.5.2" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.803.8", - "@angular/cli": "^8.3.8", - "@angular/common": "^8.2.9", - "@angular/compiler": "^8.2.9", - "@angular/compiler-cli": "^8.2.9", - "@angular/core": "^8.2.9", - "@angular/forms": "^8.2.9", - "@angular/platform-browser": "^8.2.9", - "@angular/platform-browser-dynamic": "^8.2.9", - "@angular/router": "^8.2.9", + "@angular-devkit/build-angular": "^0.803", + "@angular/animations": "^8", + "@angular/cdk": "^8", + "@angular/cli": "^8", + "@angular/common": "^8", + "@angular/compiler": "^8", + "@angular/compiler-cli": "^8", + "@angular/core": "^8", + "@angular/forms": "^8", + "@angular/platform-browser": "^8", + "@angular/platform-browser-dynamic": "^8", + "@angular/router": "^8", "@devatscience/ngx-errors": "^0.1.1", "@types/jasmine": "^3.4.2", "@types/lodash": "^4.14.142", + "chart.js": "^2.8.0", "husky": "^3.0.8", "irstea-typescript-config": "^2.1.2", "jasmine": "^3.5.0", "karma": "^4.3.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-firefox-launcher": "^1.2.0", + "karma-coverage-istanbul-reporter": "^2.1", + "karma-firefox-launcher": "^1.2", "karma-jasmine": "^2.0.1", "karma-jasmine-html-reporter": "^1.4.2", "lint-staged": "^10.0.0-0", @@ -53,6 +56,7 @@ "ng-packagr": "^5.6.1", "prettier": "^1.18.2", "primeng": "^8.0.4", + "quill": "^1.3.7", "rxjs": "^6.5.3", "rxjs-marbles": "^5.0.3", "tslint": "^5.20", @@ -61,23 +65,25 @@ "zone.js": "^0.9.1" }, "dependencies": { - "@devatscience/ngx-rxtools": "^1.0.1" + "@devatscience/ngx-rxtools": "^1.1" }, "scripts": { "test": "ng test --code-coverage --no-watch --no-progress", "lint": "ng lint && prettier --check **/*.{js,json,html,scss}", "lint:fix": "ng lint --fix --force && prettier --write **/*.{ts,js,json,html,scss}", - "package": "ng-packagr" + "build": "ng-packagr -p package.json" + }, + "ngPackage": { + "lib": { + "entryFile": "src/index.ts" + } }, "husky": { "hooks": { - "pre-commit": "lint-staged" + "pre-commit": "lint-staged --relative" } }, "lint-staged": { - "*.{ts,js,json,html,scss}": [ - "prettier --write", - "git add" - ] + "*.{ts,js,json,html,css,scss,yaml}": "prettier" } } diff --git a/src/public-api.ts b/src/index.ts similarity index 100% rename from src/public-api.ts rename to src/index.ts diff --git a/src/lib/api/api-debug.component.scss b/src/lib/api/api-debug.component.scss index 8e9bbef..dd8d4f0 100644 --- a/src/lib/api/api-debug.component.scss +++ b/src/lib/api/api-debug.component.scss @@ -1,78 +1,78 @@ -@import '../../../../../src/assets/sass/variables'; -@import '../../../../../src/assets/sass/apollo/theme/theme_light'; -@import '../../../../../src/assets/sass/apollo/mixins'; - -@mixin badge() { - min-width: 2em; - padding: 0 5px; - text-align: center; - @include border-radius(2px); -} - -:host { - display: table; - border-spacing: 2px; - border: $contentBorderColor; -} - -.requests { - display: table; - border-spacing: 2px; -} - -.new, -.total { - @include badge(); - margin: 2px; - display: inline-block; -} - -.new { - color: $warnMessageTextColor; - background-color: $warnMessageBgColor; -} - -.total { - color: $infoMessageTextColor; - background-color: $infoMessageBgColor; -} - -.request { - display: block; - - & > * { - display: table-cell; - margin: 0 2px; - padding: 2px; - vertical-align: middle; - } - - .unseen { - color: $yellow; - } - - .status { - @include badge(); - - &.cancelled { - color: white; - background-color: gray; - } - - &.success { - color: $successMessageTextColor; - background-color: $successMessageBgColor; - } - - &.error { - color: $errorMessageTextColor; - background-color: $errorMessageBgColor; - } - } - - .url { - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - } -} +//@import '../../../../../src/assets/sass/variables'; +//@import '../../../../../src/assets/sass/apollo/theme/theme_light'; +//@import '../../../../../src/assets/sass/apollo/mixins'; +// +//@mixin badge() { +// min-width: 2em; +// padding: 0 5px; +// text-align: center; +// @include border-radius(2px); +//} +// +//:host { +// display: table; +// border-spacing: 2px; +// border: $contentBorderColor; +//} +// +//.requests { +// display: table; +// border-spacing: 2px; +//} +// +//.new, +//.total { +// @include badge(); +// margin: 2px; +// display: inline-block; +//} +// +//.new { +// color: $warnMessageTextColor; +// background-color: $warnMessageBgColor; +//} +// +//.total { +// color: $infoMessageTextColor; +// background-color: $infoMessageBgColor; +//} +// +//.request { +// display: block; +// +// & > * { +// display: table-cell; +// margin: 0 2px; +// padding: 2px; +// vertical-align: middle; +// } +// +// .unseen { +// color: $yellow; +// } +// +// .status { +// @include badge(); +// +// &.cancelled { +// color: white; +// background-color: gray; +// } +// +// &.success { +// color: $successMessageTextColor; +// background-color: $successMessageBgColor; +// } +// +// &.error { +// color: $errorMessageTextColor; +// background-color: $errorMessageBgColor; +// } +// } +// +// .url { +// text-overflow: ellipsis; +// overflow: hidden; +// white-space: nowrap; +// } +//} diff --git a/src/lib/debug.module.ts b/src/lib/debug.module.ts index 965cf60..248975c 100644 --- a/src/lib/debug.module.ts +++ b/src/lib/debug.module.ts @@ -16,6 +16,7 @@ import { TreeTableModule } from 'primeng/treetable'; import { ApiDebugComponent } from './api/api-debug.component'; import { Configuration, configurationFactory } from './configuration'; +import { DebugStateService } from './debug-state.service'; import { DebugToggleComponent } from './debug-toggle.component'; import { DumpPanelComponent } from './dump-panel.component'; import { DumpValueComponent } from './dump-value.component'; @@ -48,6 +49,7 @@ const EXPORTED_COMPONENTS = [ ], providers: [ WatchService, + DebugStateService, { provide: Configuration, useFactory: configurationFactory }, { provide: LOCALE_ID, useValue: 'fr' }, ], diff --git a/src/lib/watch/watch-display.component.html b/src/lib/watch/watch-display.component.html index 084eb2c..ef2efc0 100644 --- a/src/lib/watch/watch-display.component.html +++ b/src/lib/watch/watch-display.component.html @@ -1,5 +1,5 @@ <ng-container *ngFor="let value of values$ | async; trackBy: label"> <p-panel header="{{ value.label }}" [toggleable]="true" ngClass="value"> - <app-dump-value [value]="value.value"></app-dump-value> + <dbg-dump-value [value]="value.value"></dbg-dump-value> </p-panel> </ng-container> diff --git a/src/lib/watch/watch.service.ts b/src/lib/watch/watch.service.ts index 55aae63..72c3d8b 100644 --- a/src/lib/watch/watch.service.ts +++ b/src/lib/watch/watch.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { safeCombineLatest } from '@devatscience/ngx-rxtools/rxjs'; +import { safeCombineLatest } from '@devatscience/ngx-rxtools'; import { BehaviorSubject, Observable, Unsubscribable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; diff --git a/src/test.ts b/src/test.ts index 8b5d2fa..25cabf4 100644 --- a/src/test.ts +++ b/src/test.ts @@ -8,6 +8,8 @@ import { import 'zone.js/dist/zone'; import 'zone.js/dist/zone-testing'; +import './index.ts'; + declare const require: any; // First, initialize the Angular testing environment. @@ -15,7 +17,7 @@ getTestBed().initTestEnvironment( BrowserDynamicTestingModule, platformBrowserDynamicTesting() ); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); + +// Find all tests and load them +const tests = require.context('./', true, /\.spec\.ts$/); +tests.keys().map(tests); diff --git a/tsconfig.common.json b/tsconfig.common.json deleted file mode 100644 index ee944bd..0000000 --- a/tsconfig.common.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "./node_modules/irstea-typescript-config/tsconfig.json", - "compilerOptions": { - "outDir": "out-tsc/lib", - "target": "es2015", - "declaration": true, - "sourceMap": true, - "inlineSources": false, - "experimentalDecorators": true, - "typeRoots": ["node_modules/@types"], - "moduleResolution": "node" - }, - "angularCompilerOptions": { - "annotateForClosureCompiler": true, - "skipTemplateCodegen": true, - "strictMetadataEmit": true, - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true, - "enableResourceInlining": true - } -} diff --git a/tsconfig.lib.json b/tsconfig.lib.json index 898103c..121f70b 100644 --- a/tsconfig.lib.json +++ b/tsconfig.lib.json @@ -1,9 +1,16 @@ { - "extends": "./tsconfig.common.json", + "extends": "./node_modules/irstea-typescript-config/tsconfig.json", "compilerOptions": { "outDir": "out-tsc/lib", + "target": "es2015", "types": [], - "lib": ["dom", "es2018"] + "lib": ["dom", "es2018"], + "declaration": true, + "sourceMap": true, + "inlineSources": false, + "experimentalDecorators": true, + "typeRoots": ["node_modules/@types"], + "moduleResolution": "node" }, "angularCompilerOptions": { "annotateForClosureCompiler": true, @@ -13,6 +20,6 @@ "strictInjectionParameters": true, "enableResourceInlining": true }, - "files": ["src/public-api.ts"], + "files": ["src/index.ts"], "exclude": ["src/test.ts", "**/*.spec.ts"] } diff --git a/tsconfig.spec.json b/tsconfig.spec.json index f993524..501319f 100644 --- a/tsconfig.spec.json +++ b/tsconfig.spec.json @@ -1,9 +1,10 @@ { - "extends": "./tsconfig.common.json", + "extends": "./tsconfig.lib.json", "compilerOptions": { "outDir": "out-tsc/spec", "types": ["jasmine", "node"] }, "files": ["src/test.ts"], - "include": ["**/*.spec.ts", "**/*.d.ts"] + "include": ["src/**/*.ts"], + "exclude": [] } -- GitLab