@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
40 lines • 1.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils");
const SpruceError_1 = __importDefault(require("../../../errors/SpruceError"));
const NodeWriter_1 = require("../../node/writers/NodeWriter");
class Updater {
feature;
emitter;
constructor(skill, emitter) {
this.emitter = emitter;
this.feature = skill;
}
async updateFiles(normalizedOptions) {
const skillWriter = this.feature.Writer('skill', {
upgradeMode: normalizedOptions.upgradeMode,
});
const pkgService = this.feature.Service('pkg');
const name = pkgService.get('name');
const description = pkgService.get('description');
const results = await this.emitter.emit('skill.will-write-directory-template');
const { payloads } = spruce_event_utils_1.eventResponseUtil.getAllResponsePayloadsAndErrors(results, SpruceError_1.default);
const filesToSkip = [...NodeWriter_1.NODE_FILES_TO_UPGRADE, 'package.json'];
for (const payload of payloads) {
if (payload.filesToSkip) {
filesToSkip.push(...payload.filesToSkip);
}
}
const generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {
name,
description,
filesToSkip,
});
return generatedFiles;
}
}
exports.default = Updater;
//# sourceMappingURL=Updater.js.map