voltra 2.2.0 → 2.3.1
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/build/cjs/apply/index.js +6 -1
- package/build/cjs/apply/index.js.map +1 -1
- package/build/cjs/config/normalize.js +150 -31
- package/build/cjs/config/normalize.js.map +1 -1
- package/build/cjs/config/perConfiguration.js +29 -0
- package/build/cjs/config/perConfiguration.js.map +1 -0
- package/build/cjs/config/serverUpdate.js +119 -0
- package/build/cjs/config/serverUpdate.js.map +1 -0
- package/build/cjs/config/widgetKind.js +25 -0
- package/build/cjs/config/widgetKind.js.map +1 -0
- package/build/cjs/dependencies/platformPackages.js +9 -0
- package/build/cjs/dependencies/platformPackages.js.map +1 -1
- package/build/cjs/discovery/ios.js +50 -31
- package/build/cjs/discovery/ios.js.map +1 -1
- package/build/cjs/discovery/metro.js +52 -0
- package/build/cjs/discovery/metro.js.map +1 -0
- package/build/cjs/index.js +6 -2
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/platforms/android/generated.js +98 -40
- package/build/cjs/platforms/android/generated.js.map +1 -1
- package/build/cjs/platforms/android/widgetSizing.js +89 -0
- package/build/cjs/platforms/android/widgetSizing.js.map +1 -0
- package/build/cjs/platforms/ios/apply.js +21 -11
- package/build/cjs/platforms/ios/apply.js.map +1 -1
- package/build/cjs/platforms/ios/buildConfigurationValues.js +73 -0
- package/build/cjs/platforms/ios/buildConfigurationValues.js.map +1 -0
- package/build/cjs/platforms/ios/entitlements.js +34 -19
- package/build/cjs/platforms/ios/entitlements.js.map +1 -1
- package/build/cjs/platforms/ios/generated.js +79 -32
- package/build/cjs/platforms/ios/generated.js.map +1 -1
- package/build/cjs/platforms/ios/plist.js +22 -4
- package/build/cjs/platforms/ios/plist.js.map +1 -1
- package/build/cjs/platforms/ios/targetName.js.map +1 -1
- package/build/cjs/platforms/ios/xcodeTarget.js +166 -23
- package/build/cjs/platforms/ios/xcodeTarget.js.map +1 -1
- package/build/cjs/platforms/shared/widgetModule.js +18 -145
- package/build/cjs/platforms/shared/widgetModule.js.map +1 -1
- package/build/esm/apply/index.js +6 -1
- package/build/esm/apply/index.js.map +1 -1
- package/build/esm/config/normalize.js +150 -31
- package/build/esm/config/normalize.js.map +1 -1
- package/build/esm/config/perConfiguration.js +25 -0
- package/build/esm/config/perConfiguration.js.map +1 -0
- package/build/esm/config/serverUpdate.js +112 -0
- package/build/esm/config/serverUpdate.js.map +1 -0
- package/build/esm/config/widgetKind.js +20 -0
- package/build/esm/config/widgetKind.js.map +1 -0
- package/build/esm/dependencies/platformPackages.js +8 -0
- package/build/esm/dependencies/platformPackages.js.map +1 -1
- package/build/esm/discovery/ios.js +50 -31
- package/build/esm/discovery/ios.js.map +1 -1
- package/build/esm/discovery/metro.js +46 -0
- package/build/esm/discovery/metro.js.map +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/platforms/android/generated.js +100 -42
- package/build/esm/platforms/android/generated.js.map +1 -1
- package/build/esm/platforms/android/widgetSizing.js +85 -0
- package/build/esm/platforms/android/widgetSizing.js.map +1 -0
- package/build/esm/platforms/ios/apply.js +21 -11
- package/build/esm/platforms/ios/apply.js.map +1 -1
- package/build/esm/platforms/ios/buildConfigurationValues.js +68 -0
- package/build/esm/platforms/ios/buildConfigurationValues.js.map +1 -0
- package/build/esm/platforms/ios/entitlements.js +34 -19
- package/build/esm/platforms/ios/entitlements.js.map +1 -1
- package/build/esm/platforms/ios/generated.js +80 -33
- package/build/esm/platforms/ios/generated.js.map +1 -1
- package/build/esm/platforms/ios/plist.js +22 -4
- package/build/esm/platforms/ios/plist.js.map +1 -1
- package/build/esm/platforms/ios/targetName.js.map +1 -1
- package/build/esm/platforms/ios/xcodeTarget.js +166 -23
- package/build/esm/platforms/ios/xcodeTarget.js.map +1 -1
- package/build/esm/platforms/shared/widgetModule.js +16 -107
- package/build/esm/platforms/shared/widgetModule.js.map +1 -1
- package/build/types/apply/index.d.ts.map +1 -1
- package/build/types/config/normalize.d.ts.map +1 -1
- package/build/types/config/perConfiguration.d.ts +18 -0
- package/build/types/config/perConfiguration.d.ts.map +1 -0
- package/build/types/config/serverUpdate.d.ts +80 -0
- package/build/types/config/serverUpdate.d.ts.map +1 -0
- package/build/types/config/types.d.ts +91 -30
- package/build/types/config/types.d.ts.map +1 -1
- package/build/types/config/widgetKind.d.ts +11 -0
- package/build/types/config/widgetKind.d.ts.map +1 -0
- package/build/types/dependencies/platformPackages.d.ts +1 -0
- package/build/types/dependencies/platformPackages.d.ts.map +1 -1
- package/build/types/discovery/ios.d.ts +10 -0
- package/build/types/discovery/ios.d.ts.map +1 -1
- package/build/types/discovery/metro.d.ts +21 -0
- package/build/types/discovery/metro.d.ts.map +1 -0
- package/build/types/index.d.ts +3 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/types/platforms/android/generated.d.ts.map +1 -1
- package/build/types/platforms/android/widgetSizing.d.ts +50 -0
- package/build/types/platforms/android/widgetSizing.d.ts.map +1 -0
- package/build/types/platforms/ios/apply.d.ts.map +1 -1
- package/build/types/platforms/ios/buildConfigurationValues.d.ts +33 -0
- package/build/types/platforms/ios/buildConfigurationValues.d.ts.map +1 -0
- package/build/types/platforms/ios/entitlements.d.ts +4 -4
- package/build/types/platforms/ios/entitlements.d.ts.map +1 -1
- package/build/types/platforms/ios/generated.d.ts +14 -2
- package/build/types/platforms/ios/generated.d.ts.map +1 -1
- package/build/types/platforms/ios/plist.d.ts +3 -3
- package/build/types/platforms/ios/plist.d.ts.map +1 -1
- package/build/types/platforms/ios/podfile.d.ts +2 -2
- package/build/types/platforms/ios/podfile.d.ts.map +1 -1
- package/build/types/platforms/ios/targetName.d.ts +2 -2
- package/build/types/platforms/ios/targetName.d.ts.map +1 -1
- package/build/types/platforms/ios/xcodeTarget.d.ts +4 -2
- package/build/types/platforms/ios/xcodeTarget.d.ts.map +1 -1
- package/build/types/platforms/shared/widgetModule.d.ts +12 -3
- package/build/types/platforms/shared/widgetModule.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/apply/index.ts +6 -1
- package/src/config/normalize.node.test.ts +105 -0
- package/src/config/normalize.ts +217 -45
- package/src/config/perConfiguration.ts +49 -0
- package/src/config/serverUpdate.ts +160 -0
- package/src/config/types.ts +97 -30
- package/src/config/widgetKind.node.test.ts +27 -0
- package/src/config/widgetKind.ts +27 -0
- package/src/dependencies/platformPackages.ts +11 -0
- package/src/discovery/ios.ts +104 -60
- package/src/discovery/metro.node.test.ts +91 -0
- package/src/discovery/metro.ts +54 -0
- package/src/index.ts +8 -0
- package/src/platforms/android/generated.ts +144 -47
- package/src/platforms/android/widgetSizing.ts +112 -0
- package/src/platforms/ios/apply.ts +21 -11
- package/src/platforms/ios/buildConfigurationValues.ts +105 -0
- package/src/platforms/ios/entitlements.ts +55 -31
- package/src/platforms/ios/generated.node.test.ts +61 -0
- package/src/platforms/ios/generated.ts +137 -38
- package/src/platforms/ios/plist.ts +36 -7
- package/src/platforms/ios/podfile.ts +2 -2
- package/src/platforms/ios/targetName.ts +2 -2
- package/src/platforms/ios/xcodeTarget.ts +248 -43
- package/src/platforms/shared/widgetModule.ts +22 -140
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { resolveFromRoot } from '../fs/path';
|
|
3
3
|
import { CLI_DEFAULTS } from './defaults';
|
|
4
|
+
import { isPerConfigurationMap } from './perConfiguration';
|
|
5
|
+
import { resolveServerUpdateInterval, resolveServerUpdateUrl, validateServerUpdateRefresh } from './serverUpdate';
|
|
6
|
+
import { iosWidgetKind } from './widgetKind';
|
|
4
7
|
const VALID_IOS_WIDGET_FAMILIES = new Set([
|
|
5
8
|
'systemSmall',
|
|
6
9
|
'systemMedium',
|
|
@@ -30,6 +33,23 @@ function assertOptionalString(value, context) {
|
|
|
30
33
|
throw new VoltraConfigNormalizationError(`${context} must be a string`);
|
|
31
34
|
}
|
|
32
35
|
}
|
|
36
|
+
function assertOptionalPerConfigurationString(value, context) {
|
|
37
|
+
if (value === undefined || typeof value === 'string') {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!isPerConfigurationMap(value)) {
|
|
41
|
+
throw new VoltraConfigNormalizationError(`${context} must be a string, or an object of strings keyed by build configuration name`);
|
|
42
|
+
}
|
|
43
|
+
const entries = Object.entries(value);
|
|
44
|
+
if (entries.length === 0) {
|
|
45
|
+
throw new VoltraConfigNormalizationError(`${context} must not be an empty object`);
|
|
46
|
+
}
|
|
47
|
+
for (const [buildConfigurationName, configurationValue] of entries) {
|
|
48
|
+
if (typeof configurationValue !== 'string' || !configurationValue.trim()) {
|
|
49
|
+
throw new VoltraConfigNormalizationError(`${context}.${buildConfigurationName} must be a non-empty string`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
33
53
|
function assertOptionalBoolean(value, context) {
|
|
34
54
|
if (value !== undefined && typeof value !== 'boolean') {
|
|
35
55
|
throw new VoltraConfigNormalizationError(`${context} must be a boolean`);
|
|
@@ -72,6 +92,18 @@ function resolveOptionalPathFromProjectRoot(projectRoot, filePath) {
|
|
|
72
92
|
}
|
|
73
93
|
return resolvePathFromProjectRoot(projectRoot, filePath);
|
|
74
94
|
}
|
|
95
|
+
function resolveOptionalPerConfigurationPath(projectRoot, filePath) {
|
|
96
|
+
if (!filePath) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
if (!isPerConfigurationMap(filePath)) {
|
|
100
|
+
return resolvePathFromProjectRoot(projectRoot, filePath);
|
|
101
|
+
}
|
|
102
|
+
return Object.fromEntries(Object.entries(filePath).map(([buildConfigurationName, configurationPath]) => [
|
|
103
|
+
buildConfigurationName,
|
|
104
|
+
resolvePathFromProjectRoot(projectRoot, configurationPath),
|
|
105
|
+
]));
|
|
106
|
+
}
|
|
75
107
|
function isAbsoluteWidgetPath(value) {
|
|
76
108
|
return path.isAbsolute(value) || path.win32.isAbsolute(value) || /^[a-zA-Z]:[\\/]/.test(value);
|
|
77
109
|
}
|
|
@@ -201,30 +233,53 @@ function normalizeIOSAppIntent(value, context) {
|
|
|
201
233
|
});
|
|
202
234
|
return { parameters };
|
|
203
235
|
}
|
|
204
|
-
|
|
236
|
+
/**
|
|
237
|
+
* `appIntent` only reaches the generated project through the `clientRendered` branches, so on a
|
|
238
|
+
* widget with no `entry` every parameter is dropped: no configuration defaults are emitted, the
|
|
239
|
+
* receiver stays payload-driven, and `getWidgetConfiguration` rejects it at runtime. Generate time
|
|
240
|
+
* is the only place that can still say so.
|
|
241
|
+
*/
|
|
242
|
+
function warnOnAppIntentWithoutEntry(appIntent, hasEntry, context, warnings) {
|
|
243
|
+
if (hasEntry || !appIntent || appIntent.parameters.length === 0) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
warnings.push(`${context}.appIntent is ignored because the widget has no 'entry'. Configuration parameters ` +
|
|
247
|
+
`only apply to Dynamic Widgets. Add an 'entry' to make this one, or drop 'appIntent'.`);
|
|
248
|
+
}
|
|
249
|
+
function normalizeServerUpdate(serverUpdate, options) {
|
|
250
|
+
const { context, hasEntry, defaultIntervalMinutes, defaultRefresh, minimumIntervalMinutes, warnings } = options;
|
|
205
251
|
assertObject(serverUpdate, context);
|
|
206
|
-
|
|
207
|
-
if (
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
252
|
+
const url = resolveServerUpdateUrl(serverUpdate.url, context);
|
|
253
|
+
if (url.kind === 'invalid') {
|
|
254
|
+
throw new VoltraConfigNormalizationError(url.error);
|
|
255
|
+
}
|
|
256
|
+
if (url.kind === 'insecure') {
|
|
257
|
+
warnings.push(url.warning);
|
|
258
|
+
}
|
|
259
|
+
const interval = resolveServerUpdateInterval({
|
|
260
|
+
intervalMinutes: serverUpdate.intervalMinutes,
|
|
261
|
+
context,
|
|
262
|
+
hasEntry,
|
|
263
|
+
defaultIntervalMinutes,
|
|
264
|
+
minimumIntervalMinutes,
|
|
265
|
+
});
|
|
266
|
+
if (interval.kind === 'invalid') {
|
|
267
|
+
throw new VoltraConfigNormalizationError(interval.error);
|
|
268
|
+
}
|
|
269
|
+
if (interval.kind === 'clamped') {
|
|
270
|
+
warnings.push(interval.warning);
|
|
217
271
|
}
|
|
218
|
-
|
|
219
|
-
|
|
272
|
+
const refreshError = validateServerUpdateRefresh(serverUpdate.refresh, context);
|
|
273
|
+
if (refreshError) {
|
|
274
|
+
throw new VoltraConfigNormalizationError(refreshError);
|
|
220
275
|
}
|
|
221
276
|
return {
|
|
222
277
|
url: serverUpdate.url,
|
|
223
|
-
intervalMinutes:
|
|
278
|
+
intervalMinutes: interval.intervalMinutes,
|
|
224
279
|
refresh: serverUpdate.refresh ?? defaultRefresh,
|
|
225
280
|
};
|
|
226
281
|
}
|
|
227
|
-
function normalizeAndroidWidget(projectRoot, widget) {
|
|
282
|
+
function normalizeAndroidWidget(projectRoot, widget, warnings) {
|
|
228
283
|
assertObject(widget, 'android.widgets[]');
|
|
229
284
|
assertNonEmptyString(widget.id, 'android.widgets[].id');
|
|
230
285
|
assertValidWidgetId(widget.id, 'android.widgets[].id');
|
|
@@ -232,6 +287,14 @@ function normalizeAndroidWidget(projectRoot, widget) {
|
|
|
232
287
|
assertPositiveInteger(widget.targetCellHeight, `android.widgets[${widget.id}].targetCellHeight`);
|
|
233
288
|
assertOptionalPositiveInteger(widget.minCellWidth, `android.widgets[${widget.id}].minCellWidth`);
|
|
234
289
|
assertOptionalPositiveInteger(widget.minCellHeight, `android.widgets[${widget.id}].minCellHeight`);
|
|
290
|
+
assertOptionalPositiveInteger(widget.minWidth, `android.widgets[${widget.id}].minWidth`);
|
|
291
|
+
assertOptionalPositiveInteger(widget.minHeight, `android.widgets[${widget.id}].minHeight`);
|
|
292
|
+
assertOptionalPositiveInteger(widget.minResizeWidth, `android.widgets[${widget.id}].minResizeWidth`);
|
|
293
|
+
assertOptionalPositiveInteger(widget.minResizeHeight, `android.widgets[${widget.id}].minResizeHeight`);
|
|
294
|
+
assertOptionalPositiveInteger(widget.maxResizeWidth, `android.widgets[${widget.id}].maxResizeWidth`);
|
|
295
|
+
assertOptionalPositiveInteger(widget.maxResizeHeight, `android.widgets[${widget.id}].maxResizeHeight`);
|
|
296
|
+
const androidAppIntent = normalizeAndroidAppIntent(widget.appIntent, `android.widgets[${widget.id}].appIntent`);
|
|
297
|
+
warnOnAppIntentWithoutEntry(androidAppIntent, widget.entry !== undefined, `android.widgets[${widget.id}]`, warnings);
|
|
235
298
|
return {
|
|
236
299
|
...widget,
|
|
237
300
|
displayName: normalizeLabel(widget.displayName, `android.widgets[${widget.id}].displayName`),
|
|
@@ -240,16 +303,26 @@ function normalizeAndroidWidget(projectRoot, widget) {
|
|
|
240
303
|
initialStatePath: normalizeInitialStatePath(projectRoot, widget.initialStatePath, `android.widgets[${widget.id}].initialStatePath`),
|
|
241
304
|
previewImage: resolveOptionalPathFromProjectRoot(projectRoot, widget.previewImage),
|
|
242
305
|
previewLayout: resolveOptionalPathFromProjectRoot(projectRoot, widget.previewLayout),
|
|
243
|
-
appIntent:
|
|
306
|
+
appIntent: androidAppIntent,
|
|
244
307
|
serverUpdate: widget.serverUpdate
|
|
245
|
-
? normalizeServerUpdate(widget.serverUpdate,
|
|
308
|
+
? normalizeServerUpdate(widget.serverUpdate, {
|
|
309
|
+
context: `android.widgets[${widget.id}].serverUpdate`,
|
|
310
|
+
hasEntry: widget.entry !== undefined,
|
|
311
|
+
defaultIntervalMinutes: CLI_DEFAULTS.android.serverUpdateIntervalMinutes,
|
|
312
|
+
defaultRefresh: CLI_DEFAULTS.android.serverUpdateRefresh,
|
|
313
|
+
minimumIntervalMinutes: 15,
|
|
314
|
+
warnings,
|
|
315
|
+
})
|
|
246
316
|
: undefined,
|
|
247
317
|
};
|
|
248
318
|
}
|
|
249
|
-
function normalizeIOSWidget(projectRoot, widget) {
|
|
319
|
+
function normalizeIOSWidget(projectRoot, widget, warnings) {
|
|
250
320
|
assertObject(widget, 'ios.widgets[]');
|
|
251
321
|
assertNonEmptyString(widget.id, 'ios.widgets[].id');
|
|
252
322
|
assertValidWidgetId(widget.id, 'ios.widgets[].id');
|
|
323
|
+
if (widget.kind !== undefined) {
|
|
324
|
+
assertNonEmptyString(widget.kind, `ios.widgets[${widget.id}].kind`);
|
|
325
|
+
}
|
|
253
326
|
if (widget.supportedFamilies !== undefined) {
|
|
254
327
|
if (!Array.isArray(widget.supportedFamilies)) {
|
|
255
328
|
throw new VoltraConfigNormalizationError(`ios.widgets[${widget.id}].supportedFamilies must be an array`);
|
|
@@ -260,6 +333,8 @@ function normalizeIOSWidget(projectRoot, widget) {
|
|
|
260
333
|
}
|
|
261
334
|
}
|
|
262
335
|
}
|
|
336
|
+
const iosAppIntent = normalizeIOSAppIntent(widget.appIntent, `ios.widgets[${widget.id}].appIntent`);
|
|
337
|
+
warnOnAppIntentWithoutEntry(iosAppIntent, widget.entry !== undefined, `ios.widgets[${widget.id}]`, warnings);
|
|
263
338
|
return {
|
|
264
339
|
...widget,
|
|
265
340
|
displayName: normalizeLabel(widget.displayName, `ios.widgets[${widget.id}].displayName`),
|
|
@@ -267,9 +342,16 @@ function normalizeIOSWidget(projectRoot, widget) {
|
|
|
267
342
|
supportedFamilies: widget.supportedFamilies ?? [...CLI_DEFAULTS.ios.widgetFamilies],
|
|
268
343
|
entry: normalizeOptionalWidgetEntry(widget.entry, `ios.widgets[${widget.id}].entry`),
|
|
269
344
|
initialStatePath: normalizeInitialStatePath(projectRoot, widget.initialStatePath, `ios.widgets[${widget.id}].initialStatePath`),
|
|
270
|
-
appIntent:
|
|
345
|
+
appIntent: iosAppIntent,
|
|
271
346
|
serverUpdate: widget.serverUpdate
|
|
272
|
-
? normalizeServerUpdate(widget.serverUpdate,
|
|
347
|
+
? normalizeServerUpdate(widget.serverUpdate, {
|
|
348
|
+
context: `ios.widgets[${widget.id}].serverUpdate`,
|
|
349
|
+
hasEntry: widget.entry !== undefined,
|
|
350
|
+
defaultIntervalMinutes: CLI_DEFAULTS.ios.serverUpdateIntervalMinutes,
|
|
351
|
+
defaultRefresh: CLI_DEFAULTS.ios.serverUpdateRefresh,
|
|
352
|
+
minimumIntervalMinutes: 1,
|
|
353
|
+
warnings,
|
|
354
|
+
})
|
|
273
355
|
: undefined,
|
|
274
356
|
};
|
|
275
357
|
}
|
|
@@ -282,6 +364,21 @@ function assertUniqueWidgetIds(widgetIds, context) {
|
|
|
282
364
|
seen.add(widgetId);
|
|
283
365
|
}
|
|
284
366
|
}
|
|
367
|
+
/**
|
|
368
|
+
* WidgetKit identifies a placed widget by extension bundle id + kind, so two widgets sharing a kind
|
|
369
|
+
* would fight over the same Home Screen instances. Compared after defaulting, which also catches a
|
|
370
|
+
* custom kind that collides with another widget's `Voltra_Widget_<id>`.
|
|
371
|
+
*/
|
|
372
|
+
function assertUniqueIOSWidgetKinds(widgets) {
|
|
373
|
+
const seen = new Set();
|
|
374
|
+
for (const widget of widgets) {
|
|
375
|
+
const kind = iosWidgetKind(widget);
|
|
376
|
+
if (seen.has(kind)) {
|
|
377
|
+
throw new VoltraConfigNormalizationError(`Duplicate ios widget kind '${kind}'`);
|
|
378
|
+
}
|
|
379
|
+
seen.add(kind);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
285
382
|
function assertValidWidgetId(widgetId, context) {
|
|
286
383
|
if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(widgetId)) {
|
|
287
384
|
throw new VoltraConfigNormalizationError(`${context} must start with a letter or underscore and contain only alphanumeric characters and underscores`);
|
|
@@ -292,7 +389,7 @@ function assertValidIOSTargetName(targetName, context) {
|
|
|
292
389
|
throw new VoltraConfigNormalizationError(`${context} must start with a letter and contain only letters, numbers, and underscores`);
|
|
293
390
|
}
|
|
294
391
|
}
|
|
295
|
-
function normalizeAndroidConfig(projectRoot, config) {
|
|
392
|
+
function normalizeAndroidConfig(warnings, projectRoot, config) {
|
|
296
393
|
if (config === undefined) {
|
|
297
394
|
return undefined;
|
|
298
395
|
}
|
|
@@ -310,7 +407,7 @@ function normalizeAndroidConfig(projectRoot, config) {
|
|
|
310
407
|
if (config.widgets !== undefined && !Array.isArray(config.widgets)) {
|
|
311
408
|
throw new VoltraConfigNormalizationError('android.widgets must be an array');
|
|
312
409
|
}
|
|
313
|
-
const widgets = (config.widgets ?? []).map((widget) => normalizeAndroidWidget(projectRoot, widget));
|
|
410
|
+
const widgets = (config.widgets ?? []).map((widget) => normalizeAndroidWidget(projectRoot, widget, warnings));
|
|
314
411
|
assertUniqueWidgetIds(widgets.map((widget) => widget.id), 'android');
|
|
315
412
|
return {
|
|
316
413
|
enableNotifications: config.enableNotifications ?? CLI_DEFAULTS.android.enableNotifications,
|
|
@@ -325,25 +422,25 @@ function normalizeAndroidConfig(projectRoot, config) {
|
|
|
325
422
|
},
|
|
326
423
|
};
|
|
327
424
|
}
|
|
328
|
-
function normalizeIOSConfig(projectRoot, config) {
|
|
425
|
+
function normalizeIOSConfig(warnings, projectRoot, config) {
|
|
329
426
|
if (config === undefined) {
|
|
330
427
|
return undefined;
|
|
331
428
|
}
|
|
332
429
|
assertObject(config, 'ios');
|
|
333
430
|
assertOptionalBoolean(config.enablePushNotifications, 'ios.enablePushNotifications');
|
|
334
|
-
|
|
431
|
+
assertOptionalPerConfigurationString(config.groupIdentifier, 'ios.groupIdentifier');
|
|
335
432
|
assertOptionalString(config.deploymentTarget, 'ios.deploymentTarget');
|
|
336
433
|
assertOptionalString(config.targetName, 'ios.targetName');
|
|
337
434
|
assertOptionalStringArray(config.fonts, 'ios.fonts');
|
|
338
435
|
assertOptionalString(config.userImagesPath, 'ios.userImagesPath');
|
|
339
|
-
|
|
436
|
+
assertOptionalPerConfigurationString(config.keychainGroup, 'ios.keychainGroup');
|
|
340
437
|
if (config.project !== undefined) {
|
|
341
438
|
assertObject(config.project, 'ios.project');
|
|
342
439
|
assertOptionalString(config.project.rootDir, 'ios.project.rootDir');
|
|
343
440
|
assertOptionalString(config.project.xcodeprojPath, 'ios.project.xcodeprojPath');
|
|
344
441
|
assertOptionalString(config.project.mainTargetName, 'ios.project.mainTargetName');
|
|
345
442
|
assertOptionalString(config.project.infoPlistPath, 'ios.project.infoPlistPath');
|
|
346
|
-
|
|
443
|
+
assertOptionalPerConfigurationString(config.project.entitlementsPath, 'ios.project.entitlementsPath');
|
|
347
444
|
assertOptionalString(config.project.podfilePath, 'ios.project.podfilePath');
|
|
348
445
|
}
|
|
349
446
|
if (config.widgets !== undefined && !Array.isArray(config.widgets)) {
|
|
@@ -352,8 +449,9 @@ function normalizeIOSConfig(projectRoot, config) {
|
|
|
352
449
|
if (config.targetName !== undefined) {
|
|
353
450
|
assertValidIOSTargetName(config.targetName, 'ios.targetName');
|
|
354
451
|
}
|
|
355
|
-
const widgets = (config.widgets ?? []).map((widget) => normalizeIOSWidget(projectRoot, widget));
|
|
452
|
+
const widgets = (config.widgets ?? []).map((widget) => normalizeIOSWidget(projectRoot, widget, warnings));
|
|
356
453
|
assertUniqueWidgetIds(widgets.map((widget) => widget.id), 'ios');
|
|
454
|
+
assertUniqueIOSWidgetKinds(widgets);
|
|
357
455
|
return {
|
|
358
456
|
enablePushNotifications: config.enablePushNotifications ?? CLI_DEFAULTS.ios.enablePushNotifications,
|
|
359
457
|
groupIdentifier: config.groupIdentifier,
|
|
@@ -368,7 +466,7 @@ function normalizeIOSConfig(projectRoot, config) {
|
|
|
368
466
|
xcodeprojPath: resolveOptionalPathFromProjectRoot(projectRoot, config.project?.xcodeprojPath),
|
|
369
467
|
mainTargetName: config.project?.mainTargetName,
|
|
370
468
|
infoPlistPath: resolveOptionalPathFromProjectRoot(projectRoot, config.project?.infoPlistPath),
|
|
371
|
-
entitlementsPath:
|
|
469
|
+
entitlementsPath: resolveOptionalPerConfigurationPath(projectRoot, config.project?.entitlementsPath),
|
|
372
470
|
podfilePath: resolveOptionalPathFromProjectRoot(projectRoot, config.project?.podfilePath),
|
|
373
471
|
},
|
|
374
472
|
};
|
|
@@ -377,12 +475,33 @@ export function normalizeVoltraConfig(loadedConfig) {
|
|
|
377
475
|
assertObject(loadedConfig.config, 'config');
|
|
378
476
|
assertOptionalString(loadedConfig.config.projectRoot, 'projectRoot');
|
|
379
477
|
const projectRoot = resolvePathFromProjectRoot(loadedConfig.configDir, loadedConfig.config.projectRoot ?? loadedConfig.configDir);
|
|
478
|
+
const warnings = [];
|
|
479
|
+
const android = normalizeAndroidConfig(warnings, projectRoot, loadedConfig.config.android);
|
|
480
|
+
const ios = normalizeIOSConfig(warnings, projectRoot, loadedConfig.config.ios);
|
|
481
|
+
assertServerDrivenDynamicWidgetsAreSupported(ios);
|
|
380
482
|
return {
|
|
381
483
|
configPath: loadedConfig.configPath,
|
|
382
484
|
configDir: loadedConfig.configDir,
|
|
383
485
|
projectRoot,
|
|
384
|
-
android
|
|
385
|
-
ios
|
|
486
|
+
android,
|
|
487
|
+
ios,
|
|
488
|
+
warnings,
|
|
386
489
|
};
|
|
387
490
|
}
|
|
491
|
+
/**
|
|
492
|
+
* A Dynamic Widget commits fetched props to the App Group so the widget extension can read them,
|
|
493
|
+
* so a server-driven one without a `groupIdentifier` would fetch and have nowhere to put the
|
|
494
|
+
* result.
|
|
495
|
+
*/
|
|
496
|
+
function assertServerDrivenDynamicWidgetsAreSupported(ios) {
|
|
497
|
+
if (ios === undefined || ios.groupIdentifier !== undefined) {
|
|
498
|
+
return;
|
|
499
|
+
}
|
|
500
|
+
for (const widget of ios.widgets) {
|
|
501
|
+
if (widget.entry !== undefined && widget.serverUpdate !== undefined) {
|
|
502
|
+
throw new VoltraConfigNormalizationError(`ios.widgets[${widget.id}] has both entry and serverUpdate, which requires ios.groupIdentifier ` +
|
|
503
|
+
'so fetched props can be shared with the widget extension.');
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
388
507
|
//# sourceMappingURL=normalize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/config/normalize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/config/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function isPerConfigurationMap(value) {
|
|
2
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Pairs a per-build-configuration value with the project's real build configurations, in the
|
|
6
|
+
* project's own order. Keys that name no build configuration, and build configurations the value
|
|
7
|
+
* does not cover, are reported before anything is written to the project.
|
|
8
|
+
*/
|
|
9
|
+
export function getValuesByBuildConfiguration(value, buildConfigurationNames, context, createError) {
|
|
10
|
+
const knownNames = `This project has: ${buildConfigurationNames.join(', ')}.`;
|
|
11
|
+
const unknownNames = Object.keys(value).filter((name) => !buildConfigurationNames.includes(name));
|
|
12
|
+
if (unknownNames.length > 0) {
|
|
13
|
+
throw createError(`${context} names unknown build configurations: ${unknownNames.join(', ')}. ${knownNames}`);
|
|
14
|
+
}
|
|
15
|
+
const valuesByBuildConfiguration = new Map();
|
|
16
|
+
for (const buildConfigurationName of buildConfigurationNames) {
|
|
17
|
+
const configurationValue = value[buildConfigurationName];
|
|
18
|
+
if (configurationValue === undefined) {
|
|
19
|
+
throw createError(`${context} has no value for build configuration '${buildConfigurationName}'. ${knownNames}`);
|
|
20
|
+
}
|
|
21
|
+
valuesByBuildConfiguration.set(buildConfigurationName, configurationValue);
|
|
22
|
+
}
|
|
23
|
+
return valuesByBuildConfiguration;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=perConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perConfiguration.js","sourceRoot":"","sources":["../../../src/config/perConfiguration.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,qBAAqB,CACnC,KAA2C;IAE3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAA6B,EAC7B,uBAAiC,EACjC,OAAe,EACf,WAAuC;IAEvC,MAAM,UAAU,GAAG,qBAAqB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAEjG,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,CAAC,GAAG,OAAO,wCAAwC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC,CAAA;IAC/G,CAAC;IAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE5D,KAAK,MAAM,sBAAsB,IAAI,uBAAuB,EAAE,CAAC;QAC7D,MAAM,kBAAkB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAExD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,WAAW,CAAC,GAAG,OAAO,0CAA0C,sBAAsB,MAAM,UAAU,EAAE,CAAC,CAAA;QACjH,CAAC;QAED,0BAA0B,CAAC,GAAG,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,0BAA0B,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config rules for `serverUpdate`, shared by the Expo plugins and the `voltra` CLI.
|
|
3
|
+
*
|
|
4
|
+
* `serverUpdate` marks a widget as server-driven for both render engines. On a widget with
|
|
5
|
+
* `entry` the device fetches a JSON object and hands it to the bundled JS as props; without
|
|
6
|
+
* `entry` the server returns a full Voltra payload. Widgets without `entry` keep exactly the
|
|
7
|
+
* rules they had before ADR 0002, so no existing config breaks.
|
|
8
|
+
*
|
|
9
|
+
* `url` is optional. `serverUpdate: {}` means "server-driven, URL supplied at runtime" through
|
|
10
|
+
* `setWidgetServerUpdate`, which covers per-tenant backends whose URL is only known after login.
|
|
11
|
+
*
|
|
12
|
+
* These helpers report problems instead of throwing so each caller can raise its own error type.
|
|
13
|
+
*
|
|
14
|
+
* The `@use-voltra/expo-plugin` package holds the other copy of this module, shared by the
|
|
15
|
+
* Expo config plugins; keep the two in sync.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Interval floor and default for a widget with `entry`. WorkManager cannot run periodic work
|
|
19
|
+
* more often than every 15 minutes, and WidgetKit stretches timelines requested closer together
|
|
20
|
+
* than five minutes, so a smaller number would only mislead.
|
|
21
|
+
*/
|
|
22
|
+
export const DYNAMIC_WIDGET_SERVER_UPDATE_INTERVAL_MINUTES = 15;
|
|
23
|
+
/** Hosts allowed over plain `http`, for talking to a dev server from a simulator or emulator. */
|
|
24
|
+
const LOCAL_HTTP_HOSTS = new Set(['localhost', '127.0.0.1', '::1', '10.0.2.2', '10.0.3.2']);
|
|
25
|
+
/**
|
|
26
|
+
* Resolves the interval a widget should be scheduled on.
|
|
27
|
+
*
|
|
28
|
+
* A widget with `entry` is clamped up to {@link DYNAMIC_WIDGET_SERVER_UPDATE_INTERVAL_MINUTES}
|
|
29
|
+
* with a warning, because a shorter interval is not something either platform can honour. A
|
|
30
|
+
* payload widget keeps the platform's existing rule and is rejected below the floor.
|
|
31
|
+
*/
|
|
32
|
+
export function resolveServerUpdateInterval(options) {
|
|
33
|
+
const { intervalMinutes, context, hasEntry, defaultIntervalMinutes, minimumIntervalMinutes } = options;
|
|
34
|
+
const fallback = hasEntry ? DYNAMIC_WIDGET_SERVER_UPDATE_INTERVAL_MINUTES : defaultIntervalMinutes;
|
|
35
|
+
if (intervalMinutes === undefined) {
|
|
36
|
+
return { kind: 'ok', intervalMinutes: fallback };
|
|
37
|
+
}
|
|
38
|
+
if (typeof intervalMinutes !== 'number' || !Number.isFinite(intervalMinutes)) {
|
|
39
|
+
return { kind: 'invalid', error: `${context}.intervalMinutes must be a number` };
|
|
40
|
+
}
|
|
41
|
+
if (!Number.isInteger(intervalMinutes)) {
|
|
42
|
+
return { kind: 'invalid', error: `${context}.intervalMinutes must be an integer` };
|
|
43
|
+
}
|
|
44
|
+
if (hasEntry) {
|
|
45
|
+
if (intervalMinutes < DYNAMIC_WIDGET_SERVER_UPDATE_INTERVAL_MINUTES) {
|
|
46
|
+
return {
|
|
47
|
+
kind: 'clamped',
|
|
48
|
+
intervalMinutes: DYNAMIC_WIDGET_SERVER_UPDATE_INTERVAL_MINUTES,
|
|
49
|
+
warning: `${context}.intervalMinutes is ${intervalMinutes}, below the ` +
|
|
50
|
+
`${DYNAMIC_WIDGET_SERVER_UPDATE_INTERVAL_MINUTES} minute floor for widgets with an entry. ` +
|
|
51
|
+
`Using ${DYNAMIC_WIDGET_SERVER_UPDATE_INTERVAL_MINUTES}.`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return { kind: 'ok', intervalMinutes };
|
|
55
|
+
}
|
|
56
|
+
if (intervalMinutes < minimumIntervalMinutes) {
|
|
57
|
+
return { kind: 'invalid', error: `${context}.intervalMinutes must be at least ${minimumIntervalMinutes}` };
|
|
58
|
+
}
|
|
59
|
+
return { kind: 'ok', intervalMinutes };
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Checks `serverUpdate.url`. An absent URL is fine — the app supplies it at runtime through
|
|
63
|
+
* `setWidgetServerUpdate`.
|
|
64
|
+
*
|
|
65
|
+
* A URL that is not an absolute `http`/`https` URL is rejected: no platform HTTP stack here
|
|
66
|
+
* accepts one, so such a config could only ever have failed to fetch. Plain `http` to a
|
|
67
|
+
* non-local host is reported as insecure rather than rejected — App Transport Security and
|
|
68
|
+
* Android's cleartext policy already block it in a release build, and rejecting it outright
|
|
69
|
+
* would break configs that point at a LAN dev server.
|
|
70
|
+
*/
|
|
71
|
+
export function resolveServerUpdateUrl(url, context) {
|
|
72
|
+
if (url === undefined) {
|
|
73
|
+
return { kind: 'ok' };
|
|
74
|
+
}
|
|
75
|
+
if (typeof url !== 'string' || !url.trim()) {
|
|
76
|
+
return { kind: 'invalid', error: `${context}.url must be a non-empty string` };
|
|
77
|
+
}
|
|
78
|
+
let parsed;
|
|
79
|
+
try {
|
|
80
|
+
parsed = new URL(url);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return { kind: 'invalid', error: `${context}.url must be an absolute http(s) URL, received '${url}'` };
|
|
84
|
+
}
|
|
85
|
+
if (parsed.protocol === 'https:') {
|
|
86
|
+
return { kind: 'ok' };
|
|
87
|
+
}
|
|
88
|
+
if (parsed.protocol !== 'http:') {
|
|
89
|
+
return { kind: 'invalid', error: `${context}.url must be an absolute http(s) URL, received '${url}'` };
|
|
90
|
+
}
|
|
91
|
+
if (isLocalHttpHost(parsed.hostname)) {
|
|
92
|
+
return { kind: 'ok' };
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
kind: 'insecure',
|
|
96
|
+
warning: `${context}.url uses plain http ('${url}'). Release builds block cleartext traffic, so the ` +
|
|
97
|
+
'widget will not fetch outside a development build. Use https, or a local dev host ' +
|
|
98
|
+
`(${[...LOCAL_HTTP_HOSTS].join(', ')}).`,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/** True for the hosts Voltra allows over plain `http` — dev servers reachable from a simulator. */
|
|
102
|
+
export function isLocalHttpHost(hostname) {
|
|
103
|
+
return LOCAL_HTTP_HOSTS.has(hostname.replace(/^\[|\]$/g, ''));
|
|
104
|
+
}
|
|
105
|
+
/** Validates `serverUpdate.refresh`. Returns an error message, or `undefined` when it is fine. */
|
|
106
|
+
export function validateServerUpdateRefresh(refresh, context) {
|
|
107
|
+
if (refresh !== undefined && typeof refresh !== 'boolean') {
|
|
108
|
+
return `${context}.refresh must be a boolean`;
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=serverUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverUpdate.js","sourceRoot":"","sources":["../../../src/config/serverUpdate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Default prefix of a widget's WidgetKit `kind`: `Voltra_Widget_<id>`. Mirrors `VoltraStorageKeys.widgetKindPrefix`. */
|
|
2
|
+
export const IOS_WIDGET_KIND_PREFIX = 'Voltra_Widget_';
|
|
3
|
+
/** WidgetKit `kind` of a widget: the `kind` option when set, else `Voltra_Widget_<id>`. */
|
|
4
|
+
export function iosWidgetKind(widget) {
|
|
5
|
+
return widget.kind ?? `${IOS_WIDGET_KIND_PREFIX}${widget.id}`;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* `{ id: kind }` for the widgets that pin a custom `kind`, or undefined when none does.
|
|
9
|
+
* Written to both Info.plists (`Voltra_WidgetKinds`) so native code maps ids to kinds and back.
|
|
10
|
+
*/
|
|
11
|
+
export function iosWidgetKindOverrides(widgets) {
|
|
12
|
+
const overrides = {};
|
|
13
|
+
for (const widget of widgets) {
|
|
14
|
+
if (widget.kind !== undefined) {
|
|
15
|
+
overrides[widget.id] = widget.kind;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return Object.keys(overrides).length > 0 ? overrides : undefined;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=widgetKind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widgetKind.js","sourceRoot":"","sources":["../../../src/config/widgetKind.ts"],"names":[],"mappings":"AAEA,yHAAyH;AACzH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAA;AAEtD,2FAA2F;AAC3F,MAAM,UAAU,aAAa,CAAC,MAA4C;IACxE,OAAO,MAAM,CAAC,IAAI,IAAI,GAAG,sBAAsB,GAAG,MAAM,CAAC,EAAE,EAAE,CAAA;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA+C;IAE/C,MAAM,SAAS,GAA2B,EAAE,CAAA;IAE5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAA;QACpC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC"}
|
|
@@ -25,6 +25,14 @@ export function getMissingPlatformPackages(projectRoot, platform) {
|
|
|
25
25
|
export function requirePlatformPackage(projectRoot, platform) {
|
|
26
26
|
return createProjectRequire(projectRoot)(getPlatformPackageName(platform));
|
|
27
27
|
}
|
|
28
|
+
export function getPlatformClientPackageVersion(projectRoot, platform) {
|
|
29
|
+
const packageName = getPlatformClientPackageName(platform);
|
|
30
|
+
const manifest = createProjectRequire(projectRoot)(`${packageName}/package.json`);
|
|
31
|
+
if (typeof manifest.version !== 'string' || manifest.version.length === 0) {
|
|
32
|
+
throw new Error(`Package ${packageName} does not declare a valid version.`);
|
|
33
|
+
}
|
|
34
|
+
return manifest.version;
|
|
35
|
+
}
|
|
28
36
|
export function getMissingPlatformPackageMessage(platform, packageNames = getRequiredPlatformPackageNames(platform)) {
|
|
29
37
|
const packageLabel = packageNames.length === 1 ? 'package' : 'packages';
|
|
30
38
|
const verb = packageNames.length === 1 ? 'is' : 'are';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformPackages.js","sourceRoot":"","sources":["../../../src/dependencies/platformPackages.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI3C,MAAM,sBAAsB,GAAmC;IAC7D,OAAO,EAAE,qBAAqB;IAC9B,GAAG,EAAE,iBAAiB;CACvB,CAAA;AAED,MAAM,6BAA6B,GAAmC;IACpE,OAAO,EAAE,4BAA4B;IACrC,GAAG,EAAE,wBAAwB;CAC9B,CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAwB;IAC7D,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAwB;IACnE,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,WAAmB,EAAE,QAAwB;IACtF,OAAO,0BAA0B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,WAAmB,EAAE,QAAwB;IACtF,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;IACxD,MAAM,YAAY,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAA;IAE9D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;AAC9F,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAW,WAAmB,EAAE,QAAwB;IAC5F,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAa,CAAA;AACxF,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAwB,EACxB,YAAY,GAAG,+BAA+B,CAAC,QAAQ,CAAC;IAExD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IACrD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAEzD,OAAO,YAAY,YAAY,IAAI,iBAAiB,CAClD,YAAY,CACb,IAAI,IAAI,8CAA8C,OAAO,qCAAqC,QAAQ,gBAAgB,CAAA;AAC7H,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAwB;IAC/D,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,SAAS,iBAAiB,CAAC,cAA2B,EAAE,WAAmB;IACzE,IAAI,CAAC;QACH,cAAc,CAAC,OAAO,CAAC,GAAG,WAAW,eAAe,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAsB;IAC/C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAA;AAC/F,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;AAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"platformPackages.js","sourceRoot":"","sources":["../../../src/dependencies/platformPackages.ts"],"names":[],"mappings":"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"}
|