@o3r/localization 10.0.0-next.8 → 11.0.0-next.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.
Files changed (131) hide show
  1. package/README.md +12 -14
  2. package/annotations/index.d.ts +0 -1
  3. package/annotations/index.d.ts.map +1 -1
  4. package/annotations/localization.d.ts +0 -1
  5. package/annotations/localization.d.ts.map +1 -1
  6. package/builders/helpers/localization.generator.d.ts +6 -22
  7. package/builders/helpers/localization.generator.d.ts.map +1 -1
  8. package/builders/helpers/localization.generator.js +56 -57
  9. package/builders/helpers/localization.generator.js.map +1 -1
  10. package/builders/i18n/schema.json +1 -1
  11. package/builders/localization/index.d.ts.map +1 -1
  12. package/builders/localization/index.js +5 -4
  13. package/builders/localization/index.js.map +1 -1
  14. package/builders/localization/schema.json +1 -1
  15. package/builders/localization-extractor/index.d.ts.map +1 -1
  16. package/builders/localization-extractor/index.js +5 -3
  17. package/builders/localization-extractor/index.js.map +1 -1
  18. package/builders/localization-extractor/schema.d.ts +2 -0
  19. package/builders/localization-extractor/schema.d.ts.map +1 -1
  20. package/builders/localization-extractor/schema.json +6 -1
  21. package/core/localization.configuration.d.ts +8 -5
  22. package/core/localization.configuration.d.ts.map +1 -1
  23. package/core/translate-messageformat-lazy.compiler.d.ts +1 -3
  24. package/core/translate-messageformat-lazy.compiler.d.ts.map +1 -1
  25. package/devkit/localization-devkit.interface.d.ts +45 -2
  26. package/devkit/localization-devkit.interface.d.ts.map +1 -1
  27. package/devkit/localization-devtools.console.service.d.ts +38 -9
  28. package/devkit/localization-devtools.console.service.d.ts.map +1 -1
  29. package/devkit/localization-devtools.message.service.d.ts +4 -5
  30. package/devkit/localization-devtools.message.service.d.ts.map +1 -1
  31. package/devkit/localization-devtools.module.d.ts +0 -1
  32. package/devkit/localization-devtools.module.d.ts.map +1 -1
  33. package/devkit/localization-devtools.service.d.ts +11 -2
  34. package/devkit/localization-devtools.service.d.ts.map +1 -1
  35. package/devkit/localization-devtools.token.d.ts.map +1 -1
  36. package/esm2022/annotations/index.mjs +1 -2
  37. package/esm2022/annotations/localization.mjs +1 -2
  38. package/esm2022/core/localization.configuration.mjs +1 -1
  39. package/esm2022/core/translate-messageformat-lazy.compiler.mjs +6 -6
  40. package/esm2022/devkit/localization-devkit.interface.mjs +1 -1
  41. package/esm2022/devkit/localization-devtools.console.service.mjs +66 -12
  42. package/esm2022/devkit/localization-devtools.message.service.mjs +6 -7
  43. package/esm2022/devkit/localization-devtools.module.mjs +5 -6
  44. package/esm2022/devkit/localization-devtools.service.mjs +23 -6
  45. package/esm2022/devkit/localization-devtools.token.mjs +3 -2
  46. package/esm2022/rules-engine/localization.handler-action.mjs +30 -0
  47. package/esm2022/rules-engine/localization.interfaces.mjs +3 -0
  48. package/esm2022/rules-engine/localization.rules-engine.module.mjs +23 -0
  49. package/esm2022/rules-engine/o3r-localization-rules-engine.mjs +5 -0
  50. package/esm2022/rules-engine/public_api.mjs +4 -0
  51. package/esm2022/stores/localization-override/localization-override.module.mjs +4 -4
  52. package/esm2022/tools/localization-translate.directive.mjs +6 -7
  53. package/esm2022/tools/localization-translate.pipe.mjs +6 -7
  54. package/esm2022/tools/localization.module.mjs +9 -12
  55. package/esm2022/tools/localization.provider.mjs +1 -2
  56. package/esm2022/tools/localization.service.mjs +7 -14
  57. package/esm2022/tools/localized-currency.pipe.mjs +5 -5
  58. package/esm2022/tools/localized-date.pipe.mjs +5 -5
  59. package/esm2022/tools/localized-decimal.pipe.mjs +5 -5
  60. package/esm2022/tools/text-direction.service.mjs +6 -7
  61. package/esm2022/tools/text-directionality.service.mjs +6 -6
  62. package/esm2022/tools/translations-loader.mjs +9 -11
  63. package/fesm2022/o3r-localization-rules-engine.mjs +57 -0
  64. package/fesm2022/o3r-localization-rules-engine.mjs.map +1 -0
  65. package/fesm2022/o3r-localization.mjs +160 -139
  66. package/fesm2022/o3r-localization.mjs.map +1 -1
  67. package/package.json +40 -30
  68. package/rules-engine/index.d.ts +6 -0
  69. package/rules-engine/localization.handler-action.d.ts +19 -0
  70. package/rules-engine/localization.handler-action.d.ts.map +1 -0
  71. package/rules-engine/localization.interfaces.d.ts +12 -0
  72. package/rules-engine/localization.interfaces.d.ts.map +1 -0
  73. package/rules-engine/localization.rules-engine.module.d.ts +8 -0
  74. package/rules-engine/localization.rules-engine.module.d.ts.map +1 -0
  75. package/rules-engine/o3r-localization-rules-engine.d.ts.map +1 -0
  76. package/rules-engine/public_api.d.ts +4 -0
  77. package/rules-engine/public_api.d.ts.map +1 -0
  78. package/schemas/localization.metadata.schema.json +18 -3
  79. package/schemas/rules-engine.localisation-action.schema.json +26 -0
  80. package/schematics/add-localization-key/index.d.ts.map +1 -1
  81. package/schematics/add-localization-key/index.js +2 -2
  82. package/schematics/add-localization-key/index.js.map +1 -1
  83. package/schematics/add-localization-key/schema.json +1 -1
  84. package/schematics/cms-adapter/index.d.ts +0 -1
  85. package/schematics/cms-adapter/index.d.ts.map +1 -1
  86. package/schematics/cms-adapter/index.js +5 -9
  87. package/schematics/cms-adapter/index.js.map +1 -1
  88. package/schematics/localization-base/index.d.ts +2 -1
  89. package/schematics/localization-base/index.d.ts.map +1 -1
  90. package/schematics/localization-base/index.js +28 -34
  91. package/schematics/localization-base/index.js.map +1 -1
  92. package/schematics/localization-to-component/index.d.ts.map +1 -1
  93. package/schematics/localization-to-component/index.js +2 -2
  94. package/schematics/localization-to-component/index.js.map +1 -1
  95. package/schematics/localization-to-component/schema.json +1 -1
  96. package/schematics/ng-add/helpers/devtools-registration.d.ts +11 -0
  97. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
  98. package/schematics/ng-add/helpers/devtools-registration.js +35 -0
  99. package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
  100. package/schematics/ng-add/index.d.ts +0 -1
  101. package/schematics/ng-add/index.d.ts.map +1 -1
  102. package/schematics/ng-add/index.js +9 -5
  103. package/schematics/ng-add/index.js.map +1 -1
  104. package/schematics/ng-add/schema.json +1 -1
  105. package/tools/localization-translate.directive.d.ts +3 -4
  106. package/tools/localization-translate.directive.d.ts.map +1 -1
  107. package/tools/localization-translate.pipe.d.ts +4 -5
  108. package/tools/localization-translate.pipe.d.ts.map +1 -1
  109. package/tools/localization.module.d.ts +4 -7
  110. package/tools/localization.module.d.ts.map +1 -1
  111. package/tools/localization.provider.d.ts +0 -1
  112. package/tools/localization.provider.d.ts.map +1 -1
  113. package/tools/localization.service.d.ts +6 -14
  114. package/tools/localization.service.d.ts.map +1 -1
  115. package/tools/localized-currency.pipe.d.ts +6 -5
  116. package/tools/localized-currency.pipe.d.ts.map +1 -1
  117. package/tools/localized-date.pipe.d.ts +3 -3
  118. package/tools/localized-date.pipe.d.ts.map +1 -1
  119. package/tools/localized-decimal.pipe.d.ts +3 -3
  120. package/tools/localized-decimal.pipe.d.ts.map +1 -1
  121. package/tools/text-direction.service.d.ts +5 -6
  122. package/tools/text-direction.service.d.ts.map +1 -1
  123. package/tools/text-directionality.service.d.ts +0 -1
  124. package/tools/text-directionality.service.d.ts.map +1 -1
  125. package/tools/translations-loader.d.ts +5 -7
  126. package/tools/translations-loader.d.ts.map +1 -1
  127. package/annotations/input-merge.d.ts +0 -9
  128. package/annotations/input-merge.d.ts.map +0 -1
  129. package/builders/package.json +0 -3
  130. package/esm2022/annotations/input-merge.mjs +0 -29
  131. package/schematics/package.json +0 -3
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <h1 align="center">Otter localization</h1>
2
2
  <p align="center">
