From ed84be375f525d3925716a9b16832342cba4710a Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Tue, 30 Jan 2024 16:39:33 +0100 Subject: [PATCH 1/8] feat(dataset-page): create template and observables allowing to display relevant information from mdview.facade --- .../dataset-page/dataset-page.component.html | 136 +++++++++++++++++- .../dataset-page/dataset-page.component.ts | 44 +++++- 2 files changed, 174 insertions(+), 6 deletions(-) diff --git a/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html b/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html index 0359b466..b570976a 100644 --- a/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html +++ b/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html @@ -1 +1,135 @@ -

dataset-page works!

+@if ((facade.error$ | async) === null) { +
+ @if ((facade.isPresent$ | async) === true) { +
+ +
+
{{ (facade.metadata$ | async).title }}
+
{{ (facade.metadata$ | async).abstract }}
+
+ +
+
mel.dataset.informations
+
{{ (facade.metadata$ | async).recordUpdated }}
+
{{ (facade.metadata$ | async).keywords }}
+
{{ (facade.metadata$ | async).themes }}
+
{{ (facade.metadata$ | async).licenses }}
+
{{ (facade.metadata$ | async).ownerOrganization?.name }}
+
+
+ } +
+@if ((displayMap$ | async) || (displayData$ | async)) { + +
+
+
+
+
+ record.metadata.preview +
+ + + + record.tab.map + + @if(displayMap$ | async) { +
+ +
+ } +
+ + + record.tab.data + + @if(displayData$ | async) { +
+ +
+ } +
+ + + record.tab.chart + + @if(displayData$ | async) { +
+ +
+ } +
+
+
+
+
+
+} @if((selectedTabIndex$ | async) === 2) { + + +} +
+ @if(displayApi$ | async) { +
+ + +
+ } +
+@if(displayRelated$ | async) { + +
+
+
+
+
+

+ record.metadata.related +

+
+ + +
+
+
+
+
+
+
+
+
+} } +
+ + +
diff --git a/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.ts b/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.ts index 9060b353..471a0fc8 100644 --- a/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.ts +++ b/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.ts @@ -1,12 +1,46 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component } from '@angular/core' +import { ActivatedRoute } from '@angular/router' +import { ErrorType, MdViewFacade } from 'geonetwork-ui' +import { BehaviorSubject, combineLatest, map } from 'rxjs' @Component({ selector: 'mel-datahub-dataset-page', - standalone: true, - imports: [CommonModule], templateUrl: './dataset-page.component.html', styles: ``, changeDetection: ChangeDetectionStrategy.OnPush, }) -export class DatasetPageComponent {} +export class DatasetPageComponent { + displayMap$ = combineLatest([ + this.facade.mapApiLinks$, + this.facade.geoDataLinks$, + ]).pipe( + map( + ([mapLinks, geoDataLinks]) => + mapLinks?.length > 0 || geoDataLinks?.length > 0 + ) + ) + displayData$ = combineLatest([ + this.facade.dataLinks$, + this.facade.geoDataLinks$, + ]).pipe( + map( + ([dataLinks, geoDataLinks]) => + dataLinks?.length > 0 || geoDataLinks?.length > 0 + ) + ) + displayApi$ = this.facade.apiLinks$.pipe(map((links) => links?.length > 0)) + displayRelated$ = this.facade.related$.pipe( + map((records) => records?.length > 0) + ) + errorTypes = ErrorType + selectedTabIndex$ = new BehaviorSubject(0) + + constructor(public facade: MdViewFacade, private route: ActivatedRoute) {} + + onTabIndexChange(index: number): void { + this.selectedTabIndex$.next(index) + setTimeout(() => { + window.dispatchEvent(new Event('resize')) + }, 0) + } +} From bc90276d25f8d5938f060cbd8c60a771403b09ec Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Tue, 30 Jan 2024 16:41:14 +0100 Subject: [PATCH 2/8] feat(dataset-apis): create component based on gn-ui's record-apis and underlying components --- .../app/dataset/dataset-apis.component.html | 63 +++++++++++++++++++ .../src/app/dataset/dataset-apis.component.ts | 38 +++++++++++ 2 files changed, 101 insertions(+) create mode 100644 apps/datahub/src/app/dataset/dataset-apis.component.html create mode 100644 apps/datahub/src/app/dataset/dataset-apis.component.ts diff --git a/apps/datahub/src/app/dataset/dataset-apis.component.html b/apps/datahub/src/app/dataset/dataset-apis.component.html new file mode 100644 index 00000000..18539919 --- /dev/null +++ b/apps/datahub/src/app/dataset/dataset-apis.component.html @@ -0,0 +1,63 @@ +
+

