@ronas-it/nx-generators 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +90 -18
  2. package/generators.json +20 -0
  3. package/package.json +1 -1
  4. package/src/generators/code-checks/files/.eslint.ronasit.json.template +186 -0
  5. package/src/generators/code-checks/files/.eslintrc.json.template +1 -1
  6. package/src/generators/expo-app/app-files/README.md.template +24 -9
  7. package/src/generators/expo-app/app-files/eas.json.template +25 -14
  8. package/src/generators/expo-app/generator.js +10 -7
  9. package/src/generators/expo-app/generator.js.map +1 -1
  10. package/src/generators/expo-app/scripts.d.ts +3 -2
  11. package/src/generators/expo-app/scripts.js +3 -2
  12. package/src/generators/expo-app/scripts.js.map +1 -1
  13. package/src/generators/form/generator.js +1 -1
  14. package/src/generators/form/generator.js.map +1 -1
  15. package/src/generators/form/utils/get-app-name.d.ts +1 -0
  16. package/src/generators/form/utils/get-app-name.js +8 -0
  17. package/src/generators/form/utils/get-app-name.js.map +1 -0
  18. package/src/generators/form/utils/get-form-utils-directory.d.ts +2 -1
  19. package/src/generators/form/utils/get-form-utils-directory.js +15 -5
  20. package/src/generators/form/utils/get-form-utils-directory.js.map +1 -1
  21. package/src/generators/form/utils/index.d.ts +1 -0
  22. package/src/generators/form/utils/index.js +1 -0
  23. package/src/generators/form/utils/index.js.map +1 -1
  24. package/src/generators/lib-move/generator.d.ts +4 -0
  25. package/src/generators/lib-move/generator.js +34 -0
  26. package/src/generators/lib-move/generator.js.map +1 -0
  27. package/src/generators/lib-move/schema.d.ts +7 -0
  28. package/src/generators/lib-move/schema.json +34 -0
  29. package/src/generators/lib-remove/generator.d.ts +4 -0
  30. package/src/generators/lib-remove/generator.js +22 -0
  31. package/src/generators/lib-remove/generator.js.map +1 -0
  32. package/src/generators/lib-remove/schema.d.ts +3 -0
  33. package/src/generators/lib-remove/schema.json +14 -0
  34. package/src/generators/lib-rename/generator.d.ts +4 -0
  35. package/src/generators/lib-rename/generator.js +24 -0
  36. package/src/generators/lib-rename/generator.js.map +1 -0
  37. package/src/generators/lib-rename/schema.d.ts +4 -0
  38. package/src/generators/lib-rename/schema.json +19 -0
  39. package/src/generators/lib-tags/generator.js +7 -4
  40. package/src/generators/lib-tags/generator.js.map +1 -1
  41. package/src/generators/lib-tags/interfaces/context.d.ts +2 -0
  42. package/src/generators/lib-tags/schema.d.ts +1 -0
  43. package/src/generators/lib-tags/schema.json +5 -0
  44. package/src/generators/lib-tags/utils/check-lib-tags.js +18 -0
  45. package/src/generators/lib-tags/utils/check-lib-tags.js.map +1 -1
  46. package/src/generators/next-app/generator.js +1 -1
  47. package/src/generators/next-app/generator.js.map +1 -1
  48. package/src/generators/react-component/files/component.tsx.template +13 -3
  49. package/src/generators/react-component/generator.js +2 -1
  50. package/src/generators/react-component/generator.js.map +1 -1
  51. package/src/generators/react-component/schema.d.ts +1 -0
  52. package/src/generators/react-component/schema.json +5 -0
  53. package/src/generators/react-lib/files/lib/component.tsx.template +13 -3
  54. package/src/generators/react-lib/generator.js +12 -24
  55. package/src/generators/react-lib/generator.js.map +1 -1
  56. package/src/generators/react-lib/schema.d.ts +1 -0
  57. package/src/generators/react-lib/schema.json +4 -0
  58. package/src/generators/repo-config/files/README.md.template +3 -10
  59. package/src/shared/dependencies.d.ts +1 -0
  60. package/src/shared/dependencies.js +1 -0
  61. package/src/shared/dependencies.js.map +1 -1
  62. package/src/shared/generators/auth/generator.d.ts +2 -4
  63. package/src/shared/generators/auth/generator.js +3 -0
  64. package/src/shared/generators/auth/generator.js.map +1 -1
  65. package/src/shared/generators/auth/schema.d.ts +4 -0
  66. package/src/shared/generators/auth/schema.json +27 -0
  67. package/src/shared/generators/form-utils/generator.d.ts +0 -1
  68. package/src/shared/generators/form-utils/generator.js.map +1 -1
  69. package/src/shared/generators/ui-kitten/generator.d.ts +1 -2
  70. package/src/shared/generators/ui-kitten/generator.js +1 -9
  71. package/src/shared/generators/ui-kitten/generator.js.map +1 -1
  72. package/src/shared/generators/ui-kitten/schema.d.ts +0 -1
  73. package/src/shared/generators/ui-kitten/schema.json +1 -7
  74. package/src/shared/utils/cli-utils.d.ts +14 -1
  75. package/src/shared/utils/cli-utils.js +56 -1
  76. package/src/shared/utils/cli-utils.js.map +1 -1
  77. package/src/shared/utils/config-utils.d.ts +1 -1
  78. package/src/shared/utils/config-utils.js +13 -10
  79. package/src/shared/utils/config-utils.js.map +1 -1
  80. package/src/shared/utils/get-lib-directory-name.d.ts +1 -0
  81. package/src/shared/utils/get-lib-directory-name.js +15 -0
  82. package/src/shared/utils/get-lib-directory-name.js.map +1 -0
  83. package/src/shared/utils/index.d.ts +1 -0
  84. package/src/shared/utils/index.js +1 -0
  85. package/src/shared/utils/index.js.map +1 -1
  86. package/src/generators/code-checks/files/.eslint.ronasit.js.template +0 -186
