@devlander/expo-app-config 0.0.82 → 0.0.91

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/typings/create-names-for-package.d.ts +8 -1
  4. package/dist/cjs/typings/setup-config.types.d.ts +317 -0
  5. package/dist/esm/index.js +1 -1
  6. package/dist/esm/typings/create-names-for-package.d.ts +8 -1
  7. package/dist/esm/typings/setup-config.types.d.ts +317 -0
  8. package/dist/umd/index.js +1 -1
  9. package/dist/umd/typings/create-names-for-package.d.ts +8 -1
  10. package/dist/umd/typings/setup-config.types.d.ts +317 -0
  11. package/package.json +3 -3
  12. package/typings/create-names-for-package.d.ts +8 -1
  13. package/typings/setup-config.types.d.ts +317 -0
  14. package/dist/cjs/typings/__tests__/apply-relative-paths-to-config.test.d.ts +0 -1
  15. package/dist/cjs/typings/__tests__/create-bundle.test.d.ts +0 -1
  16. package/dist/cjs/typings/__tests__/format-assets-path.test.d.ts +0 -1
  17. package/dist/cjs/typings/__tests__/get-colors-for-environment.test.d.ts +0 -1
  18. package/dist/cjs/typings/__tests__/get-images-for-config.test.d.ts +0 -1
  19. package/dist/cjs/typings/__tests__/get-versions.test.d.ts +0 -1
  20. package/dist/cjs/typings/__tests__/tools.test.d.ts +0 -1
  21. package/dist/esm/typings/__tests__/apply-relative-paths-to-config.test.d.ts +0 -1
  22. package/dist/esm/typings/__tests__/create-bundle.test.d.ts +0 -1
  23. package/dist/esm/typings/__tests__/format-assets-path.test.d.ts +0 -1
  24. package/dist/esm/typings/__tests__/get-colors-for-environment.test.d.ts +0 -1
  25. package/dist/esm/typings/__tests__/get-images-for-config.test.d.ts +0 -1
  26. package/dist/esm/typings/__tests__/get-versions.test.d.ts +0 -1
  27. package/dist/esm/typings/__tests__/tools.test.d.ts +0 -1
  28. package/dist/umd/typings/__tests__/apply-relative-paths-to-config.test.d.ts +0 -1
  29. package/dist/umd/typings/__tests__/create-bundle.test.d.ts +0 -1
  30. package/dist/umd/typings/__tests__/format-assets-path.test.d.ts +0 -1
  31. package/dist/umd/typings/__tests__/get-colors-for-environment.test.d.ts +0 -1
  32. package/dist/umd/typings/__tests__/get-images-for-config.test.d.ts +0 -1
  33. package/dist/umd/typings/__tests__/get-versions.test.d.ts +0 -1
  34. package/dist/umd/typings/__tests__/tools.test.d.ts +0 -1
  35. package/typings/__tests__/apply-relative-paths-to-config.test.d.ts +0 -1
  36. package/typings/__tests__/create-bundle.test.d.ts +0 -1
  37. package/typings/__tests__/format-assets-path.test.d.ts +0 -1
  38. package/typings/__tests__/get-colors-for-environment.test.d.ts +0 -1
  39. package/typings/__tests__/get-images-for-config.test.d.ts +0 -1
  40. package/typings/__tests__/get-versions.test.d.ts +0 -1
  41. package/typings/__tests__/tools.test.d.ts +0 -1
@@ -1,10 +1,326 @@
1
1
  export type ColorsFromAssets = ColorAppConfig & ColorConfig;
