@xpack/xpm-lib 3.1.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -212
- package/dist/classes/actions.d.ts +58 -0
- package/dist/classes/actions.d.ts.map +1 -0
- package/dist/classes/actions.js +250 -0
- package/dist/classes/actions.js.map +1 -0
- package/dist/classes/build-configurations.d.ts +78 -0
- package/dist/classes/build-configurations.d.ts.map +1 -0
- package/dist/classes/build-configurations.js +489 -0
- package/dist/classes/build-configurations.js.map +1 -0
- package/dist/classes/combinations-generator.d.ts +19 -0
- package/dist/classes/combinations-generator.d.ts.map +1 -0
- package/dist/classes/combinations-generator.js +48 -0
- package/dist/classes/combinations-generator.js.map +1 -0
- package/dist/classes/data-model.d.ts +21 -0
- package/dist/classes/data-model.d.ts.map +1 -0
- package/dist/classes/data-model.js +47 -0
- package/dist/classes/data-model.js.map +1 -0
- package/dist/classes/errors.d.ts +13 -0
- package/dist/classes/errors.d.ts.map +1 -0
- package/dist/classes/errors.js +13 -0
- package/dist/classes/errors.js.map +1 -0
- package/dist/classes/init-template-base.d.ts +47 -0
- package/dist/classes/init-template-base.d.ts.map +1 -0
- package/dist/classes/init-template-base.js +358 -0
- package/dist/classes/init-template-base.js.map +1 -0
- package/dist/classes/liquid-drop.d.ts +28 -0
- package/dist/classes/liquid-drop.d.ts.map +1 -0
- package/dist/classes/liquid-drop.js +70 -0
- package/dist/classes/liquid-drop.js.map +1 -0
- package/dist/classes/liquid-engine.d.ts +7 -0
- package/dist/classes/liquid-engine.d.ts.map +1 -0
- package/dist/classes/liquid-engine.js +72 -0
- package/dist/classes/liquid-engine.js.map +1 -0
- package/dist/classes/package.d.ts +31 -0
- package/dist/classes/package.d.ts.map +1 -0
- package/dist/classes/package.js +268 -0
- package/dist/classes/package.js.map +1 -0
- package/dist/classes/platform-detector.d.ts +14 -0
- package/dist/classes/platform-detector.d.ts.map +1 -0
- package/dist/classes/platform-detector.js +26 -0
- package/dist/classes/platform-detector.js.map +1 -0
- package/dist/classes/policies.d.ts +14 -0
- package/dist/classes/policies.d.ts.map +1 -0
- package/dist/classes/policies.js +20 -0
- package/dist/classes/policies.js.map +1 -0
- package/dist/classes/template-expander.d.ts +29 -0
- package/dist/classes/template-expander.d.ts.map +1 -0
- package/dist/classes/template-expander.js +62 -0
- package/dist/classes/template-expander.js.map +1 -0
- package/dist/data/substitutions-variables.d.ts +43 -0
- package/dist/data/substitutions-variables.d.ts.map +1 -0
- package/dist/{lib → data}/substitutions-variables.js +1 -16
- package/dist/data/substitutions-variables.js.map +1 -0
- package/dist/functions/chmod-recursively.d.ts +9 -0
- package/dist/functions/chmod-recursively.d.ts.map +1 -0
- package/dist/functions/chmod-recursively.js +66 -0
- package/dist/functions/chmod-recursively.js.map +1 -0
- package/dist/functions/filter-paths.d.ts +5 -0
- package/dist/functions/filter-paths.d.ts.map +1 -0
- package/dist/functions/filter-paths.js +16 -0
- package/dist/functions/filter-paths.js.map +1 -0
- package/dist/functions/is-something.d.ts +9 -0
- package/dist/functions/is-something.d.ts.map +1 -0
- package/dist/functions/is-something.js +25 -0
- package/dist/functions/is-something.js.map +1 -0
- package/dist/functions/matrix-expander.d.ts +17 -0
- package/dist/functions/matrix-expander.d.ts.map +1 -0
- package/dist/functions/matrix-expander.js +52 -0
- package/dist/functions/matrix-expander.js.map +1 -0
- package/dist/functions/perform-substitutions.d.ts +12 -0
- package/dist/functions/perform-substitutions.d.ts.map +1 -0
- package/dist/functions/perform-substitutions.js +76 -0
- package/dist/functions/perform-substitutions.js.map +1 -0
- package/dist/functions/utils.d.ts +8 -0
- package/dist/functions/utils.d.ts.map +1 -0
- package/dist/functions/utils.js +16 -0
- package/dist/functions/utils.js.map +1 -0
- package/dist/index.d.ts +22 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -29
- package/dist/index.js.map +1 -1
- package/dist/{lib/types.d.ts → types/json.d.ts} +31 -22
- package/dist/types/json.d.ts.map +1 -0
- package/dist/types/json.js +2 -0
- package/dist/types/json.js.map +1 -0
- package/dist/types/xpm-init-template.d.ts +21 -0
- package/dist/types/xpm-init-template.d.ts.map +1 -0
- package/dist/types/xpm-init-template.js +2 -0
- package/dist/types/xpm-init-template.js.map +1 -0
- package/dist/types/xpm.d.ts +16 -0
- package/dist/types/xpm.d.ts.map +1 -0
- package/dist/types/xpm.js +2 -0
- package/dist/types/xpm.js.map +1 -0
- package/package.json +53 -44
- package/src/CODE-REVIEW.md +2167 -0
- package/src/README.md +393 -6
- package/src/classes/actions.ts +1157 -0
- package/src/classes/build-configurations.ts +2127 -0
- package/src/classes/combinations-generator.ts +331 -0
- package/src/classes/data-model.ts +337 -0
- package/src/classes/errors.ts +105 -0
- package/src/classes/init-template-base.ts +1028 -0
- package/src/classes/liquid-drop.ts +376 -0
- package/src/classes/liquid-engine.ts +249 -0
- package/src/classes/package.ts +765 -0
- package/src/classes/platform-detector.ts +237 -0
- package/src/classes/policies.ts +200 -0
- package/src/classes/template-expander.ts +330 -0
- package/src/data/substitutions-variables.ts +390 -0
- package/src/functions/chmod-recursively.ts +195 -0
- package/src/functions/filter-paths.ts +126 -0
- package/src/functions/is-something.ts +223 -0
- package/src/functions/matrix-expander.ts +172 -0
- package/src/functions/perform-substitutions.ts +253 -0
- package/src/functions/utils.ts +151 -0
- package/src/index.ts +72 -19
- package/src/types/json.ts +519 -0
- package/src/types/xpm-init-template.ts +282 -0
- package/src/types/xpm.ts +162 -0
- package/dist/lib/chmod-recursive.d.ts +0 -7
- package/dist/lib/chmod-recursive.d.ts.map +0 -1
- package/dist/lib/chmod-recursive.js +0 -81
- package/dist/lib/chmod-recursive.js.map +0 -1
- package/dist/lib/errors.d.ts +0 -11
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/errors.js +0 -26
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/functions/chmod-recursive.d.ts +0 -7
- package/dist/lib/functions/chmod-recursive.d.ts.map +0 -1
- package/dist/lib/functions/chmod-recursive.js +0 -81
- package/dist/lib/functions/chmod-recursive.js.map +0 -1
- package/dist/lib/functions/perform-substitutions.d.ts +0 -20
- package/dist/lib/functions/perform-substitutions.d.ts.map +0 -1
- package/dist/lib/functions/perform-substitutions.js +0 -85
- package/dist/lib/functions/perform-substitutions.js.map +0 -1
- package/dist/lib/functions/utils.d.ts +0 -30
- package/dist/lib/functions/utils.d.ts.map +0 -1
- package/dist/lib/functions/utils.js +0 -70
- package/dist/lib/functions/utils.js.map +0 -1
- package/dist/lib/init-template-base.d.ts +0 -46
- package/dist/lib/init-template-base.d.ts.map +0 -1
- package/dist/lib/init-template-base.js +0 -281
- package/dist/lib/init-template-base.js.map +0 -1
- package/dist/lib/liquid-actions.d.ts +0 -37
- package/dist/lib/liquid-actions.d.ts.map +0 -1
- package/dist/lib/liquid-actions.js +0 -148
- package/dist/lib/liquid-actions.js.map +0 -1
- package/dist/lib/liquid-build-configurations.d.ts +0 -47
- package/dist/lib/liquid-build-configurations.d.ts.map +0 -1
- package/dist/lib/liquid-build-configurations.js +0 -282
- package/dist/lib/liquid-build-configurations.js.map +0 -1
- package/dist/lib/liquid-drop.d.ts +0 -13
- package/dist/lib/liquid-drop.d.ts.map +0 -1
- package/dist/lib/liquid-drop.js +0 -56
- package/dist/lib/liquid-drop.js.map +0 -1
- package/dist/lib/liquid-engine.d.ts +0 -5
- package/dist/lib/liquid-engine.d.ts.map +0 -1
- package/dist/lib/liquid-engine.js +0 -85
- package/dist/lib/liquid-engine.js.map +0 -1
- package/dist/lib/liquid-package.d.ts +0 -17
- package/dist/lib/liquid-package.d.ts.map +0 -1
- package/dist/lib/liquid-package.js +0 -70
- package/dist/lib/liquid-package.js.map +0 -1
- package/dist/lib/package.d.ts +0 -66
- package/dist/lib/package.d.ts.map +0 -1
- package/dist/lib/package.js +0 -700
- package/dist/lib/package.js.map +0 -1
- package/dist/lib/perform-substitutions.d.ts +0 -20
- package/dist/lib/perform-substitutions.d.ts.map +0 -1
- package/dist/lib/perform-substitutions.js +0 -85
- package/dist/lib/perform-substitutions.js.map +0 -1
- package/dist/lib/policies.d.ts +0 -14
- package/dist/lib/policies.d.ts.map +0 -1
- package/dist/lib/policies.js +0 -33
- package/dist/lib/policies.js.map +0 -1
- package/dist/lib/substitutions-variables.d.ts +0 -117
- package/dist/lib/substitutions-variables.d.ts.map +0 -1
- package/dist/lib/substitutions-variables.js.map +0 -1
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -13
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -30
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -70
- package/dist/lib/utils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/lib/errors.ts +0 -29
- package/src/lib/functions/chmod-recursive.ts +0 -103
- package/src/lib/functions/perform-substitutions.ts +0 -116
- package/src/lib/functions/utils.ts +0 -88
- package/src/lib/init-template-base.ts +0 -408
- package/src/lib/liquid-actions.ts +0 -223
- package/src/lib/liquid-build-configurations.ts +0 -433
- package/src/lib/liquid-drop.ts +0 -99
- package/src/lib/liquid-engine.ts +0 -135
- package/src/lib/liquid-package.ts +0 -108
- package/src/lib/package.ts +0 -947
- package/src/lib/policies.ts +0 -51
- package/src/lib/substitutions-variables.ts +0 -177
- package/src/lib/types.ts +0 -109
- package/src/package.json +0 -3
- package/src/tsconfig.json +0 -10
package/README.md
CHANGED
|
@@ -1,223 +1,27 @@
|
|
|
1
|
-
[](https://github.com/xpack/xpm-lib-ts/blob/
|
|
2
|
-
[](https://github.com/xpack/xpm-lib-ts/blob/master/package.json)
|
|
2
|
+
[](https://github.com/xpack/xpm-lib-ts/releases)
|
|
3
|
+
[](https://www.npmjs.com/package/@xpack/xpm-lib/)
|
|
4
|
+
[](https://github.com/xpack/xpm-lib-ts/blob/master/LICENSE)
|
|
5
|
+
[](https://xpack.github.io/xpm-lib-ts/)
|
|
4
6
|
|
|
5
|
-
#
|
|
7
|
+
# The xpm Core Library
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
the xpm `package.json` file.
|
|
9
|
+
A TypeScript Node.js module with the common code for **xpm** and xpm
|
|
10
|
+
enabled projects.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
will be updated to import ES6 modules.
|
|
12
|
+
## Project documentation
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
[
|
|
14
|
+
For information on how to install and use this project, please refer to the
|
|
15
|
+
[project website](https://xpack.github.io/xpm-lib-ts/).
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Project source
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
[README-MAINTAINER](https://github.com/xpack/xpm-lib-ts/blob/master/README-MAINTAINER.md)
|
|
22
|
-
page.
|
|
23
|
-
|
|
24
|
-
## Prerequisites
|
|
25
|
-
|
|
26
|
-
A recent [Node.js](https://nodejs.org) (>=20.0.0), since the TypeScript code
|
|
27
|
-
is compiled into ECMAScript 2020 code, and the tests use ES6 modules.
|
|
28
|
-
|
|
29
|
-
## Install
|
|
30
|
-
|
|
31
|
-
The module is available as
|
|
32
|
-
[`@xpack/xpm-lib-ts`](https://www.npmjs.com/package/@xpack/xpm-lib-ts)
|
|
33
|
-
from the public [`npmjs`](https://www.npmjs.com) repository;
|
|
34
|
-
it can be added as a dependency to any TypeScript or JavaScript
|
|
35
|
-
project with `npm install`:
|
|
36
|
-
|
|
37
|
-
```console
|
|
38
|
-
npm install --save @xpack/xpm-libs@latest
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
The module does not provide any executables, and generally there are no
|
|
42
|
-
reasons to install it globally.
|
|
43
|
-
|
|
44
|
-
## User info
|
|
45
|
-
|
|
46
|
-
This section is intended for those who want to use this module in their
|
|
47
|
-
own projects.
|
|
48
|
-
|
|
49
|
-
The `@xpack/xpm-lib` module can be imported into both TypeScript
|
|
50
|
-
and JavaScript Node.js code.
|
|
51
|
-
|
|
52
|
-
In TypeScript and ECMAScript modules, use `import`:
|
|
53
|
-
|
|
54
|
-
```typescript
|
|
55
|
-
import { XpmLiquid } from '@xpack/xpm-lib'
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
In JavaScript with CommonJS, use `require()`:
|
|
59
|
-
|
|
60
|
-
```javascript
|
|
61
|
-
const { XpmLiquid } = require('@xpack/xpm-lib')
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
To use the `XpmLiquid` class, create an instance of the engine, provide the
|
|
65
|
-
`package.json` object, possibly the name of the configuration, and
|
|
66
|
-
call `performSubstitutions()`:
|
|
67
|
-
|
|
68
|
-
```js
|
|
69
|
-
const xpmLiquid = new XpmLiquid(log)
|
|
70
|
-
const xpmLiquidMap = xpmLiquid.prepareMap(packageJson, 'Debug')
|
|
71
|
-
|
|
72
|
-
const str = await xpmLiquid.performSubstitutions(
|
|
73
|
-
'{{ "build" | path_join: configuration.name | to_filename }}',
|
|
74
|
-
xpmLiquidMap)
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Available variables
|
|
78
|
-
|
|
79
|
-
The entire project `package.json` is available as the `package` variable:
|
|
80
|
-
|
|
81
|
-
- `package`
|
|
82
|
-
|
|
83
|
-
All user defined properties (project and configuration) are grouped
|
|
84
|
-
below the `properties` variable:
|
|
85
|
-
|
|
86
|
-
- `properties`
|
|
87
|
-
|
|
88
|
-
If the substitution refers to a certain build configuration, the configuration
|
|
89
|
-
name and the entire configuration content are available separately below
|
|
90
|
-
the `configuration` variable. Configuration properties are added to the
|
|
91
|
-
`properties` variables, possibly overriding project properties.
|
|
92
|
-
|
|
93
|
-
- `configuration.name`
|
|
94
|
-
- `configuration.*`
|
|
95
|
-
|
|
96
|
-
Variables based on the Node.js process
|
|
97
|
-
[environment](https://nodejs.org/dist/latest-v18.x/docs/api/process.html#process_process_env):
|
|
98
|
-
|
|
99
|
-
- `env`
|
|
100
|
-
|
|
101
|
-
Variables based on the Node.js
|
|
102
|
-
[os](https://nodejs.org/dist/latest-v16.x/docs/api/os.html) definitions:
|
|
103
|
-
|
|
104
|
-
- `os.EOL`
|
|
105
|
-
- `os.arch` (like 'arm', 'arm64', 'ia32', 'x64')
|
|
106
|
-
- `os.constants`
|
|
107
|
-
- `os.cpus`
|
|
108
|
-
- `os.endianness`
|
|
109
|
-
- `os.homedir`
|
|
110
|
-
- `os.hostname`
|
|
111
|
-
- `os.platform` (like 'darwin', 'linux', 'win32')
|
|
112
|
-
- `os.release`
|
|
113
|
-
- `os.tmpdir`
|
|
114
|
-
- `os.type`
|
|
115
|
-
- `os.version` (available since Node 12)
|
|
116
|
-
|
|
117
|
-
Variables based on the Node.js
|
|
118
|
-
[path](https://nodejs.org/dist/latest-v16.x/docs/api/path.html) definitions:
|
|
119
|
-
|
|
120
|
-
- `path.delimiter` (`;` for Windows, `:` for POSIX)
|
|
121
|
-
- `path.sep` (`\` on Windows, `/` on POSIX)
|
|
122
|
-
- `path.win32.delimiter` (`;`)
|
|
123
|
-
- `path.win32.sep` (`\`)
|
|
124
|
-
- `path.posix.delimiter` (`:`)
|
|
125
|
-
- `path.posix.sep` (`/`)
|
|
126
|
-
|
|
127
|
-
Examples:
|
|
128
|
-
|
|
129
|
-
- `"buildFolderRelativePath": "build{{ path.sep }}{{ configuration.name | to_filename }}"`
|
|
130
|
-
|
|
131
|
-
### Custom filters
|
|
132
|
-
|
|
133
|
-
Filters based on Node.js
|
|
134
|
-
[path](https://nodejs.org/dist/latest-v16.x/docs/api/path.html) functions:
|
|
135
|
-
|
|
136
|
-
- `path_basename`
|
|
137
|
-
- `path_dirname`
|
|
138
|
-
- `path_normalize`
|
|
139
|
-
- `path_join`
|
|
140
|
-
- `path_relative`
|
|
141
|
-
- `path_posix_basename`
|
|
142
|
-
- `path_posix_dirname`
|
|
143
|
-
- `path_posix_normalize`
|
|
144
|
-
- `path_posix_join`
|
|
145
|
-
- `path_posix_relative`
|
|
146
|
-
- `path_win32_basename`
|
|
147
|
-
- `path_win32_dirname`
|
|
148
|
-
- `path_win32_normalize`
|
|
149
|
-
- `path_win32_join`
|
|
150
|
-
- `path_win32_relative`
|
|
151
|
-
|
|
152
|
-
Filters based on Node.js
|
|
153
|
-
[utils](https://nodejs.org/dist/latest-v16.x/docs/api/util.html) functions:
|
|
154
|
-
|
|
155
|
-
- `util_format`
|
|
156
|
-
|
|
157
|
-
Custom filter to convert generic names to names accepted
|
|
158
|
-
as file names (letters, digits, dash):
|
|
159
|
-
|
|
160
|
-
- `to_filename`
|
|
161
|
-
- `to_posix_filename`
|
|
162
|
-
- `to_win32_filename`
|
|
163
|
-
|
|
164
|
-
Examples:
|
|
165
|
-
|
|
166
|
-
- `"buildFolderRelativePath": "{{ "build" | path_join: configuration.name | to_filename | downcase }"`
|
|
167
|
-
|
|
168
|
-
### Lenient if's
|
|
169
|
-
|
|
170
|
-
The undefined variables in tests do not trigger `undefined variable` messages
|
|
171
|
-
and allow to use defaults, like:
|
|
172
|
-
|
|
173
|
-
```
|
|
174
|
-
{{ env.OPTIMIZATION | default: '-O2' }}
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Reference
|
|
178
|
-
|
|
179
|
-
For more details on the available class definitions, including all methods,
|
|
180
|
-
accessors, properties, etc,
|
|
181
|
-
please see the TypeDoc
|
|
182
|
-
[reference pages](https://xpack.github.io/xpm-lib-ts/).
|
|
183
|
-
|
|
184
|
-
## Known problems
|
|
185
|
-
|
|
186
|
-
- none
|
|
187
|
-
|
|
188
|
-
## Status
|
|
189
|
-
|
|
190
|
-
The `@xpack/xpm-lib-ts` module is fully functional and stable.
|
|
191
|
-
|
|
192
|
-
The main clients for this module is the `xpm` CLI application and the
|
|
193
|
-
[VS Code xPack C/C++ Managed Build](https://github.com/xpack/vscode-xpack-extension-ts/)
|
|
194
|
-
extension.
|
|
195
|
-
|
|
196
|
-
## Tests
|
|
197
|
-
|
|
198
|
-
The module is tested
|
|
199
|
-
with 100% coverage and CI tested on every push via GitHub
|
|
200
|
-
[Actions](https://github.com/xpack/xpm-lib-ts/actions).
|
|
201
|
-
|
|
202
|
-
## Compatibility notices
|
|
203
|
-
|
|
204
|
-
According to [semver](https://semver.org) rules:
|
|
205
|
-
|
|
206
|
-
> Major version X (X.y.z | X > 0) MUST be incremented if any
|
|
207
|
-
backwards incompatible changes are introduced to the public API.
|
|
208
|
-
|
|
209
|
-
### v3.0.0
|
|
210
|
-
|
|
211
|
-
The API was greatly extended to use XpmPackage & XpmLiquid*.
|
|
212
|
-
The project was renamed xpm-lib and updated to ESM only.
|
|
213
|
-
|
|
214
|
-
### v2.0.0
|
|
215
|
-
|
|
216
|
-
The project was updated to dual ESM & CJS.
|
|
19
|
+
The source code of the current release is available on
|
|
20
|
+
[GitHub tag v4.0.0 tree](https://github.com/xpack/xpm-lib-ts/tree/v4.0.0).
|
|
217
21
|
|
|
218
22
|
## License
|
|
219
23
|
|
|
220
|
-
|
|
221
|
-
[MIT License](https://opensource.org/
|
|
24
|
+
Unless otherwise stated, the original content is released under the terms of the
|
|
25
|
+
[MIT License](https://opensource.org/licenses/mit),
|
|
222
26
|
with all rights reserved to
|
|
223
27
|
[Liviu Ionescu](https://github.com/ilg-ul).
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Logger } from '@xpack/logger';
|
|
2
|
+
import { LiquidSubstitutionsVariables, LiquidSubstitutionsStrings } from '../data/substitutions-variables.js';
|
|
3
|
+
import { JsonActionContent, JsonActions, JsonActionTemplate } from '../types/json.js';
|
|
4
|
+
import { BuildConfiguration } from './build-configurations.js';
|
|
5
|
+
import { LiquidEngine } from './liquid-engine.js';
|
|
6
|
+
export interface ActionsConstructorParameters {
|
|
7
|
+
engine: LiquidEngine;
|
|
8
|
+
substitutionsVariables: LiquidSubstitutionsVariables;
|
|
9
|
+
jsonActions: JsonActions | undefined;
|
|
10
|
+
inheritedActionsMap?: Map<string, Action>;
|
|
11
|
+
buildConfiguration?: BuildConfiguration;
|
|
12
|
+
log: Logger;
|
|
13
|
+
}
|
|
14
|
+
export declare class Actions {
|
|
15
|
+
readonly log: Logger;
|
|
16
|
+
readonly engine: LiquidEngine;
|
|
17
|
+
readonly substitutionsVariables: LiquidSubstitutionsVariables;
|
|
18
|
+
readonly jsonActions: JsonActions;
|
|
19
|
+
readonly buildConfiguration: BuildConfiguration | undefined;
|
|
20
|
+
protected readonly _actionsMap: Map<string, Action | undefined>;
|
|
21
|
+
protected readonly _namesSet: Set<string>;
|
|
22
|
+
protected readonly _jsonActionsNamesMap: Map<string, string>;
|
|
23
|
+
protected _isInitialised: boolean;
|
|
24
|
+
protected _names: string[];
|
|
25
|
+
constructor({ engine, substitutionsVariables, jsonActions, inheritedActionsMap, buildConfiguration, log, }: ActionsConstructorParameters);
|
|
26
|
+
initialise(): Promise<boolean>;
|
|
27
|
+
get size(): number;
|
|
28
|
+
get isEmpty(): boolean;
|
|
29
|
+
get names(): string[];
|
|
30
|
+
has(actionName: string): boolean;
|
|
31
|
+
get(actionName: string): Action;
|
|
32
|
+
protected _processTemplate({ actionName, jsonActionTemplate, }: {
|
|
33
|
+
actionName: string;
|
|
34
|
+
jsonActionTemplate: JsonActionTemplate;
|
|
35
|
+
}): Promise<void>;
|
|
36
|
+
protected _expandTemplateActions({ actionName, jsonActionTemplate, }: {
|
|
37
|
+
actionName: string;
|
|
38
|
+
jsonActionTemplate: JsonActionTemplate;
|
|
39
|
+
}): Promise<Map<string, Action>>;
|
|
40
|
+
}
|
|
41
|
+
export interface ActionConstructorParameters {
|
|
42
|
+
actionName: string;
|
|
43
|
+
jsonAction: JsonActionContent;
|
|
44
|
+
parentActions: Actions;
|
|
45
|
+
matrixParameters?: LiquidSubstitutionsStrings;
|
|
46
|
+
}
|
|
47
|
+
export declare class Action {
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly jsonAction: JsonActionContent;
|
|
50
|
+
readonly parentActions: Actions;
|
|
51
|
+
protected readonly _matrixParameters?: LiquidSubstitutionsStrings;
|
|
52
|
+
protected _commands?: string[];
|
|
53
|
+
protected _isInitialised: boolean;
|
|
54
|
+
constructor({ actionName, jsonAction, parentActions, matrixParameters, }: ActionConstructorParameters);
|
|
55
|
+
initialise(): Promise<boolean>;
|
|
56
|
+
get commands(): string[];
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/classes/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import * as os from 'node:os';
|
|
3
|
+
import { isJsonObject, isString, isJsonArray, } from '../functions/is-something.js';
|
|
4
|
+
import { performSubstitutions } from '../functions/perform-substitutions.js';
|
|
5
|
+
import { getErrorMessage, hasLiquidSyntax } from '../functions/utils.js';
|
|
6
|
+
import { ConfigurationError } from './errors.js';
|
|
7
|
+
import { TemplateExpander } from './template-expander.js';
|
|
8
|
+
export class Actions {
|
|
9
|
+
log;
|
|
10
|
+
engine;
|
|
11
|
+
substitutionsVariables;
|
|
12
|
+
jsonActions;
|
|
13
|
+
buildConfiguration;
|
|
14
|
+
_actionsMap = new Map();
|
|
15
|
+
_namesSet = new Set();
|
|
16
|
+
_jsonActionsNamesMap = new Map();
|
|
17
|
+
_isInitialised = false;
|
|
18
|
+
_names = [];
|
|
19
|
+
constructor({ engine, substitutionsVariables, jsonActions, inheritedActionsMap, buildConfiguration, log, }) {
|
|
20
|
+
assert(log, 'log is required');
|
|
21
|
+
assert(engine, 'engine is required');
|
|
22
|
+
assert(substitutionsVariables, 'substitutionsVariables is required');
|
|
23
|
+
if (buildConfiguration !== undefined) {
|
|
24
|
+
log.trace(`${Actions.name}()` + ` @${buildConfiguration.name}`);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
log.trace(`${Actions.name}()`);
|
|
28
|
+
}
|
|
29
|
+
this.log = log;
|
|
30
|
+
this.engine = engine;
|
|
31
|
+
this.substitutionsVariables = substitutionsVariables;
|
|
32
|
+
this.jsonActions = jsonActions ?? {};
|
|
33
|
+
if (buildConfiguration !== undefined) {
|
|
34
|
+
this.buildConfiguration = buildConfiguration;
|
|
35
|
+
}
|
|
36
|
+
if (inheritedActionsMap !== undefined) {
|
|
37
|
+
for (const [inheritedActionName, inheritedAction,] of inheritedActionsMap) {
|
|
38
|
+
const action = new Action({
|
|
39
|
+
actionName: inheritedActionName,
|
|
40
|
+
jsonAction: inheritedAction.jsonAction,
|
|
41
|
+
parentActions: this,
|
|
42
|
+
});
|
|
43
|
+
this._actionsMap.set(inheritedActionName, action);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async initialise() {
|
|
48
|
+
const log = this.log;
|
|
49
|
+
if (this._isInitialised) {
|
|
50
|
+
if (this.buildConfiguration !== undefined) {
|
|
51
|
+
log.trace(`${Actions.name}.initialise()` +
|
|
52
|
+
` @${this.buildConfiguration.name} again`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
log.trace(`${Actions.name}.initialise() again`);
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
if (this.buildConfiguration !== undefined) {
|
|
60
|
+
log.trace(`${Actions.name}.initialise()` + ` @${this.buildConfiguration.name}`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
log.trace(`${Actions.name}.initialise()`);
|
|
64
|
+
}
|
|
65
|
+
for (const [actionName, jsonAction] of Object.entries(this.jsonActions)) {
|
|
66
|
+
if (hasLiquidSyntax(actionName)) {
|
|
67
|
+
await this._processTemplate({
|
|
68
|
+
actionName,
|
|
69
|
+
jsonActionTemplate: jsonAction,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
if (this._namesSet.has(actionName)) {
|
|
74
|
+
throw new ConfigurationError(`action name "${actionName}" already defined`);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this._actionsMap.set(actionName, undefined);
|
|
78
|
+
this._jsonActionsNamesMap.set(actionName, actionName);
|
|
79
|
+
this._namesSet.add(actionName);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const names = Array.from(this._actionsMap.keys());
|
|
84
|
+
this._names = names;
|
|
85
|
+
this.log.trace(`${Actions.name}.initialise() =>`, names);
|
|
86
|
+
this._isInitialised = true;
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
get size() {
|
|
90
|
+
assert(this._isInitialised, 'Actions collection must be initialised before accessing size');
|
|
91
|
+
return this._actionsMap.size;
|
|
92
|
+
}
|
|
93
|
+
get isEmpty() {
|
|
94
|
+
assert(this._isInitialised, 'Actions collection must be initialised before accessing isEmpty');
|
|
95
|
+
return this._actionsMap.size === 0;
|
|
96
|
+
}
|
|
97
|
+
get names() {
|
|
98
|
+
assert(this._isInitialised, 'Actions collection must be initialised before accessing names');
|
|
99
|
+
return this._names;
|
|
100
|
+
}
|
|
101
|
+
has(actionName) {
|
|
102
|
+
assert(this._isInitialised, 'Actions collection must be initialised before accessing has()');
|
|
103
|
+
return this._actionsMap.has(actionName);
|
|
104
|
+
}
|
|
105
|
+
get(actionName) {
|
|
106
|
+
assert(this._isInitialised, 'Actions collection must be initialised before accessing get()');
|
|
107
|
+
const log = this.log;
|
|
108
|
+
log.trace(`${Actions.name}.get(${actionName})`);
|
|
109
|
+
let action = this._actionsMap.get(actionName);
|
|
110
|
+
if (action === undefined) {
|
|
111
|
+
const jsonActionName = this._jsonActionsNamesMap.get(actionName);
|
|
112
|
+
if (jsonActionName === undefined) {
|
|
113
|
+
throw new ConfigurationError(`action "${actionName}" does not exist`);
|
|
114
|
+
}
|
|
115
|
+
const jsonAction = (this.jsonActions[jsonActionName] ??
|
|
116
|
+
'');
|
|
117
|
+
action = new Action({
|
|
118
|
+
actionName,
|
|
119
|
+
jsonAction,
|
|
120
|
+
parentActions: this,
|
|
121
|
+
});
|
|
122
|
+
this._actionsMap.set(actionName, action);
|
|
123
|
+
}
|
|
124
|
+
return action;
|
|
125
|
+
}
|
|
126
|
+
async _processTemplate({ actionName, jsonActionTemplate, }) {
|
|
127
|
+
try {
|
|
128
|
+
const expandedActionsMap = await this._expandTemplateActions({
|
|
129
|
+
actionName,
|
|
130
|
+
jsonActionTemplate,
|
|
131
|
+
});
|
|
132
|
+
for (const [expandedActionName, expandedAction] of expandedActionsMap) {
|
|
133
|
+
if (this._namesSet.has(expandedActionName)) {
|
|
134
|
+
throw new ConfigurationError(`duplicate action name "${expandedActionName}" ` +
|
|
135
|
+
`could not be generated from template.`);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this._actionsMap.set(expandedActionName, expandedAction);
|
|
139
|
+
this._jsonActionsNamesMap.set(expandedActionName, actionName);
|
|
140
|
+
this._namesSet.add(expandedActionName);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
const message = getErrorMessage(error) + ` in action "${actionName}"`;
|
|
146
|
+
throw new ConfigurationError(message);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
async _expandTemplateActions({ actionName, jsonActionTemplate, }) {
|
|
150
|
+
const log = this.log;
|
|
151
|
+
log.trace(`${Actions.name}.#expandTemplateActions(${actionName})`);
|
|
152
|
+
if (jsonActionTemplate.matrix == undefined) {
|
|
153
|
+
throw new ConfigurationError(`action "${actionName}" has no matrix`);
|
|
154
|
+
}
|
|
155
|
+
if (!isJsonObject(jsonActionTemplate.matrix)) {
|
|
156
|
+
throw new ConfigurationError(`action "${actionName}" matrix is not an object`);
|
|
157
|
+
}
|
|
158
|
+
if (jsonActionTemplate.template == undefined) {
|
|
159
|
+
throw new ConfigurationError(`action "${actionName}" has no template`);
|
|
160
|
+
}
|
|
161
|
+
if (!isString(jsonActionTemplate.template) &&
|
|
162
|
+
!isJsonArray(jsonActionTemplate.template)) {
|
|
163
|
+
throw new ConfigurationError(`action "${actionName}" template is not a string or array`);
|
|
164
|
+
}
|
|
165
|
+
const expander = new TemplateExpander({
|
|
166
|
+
engine: this.engine,
|
|
167
|
+
substitutionsVariables: this.substitutionsVariables,
|
|
168
|
+
log: this.log,
|
|
169
|
+
});
|
|
170
|
+
return await expander.expandTemplate({
|
|
171
|
+
templateName: actionName,
|
|
172
|
+
matrix: jsonActionTemplate.matrix,
|
|
173
|
+
templateContent: jsonActionTemplate.template,
|
|
174
|
+
templateType: 'action',
|
|
175
|
+
instanceFactory: (expandedName, combination, templateContent) => new Action({
|
|
176
|
+
actionName: expandedName,
|
|
177
|
+
jsonAction: templateContent,
|
|
178
|
+
parentActions: this,
|
|
179
|
+
matrixParameters: { ...combination },
|
|
180
|
+
}),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
export class Action {
|
|
185
|
+
name;
|
|
186
|
+
jsonAction;
|
|
187
|
+
parentActions;
|
|
188
|
+
_matrixParameters;
|
|
189
|
+
_commands;
|
|
190
|
+
_isInitialised = false;
|
|
191
|
+
constructor({ actionName, jsonAction, parentActions, matrixParameters, }) {
|
|
192
|
+
assert(actionName, 'actionName is required');
|
|
193
|
+
assert(parentActions, 'parentActions is required');
|
|
194
|
+
const log = parentActions.log;
|
|
195
|
+
log.trace(`${Action.name}(${actionName})`);
|
|
196
|
+
this.name = actionName;
|
|
197
|
+
this.jsonAction = jsonAction;
|
|
198
|
+
this.parentActions = parentActions;
|
|
199
|
+
if (matrixParameters !== undefined) {
|
|
200
|
+
this._matrixParameters = matrixParameters;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
async initialise() {
|
|
204
|
+
const log = this.parentActions.log;
|
|
205
|
+
if (this._isInitialised) {
|
|
206
|
+
log.trace(`${Action.name}.initialise(${this.name}) again`);
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
log.trace(`${Action.name}.initialise(${this.name})`);
|
|
210
|
+
const jsonAction = this.jsonAction;
|
|
211
|
+
const inputCommands = Array.isArray(jsonAction)
|
|
212
|
+
? jsonAction.join(os.EOL)
|
|
213
|
+
: jsonAction;
|
|
214
|
+
let substitutedCommands;
|
|
215
|
+
if (hasLiquidSyntax(inputCommands)) {
|
|
216
|
+
try {
|
|
217
|
+
substitutedCommands = await performSubstitutions({
|
|
218
|
+
input: inputCommands,
|
|
219
|
+
engine: this.parentActions.engine,
|
|
220
|
+
substitutionsVariables: {
|
|
221
|
+
...this.parentActions.substitutionsVariables,
|
|
222
|
+
matrix: this._matrixParameters ?? {},
|
|
223
|
+
},
|
|
224
|
+
log,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
const message = getErrorMessage(error) +
|
|
229
|
+
` in action "${this.name}" commands substitution`;
|
|
230
|
+
throw new ConfigurationError(message);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
substitutedCommands = inputCommands;
|
|
235
|
+
}
|
|
236
|
+
this._commands = substitutedCommands
|
|
237
|
+
.replace(new RegExp(os.EOL + '$'), '')
|
|
238
|
+
.split(os.EOL);
|
|
239
|
+
log.trace(`${Action.name}.initialise() =>`, this.name);
|
|
240
|
+
log.trace(this.name, 'commands =>', this._commands);
|
|
241
|
+
this._isInitialised = true;
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
get commands() {
|
|
245
|
+
assert(this._isInitialised, 'Action must be initialised before accessing commands');
|
|
246
|
+
assert(this._commands, 'Action _commands not initialised');
|
|
247
|
+
return this._commands;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/classes/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Logger } from '@xpack/logger';
|
|
2
|
+
import { LiquidEngine } from './liquid-engine.js';
|
|
3
|
+
import { LiquidSubstitutionsVariables, LiquidSubstitutionsStrings } from '../data/substitutions-variables.js';
|
|
4
|
+
import { JsonBuildConfigurations, JsonBuildConfigurationTemplate, JsonBuildConfiguration, JsonBuildConfigurationContent, JsonDependencies } from '../types/json.js';
|
|
5
|
+
import { Actions, Action } from './actions.js';
|
|
6
|
+
export interface BuildConfigurationsConstructorParameters {
|
|
7
|
+
engine: LiquidEngine;
|
|
8
|
+
substitutionsVariables: LiquidSubstitutionsVariables;
|
|
9
|
+
jsonBuildConfigurations: JsonBuildConfigurations | undefined;
|
|
10
|
+
log: Logger;
|
|
11
|
+
}
|
|
12
|
+
export declare class BuildConfigurations {
|
|
13
|
+
readonly log: Logger;
|
|
14
|
+
readonly engine: LiquidEngine;
|
|
15
|
+
readonly substitutionsVariables: LiquidSubstitutionsVariables;
|
|
16
|
+
readonly jsonBuildConfigurations: JsonBuildConfigurations;
|
|
17
|
+
protected readonly _buildConfigurationsMap: Map<string, BuildConfiguration | undefined>;
|
|
18
|
+
protected readonly _jsonBuildConfigurationsNamesMap: Map<string, string>;
|
|
19
|
+
protected readonly _namesSet: Set<string>;
|
|
20
|
+
protected _isInitialised: boolean;
|
|
21
|
+
protected _names: string[];
|
|
22
|
+
constructor({ engine, substitutionsVariables, jsonBuildConfigurations, log, }: BuildConfigurationsConstructorParameters);
|
|
23
|
+
initialise(): Promise<boolean>;
|
|
24
|
+
get size(): number;
|
|
25
|
+
get isEmpty(): boolean;
|
|
26
|
+
get names(): string[];
|
|
27
|
+
getJsonName(buildConfigurationName: string): string;
|
|
28
|
+
hasJson(buildConfigurationName: string): boolean;
|
|
29
|
+
getJson(buildConfigurationName: string): JsonBuildConfiguration;
|
|
30
|
+
isHidden(buildConfigurationName: string): boolean;
|
|
31
|
+
has(buildConfigurationName: string): boolean;
|
|
32
|
+
get(buildConfigurationName: string): BuildConfiguration;
|
|
33
|
+
protected _processTemplate({ buildConfigurationName, jsonBuildConfigurationTemplate, }: {
|
|
34
|
+
buildConfigurationName: string;
|
|
35
|
+
jsonBuildConfigurationTemplate: JsonBuildConfigurationTemplate;
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
protected _expandTemplateBuildConfigurations({ buildConfigurationName, jsonBuildConfigurationTemplate, }: {
|
|
38
|
+
buildConfigurationName: string;
|
|
39
|
+
jsonBuildConfigurationTemplate: JsonBuildConfigurationTemplate;
|
|
40
|
+
}): Promise<Map<string, BuildConfiguration>>;
|
|
41
|
+
}
|
|
42
|
+
export interface BuildConfigurationConstructorParameters {
|
|
43
|
+
buildConfigurationName: string;
|
|
44
|
+
templateBuildConfigurationName?: string;
|
|
45
|
+
jsonBuildConfiguration: JsonBuildConfigurationContent;
|
|
46
|
+
parentBuildConfigurations: BuildConfigurations;
|
|
47
|
+
matrixParameters?: LiquidSubstitutionsStrings;
|
|
48
|
+
}
|
|
49
|
+
export declare class BuildConfiguration {
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly templateName?: string;
|
|
52
|
+
readonly parentBuildConfigurations: BuildConfigurations;
|
|
53
|
+
inheritsNames: string[];
|
|
54
|
+
readonly isHidden: boolean;
|
|
55
|
+
properties: LiquidSubstitutionsStrings;
|
|
56
|
+
dependencies: JsonDependencies;
|
|
57
|
+
devDependencies: JsonDependencies;
|
|
58
|
+
jsonBuildConfiguration: JsonBuildConfigurationContent;
|
|
59
|
+
isTemplate: boolean;
|
|
60
|
+
protected readonly _log: Logger;
|
|
61
|
+
protected _substitutionsVariables: LiquidSubstitutionsVariables;
|
|
62
|
+
protected readonly matrixParameters?: LiquidSubstitutionsStrings;
|
|
63
|
+
protected _actions: Actions | undefined;
|
|
64
|
+
protected _buildFolderRelativePath?: string;
|
|
65
|
+
protected _inheritedNamesSet: Set<string>;
|
|
66
|
+
protected _isInitialised: boolean;
|
|
67
|
+
constructor({ buildConfigurationName, templateBuildConfigurationName, jsonBuildConfiguration, parentBuildConfigurations, matrixParameters, }: BuildConfigurationConstructorParameters);
|
|
68
|
+
initialise(): Promise<boolean>;
|
|
69
|
+
get actions(): Actions;
|
|
70
|
+
get buildFolderRelativePath(): string;
|
|
71
|
+
protected _substituteTemplate(): Promise<JsonBuildConfigurationContent>;
|
|
72
|
+
protected _substituteInherits(): Promise<JsonBuildConfigurationContent>;
|
|
73
|
+
private _parseInheritsField;
|
|
74
|
+
private _processInheritedConfiguration;
|
|
75
|
+
protected _processInherits(localJsonBuildConfiguration: JsonBuildConfigurationContent): Promise<Map<string, Action>>;
|
|
76
|
+
protected _getBuildFolderRelativePath(): Promise<string>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=build-configurations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-configurations.d.ts","sourceRoot":"","sources":["../../src/classes/build-configurations.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAItC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,oCAAoC,CAAA;AAK3C,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAEjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAqB9C,MAAM,WAAW,wCAAwC;IAIvD,MAAM,EAAE,YAAY,CAAA;IAKpB,sBAAsB,EAAE,4BAA4B,CAAA;IAMpD,uBAAuB,EAAE,uBAAuB,GAAG,SAAS,CAAA;IAK5D,GAAG,EAAE,MAAM,CAAA;CACZ;AA2BD,qBAAa,mBAAmB;IAc9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAapB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IA0B7B,QAAQ,CAAC,sBAAsB,EAAE,4BAA4B,CAAA;IAuB7D,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAA;IA4BzD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAC7C,MAAM,EACN,kBAAkB,GAAG,SAAS,CAC/B,CAAoD;IA6BrD,SAAS,CAAC,QAAQ,CAAC,gCAAgC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAC7C;IAyB3B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAoB;IAyB7D,SAAS,CAAC,cAAc,UAAQ;IA2BhC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAK;gBAmBnB,EACV,MAAM,EACN,sBAAsB,EACtB,uBAAuB,EACvB,GAAG,GACJ,EAAE,wCAAwC;IAyDrC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA6DpC,IAAI,IAAI,IAAI,MAAM,CAQjB;IAUD,IAAI,OAAO,IAAI,OAAO,CAQrB;IAaD,IAAI,KAAK,IAAI,MAAM,EAAE,CAQpB;IAgBD,WAAW,CAAC,sBAAsB,EAAE,MAAM,GAAG,MAAM;IAyBnD,OAAO,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO;IAgBhD,OAAO,CAAC,sBAAsB,EAAE,MAAM,GAAG,sBAAsB;IAkB/D,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO;IA6BjD,GAAG,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO;IA6D5C,GAAG,CAAC,sBAAsB,EAAE,MAAM,GAAG,kBAAkB;cAsFvC,gBAAgB,CAAC,EAC/B,sBAAsB,EACtB,8BAA8B,GAC/B,EAAE;QACD,sBAAsB,EAAE,MAAM,CAAA;QAC9B,8BAA8B,EAAE,8BAA8B,CAAA;KAC/D,GAAG,OAAO,CAAC,IAAI,CAAC;cAuED,kCAAkC,CAAC,EACjD,sBAAsB,EACtB,8BAA8B,GAC/B,EAAE;QACD,sBAAsB,EAAE,MAAM,CAAA;QAC9B,8BAA8B,EAAE,8BAA8B,CAAA;KAC/D,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAmD7C;AAmBD,MAAM,WAAW,uCAAuC;IAItD,sBAAsB,EAAE,MAAM,CAAA;IAK9B,8BAA8B,CAAC,EAAE,MAAM,CAAA;IAKvC,sBAAsB,EAAE,6BAA6B,CAAA;IAKrD,yBAAyB,EAAE,mBAAmB,CAAA;IAK9C,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;CAC9C;AAuBD,qBAAa,kBAAkB;IA2B7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAuBrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAyB9B,QAAQ,CAAC,yBAAyB,EAAE,mBAAmB,CAAA;IA0BvD,aAAa,EAAE,MAAM,EAAE,CAAK;IA2B5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IA2B1B,UAAU,EAAE,0BAA0B,CAAK;IA0B3C,YAAY,EAAE,gBAAgB,CAAK;IA0BnC,eAAe,EAAE,gBAAgB,CAAK;IAyBtC,sBAAsB,EAAE,6BAA6B,CAAA;IAiCrD,UAAU,EAAE,OAAO,CAAA;IAoBnB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IA6B/B,SAAS,CAAC,uBAAuB,EAAE,4BAA4B,CAAA;IA2B/D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IA0BhE,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IA4BvC,SAAS,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAwB3C,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAoB;IA0B7D,SAAS,CAAC,cAAc,UAAQ;gBAoBpB,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,GACjB,EAAE,uCAAuC;IA8EpC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA6IpC,IAAI,OAAO,IAAI,OAAO,CAQrB;IAOD,IAAI,uBAAuB,IAAI,MAAM,CAWpC;cA0Ce,mBAAmB,IAAI,OAAO,CAAC,6BAA6B,CAAC;cAyF7D,mBAAmB,IAAI,OAAO,CAAC,6BAA6B,CAAC;IAkE7E,OAAO,CAAC,mBAAmB;YAkDb,8BAA8B;cAuH5B,gBAAgB,CAC9B,2BAA2B,EAAE,6BAA6B,GACzD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cA6Cf,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC;CAiC/D"}
|