@ama-terasu/cli 8.2.0-alpha.9 → 8.2.0-alpha.93
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.
- package/LICENSE +26 -26
- package/README.md +21 -190
- package/package.json +15 -15
- package/src/helpers/module.helper.d.ts +14 -1
- package/src/helpers/module.helper.d.ts.map +1 -1
- package/src/helpers/module.helper.js +30 -6
- package/src/helpers/module.helper.js.map +1 -1
- package/src/helpers/version.helper.d.ts.map +1 -1
- package/src/helpers/version.helper.js +3 -2
- package/src/helpers/version.helper.js.map +1 -1
- package/src/modules/base-yargs.js +1 -1
- package/src/modules/base-yargs.js.map +1 -1
package/LICENSE
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
Copyright Amadeus SAS
|
|
2
|
-
|
|
3
|
-
Redistribution and use in source and binary forms, with or without modification,
|
|
4
|
-
are permitted provided that the following conditions are met:
|
|
5
|
-
|
|
6
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
|
7
|
-
list of conditions and the following disclaimer.
|
|
8
|
-
|
|
9
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
10
|
-
this list of conditions and the following disclaimer in the documentation and/or
|
|
11
|
-
other materials provided with the distribution.
|
|
12
|
-
|
|
13
|
-
3. Neither the name of the copyright holder nor the names of its contributors
|
|
14
|
-
may be used to endorse or promote products derived from this software without
|
|
15
|
-
specific prior written permission.
|
|
16
|
-
|
|
17
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
18
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
19
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
20
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
21
|
-
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
22
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
24
|
-
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
26
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1
|
+
Copyright Amadeus SAS
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without modification,
|
|
4
|
+
are permitted provided that the following conditions are met:
|
|
5
|
+
|
|
6
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
7
|
+
list of conditions and the following disclaimer.
|
|
8
|
+
|
|
9
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
10
|
+
this list of conditions and the following disclaimer in the documentation and/or
|
|
11
|
+
other materials provided with the distribution.
|
|
12
|
+
|
|
13
|
+
3. Neither the name of the copyright holder nor the names of its contributors
|
|
14
|
+
may be used to endorse or promote products derived from this software without
|
|
15
|
+
specific prior written permission.
|
|
16
|
+
|
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
18
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
19
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
20
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
21
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
22
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
24
|
+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
26
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
package/README.md
CHANGED
|
@@ -1,212 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
<p align="center">
|
|
3
|
-
<img src="./.attachments/logo.png" alt="Super cute Otter!"/>
|
|
4
|
-
</p>
|
|
1
|
+
# Ama-Terasu
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
<br />
|
|
3
|
+
Ama Terasu is a Command Line Interface to administrate Amadeus Digital Experience suite.
|
|
8
4
|
|
|
9
|
-
##
|
|
10
|
-
The **Otter** project is a highly modular framework whose goal is to provide a common platform to accelerate and facilitate the development on Angular web applications.
|
|
11
|
-
It is split into several units to cover different aspects of these applications (localization, testing, customization, etc.).
|
|
12
|
-
Also, to customize an application, metadata can be extracted from the application source code and injected into a CMS to manage dynamic configuration.
|
|
5
|
+
## How to use
|
|
13
6
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
## Built With
|
|
17
|
-
|
|
18
|
-
* [Angular](https://angular.io/)
|
|
19
|
-
* [Typescript](https://www.typescriptlang.org/)
|
|
20
|
-
* [RxJs](http://reactivex.io/rxjs/)
|
|
21
|
-
* [Redux](http://redux.js.org/)
|
|
22
|
-
* [Sass](http://sass-lang.com/)
|
|
23
|
-
* [Nx](https://nx.dev/)
|
|
24
|
-
|
|
25
|
-
## Get Started
|
|
26
|
-
|
|
27
|
-
A new application can be set up with these simple commands:
|
|
7
|
+
This CLI is NodeJs based and can be used with this simple command:
|
|
28
8
|
|
|
29
9
|
```shell
|
|
30
|
-
|
|
31
|
-
npm install -g @angular/cli
|
|
32
|
-
ng new my-app
|
|
10
|
+
npx @ama-terasu/cli --help
|
|
33
11
|
|
|
34
|
-
#
|
|
35
|
-
|
|
12
|
+
# or with yarn2+
|
|
13
|
+
yarn dlx @ama-terasu/cli --help
|
|
36
14
|
```
|
|
37
15
|
|
|
38
|
-
> **Note**:
|
|
39
|
-
|
|
40
|
-
## Contributing
|
|
41
|
-
|
|
42
|
-
Please read the [Contributing](./CONTRIBUTING.md) file for details on our code of conduct and the process to submit pull requests.
|
|
43
|
-
|
|
44
|
-
## Versioning
|
|
45
|
-
|
|
46
|
-
Please refer to [Security file](./SECURITY.md).
|
|
47
|
-
|
|
48
|
-
## License
|
|
49
|
-
|
|
50
|
-
Please refer to the [License file](./LICENSE).
|
|
51
|
-
|
|
52
|
-
## Acknowledgments
|
|
53
|
-
|
|
54
|
-
The Otter Team, @AmadeusITGroup/otter_admins, is responsible for the review of the code of this repository.
|
|
55
|
-
Any bug of feature request can be addressed via [issue](https://github.com/AmadeusITGroup/otter/issues/new) report.
|
|
56
|
-
|
|
57
|
-
## Developer
|
|
58
|
-
|
|
59
|
-
### Building and Testing library
|
|
60
|
-
|
|
61
|
-
These documents describe how to set up your development environment to build and test the framework.
|
|
62
|
-
It also explains the basic mechanics of using `git`, `node`, and `npm`.
|
|
63
|
-
|
|
64
|
-
- [Description](#description)
|
|
65
|
-
- [Built With](#built-with)
|
|
66
|
-
- [Get Started](#get-started)
|
|
67
|
-
- [Contributing](#contributing)
|
|
68
|
-
- [Versioning](#versioning)
|
|
69
|
-
- [License](#license)
|
|
70
|
-
- [Acknowledgments](#acknowledgments)
|
|
71
|
-
- [Developer](#developer)
|
|
72
|
-
- [Building and Testing library](#building-and-testing-library)
|
|
73
|
-
- [Prerequisite Software](#prerequisite-software)
|
|
74
|
-
- [Getting the Sources](#getting-the-sources)
|
|
75
|
-
- [Installing NPM Modules](#installing-npm-modules)
|
|
76
|
-
- [Build command](#build-command)
|
|
77
|
-
- [Running tests locally](#running-tests-locally)
|
|
78
|
-
- [Manage task cache](#manage-task-cache)
|
|
79
|
-
- [Debugging with Visual Studio Code](#debugging-with-visual-studio-code)
|
|
80
|
-
- [Link local packages](#link-local-packages)
|
|
16
|
+
> **Note**: For yarn, the CLI modules are currently available only with `nodeLinker: node_modules` strategy.
|
|
81
17
|
|
|
82
|
-
|
|
83
|
-
if you'd like to contribute to the framework.
|
|
18
|
+
### Managing installed modules
|
|
84
19
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
Before you can build and test Otter modules, you must install and configure the
|
|
88
|
-
following products on your development machine:
|
|
89
|
-
|
|
90
|
-
* [Git](http://git-scm.com) and/or the **GitHub app** (for [Mac](http://mac.github.com) or
|
|
91
|
-
[Windows](http://windows.github.com))
|
|
92
|
-
* [GitHub's Guide to Installing
|
|
93
|
-
Git](https://help.github.com/articles/set-up-git) is a good source of information.
|
|
94
|
-
|
|
95
|
-
* [Node.js](http://nodejs.org), (version `>=10.0.0`)
|
|
96
|
-
* This is used to run tests and generate distributable files. We also use Node's Package Manager, `npm`
|
|
97
|
-
(version `>3.8.x`), which comes with Node. Depending on your system, you can install Node either from
|
|
98
|
-
source or as a pre-packaged bundle.
|
|
99
|
-
|
|
100
|
-
* [Yarn](https://yarnpkg.com/lang/en/docs/install/), a Node's Package Manager
|
|
101
|
-
* You can install yarn using NPM manager (coming with Node.js).
|
|
102
|
-
The version of Yarn currently used is embedded in the repository. In case you need to link this library with your project, you can check the section "Link local packages".
|
|
103
|
-
|
|
104
|
-
* [Chrome](https://www.google.com/chrome/browser/desktop/index.html)
|
|
105
|
-
* We use Chrome to run our tests.
|
|
106
|
-
|
|
107
|
-
#### Getting the sources
|
|
108
|
-
|
|
109
|
-
Clone the Otter repository using the button `Code` or using the following git command:
|
|
20
|
+
You can get the list the versions of the available modules with the following command:
|
|
110
21
|
|
|
111
22
|
```shell
|
|
112
|
-
|
|
23
|
+
npx @ama-terasu/cli --version
|
|
113
24
|
```
|
|
114
25
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
Next, install the JavaScript modules needed to build:
|
|
26
|
+
The command will give you information regarding the version of the modules installed and the latest available ones.
|
|
27
|
+
You can upgrade the modules version with the module manager:
|
|
118
28
|
|
|
119
29
|
```shell
|
|
120
|
-
#
|
|
121
|
-
|
|
122
|
-
```
|
|
30
|
+
# upgrade/install to the latest version:
|
|
31
|
+
npx @ama-terasu/cli module update <my module>
|
|
123
32
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
To build the modules, run:
|
|
127
|
-
|
|
128
|
-
```shell
|
|
129
|
-
yarn run build
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Each module can be built independently thanks to [Nx](https://nx.dev/packages/nx/documents/run) commands:
|
|
133
|
-
|
|
134
|
-
```shell
|
|
135
|
-
# ex: Build Core package only
|
|
136
|
-
yarn nx build core
|
|
33
|
+
# upgrade/install to a specific version:
|
|
34
|
+
npx @ama-terasu/cli module update <my module> --to 1.2.3
|
|
137
35
|
```
|
|
138
36
|
|
|
139
|
-
> **Note**:
|
|
37
|
+
> **Note**: when accessing to a module that is not installed, the CLI will automatically download the latest available version
|
|
140
38
|
|
|
141
|
-
|
|
39
|
+
## How to register a module
|
|
142
40
|
|
|
143
|
-
|
|
41
|
+
The only thing you need to do to get your module available is to publish your module on [npmjs.com](https://www.npmjs.com/) with **amaterasu-module** into your package [keywords](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#keywords).
|
|
144
42
|
|
|
145
|
-
|
|
146
|
-
yarn run lint
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Check Unit Tests:
|
|
150
|
-
|
|
151
|
-
```shell
|
|
152
|
-
yarn run test
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
Each module can be test independently thanks to [Nx](https://nx.dev/packages/nx/documents/run) commands:
|
|
156
|
-
|
|
157
|
-
```shell
|
|
158
|
-
# ex: Test Core package only
|
|
159
|
-
yarn nx test core
|
|
160
|
-
|
|
161
|
-
# ex: Lint Core package only
|
|
162
|
-
yarn nx lint core
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
#### Manage task cache
|
|
166
|
-
|
|
167
|
-
When running the Build, Lint, or Test commands, **Nx** can use its [cache mechanism](https://nx.dev/concepts/how-caching-works).
|
|
168
|
-
In some cases, it may be useful to clear the cache to investigate an issue. This can be done with the following command:
|
|
169
|
-
|
|
170
|
-
```shell
|
|
171
|
-
yarn nx reset
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
#### Debugging with Visual Studio Code
|
|
175
|
-
|
|
176
|
-
The repository contains the mandatory configuration and the recommended VSCode plugins to ensure optimal comfort and productivity while developing on the Otter Framework.
|
|
177
|
-
|
|
178
|
-
The default configuration of the repository provides a way to run Unit Tests one by one and to define, within VSCode, break points using the `vscode-jest-tests` debugger task.
|
|
179
|
-
|
|
180
|
-
#### Link local packages
|
|
181
|
-
|
|
182
|
-
For Yarn v1, add the `resolutions` property in the main package.json. It should be filled with the relative path to the `dist` of the local packages you want to link. The protocol `link:` can be used.
|
|
183
|
-
|
|
184
|
-
NOTE: It will not import the transitive dependencies of the linked packages.
|
|
185
|
-
|
|
186
|
-
Example:
|
|
187
|
-
|
|
188
|
-
```json
|
|
189
|
-
{
|
|
190
|
-
"resolutions": {
|
|
191
|
-
"@o3r/localization": "./relative/path/to/otter/packages/@o3r/localization/dist",
|
|
192
|
-
"@o3r/core": "link:./relative/path/to/otter/packages/@o3r/core/dist",
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
For Yarn v2+, the protocol `portal:` can also be used.
|
|
198
|
-
|
|
199
|
-
NOTE: The portal protocol will also import all the transitive dependencies of the linked packages.
|
|
200
|
-
Please keep in mind that mismatched versions of these dependencies may cause some issues.
|
|
201
|
-
|
|
202
|
-
Example:
|
|
203
|
-
|
|
204
|
-
```json
|
|
205
|
-
{
|
|
206
|
-
"resolutions": {
|
|
207
|
-
"@o3r/localization": "./relative/path/to/otter/library/@o3r/localization/dist",
|
|
208
|
-
"@o3r/core": "link:./relative/path/to/otter/library/@o3r/core/dist",
|
|
209
|
-
"@o3r/rules-engine": "portal:./relative/path/to/otter/library/@o3r/rules-engine/dist",
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
```
|
|
43
|
+
> **Note**: Your module should [export](https://nodejs.org/api/modules.html#moduleexports) an object following the `AmaCliModule` interface from the `@ama-terasu/core` package.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ama-terasu/cli",
|
|
3
|
-
"version": "8.2.0-alpha.
|
|
3
|
+
"version": "8.2.0-alpha.93",
|
|
4
4
|
"description": "Command Line Interface to administrate a Digital Experience Suite projects",
|
|
5
5
|
"main": "./src/cli/ama.js",
|
|
6
6
|
"scripts": {
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@angular-eslint/eslint-plugin": "~15.2.0",
|
|
22
22
|
"@nrwl/jest": "~15.9.0",
|
|
23
|
-
"@o3r/amaterasu-api-spec": "^8.2.0-alpha.
|
|
24
|
-
"@o3r/amaterasu-dodo": "^8.2.0-alpha.
|
|
25
|
-
"@o3r/amaterasu-otter": "^8.2.0-alpha.
|
|
26
|
-
"@o3r/amaterasu-sdk": "^8.2.0-alpha.
|
|
27
|
-
"@o3r/build-helpers": "^8.2.0-alpha.
|
|
28
|
-
"@o3r/dev-tools": "^8.2.0-alpha.
|
|
29
|
-
"@o3r/eslint-plugin": "^8.2.0-alpha.
|
|
23
|
+
"@o3r/amaterasu-api-spec": "^8.2.0-alpha.93",
|
|
24
|
+
"@o3r/amaterasu-dodo": "^8.2.0-alpha.93",
|
|
25
|
+
"@o3r/amaterasu-otter": "^8.2.0-alpha.93",
|
|
26
|
+
"@o3r/amaterasu-sdk": "^8.2.0-alpha.93",
|
|
27
|
+
"@o3r/build-helpers": "^8.2.0-alpha.93",
|
|
28
|
+
"@o3r/dev-tools": "^8.2.0-alpha.93",
|
|
29
|
+
"@o3r/eslint-plugin": "^8.2.0-alpha.93",
|
|
30
30
|
"@types/jest": "~28.1.2",
|
|
31
31
|
"@types/minimist": "^1.2.2",
|
|
32
32
|
"@types/node": "^17.0.45",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"tslib": "^2.4.1",
|
|
52
52
|
"type-fest": "^3.6.1",
|
|
53
53
|
"typescript": "~4.9.4",
|
|
54
|
-
"webpack": "~5.
|
|
55
|
-
"webpack-cli": "~5.0
|
|
54
|
+
"webpack": "~5.82.0",
|
|
55
|
+
"webpack-cli": "~5.1.0"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@ama-terasu/core": "^8.2.0-alpha.
|
|
58
|
+
"@ama-terasu/core": "^8.2.0-alpha.93",
|
|
59
59
|
"chalk": "^4.1.2",
|
|
60
60
|
"loglevel": "^1.8.0",
|
|
61
61
|
"minimist": "^1.2.6",
|
|
@@ -66,10 +66,10 @@
|
|
|
66
66
|
"yargs": "^17.6.2"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
|
-
"@o3r/amaterasu-api-spec": "^8.2.0-alpha.
|
|
70
|
-
"@o3r/amaterasu-dodo": "^8.2.0-alpha.
|
|
71
|
-
"@o3r/amaterasu-otter": "^8.2.0-alpha.
|
|
72
|
-
"@o3r/amaterasu-sdk": "^8.2.0-alpha.
|
|
69
|
+
"@o3r/amaterasu-api-spec": "^8.2.0-alpha.93",
|
|
70
|
+
"@o3r/amaterasu-dodo": "^8.2.0-alpha.93",
|
|
71
|
+
"@o3r/amaterasu-otter": "^8.2.0-alpha.93",
|
|
72
|
+
"@o3r/amaterasu-sdk": "^8.2.0-alpha.93"
|
|
73
73
|
},
|
|
74
74
|
"peerDependenciesMeta": {
|
|
75
75
|
"@o3r/amaterasu-api-spec": {
|
|
@@ -18,6 +18,8 @@ export interface ModuleLoadedInformation {
|
|
|
18
18
|
name: string;
|
|
19
19
|
/** Simplified name as displayed in the interface and selectable by the user */
|
|
20
20
|
moduleName: string;
|
|
21
|
+
/** Determine if the package is officially supported by the Otter (and affiliated) Teams */
|
|
22
|
+
isOfficialModule: boolean;
|
|
21
23
|
}
|
|
22
24
|
/** Installed package information */
|
|
23
25
|
export interface InstalledModuleInformation {
|
|
@@ -30,6 +32,8 @@ export interface InstalledModuleInformation {
|
|
|
30
32
|
export type ModuleDiscovery = MinimalPackageInformation & ModuleLoadedInformation & Partial<InstalledModuleInformation>;
|
|
31
33
|
/** Keyword to identify a module */
|
|
32
34
|
export declare const MODULES_KEYWORD = "amaterasu-module";
|
|
35
|
+
/** List of official scopes of modules supported by Otter (and affiliated) Teams */
|
|
36
|
+
export declare const OFFICIAL_MODULE_SCOPES: readonly ["ama-terasu", "ama-sdk", "o3r", "otter"];
|
|
33
37
|
/** Folder containing the dependency installed dynamically */
|
|
34
38
|
export declare const DYNAMIC_DEPENDENCIES_FOLDER = "dyn_modules";
|
|
35
39
|
/**
|
|
@@ -50,10 +54,11 @@ export declare const getDepPackage: (packageName: string) => PackageJson | undef
|
|
|
50
54
|
* Get the path to the installed package
|
|
51
55
|
*
|
|
52
56
|
* @param dep dependency to retrieve in the installed packages
|
|
57
|
+
* @param useFsToSearch Use File System access to search for the package instead of Node resolve mechanism
|
|
53
58
|
*/
|
|
54
59
|
export declare const getInstalledInformation: (dep: MinimalPackageInformation & {
|
|
55
60
|
name: string;
|
|
56
|
-
}) => Promise<InstalledModuleInformation | undefined>;
|
|
61
|
+
}, useFsToSearch?: boolean) => Promise<InstalledModuleInformation | undefined>;
|
|
57
62
|
/**
|
|
58
63
|
* Get the module simplified name
|
|
59
64
|
*
|
|
@@ -62,6 +67,14 @@ export declare const getInstalledInformation: (dep: MinimalPackageInformation &
|
|
|
62
67
|
export declare const getSimplifiedName: (pck: MinimalPackageInformation & {
|
|
63
68
|
name: string;
|
|
64
69
|
}) => string;
|
|
70
|
+
/**
|
|
71
|
+
* Determine if the module is officially supported by Otter (or affiliated) teams
|
|
72
|
+
*
|
|
73
|
+
* @param pck package to get name from
|
|
74
|
+
*/
|
|
75
|
+
export declare const isOfficialModule: (pck: MinimalPackageInformation & {
|
|
76
|
+
name: string;
|
|
77
|
+
}) => boolean;
|
|
65
78
|
/**
|
|
66
79
|
* Retrieve the list of all the dependencies
|
|
67
80
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/module.helper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,2FAA2F;AAC3F,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC;AAE3H,kEAAkE;AAClE,MAAM,WAAW,4BAA4B;IAC3C,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,IAAI,EAAE,IAAI,CAAC;IACX,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG,yBAAyB,GAAG,4BAA4B,CAAC;AAEpF,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"module.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/module.helper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,2FAA2F;AAC3F,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC;AAE3H,kEAAkE;AAClE,MAAM,WAAW,4BAA4B;IAC3C,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,IAAI,EAAE,IAAI,CAAC;IACX,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG,yBAAyB,GAAG,4BAA4B,CAAC;AAEpF,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IAEnB,2FAA2F;IAC3F,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,oCAAoC;AACpC,MAAM,WAAW,0BAA0B;IACzC,qGAAqG;IACrG,cAAc,EAAE,MAAM,CAAC;IAEvB,yBAAyB;IACzB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,wBAAwB;AACxB,MAAM,MAAM,eAAe,GAAG,yBAAyB,GAAG,uBAAuB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAExH,mCAAmC;AACnC,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,oDAAqD,CAAC;AAGzF,6DAA6D;AAC7D,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AAGzD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gBAAiB,MAAM,KAAG,MAAM,GAAG,SAQrE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,gBAAiB,MAAM,KAAG,WAAW,GAAG,SAOjE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAe,yBAAyB,GAAG;IAAE,MAAM,MAAM,CAAA;CAAE,8BAA0B,QAAQ,0BAA0B,GAAG,SAAS,CA0BtK,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,yBAAyB,GAAG;IAAE,MAAM,MAAM,CAAA;CAAE,WAElF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAS,yBAAyB,GAAG;IAAE,MAAM,MAAM,CAAA;CAAE,YAEjF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAa,QAAQ,OAAO,MAAM,EAAE,MAAM,CAAC,CAS3E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,aAAmB;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,KAA0B,QAAQ,eAAe,EAAE,CAkCrH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,QAAS,eAAe,kIAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAS,eAAe,KAAG,MAE9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAe,eAAe,YAAY,MAAM,kBAQ7E,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.installDependency = exports.getFormattedDescription = exports.isInstalled = exports.getCliModules = exports.getLocalDependencies = exports.getSimplifiedName = exports.getInstalledInformation = exports.getDepPackage = exports.findClosestPackageJson = exports.DYNAMIC_DEPENDENCIES_FOLDER = exports.MODULES_KEYWORD = void 0;
|
|
3
|
+
exports.installDependency = exports.getFormattedDescription = exports.isInstalled = exports.getCliModules = exports.getLocalDependencies = exports.isOfficialModule = exports.getSimplifiedName = exports.getInstalledInformation = exports.getDepPackage = exports.findClosestPackageJson = exports.DYNAMIC_DEPENDENCIES_FOLDER = exports.OFFICIAL_MODULE_SCOPES = exports.MODULES_KEYWORD = void 0;
|
|
4
4
|
const chalk = require("chalk");
|
|
5
5
|
const node_child_process_1 = require("node:child_process");
|
|
6
6
|
const node_fs_1 = require("node:fs");
|
|
@@ -9,6 +9,9 @@ const node_util_1 = require("node:util");
|
|
|
9
9
|
const package_json_1 = require("../../package.json");
|
|
10
10
|
/** Keyword to identify a module */
|
|
11
11
|
exports.MODULES_KEYWORD = 'amaterasu-module';
|
|
12
|
+
/** List of official scopes of modules supported by Otter (and affiliated) Teams */
|
|
13
|
+
exports.OFFICIAL_MODULE_SCOPES = ['ama-terasu', 'ama-sdk', 'o3r', 'otter'];
|
|
14
|
+
const officialModuleScopeRegExps = exports.OFFICIAL_MODULE_SCOPES.map((s) => new RegExp(`^@${s}/`));
|
|
12
15
|
/** Folder containing the dependency installed dynamically */
|
|
13
16
|
exports.DYNAMIC_DEPENDENCIES_FOLDER = 'dyn_modules';
|
|
14
17
|
const dynamicDependenciesPath = (0, node_path_1.resolve)(__dirname, '..', '..', exports.DYNAMIC_DEPENDENCIES_FOLDER);
|
|
@@ -47,12 +50,19 @@ exports.getDepPackage = getDepPackage;
|
|
|
47
50
|
* Get the path to the installed package
|
|
48
51
|
*
|
|
49
52
|
* @param dep dependency to retrieve in the installed packages
|
|
53
|
+
* @param useFsToSearch Use File System access to search for the package instead of Node resolve mechanism
|
|
50
54
|
*/
|
|
51
|
-
const getInstalledInformation = async (dep) => {
|
|
55
|
+
const getInstalledInformation = async (dep, useFsToSearch = false) => {
|
|
56
|
+
const dynModule = (0, node_path_1.resolve)(dynamicDependenciesPath, 'node_modules');
|
|
52
57
|
try {
|
|
53
|
-
|
|
58
|
+
let fsDiscoveredPath;
|
|
59
|
+
if (useFsToSearch) {
|
|
60
|
+
const localPath = (0, node_path_1.resolve)(dynModule, dep.name, 'package.json');
|
|
61
|
+
fsDiscoveredPath = (0, node_fs_1.existsSync)(localPath) ? (0, node_path_1.resolve)(dynModule, dep.name, JSON.parse(await node_fs_1.promises.readFile(localPath, { encoding: 'utf-8' })).main) : undefined;
|
|
62
|
+
}
|
|
63
|
+
const resolutionPath = fsDiscoveredPath || require.resolve(dep.name, {
|
|
54
64
|
paths: [
|
|
55
|
-
|
|
65
|
+
dynModule,
|
|
56
66
|
...module.paths
|
|
57
67
|
]
|
|
58
68
|
});
|
|
@@ -79,6 +89,15 @@ const getSimplifiedName = (pck) => {
|
|
|
79
89
|
return /(?:@[^/]+[/])?(?:amaterasu-)?(.*)/.exec(pck.name)?.[1] || pck.name;
|
|
80
90
|
};
|
|
81
91
|
exports.getSimplifiedName = getSimplifiedName;
|
|
92
|
+
/**
|
|
93
|
+
* Determine if the module is officially supported by Otter (or affiliated) teams
|
|
94
|
+
*
|
|
95
|
+
* @param pck package to get name from
|
|
96
|
+
*/
|
|
97
|
+
const isOfficialModule = (pck) => {
|
|
98
|
+
return officialModuleScopeRegExps.some((scope) => scope.test(pck.name));
|
|
99
|
+
};
|
|
100
|
+
exports.isOfficialModule = isOfficialModule;
|
|
82
101
|
/**
|
|
83
102
|
* Retrieve the list of all the dependencies
|
|
84
103
|
*/
|
|
@@ -123,7 +142,12 @@ const getCliModules = async (options = { localOnly: false }) => {
|
|
|
123
142
|
.filter((mod) => !!mod.name);
|
|
124
143
|
for (const mod of modules) {
|
|
125
144
|
const localInformation = await (0, exports.getInstalledInformation)(mod);
|
|
126
|
-
map.set(mod.name, {
|
|
145
|
+
map.set(mod.name, {
|
|
146
|
+
...mod,
|
|
147
|
+
...localInformation,
|
|
148
|
+
moduleName: (0, exports.getSimplifiedName)(mod),
|
|
149
|
+
isOfficialModule: (0, exports.isOfficialModule)(mod)
|
|
150
|
+
});
|
|
127
151
|
}
|
|
128
152
|
return [...map.values()];
|
|
129
153
|
};
|
|
@@ -143,7 +167,7 @@ exports.isInstalled = isInstalled;
|
|
|
143
167
|
* @param pck package to get name from
|
|
144
168
|
*/
|
|
145
169
|
const getFormattedDescription = (pck) => {
|
|
146
|
-
return ((0, exports.isInstalled)(pck) ? '' : `${chalk.grey.italic('(remote)')} `) + (pck.description || '<Missing description>');
|
|
170
|
+
return ((0, exports.isInstalled)(pck) ? '' : `${chalk.grey.italic('(remote)')} `) + (pck.description || '<Missing description>') + (pck.isOfficialModule ? ` ${chalk.blue(String.fromCharCode(0x00AE))}` : '');
|
|
147
171
|
};
|
|
148
172
|
exports.getFormattedDescription = getFormattedDescription;
|
|
149
173
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.helper.js","sourceRoot":"","sources":["../../../src/helpers/module.helper.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2DAA0C;AAC1C,qCAAqD;AACrD,yCAAmD;AACnD,yCAAsC;AAEtC,qDAAqF;
|
|
1
|
+
{"version":3,"file":"module.helper.js","sourceRoot":"","sources":["../../../src/helpers/module.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/version.helper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAS,eAAe,KAAG,
|
|
1
|
+
{"version":3,"file":"version.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/version.helper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAS,eAAe,KAAG,MAQjE,CAAC;AAGF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,eAAgB,eAAe,EAAE,WAkB9D,CAAC"}
|
|
@@ -13,12 +13,13 @@ const module_helper_1 = require("./module.helper");
|
|
|
13
13
|
* @returns the package version or undefined if not found
|
|
14
14
|
*/
|
|
15
15
|
const getPackageFormattedVersion = (pck) => {
|
|
16
|
+
const officialMark = pck.isOfficialModule ? `${chalk.blue(String.fromCharCode(0x00AE))} ` : '';
|
|
16
17
|
if ((0, module_helper_1.isInstalled)(pck)) {
|
|
17
18
|
const isOutdated = pck.version && pck.version !== pck.package.version;
|
|
18
|
-
return `${pck.name}: ${(isOutdated ? chalk.yellow : chalk.green).bold(pck.package.version)}${isOutdated ? chalk.grey.italic(` (${pck.version} available)`) : ''}`;
|
|
19
|
+
return `${pck.name}${officialMark}: ${(isOutdated ? chalk.yellow : chalk.green).bold(pck.package.version)}${isOutdated ? chalk.grey.italic(` (${pck.version} available)`) : ''}`;
|
|
19
20
|
}
|
|
20
21
|
else {
|
|
21
|
-
return `${pck.name}: ${chalk.grey.bold(pck.version)} ${chalk.grey.italic('(not installed)')}`;
|
|
22
|
+
return `${pck.name}${officialMark}: ${chalk.grey.bold(pck.version)} ${chalk.grey.italic('(not installed)')}`;
|
|
22
23
|
}
|
|
23
24
|
};
|
|
24
25
|
exports.getPackageFormattedVersion = getPackageFormattedVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.helper.js","sourceRoot":"","sources":["../../../src/helpers/version.helper.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,qCAA8B;AAC9B,qDAAmD;AACnD,mDAA8C;AAC9C,mDAA+D;AAE/D;;;;;GAKG;AACI,MAAM,0BAA0B,GAAG,CAAC,GAAoB,EAAU,EAAE;IACzE,IAAI,IAAA,2BAAW,EAAC,GAAG,CAAC,EAAE;QACpB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QACtE,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,OAAQ,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"version.helper.js","sourceRoot":"","sources":["../../../src/helpers/version.helper.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,qCAA8B;AAC9B,qDAAmD;AACnD,mDAA8C;AAC9C,mDAA+D;AAE/D;;;;;GAKG;AACI,MAAM,0BAA0B,GAAG,CAAC,GAAoB,EAAU,EAAE;IACzE,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,IAAI,IAAA,2BAAW,EAAC,GAAG,CAAC,EAAE;QACpB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QACtE,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,YAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,OAAQ,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KACnL;SAAM;QACL,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,YAAY,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;KAC9G;AACH,CAAC,CAAC;AARW,QAAA,0BAA0B,8BAQrC;AAGF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,CAAC,UAA6B,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAI,KAAK,KAAK,CAAC,IAAI,CAAC,sBAAO,CAAC,EAAE,CAAC;QAC7C,EAAE;KACH,CAAC;IACF,MAAM,OAAO,GAAG,UAAU;SACvB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,kCAA0B,EAAC,OAAO,CAAC,CAAC;SACrD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5C,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,KAAK,CAAC,IAAI,CACR,IAAA,2BAAW,EAAC,SAAS,CAAC,EACtB,GAAG,OAAO,EACV,EAAE,CACH,CAAC;KACH;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,aAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAlBW,QAAA,iBAAiB,qBAkB5B"}
|
|
@@ -90,7 +90,7 @@ const amaYargs = async (argv) => {
|
|
|
90
90
|
.command(mod.moduleName, (0, module_helper_1.getFormattedDescription)(mod), async (yargsInstance) => {
|
|
91
91
|
if (!(0, module_helper_1.isInstalled)(mod)) {
|
|
92
92
|
await base_context_1.baseContext.getSpinner(`Installing ${chalk.bold(mod.name)} module...`).fromPromise((0, module_helper_1.installDependency)(mod), `${mod.name} has been installed`, `Failed to install ${mod.name} module`);
|
|
93
|
-
const information = await (0, module_helper_1.getInstalledInformation)(mod);
|
|
93
|
+
const information = await (0, module_helper_1.getInstalledInformation)(mod, true);
|
|
94
94
|
Object.assign(mod, information);
|
|
95
95
|
if (!(0, module_helper_1.isInstalled)(mod)) {
|
|
96
96
|
throw new Error(`Something went wrong with the installation of ${mod.name}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-yargs.js","sourceRoot":"","sources":["../../../src/modules/base-yargs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-yargs.js","sourceRoot":"","sources":["../../../src/modules/base-yargs.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAC7D,+BAA+B;AAC/B,qCAAmD;AACnD,uCAAiC;AACjC,qCAA8B;AAC9B,yCAAoC;AACpC,iCAAsC;AAEtC,4CAAoG;AACpG,iDAAmE;AACnE,4DAA2I;AAEpI,MAAM,QAAQ,GAAG,KAAK,EAAE,IAA0B,EAAE,EAAE;IAE3D,yCAAyC;IACzC,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAa,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,kBAAW;SAC1B,UAAU,CAAC,iBAAiB,CAAC;SAC7B,KAAK,CAAC,IAAA,mCAAoB,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SACxD,aAAa,EAAE;SACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAA,qBAAa,GAAE,EAAE,GAAG,CAAC,CAAC;SACpC,OAAO,CAAC,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;SACnC,IAAI,CAAC,KAAK,CAAC;SACX,MAAM,CAAC,QAAQ,EAAE,mCAAmC,EAAE,CAAC,UAAU,EAAE,EAAE;QACpE,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,IAAA,oBAAU,EAAC,QAAQ,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;SACpD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;IACH,CAAC,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC;SAC1C,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;SAC5D,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE;YACrB,MAAM,0BAAW,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;SACD,cAAc,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACpF,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,MAAM,kBAAW,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,IAAI,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YACb,IAAI,YAAY,EAAE;gBAChB,IAAA,gBAAK,EAAC,GAAG,aAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,aAAG,EAAE,CAAC,CAAC;aAC7D;iBAAM;gBACL,IAAA,gBAAK,EAAC,aAAG,CAAC,CAAC;gBACX,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;QAED,IAAA,gBAAK,EAAC,IAAA,yBAAiB,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,8BAA8B,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa;SAChF,aAAa,EAAE;SACf,OAAO,CAAC,kBAAkB,EAAE,yBAAyB,EAAE,GAAG,EAAE,CAAC,aAAa;SACxE,UAAU,CAAC,SAAS,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+BAA+B;QAC5C,YAAY,EAAE,2BAA2B;KAC1C,CAAC;SACD,MAAM,CAAC,IAAI,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+CAA+C;KAC7D,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACtB,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,EAAE;YACnB,0BAAW,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;SACjE;aAAM;YACL,MAAM,0BAAW,CAAC,UAAU,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;iBAClF,WAAW,CAAC,IAAA,iCAAiB,EAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,qBAAqB,EAAE,qBAAqB,cAAc,CAAC,IAAI,SAAS,CAAC,CAAC;SAC/J;IACH,CAAC,CAAC,CACH,CAAC;IAEJ;;OAEG;IACH,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,GAAG,CAAC,CAAC;QAChD,OAAO,GAAG;aACP,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAA,uCAAuB,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAC7E,IAAI,CAAC,IAAA,2BAAW,EAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,0BAAW,CAAC,UAAU,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,qBAAqB,EAAE,qBAAqB,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;gBAC3L,MAAM,WAAW,GAAG,MAAM,IAAA,uCAAuB,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAA,2BAAW,EAAC,GAAG,CAAC,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC9E;aACF;YAEA,OAAO,CAAC,GAAG,CAAC,cAAc,CAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAA,mCAAoB,EAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,0BAAW,CAAC,CAAC;QAC3L,CAAC,CACA,CAAC;IACN,CAAC,EAAE,SAAS,CAAC,CAAC;AAClB,CAAC,CAAC;AA7FW,QAAA,QAAQ,YA6FnB"}
|