@magmamath/frontend-config 1.0.23-rc.1 → 1.0.23-rc.2

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/dist/index.d.mts CHANGED
@@ -88,6 +88,7 @@ declare enum LoginSource {
88
88
  MY_LOGIN = 9
89
89
  }
90
90
  declare enum SSO {
91
+ APPLE = "APPLE",
91
92
  GOOGLE = "GOOGLE",
92
93
  MICROSOFT = "MICROSOFT",
93
94
  CLEVER = "CLEVER",
@@ -103,6 +104,11 @@ declare enum ApiRegion {
103
104
  MAIN = "MAIN",
104
105
  CANADA = "CANADA"
105
106
  }
107
+ declare enum QRCodeSize {
108
+ DEFAULT = "default",
109
+ MEDIUM = "medium",
110
+ LARGE = "large"
111
+ }
106
112
 
107
113
  declare enum MatrixMode {
108
114
  SKILL = "SKILL",
@@ -113,6 +119,73 @@ type IconProps = {
113
119
  size?: number;
114
120
  };
115
121
 
122
+ type SSOConfig<E> = Readonly<{
123
+ name: string;
124
+ icon: ComponentType<IconProps>;
125
+ type: SSO;
126
+ loginSource: LoginSource;
127
+ ownUrl?: boolean;
128
+ getUrl: (envs: E) => string;
129
+ }>;
130
+
131
+ type RegionSpecificVars = {
132
+ API_URL: string;
133
+ AUTH_WEB_URL: string;
134
+ CDN_HOST: string;
135
+ DISTRICT_WEB_URL: string;
136
+ LOGGLY_TAG: string;
137
+ MAGMAMATH_URL: string;
138
+ SOCKET_URL: string;
139
+ STUDENTS_WEB_URL: string;
140
+ TEACHERS_WEB_URL: string;
141
+ };
142
+
143
+ type StudentsWebCommon = {
144
+ GOOGLE_API_KEY: string;
145
+ DESMOS_API_KEY: string;
146
+ LOGGLY_CUSTOMER_TOKEN: string;
147
+ MYSCRIPT_APPLICATION_KEY: string;
148
+ MYSCRIPT_HMAC_KEY: string;
149
+ MYSCRIPT_HOST: string;
150
+ MYSCRIPT_SOCKET_KEY: string;
151
+ MYSCRIPT_REST_APP_KEY: string;
152
+ MYSCRIPT_REST_HMAC_KEY: string;
153
+ };
154
+ type StudentsWebVars = RegionSpecificVars & StudentsWebCommon;
155
+ type StudentsWebVarsPreset = {
156
+ [key in Locale]: {
157
+ [key in Environment]: StudentsWebVars;
158
+ };
159
+ };
160
+
161
+ type TeachersWebCommon = {
162
+ MYSCRIPT_HOST: string;
163
+ MYSCRIPT_REST_APP_KEY: string;
164
+ MYSCRIPT_REST_HMAC_KEY: string;
165
+ PROBLEM_IMAGE_SIZE_LIMIT: number;
166
+ INTERCOM_APP_ID: string;
167
+ CLARITY_PROJECT_ID: string;
168
+ LOGGLY_CUSTOMER_TOKEN: string;
169
+ };
170
+ type TeachersWebVars = RegionSpecificVars & TeachersWebCommon;
171
+ type TeachersWebVarsPreset = {
172
+ [key in Locale]: {
173
+ [key in Environment]: TeachersWebVars;
174
+ };
175
+ };
176
+
177
+ type DistrictCommon = {
178
+ INTERCOM_APP_ID: string;
179
+ CLARITY_PROJECT_ID: string;
180
+ PROBLEM_IMAGE_SIZE_LIMIT: number;
181
+ };
182
+ type DistrictDashboardVars = Omit<RegionSpecificVars, 'SOCKET_URL'> & DistrictCommon;
183
+ type DistrictWebVarsPreset = {
184
+ [key in Locale]: {
185
+ [key in Environment]: DistrictDashboardVars;
186
+ };
187
+ };
188
+
116
189
  type SSO_UK = {
117
190
  GOOGLE_AUTH: string;
118
191
  MICROSOFT_AUTH: string;
@@ -150,18 +223,6 @@ type Prettify<T> = T extends Function ? T : {
150
223
  [K in keyof T]: T[K];
151
224
  };
152
225
 
153
- type RegionSpecificVars = {
154
- API_URL: string;
155
- AUTH_WEB_URL: string;
156
- CDN_HOST: string;
157
- DISTRICT_WEB_URL: string;
158
- LOGGLY_TAG: string;
159
- MAGMAMATH_URL: string;
160
- SOCKET_URL: string;
161
- STUDENTS_WEB_URL: string;
162
- TEACHERS_WEB_URL: string;
163
- };
164
-
165
226
  type AuthWebVars<T extends SSOVariant> = Prettify<AuthWebBaseVars & T>;
166
227
  type AuthWebBaseVars = Omit<RegionSpecificVars, 'CDN_HOST' | 'LOGGLY_TAG' | 'SOCKET_URL'> & {
167
228
  TOS_URL: string;
@@ -189,61 +250,6 @@ type AuthWebVarsPreset = {
189
250
  };
190
251
  };
191
252
 
192
- type SSOConfig<T extends SSOVariant> = Readonly<{
193
- name: string;
194
- icon: ComponentType<IconProps>;
195
- type: SSO;
196
- loginSource: LoginSource;
197
- getUrl: (envs: AuthWebVars<T>) => string;
198
- ownUrl?: boolean;
199
- }>;
200
-
201
- type StudentsWebCommon = {
202
- GOOGLE_API_KEY: string;
203
- DESMOS_API_KEY: string;
204
- LOGGLY_CUSTOMER_TOKEN: string;
205
- MYSCRIPT_APPLICATION_KEY: string;
206
- MYSCRIPT_HMAC_KEY: string;
207
- MYSCRIPT_HOST: string;
208
- MYSCRIPT_SOCKET_KEY: string;
209
- MYSCRIPT_REST_APP_KEY: string;
210
- MYSCRIPT_REST_HMAC_KEY: string;
211
- };
212
- type StudentsWebVars = RegionSpecificVars & StudentsWebCommon;
213
- type StudentsWebVarsPreset = {
214
- [key in Locale]: {
215
- [key in Environment]: StudentsWebVars;
216
- };
217
- };
218
-
219
- type TeachersWebCommon = {
220
- MYSCRIPT_HOST: string;
221
- MYSCRIPT_REST_APP_KEY: string;
222
- MYSCRIPT_REST_HMAC_KEY: string;
223
- PROBLEM_IMAGE_SIZE_LIMIT: number;
224
- INTERCOM_APP_ID: string;
225
- CLARITY_PROJECT_ID: string;
226
- LOGGLY_CUSTOMER_TOKEN: string;
227
- };
228
- type TeachersWebVars = RegionSpecificVars & TeachersWebCommon;
229
- type TeachersWebVarsPreset = {
230
- [key in Locale]: {
231
- [key in Environment]: TeachersWebVars;
232
- };
233
- };
234
-
235
- type DistrictCommon = {
236
- INTERCOM_APP_ID: string;
237
- CLARITY_PROJECT_ID: string;
238
- PROBLEM_IMAGE_SIZE_LIMIT: number;
239
- };
240
- type DistrictDashboardVars = Omit<RegionSpecificVars, 'SOCKET_URL'> & DistrictCommon;
241
- type DistrictWebVarsPreset = {
242
- [key in Locale]: {
243
- [key in Environment]: DistrictDashboardVars;
244
- };
245
- };
246
-
247
253
  type MobileCommon = {
248
254
  DESMOS_API_KEY: string;
249
255
  USER_AGENT: string;
@@ -254,9 +260,13 @@ type MobileCommon = {
254
260
  MYSCRIPT_SOCKET_KEY: string;
255
261
  MYSCRIPT_REST_APP_KEY: string;
256
262
  MYSCRIPT_REST_HMAC_KEY: string;
263
+ GOOGLE_API_KEY: string;
264
+ GOOGLE_TEXT_TO_SPEECH_URL: string;
265
+ GOOGLE_TRANSLATE_URL: string;
257
266
  };
258
267
  type MobileBaseVars = {
259
268
  TEACHERS_WEB_URL: string;
269
+ AUTH_WEB_URL: string;
260
270
  API_URL: string;
261
271
  CDN_HOST: string;
262
272
  SOCKET_URL: string;
@@ -358,6 +368,9 @@ type StudentsLocaleConfig = CommonLocaleConfig & {
358
368
  smartEval: {
359
369
  language: string;
360
370
  };
371
+ drawboard: {
372
+ basicManipulativesMaxGrade: number;
373
+ };
361
374
  };
362
375
 
363
376
  type TeachersLocaleConfig = CommonLocaleConfig & {
@@ -428,18 +441,18 @@ type DistrictLocaleConfig = CommonLocaleConfig & {
428
441
  };
429
442
  };
430
443
 
431
- type AuthWebLocaleConfig<T extends SSOVariant> = {
444
+ type AuthLocaleConfig<E> = {
432
445
  path: string;
433
446
  shortCode: string;
434
447
  icon: ComponentType<IconProps>;
435
448
  sources: {
436
449
  signUp: {
437
- list: SSOConfig<T>[];
450
+ list: SSOConfig<E>[];
438
451
  };
439
452
  signIn: {
440
453
  withOnboarding: boolean;
441
- largeQRCode: boolean;
442
- list: SSOConfig<T>[];
454
+ qrCodeSize: QRCodeSize;
455
+ list: SSOConfig<E>[];
443
456
  };
444
457
  };
445
458
  isPrimaryRegion: boolean;
@@ -475,13 +488,13 @@ type LocalePreset = {
475
488
  [key in Locale]: DistrictLocaleConfig;
476
489
  };
477
490
  [Platform.AUTH_WEB]: {
478
- [key in Locale]: AuthWebLocaleConfig<SSOByLocale[key]>;
491
+ [key in Locale]: AuthLocaleConfig<AuthWebVars<SSOByLocale[key]>>;
479
492
  };
480
493
  [Platform.WEB_ADMIN]: {
481
494
  [key in Locale]: WebAdminLocaleConfig;
482
495
  };
483
496
  [Platform.MOBILE]: {
484
- [key in Locale]: AuthWebLocaleConfig<SSOByLocale[key]>;
497
+ [key in Locale]: AuthLocaleConfig<MobileVars<SSOByLocale[key]>>;
485
498
  };
486
499
  };
487
500
  type LocaleConfig<P extends Platform, L extends Locale> = LocalePreset[P][L];
@@ -519,16 +532,9 @@ declare class AppConfigManager<P extends Platform, L extends Locale> {
519
532
  readonly onEnvsChange: (cb: (cfg: EnvironmentVars<P>) => void) => effector.Subscription;
520
533
  readonly onLocaleChange: (cb: (cfg: LocaleConfig<P, L>) => void) => effector.Subscription;
521
534
  readonly getPresets: () => {
522
- envPreset: Readonly<{
523
- STUDENTS: StudentsWebVarsPreset;
524
- TEACHERS: TeachersWebVarsPreset;
525
- DISTRICT: DistrictWebVarsPreset;
526
- AUTH_WEB: AuthWebVarsPreset;
527
- WEB_ADMIN: WebAdminVarsPreset;
528
- MOBILE: MobileVarsPreset;
529
- }>;
535
+ envPreset: any;
530
536
  localePreset: LocalePreset;
531
537
  };
532
538
  }
533
539
 
534
- export { ApiRegion, AppConfigManager, DateFormat, DateLocale, type EnvPreset, Environment, type EnvironmentVars, Locale, LoginSource, MatrixMode, Platform, PlatformBuildTarget, SSO, type SSOConfig, Source, buildTargetToEnvironment };
540
+ export { ApiRegion, AppConfigManager, type AuthWebBaseVars, type AuthWebVars, type AuthWebVarsPreset, DateFormat, DateLocale, type DistrictCommon, type DistrictDashboardVars, type DistrictWebVarsPreset, type EnvPreset, Environment, type EnvironmentVars, Locale, LoginSource, MatrixMode, type MobileBaseVars, type MobileCommon, type MobileVars, type MobileVarsPreset, Platform, PlatformBuildTarget, QRCodeSize, SSO, type SSOByLocale, type SSOConfig, type SSOVariant, type SSO_DE, type SSO_SE, type SSO_UK, type SSO_US, Source, type StudentsWebCommon, type StudentsWebVars, type StudentsWebVarsPreset, type TeachersWebCommon, type TeachersWebVars, type TeachersWebVarsPreset, buildTargetToEnvironment };
package/dist/index.d.ts CHANGED
@@ -88,6 +88,7 @@ declare enum LoginSource {
88
88
  MY_LOGIN = 9
89
89
  }
90
90
  declare enum SSO {
91
+ APPLE = "APPLE",
91
92
  GOOGLE = "GOOGLE",
92
93
  MICROSOFT = "MICROSOFT",
93
94
  CLEVER = "CLEVER",
@@ -103,6 +104,11 @@ declare enum ApiRegion {
103
104
  MAIN = "MAIN",
104
105
  CANADA = "CANADA"
105
106
  }
107
+ declare enum QRCodeSize {
108
+ DEFAULT = "default",
109
+ MEDIUM = "medium",
110
+ LARGE = "large"
111
+ }
106
112
 
107
113
  declare enum MatrixMode {
108
114
  SKILL = "SKILL",
@@ -113,6 +119,73 @@ type IconProps = {
113
119
  size?: number;
114
120
  };
115
121
 
122
+ type SSOConfig<E> = Readonly<{
123
+ name: string;
124
+ icon: ComponentType<IconProps>;
125
+ type: SSO;
126
+ loginSource: LoginSource;
127
+ ownUrl?: boolean;
128
+ getUrl: (envs: E) => string;
129
+ }>;
130
+
131
+ type RegionSpecificVars = {
132
+ API_URL: string;
133
+ AUTH_WEB_URL: string;
134
+ CDN_HOST: string;
135
+ DISTRICT_WEB_URL: string;
136
+ LOGGLY_TAG: string;
137
+ MAGMAMATH_URL: string;
138
+ SOCKET_URL: string;
139
+ STUDENTS_WEB_URL: string;
140
+ TEACHERS_WEB_URL: string;
141
+ };
142
+
143
+ type StudentsWebCommon = {
144
+ GOOGLE_API_KEY: string;
145
+ DESMOS_API_KEY: string;
146
+ LOGGLY_CUSTOMER_TOKEN: string;
147
+ MYSCRIPT_APPLICATION_KEY: string;
148
+ MYSCRIPT_HMAC_KEY: string;
149
+ MYSCRIPT_HOST: string;
150
+ MYSCRIPT_SOCKET_KEY: string;
151
+ MYSCRIPT_REST_APP_KEY: string;
152
+ MYSCRIPT_REST_HMAC_KEY: string;
153
+ };
154
+ type StudentsWebVars = RegionSpecificVars & StudentsWebCommon;
155
+ type StudentsWebVarsPreset = {
156
+ [key in Locale]: {
157
+ [key in Environment]: StudentsWebVars;
158
+ };
159
+ };
160
+
161
+ type TeachersWebCommon = {
162
+ MYSCRIPT_HOST: string;
163
+ MYSCRIPT_REST_APP_KEY: string;
164
+ MYSCRIPT_REST_HMAC_KEY: string;
165
+ PROBLEM_IMAGE_SIZE_LIMIT: number;
166
+ INTERCOM_APP_ID: string;
167
+ CLARITY_PROJECT_ID: string;
168
+ LOGGLY_CUSTOMER_TOKEN: string;
169
+ };
170
+ type TeachersWebVars = RegionSpecificVars & TeachersWebCommon;
171
+ type TeachersWebVarsPreset = {
172
+ [key in Locale]: {
173
+ [key in Environment]: TeachersWebVars;
174
+ };
175
+ };
176
+
177
+ type DistrictCommon = {
178
+ INTERCOM_APP_ID: string;
179
+ CLARITY_PROJECT_ID: string;
180
+ PROBLEM_IMAGE_SIZE_LIMIT: number;
181
+ };
182
+ type DistrictDashboardVars = Omit<RegionSpecificVars, 'SOCKET_URL'> & DistrictCommon;
183
+ type DistrictWebVarsPreset = {
184
+ [key in Locale]: {
185
+ [key in Environment]: DistrictDashboardVars;
186
+ };
187
+ };
188
+
116
189
  type SSO_UK = {
117
190
  GOOGLE_AUTH: string;
118
191
  MICROSOFT_AUTH: string;
@@ -150,18 +223,6 @@ type Prettify<T> = T extends Function ? T : {
150
223
  [K in keyof T]: T[K];
151
224
  };
152
225
 
153
- type RegionSpecificVars = {
154
- API_URL: string;
155
- AUTH_WEB_URL: string;
156
- CDN_HOST: string;
157
- DISTRICT_WEB_URL: string;
158
- LOGGLY_TAG: string;
159
- MAGMAMATH_URL: string;
160
- SOCKET_URL: string;
161
- STUDENTS_WEB_URL: string;
162
- TEACHERS_WEB_URL: string;
163
- };
164
-
165
226
  type AuthWebVars<T extends SSOVariant> = Prettify<AuthWebBaseVars & T>;
166
227
  type AuthWebBaseVars = Omit<RegionSpecificVars, 'CDN_HOST' | 'LOGGLY_TAG' | 'SOCKET_URL'> & {
167
228
  TOS_URL: string;
@@ -189,61 +250,6 @@ type AuthWebVarsPreset = {
189
250
  };
190
251
  };
191
252
 
192
- type SSOConfig<T extends SSOVariant> = Readonly<{
193
- name: string;
194
- icon: ComponentType<IconProps>;
195
- type: SSO;
196
- loginSource: LoginSource;
197
- getUrl: (envs: AuthWebVars<T>) => string;
198
- ownUrl?: boolean;
199
- }>;
200
-
201
- type StudentsWebCommon = {
202
- GOOGLE_API_KEY: string;
203
- DESMOS_API_KEY: string;
204
- LOGGLY_CUSTOMER_TOKEN: string;
205
- MYSCRIPT_APPLICATION_KEY: string;
206
- MYSCRIPT_HMAC_KEY: string;
207
- MYSCRIPT_HOST: string;
208
- MYSCRIPT_SOCKET_KEY: string;
209
- MYSCRIPT_REST_APP_KEY: string;
210
- MYSCRIPT_REST_HMAC_KEY: string;
211
- };
212
- type StudentsWebVars = RegionSpecificVars & StudentsWebCommon;
213
- type StudentsWebVarsPreset = {
214
- [key in Locale]: {
215
- [key in Environment]: StudentsWebVars;
216
- };
217
- };
218
-
219
- type TeachersWebCommon = {
220
- MYSCRIPT_HOST: string;
221
- MYSCRIPT_REST_APP_KEY: string;
222
- MYSCRIPT_REST_HMAC_KEY: string;
223
- PROBLEM_IMAGE_SIZE_LIMIT: number;
224
- INTERCOM_APP_ID: string;
225
- CLARITY_PROJECT_ID: string;
226
- LOGGLY_CUSTOMER_TOKEN: string;
227
- };
228
- type TeachersWebVars = RegionSpecificVars & TeachersWebCommon;
229
- type TeachersWebVarsPreset = {
230
- [key in Locale]: {
231
- [key in Environment]: TeachersWebVars;
232
- };
233
- };
234
-
235
- type DistrictCommon = {
236
- INTERCOM_APP_ID: string;
237
- CLARITY_PROJECT_ID: string;
238
- PROBLEM_IMAGE_SIZE_LIMIT: number;
239
- };
240
- type DistrictDashboardVars = Omit<RegionSpecificVars, 'SOCKET_URL'> & DistrictCommon;
241
- type DistrictWebVarsPreset = {
242
- [key in Locale]: {
243
- [key in Environment]: DistrictDashboardVars;
244
- };
245
- };
246
-
247
253
  type MobileCommon = {
248
254
  DESMOS_API_KEY: string;
249
255
  USER_AGENT: string;
@@ -254,9 +260,13 @@ type MobileCommon = {
254
260
  MYSCRIPT_SOCKET_KEY: string;
255
261
  MYSCRIPT_REST_APP_KEY: string;
256
262
  MYSCRIPT_REST_HMAC_KEY: string;
263
+ GOOGLE_API_KEY: string;
264
+ GOOGLE_TEXT_TO_SPEECH_URL: string;
265
+ GOOGLE_TRANSLATE_URL: string;
257
266
  };
258
267
  type MobileBaseVars = {
259
268
  TEACHERS_WEB_URL: string;
269
+ AUTH_WEB_URL: string;
260
270
  API_URL: string;
261
271
  CDN_HOST: string;
262
272
  SOCKET_URL: string;
@@ -358,6 +368,9 @@ type StudentsLocaleConfig = CommonLocaleConfig & {
358
368
  smartEval: {
359
369
  language: string;
360
370
  };
371
+ drawboard: {
372
+ basicManipulativesMaxGrade: number;
373
+ };
361
374
  };
362
375
 
363
376
  type TeachersLocaleConfig = CommonLocaleConfig & {
@@ -428,18 +441,18 @@ type DistrictLocaleConfig = CommonLocaleConfig & {
428
441
  };
429
442
  };
430
443
 
431
- type AuthWebLocaleConfig<T extends SSOVariant> = {
444
+ type AuthLocaleConfig<E> = {
432
445
  path: string;
433
446
  shortCode: string;
434
447
  icon: ComponentType<IconProps>;
435
448
  sources: {
436
449
  signUp: {
437
- list: SSOConfig<T>[];
450
+ list: SSOConfig<E>[];
438
451
  };
439
452
  signIn: {
440
453
  withOnboarding: boolean;
441
- largeQRCode: boolean;
442
- list: SSOConfig<T>[];
454
+ qrCodeSize: QRCodeSize;
455
+ list: SSOConfig<E>[];
443
456
  };
444
457
  };
445
458
  isPrimaryRegion: boolean;
@@ -475,13 +488,13 @@ type LocalePreset = {
475
488
  [key in Locale]: DistrictLocaleConfig;
476
489
  };
477
490
  [Platform.AUTH_WEB]: {
478
- [key in Locale]: AuthWebLocaleConfig<SSOByLocale[key]>;
491
+ [key in Locale]: AuthLocaleConfig<AuthWebVars<SSOByLocale[key]>>;
479
492
  };
480
493
  [Platform.WEB_ADMIN]: {
481
494
  [key in Locale]: WebAdminLocaleConfig;
482
495
  };
483
496
  [Platform.MOBILE]: {
484
- [key in Locale]: AuthWebLocaleConfig<SSOByLocale[key]>;
497
+ [key in Locale]: AuthLocaleConfig<MobileVars<SSOByLocale[key]>>;
485
498
  };
486
499
  };
487
500
  type LocaleConfig<P extends Platform, L extends Locale> = LocalePreset[P][L];
@@ -519,16 +532,9 @@ declare class AppConfigManager<P extends Platform, L extends Locale> {
519
532
  readonly onEnvsChange: (cb: (cfg: EnvironmentVars<P>) => void) => effector.Subscription;
520
533
  readonly onLocaleChange: (cb: (cfg: LocaleConfig<P, L>) => void) => effector.Subscription;
521
534
  readonly getPresets: () => {
522
- envPreset: Readonly<{
523
- STUDENTS: StudentsWebVarsPreset;
524
- TEACHERS: TeachersWebVarsPreset;
525
- DISTRICT: DistrictWebVarsPreset;
526
- AUTH_WEB: AuthWebVarsPreset;
527
- WEB_ADMIN: WebAdminVarsPreset;
528
- MOBILE: MobileVarsPreset;
529
- }>;
535
+ envPreset: any;
530
536
  localePreset: LocalePreset;
531
537
  };
532
538
  }
533
539
 
534
- export { ApiRegion, AppConfigManager, DateFormat, DateLocale, type EnvPreset, Environment, type EnvironmentVars, Locale, LoginSource, MatrixMode, Platform, PlatformBuildTarget, SSO, type SSOConfig, Source, buildTargetToEnvironment };
540
+ export { ApiRegion, AppConfigManager, type AuthWebBaseVars, type AuthWebVars, type AuthWebVarsPreset, DateFormat, DateLocale, type DistrictCommon, type DistrictDashboardVars, type DistrictWebVarsPreset, type EnvPreset, Environment, type EnvironmentVars, Locale, LoginSource, MatrixMode, type MobileBaseVars, type MobileCommon, type MobileVars, type MobileVarsPreset, Platform, PlatformBuildTarget, QRCodeSize, SSO, type SSOByLocale, type SSOConfig, type SSOVariant, type SSO_DE, type SSO_SE, type SSO_UK, type SSO_US, Source, type StudentsWebCommon, type StudentsWebVars, type StudentsWebVarsPreset, type TeachersWebCommon, type TeachersWebVars, type TeachersWebVarsPreset, buildTargetToEnvironment };