UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

55 lines 2.03 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 fs_extra_1 = __importDefault(require("fs-extra")); const SpruceError_1 = __importDefault(require("../errors/SpruceError")); const tsConfigUtil = { readConfig(dir) { const source = dir; const packagePath = path_1.default.join(source, 'tsconfig.json'); const contents = fs_extra_1.default.readFileSync(packagePath).toString(); try { const parsed = JSON.parse(contents); return parsed; } catch (err) { throw new SpruceError_1.default({ code: 'FAILED_TO_IMPORT', file: packagePath, originalError: err, }); } }, setPathAlias(dir, alias, patterns) { const contents = this.readConfig(dir); const paths = contents.compilerOptions?.paths ?? {}; // Set new path paths[alias] = patterns; // Pass back to contents if (!contents.compilerOptions) { contents.compilerOptions = {}; } contents.compilerOptions.paths = paths; this.writeConfig(dir, contents); }, writeConfig(dir, contents) { const destination = path_1.default.join(dir, 'tsconfig.json'); fs_extra_1.default.outputFileSync(destination, JSON.stringify(contents, null, 2)); }, setCompilerOption(dir, key, value) { const contents = this.readConfig(dir); if (!contents.compilerOptions) { contents.compilerOptions = {}; } contents.compilerOptions[key] = value; this.writeConfig(dir, contents); }, isPathAliasSet(dir, path) { return !!this.readConfig(dir).compilerOptions?.paths?.[path]; }, }; exports.default = tsConfigUtil; //# sourceMappingURL=tsConfig.utility.js.map