2
+ export interface SetupConfig {
3
+ cli: {
4
+ version: string;
5
+ requireCommit: boolean;
6
+ };
7
+ build: {
8
+ production: {
9
+ distribution: string;
10
+ ios: {
11
+ buildConfiguration: "Release" | "Debug";
12
+ bundleIdentifier: string;
13
+ };
14
+ android: {
15
+ gradleCommand: string;
16
+ };
17
+ };
18
+ staging: {
19
+ distribution: string;
20
+ ios: {
21
+ buildConfiguration: string;
22
+ bundleIdentifier: string;
23
+ simulator: boolean;
24
+ };
25
+ android: {
26
+ gradleCommand: string;
27
+ buildType: string;
28
+ withoutCredentials: boolean;
29
+ };
30
+ env: {
31
+ environment: string;
32
+ branding: {
33
+ logoURL: string;
34
+ };
35
+ baseURL: {
36
+ native: string;
37
+ web: string;
38
+ };
39
+ verbiage: {
40
+ displayName: string;
41
+ primaryTagline: string;
42
+ secondaryTagline: string;
43
+ };
44
+ jwPlayer: {
45
+ playerKey: string;
46
+ playerSecret: string;
47
+ };
48
+ authentication: {
49
+ login: {
50
+ email: string;
51
+ password: string;
52
+ phoneNumber: string;
53
+ firstName: string;
54
+ lastName: string;
55
+ };
56
+ register: {
57
+ email: string;
58
+ password: string;
59
+ phoneNumber: string;
60
+ firstName: string;
61
+ lastName: string;
62
+ };
63
+ };
64
+ stripeDetails: {
65
+ secretKey: string;
66
+ publishableKey: string;
67
+ };
68
+ apiKeys: {
69
+ logRocketSlug: string;
70
+ };
71
+ };
72
+ };
73
+ development: {
74
+ distribution: string;
75
+ developmentClient: boolean;
76
+ ios: {
77
+ buildConfiguration: string;
78
+ bundleIdentifier: string;
79
+ simulator: boolean;
80
+ };
81
+ android: {
82
+ gradleCommand: string;
83
+ withoutCredentials: boolean;
84
+ };
85
+ env: {
86
+ environment: string;
87
+ branding: {
88
+ logoURL: string;
89
+ };
90
+ baseURL: {
91
+ native: string;
92
+ web: string;
93
+ };
94
+ verbiage: {
95
+ displayName: string;
96
+ primaryTagline: string;
97
+ secondaryTagline: string;
98
+ };
99
+ jwPlayer: {
100
+ playerKey: string;
101
+ playerSecret: string;
102
+ };
103
+ authentication: {
104
+ login: {
105
+ email: string;
106
+ password: string;
107
+ phoneNumber: string;
108
+ firstName: string;
109
+ lastName: string;
110
+ };
111
+ register: {
112
+ email: string;
113
+ password: string;
114
+ phoneNumber: string;
115
+ firstName: string;
116
+ lastName: string;
117
+ };
118
+ };
119
+ stripeDetails: {
120
+ secretKey: string;
121
+ publishableKey: string;
122
+ };
123
+ apiKeys: {
124
+ logRocketSlug: string;
125
+ };
126
+ };
127
+ };
128
+ local: {
129
+ distribution: string;
130
+ developmentClient: boolean;
131
+ ios: {
132
+ buildConfiguration: string;
133
+ bundleIdentifier: string;
134
+ simulator: boolean;
135
+ };
136
+ android: {
137
+ gradleCommand: string;
138
+ withoutCredentials: boolean;
139
+ };
140
+ env: {
141
+ environment: string;
142
+ branding: {
143
+ logoURL: string;
144
+ };
145
+ baseURL: {
146
+ native: string;
147
+ web: string;
148
+ };
149
+ verbiage: {
150
+ displayName: string;
151
+ primaryTagline: string;
152
+ secondaryTagline: string;
153
+ };
154
+ jwPlayer: {
155
+ playerKey: string;
156
+ playerSecret: string;
157
+ };
158
+ authentication: {
159
+ login: {
160
+ email: string;
161
+ password: string;
162
+ phoneNumber: string;
163
+ firstName: string;
164
+ lastName: string;
165
+ };
166
+ register: {
167
+ email: string;
168
+ password: string;
169
+ phoneNumber: string;
170
+ firstName: string;
171
+ lastName: string;
172
+ };
173
+ };
174
+ stripeDetails: {
175
+ secretKey: string;
176
+ publishableKey: string;
177
+ };
178
+ apiKeys: {
179
+ logRocketSlug: string;
180
+ };
181
+ };
182
+ };
183
+ };
184
+ submit: {
185
+ production: {
186
+ ios: {
187
+ appStoreConnectApiKey: string;
188
+ ascAppId: string;
189
+ version: string;
190
+ buildNumber: string;
191
+ releaseNotes: string;
192
+ screenshots: string[];
193
+ };
194
+ android: {
195
+ serviceAccountKeyPath: string;
196
+ track: string;
197
+ packageName: string;
198
+ versionCode: number;
199
+ releaseNotes: string;
200
+ };
201
+ };
202
+ staging: {
203
+ ios: {
204
+ appStoreConnectApiKey: string;
205
+ ascAppId: string;
206
+ version: string;
207
+ buildNumber: string;
208
+ releaseNotes: string;
209
+ screenshots: string[];
210
+ };
211
+ android: {
212
+ serviceAccountKeyPath: string;
213
+ track: string;
214
+ packageName: string;
215
+ versionCode: number;
216
+ releaseNotes: string;
217
+ };
218
+ };
219
+ development: {
220
+ ios: {
221
+ appStoreConnectApiKey: string;
222
+ ascAppId: string;
223
+ version: string;
224
+ buildNumber: string;
225
+ releaseNotes: string;
226
+ screenshots: string[];
227
+ };
228
+ android: {
229
+ serviceAccountKeyPath: string;
230
+ track: string;
231
+ packageName: string;
232
+ versionCode: number;
233
+ releaseNotes: string;
234
+ };
235
+ };
236
+ };
237
+ }
238
+ interface IosEasBuildConfig {
239
+ buildConfiguration: string;
240
+ bundleIdentifier: string;
241
+ simulator: boolean;
242
+ }
243
+ interface AndroidEasBuildConfig {
244
+ gradleCommand: ":app:bundleDebug" | ":app:bundleRelease" | ":app:assembleDebug" | ":app:assembleRelease" | string;
245
+ buildType: "release" | "debug" | string;
246
+ withoutCredentials: boolean;
247
+ }
248
+ interface EasBuildConfig {
249
+ distribution: "store" | "internal";
250
+ developmentClient: boolean;
251
+ ios: IosEasBuildConfig;
252
+ android: AndroidEasBuildConfig;
253
+ env?: AppConfigFromEnv;
254
+ }
255
+ interface EasConfig {
256
+ cli: {
257
+ version: string;
258
+ requireCommit: boolean;
259
+ };
260
+ build: {
261
+ production: EasBuildConfig;
262
+ staging: EasBuildConfig;
263
+ development: EasBuildConfig;
264
+ local: {
265
+ distribution: string;
266
+ developmentClient: boolean;
267
+ ios: {
268
+ buildConfiguration: string;
269
+ bundleIdentifier: string;
270
+ simulator: boolean;
271
+ };
272
+ android: {
273
+ gradleCommand: string;
274
+ withoutCredentials: boolean;
275
+ };
276
+ env: AppConfigFromEnv;
277
+ };
278
+ };
279
+ submit: {
280
+ production?: EasSubmitConfig;
281
+ staging?: EasSubmitConfig;
282
+ dev?: EasSubmitConfig;
283
+ };
284
+ }
285
+ interface AndroidSubmitConfig {
286
+ serviceAccountKeyPath: string;
287
+ track: string;
288
+ packageName: string;
289
+ versionCode: number;
290
+ releaseNotes: string;
291
+ }
292
+ interface IosSubmitConfig {
293
+ appStoreConnectApiKey: string;
294
+ ascAppId: string;
295
+ version: string;
296
+ buildNumber: string;
297
+ releaseNotes: string;
298
+ screenshots: string[];
299
+ }
300
+ interface EasSubmitConfig {
301
+ production: {
302
+ ios: IosSubmitConfig;
303
+ android: AndroidSubmitConfig;
304
+ };
305
+ staging: {
306
+ ios: IosSubmitConfig;
307
+ android: AndroidSubmitConfig;
308
+ };
309
+ development: {
310
+ ios: IosSubmitConfig;
311
+ android: AndroidSubmitConfig;
312
+ };
313
+ }
314
+ export type PartialEasConfig = Partial<EasConfig>;
2
315
  export interface BundleConfig {
3
316
  colorsPath: string;
4
317
  envVariables: AppConfigFromEnv;
5
318
  imagesPath: string;
319
+ appName: string;
320
+ domainName: string;
6
321
  versionsPath: string;
7
322
  projectId: string;
323
+ easConfig?: PartialEasConfig;
8
324
  }
