diff --git a/.github/workflows/code-check.yml b/.github/workflows/code-check.yml
index e896296f7b..1447d3a4d2 100644
--- a/.github/workflows/code-check.yml
+++ b/.github/workflows/code-check.yml
@@ -22,6 +22,16 @@ env:
NX_SKIP_NX_CACHE: ${{ inputs.skipNxCache }}
jobs:
+ markdown-link-check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ - uses: gaurav-nelson/github-action-markdown-link-check@v1
+ with:
+ base-branch: 'main'
+ config-file: '.github/workflows/markdown.links.config.json'
+ folder-path: 'packages/,apps/,tools/'
+
test:
strategy:
fail-fast: false
diff --git a/.github/workflows/markdown.links.config.json b/.github/workflows/markdown.links.config.json
new file mode 100644
index 0000000000..a343b0b81e
--- /dev/null
+++ b/.github/workflows/markdown.links.config.json
@@ -0,0 +1,8 @@
+{
+ "replacementPatterns": [
+ {
+ "pattern": "/%40",
+ "replacement": "/@"
+ }
+ ]
+}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 87e0c3aed7..d0dc96371e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -61,7 +61,7 @@ To ease the process, we are providing a set of:
* [Editors configuration](.editorconfig)
* [Linters configuration](./packages/@o3r/eslint-config-otter/README.md)
-* [Component generator](./docs/core/OTTER_ANGULAR_TOOLS.md#schematics) (and more)
+* [Component generator](./packages/@o3r/core/README.md#generators) (and more)
## Code review process
diff --git a/apps/vscode-extension/package.json b/apps/vscode-extension/package.json
index 36a740d351..ac59540361 100644
--- a/apps/vscode-extension/package.json
+++ b/apps/vscode-extension/package.json
@@ -41,7 +41,10 @@
},
"otter.styling.variable.types": {
"type": "array",
- "default": ["color", "string"],
+ "default": [
+ "color",
+ "string"
+ ],
"items": {
"type": "string"
}
diff --git a/docs/README.md b/docs/README.md
index 4cd3b3c3db..88d16805f1 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -18,7 +18,7 @@ The documentation is sorted by topic but in the table below, you shall find the
| @o3r/extractors | Utilities to extract your application metadata to interact with your CMS | @o3r/core
@o3r/dev-tools | |
| @o3r/forms | Utilities to enhance angular form (asynchronous decorator, additional validator, error store...) | @o3r/core
@o3r/dev-tools | [README](./forms/README.md)
[FORM_ERRORS](./forms/FORM_ERRORS.md)
[FORM_STRUCTURE](./forms/FORM_STRUCTURE.md)
[FORM_SUBMIT_AND_INTERCOMMUNICATION](./forms/FORM_SUBMIT_AND_INTERCOMMUNICATION.md)
[FORM_VALIDATION](./forms/FORM_VALIDATION.md) |
| @o3r/localization | Provide a fallback language/translation support and debug tools | @o3r/core
@o3r/dev-tools | [LOCALIZATION](./localization/LOCALIZATION.md)
[CMS_ADAPTERS](./cms-adapters/CMS_ADAPTERS.md) |
-| @o3r/logger | Bridge to target different logger (logrocket, fullstory, smartlook) with a common interface | N/A | [LOGS](./logger/LOGS.md) |
+| @o3r/logger | Bridge to target different logger (logrocket, fullstory, smartlook) with a common interface | N/A | [LOGS](./logger/LOGS.md) |
| @o3r/mobile | Helpers and store to integrate Capacitor into your Otter application.
Integration with the pCloudy API for e2e testing on real devices. | @o3r/core
@o3r/logger | |
| @o3r/routing | Module to configure an Otter application's routing (POST parameter management, preloading strategy, guard recommendation) | @o3r/core
@o3r/dev-tools | [REQUEST_PARAMETERS_SERVICE](./routing/REQUEST_PARAMETERS_SERVICE.md)
[ROUTING](./routing/ROUTING.md)
[APP_SERVER_ROUTING](./routing/APP_SERVER_ROUTING.md) |
| @o3r/rules-engine | Rule engine executed on your Otter application to customize your application translations, placeholders and configs based on a json file generated by your CMS | @o3r/components
@o3r/configuration
@o3r/core
@o3r/dev-tools
@o3r/dynamic-content
@o3r/extractors
@o3r/localization
@o3r/logger
@o3r/styling | [how-it-works](./rules-engine/how-it-works.md)
[how-to-use](./rules-engine/how-to-use.md)
[examples](./rules-engine/examples.md)
[facts](./rules-engine/facts.md)
[operators](./rules-engine/operators.md)
[rule](./rules-engine/rule.md)
[ruleset](./rules-engine/ruleset.md)
[CMS_ADAPTERS](./cms-adapters/CMS_ADAPTERS.md) |
@@ -28,5 +28,5 @@ The documentation is sorted by topic but in the table below, you shall find the
| @o3r/styling | Styling framework to apply a theme on an Otter application at build time and runtime to support CMS customization | @o3r/core
@o3r/dynamic-content
@o3r/extractors
@o3r/schematics | [THEME](./styling/THEME.md)
[TYPOGRAPHY](./styling/TYPOGRAPHY.md)
[CMS_ADAPTERS](./cms-adapters/CMS_ADAPTERS.md) |
| @o3r/testing | Testing (e2e, unit test) utilities to help you build your own E2E pipeline integrating visual testing | @o3r/localization
@o3r/schematics | [POST_MESSAGE_INTERCEPTOR](./testing/POST_MESSAGE_INTERCEPTOR.md)
[UNIT_TESTS_SETUP](./testing/UNIT_TESTS_SETUP.md) |
| @o3r/third-party | Bridge to communicate with third parties via an iFrame solution | N/A | [A/B Testing](./ab-testing/AB_TESTING.md) |
-| @o3r/vscode-extension | Various in house VSCode extensions to help you with the development of your Otter application with this IDE (automated generated Otter components etc.) | N/A | [vscode-extension](./vscode-extension.md) |
-| @o3r/eslint-config-otter | Recommended eslint configuration for Otter project | @o3r/eslint-plugin | [eslint-config](./linter/eslint-config.md) |
+| @o3r/vscode-extension | Various in house VSCode extensions to help you with the development of your Otter application with this IDE (automated generated Otter components etc.) | N/A | [vscode-extension](../apps/vscode-extension/README.md) |
+| @o3r/eslint-config-otter | Recommended eslint configuration for Otter project | @o3r/eslint-plugin | [eslint-config](./linter/eslint-config.md) |
diff --git a/docs/core/DEVELOPER.md b/docs/core/DEVELOPER.md
index 639934ec35..6d0e74928e 100644
--- a/docs/core/DEVELOPER.md
+++ b/docs/core/DEVELOPER.md
@@ -3,7 +3,7 @@
## Where to define the ng-update migrations?
-To be recognized by the __ng-cli as update schematics__, we have to define our migrations schematics in
+To be recognized by the __ng-cli as update schematics__, we have to define our migrations schematics in
__package.json__, _ng-update_ section of the package which contains the updates, in our case __@o3r/core__
```json
"ng-update": {
@@ -11,7 +11,7 @@ __package.json__, _ng-update_ section of the package which contains the updates,
}
```
-The content of migration.json is as follows:
+The content of migration.json is as follows:
ex:
```json
{
@@ -25,23 +25,23 @@ ex:
"migration-v3_2": {
"version": "3.2.0-alpha.0", // version to update to
"description": "Updates of the Otter Library v3.2.x",
- "factory": "./schematics/ng-update/index#updateV3_2" // relative path to the schematics factory function to execute
+ "factory": "./schematics/ng-update/index#updateV3_2" // relative path to the schematics factory function to execute
}
}
}
-```
+```
-When we run the update on _@o3r/core_ (```yarn ng update @o3r/core```) in our app, ng-cli will install the latest version of @o3r/core and
-it will check the ng-update section in the package.json of the new installed version, to see if there are updates to execute.
-Based on the starting version of @o3r/core and the new installed one, the cli will run the schematics which are between these 2 versions from migration.json
-Here are 2 scenarios:
+When we run the update on _@o3r/core_ (```yarn ng update @o3r/core```) in our app, ng-cli will install the latest version of @o3r/core and
+it will check the ng-update section in the package.json of the new installed version, to see if there are updates to execute.
+Based on the starting version of @o3r/core and the new installed one, the cli will run the schematics which are between these 2 versions from migration.json
+Here are 2 scenarios:
### Scenario 1
-- Application in otter 3.0, latest stable version of otter is 3.2
+- Application in otter 3.0, latest stable version of otter is 3.2
Based on the above _migration.json_ the cli will run __migration-v3__ and __migration-v3_2__ because the versions '3.1.0-alpha.0' and '3.2.0-alpha.0' defined in migration.json are between 3.0 (old version) and 3.2 (latest stable)
### Scenario 2
-- Application in otter 3.1, latest stable version of otter is 3.2
+- Application in otter 3.1, latest stable version of otter is 3.2
Based on the above _migration.json_ the cli will run __migration-v3_2__ because the version '3.2.0-alpha.0' defined in migration.json is the only one between 3.0 (old version) and 3.2 (latest stable)
@@ -49,8 +49,8 @@ Based on the above _migration.json_ the cli will run __migration-v3_2__ because
To be easier to test in local, when we need to create/update schematics, we can use the schematics cli.
1. install @angular-devkit\schematics-cli on the app, if needed (no need to commit the change)
- 2. link (yarn link or cpx) @o3r/core in the app
- 3. run:
+ 2. link (yarn link or cpx) @o3r/core in the app
+ 3. run:
```node ./node_modules/@angular-devkit/schematics-cli/bin/schematics.js ./node_modules/@o3r/core/collection.json:update-otter --dry-run=false --force```
One mention for step 3 is that you have to add a new entry in _@o3r/core/collection.json_ to point to the update schematic
@@ -62,15 +62,6 @@ One mention for step 3 is that you have to add a new entry in _@o3r/core/collect
```
No need to commit this change.
-## Testing your schematic with the PR version number
-
-When you have done the development on the schematic, next steps are required to test that your schematic is working with the normal way of running it (not the way used in dev chapter)
-Steps:
- - all steps are executed at app level;
- 1. modify _.npmrc_ of the app to target the _otter-pr_ versions
- @o3r:registry=https://pkgs.dev.azure.com/AmadeusDigitalAirline/Otter/_packaging/otter-pr/npm/registry/ (don't forget auth tokens)
-
- 2. run: yarn ng update @o3r/core@prVersion --force
- ex: ``` yarn ng update @o3r/core@5.4.0-alpha.21-pr.115535 --force```
+## Testing your schematic with the PR version number
-The command above will run all schematics update for all packages defined in "ng-update" -> "packageGroup" section in `package.json` file of _@o3r/core_
+Please refer to the [Verdaccio](../../.verdaccio/README.md) setup.
diff --git a/docs/core/START_NEW_APPLICATION.md b/docs/core/START_NEW_APPLICATION.md
index 8d609260be..9946d4e700 100644
--- a/docs/core/START_NEW_APPLICATION.md
+++ b/docs/core/START_NEW_APPLICATION.md
@@ -45,7 +45,7 @@ export class AppModule { }
```
You will also find recommendations for your application such accessibility configuration like the
-[Application Reduced Motion](docs/application/REDUCED_MOTION.md)
+[Application Reduced Motion](../application/REDUCED_MOTION.md)
It will also update your ``angular.json`` with the feature enabled for your project. This will configure the different generators
to create components and services consistent with your project.
diff --git a/docs/localization/LOCALIZATION.md b/docs/localization/LOCALIZATION.md
index 9dce121812..c14166609b 100644
--- a/docs/localization/LOCALIZATION.md
+++ b/docs/localization/LOCALIZATION.md
@@ -19,7 +19,7 @@ Localization module is built on top of an open source [ngx-translate](https://gi
- 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).
-- 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).
+- 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).
- Support for resource keys with parameters
@@ -29,7 +29,7 @@ Localization module is built on top of an open source [ngx-translate](https://gi
- Intelligent fallback support. For any un-supported language request, localization service fallback to fallback locale map language OR first nearest supported language. More information in the `intelligent fallback` section below.
-- Ability to toggle translations on and off to help identify the key corresponding to a translation.
+- Ability to toggle translations on and off to help identify the key corresponding to a translation.
# How to use
@@ -407,7 +407,7 @@ import {
LazyMessageFormatConfig,
LocalizationModule,
translateLoaderProvider,
- TranslateMessageFormatLazyCompiler
+ TranslateMessageFormatLazyCompiler
} from "@o3r/localization";
import { TranslateModule } from "@ngx-translate/core";
import { MESSAGE_FORMAT_CONFIG } from 'ngx-translate-messageformat-compiler';
@@ -446,8 +446,8 @@ class AppModule {}
### How to localize plural expression
-For pluralizations, we are using _TranslateMessageFormatCompiler_, coming 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.
-[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.
+For pluralizations, we are using _TranslateMessageFormatCompiler_, coming 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.
+[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.
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 languages no matter which number is considered to be plural.
#### Integration with ngx-translate
@@ -492,7 +492,7 @@ import {MESSAGE_FORMAT_CONFIG} from 'ngx-translate-messageformat-compiler';
```
The value of _translations.nbOfErrors_ is the translation key 'o3r-list-inline-messages-pres.nbOfErrors'. The next step translates the key passing some parameters to translate pipe.
__Output__
-The output will be
+The output will be
- _No errors_ if _countMessages_ is 0
- _1 error_ if _countMessages_ is 1
- _'Value of count messages' errors_ if _countMessages_ is greater than 1 (ex: 10 Errors)
@@ -508,7 +508,7 @@ Sometimes you may want to display a different resource based on some property va
```
```typescript
-// in component html
+// in component html
- {{ translations.people | translate: { gender: 'female', how: 'influential' } }}
- {{ translations.people | translate: { gender: 'male', how: 'funny' } }}
@@ -519,22 +519,22 @@ Note again that _translations.people_ matches _global.people_ key
__Output__
```
-- She is influential
-- He is funny
-- They are affectionate
+- She is influential
+- He is funny
+- They are affectionate
```
# Debugging
## Runtime: toggle translation on and off
-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__.
+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__.
While deactivated, the ``translate`` __pipe__ and __directive__ will output the translation keys instead of their resolved values.
> __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.
-First, this mechanism has to be activated via the ``LocalizationConfiguration`` that you can provide in your ``ApplicationModule``.
-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.
+First, this mechanism has to be activated via the ``LocalizationConfiguration`` that you can provide in your ``ApplicationModule``.
+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.
Not enabling it allows to avoid all those subscriptions, and should be the baseline for a production environment.
Example:
diff --git a/docs/rules-engine/how-to-use/integration.md b/docs/rules-engine/how-to-use/integration.md
index 57aacd6ac8..c3b4ab0212 100644
--- a/docs/rules-engine/how-to-use/integration.md
+++ b/docs/rules-engine/how-to-use/integration.md
@@ -2,7 +2,7 @@
Rules engine module comes from the __@o3r/rules-engine__ package, and it contains all the mechanisms needed for an otter application to execute a set of UI rules and to trigger the resulted actions. The list of supported actions can be found in its own dedicated [file](https://github.com/AmadeusITGroup/otter/blob/main/packages/@o3r/rules-engine/src/interfaces/action.interfaces.ts).
-Prerequisite:
+Prerequisite:
- an otter based application
@@ -10,7 +10,7 @@ Prerequisite:
### Rules engine dependencies
-To benefit from the rules engine package, we have to add to the application the npm packages created in otter library (and not only).
+To benefit from the rules engine package, we have to add to the application the npm packages created in otter library (and not only).
Here is the command to add the rule engine to your application:
```shell
@@ -50,9 +50,9 @@ The Actions available on the Rules Engine depend on the Otter modules imported b
- __UPDATE_ASSET__: requires the import of `AssetPathOverrideStoreModule` from [@o3r/dynamic-content](https://github.com/AmadeusITGroup/otter/blob/main/packages/%40o3r/dynamic-content/)
- __UPDATE_LOCALISATION__: requires the import of `LocalizationOverrideStoreModule` from [@o3r/localization](https://github.com/AmadeusITGroup/otter/blob/main/packages/%40o3r/localization/)
- __UPDATE_CONFIG__: requires the import of `ConfigOverrideStoreModule` from [@o3r/configuration](https://github.com/AmadeusITGroup/otter/blob/main/packages/%40o3r/configuration/)
-- __UPDATE_PLACEHOLDER__: requires the import of `PlaceholderTemplateStoreModule` and `PlaceholderRequestStoreModule` from [@o3r/components](https://github.com/AmadeusITGroup/otter/blob/main/packages/%40o3r/components/)
+- __UPDATE_PLACEHOLDER__: requires the import of `PlaceholderTemplateStoreModule` and `PlaceholderRequestStoreModule` from [@o3r/components](https://github.com/AmadeusITGroup/otter/blob/main/packages/@o3r/components/)
-#### Facts modules integration
+#### Facts modules integration
Facts are streams registered with the engine and their names can be referenced within rule conditions. At each fact change, the concerned rules will reevaluate. More about facts can be found in the dedicated page for [facts](../facts.md).
@@ -77,7 +77,7 @@ export class AppModule {}
##### App level facts
-For example purposes, custom facts have been defined in the otter-demo-app code, at application level, in a dedicated folder __src/facts__. You can have a look at the folder structure and files organization, and the implementation itself.
+For example purposes, custom facts have been defined in the otter-demo-app code, at application level, in a dedicated folder __src/facts__. You can have a look at the folder structure and files organization, and the implementation itself.
In the _app.module_ we have integrated the following facts modules, as we've done with the ones coming from the library.
@@ -149,7 +149,7 @@ With this the application should be ready to retrieve and evaluate the rules, an
A bit of configuration is needed in order to extract metadata for facts and operators in the rules engine scope.
In _angular.json_ of the app a new build architect needs to be added.
-Here is an example:
+Here is an example:
```JSON
// angular.json
@@ -176,7 +176,7 @@ Now that the new builder step is added, it has to be referenced in the `package.
"scripts": {
...
"cms-adapters:rules-engine": "ng run o3r-demo-app:extract-rules-engine",
- "cms-adapters:metadata": "yarn cms-adapters:components && yarn cms-adapters:localizations && yarn cms-adapters:style && yarn cms-adapters:rules-engine",
+ "cms-adapters:metadata": "yarn cms-adapters:components && yarn cms-adapters:localizations && yarn cms-adapters:style && yarn cms-adapters:rules-engine",
}
```
@@ -196,7 +196,7 @@ sub-entries in the cms tsconfig file.
// tsconfig.cms.json
// example to resolve the otter library default facts dependant of the otter/store subentries
{
- ...
+ ...
"extraOptions": {
"otterSubModuleRefs": ["../store/**/index.ts"], // Relative path to index.ts of your project subentries your facts depends on
},
diff --git a/docs/rules-engine/how-to-use/performance-metrics.md b/docs/rules-engine/how-to-use/performance-metrics.md
index dba19c99fe..33ae40d30d 100644
--- a/docs/rules-engine/how-to-use/performance-metrics.md
+++ b/docs/rules-engine/how-to-use/performance-metrics.md
@@ -18,7 +18,7 @@ The marks names are formatted as following:
## Performance reporting API configuration
-By default, if the rules engine is running in a browser, the performance metrics are reported via the [Performance Timeline API](https://developer.mozilla.org/en-US/docs/Web/API/Performance_Timeline). If the rules engine is running in a Node, there is no default performance reporting mechanism.
+By default, if the rules engine is running in a browser, the performance metrics are reported via the [Performance API](https://developer.mozilla.org/en-US/docs/Web/API/Performance_API). If the rules engine is running in a Node, there is no default performance reporting mechanism.
The reporting of the performance metrics can be configured via the rules engine `performance` option.
The following example shows how to configure the reporting of the performance metrics in a Node application context :
diff --git a/docs/sdk-tools/SDK_MODELS_HIERARCHY.md b/docs/sdk-tools/SDK_MODELS_HIERARCHY.md
index 67e9941d8c..f2c45a8087 100644
--- a/docs/sdk-tools/SDK_MODELS_HIERARCHY.md
+++ b/docs/sdk-tools/SDK_MODELS_HIERARCHY.md
@@ -1,6 +1,6 @@
# SDK models hierarchy
-The purpose of this documentation is to provide a high-level overview of models' hierarchy of an SDK generated via the [@ama-sdk/generator-sdk](../packages/@ama-sdk/generator-sdk/) generator.
+The purpose of this documentation is to provide a high-level overview of models' hierarchy of an SDK generated via the [@ama-sdk/generator-sdk](../../packages/@ama-sdk/generator-sdk/) generator.
## Overview
@@ -79,7 +79,7 @@ import type { MyModelCoreIfy } from './my-model';
/**
* Generate reviver for MyModel core model
- *
+ *
* @param baseRevive
*/
export function reviveMyModelFactory(baseRevive: R) {
diff --git a/docs/swagger-builder/readme.md b/docs/swagger-builder/readme.md
index f79be5900b..c263f5638b 100644
--- a/docs/swagger-builder/readme.md
+++ b/docs/swagger-builder/readme.md
@@ -81,7 +81,7 @@ The configurations can be specified in a JSON file following a provided [Json Sc
| Feature | CLI Option | Description | Default value |
| :---------------- | :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |
-| **Configuration** | **--configuration** (alias: **-c**) | [Configuration file](#List-of-available-configurations) to provide parameters to the **Swagger Builder** | *null* |
+| **Configuration** | **--configuration** (alias: **-c**) | [Configuration file](#list-of-available-configurations) to provide parameters to the **Swagger Builder** | *null* |
| **APIs** | **--apis** | Path to the files containing a [list of APIs](./multi-apis.md) to generate. Each APIs will be merged with the ones in the CLI argument (if specified). | *null* |
## Additional Checking tools
@@ -96,11 +96,8 @@ To perform validity check of a set of Swagger Specifications, additional tools a
## Generate your own extension
-A code generator is provided to generate an extension of the **Amadeus Digital Experience API**.
+A code generator is provided to generate an API specification extension.
```bash
yarn yo @ama-sdk/sdk:api-extension
```
-
-> More information on [Generators documentation](../../README.md).
->
diff --git a/packages/@ama-sdk/core/README.md b/packages/@ama-sdk/core/README.md
index a533089e44..3d878a1e1f 100644
--- a/packages/@ama-sdk/core/README.md
+++ b/packages/@ama-sdk/core/README.md
@@ -1,40 +1,40 @@
# @ama-sdk Core
-This package contains all the [plugins](/packages/@ama-sdk/core/src/plugins), helpers and object definitions to dialog with an API following the `ama-sdk` architecture.
+This package contains all the [plugins](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins), helpers and object definitions to dialog with an API following the `ama-sdk` architecture.
-Please refer to the [generator-sdk](/packages/@ama-sdk/generator-sdk/README.md) package for getting started with an API based on `ama-sdk`.
+Please refer to the [generator-sdk](../generator-sdk/README.md) package for getting started with an API based on `ama-sdk`.
## Available plugins
-- [additional-params](/packages/@ama-sdk/core/src/plugins/additional-params)
-- [api-configuration-override](/packages/@ama-sdk/core/src/plugins/api-configuration-override)
-- [api-key](/packages/@ama-sdk/core/src/plugins/api-key)
-- [bot-protection-fingerprint](/packages/@ama-sdk/core/src/plugins/bot-protection-fingerprint)
-- [concurrent](/packages/@ama-sdk/core/src/plugins/concurrent)
-- [core](/packages/@ama-sdk/core/src/plugins/core)
-- [client-facts](/packages/@ama-sdk/core/src/plugins/client-facts)
-- [custom-info](/packages/@ama-sdk/core/src/plugins/custom-info)
-- [exception](/packages/@ama-sdk/core/src/plugins/exception)
-- [fetch-cache](/packages/@ama-sdk/core/src/plugins/fetch-cache)
-- [fetch-credentials](/packages/@ama-sdk/core/src/plugins/fetch-credentials)
-- [fetch-options](/packages/@ama-sdk/core/src/plugins/fetch-options)
-- [gateway-token](/packages/@ama-sdk/core/src/plugins/gateway-token)
-- [imperva](/packages/@ama-sdk/core/src/plugins/imperva)
-- [json-token](/packages/@ama-sdk/core/src/plugins/json-token)
-- [keepalive](/packages/@ama-sdk/core/src/plugins/keepalive)
-- [mock-intercept](/packages/@ama-sdk/core/src/plugins/mock-intercept)
-- [perf-metric](/packages/@ama-sdk/core/src/plugins/perf-metric)
-- [pii-tokenizer](/packages/@ama-sdk/core/src/plugins/pii-tokenizer)
-- [public-facts](/packages/@ama-sdk/core/src/plugins/public-facts)
-- [raw-response-info](/packages/@ama-sdk/core/src/plugins/raw-response-info)
-- [retry](/packages/@ama-sdk/core/src/plugins/retry)
-- [reviver](/packages/@ama-sdk/core/src/plugins/reviver)
-- [session-id](/packages/@ama-sdk/core/src/plugins/session-id)
-- [si-token](/packages/@ama-sdk/core/src/plugins/si-token)
-- [simple-api-key-authentication](/packages/@ama-sdk/core/src/plugins/simple-api-key-authentication)
-- [url-rewrite](/packages/@ama-sdk/core/src/plugins/url-rewrite)
-- [wait-for](/packages/@ama-sdk/core/src/plugins/wait-for)
-- [timeout](/packages/@ama-sdk/core/src/plugins/timeout)
+- [additional-params](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/additional-params)
+- [api-configuration-override](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/api-configuration-override)
+- [api-key](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/api-key)
+- [bot-protection-fingerprint](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/bot-protection-fingerprint)
+- [concurrent](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/concurrent)
+- [core](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/core)
+- [client-facts](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/client-facts)
+- [custom-info](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/custom-info)
+- [exception](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/exception)
+- [fetch-cache](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/fetch-cache)
+- [fetch-credentials](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/fetch-credentials)
+- [fetch-options](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/fetch-options)
+- [gateway-token](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/gateway-token)
+- [imperva](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/imperva)
+- [json-token](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/json-token)
+- [keepalive](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/keepalive)
+- [mock-intercept](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/mock-intercept)
+- [perf-metric](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/perf-metric)
+- [pii-tokenizer](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/pii-tokenizer)
+- [public-facts](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/public-facts)
+- [raw-response-info](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/raw-response-info)
+- [retry](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/retry)
+- [reviver](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/reviver)
+- [session-id](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/session-id)
+- [si-token](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/si-token)
+- [simple-api-key-authentication](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/simple-api-key-authentication)
+- [url-rewrite](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/url-rewrite)
+- [wait-for](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/wait-for)
+- [timeout](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/core/src/plugins/timeout)
## Available API Client
diff --git a/packages/@ama-sdk/core/src/plugins/concurrent/readme.md b/packages/@ama-sdk/core/src/plugins/concurrent/readme.md
index 99432a83ec..cd64f15932 100644
--- a/packages/@ama-sdk/core/src/plugins/concurrent/readme.md
+++ b/packages/@ama-sdk/core/src/plugins/concurrent/readme.md
@@ -4,4 +4,4 @@ Plugin to limit the number of concurrent calls.
### Type of plugins
-- Fetch plugin: [ConcurrentFetch](./concurrent.fetch.tst.ts);
+- Fetch plugin: [ConcurrentFetch](./concurrent.fetch.ts);
diff --git a/packages/@ama-sdk/generator-sdk/README.md b/packages/@ama-sdk/generator-sdk/README.md
index ce21f30194..e15194cd62 100644
--- a/packages/@ama-sdk/generator-sdk/README.md
+++ b/packages/@ama-sdk/generator-sdk/README.md
@@ -41,7 +41,7 @@ yarn yo ./node_modules/@ama-sdk/generator-sdk/src/generators/dart-core --swagger
```
For more details please check:
-[Dart generator doc](packages/@ama-sdk/generator-sdk/src/generators/dart-core/templates/swagger-codegen-dart/README.md)
+[Dart generator doc](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/generator-sdk/src/generators/dart-core/templates/swagger-codegen-dart/README.md)
### Java Resteasy client SDK
@@ -53,5 +53,5 @@ yarn yo ./node_modules/@ama-sdk/generator-sdk/src/generators/java-client-core --
```
For more details please check:
-[Java resteasy client generator doc](packages/@ama-sdk/generator-sdk/src/generators/java-resteasy-client-core/templates/swagger-codegen-java-resteasy-client/README.md)
+[Java resteasy client generator doc](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/generator-sdk/src/generators/java-resteasy-client-core/templates/swagger-codegen-java-resteasy-client/README.md)
diff --git a/packages/@ama-sdk/generator-sdk/src/generators/java-mdk-core/templates/swagger-codegen-mdk/README.md b/packages/@ama-sdk/generator-sdk/src/generators/java-mdk-core/templates/swagger-codegen-mdk/README.md
index 859fd0437c..56c29d67b8 100644
--- a/packages/@ama-sdk/generator-sdk/src/generators/java-mdk-core/templates/swagger-codegen-mdk/README.md
+++ b/packages/@ama-sdk/generator-sdk/src/generators/java-mdk-core/templates/swagger-codegen-mdk/README.md
@@ -1,7 +1,7 @@
# Swagger Codegen for the typescriptFetch library
## Overview
-This is a boiler-plate project to generate your own middleware factory library.
+This is a boiler-plate project to generate your own middleware factory library.
These factories are in charge of converting beans from the Airline API Swagger specification to Digital Commerce API one.
Its goal is to get you started with the basic plumbing so you can put in your own logic.
@@ -13,22 +13,22 @@ First compile this project, run:
mvn package
```
-You can configure the generation of the MDK code generation thanks to the following file: `\config/swagger-codegen-resteasy-config.json`
+You can configure the generation of the MDK code generation thanks to the following file: `\config/swagger-codegen-resteasy-config.json`
```
{
- "groupId" : "com.airline.dapi", // Generated Maven project Goupt ID
+ "groupId" : "com.airline.dapi", // Generated Maven project Goupt ID
"artifactId" : "dapi-mdk", // Generated Maven project Artifact ID
- "modelPackage" : "com.airline.dapi", // MDK root package path
+ "modelPackage" : "com.airline.dapi", // MDK root package path
"additionalProperties": {
"dapiPackage" : "com.amadeus.dapi.model.core", // Digital Commerce (DC) model package path
"frontendModelSuffix": "View", // Suffix used during Airline API class generation (to avoid class name collision with DC classes)
- "generateRootSupportingFiles": "true", // To be true the first time of generation and next set to false to avoid
- "enumUpperUnderscore": "true", // Depending of the enum generation of DC Model generation enum can be with underscore or not.
+ "generateRootSupportingFiles": "true", // To be true the first time of generation and next set to false to avoid
+ "enumUpperUnderscore": "true", // Depending of the enum generation of DC Model generation enum can be with underscore or not.
"dapiSdkClientVersion": "2.24.9" // Version of the java DxApi sdk package
// Please align this setting with your implementation
},
-
+
"library" : "resteasy",
"dateLibrary" : "java8",
"java8": true,
@@ -42,7 +42,7 @@ In your generator project, a single jar file will be produced in `target`. You
java -cp "/path/to/swagger-codegen-cli.jar;/path/to/mdk/target/folder/mdk-swagger-codegen-0.0.0.jar;" \
io.swagger.codegen.SwaggerCodegen generate -l javaMdk \
-i "/path/to/your/swagger/spec/file/Airline_Public.yaml" \
- -c "/pth/to/thi/project/config/swagger-codegen-config.json" \
+ -c "/path/to/the/project/config/swagger-codegen-config.json" \
-o "/path/to/your/mdk/repo"
```
@@ -50,7 +50,7 @@ At this point, you've likely generated a client setup. It will include somethin
```
/path/to/your/mdk/repo
-|- README.md
+|- README.md
|- pom.xml // Maven build script with only dependency to JSR-330 annotation and MapStruct lib. Java 8+
|-- docs
|-- Definition.md // Generated Bean documentation based on Swagger Specification defintion
diff --git a/packages/@ama-sdk/schematics/README.md b/packages/@ama-sdk/schematics/README.md
index c7921b9e5b..3cc50c1d7e 100644
--- a/packages/@ama-sdk/schematics/README.md
+++ b/packages/@ama-sdk/schematics/README.md
@@ -74,7 +74,7 @@ Make sure to have a `./swagger-spec.yaml` file at the root of your project and r
yarn schematics @ama-sdk/schematics:java-client-core --spec-path ./swagger-spec.yaml --swagger-config-path ./swagger-codegen-config.json
```
-[Default swagger config](./schematics/java/client-core/swagger-codegen-java-client/config/swagger-codegen-config.json) will be used if `--swagger-config-path` is not provided.
+[Default swagger config](schematics/java/client-core/swagger-codegen-java-client/config/swagger-codegen-config.json) will be used if `--swagger-config-path` is not provided.
### Debug the typescript generator
The OpenApi generator extracts an enhanced JSON data model from the specification YAML and uses this data model to feed the templates to generate the code.
diff --git a/packages/@ama-sdk/schematics/schematics/java/client-core/swagger-codegen-java-client/config/swagger-codegen-config.json b/packages/@ama-sdk/schematics/schematics/java/client-core/swagger-codegen-java-client/config/swagger-codegen-config.json
new file mode 100644
index 0000000000..a301856963
--- /dev/null
+++ b/packages/@ama-sdk/schematics/schematics/java/client-core/swagger-codegen-java-client/config/swagger-codegen-config.json
@@ -0,0 +1,19 @@
+{
+ "modelPackage" : "com.amadeus.dapi",
+ "apiPackage" : "com.amadeus.dapi",
+ "invokerPackage" : "com.amadeus.dapi",
+ "generateApiTests": "false",
+ "groupId" : "com.amadeus.dapi",
+ "artifactId" : "dapi-client-sdk",
+ "dateLibrary" : "java8",
+ "java8": true,
+ "hideGenerationTimestamp": true,
+ "additionalProperties": {
+ "endpointsImplPackage": "com.amadeus.dapi.api.impl",
+ "endpointsPackage": "com.amadeus.dapi.api.interfaces",
+ "basePackage": "com.amadeus.dapi.model.base",
+ "corePackage": "com.amadeus.dapi.model.core",
+ "sdkCorePackage": "com.amadeus.des.sdk.core",
+ "sdkUtilsPackage": "com.amadeus.des.sdk.utils"
+ }
+}
diff --git a/packages/@ama-sdk/swagger-builder/README.md b/packages/@ama-sdk/swagger-builder/README.md
index 20af053d80..673e73f196 100644
--- a/packages/@ama-sdk/swagger-builder/README.md
+++ b/packages/@ama-sdk/swagger-builder/README.md
@@ -43,10 +43,10 @@ $ npx @ama-sdk/swagger-build --help
The **Swagger Builder** supports three formats of Swagger specification as inputs:
1. A `yaml` file of a valid `Swagger 2.0` specification
-2. A `json` describing a [Split Swagger Specification](../../../docs/swagger-builder/split-swagger-spec.md)
-3. A **NPM package** as described in the [referencing](../../../docs/swagger-builder/referencing.md) documentation
+2. A `json` describing a [Split Swagger Specification](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/split-swagger-spec.md)
+3. A **NPM package** as described in the [referencing](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/referencing.md) documentation
-The **Swagger Builder** tool will merge all the Swagger specifications entered as arguments (in any of the 3 formats chosen above) from the first entry to the last one as described in the [merging strategy](../../../docs/swagger-builder/merging-strategy.md).
+The **Swagger Builder** tool will merge all the Swagger specifications entered as arguments (in any of the 3 formats chosen above) from the first entry to the last one as described in the [merging strategy](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/merging-strategy.md).
>**Information**: The input support *Glob patterns* to list several files
@@ -59,19 +59,19 @@ The **Swagger Builder** supports two kinds of configuration:
The **Swagger Builder** supports a set of *configuration* to configure the merging strategy, the post processing and the output format.
-The configurations can be specified in a JSON file following a provided [Json Schema](./src/schemas/builder-configuration.schema.json) or via CLI options.
+The configurations can be specified in a JSON file following a provided [Json Schema](https://github.com/AmadeusITGroup/otter/tree/main/packages/%40ama-sdk/swagger-builder/src/schemas/builder-configuration.schema.json) or via CLI options.
> **Warning**: The CLI Options will **be overridden by** the configuration provided in the JSON file.
### List of available configurations
| Configuration | CLI Option | Description | Default value |
|:------------------------|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------|
-| **outputFormat** | **--output-format** (alias: **-O**) | Type of artifact generated. The supported formats are [split](../../../docs/swagger-builder/split-swagger-spec.md), `yaml` and `json` | yaml |
+| **outputFormat** | **--output-format** (alias: **-O**) | Type of artifact generated. The supported formats are [split](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/split-swagger-spec.md), `yaml` and `json` | yaml |
| **output** | **--output** (alias: **-o**) | Path of the artifact generated.
In case of `yaml` (or `json`) output format, the `.yaml` (or `.json`) extension will be added to the path.
In the case of `split` output format, the output path will be the name of the folder containing the generated split spec. | ./result/spec |
| **setVersion** | **--set-version** (alias: **-v**) | Set the version of the final Swagger spec. If not specified, the most recent version of the specification (in input) will be used | *null* |
| **setVersionAuto** | **--set-version-auto** (alias: **-u**) | If enabled, the version from the current package.json will be applied to the final swagger specification. This option will be ignored if a manual version is specified in **setVersion** configuration. | *null* |
| **artifact** | **--artifact** (alias: **-a**) | Name of the NPM artifact associated to the Swagger specification generated. If specified, a `package.json` will be generated alongside the Swagger specification (in the same folder) | *null* |
-| **ignoreConflict** | **--ignore-conflict** (alias: **-i**) | Ignore the conflict (in the **paths**) during the specification merging. If enabled, the previous conflicting *path* will be replaced by the new one (in the [Merging strategy](../../../docs/swagger-builder/merging-strategy.md)) | `false` |
+| **ignoreConflict** | **--ignore-conflict** (alias: **-i**) | Ignore the conflict (in the **paths**) during the specification merging. If enabled, the previous conflicting *path* will be replaced by the new one (in the [Merging strategy](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/merging-strategy.md)) | `false` |
| **awsCompat** | **--aws-compat** | Enable Amazon Web Service Gateway compatibility. The resulting Swagger specification will be transformed to be compatible with AWS | `false` |
| **treeShaking** | **--tree-shaking** | Enable the tree shaking of the Swagger output. The `definitions` and `parameters` not referred to by a `path` will be removed. This option is enabled per default in case of black/white listing | `false` |
| **treeShakingStrategy** | **--tree-shaking-strategy** | Change the tree shaking strategy. Options are `bottom-up` or `top-down`. | `bottom-up` |
@@ -86,8 +86,8 @@ The configurations can be specified in a JSON file following a provided [Json Sc
| Feature | CLI Option | Description | Default value |
| :---------------- | :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |
-| **Configuration** | **--configuration** (alias: **-c**) | [Configuration file](#List-of-available-configurations) to provide parameters to the **Swagger Builder** | *null* |
-| **APIs** | **--apis** | Path to the files containing a [list of APIs](../../../docs/swagger-builder/multi-apis.md) to generate. Each APIs will be merged with the ones in the CLI argument (if specified). | *null* |
+| **Configuration** | **--configuration** (alias: **-c**) | [Configuration file](#list-of-available-configurations) to provide parameters to the **Swagger Builder** | *null* |
+| **APIs** | **--apis** | Path to the files containing a [list of APIs](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/multi-apis.md) to generate. Each APIs will be merged with the ones in the CLI argument (if specified). | *null* |
## Additional Checking tools
@@ -95,17 +95,14 @@ To perform validity check of a set of Swagger Specifications, additional tools a
| Name | Description |
| :----------------------------------------------------------------------- | :---------------------------------------------------------------------------------- |
-| [Dictionary check](../../../docs/swagger-builder/checkers/dictionary-checker.md) | Validate that the dictionaries linked via the X Vendors are valid |
-| [Operation ID check](../../../docs/swagger-builder/checkers/operation-id-checker.md) | Validate that Operation IDs are specified and unique for each paths |
-| [Multi Success Response check](../../../docs/swagger-builder/checkers/multi-success-checker.md) | Validate that there is no path returning two different success response definitions |
+| [Dictionary check](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/checkers/dictionary-checker.md) | Validate that the dictionaries linked via the X Vendors are valid |
+| [Operation ID check](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/checkers/operation-id-checker.md) | Validate that Operation IDs are specified and unique for each paths |
+| [Multi Success Response check](https://github.com/AmadeusITGroup/otter/tree/main/docs/swagger-builder/checkers/multi-success-checker.md) | Validate that there is no path returning two different success response definitions |
## Generate your own extension
-A code generator is provided to generate an extension of the **Amadeus Digital Experience API**.
+A code generator is provided to generate an API specification extension.
```bash
yarn yo @ama-sdk/sdk:api-extension
```
-
-> More information on [Generators documentation](../../../readme.md).
->
diff --git a/packages/@o3r/configuration/README.md b/packages/@o3r/configuration/README.md
index ef2d39fbb1..de65d4cc62 100644
--- a/packages/@o3r/configuration/README.md
+++ b/packages/@o3r/configuration/README.md
@@ -29,25 +29,25 @@ application/components.
### Component config types
```
-
+
store config
│ Input config
- │ (from parent)
+ │ (from parent)
│ Component default config │
│ (in config.ts file) │
│ │ │
│ overrides │ │
└──────────────────────────────>│ │
- │ │
+ │ │
global config │ │
- (no common props) │ │
- │ │ │
- │ │ │
- │ merge │ │
+ (no common props) │ │
+ │ │ │
+ │ │ │
+ │ merge │ │
└──────────────────────────────>│ │
│ │
- │ │
- │ overrides │
+ │ │
+ │ overrides │
│<────────────────────────────────────
│
↓
@@ -102,4 +102,4 @@ Otter framework provides a set of code generators based on [angular schematics](
## More details
-Find more information in the [documentation](https://github.com/AmadeusITGroup/otter/tree/main/docs/configuraiton/OVERVIEW.md).
+Find more information in the [documentation](https://github.com/AmadeusITGroup/otter/tree/main/docs/configuration/OVERVIEW.md).
diff --git a/packages/@o3r/core/package.json b/packages/@o3r/core/package.json
index 4de6c4456a..6ed435abba 100644
--- a/packages/@o3r/core/package.json
+++ b/packages/@o3r/core/package.json
@@ -153,7 +153,7 @@
"jsonc-eslint-parser": "~2.4.0",
"eslint-import-resolver-node": "^0.3.4",
"eslint-plugin-jest": "~27.6.0",
- "eslint-plugin-jsdoc": "~46.9.0",
+ "eslint-plugin-jsdoc": "~46.10.0",
"eslint-plugin-prefer-arrow": "~1.2.3",
"eslint-plugin-unicorn": "^47.0.0",
"jest": "~29.7.0",
diff --git a/packages/@o3r/dev-tools/README.md b/packages/@o3r/dev-tools/README.md
index f70617e796..1c08e32f92 100644
--- a/packages/@o3r/dev-tools/README.md
+++ b/packages/@o3r/dev-tools/README.md
@@ -226,7 +226,7 @@ Options:
## Version Harmonize
-> :warning: **Deprecate**: This script is deprecated and will be removed in Otter v12, it is replaced by the JSON ESLint rule [@o3r/json-dependency-versions-harmonize](../linter/eslint-plugin/rules/json-dependency-versions-harmonize.md).
+> :warning: **Deprecate**: This script is deprecated and will be removed in Otter v12, it is replaced by the JSON ESLint rule [@o3r/json-dependency-versions-harmonize](https://github.com/AmadeusITGroup/otter/tree/main/docs/linter/eslint-plugin/rules/json-dependency-versions-harmonize.md).
Replaces the dependencies' version in a monorepos.
This align the dependencies' range of each package of a yarn monorepo to the latest range detected in the monorepo.
diff --git a/packages/@o3r/localization/README.md b/packages/@o3r/localization/README.md
index 3aaa7368f9..641e3ca4bc 100644
--- a/packages/@o3r/localization/README.md
+++ b/packages/@o3r/localization/README.md
@@ -29,7 +29,7 @@ ng add @o3r/localization
- 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).
-- 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).
+- 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).
- Support for resource keys with parameters
@@ -399,7 +399,7 @@ import {
LazyMessageFormatConfig,
LocalizationModule,
translateLoaderProvider,
- TranslateMessageFormatLazyCompiler
+ TranslateMessageFormatLazyCompiler
} from "@o3r/localization";
import { TranslateModule } from "@ngx-translate/core";
import { MESSAGE_FORMAT_CONFIG } from 'ngx-translate-messageformat-compiler';
@@ -439,8 +439,8 @@ class AppModule {}
### How to localize plural expression
-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.
-[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.
+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.
+[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.
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.
#### Integration with ngx-translate
@@ -504,7 +504,7 @@ Sometimes you may want to display a different resource based on some property va
```
```typescript
-// in component html
+// in component html
- {{ translations.people | translate: { gender: 'female', how: 'influential' } }}
- {{ translations.people | translate: { gender: 'male', how: 'funny' } }}
@@ -517,22 +517,22 @@ Note again that *translations.people* matches *global.people* key
**Output**
```
-- She is influential
-- He is funny
-- They are affectionate
+- She is influential
+- He is funny
+- They are affectionate
```
## Debugging
### Runtime: toggle translation on and off
-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**.
+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**.
While deactivated, the ``translate`` **pipe** and **directive** will output the translation keys instead of their resolved values.
> **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.
-First, this mechanism has to be activated via the ``LocalizationConfiguration`` that you can provide in your ``ApplicationModule``.
-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.
+First, this mechanism has to be activated via the ``LocalizationConfiguration`` that you can provide in your ``ApplicationModule``.
+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.
Not enabling it allows to avoid all those subscriptions, and should be the baseline for a production environment.
Example:
diff --git a/packages/@o3r/rules-engine/README.md b/packages/@o3r/rules-engine/README.md
index 89091f889b..f9e8484cf3 100644
--- a/packages/@o3r/rules-engine/README.md
+++ b/packages/@o3r/rules-engine/README.md
@@ -24,25 +24,25 @@ ng add @o3r/rules-engine
To facilitate the understanding of the usage of the rule engines, the documentation has been split in several sessions:
-- [integration](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/integration.md)
-- [cms-json-imports](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/cms-json-imports.md)
-- [create-custom-fact](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/create-custom-fact.md)
-- [debug-panel](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/debug-panel.md)
-- [debug](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/debug.md)
-- [dedicated-component-ruleset](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/dedicated-component-ruleset.md)
-- [performance-metrics](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/performance-metrics.md)
-- [placeholders](https://github.com/AmadeusITGroup/otter/tree/main/docs/how-to-use/placeholders.md)
+- [integration](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/integration.md)
+- [cms-json-imports](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/cms-json-imports.md)
+- [create-custom-fact](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/create-custom-fact.md)
+- [debug-panel](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/debug-panel.md)
+- [debug](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/debug.md)
+- [dedicated-component-ruleset](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/dedicated-component-ruleset.md)
+- [performance-metrics](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/performance-metrics.md)
+- [placeholders](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/placeholders.md)
## Examples
Several examples of the rule engine usage are available on the following links:
-- [basic-rule](https://github.com/AmadeusITGroup/otter/tree/main/docs/examples/basic-rule.md)
-- [complex-fact](https://github.com/AmadeusITGroup/otter/tree/main/docs/examples/complex-fact.md)
-- [custom-operator](https://github.com/AmadeusITGroup/otter/tree/main/docs/examples/custom-operator.md)
-- [nested-conditions](https://github.com/AmadeusITGroup/otter/tree/main/docs/examples/nested-conditions.md)
-- [readme](https://github.com/AmadeusITGroup/otter/tree/main/docs/examples/readme.md)
-- [runtime-facts](https://github.com/AmadeusITGroup/otter/tree/main/docs/examples/runtime-facts.md)
+- [basic-rule](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/examples/basic-rule.md)
+- [complex-fact](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/examples/complex-fact.md)
+- [custom-operator](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/examples/custom-operator.md)
+- [nested-conditions](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/examples/nested-conditions.md)
+- [readme](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/examples/readme.md)
+- [runtime-facts](https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/examples/runtime-facts.md)
## Generators
diff --git a/tools/github-actions/download-build-output/readme.md b/tools/github-actions/download-build-output/readme.md
index ffb929fcb5..c4873c4945 100644
--- a/tools/github-actions/download-build-output/readme.md
+++ b/tools/github-actions/download-build-output/readme.md
@@ -4,7 +4,7 @@
Download and restore the `dist` folders from GitHub artifact (check [Upload build output](../upload-build-output/readme.md))
## Task options
-See [Action specifications](tools/github-actions/download-build-output/action.yml) directly for more information about the supported parameters.
+See [Action specifications](./action.yml) directly for more information about the supported parameters.
## Usage example
```yaml
diff --git a/tools/github-actions/setup/readme.md b/tools/github-actions/setup/readme.md
index 1a7be2a101..32e7c62d53 100644
--- a/tools/github-actions/setup/readme.md
+++ b/tools/github-actions/setup/readme.md
@@ -9,7 +9,7 @@ Including :
## Task options
-See [Action specifications](tools/github-actions/setup/action.yml) directly for more information about the supported parameters.
+See [Action specifications](./action.yml) directly for more information about the supported parameters.
## Usage example
diff --git a/tools/github-actions/upload-build-output/readme.md b/tools/github-actions/upload-build-output/readme.md
index 19c3f3aeed..b2336d1886 100644
--- a/tools/github-actions/upload-build-output/readme.md
+++ b/tools/github-actions/upload-build-output/readme.md
@@ -8,7 +8,7 @@ You can then use the download build output action for the download (check [Downl
## Task options
-See [Action specifications](tools/github-actions/upload-build-output/action.yml) directly for more information about the supported parameters.
+See [Action specifications](./action.yml) directly for more information about the supported parameters.
## Usage example