+ record.metadata.api +

+ + + + +
+
+
+
+
+

+ record.metadata.api.form.title +

+ +
+ +
+
+
diff --git a/apps/datahub/src/app/dataset/dataset-apis.component.ts b/apps/datahub/src/app/dataset/dataset-apis.component.ts new file mode 100644 index 00000000..7c629f03 --- /dev/null +++ b/apps/datahub/src/app/dataset/dataset-apis.component.ts @@ -0,0 +1,38 @@ +import { Component, ChangeDetectionStrategy, OnInit } from '@angular/core' +import { MdViewFacade } from 'geonetwork-ui' +import { DatasetServiceDistribution } from 'geonetwork-ui/libs/common/domain/src/lib/model/record' +import { Observable } from 'rxjs' + +@Component({ + selector: 'mel-datahub-dataset-apis', + templateUrl: './dataset-apis.component.html', + styles: ``, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class DatasetApisComponent implements OnInit { + maxHeight = '0px' + opacity = 0 + selectedApiLink: DatasetServiceDistribution + apiLinks$ = this.facade.apiLinks$ as Observable + constructor(public facade: MdViewFacade) {} + + ngOnInit(): void { + this.setStyle(undefined) + this.selectedApiLink = undefined + } + + openRecordApiForm(link: DatasetServiceDistribution) { + this.selectedApiLink = link + this.setStyle(link) + } + + closeRecordApiForm() { + this.selectedApiLink = undefined + this.setStyle(undefined) + } + + setStyle(link: DatasetServiceDistribution) { + this.maxHeight = link === undefined ? '0px' : '500px' + this.opacity = link === undefined ? 0 : 1 + } +} From 57ad032f03b6145e15f79209f56ce8633c51d29f Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Tue, 30 Jan 2024 16:42:37 +0100 Subject: [PATCH 3/8] feat(app.module): add imports, declarations and fix routing to dataset which was broken due to StoreRouterConnectingModule.forRoot() --- apps/datahub/src/app/app.module.ts | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/apps/datahub/src/app/app.module.ts b/apps/datahub/src/app/app.module.ts index cec4572e..58a8f2b2 100644 --- a/apps/datahub/src/app/app.module.ts +++ b/apps/datahub/src/app/app.module.ts @@ -6,6 +6,7 @@ import { DefaultRouterModule, FeatureAuthModule, FeatureCatalogModule, + FeatureRecordModule, FeatureSearchModule, provideGn4, provideRepositoryUrl, @@ -13,6 +14,7 @@ import { ThemeService, TRANSLATE_DEFAULT_CONFIG, UiElementsModule, + UiLayoutModule, UiWidgetsModule, } from 'geonetwork-ui' import { @@ -22,7 +24,6 @@ import { } from '@ngx-translate/core' import { StoreModule } from '@ngrx/store' import { EffectsModule } from '@ngrx/effects' -import { StoreRouterConnectingModule } from '@ngrx/router-store' import { StoreDevtoolsModule } from '@ngrx/store-devtools' import { SearchPageComponent } from './search/search-page/search-page.component' import { DatasetPageComponent } from './dataset/dataset-page/dataset-page.component' @@ -42,6 +43,8 @@ import { ResultsListGridComponent } from './common/results-list/results-list-gri import { ResultsCardFavoriteComponent } from './common/results-list-item/results-card-favorite/results-card-favorite.component' import { ResultsCardLastCreatedComponent } from './common/results-list-item/results-card-last-created/results-card-last-created.component' import { ResultsCardSearchComponent } from './common/results-list-item/results-card-search/results-card-search.component' +import { MatTabsModule } from '@angular/material/tabs' +import { DatasetApisComponent } from './dataset/dataset-apis.component' @NgModule({ declarations: [ @@ -59,19 +62,20 @@ import { ResultsCardSearchComponent } from './common/results-list-item/results-c ResultsCardFavoriteComponent, ResultsCardLastCreatedComponent, ResultsCardSearchComponent, + DatasetPageComponent, + DatasetApisComponent, ], imports: [ BrowserModule, BrowserAnimationsModule, UiWidgetsModule, UiElementsModule, + UiLayoutModule, FeatureSearchModule, FeatureCatalogModule, + FeatureRecordModule, MatIconModule, - RouterModule.forRoot([], { - initialNavigation: 'enabledBlocking', - scrollPositionRestoration: 'enabled', - }), + MatTabsModule, TranslateModule.forRoot({ ...TRANSLATE_DEFAULT_CONFIG, loader: { @@ -84,14 +88,17 @@ import { ResultsCardSearchComponent } from './common/results-list-item/results-c { metaReducers: [], runtimeChecks: { - strictActionImmutability: true, - strictStateImmutability: true, + strictActionImmutability: false, + strictStateImmutability: false, }, } ), EffectsModule.forRoot([]), - StoreRouterConnectingModule.forRoot(), StoreDevtoolsModule.instrument({ logOnly: !isDevMode() }), + RouterModule.forRoot([], { + initialNavigation: 'enabledBlocking', + scrollPositionRestoration: 'enabled', + }), DefaultRouterModule.forRoot({ searchStateId: 'mainSearch', searchRouteComponent: SearchPageComponent, From 18f3101816bbf328e8d602394e6555512fdbc271 Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Wed, 31 Jan 2024 16:34:49 +0100 Subject: [PATCH 4/8] refactor(dataset-apis): move component into folder --- apps/datahub/src/app/app.module.ts | 2 +- .../app/dataset/{ => dataset-apis}/dataset-apis.component.html | 0 .../app/dataset/{ => dataset-apis}/dataset-apis.component.ts | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename apps/datahub/src/app/dataset/{ => dataset-apis}/dataset-apis.component.html (100%) rename apps/datahub/src/app/dataset/{ => dataset-apis}/dataset-apis.component.ts (100%) diff --git a/apps/datahub/src/app/app.module.ts b/apps/datahub/src/app/app.module.ts index 58a8f2b2..e6121703 100644 --- a/apps/datahub/src/app/app.module.ts +++ b/apps/datahub/src/app/app.module.ts @@ -44,7 +44,7 @@ import { ResultsCardFavoriteComponent } from './common/results-list-item/results import { ResultsCardLastCreatedComponent } from './common/results-list-item/results-card-last-created/results-card-last-created.component' import { ResultsCardSearchComponent } from './common/results-list-item/results-card-search/results-card-search.component' import { MatTabsModule } from '@angular/material/tabs' -import { DatasetApisComponent } from './dataset/dataset-apis.component' +import { DatasetApisComponent } from './dataset/dataset-apis/dataset-apis.component' @NgModule({ declarations: [ diff --git a/apps/datahub/src/app/dataset/dataset-apis.component.html b/apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.html similarity index 100% rename from apps/datahub/src/app/dataset/dataset-apis.component.html rename to apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.html diff --git a/apps/datahub/src/app/dataset/dataset-apis.component.ts b/apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.ts similarity index 100% rename from apps/datahub/src/app/dataset/dataset-apis.component.ts rename to apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.ts From e8e07279980de48e0ca88cb7b25965e311528b27 Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Wed, 31 Jan 2024 16:36:57 +0100 Subject: [PATCH 5/8] chore(i18n): add translate attribute and run extract somehow mel.dataset.informations is not extracted and keys already translated in gn-ui are extracted --- .../dataset-page/dataset-page.component.html | 16 +++++++--------- apps/datahub/src/assets/i18n/en_MEL.json | 5 ++++- apps/datahub/src/assets/i18n/fr_MEL.json | 5 ++++- package.json | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html b/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html index b570976a..420cc0cb 100644 --- a/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html +++ b/apps/datahub/src/app/dataset/dataset-page/dataset-page.component.html @@ -9,7 +9,7 @@
-
mel.dataset.informations
+
mel.dataset.informations
{{ (facade.metadata$ | async).recordUpdated }}
{{ (facade.metadata$ | async).keywords }}
{{ (facade.metadata$ | async).themes }}
@@ -117,19 +117,17 @@
-} } -
+} } @else { +
+ @if((facade.error$ | async).notFound) { + } @else if((facade.error$ | async).otherError) {}
+} diff --git a/apps/datahub/src/assets/i18n/en_MEL.json b/apps/datahub/src/assets/i18n/en_MEL.json index a3cfe2c3..4d8b6d7f 100644 --- a/apps/datahub/src/assets/i18n/en_MEL.json +++ b/apps/datahub/src/assets/i18n/en_MEL.json @@ -1,5 +1,8 @@ { "mel.common.header.title": "", "mel.datahub.home.title": "", - "mel.datahub.search.title": "" + "mel.datahub.search.title": "", + "record.metadata.api": "", + "record.metadata.api.form.closeButton": "", + "record.metadata.api.form.title": "" } diff --git a/apps/datahub/src/assets/i18n/fr_MEL.json b/apps/datahub/src/assets/i18n/fr_MEL.json index 70dcab6c..f514f731 100644 --- a/apps/datahub/src/assets/i18n/fr_MEL.json +++ b/apps/datahub/src/assets/i18n/fr_MEL.json @@ -1,5 +1,8 @@ { "mel.common.header.title": "Data platform", "mel.datahub.home.title": "Métropole Européenne Lille", - "mel.datahub.search.title": "Catalogue de jeux de données" + "mel.datahub.search.title": "Catalogue de jeux de données", + "record.metadata.api": "", + "record.metadata.api.form.closeButton": "", + "record.metadata.api.form.title": "" } diff --git a/package.json b/package.json index 362271ba..edc00138 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "e2e:all": "nx run-many --target=e2e", "e2e:datahub": "nx e2e mel-datahub-e2e", "e2e:datahub-dev": "nx e2e mel-datahub-e2e --watch", - "i18n:extract": "ngx-translate-extract -s --fi ' ' --input ./apps --output ./apps/datahub/src/assets/i18n/{en_MEL,fr_MEL}.json --clean --format json && npm run format:write" + "i18n:extract": "ngx-translate-extract -s --fi ' ' --input ./apps --output ./apps/datahub/src/assets/i18n/{en_MEL,fr_MEL}.json --clean --format json && npm run format" }, "private": true, "dependencies": { From a1d1e36ceb1f88498b9ee746ba980e461422e6eb Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Thu, 1 Feb 2024 09:31:17 +0100 Subject: [PATCH 6/8] chore(package.json): npm i --save-dev @types/geojson --- package-lock.json | 7 +++++++ package.json | 1 + 2 files changed, 8 insertions(+) diff --git a/package-lock.json b/package-lock.json index 889239de..e6c64fbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,6 +56,7 @@ "@schematics/angular": "~17.0.0", "@swc-node/register": "~1.6.7", "@swc/core": "~1.3.85", + "@types/geojson": "^7946.0.14", "@types/jest": "^29.4.0", "@types/node": "18.16.9", "@typescript-eslint/eslint-plugin": "^6.9.1", @@ -7710,6 +7711,12 @@ "@types/send": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==", + "dev": true + }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", diff --git a/package.json b/package.json index edc00138..15670c97 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "@schematics/angular": "~17.0.0", "@swc-node/register": "~1.6.7", "@swc/core": "~1.3.85", + "@types/geojson": "^7946.0.14", "@types/jest": "^29.4.0", "@types/node": "18.16.9", "@typescript-eslint/eslint-plugin": "^6.9.1", From 10b21f215aee4b47c44138eeeb3e3c339d20fe00 Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Thu, 1 Feb 2024 14:55:47 +0100 Subject: [PATCH 7/8] chore(i18n): update extract package --- package-lock.json | 542 ++++++++++++---------------------------------- package.json | 2 +- 2 files changed, 141 insertions(+), 403 deletions(-) diff --git a/package-lock.json b/package-lock.json index e6c64fbb..784af032 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,6 @@ "@angular/platform-browser": "~17.0.0", "@angular/platform-browser-dynamic": "~17.0.0", "@angular/router": "~17.0.0", - "@bartholomej/ngx-translate-extract": "^8.0.2", "@biesbjerg/ngx-translate-extract-marker": "^1.0.0", "@ngrx/component-store": "~17.0.0", "@ngrx/effects": "~17.0.0", @@ -29,6 +28,7 @@ "@ngrx/store": "~17.0.0", "@ngx-translate/core": "^15.0.0", "@nx/angular": "17.2.8", + "@vendure/ngx-translate-extract": "^9.0.3", "geonetwork-ui": "^2.2.0-dev.f866474c", "rxjs": "~7.8.0", "tslib": "^2.3.0", @@ -2447,55 +2447,6 @@ "node": ">=6.9.0" } }, - "node_modules/@bartholomej/ngx-translate-extract": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@bartholomej/ngx-translate-extract/-/ngx-translate-extract-8.0.2.tgz", - "integrity": "sha512-QBayCNhuatTL5mJJzfGtBpbbViRqG+Vv0iQGyiTcoJv40Wv4G+70rQl1Q+I+CW6jcw5L1VfR+RDtKD6WkeuWZw==", - "dependencies": { - "@angular/compiler": "^13.1.1", - "@phenomnomnominal/tsquery": "^4.1.1", - "boxen": "^6.2.1", - "colorette": "^2.0.16", - "flat": "^5.0.2", - "gettext-parser": "^4.2.0", - "glob": "^7.2.0", - "path": "^0.12.7", - "terminal-link": "^3.0.0", - "yargs": "^17.2.1" - }, - "bin": { - "ngx-translate-extract": "bin/cli.js" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "@angular/compiler": ">=13.0.0", - "typescript": ">=4.4.0" - } - }, - "node_modules/@bartholomej/ngx-translate-extract/node_modules/@angular/compiler": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.4.0.tgz", - "integrity": "sha512-tPWoq2RC/VIrJtynEnMRWQZemBIC/ypuVfuUf3p8IIXCZHjuGnibdlZTtFYkexc4/sR1ug9xk1cJWvbOPwilng==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - } - }, - "node_modules/@bartholomej/ngx-translate-extract/node_modules/@phenomnomnominal/tsquery": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.2.0.tgz", - "integrity": "sha512-hR2U3uVcrrdkuG30ItQ+uFDs4ncZAybxWG0OjTE8ptPzVoU7GVeXpy+vMU8zX9EbmjGeITPw/su5HjYQyAH8bA==", - "dependencies": { - "esquery": "^1.0.1" - }, - "peerDependencies": { - "typescript": "^3 || ^4" - } - }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -7684,6 +7635,14 @@ "@types/estree": "*" } }, + "node_modules/@types/esquery": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@types/esquery/-/esquery-1.5.3.tgz", + "integrity": "sha512-c55hQOcoPkWDfuEN9EdP1YyNH4D909U40gUEpY0nB5PWHExWHEPxcx3sx0fJ1Gzf4j1OpWktmIgciIlpgHtfDg==", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -7880,6 +7839,16 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==" + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==" + }, "node_modules/@types/tough-cookie": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", @@ -8305,6 +8274,99 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@vendure/ngx-translate-extract": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@vendure/ngx-translate-extract/-/ngx-translate-extract-9.0.3.tgz", + "integrity": "sha512-sh020sx4GCtcxMUShTe1jDjyu8yn6Zc9zRHL8u9mNNpm5zd0CqY9m/Nt32taWIyyynOX115e4AhJrBnWixnIdA==", + "dependencies": { + "@phenomnomnominal/tsquery": "^6.1.3", + "braces": "^3.0.2", + "colorette": "^2.0.20", + "flat": "^6.0.1", + "gettext-parser": "^4.2.0", + "glob": "^10.3.0", + "json5": "^2.2.3", + "tsconfig": "^7.0.0", + "yargs": "^17.7.2" + }, + "bin": { + "ngx-translate-extract": "bin/cli.js" + }, + "engines": { + "node": ">=18.13.0", + "npm": ">=8" + }, + "peerDependencies": { + "@angular/compiler": ">=17.0.0", + "typescript": ">=5.2.0" + } + }, + "node_modules/@vendure/ngx-translate-extract/node_modules/@phenomnomnominal/tsquery": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-6.1.3.tgz", + "integrity": "sha512-CEqpJ872StsxRmwv9ePCZ4BCisrJSlREUC5XxIRYxhvODt4aQoJFFmjTgaP6meyKiiXxxN/VWPZ58j4yHXRkmw==", + "dependencies": { + "@types/esquery": "^1.5.0", + "esquery": "^1.5.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, + "node_modules/@vendure/ngx-translate-extract/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@vendure/ngx-translate-extract/node_modules/flat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-6.0.1.tgz", + "integrity": "sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==", + "bin": { + "flat": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@vendure/ngx-translate-extract/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vendure/ngx-translate-extract/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@vitejs/plugin-basic-ssl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", @@ -9131,14 +9193,6 @@ "node": ">=0.8" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dependencies": { - "string-width": "^4.1.0" - } - }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -9979,186 +10033,6 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/boxen/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/boxen/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -10827,17 +10701,6 @@ "node": ">=6" } }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -23116,15 +22979,6 @@ "node": ">= 0.8" } }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -24138,6 +23992,7 @@ "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "devOptional": true, "engines": { "node": ">= 0.6.0" } @@ -25977,37 +25832,6 @@ "node": ">=4" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -26227,46 +26051,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/terminal-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", - "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", - "dependencies": { - "ansi-escapes": "^5.0.0", - "supports-hyperlinks": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", - "dependencies": { - "type-fest": "^1.0.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terser": { "version": "5.24.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", @@ -26762,6 +26546,17 @@ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, "node_modules/tsconfig-paths": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", @@ -26860,6 +26655,22 @@ "node": ">=4" } }, + "node_modules/tsconfig/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tsconfig/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -27422,24 +27233,11 @@ "requires-port": "^1.0.0" } }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dependencies": { - "inherits": "2.0.3" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -28394,66 +28192,6 @@ "node": ">= 8" } }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", diff --git a/package.json b/package.json index 15670c97..ae2b180e 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "@angular/platform-browser": "~17.0.0", "@angular/platform-browser-dynamic": "~17.0.0", "@angular/router": "~17.0.0", - "@bartholomej/ngx-translate-extract": "^8.0.2", "@biesbjerg/ngx-translate-extract-marker": "^1.0.0", "@ngrx/component-store": "~17.0.0", "@ngrx/effects": "~17.0.0", @@ -34,6 +33,7 @@ "@ngrx/store": "~17.0.0", "@ngx-translate/core": "^15.0.0", "@nx/angular": "17.2.8", + "@vendure/ngx-translate-extract": "^9.0.3", "geonetwork-ui": "^2.2.0-dev.f866474c", "rxjs": "~7.8.0", "tslib": "^2.3.0", From d020e7b20ba3d4752cab109482e2ed9b91a89cdc Mon Sep 17 00:00:00 2001 From: Tobias Kohr Date: Thu, 1 Feb 2024 14:56:28 +0100 Subject: [PATCH 8/8] fix(i18n): update translations --- .../dataset-apis/dataset-apis.component.html | 6 +++--- .../dataset-page/dataset-page.component.html | 14 +++++++++----- apps/datahub/src/assets/i18n/en_MEL.json | 12 +++++++++--- apps/datahub/src/assets/i18n/fr_MEL.json | 12 +++++++++--- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.html b/apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.html index 18539919..068d5906 100644 --- a/apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.html +++ b/apps/datahub/src/app/dataset/dataset-apis/dataset-apis.component.html @@ -3,7 +3,7 @@ class="font-title text-[28px] font-medium mt-8 mb-5 text-title text-center sm:mt-12 sm:mb-[-22px] sm:text-left" translate > - record.metadata.api + mel.record.metadata.api

- record.metadata.api.form.title + mel.record.metadata.api.form.title

- record.metadata.preview + mel.record.metadata.preview
record.tab.mapmel.record.tab.map @if(displayMap$ | async) { @@ -52,7 +52,9 @@ - record.tab.data + mel.record.tab.data @if(displayData$ | async) {
@@ -62,7 +64,9 @@ - record.tab.chart + mel.record.tab.chart @if(displayData$ | async) {
@@ -98,7 +102,7 @@ class="font-title text-[28px] text-title font-medium mt-6 sm:mt-10 mb-4 text-center sm:text-left" translate > - record.metadata.related + mel.record.metadata.related