@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
41 lines • 1.88 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const schema_1 = require("@sprucelabs/schema");
const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
const setupVscodeOptions_schema_1 = __importDefault(require("./../../../.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema"));
const AbstractAction_1 = __importDefault(require("../../AbstractAction"));
const optionsSchema = (0, schema_1.buildSchema)({
id: 'setupSandboxOptions',
name: 'Setup sandbox options',
fields: {},
});
class SetupAction extends AbstractAction_1.default {
optionsSchema = setupVscodeOptions_schema_1.default;
invocationMessage = 'Setting up sandbox support... 🏝';
async execute() {
const listeners = this.Store('listener');
const existing = await listeners.loadListeners();
const version = existing.find((e) => e.eventNamespace === 'skill')?.version;
const createListenerAction = this.Action('event', 'listen');
const results = await createListenerAction.execute({
namespace: 'skill',
eventName: 'will-boot',
version: version ?? spruce_skill_utils_1.versionUtil.generateVersion().dirValue,
});
if (results.errors) {
return results;
}
const match = (results.files ?? []).find((file) => file.name.search('will-boot') === 0);
if (!match) {
throw new Error('file was not generated');
}
match.description = 'Used for recovering from a sandbox reset.';
await this.Writer('sandbox').writeDidBootListener(match.path);
return results;
}
}
exports.default = SetupAction;
//# sourceMappingURL=SetupAction.js.map