package/README.md CHANGED
@@ -58,6 +58,8 @@ npx nx g react-component
58
58
 
59
59
  ## Generators overview
60
60
 
61
+ ### Repository
62
+
61
63
  ### 1. `repo-config`
62
64
 
63
65
  Setups the monorepo structure for development.
@@ -66,6 +68,8 @@ Setups the monorepo structure for development.
66
68
 
67
69
  Configures code checks and formatting with pre-commit hook.
68
70
 
71
+ ### Apps
72
+
69
73
  ### 3. `expo-app`
70
74
 
71
75
  Generates and configures an Expo React Native app.
@@ -106,6 +110,8 @@ or
106
110
  npx nx g next-app my-app web
107
111
  ```
108
112
 
113
+ ### Libraries
114
+
109
115
  ### 5. `react-lib`
110
116
 
111
117
  Generates a library according to [NX notation](https://nx.dev/concepts/more-concepts/applications-and-libraries).
@@ -125,55 +131,116 @@ Generates a library according to [NX notation](https://nx.dev/concepts/more-conc
125
131
  1. `withComponent` (optional) - generate the library with `lib/component.tsx` file.
126
132
  This option is for `features` or `ui` library.
127
133
 
134
+ 1. `withComponentForwardRef` (optional) - generate a component with `forwardRef` in `lib/component.tsx` file.
135
+ This option works if `withComponent` is `true`.
136
+
128
137
  1. `dryRun` (optional) - generate the library without creating files
129
138
 
130
139
  #### Example
131
140
 
132
141
  ```sh
133
- npx nx g react-lib --app=mobile --scope=account --type=features --name=profile-settings --withComponent --dryRun
142
+ npx nx g react-lib --app=mobile --scope=account --type=features --name=profile-settings --withComponent --withComponentForwardRef --dryRun
134
143
  ```
135
144
  or
136
145
  ```sh
137
146
  npx nx g react-lib --dryRun
138
147
  ```
139
148
 
140
- ### 6. `react-component`
149
+ ### 6. `lib-rename`
141
150
 
142
- Creates a React component in particular library.
151
+ Renames an existing library and updates imports
143
152
 
144
153
  #### Options
145
154
 
146
- 1. `name` (optional) - name of the component (e.g. AppButton)
155
+ 1. `currentLibName` (optional) - name of the library (e.g.: `mobile-account-features-profile-settings`)
147
156
 
148
- 2. `subcomponent` (optional) - generate a folder for components
157
+ 2. `newLibName` (optional) - new name of the library (e.g.: `user-settings`, project name will be `mobile-account-features-user-settings`)
149
158
 
150
159
  #### Example
151
160
 
152
161
  ```sh
153
- npx nx g react-component --name=AppButton --subcomponent
162
+ npx nx g lib-rename --currentLibName="mobile-account-features-profile-settings" --newLibName="user-settings"
154
163
  ```
155
- or
164
+
165
+ ### 7. `lib-move`
166
+
167
+ Moves the library to a new destination. This utility also calls `lib-tags` generator.
168
+
169
+ #### Options
170
+
171
+ 1. `srcLibName` (optional) - name of the library (e.g.: `mobile-account-features-profile-settings`)
172
+
173
+ 2. `app` (optional) - name of an app or `shared`.
174
+
175
+ 3. `scope` (optional) - name of a scope or `shared`.
176
+ This option is for a library, related to an app.
177
+
178
+ 4. `type` (optional) - type of library.
179
+ Possible values are `features`, `data-access`, `ui` and `utils`.
180
+
181
+ 5. `name` (optional) - name of a library.
182
+
183
+ #### Example
184
+
156
185
  ```sh
