UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

46 lines 2.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const schema_1 = require("@sprucelabs/schema"); const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils"); const schemaGenerator_utility_1 = __importDefault(require("./schemaGenerator.utility")); const schemaDiskUtil = { resolvePath(options) { const { destination, schema, shouldIncludeFileExtension: includeFileExtension, } = options; if (!schema.namespace) { throw new schema_1.SchemaError({ code: 'MISSING_PARAMETERS', parameters: ['namespace'], }); } return path_1.default.join(destination, spruce_skill_utils_1.namesUtil.toCamel(schema.namespace), schema.version ?? '', `${schema.id}.schema${includeFileExtension === false ? '' : '.ts'}`); }, resolveTypeFilePaths(options) { const { cwd, generateStandaloneTypesFile, schemaTypesDestinationDirOrFile, fieldTypesDestinationDir, } = options; const resolvedSchemaTypesDestination = spruce_skill_utils_1.diskUtil.resolvePath(cwd, generateStandaloneTypesFile && spruce_skill_utils_1.diskUtil.isDirPath(schemaTypesDestinationDirOrFile) ? spruce_skill_utils_1.diskUtil.resolvePath(cwd, schemaTypesDestinationDirOrFile, 'core.schemas.types.ts') : schemaTypesDestinationDirOrFile); const resolvedSchemaTypesDestinationDirOrFile = spruce_skill_utils_1.diskUtil.isDirPath(resolvedSchemaTypesDestination) ? resolvedSchemaTypesDestination : path_1.default.dirname(resolvedSchemaTypesDestination); const resolvedFieldTypesDestination = spruce_skill_utils_1.diskUtil.resolvePath(cwd, fieldTypesDestinationDir ?? resolvedSchemaTypesDestinationDirOrFile); return { resolvedFieldTypesDestination, resolvedSchemaTypesDestinationDirOrFile, resolvedSchemaTypesDestination, }; }, async deleteOrphanedSchemas(resolvedDestination, schemaTemplateItems) { const definitionsToDelete = await schemaGenerator_utility_1.default.filterSchemaFilesBySchemaIds(resolvedDestination, schemaTemplateItems.map((item) => ({ ...item, version: item.schema.version, }))); definitionsToDelete.forEach((def) => spruce_skill_utils_1.diskUtil.deleteFile(def)); }, }; exports.default = schemaDiskUtil; //# sourceMappingURL=schemaDisk.utility.js.map