@eui/tools 6.17.0 → 6.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 6.17.0
1
+ 6.18.0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## 6.18.0 (2024-07-24)
2
+
3
+ ##### New Features
4
+
5
+ * **remotes:**
6
+ * minor change MWP-11061 [MWP-11061](https://webgate.ec.europa.eu/CITnet/jira/browse/MWP-11061) ([e7168ead](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/e7168ead5b2a841773d570efb1ed7de3e756d921))
7
+ * enable zoneless for esbuild builds MWP-11061 [MWP-11061](https://webgate.ec.europa.eu/CITnet/jira/browse/MWP-11061) ([df766769](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/df766769d4498b4d83fbdf259bd185b47e9ac364))
8
+ * tweak components to make them OnPush MWP-11061 [MWP-11061](https://webgate.ec.europa.eu/CITnet/jira/browse/MWP-11061) ([50040270](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/5004027099447f321dafc74f0a634eafc20cc7f6))
9
+ * tweak the config in order to see if remotes-build using esbuild are fine. These changes work fine with webpack! [MWP-11061](https://webgate.ec.europa.eu/CITnet/jira/browse/MWP-11061) ([15d905d6](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/15d905d62d964f26840409775d9f80f26402816d))
10
+
11
+ * * *
12
+ * * *
13
+ ## 6.17.1 (2024-07-19)
14
+
15
+ ##### Chores
16
+
17
+ * **other:**
18
+ * avoid common node imports problems MWP-11061 [MWP-11061](https://webgate.ec.europa.eu/CITnet/jira/browse/MWP-11061) ([d5ff35d3](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/d5ff35d38ca46a7c912c6165c5ab2a70b99ffc6f))
19
+
20
+ * * *
21
+ * * *
1
22
  ## 6.17.0 (2024-07-18)
2
23
 
3
24
  ##### New Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/tools",
3
- "version": "6.17.0",
3
+ "version": "6.18.0",
4
4
  "tag": "latest",
5
5
  "license": "EUPL-1.1",
6
6
  "description": "eUI common tools and scripts",
@@ -3,80 +3,71 @@
3
3
  "version": 1,
4
4
  "newProjectRoot": "apps",
5
5
  "projects": {
6
- "@remote.name@": {
7
- "root": ".",
8
- "sourceRoot": "src",
9
- "projectType": "application",
10
- "prefix": "app",
11
- "schematics": {},
12
- "architect": {
13
- "build": {
14
- "builder": "@angular-devkit/build-angular:application",
15
- "options": {
16
- "outputPath": "dist",
17
- "index": "src/index.html",
18
- "browser": "src/main.ts",
19
- "polyfills": ["zone.js"],
20
- "tsConfig": "tsconfig.app.json",
21
- "sourceMap": {
22
- "scripts": true,
23
- "styles": false,
24
- "hidden": true,
25
- "vendor": true
26
- },
27
- "scripts": [
28
- ],
29
- "assets": [
30
- "src/assets",
31
- {
32
- "glob": "**/*",
33
- "input": "node_modules/@eui/core/assets/",
34
- "output": "./assets"
35
- },
36
- {
37
- "glob": "**/*",
38
- "input": "node_modules/@eui/styles/dist/assets/",
39
- "output": "./assets"
6
+ "@remote.name@": {
7
+ "root": ".",
8
+ "sourceRoot": "src",
9
+ "projectType": "application",
10
+ "prefix": "app",
11
+ "schematics": {},
12
+ "architect": {
13
+ "build": {
14
+ "builder": "@angular-devkit/build-angular:application",
15
+ "options": {
16
+ "outputPath": "dist",
17
+ "index": "src/index.html",
18
+ "browser": "src/main.ts",
19
+ "polyfills": [
20
+ ],
21
+ "tsConfig": "tsconfig.app.json",
22
+ "scripts": [
23
+ ],
24
+ "assets": [
25
+ "src/assets",
26
+ {
27
+ "glob": "**/*",
28
+ "input": "node_modules/@eui/core/assets/",
29
+ "output": "./assets"
30
+ },
31
+ {
32
+ "glob": "**/*",
33
+ "input": "node_modules/@eui/styles/dist/assets/",
34
+ "output": "./assets"
35
+ }
36
+ ],
37
+ "styles": [
38
+ "node_modules/@eui/styles/dist/styles/eui.css",
39
+ "node_modules/@eui/styles/dist/styles/eui-extra-utilities.css",
40
+ "node_modules/@eui/styles/dist/styles/eui-legacy-bootstrap.css",
41
+ "node_modules/@eui/styles/dist/styles/eui-legacy-icons-font.css",
42
+ "node_modules/@eui/styles/dist/styles/eui-legacy-utilities.css"
43
+ ]
44
+ },
45
+ "configurations": {
46
+ "development": {
47
+ "optimization": false,
48
+ "extractLicenses": false,
49
+ "sourceMap": false,
50
+ "namedChunks": true
51
+ },
52
+ "production": {
53
+ "fileReplacements": [
54
+ {
55
+ "replace": "src/environments/environment.ts",
56
+ "with": "src/environments/environment.prod.ts"
57
+ }
58
+ ],
59
+ "outputHashing": "none",
60
+ "sourceMap": false
61
+ },
62
+ "serve-dist": {
63
+ "outputPath": "serve-dist"
64
+ }
65
+ }
40
66
  }
41
- ],
42
- "styles": [
43
- "node_modules/@eui/styles/dist/styles/eui.css",
44
- "node_modules/@eui/styles/dist/styles/eui-extra-utilities.css",
45
- "node_modules/@eui/styles/dist/styles/eui-legacy-bootstrap.css",
46
- "node_modules/@eui/styles/dist/styles/eui-legacy-icons-font.css",
47
- "node_modules/@eui/styles/dist/styles/eui-legacy-utilities.css"
48
- ]
49
- },
50
- "configurations": {
51
- "development": {
52
- "optimization": false,
53
- "extractLicenses": false,
54
- "sourceMap": false,
55
- "namedChunks": true
56
- },
57
- "production": {
58
- "fileReplacements": [
59
- {
60
- "replace": "src/environments/environment.ts",
61
- "with": "src/environments/environment.prod.ts"
62
- }
63
- ],
64
- "optimization": true,
65
- "outputHashing": "all",
66
- "sourceMap": false,
67
- "namedChunks": false,
68
- "aot": true,
69
- "extractLicenses": true
70
- },
71
- "serve-dist": {
72
- "outputPath": "serve-dist"
73
- }
74
67
  }
75
- }
76
68
  }
77
- }
78
69
  },
79
70
  "cli": {
80
- "analytics": false
71
+ "analytics": false
81
72
  }
82
- }
73
+ }
@@ -6,5 +6,13 @@
6
6
  ],
7
7
  "dependencies": {},
8
8
  "resolutions": {
9
+ },
10
+ "browser": {
11
+ "os": false,
12
+ "http": false,
13
+ "https": false,
14
+ "url": false,
15
+ "util": false,
16
+ "node-fetch": false
9
17
  }
10
18
  }
@@ -1,24 +1,37 @@
1
1
  {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./out-tsc/app",
5
- "target": "ES2022",
6
- "module": "ES2022",
7
- "lib": [
8
- "ES2022",
9
- "dom"
10
- ],
11
- "types": [
12
- "node"
13
- ],
14
- "paths": {
15
- "os": ["./node_modules/empty-module/index.js"],
16
- "node-fetch": ["./node_modules/empty-module/index.js"],
17
- "zipkin": ["./node_modules/zipkin/dist/zipkin.js"]
18
- }
19
- },
20
- "exclude": [
21
- "src/test.ts",
22
- "**/*.spec.ts"
23
- ]
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./out-tsc/app",
5
+ "target": "ES2022",
6
+ "module": "ES2022",
7
+ "skipLibCheck": true,
8
+ "esModuleInterop": true,
9
+ "declaration": false,
10
+ "experimentalDecorators": true,
11
+ "moduleResolution": "bundler",
12
+ "importHelpers": true,
13
+ "sourceMap": true,
14
+ "lib": [
15
+ "ES2022",
16
+ "dom"
17
+ ],
18
+ "types": [
19
+ "node"
20
+ ],
21
+ "paths": {
22
+ "os": [
23
+ "./node_modules/empty-module/index.js"
24
+ ],
25
+ "node-fetch": [
26
+ "./node_modules/empty-module/index.js"
27
+ ],
28
+ "zipkin": [
29
+ "./node_modules/zipkin/dist/zipkin.js"
30
+ ]
31
+ }
32
+ },
33
+ "exclude": [
34
+ "src/test.ts",
35
+ "**/*.spec.ts"
36
+ ]
24
37
  }
@@ -1,6 +1,7 @@
1
- import { Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
 
3
3
  @Component({
4
+ changeDetection: ChangeDetectionStrategy.OnPush,
4
5
  template: `
5
6
  <eui-block-content [isBlocked]="true">
6
7
  <div style="height: 100%"></div>
@@ -1,26 +1,25 @@
1
- import { Component, OnInit, ElementRef, OnDestroy, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, inject, OnDestroy, OnInit, signal } from '@angular/core';
2
2
 
3
3
  import { Subscription } from 'rxjs';
4
4
  import { first } from 'rxjs/operators';
5
5
 
6
6
  import { CONFIG_TOKEN } from '@eui/core';
7
- import { ElementSetupService, ElementLifeCycleService } from '@csdr/integration/element';
7
+ import { ElementLifeCycleService, ElementSetupService } from '@csdr/integration/element';
8
8
 
9
- enum ElementStatus {
10
- Loading = 'loading',
11
- Loaded = 'loaded',
12
- Error = 'error',
13
- }
9
+ type StatusType = 'Loading' | 'Loaded' | 'Failed';
14
10
 
15
11
  @Component({
12
+ changeDetection: ChangeDetectionStrategy.OnPush,
16
13
  template: `
17
- <eui-block-content *ngIf="moduleStatus === ElementStatus.Loading" [isBlocked]="true">
18
- <div style="height: 100%"></div>
19
- </eui-block-content>
20
- <ng-container *ngIf="moduleStatus === ElementStatus.Loaded">
14
+ @if (status() === 'Loaded') {
21
15
  <router-outlet></router-outlet>
22
- </ng-container>
23
- <ng-container *ngIf="moduleStatus === ElementStatus.Error">
16
+ }
17
+ @if (status() === 'Loading') {
18
+ <eui-block-content [isBlocked]="true">
19
+ <div style="height: 100%"></div>
20
+ </eui-block-content>
21
+ }
22
+ @if (status() === 'Failed') {
24
23
  <div class="error-container">
25
24
  <div>
26
25
  <h1>Translations or user data for this module failed to load.</h1>
@@ -30,8 +29,7 @@ enum ElementStatus {
30
29
  </button>
31
30
  </div>
32
31
  </div>
33
- </ng-container>
34
- `,
32
+ }`,
35
33
  styles: [`
36
34
  .error-container {
37
35
  width: 50vw;
@@ -48,10 +46,9 @@ enum ElementStatus {
48
46
  `],
49
47
  })
50
48
  export class ModuleComponent implements OnInit, OnDestroy {
51
- ElementStatus = ElementStatus;
52
- moduleStatus: ElementStatus;
49
+ status = signal<StatusType | undefined>(undefined);
53
50
 
54
- private initSubscription: Subscription;
51
+ private initSubscription: Subscription | undefined = undefined;
55
52
 
56
53
  private elRef = inject(ElementRef);
57
54
  private config = inject(CONFIG_TOKEN);
@@ -69,8 +66,8 @@ export class ModuleComponent implements OnInit, OnDestroy {
69
66
  this.elementLifeCycleService.cleanup();
70
67
  }
71
68
 
72
- private loadData() {
73
- this.setStatus(ElementStatus.Loading);
69
+ loadData() {
70
+ this.status.set('Loading');
74
71
  try {
75
72
  this.initSubscription?.unsubscribe();
76
73
 
@@ -79,19 +76,15 @@ export class ModuleComponent implements OnInit, OnDestroy {
79
76
  .pipe(first())
80
77
  .subscribe((loadStatus: { success: boolean; error?: string }) => {
81
78
  if (!loadStatus.success) {
82
- this.setStatus(ElementStatus.Error);
79
+ this.status.set('Failed');
83
80
  console.error(`[ELEMENT: ${this.config.global.elementName}] `, loadStatus.error);
84
81
  } else {
85
- this.setStatus(ElementStatus.Loaded);
82
+ this.status.set('Loaded');
86
83
  }
87
84
  });
88
85
  } catch (e) {
89
86
  console.log(e);
90
- this.setStatus(ElementStatus.Error);
87
+ this.status.set('Failed');
91
88
  }
92
89
  }
93
-
94
- private setStatus(status: ElementStatus) {
95
- this.moduleStatus = status;
96
- }
97
90
  }
@@ -1,37 +1,35 @@
1
- import { Component, OnInit, Inject, ElementRef, OnDestroy } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, inject, OnDestroy, OnInit, signal } from '@angular/core';
2
2
 
3
3
  import { Subscription } from 'rxjs';
4
4
  import { first } from 'rxjs/operators';
5
5
 
6
6
  import { CONFIG_TOKEN } from '@eui/core';
7
- import { ElementSetupService, ElementLifeCycleService } from '@csdr/integration/element';
7
+ import { ElementLifeCycleService, ElementSetupService } from '@csdr/integration/element';
8
8
 
9
- enum ElementStatus {
10
- Loading = 'loading',
11
- Loaded = 'loaded',
12
- Error = 'error',
13
- }
9
+ type StatusType = 'Loading' | 'Loaded' | 'Failed';
14
10
 
15
11
  @Component({
12
+ changeDetection: ChangeDetectionStrategy.OnPush,
16
13
  template: `
17
- <eui-block-content *ngIf="moduleStatus === ElementStatus.Loading" [isBlocked]="true">
18
- <div style="height: 100%"></div>
19
- </eui-block-content>
20
- <ng-container *ngIf="moduleStatus === ElementStatus.Loaded">
14
+ @if (status() === 'Loaded') {
21
15
  <!-- BLOCK_CONTAINER_PLACEHOLDER -->
22
- </ng-container>
23
- <ng-container *ngIf="moduleStatus === ElementStatus.Error">
16
+ }
17
+ @if (status() === 'Loading') {
18
+ <eui-block-content [isBlocked]="true">
19
+ <div style="height: 100%"></div>
20
+ </eui-block-content>
21
+ }
22
+ @if (status() === 'Failed') {
24
23
  <div class="error-container">
25
24
  <div>
26
25
  <h1>Translations or user data for this module failed to load.</h1>
27
26
  <p>Do you want to try again?</p>
28
27
  <button euiButton euiPrimary (click)="loadData()">
29
- <span euiLabel>{{ "global.RELOAD" | translate }}</span>
28
+ <span euiLabel>{{ 'global.RELOAD' | translate }}</span>
30
29
  </button>
31
30
  </div>
32
31
  </div>
33
- </ng-container>
34
- `,
32
+ }`,
35
33
  styles: [`
36
34
  .error-container {
37
35
  width: 50vw;
@@ -48,18 +46,16 @@ enum ElementStatus {
48
46
  `],
49
47
  })
50
48
  export class ModuleComponent implements OnInit, OnDestroy {
51
- ElementStatus = ElementStatus;
52
- moduleStatus: ElementStatus;
49
+ status = signal<StatusType | undefined>(undefined);
53
50
 
54
51
  block: any;
55
52
 
56
- private initSubscription: Subscription;
53
+ private initSubscription: Subscription | undefined = undefined;
57
54
 
58
- constructor(private elRef: ElementRef,
59
- @Inject(CONFIG_TOKEN) public config: any,
60
- private elementLifeCycleService: ElementLifeCycleService,
61
- private elementSetupService: ElementSetupService) {
62
- }
55
+ private elRef = inject(ElementRef);
56
+ private config = inject(CONFIG_TOKEN);
57
+ private elementLifeCycleService = inject(ElementLifeCycleService);
58
+ private elementSetupService = inject(ElementSetupService);
63
59
 
64
60
  ngOnInit() {
65
61
  this.block = this.elRef.nativeElement.block;
@@ -73,8 +69,8 @@ export class ModuleComponent implements OnInit, OnDestroy {
73
69
  this.elementLifeCycleService.cleanup();
74
70
  }
75
71
 
76
- private loadData() {
77
- this.setStatus(ElementStatus.Loading);
72
+ loadData() {
73
+ this.status.set('Loading');
78
74
  try {
79
75
  this.initSubscription?.unsubscribe();
80
76
 
@@ -83,19 +79,15 @@ export class ModuleComponent implements OnInit, OnDestroy {
83
79
  .pipe(first())
84
80
  .subscribe((loadStatus: { success: boolean, error?: string }) => {
85
81
  if (!loadStatus.success) {
86
- this.setStatus(ElementStatus.Error);
82
+ this.status.set('Failed');
87
83
  console.error(`[ELEMENT: ${this.config.global.elementName}] `, loadStatus.error);
88
84
  } else {
89
- this.setStatus(ElementStatus.Loaded);
85
+ this.status.set('Loaded');
90
86
  }
91
87
  });
92
88
  } catch (e) {
93
89
  console.log(e);
94
- this.setStatus(ElementStatus.Error);
90
+ this.status.set('Failed');
95
91
  }
96
92
  }
97
-
98
- private setStatus(status: ElementStatus) {
99
- this.moduleStatus = status;
100
- }
101
93
  }