Save extension URLs in project.json
This commit is contained in:
1 parent
333a6601ce
commit
a4291cef17
2 files changed
+18
No files matched your search
@@ -609,6 +609,23 @@ const serialize = function (runtime, targetId, {allowOptimization = true} = {})
|
||||
// Assemble extension list
|
||||
obj.extensions = Array.from(extensions);
|
||||
|
||||
// Save list of URLs to load the current extensions
|
||||
// Extension manager only exists when runtime is wrapped by VirtualMachine
|
||||
if (runtime.extensionManager) {
|
||||
// Not all the URLs that are loaded are necessarily used.
|
||||
const extensionURLs = runtime.extensionManager.getExtensionURLs();
|
||||
const urlsToSave = [];
|
||||
for (const extension of extensions) {
|
||||
const url = extensionURLs[extension];
|
||||
if (typeof url === 'string') {
|
||||
urlsToSave.push(url);
|
||||
}
|
||||
}
|
||||
if (urlsToSave.length) {
|
||||
obj.extensionURLs = urlsToSave;
|
||||
}
|
||||
}
|
||||
|
||||
// Assemble metadata
|
||||
const meta = Object.create(null);
|
||||
meta.semver = '3.0.0';
|
||||
|
||||
@@ -197,6 +197,7 @@ class VirtualMachine extends EventEmitter {
|
||||
});
|
||||
|
||||
this.extensionManager = new ExtensionManager(this.runtime);
|
||||
this.runtime.extensionManager = this.extensionManager;
|
||||
|
||||
// Load core extensions
|
||||
for (const id of CORE_EXTENSIONS) {
|
||||
|
||||
Reference in new issue
Block a user