3
- <img src="https://raw.githubusercontent.com/AmadeusITGroup/otter/main/.attachments/otter.png" alt="Super cute Otter!" width="40%"/>
3
+ <img src="https://raw.githubusercontent.com/AmadeusITGroup/otter/main/assets/logo/otter.png" alt="Super cute Otter!" width="40%"/>
4
4
  </p>
5
5
 
6
6
  This package is an [Otter Framework Module](https://github.com/AmadeusITGroup/otter/tree/main/docs/core/MODULE.md).
@@ -29,7 +29,7 @@ ng add @o3r/localization
29
29
 
30
30
  - Fallback language. In case some resource key does not exist in language X, the loader tries to fetch translation bundle from the endpoint location in fallback language Y in the first place and ends by loading json bundles from the application (root of dist folder **/** by default) if previous steps have failed (bundles output path in dist folder is also configurable via a shell option).
31
31
 
32
- - Resource keys can be translated from templates (*.html) via a [pipe](https://github.com/ngx-translate/core/blob/master/projects/ngx-translate/core/src/lib/translate.pipe.ts) or [directive](https://github.com/ngx-translate/core/blob/master/projects/ngx-translate/core/src/lib/translate.directive.ts) as well as from typescript (*.ts) via a [service](https://github.com/ngx-translate/core/blob/master/projects/ngx-translate/core/src/lib/translate.service.ts).
32
+ - Resource keys can be translated from templates (*.html) via a [pipe](https://github.com/ngx-translate/core/blob/master/packages/core/lib/translate.pipe.ts) or [directive](https://github.com/ngx-translate/core/blob/master/packages/core/lib/translate.directive.ts) as well as from typescript (*.ts) via a [service](https://github.com/ngx-translate/core/blob/master/packages/core/lib/translate.service.ts).
33
33
 
34
34
  - Support for resource keys with parameters
35
35
 
@@ -371,8 +371,6 @@ constructor(private router: Router,
371
371
 
372
372
  ### How to add RTL support in my app
373
373
 
374
- - Note: **TextDirectionDirective** is deprecated. Please refer to **TextDirectionService**.
375
-
376
374
  The **TextDirectionService** has to be injected in `app.component.ts` as follows.
377
375
 
378
376
  ```typescript
@@ -399,7 +397,7 @@ import {
399
397
  LazyMessageFormatConfig,
400
398
  LocalizationModule,
401
399
  translateLoaderProvider,
402
- TranslateMessageFormatLazyCompiler
400
+ TranslateMessageFormatLazyCompiler
403
401
  } from "@o3r/localization";
404
402
  import { TranslateModule } from "@ngx-translate/core";
405
403
  import { MESSAGE_FORMAT_CONFIG } from 'ngx-translate-messageformat-compiler';
@@ -439,8 +437,8 @@ class AppModule {}
439
437
 
440
438
  ### How to localize plural expression
441
439
 
442
- For pluralizations we are using *TranslateMessageFormatCompiler*, comming from [ngx-translate-messageformat-compiler](https://www.npmjs.com/package/ngx-translate-messageformat-compiler) package, which is a compiler for *ngx-translate* that uses *messageformat.js* to compile translations using ICU syntax for handling pluralization and gender.
443
- [ICU Message Format](http://userguide.icu-project.org/formatparse/messages) is a standardized syntax for dealing with the translation of user-visible strings into various languages that may have different requirements for the correct declension of words (e.g. according to number, gender, case) - or to simplify: pluralization.
440
+ For pluralizations we are using *TranslateMessageFormatCompiler*, comming from [ngx-translate-messageformat-compiler](https://www.npmjs.com/package/ngx-translate-messageformat-compiler) package, which is a compiler for *ngx-translate* that uses *messageformat.js* to compile translations using ICU syntax for handling pluralization and gender.
441
+ [ICU Message Format](http://userguide.icu-project.org/formatparse/messages) is a standardized syntax for dealing with the translation of user-visible strings into various languages that may have different requirements for the correct declension of words (e.g. according to number, gender, case) - or to simplify: pluralization.
444
442
  Simple pluralization rules like *0, 1 or other* fits well for English but may not fit for many other languages (eastern Europe languages, asiatic languages) where pluralization rules are much more complex. If this does not fit your requirement we recommend to reformulate your text, so that you do not need to use pluralization. Example: instead of saying 'You have added 2 baggages' you may want to say 'Pieces of baggage: 2' which should be fine for most of languages no matter which number is considered to be plural.
445
443
 
446
444
  #### Integration with ngx-translate
@@ -504,7 +502,7 @@ Sometimes you may want to display a different resource based on some property va
504
502
  ```
505
503
 
506
504
  ```typescript
507
- // in component html
505
+ // in component html
508
506
  <ul>
509
507
  <li>{{ translations.people | translate: { gender: 'female', how: 'influential' } }}</li>
510
508
  <li>{{ translations.people | translate: { gender: 'male', how: 'funny' } }}</li>
@@ -517,22 +515,22 @@ Note again that *translations.people* matches *global.people* key
517
515
  **Output**
518
516
 
519
517
  ```
520
- - She is influential
521
- - He is funny
522
- - They are affectionate
518
+ - She is influential
519
+ - He is funny
520
+ - They are affectionate
523
521
  ```
524
522
 
525
523
  ## Debugging
526
524
 
527
525
  ### Runtime: toggle translation on and off
528
526
 
529
- In order to be able to more easily identify which key corresponds to a given text, the ``LocalizationService`` exposes a function ``toggleShowKeys()`` that can be called in order to deactivate or reactivate the translation mechanism at **runtime**.
527
+ In order to be able to more easily identify which key corresponds to a given text, the ``LocalizationService`` exposes a function ``toggleShowKeys()`` that can be called in order to deactivate or reactivate the translation mechanism at **runtime**.
530
528
  While deactivated, the ``translate`` **pipe** and **directive** will output the translation keys instead of their resolved values.
531
529
 
532
530
  > **Important**: this mechanism only applies to the pipe and directive exported by Otter's ``LocalizationModule``. The original ones from ``ngx-translate`` do not support it.
533
531
 
534
- First, this mechanism has to be activated via the ``LocalizationConfiguration`` that you can provide in your ``ApplicationModule``.
535
- This is mainly for performances reason: the way it works is it adds a new subscription to every ``translate`` pipe and directive in order to know when translations are turned on or off.
532
+ First, this mechanism has to be activated via the ``LocalizationConfiguration`` that you can provide in your ``ApplicationModule``.
533
+ This is mainly for performances reason: the way it works is it adds a new subscription to every ``translate`` pipe and directive in order to know when translations are turned on or off.
536
534
  Not enabling it allows to avoid all those subscriptions, and should be the baseline for a production environment.
537
535
 
538
536
  Example:
@@ -1,3 +1,2 @@
1
1
  export * from './localization';
2
- export * from './input-merge';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Decorator to pass localization url
3
- *
4
3
  * @param _url
5
4
  */
6
5
  export declare function Localization(_url: string): (target: any, key: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../src/annotations/localization.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,YACvB,GAAG,OAAO,MAAM,UAqBjC"}
1
+ {"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../src/annotations/localization.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,YACvB,GAAG,OAAO,MAAM,UAqBjC"}
@@ -1,5 +1,6 @@
1
1
  import { logging } from '@angular-devkit/core';
2
2
  import type { JSONLocalization, LocalizationMetadata } from '@o3r/localization';
3
+ import type { LocalizationExtractorBuilderSchema } from '../localization-extractor/schema';
3
4
  /** Map of Localization Metadata base on localization key */
4
5
  export interface LocalizationMetadataAsMap {
5
6
  [key: string]: JSONLocalization;
@@ -38,54 +39,42 @@ export interface LibraryMetadataMap {
38
39
  * Localization extractor
39
40
  */
40
41
  export declare class LocalizationExtractor {
42
+ private readonly options?;
41
43
  /** TsConfig of the file to base on */
42
- private tsconfigPath;
43
- private logger;
44
- constructor(tsconfigPath: string, logger: logging.LoggerApi);
44
+ private readonly tsconfigPath;
45
+ private readonly logger;
46
+ constructor(tsconfigPath: string, logger: logging.LoggerApi, options?: Partial<LocalizationExtractorBuilderSchema> | undefined);
45
47
  /** Get the list of file from tsconfig.json */
46
48
  private getFilesFromTsConfig;
47
49
  /**
48
50
  * Return the class node if the class is an angular element
49
- *
50
51
  * @param source Ts file source
51
52
  */
52
53
  private getAngularClassNode;
53
- /**
54
- * Retrieve the localization json file from TS Code
55
- *
56
- * @param node TSNode of the angular component class
57
- * @param source Ts file source
58
- */
59
- private getLocalizationFileFromAngularElement;
60
54
  /**
61
55
  * Get the list of referenced translation files
62
- *
63
56
  * @param localizationFileContent JSON content of a location file
64
57
  * @param localizationFilePath Path of the localization file
65
58
  */
66
59
  private getReferencedFiles;
67
60
  /**
68
61
  * Read a localization file
69
- *
70
62
  * @param locFile Path to the localization file
71
63
  */
72
64
  private readLocalizationFile;
73
65
  /**
74
66
  * Read a metadata file
75
- *
76
67
  * @param metadataFile Path to the metadata file
77
68
  */
78
69
  private readMetadataFile;
79
70
  /**
80
- * Genarate a metadata item from a localization item
81
- *
71
+ * Generate a metadata item from a localization item
82
72
  * @param loc Localization item
83
73
  * @param key Key of the localization
84
74
  */
85
75
  private generateMetadataItemFromLocalization;
86
76
  /**
87
77
  * Compares two JSONLocalization object by their keys and returns the result of the string comparison
88
- *
89
78
  * @param a JSONLocalization
90
79
  * @param b JSONLocalization
91
80
  */
@@ -98,7 +87,6 @@ export declare class LocalizationExtractor {
98
87
  };
99
88
  /**
100
89
  * Generate the localization mapping for a list of files
101
- *
102
90
  * @param localizationFiles Localization files to load
103
91
  * @param alreadyLoadedFiles List of localization files already loadded
104
92
  * @param isDependency Determine if the list of files are dependencies of others
@@ -106,25 +94,21 @@ export declare class LocalizationExtractor {
106
94
  getLocalizationMap(localizationFiles: string[], alreadyLoadedFiles?: string[], isDependency?: boolean): Promise<LocalizationFileMap>;
107
95
  /**
108
96
  * Extract the localization mapping from a tsconfig file
109
- *
110
97
  * @param extraLocalizationFiles Additional translations to add
111
98
  */
112
99
  extractLocalizationFromTsConfig(extraLocalizationFiles?: string[]): Promise<LocalizationFileMap>;
113
100
  /**
114
101
  * Retrieve metadata from libraries
115
- *
116
102
  * @param libraries Libraries on which the project depend
117
103
  */
118
104
  getMetadataFromLibraries(libraries: string[]): Promise<LibraryMetadataMap>;
119
105
  /**
120
106
  * Retrieve metadata from metadata files
121
- *
122
107
  * @param metadataFiles Metadata files
123
108
  */
124
109
  getMetadataFromFiles(metadataFiles: string[]): Promise<LibraryMetadataMap>;
125
110
  /**
126
111
  * Generate metadata from localization and library metadata mappings
127
- *
128
112
  * @param localizationMap Map of localization files
129
113
  * @param options Option of generation
130
114
  * @param options.ignoreDuplicateKeys
@@ -1 +1 @@
1
- {"version":3,"file":"localization.generator.d.ts","sourceRoot":"","sources":["../../../builders/helpers/localization.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAShF,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC;AAED,6BAA6B;AAC7B,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACtC;AAED,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,IAAI,EAAE,oBAAoB,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IACjC,CAAC,mBAAmB,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAEhC,sCAAsC;IACtC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAoB;gBAEtB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS;IAK3D,8CAA8C;IAC9C,OAAO,CAAC,oBAAoB;IAK5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;;OAKG;IACH,OAAO,CAAC,qCAAqC;IAyB7C;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,oCAAoC;IA4B5C;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAYnB,kDAAkD;IAC3C,uBAAuB;;;;;IAc9B;;;;;;OAMG;IACU,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,kBAAkB,GAAE,MAAM,EAAO,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2BnJ;;;;OAIG;IACU,+BAA+B,CAAC,sBAAsB,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8BjH;;;;OAIG;IACU,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE;IAQzD;;;;OAIG;IACU,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE;IASzD;;;;;;;;;OASG;IACI,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE;QACrE,mBAAmB,EAAE,OAAO,CAAC;QAC7B,eAAe,EAAE,kBAAkB,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,oBAAoB;CAkCzB"}
1
+ {"version":3,"file":"localization.generator.d.ts","sourceRoot":"","sources":["../../../builders/helpers/localization.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMhF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAK3F,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC;AAED,6BAA6B;AAC7B,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACtC;AAED,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,IAAI,EAAE,oBAAoB,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IACjC,CAAC,mBAAmB,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAO6B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IALtF,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAmB,OAAO,CAAC,yDAA6C;IAKnI,8CAA8C;IAC9C,OAAO,CAAC,oBAAoB;IAK5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;OAIG;IACH,OAAO,CAAC,oCAAoC;IAiC5C;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAYnB,kDAAkD;IAC3C,uBAAuB;;;;;IAgB9B;;;;;OAKG;IACU,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,kBAAkB,GAAE,MAAM,EAAO,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2BnJ;;;OAGG;IACU,+BAA+B,CAAC,sBAAsB,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8BjH;;;OAGG;IACU,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE;IAQzD;;;OAGG;IACU,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE;IASzD;;;;;;;;OAQG;IACI,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE;QACrE,mBAAmB,EAAE,OAAO,CAAC;QAC7B,eAAe,EAAE,kBAAkB,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,oBAAoB;CA0DzB"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LocalizationExtractor = void 0;
4
4
  const extractors_1 = require("@o3r/extractors");
5
+ const schematics_1 = require("@o3r/schematics");
5
6
  const fs = require("node:fs");
6
7
  const glob = require("globby");
7
8
  const path = require("node:path");
@@ -12,7 +13,8 @@ const ANGULAR_ANNOTATION = ['Component', 'Injectable', 'Pipe'];
12
13
  * Localization extractor
13
14
  */
14
15
  class LocalizationExtractor {
15
- constructor(tsconfigPath, logger) {
16
+ constructor(tsconfigPath, logger, options) {
17
+ this.options = options;
16
18
  this.tsconfigPath = tsconfigPath;
17
19
  this.logger = logger;
18
20
  }
@@ -23,7 +25,6 @@ class LocalizationExtractor {
23
25
  }
24
26
  /**
25
27
  * Return the class node if the class is an angular element
26
- *
27
28
  * @param source Ts file source
28
29
  */
29
30
  getAngularClassNode(source) {
@@ -50,35 +51,8 @@ class LocalizationExtractor {
50
51
  });
51
52
  return angularItems.length ? angularItems : undefined;
52
53
  }
53
- /**
54
- * Retrieve the localization json file from TS Code
55
- *
56
- * @param node TSNode of the angular component class
57
- * @param source Ts file source
58
- */
59
- getLocalizationFileFromAngularElement(node, source) {
60
- const localizationPaths = [];
61
- node.forEachChild((item) => {
62
- if (!ts.isPropertyDeclaration(item)) {
63
- return;
64
- }
65
- item.forEachChild((decorator) => {
66
- if (!ts.isDecorator(decorator)) {
67
- return;
68
- }
69
- const text = decorator.getText(source);
70
- const result = /^@Localization *\( *['"](.*)['"] *\)/.exec(text);
71
- if (!result || !result[1]) {
72
- return;
73
- }
74
- localizationPaths.push(result[1]);
75
- });
76
- });
77
- return localizationPaths.length ? localizationPaths : undefined;
78
- }
79
54
  /**
80
55
  * Get the list of referenced translation files
81
- *
82
56
  * @param localizationFileContent JSON content of a location file
83
57
  * @param localizationFilePath Path of the localization file
84
58
  */
@@ -96,20 +70,23 @@ class LocalizationExtractor {
96
70
  })
97
71
  .map(({ ref }) => {
98
72
  if (!ref.startsWith('.')) {
99
- try {
100
- return require.resolve(ref);
101
- }
102
- catch {
103
- // Should be a local file
73
+ if (this.options?.libraries?.length && this.options.libraries.every((lib) => !ref.startsWith(lib))) {
74
+ try {
75
+ return require.resolve(ref);
76
+ }
77
+ catch {
78
+ // Should be a local file
79
+ }
104
80
  }
81
+ return undefined;
105
82
  }
106
83
  return folder ? path.resolve(folder, ref) : ref;
107
- });
84
+ })
85
+ .filter((ref) => !!ref);
108
86
  return referencedFiles.length ? referencedFiles : undefined;
109
87
  }
110
88
  /**
111
89
  * Read a localization file
112
- *
113
90
  * @param locFile Path to the localization file
114
91
  */
115
92
  readLocalizationFile(locFile) {
@@ -117,15 +94,13 @@ class LocalizationExtractor {
117
94
  }
118
95
  /**
119
96
  * Read a metadata file
120
- *
121
97
  * @param metadataFile Path to the metadata file
122
98
  */
123
99
  readMetadataFile(metadataFile) {
124
100
  return new Promise((resolve, reject) => fs.readFile(metadataFile, 'utf8', (err, data) => err ? reject(err) : resolve(JSON.parse(data))));
125
101
  }
126
102
  /**
127
- * Genarate a metadata item from a localization item
128
- *
103
+ * Generate a metadata item from a localization item
129
104
  * @param loc Localization item
130
105
  * @param key Key of the localization
131
106
  */
@@ -143,17 +118,22 @@ class LocalizationExtractor {
143
118
  res.tags = loc.tags;
144
119
  }
145
120
  if (loc.$ref) {
146
- res.ref = loc.$ref.split('#/')[1];
121
+ const [refPath, refKey] = loc.$ref.split('#/', 2);
122
+ if (refPath.startsWith('.') || this.options?.libraries?.some((lib) => refPath.startsWith(lib))) {
123
+ res.ref = refKey;
124
+ }
125
+ else {
126
+ res.ref = loc.$ref;
127
+ }
147
128
  }
148
129
  if (typeof loc.defaultValue === 'undefined' && typeof loc.$ref === 'undefined' && !loc.dictionary) {
149
130
  this.logger.error(`${key} has no default value or $ref defined`);
150
- throw new Error(`${key} has no default value or $ref defined`);
131
+ throw new schematics_1.O3rCliError(`${key} has no default value or $ref defined`);
151
132
  }
152
133
  return res;
153
134
  }
154
135
  /**
155
136
  * Compares two JSONLocalization object by their keys and returns the result of the string comparison
156
- *
157
137
  * @param a JSONLocalization
158
138
  * @param b JSONLocalization
159
139
  */
@@ -172,8 +152,10 @@ class LocalizationExtractor {
172
152
  getPatternsFromTsConfig() {
173
153
  const tsconfigResult = ts.readConfigFile(this.tsconfigPath, ts.sys.readFile);
174
154
  if (tsconfigResult.error) {
175
- this.logger.error(tsconfigResult.error.messageText.toString());
176
- throw new Error(tsconfigResult.error.messageText.toString());
155
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
156
+ const stringError = tsconfigResult.error.messageText.toString();
157
+ this.logger.error(stringError);
158
+ throw new schematics_1.O3rCliError(stringError);
177
159
  }
178
160
  const include = [...(tsconfigResult.config.files || []), ...(tsconfigResult.config.include || [])];
179
161
  const exclude = tsconfigResult.config.exclude || [];
@@ -182,7 +164,6 @@ class LocalizationExtractor {
182
164
  }
183
165
  /**
184
166
  * Generate the localization mapping for a list of files
185
- *
186
167
  * @param localizationFiles Localization files to load
187
168
  * @param alreadyLoadedFiles List of localization files already loadded
188
169
  * @param isDependency Determine if the list of files are dependencies of others
@@ -212,7 +193,6 @@ class LocalizationExtractor {
212
193
  }
213
194
  /**
214
195
  * Extract the localization mapping from a tsconfig file
215
- *
216
196
  * @param extraLocalizationFiles Additional translations to add
217
197
  */
218
198
  async extractLocalizationFromTsConfig(extraLocalizationFiles = []) {
@@ -224,9 +204,9 @@ class LocalizationExtractor {
224
204
  const localizationFiles = tsFiles
225
205
  .map((file) => ({ file, source: program.getSourceFile(file) }))
226
206
  .map(({ file, source }) => ({ file, classes: source && this.getAngularClassNode(source), source }))
227
- .filter(({ classes, source }) => !!classes && !!source)
228
- .map(({ file, classes, source }) => classes
229
- .map((classItem) => this.getLocalizationFileFromAngularElement(classItem, source))
207
+ .filter(({ classes }) => !!classes)
208
+ .map(({ file, classes }) => classes
209
+ .map((classItem) => (0, extractors_1.getLocalizationFileFromAngularElement)(classItem))
230
210
  .filter((locFiles) => !!locFiles)
231
211
  .reduce((acc, locFiles) => {
232
212
  acc.push(...locFiles.filter((f) => acc.indexOf(f) === -1));
@@ -242,7 +222,6 @@ class LocalizationExtractor {
242
222
  }
243
223
  /**
244
224
  * Retrieve metadata from libraries
245
- *
246
225
  * @param libraries Libraries on which the project depend
247
226
  */
248
227
  async getMetadataFromLibraries(libraries) {
@@ -253,7 +232,6 @@ class LocalizationExtractor {
253
232
  }
254
233
  /**
255
234
  * Retrieve metadata from metadata files
256
- *
257
235
  * @param metadataFiles Metadata files
258
236
  */
259
237
  async getMetadataFromFiles(metadataFiles) {
@@ -265,7 +243,6 @@ class LocalizationExtractor {
265
243
  }
266
244
  /**
267
245
  * Generate metadata from localization and library metadata mappings
268
- *
269
246
  * @param localizationMap Map of localization files
270
247
  * @param options Option of generation
271
248
  * @param options.ignoreDuplicateKeys
@@ -275,24 +252,46 @@ class LocalizationExtractor {
275
252
  */
276
253
  generateMetadata(localizationMap, options) {
277
254
  const metadata = {};
278
- const addMetadata = (data, origin) => {
255
+ let hasDuplicateKey = false;
256
+ const addMetadata = (data, origin, libraries = []) => {
279
257
  if (metadata[data.key]) {
258
+ hasDuplicateKey = true;
280
259
  if (options.ignoreDuplicateKeys) {
281
260
  this.logger.warn(`The key ${data.key} from ${origin} will override the previous value (${metadata[data.key].value || 'ref ' + metadata[data.key].ref} -> ${data.value || 'ref ' + data.ref})`);
282
261
  }
283
262
  else {
284
263
  this.logger.error(`The key ${data.key} from ${origin} try to override the previous value (${metadata[data.key].value || 'ref ' + metadata[data.key].ref} -> ${data.value || 'ref ' + data.ref})`);
285
- throw new Error('Duplicate key');
286
264
  }
287
265
  }
288
- metadata[data.key] = data;
266
+ metadata[data.key] = data.ref && data.ref.includes('#/') && libraries.some((lib) => data.ref.startsWith(lib)) ? {
267
+ ...data,
268
+ ref: data.ref.split('#/')[1]
269
+ } : data;
289
270
  };
290
271
  Object.keys(options.libraryMetadata)
291
- .forEach((lib) => options.libraryMetadata[lib].forEach((dataLoc) => addMetadata(dataLoc, lib)));
272
+ .forEach((lib) => options.libraryMetadata[lib].forEach((dataLoc) => addMetadata(dataLoc, lib, this.options?.libraries)));
292
273
  Object.keys(localizationMap)
293
274
  .forEach((locFile) => Object.keys(localizationMap[locFile].data)
294
275
  .forEach((locKey) => addMetadata(this.generateMetadataItemFromLocalization(localizationMap[locFile].data[locKey], locKey), locFile)));
295
- const localizationMetadata = Object.keys(metadata).map((k) => metadata[k]);
276
+ if (hasDuplicateKey && !options.ignoreDuplicateKeys) {
277
+ throw new schematics_1.O3rCliError('Duplicate key');
278
+ }
279
+ const localizationMetadata = Object.values(metadata);
280
+ let hasUnknownRef = false;
281
+ localizationMetadata.forEach((data) => {
282
+ if (data.ref && !data.ref.includes('#/')) {
283
+ if (!metadata[data.ref]) {
284
+ hasUnknownRef = true;
285
+ this.logger.error(`The key ${data.ref} is unknown but referenced by ${data.key}.`);
286
+ }
287
+ else if (typeof data.description === 'undefined') {
288
+ data.description = metadata[data.ref].description;
289
+ }
290
+ }
291
+ });
292
+ if (hasUnknownRef) {
293
+ throw new schematics_1.O3rCliError('Unknown referenced key');
294
+ }
296
295
  return options.sortKeys ? localizationMetadata.sort((a, b) => this.compareKeys(a, b)) : localizationMetadata;
297
296
  }
298
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"localization.generator.js","sourceRoot":"","sources":["../../../builders/helpers/localization.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localization.generator.js","sourceRoot":"","sources":["../../../builders/helpers/localization.generator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
3
  "$id": "I18nBuilderSchema",
4
4
  "title": "I18n builder",
5
5
  "description": "I18n builder options",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../builders/localization/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAgFrD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,CAGvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC1C,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,cAAc,GAAE,GAAG,CAAC,MAAM,CAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BjE;;AAgLD,wBA0MG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../builders/localization/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAgFrD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,CAGvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC1C,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,cAAc,GAAE,GAAG,CAAC,MAAM,CAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BjE;;AAgLD,wBA0MG"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTranslationsForLanguage = exports.loadTranslations = void 0;
4
4
  const architect_1 = require("@angular-devkit/architect");
5
+ const schematics_1 = require("@o3r/schematics");
5
6
  const fs = require("node:fs");
6
7
  const globby_1 = require("globby");
7
8
  const path = require("node:path");
@@ -54,7 +55,7 @@ function checkUnusedTranslation(language, defaultBundle, customTranslations, con
54
55
  .filter((key) => !dictionaryKeysPatterns.some((dictionaryKeyPattern) => key.startsWith(dictionaryKeyPattern)));
55
56
  missingMetadata.forEach((key) => context.logger[failIfMissingMetadata ? 'error' : 'warn'](`The key "${key}" from "${language}" is not part of the MetaData`));
56
57
  if (missingMetadata.length && failIfMissingMetadata) {
57
- throw new Error(`There is missing metadata for ${language}`);
58
+ throw new schematics_1.O3rCliError(`There is missing metadata for ${language}`);
58
59
  }
59
60
  }
60
61
  /**
@@ -98,7 +99,7 @@ function getTranslationsForLanguage(language, filesPerLanguage, defaultLanguageM
98
99
  if (defaultLanguage) {
99
100
  // Throw an error if we find a circular dependency
100
101
  if (dependencyPath.has(defaultLanguage)) {
101
- throw new Error(`Circular dependency found: ${[...Array.from(dependencyPath), defaultLanguage].join('->')}`);
102
+ throw new schematics_1.O3rCliError(`Circular dependency found: ${[...Array.from(dependencyPath), defaultLanguage].join('->')}`);
102
103
  }
103
104
  else {
104
105
  // Else, recursively resolve its bundle and use it as a base for the current language
@@ -234,7 +235,7 @@ function startMetadataGenerator(localizationExtractorTarget, context) {
234
235
  * @param context Ng Builder context
235
236
  */
236
237
  async function checkMetadata(localizationMetaDataFile, localizationExtractorTarget, context) {
237
- let metaDataExists = await new Promise((resolve) => fs.exists(localizationMetaDataFile, resolve));
238
+ let metaDataExists = fs.existsSync(localizationMetaDataFile);
238
239
  if (!metaDataExists) {
239
240
  context.logger.warn(`The file ${localizationMetaDataFile} does not exist, the extractor will be run`);
240
241
  context.reportProgress(2, STEP_NUMBER, 'Generating Localization metadata file');
@@ -244,7 +245,7 @@ async function checkMetadata(localizationMetaDataFile, localizationExtractorTarg
244
245
  return extractorBuildResult;
245
246
  }
246
247
  else {
247
- metaDataExists = await new Promise((resolve) => fs.exists(localizationMetaDataFile, resolve));
248
+ metaDataExists = fs.existsSync(localizationMetaDataFile);
248
249
  if (!metaDataExists) {
249
250
  return {
250
251
  success: false,