@lvce-editor/extension-management-worker 4.30.2 → 4.30.3
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.
|
@@ -3244,12 +3244,6 @@ const getStatusBarItems = async () => {
|
|
|
3244
3244
|
return results.flat();
|
|
3245
3245
|
};
|
|
3246
3246
|
|
|
3247
|
-
const contributesViews = extension => {
|
|
3248
|
-
return Array.isArray(extension.views) && extension.views.length > 0;
|
|
3249
|
-
};
|
|
3250
|
-
const getManifestView = (extension, id) => {
|
|
3251
|
-
return extension.views?.find(view => view.id === id);
|
|
3252
|
-
};
|
|
3253
3247
|
const getCss = (extension, manifestView, assetDir, platform) => {
|
|
3254
3248
|
const css = manifestView?.css;
|
|
3255
3249
|
if (typeof css !== 'string' || css.length === 0) {
|
|
@@ -3260,13 +3254,16 @@ const getCss = (extension, manifestView, assetDir, platform) => {
|
|
|
3260
3254
|
browser: css
|
|
3261
3255
|
}, assetDir, platform);
|
|
3262
3256
|
};
|
|
3257
|
+
|
|
3263
3258
|
const isAbsoluteIcon = icon => {
|
|
3264
3259
|
return icon.startsWith('http://') || icon.startsWith('https://') || icon.startsWith('file://') || icon.startsWith('/');
|
|
3265
3260
|
};
|
|
3261
|
+
|
|
3266
3262
|
const isRelativeIconPath = icon => {
|
|
3267
3263
|
return icon.startsWith('./') || icon.startsWith('../') || icon.includes('/') || /\.(?:bmp|gif|ico|jpe?g|png|svg|webp)$/i.test(icon);
|
|
3268
3264
|
};
|
|
3269
|
-
|
|
3265
|
+
|
|
3266
|
+
const getIcon = (extension, manifestView, assetDir, platform) => {
|
|
3270
3267
|
const manifestIcon = manifestView?.icon;
|
|
3271
3268
|
if (typeof manifestIcon === 'string' && manifestIcon.length > 0) {
|
|
3272
3269
|
if (isAbsoluteIcon(manifestIcon) || !isRelativeIconPath(manifestIcon)) {
|
|
@@ -3277,8 +3274,9 @@ const getIcon = (extension, manifestView, registeredView, assetDir, platform) =>
|
|
|
3277
3274
|
browser: manifestIcon
|
|
3278
3275
|
}, assetDir, platform);
|
|
3279
3276
|
}
|
|
3280
|
-
return
|
|
3277
|
+
return '';
|
|
3281
3278
|
};
|
|
3279
|
+
|
|
3282
3280
|
const getIframe = (extension, manifestView, assetDir, platform) => {
|
|
3283
3281
|
const iframe = manifestView?.iframe;
|
|
3284
3282
|
if (!iframe || typeof iframe.path !== 'string' || iframe.path.length === 0) {
|
|
@@ -3294,9 +3292,9 @@ const getIframe = (extension, manifestView, assetDir, platform) => {
|
|
|
3294
3292
|
}, assetDir, platform)
|
|
3295
3293
|
};
|
|
3296
3294
|
};
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
const
|
|
3295
|
+
|
|
3296
|
+
const toView = (extension, manifestView, assetDir, platform) => {
|
|
3297
|
+
const id = manifestView.id || '';
|
|
3300
3298
|
const css = getCss(extension, manifestView, assetDir, platform);
|
|
3301
3299
|
const selector = Array.isArray(manifestView?.selector) ? manifestView.selector.filter(item => typeof item === 'string') : undefined;
|
|
3302
3300
|
const type = typeof manifestView?.type === 'string' ? manifestView.type : undefined;
|
|
@@ -3304,8 +3302,8 @@ const toView = (extension, registeredView, assetDir, platform) => {
|
|
|
3304
3302
|
...(css && {
|
|
3305
3303
|
css
|
|
3306
3304
|
}),
|
|
3307
|
-
...(
|
|
3308
|
-
eventListeners:
|
|
3305
|
+
...(Array.isArray(manifestView.eventListeners) && {
|
|
3306
|
+
eventListeners: manifestView.eventListeners
|
|
3309
3307
|
}),
|
|
3310
3308
|
...(selector && {
|
|
3311
3309
|
selector
|
|
@@ -3314,37 +3312,49 @@ const toView = (extension, registeredView, assetDir, platform) => {
|
|
|
3314
3312
|
type
|
|
3315
3313
|
}),
|
|
3316
3314
|
extensionId: getExtensionId$1(extension),
|
|
3317
|
-
icon: getIcon(extension, manifestView,
|
|
3315
|
+
icon: getIcon(extension, manifestView, assetDir, platform),
|
|
3318
3316
|
id,
|
|
3319
3317
|
iframe: getIframe(extension, manifestView, assetDir, platform),
|
|
3320
|
-
kind:
|
|
3321
|
-
showSideBarHeader: manifestView
|
|
3322
|
-
title:
|
|
3318
|
+
kind: manifestView.kind || '',
|
|
3319
|
+
showSideBarHeader: manifestView.showSideBarHeader !== false,
|
|
3320
|
+
title: manifestView.title || id
|
|
3323
3321
|
};
|
|
3324
3322
|
};
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
const getExtensionViews = async (extension, assetDir, platform) => {
|
|
3329
|
-
const rpc = await getRpc$1(extension, assetDir, platform);
|
|
3330
|
-
const snapshot = await getRpcViewRegistrySnapshot(rpc);
|
|
3331
|
-
if (!Array.isArray(snapshot.views)) {
|
|
3323
|
+
|
|
3324
|
+
const getExtensionViews = (extension, assetDir, platform) => {
|
|
3325
|
+
if (!Array.isArray(extension.views)) {
|
|
3332
3326
|
return [];
|
|
3333
3327
|
}
|
|
3334
|
-
return
|
|
3328
|
+
return extension.views.filter(view => view && typeof view.id === 'string').map(view => toView(extension, view, assetDir, platform));
|
|
3335
3329
|
};
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
return results.flat();
|
|
3330
|
+
|
|
3331
|
+
const contributesViews = extension => {
|
|
3332
|
+
return Array.isArray(extension.views) && extension.views.length > 0;
|
|
3340
3333
|
};
|
|
3334
|
+
|
|
3335
|
+
const shouldLoadViews = extension => {
|
|
3336
|
+
if (!contributesViews(extension)) {
|
|
3337
|
+
return false;
|
|
3338
|
+
}
|
|
3339
|
+
if (!isExtensionIsolated(extension)) {
|
|
3340
|
+
warn(`Extension "${getExtensionId$1(extension)}" contributes activity bar views but is not isolated. The views will not be shown. Add "isolated": true to extension.json to enable them.`);
|
|
3341
|
+
return false;
|
|
3342
|
+
}
|
|
3343
|
+
return true;
|
|
3344
|
+
};
|
|
3345
|
+
|
|
3346
|
+
const getViewsFromExtensions = (extensions, assetDir, platform) => {
|
|
3347
|
+
const matchingExtensions = extensions.filter(shouldLoadViews);
|
|
3348
|
+
return matchingExtensions.flatMap(extension => getExtensionViews(extension, assetDir, platform));
|
|
3349
|
+
};
|
|
3350
|
+
|
|
3341
3351
|
const getViews = async (assetDir, platform) => {
|
|
3342
3352
|
const {
|
|
3343
3353
|
assetDir: resolvedAssetDir,
|
|
3344
3354
|
platform: resolvedPlatform
|
|
3345
3355
|
} = await getRuntimeContext(assetDir, platform);
|
|
3346
3356
|
const extensions = await getAllExtensions(resolvedAssetDir, resolvedPlatform);
|
|
3347
|
-
return
|
|
3357
|
+
return getViewsFromExtensions(extensions, resolvedAssetDir, resolvedPlatform);
|
|
3348
3358
|
};
|
|
3349
3359
|
|
|
3350
3360
|
const handleData = () => {};
|