@@ -1,20 +1,47 @@
|
||||
/**
|
||||
* Register capability packs that ship in the default host.
|
||||
* Static imports so bare-pack always includes bare-media / ffmpeg in the graph.
|
||||
* Static imports so bare-pack always includes media / fs / sqlite / net in the graph.
|
||||
*/
|
||||
|
||||
import * as bareMedia from 'bare-media';
|
||||
import * as bareFfmpeg from 'bare-ffmpeg';
|
||||
import registry from './capabilities/registry.js';
|
||||
import mediaMod from './capabilities/media.js';
|
||||
import fsMod from './capabilities/fs.js';
|
||||
import sqliteMod from './capabilities/sqlite.js';
|
||||
import netMod from './capabilities/net.js';
|
||||
import { logErr } from './boot.mjs';
|
||||
|
||||
export function registerDefaultCapabilityPacks() {
|
||||
const pack = mediaMod.createMediaPack(bareMedia, bareFfmpeg);
|
||||
function loadPack(pack, label) {
|
||||
registry.registerPack(pack);
|
||||
if (typeof pack.onLoad === 'function') pack.onLoad();
|
||||
logErr('capability pack registered: media (live encode enabled)');
|
||||
return ['media'];
|
||||
logErr('capability pack registered: ' + label);
|
||||
}
|
||||
|
||||
export function registerDefaultCapabilityPacks() {
|
||||
const ids = [];
|
||||
const media = mediaMod.createMediaPack(bareMedia, bareFfmpeg);
|
||||
loadPack(media, 'media (live encode enabled)');
|
||||
ids.push('media');
|
||||
|
||||
loadPack(fsMod.createFsPack(), 'fs (allowlisted files/)');
|
||||
ids.push('fs');
|
||||
|
||||
try {
|
||||
loadPack(sqliteMod.createSqlitePack(), 'sqlite');
|
||||
ids.push('sqlite');
|
||||
} catch (err) {
|
||||
logErr('sqlite pack skipped: ' + (err && err.message));
|
||||
}
|
||||
|
||||
try {
|
||||
loadPack(netMod.createNetPack(), 'net (public http(s) only)');
|
||||
ids.push('net');
|
||||
} catch (err) {
|
||||
logErr('net pack skipped: ' + (err && err.message));
|
||||
}
|
||||
|
||||
return ids;
|
||||
}
|
||||
|
||||
/** Touch bundled modules so bare-pack + --extract-addons keep them in the host. */
|
||||
|
||||
Reference in New Issue
Block a user