UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

40 lines 1.63 kB
"use strict"; 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