9
325
  export interface AppConfigFromEnv {
10
326
  environment: EnvType;
@@ -143,3 +459,4 @@ export interface PieceOfConfig extends Partial<any> {
143
459
  };
144
460
  extra?: ExtraConfig;
145
461
  }
462
+ export {};
package/dist/umd/index.js CHANGED
@@ -1 +1 @@
1
- !function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EnvEumFromPackage=void 0;var e=require("./create-bundle"),r=require("./setup-config.types");Object.defineProperty(exports,"EnvEumFromPackage",{enumerable:!0,get:function(){return r.EnvEumFromPackage}}),exports.default=e.createBundle}));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("path"),require("fs"),require("@devlander/utils")):"function"==typeof define&&define.amd?define(["exports","path","fs","@devlander/utils"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DevlanderExpoConfig={},e.path,e.fs,e.utils)}(this,(function(e,r,o,n){"use strict";function t(e,r){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?t(Object(o),!0).forEach((function(r){s(e,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(o,r))}))}return e}function i(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:String(r)}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function s(e,r,o){return(r=i(r))in e?Object.defineProperty(e,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[r]=o,e}var u,l={splashFileName:"app-splash",iconFileName:"app-icon",adaptiveFileName:"app-adaptive-icon",faviconFileName:"favicon"};e.EnvEumFromPackage=void 0,(u=e.EnvEumFromPackage||(e.EnvEumFromPackage={})).production="production",u.staging="staging",u.development="development",u.local="local";var p=function(r){switch(r){case e.EnvEumFromPackage.development:return" Dev";case e.EnvEumFromPackage.staging:return" Staging";case e.EnvEumFromPackage.local:return" Local";default:return""}},m=function(r){switch(r){case e.EnvEumFromPackage.development:return"development";case e.EnvEumFromPackage.staging:return"staging";case e.EnvEumFromPackage.local:return"local";default:return"production"}};function f(e){var o=e,t=(o=o.replace(/\/\//g,"/")).indexOf("/assets");-1!==t&&(o=o.substring(t)),o.startsWith("/assets")||(o="/assets/"+o);var a=process.cwd(),i=r.join(a,o),c="./"+r.relative(a,i).replace(/\\/g,"/");c=n.removeSpacesFromString(c),(c=n.removeNewLinesFromString(c)).includes("assets/assets")&&(c=c.replace("assets/assets","assets"));var s=c.split("/");if("assets"!==s[0]||"assets"===s[1])return"."===s[0]&&"assets"===s[1]?c:".."===s[0]&&"assets"===s[1]?"./"+c:f(c);c="./"+c}var d=function(e){return f(e)||e};function v(e){Object.keys(e).forEach((function(r){var o=e[r];"string"==typeof o&&o.includes("/assets")?e[r]=d(o):"object"!==c(o)||null===o||Array.isArray(o)||v(o)}))}var g=function(e,r){var o=r.splash.backgroundColor.light;return{image:e.splashImage,backgroundColor:o,resizeMode:"contain"}},b=function(e){return e.iconImage},h=function(e){return e.splash.backgroundColor.light};e.default=function(e,t){var i=t.envVariables,c=i.environment,s=function(e,r,o){try{r||(r="../assets/images"),o||(o=l);var n=require("path"),t=e.toLowerCase();return{splashImage:n.resolve("".concat(r,"/\n ").concat(t,"-").concat(o.splashFileName,".png")),iconImage:n.resolve("".concat(r,"/\n ").concat(t,"-").concat(o.iconFileName,".png")),adaptiveIconImage:n.resolve("".concat(r,"/\n ").concat(t,"-").concat(o.adaptiveFileName,".png")),faviconImage:n.resolve("".concat(r,"/").concat(t,"-").concat(o.faviconFileName,".png"))}}catch(r){throw new Error("Error getting images for environment: ".concat(e))}}(c,t.imagesPath),u=function(e,n){if(!n)throw new Error("Path for colors is not defined");var t=r.resolve("".concat(n,"/").concat(e,".colors.json")),i=r.resolve("".concat(n,"/shared.colors.json"));try{var c=o.readFileSync(t,"utf8"),s=o.readFileSync(i,"utf8");return a(a({},JSON.parse(s)),JSON.parse(c))}catch(e){throw new Error("Error reading color files: ".concat(e))}}(c,t.colorsPath),f=function(e){var r=e.environmentName,o=e.title,n=e.appName,t=e.domainName;return(/[ `!@#$%^&*()_+\-=[\]{};':"\\|,.<>?~]/.test(t)||t.includes(" "))&&(t=t.replace(/[^a-zA-Z0-9]/g,"")),{name:"".concat(o).concat(p(r)),slug:t,identifier:"com.".concat(t,".").concat(n,".").concat(r.toLowerCase()),shortName:"".concat(o).concat(p(r)).replace("The","").substring(0,12),scheme:m(r)}}({environmentName:c,title:t.appName,appName:t.appName,domainName:t.domainName}),d=f.name,y=f.slug,E=f.shortName,N=f.scheme,w=f.identifier,P=function(e,n){try{if(!n)throw new Error("Path for versions is not defined");var t=r.resolve(n),a=o.readFileSync(t,"utf8"),i=JSON.parse(a),c=i[e];return c||(c=i.production),{android:{versionCode:c.android.versionCode},ios:{buildNumber:c.ios.buildNumber},app:{version:c.app.version}}}catch(r){throw new Error("Error getting versions for environment: ".concat(e," - ").concat(r.message))}}(c,t.versionsPath),O=P.ios,j=P.android,F={name:d,slug:y,scheme:N,version:P.app.version,icon:b(s),android:{package:w,versionCode:j.versionCode,backgroundColor:h(u),splash:g(s,u),adaptiveIcon:{foregroundImage:s.adaptiveIconImage},icon:b(s)},web:{backgroundColor:h(u),splash:g(s,u),shortName:E,favicon:s.faviconImage,themeColor:u.themeColor},ios:{backgroundColor:u.splash.backgroundColor.light,buildNumber:O.buildNumber,bundleIdentifier:w,splash:g(s,u),icon:b(s)},extra:{env:i,eas:{projectId:t.projectId}}},S=n.mergeObjects(e,F);return v(S),S},Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -1,8 +1,15 @@
1
1
  import { EnvType } from "./setup-config.types";
2
- export declare const createNamesForPackage: (environmentName: EnvType, appName: string) => {
2
+ interface NamesForPackageConfig {
3
+ environmentName: EnvType;
4
+ title: string;
5
+ appName: string;
6
+ domainName: string;
7
+ }
8
+ export declare const createNamesForPackage: (config: NamesForPackageConfig) => {
3
9
  name: string;
4
10
  shortName: string;
5
11
  scheme: string;
6
12
  identifier: string;
7
13
  slug: string;
8
14
  };
15
+ export {};
@@ -1,10 +1,326 @@
1
1
  export type ColorsFromAssets = ColorAppConfig & ColorConfig;
2
+ export interface SetupConfig {
3
+ cli: {
4
+ version: string;
5
+ requireCommit: boolean;
6
+ };
7
+ build: {
8
+ production: {
9
+ distribution: string;
10
+ ios: {
11
+ buildConfiguration: "Release" | "Debug";
12
+ bundleIdentifier: string;
13
+ };
14
+ android: {
15
+ gradleCommand: string;
16
+ };
17
+ };
18
+ staging: {
19
+ distribution: string;
20
+ ios: {
21
+ buildConfiguration: string;
22
+ bundleIdentifier: string;
23
+ simulator: boolean;
24
+ };
25
+ android: {
26
+ gradleCommand: string;
27
+ buildType: string;
28
+ withoutCredentials: boolean;
29
+ };
30
+ env: {
31
+ environment: string;
32
+ branding: {
33
+ logoURL: string;
34
+ };
35
+ baseURL: {
36
+ native: string;
37
+ web: string;
38
+ };
39
+ verbiage: {
40
+ displayName: string;
41
+ primaryTagline: string;
42
+ secondaryTagline: string;
43
+ };
44
+ jwPlayer: {
45
+ playerKey: string;
46
+ playerSecret: string;
47
+ };
48
+ authentication: {
49
+ login: {
50
+ email: string;
51
+ password: string;
52
+ phoneNumber: string;
53
+ firstName: string;
54
+ lastName: string;
55
+ };
56
+ register: {
57
+ email: string;
58
+ password: string;
59
+ phoneNumber: string;
60
+ firstName: string;
61
+ lastName: string;
62
+ };
63
+ };
64
+ stripeDetails: {
65
+ secretKey: string;
66
+ publishableKey: string;
67
+ };
68
+ apiKeys: {
69
+ logRocketSlug: string;
70
+ };
71
+ };
72
+ };
73
+ development: {
74
+ distribution: string;
75
+ developmentClient: boolean;
76
+ ios: {
77
+ buildConfiguration: string;
78
+ bundleIdentifier: string;
79
+ simulator: boolean;
80
+ };
81
+ android: {
82
+ gradleCommand: string;
83
+ withoutCredentials: boolean;
84
+ };
85
+ env: {
86
+ environment: string;
87
+ branding: {
88
+ logoURL: string;
89
+ };
90
+ baseURL: {
91
+ native: string;
92
+ web: string;
93
+ };
94
+ verbiage: {
95
+ displayName: string;
96
+ primaryTagline: string;
97
+ secondaryTagline: string;
98
+ };
99
+ jwPlayer: {
100
+ playerKey: string;
101
+ playerSecret: string;
102
+ };
103
+ authentication: {
104
+ login: {
105
+ email: string;
106
+ password: string;
107
+ phoneNumber: string;
108
+ firstName: string;
109
+ lastName: string;
110
+ };
111
+ register: {
112
+ email: string;
113
+ password: string;
114
+ phoneNumber: string;
115
+ firstName: string;
116
+ lastName: string;
117
+ };
118
+ };
119
+ stripeDetails: {
120
+ secretKey: string;
121
+ publishableKey: string;
122
+ };
123
+ apiKeys: {
124
+ logRocketSlug: string;
125
+ };
126
+ };
127
+ };
128
+ local: {
129
+ distribution: string;
130
+ developmentClient: boolean;
131
+ ios: {
132
+ buildConfiguration: string;
133
+ bundleIdentifier: string;
134
+ simulator: boolean;
135
+ };
136
+ android: {
137
+ gradleCommand: string;
138
+ withoutCredentials: boolean;
139
+ };
140
+ env: {
141
+ environment: string;
142
+ branding: {
143
+ logoURL: string;
144
+ };
145
+ baseURL: {
146
+ native: string;
147
+ web: string;
148
+ };
149
+ verbiage: {
150
+ displayName: string;
151
+ primaryTagline: string;
152
+ secondaryTagline: string;
153
+ };
154
+ jwPlayer: {
155
+ playerKey: string;
156
+ playerSecret: string;
157
+ };
158
+ authentication: {
159
+ login: {
160
+ email: string;
161
+ password: string;
162
+ phoneNumber: string;
163
+ firstName: string;
164
+ lastName: string;
165
+ };
166
+ register: {
167
+ email: string;
168
+ password: string;
169
+ phoneNumber: string;
170
+ firstName: string;
171
+ lastName: string;
172
+ };
173
+ };
174
+ stripeDetails: {
175
+ secretKey: string;
176
+ publishableKey: string;
177
+ };
178
+ apiKeys: {
179
+ logRocketSlug: string;
180
+ };
181
+ };
182
+ };
183
+ };
184
+ submit: {
185
+ production: {
186
+ ios: {
187
+ appStoreConnectApiKey: string;
188
+ ascAppId: string;
189
+ version: string;
190
+ buildNumber: string;
191
+ releaseNotes: string;
192
+ screenshots: string[];
193
+ };
194
+ android: {
195
+ serviceAccountKeyPath: string;
196
+ track: string;
197
+ packageName: string;
198
+ versionCode: number;
199
+ releaseNotes: string;
200
+ };
201
+ };
202
+ staging: {
203
+ ios: {
204
+ appStoreConnectApiKey: string;
205
+ ascAppId: string;
206
+ version: string;
207
+ buildNumber: string;
208
+ releaseNotes: string;
209
+ screenshots: string[];
210
+ };
211
+ android: {
212
+ serviceAccountKeyPath: string;
213
+ track: string;
214
+ packageName: string;
215
+ versionCode: number;
216
+ releaseNotes: string;
217
+ };
218
+ };
219
+ development: {
220
+ ios: {
221
+ appStoreConnectApiKey: string;
222
+ ascAppId: string;
223
+ version: string;
224
+ buildNumber: string;
225
+ releaseNotes: string;
226
+ screenshots: string[];
227
+ };
228
+ android: {
229
+ serviceAccountKeyPath: string;
230
+ track: string;
231
+ packageName: string;
232
+ versionCode: number;
233
+ releaseNotes: string;
234
+ };
235
+ };
236
+ };
237
+ }
238
+ interface IosEasBuildConfig {
239
+ buildConfiguration: string;
240
+ bundleIdentifier: string;
241
+ simulator: boolean;
242
+ }
243
+ interface AndroidEasBuildConfig {
244
+ gradleCommand: ":app:bundleDebug" | ":app:bundleRelease" | ":app:assembleDebug" | ":app:assembleRelease" | string;
245
+ buildType: "release" | "debug" | string;
246
+ withoutCredentials: boolean;
247
+ }
248
+ interface EasBuildConfig {
249
+ distribution: "store" | "internal";
250
+ developmentClient: boolean;
251
+ ios: IosEasBuildConfig;
252
+ android: AndroidEasBuildConfig;
253
+ env?: AppConfigFromEnv;
254
+ }
255
+ interface EasConfig {
256
+ cli: {
257
+ version: string;
258
+ requireCommit: boolean;
259
+ };
260
+ build: {
261
+ production: EasBuildConfig;
262
+ staging: EasBuildConfig;
263
+ development: EasBuildConfig;
264
+ local: {
265
+ distribution: string;
266
+ developmentClient: boolean;
267
+ ios: {
268
+ buildConfiguration: string;
269
+ bundleIdentifier: string;
270
+ simulator: boolean;
271
+ };
272
+ android: {
273
+ gradleCommand: string;
274
+ withoutCredentials: boolean;
275
+ };
276
+ env: AppConfigFromEnv;
277
+ };
278
+ };
279
+ submit: {
280
+ production?: EasSubmitConfig;
281
+ staging?: EasSubmitConfig;
282
+ dev?: EasSubmitConfig;
283
+ };
284
+ }
285
+ interface AndroidSubmitConfig {
286
+ serviceAccountKeyPath: string;
287
+ track: string;
288
+ packageName: string;
289
+ versionCode: number;
290
+ releaseNotes: string;
291
+ }
292
+ interface IosSubmitConfig {
293
+ appStoreConnectApiKey: string;
294
+ ascAppId: string;
295
+ version: string;
296
+ buildNumber: string;
297
+ releaseNotes: string;
298
+ screenshots: string[];
299
+ }
300
+ interface EasSubmitConfig {
301
+ production: {
302
+ ios: IosSubmitConfig;
303
+ android: AndroidSubmitConfig;
304
+ };
305
+ staging: {
306
+ ios: IosSubmitConfig;
307
+ android: AndroidSubmitConfig;
308
+ };
309
+ development: {
310
+ ios: IosSubmitConfig;
311
+ android: AndroidSubmitConfig;
312
+ };
313
+ }
314
+ export type PartialEasConfig = Partial<EasConfig>;
2
315
  export interface BundleConfig {
3
316
  colorsPath: string;
4
317
  envVariables: AppConfigFromEnv;
5
318
  imagesPath: string;
319
+ appName: string;
320
+ domainName: string;
6
321
  versionsPath: string;
7
322
  projectId: string;
323
+ easConfig?: PartialEasConfig;
8
324
  }
9
325
  export interface AppConfigFromEnv {
10
326
  environment: EnvType;
@@ -143,3 +459,4 @@ export interface PieceOfConfig extends Partial<any> {
143
459
  };
144
460
  extra?: ExtraConfig;
145
461
  }
462
+ export {};