157
- npx nx g react-component AppButton --subcomponent
186
+ npx nx g lib-move --srcLibName="mobile-account-features-profile-settings" --app=mobile --scope=settings --type=features --name="user-settings"
158
187
  ```
159
188
 
160
- ### 7. `entity-api`
189
+ ### 8. `lib-remove`
161
190
 
162
- Creates an API with related entities in API library. It also updates redux store middlewares, reducers.
191
+ Removes the library. Before deleting a library you must remove all references to it.
163
192
 
164
193
  #### Options
165
194
 
166
- 1. `name` (optional) - name of the entity (e.g. User)
195
+ 1. `libName` (optional) - name of the library (e.g.: `mobile-account-features-profile-settings`)
167
196
 
168
- 2. `baseEndpoint` (optional) - name of used endpoint in your API (e.g. /users)
197
+ #### Example
198
+
199
+ ```sh
200
+ npx nx g lib-remove --libName="mobile-account-features-profile-settings"
201
+ ```
202
+
203
+ ### 9. `lib-tags`
204
+
205
+ Checks and configures [NX library tags](https://nx.dev/features/enforce-module-boundaries). If your project does not already use library tags, you can add them using this generator.
206
+
207
+ #### Options
208
+
209
+ 1. `silent` (optional) - disables all logs
210
+
211
+ 2. `skipRepoCheck` (optional) - disables check repository status
169
212
 
170
213
  #### Example
171
214
 
172
215
  ```sh
173
- npx nx g entity-api --name=User --baseEndpoint=users
216
+ npx nx g lib-tags
174
217
  ```
175
218
 
176
- ### 8. `form`
219
+ ### Components
220
+
221
+ ### 10. `react-component`
222
+
223
+ Creates a React component in particular library.
224
+
225
+ #### Options
226
+
227
+ 1. `name` (optional) - name of the component (e.g. AppButton)
228
+
229
+ 2. `subcomponent` (optional) - generate a folder for components
230
+
231
+ 3. `withForwardRef` (optional) - generate a component with forwardRef
232
+
233
+ #### Example
234
+
235
+ ```sh
236
+ npx nx g react-component --name=AppButton --subcomponent --withForwardRef
237
+ ```
238
+ or
239
+ ```sh
240
+ npx nx g react-component AppButton --subcomponent --withForwardRef
241
+ ```
242
+
243
+ ### 11. `form`
177
244
 
178
245
  Generates a form schema class and adds its usage to a component or a hook.
179
246
 
@@ -194,18 +261,22 @@ or
194
261
  npx nx g form profile-settings ProfileSettings
195
262
  ```
196
263
 
197
- ### 9. `lib-tags`
264
+ ### Services
198
265
 
199
- Checks and configures [NX library tags](https://nx.dev/features/enforce-module-boundaries). If your project does not already use library tags, you can add them using this generator.
266
+ ### 12. `entity-api`
267
+
268
+ Creates an API with related entities in API library. It also updates redux store middlewares, reducers.
200
269
 
201
270
  #### Options
202
271
 
203
- 1. `silent` (optional) - disables all logs
272
+ 1. `name` (optional) - name of the entity (e.g. User)
273
+
274
+ 2. `baseEndpoint` (optional) - name of used endpoint in your API (e.g. /users)
204
275
 
205
276
  #### Example
206
277
 
207
278
  ```sh
208
- npx nx g lib-tags
279
+ npx nx g entity-api --name=User --baseEndpoint=users
209
280
  ```
210
281
 
211
282
  ### Note
@@ -215,3 +286,4 @@ Each generator accepts the `--help` argument to see generator instructions.
215
286
  ```sh
216
287
  npx nx g react-lib --help
217
288
  ```
289
+
package/generators.json CHANGED
@@ -54,6 +54,26 @@
54
54
  "factory": "./src/generators/lib-tags/generator",
55
55
  "schema": "./src/generators/lib-tags/schema.json",
56
56
  "description": "lib-tags generator"
57
+ },
58
+ "lib-rename": {
59
+ "factory": "./src/generators/lib-rename/generator",
60
+ "schema": "./src/generators/lib-rename/schema.json",
61
+ "description": "library rename utility"
62
+ },
63
+ "lib-move": {
64
+ "factory": "./src/generators/lib-move/generator",
65
+ "schema": "./src/generators/lib-move/schema.json",
66
+ "description": "library move utility"
67
+ },
68
+ "lib-remove": {
69
+ "factory": "./src/generators/lib-remove/generator",
70
+ "schema": "./src/generators/lib-remove/schema.json",
71
+ "description": "library remove utility"
72
+ },
73
+ "auth": {
74
+ "factory": "./src/shared/generators/auth/generator",
75
+ "schema": "./src/shared/generators/auth/schema.json",
76
+ "description": "authentication library for Expo projects"
57
77
  }
58
78
  }
59
79
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ronas-it/nx-generators",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "NX generators for Ronas IT projects",
5
5
  "license": "MIT",
6
6
  "author": "Ronas IT",
@@ -0,0 +1,186 @@
1
+ {
2
+ "root": true,
3
+ "env": {
4
+ "node": true
5
+ },
6
+ "parser": "@typescript-eslint/parser",
7
+ "parserOptions": {
8
+ "ecmaVersion": 6,
9
+ "project": "tsconfig.(base|lib).json",
10
+ "ecmaFeatures": {
11
+ "jsx": true
12
+ }
13
+ },
14
+ "settings": {
15
+ "react": {
16
+ "version": "detect"
17
+ },
18
+ "react-native/style-sheet-object-names": ["EStyleSheet"],
19
+ "import/parsers": {
20
+ "@typescript-eslint/parser": [".ts", ".tsx"]
21
+ },
22
+ "import/resolver": {
23
+ "typescript": {
24
+ "alwaysTryTypes": true
25
+ },
26
+ "node": {
27
+ "extensions": [".js", ".jsx", ".ts", ".tsx"]
28
+ }
29
+ }
30
+ },
31
+ "plugins": ["@typescript-eslint", "unused-imports", "react", "react-hooks", "react-native", "import"],
32
+ "extends": [
33
+ "eslint:recommended",
34
+ "plugin:@typescript-eslint/eslint-recommended",
35
+ "plugin:@typescript-eslint/recommended",
36
+ "plugin:react/recommended",
37
+ "prettier"
38
+ ],
39
+ "rules": {
40
+ "indent": ["warn", 2, { "SwitchCase": 1 }],
41
+ "quotes": ["warn", "single", { "allowTemplateLiterals": true }],
42
+ "react/react-in-jsx-scope": "off",
43
+ "arrow-parens": ["warn", "always"],
44
+ "comma-dangle": ["warn", "never"],
45
+ "no-var": "warn",
46
+ "no-dupe-class-members": "off",
47
+ "import/prefer-default-export": "off",
48
+ "implicit-arrow-linebreak": ["warn", "beside"],
49
+ "newline-per-chained-call": ["warn", { "ignoreChainWithDepth": 2 }],
50
+ "function-call-argument-newline": ["warn", "consistent"],
51
+ "function-paren-newline": ["warn", "consistent"],
52
+ "array-element-newline": ["warn", "consistent"],
53
+ "array-bracket-newline": ["warn", { "multiline": true }],
54
+ "padding-line-between-statements": [
55
+ "warn",
56
+ { "blankLine": "always", "prev": "*", "next": "return" },
57
+ { "blankLine": "always", "prev": "*", "next": "multiline-block-like" }
58
+ ],
59
+ "@typescript-eslint/no-use-before-define": ["warn", { "variables": false }],
60
+ "@typescript-eslint/lines-between-class-members": ["warn", "always", { "exceptAfterSingleLine": true }],
61
+ "@typescript-eslint/no-inferrable-types": ["warn", { "ignoreParameters": true }],
62
+ "@typescript-eslint/explicit-module-boundary-types": ["warn", { "allowArgumentsExplicitlyTypedAsAny": true }],
63
+ "@typescript-eslint/no-explicit-any": "off",
64
+ "@typescript-eslint/explicit-member-accessibility": [
65
+ "warn",
66
+ { "accessibility": "explicit", "overrides": { "constructors": "no-public" } }
67
+ ],
68
+ "@typescript-eslint/explicit-function-return-type": ["warn", { "allowExpressions": true }],
69
+ "@typescript-eslint/no-var-requires": "off",
70
+ "@typescript-eslint/no-unused-vars": "off",
71
+ "@typescript-eslint/array-type": ["warn", { "default": "generic", "readonly": "generic" }],
72
+ "@typescript-eslint/member-ordering": [
73
+ "warn",
74
+ {
75
+ "default": [
76
+ "public-static-field",
77
+ "protected-static-field",
78
+ "private-static-field",
79
+ "public-instance-field",
80
+ "protected-instance-field",
81
+ "private-instance-field",
82
+ "public-static-accessor",
83
+ "protected-static-accessor",
84
+ "private-static-accessor",
85
+ "public-instance-accessor",
86
+ "protected-instance-accessor",
87
+ "private-instance-accessor",
88
+ "public-constructor",
89
+ "protected-constructor",
90
+ "private-constructor",
91
+ "public-static-method",
92
+ "public-instance-method",
93
+ "protected-static-method",
94
+ "protected-instance-method",
95
+ "private-static-method",
96
+ "private-instance-method"
97
+ ]
98
+ }
99
+ ],
100
+ "@typescript-eslint/naming-convention": [
101
+ "warn",
102
+ {
103
+ "selector": "typeLike",
104
+ "format": ["PascalCase"]
105
+ },
106
+ {
107
+ "selector": ["parameter"],
108
+ "format": ["camelCase", "PascalCase"],
109
+ "leadingUnderscore": "allow"
110
+ },
111
+ {
112
+ "selector": ["classProperty"],
113
+ "format": ["camelCase", "snake_case"],
114
+ "leadingUnderscore": "allow"
115
+ },
116
+ {
117
+ "selector": ["method", "accessor"],
118
+ "format": ["camelCase"]
119
+ },
120
+ {
121
+ "selector": ["function", "typeProperty"],
122
+ "format": ["camelCase", "PascalCase"]
123
+ },
124
+ {
125
+ "selector": "variable",
126
+ "format": ["camelCase", "PascalCase", "UPPER_CASE"]
127
+ },
128
+ {
129
+ "selector": "enumMember",
130
+ "format": ["UPPER_CASE"]
131
+ }
132
+ ],
133
+ "unused-imports/no-unused-imports-ts": "warn",
134
+ "unused-imports/no-unused-vars-ts": [
135
+ "warn",
136
+ { "vars": "all", "varsIgnorePattern": "^_", "argsIgnorePattern": "^_", "ignoreRestSiblings": true }
137
+ ],
138
+ "jsx-quotes": ["warn", "prefer-single"],
139
+ "react/jsx-boolean-value": "off",
140
+ "react/self-closing-comp": ["warn", { "component": true, "html": true }],
141
+ "react/jsx-max-props-per-line": [1, { "maximum": { "single": 2, "multi": 1 } }],
142
+ "react/jsx-first-prop-new-line": ["warn", "multiline"],
143
+ "react/prop-types": "off",
144
+ "react-native/no-unused-styles": "warn",
145
+ "react-native/no-inline-styles": "warn",
146
+ "react-native/no-single-element-style-arrays": "warn",
147
+ "react/jsx-fragments": ["warn", "element"],
148
+ "import/newline-after-import": "warn",
149
+ "import/no-unresolved": "error",
150
+ "import/no-cycle": "error",
151
+ "import/order": [
152
+ "warn",
153
+ {
154
+ "groups": ["builtin", "external", "internal", "parent", "sibling", "index", "object", "type"],
155
+ "alphabetize": { "order": "asc" }
156
+ }
157
+ ],
158
+ "import/no-duplicates": "warn",
159
+ "react-hooks/exhaustive-deps": "off"
160
+ },
161
+ "overrides": [
162
+ {
163
+ "files": ["*.js"],
164
+ "rules": {
165
+ "@typescript-eslint/explicit-member-accessibility": "off",
166
+ "@typescript-eslint/explicit-function-return-type": "off"
167
+ }
168
+ },
169
+ {
170
+ "files": ["*actions.ts"],
171
+ "rules": {
172
+ "function-call-argument-newline": ["warn", "always"],
173
+ "function-paren-newline": ["warn", { "minItems": 1 }]
174
+ }
175
+ },
176
+ {
177
+ "files": ["*selectors.ts"],
178
+ "rules": {
179
+ "@typescript-eslint/explicit-module-boundary-types": "off",
180
+ "@typescript-eslint/explicit-function-return-type": "off",
181
+ "function-call-argument-newline": ["warn", "always"],
182
+ "function-paren-newline": ["warn", "multiline-arguments"]
183
+ }
184
+ }
185
+ ]
186
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "root": true,
3
3
  "plugins": ["@nx"],
4
- "extends": ["./.eslint.ronasit.js"],
4
+ "extends": ["./.eslint.ronasit.json"],
5
5
  "overrides": [
6
6
  {
7
7
  "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
@@ -44,22 +44,37 @@ After that [resign](https://docs.expo.dev/app-signing/app-credentials/#re-signin
44
44
  1. Push changes: `git push && git push --tags`
45
45
  1. Create new release in [Releases](../../../../-/releases) based on tag you pushed
46
46
 
47
- ### 2. Create builds
47
+ ### 2. Build
48
48
 
49
- - `build:dev` - build development version for internal testing
50
- - `build:prod` - build production version for stores
49
+ Create builds using [EAS Build](https://docs.expo.dev/build/introduction/):
50
+
51
+ - `build:debug` - build [dev-client](https://docs.expo.dev/develop/development-builds/create-a-build/) for local development
52
+ - `build:internal` - build development version for [internal distribution](https://docs.expo.dev/tutorial/eas/internal-distribution-builds/) (APK/Ad-Hoc build)
53
+ - `build:dev` - build development version for internal testing (AAB/IPA build)
54
+ - `build:prod` - build production version for stores (AAB/IPA build)
55
+
56
+ **Tip**: you can [create builds locally](https://docs.expo.dev/build-reference/local-builds/) by passing `--local` flag when starting build command.
51
57
 
52
58
  ### 3. Distribute
53
59
 
54
- #### Internal testing
60
+ #### Internal
61
+
62
+ Create an internal or debug build and share the build file within your team.
63
+
64
+ #### Stores
65
+
66
+ Created builds can be submitted to stores using [EAS Submit](https://docs.expo.dev/submit/introduction/):
67
+
68
+ - `submit:dev` - select and submit development build for internal testing in App Store/Google Play. Build will be distributed automatically for all testers.
69
+ - `submit:prod` - select and submit production build to App Store/Google Play. After that you can publish the release manually.
55
70
 
56
- - Android: share .apk builds with testers
57
- - iOS: send created builds to Testflight using `submit:ios:dev`
71
+ **Tip**: you can skip this step by passing the `--auto-submit` flag when creating builds.
72
+ This will automatically send created builds to App Store/Google Play. Example:
58
73
 
59
- #### Production
74
+ - `build:dev --auto-submit` - build development version and submit for internal testing in App Store/Google Play.
75
+ - `build:prod --auto-submit` - build production version and submit to App Store/Google Play. Release should be published manually.
60
76
 
61
- - Android: Download production build artifact and upload it to Google Play Console
62
- - iOS: submit production builds App Store Connect using `submit:ios:prod`
77
+ **Note**: initial setup is required for [Android](https://docs.expo.dev/submit/android/) and [iOS](https://docs.expo.dev/submit/ios)
63
78
 
64
79
  ### OTA updates
65
80
 
@@ -2,10 +2,7 @@
2
2
  "build": {
3
3
  "development": {
4
4
  "channel": "development",
5
- "distribution": "internal",
6
- "ios": {
7
- "distribution": "store"
8
- },
5
+ "distribution": "store",
9
6
  "env": {
10
7
  "EXPO_PUBLIC_APP_ENV": "development"
11
8
  }
@@ -13,16 +10,11 @@
13
10
  "debug": {
14
11
  "extends": "development",
15
12
  "developmentClient": true,
16
- "ios": {
17
- "distribution": "internal"
18
- }
13
+ "distribution": "internal"
19
14
  },
20
- "staging": {
21
- "channel": "staging",
22
- "distribution": "store",
23
- "env": {
24
- "EXPO_PUBLIC_APP_ENV": "staging"
25
- }
15
+ "internal": {
16
+ "extends": "development",
17
+ "distribution": "internal"
26
18
  },
27
19
  "production": {
28
20
  "channel": "production",
@@ -33,6 +25,25 @@
33
25
  }
34
26
  },
35
27
  "submit": {
36
- "production": {}
28
+ "development": {
29
+ "android": {
30
+ "track": "internal",
31
+ "releaseStatus": "draft"
32
+ },
33
+ "ios": {
34
+ "ascAppId": "YOUR_APP_ID",
35
+ "appleTeamId": "YOUR_TEAM_ID"
36
+ }
37
+ },
38
+ "production": {
39
+ "android": {
40
+ "track": "production",
41
+ "releaseStatus": "draft"
42
+ },
43
+ "ios": {
44
+ "ascAppId": "YOUR_APP_ID",
45
+ "appleTeamId": "YOUR_TEAM_ID"
46
+ }
47
+ }
37
48
  }
38
49
  }
@@ -29,19 +29,20 @@ function expoAppGenerator(tree, options) {
29
29
  yield (0, generators_1.runRNStylesGenerator)(tree, options);
30
30
  const shouldGenerateStoreLib = (yield (0, utils_1.askQuestion)('Do you want to create store lib? (y/n): ')) === 'y';
31
31
  if (shouldGenerateStoreLib) {
32
- (0, child_process_1.execSync)(`npx nx g store ${options.name} ${options.directory} ${enums_1.BaseGeneratorType.EXPO_APP}`, { stdio: 'inherit' });
32
+ yield (0, generators_1.runStoreGenerator)(tree, Object.assign(Object.assign({}, options), { baseGeneratorType: enums_1.BaseGeneratorType.EXPO_APP }));
33
33
  }
34
34
  const shouldGenerateApiClientLib = shouldGenerateStoreLib && (yield (0, utils_1.askQuestion)('Do you want to create api client lib? (y/n): ')) === 'y';
35
35
  if (shouldGenerateApiClientLib) {
36
36
  yield (0, generators_1.runApiClientGenerator)(tree, options);
37
37
  }
38
38
  const shouldGenerateAuthLibs = shouldGenerateApiClientLib && (yield (0, utils_1.askQuestion)('Do you want to create auth lib? (y/n): ')) === 'y';
39
- if (shouldGenerateAuthLibs) {
40
- yield (0, generators_1.runAuthGenerator)(tree, options);
41
- }
42
39
  const shouldGenerateFormUtilsLib = (yield (0, utils_1.askQuestion)('Do you want to create a lib with the form utils? (y/n): ')) === 'y';
43
40
  if (shouldGenerateFormUtilsLib) {
44
- (0, generators_1.runFormUtilsGenerator)(tree, options);
41
+ yield (0, generators_1.runFormUtilsGenerator)(tree, options);
42
+ }
43
+ const shouldGenerateUIKittenLib = (yield (0, utils_1.askQuestion)('Do you want to install @ui-kitten? (y/n): ')) === 'y';
44
+ if (shouldGenerateUIKittenLib) {
45
+ yield (0, generators_1.runUIKittenGenerator)(tree, options);
45
46
  }
46
47
  // Workaround: Even with the '--e2eTestRunner=none' parameter, the test folder is created. We delete it manually.
47
48
  if ((0, fs_1.existsSync)(appTestFolder)) {
@@ -65,7 +66,7 @@ function expoAppGenerator(tree, options) {
65
66
  (0, devkit_1.writeJson)(tree, appPackagePath, appPackageJson);
66
67
  // Add app files
67
68
  (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'app-files'), appRoot, Object.assign(Object.assign({}, options), { formatName: utils_1.formatName,
68
- formatAppIdentifier: utils_1.formatAppIdentifier, formatDirectory: () => libPath, isUIKittenEnabled: false, isStoreEnabled: shouldGenerateStoreLib, appDirectory: options.directory }));
69
+ formatAppIdentifier: utils_1.formatAppIdentifier, formatDirectory: () => libPath, isUIKittenEnabled: shouldGenerateUIKittenLib, isStoreEnabled: shouldGenerateStoreLib, appDirectory: options.directory }));
69
70
  (0, utils_1.addNxAppTag)(tree, options.directory);
70
71
  (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'i18n'), i18nRoot, {});
71
72
  // Add dependencies
@@ -75,7 +76,9 @@ function expoAppGenerator(tree, options) {
75
76
  return () => {
76
77
  (0, devkit_1.installPackagesTask)(tree);
77
78
  (0, child_process_1.execSync)('npx expo install --fix', { stdio: 'inherit' });
78
- (0, child_process_1.execSync)(`npx nx g ui-kitten ${options.name} ${options.directory}`, { stdio: 'inherit' });
79
+ if (shouldGenerateAuthLibs) {
80
+ (0, child_process_1.execSync)(`npx nx g auth ${options.name} ${options.directory}`, { stdio: 'inherit' });
81
+ }
79
82
  };
80
83
  });
81
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,6BAA6B;AAC7B,uCAQoB;AAEpB,uCAAgC;AAChC,2BAAwC;AACxC,4DAA0E;AAC1E,8CAAuD;AACvD,wDAOiC;AACjC,8CAAoH;AAEpH,SAAsB,gBAAgB,CACpC,IAAU,EACV,OAA+B;;QAE/B,MAAM,OAAO,GAAG,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,QAAQ,OAAO,CAAC,SAAS,MAAM,CAAC;QACtD,MAAM,OAAO,GAAG,GAAG,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,CAAC,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC;QAEtD,0BAA0B;QAC1B,IAAA,wBAAQ,EAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAErD,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAA,wBAAQ,EACN,yBAAyB,OAAO,CAAC,IAAI,qBAAqB,OAAO,CAAC,SAAS,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qFAAqF,EAC3L,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAA,+BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,IAAA,gCAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,IAAA,iCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,sBAAsB,GAAG,CAAA,MAAM,IAAA,mBAAW,EAAC,0CAA0C,CAAC,MAAK,GAAG,CAAC;QAErG,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAA,wBAAQ,EAAC,kBAAkB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,yBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtH,CAAC;QAED,MAAM,0BAA0B,GAAG,sBAAsB,IAAI,CAAA,MAAM,IAAA,mBAAW,EAAC,+CAA+C,CAAC,MAAK,GAAG,CAAC;QAExI,IAAI,0BAA0B,EAAE,CAAC;YAC/B,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,sBAAsB,GAAG,0BAA0B,IAAI,CAAA,MAAM,IAAA,mBAAW,EAAC,yCAAyC,CAAC,MAAK,GAAG,CAAC;QAElI,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,IAAA,6BAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,0BAA0B,GAAG,CAAA,MAAM,IAAA,mBAAW,EAAC,0DAA0D,CAAC,MAAK,GAAG,CAAC;QACzH,IAAI,0BAA0B,EAAE,CAAC;YAC/B,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,iHAAiH;QACjH,IAAI,IAAA,eAAU,EAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,IAAA,WAAM,EAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,OAAO,eAAe,CAAC;QAEjD,2DAA2D;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,kBAAkB,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;QAE5C,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtD,cAAc,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAC1C,cAAc,CAAC,OAAO,mCACjB,iBAAO,GACP,cAAc,CAAC,OAAO,CAC1B,CAAC;QACF,IAAA,kBAAS,EAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAEhD,gBAAgB;QAChB,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,kCACzD,OAAO,KACV,UAAU,EAAV,kBAAU;YACV,mBAAmB,EAAnB,2BAAmB,EACnB,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,EAC9B,iBAAiB,EAAE,KAAK,EACxB,cAAc,EAAE,sBAAsB,EACtC,YAAY,EAAE,OAAO,CAAC,SAAS,IAC/B,CAAC;QAEH,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEhE,mBAAmB;QACnB,IAAA,qCAA4B,EAC1B,IAAI,kCAEC,2BAAY,CAAC,UAAU,CAAC,GACxB,2BAAY,CAAC,eAAe,CAAC,mCAG7B,8BAAe,CAAC,UAAU,CAAC,GAC3B,8BAAe,CAAC,eAAe,CAAC,EAEtC,CAAC;QAEF,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,UAAU,CAAC,EAAE,8BAAe,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAE1G,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;YAC1B,IAAA,wBAAQ,EAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACzD,IAAA,wBAAQ,EAAC,sBAAsB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC;IACJ,CAAC;CAAA;AA/GD,4CA+GC;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,12 @@ declare const _default: {
2
2
  start: string;
3
3
  'start:prod': string;
4
4
  'build:dev': string;
5
+ 'build:internal': string;
5
6
  'build:debug': string;
6
7
  'build:prod': string;
7
8
  'update:dev': string;
8
9
  'update:prod': string;
9
- 'submit:ios:dev': string;
10
- 'submit:ios:prod': string;
10
+ 'submit:dev': string;
11
+ 'submit:prod': string;
11
12
  };
12
13
  export default _default;
@@ -4,11 +4,12 @@ exports.default = {
4
4
  'start': 'cross-env EXPO_PUBLIC_APP_ENV=development npx expo start',
5
5
  'start:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production npx expo start',
6
6
  'build:dev': 'eas build --no-wait -p all --profile=development',
7
+ 'build:internal': 'npm run build:dev -- --profile=internal',
7
8
  'build:debug': 'npm run build:dev -- --profile=debug',
8
9
  'build:prod': 'npm run build:dev -- --profile=production',
9
10
  'update:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas update --branch development',
10
11
  'update:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas update --branch production',
11
- 'submit:ios:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas submit --no-wait -p ios --profile=development',
12
- 'submit:ios:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas submit --no-wait -p ios --profile=production',
12
+ 'submit:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas submit --no-wait --profile=development',
13
+ 'submit:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas submit --no-wait --profile=production',
13
14
  };
14
15
  //# sourceMappingURL=scripts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,OAAO,EAAE,0DAA0D;IACnE,YAAY,EAAE,yDAAyD;IACvE,WAAW,EAAE,kDAAkD;IAC/D,aAAa,EAAE,sCAAsC;IACrD,YAAY,EAAE,2CAA2C;IACzD,YAAY,EAAE,2EAA2E;IACzF,aAAa,EAAE,yEAAyE;IACxF,gBAAgB,EAAE,6FAA6F;IAC/G,iBAAiB,EAAE,2FAA2F;CAC/G,CAAC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,OAAO,EAAE,0DAA0D;IACnE,YAAY,EAAE,yDAAyD;IACvE,WAAW,EAAE,kDAAkD;IAC/D,gBAAgB,EAAE,yCAAyC;IAC3D,aAAa,EAAE,sCAAsC;IACrD,YAAY,EAAE,2CAA2C;IACzD,YAAY,EAAE,2EAA2E;IACzF,aAAa,EAAE,yEAAyE;IACxF,YAAY,EAAE,sFAAsF;IACpG,aAAa,EAAE,oFAAoF;CACpG,CAAC"}
@@ -27,7 +27,7 @@ function formGenerator(tree, options) {
27
27
  if (tree.exists(formFilePath)) {
28
28
  throw new Error('The form already exists');
29
29
  }
30
- const formUtilsDirectory = yield (0, utils_2.getFormUtilsDirectory)();
30
+ const formUtilsDirectory = yield (0, utils_2.getFormUtilsDirectory)(tree, (0, utils_2.getAppName)(libPath));
31
31
  const formClassName = `${(0, utils_1.formatName)(fileName, true)}FormSchema`;
32
32
  (0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), formsPath, { className: formClassName, fileName, formUtilsDirectory });
33
33
  (0, utils_2.updateIndex)(formsPath, fileName, tree);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/form/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAAiH;AACjH,6BAA6B;AAE7B,8CAA+G;AAC/G,4DAAyD;AACzD,mCAA2E;AAE3E,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAoD,kCAAkC,CAAC,CAAC;QAC7I,MAAM,kBAAkB,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,QAAQ,EAAE,mBAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,CAAO,KAAK,EAAE,EAAE;gBACtB,MAAM,mBAAmB,GAAG,IAAA,yBAAiB,EAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;gBAExE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC7D,CAAC,CAAA;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,sBAAsB;QACtB,MAAM,SAAS,GAAG,GAAG,OAAO,YAAY,CAAC;QACzC,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,QAAQ,KAAK,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;QACzD,MAAM,aAAa,GAAG,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;QAChE,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC1H,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvC,iBAAiB;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,uBAAuB;QACvB,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;CAAA;AAvCD,sCAuCC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/form/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAAiH;AACjH,6BAA6B;AAE7B,8CAA+G;AAC/G,4DAAyD;AACzD,mCAAuF;AAEvF,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAoD,kCAAkC,CAAC,CAAC;QAC7I,MAAM,kBAAkB,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,QAAQ,EAAE,mBAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,CAAO,KAAK,EAAE,EAAE;gBACtB,MAAM,mBAAmB,GAAG,IAAA,yBAAiB,EAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;gBAExE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC7D,CAAC,CAAA;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,sBAAsB;QACtB,MAAM,SAAS,GAAG,GAAG,OAAO,YAAY,CAAC;QACzC,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,QAAQ,KAAK,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,6BAAqB,EAAC,IAAI,EAAE,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;QAChE,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC1H,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvC,iBAAiB;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,uBAAuB;QACvB,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;CAAA;AAvCD,sCAuCC;AAED,kBAAe,aAAa,CAAC"}