@favware/rollup-type-bundler
Version:
A small CLI tool to bundle types with rollup
46 lines • 1.72 kB
JavaScript
import { isNullishOrEmpty } from '@sapphire/utilities';
import { cyan, green, red } from 'colorette';
import { load } from 'js-yaml';
import { readFile } from 'node:fs/promises';
/**
* Parsed a YAML file into an `Object` of type `T`
* @param pathLike The {@link PathLike} to read with {@link readFile}
*/
export async function readYaml(pathLike) {
return load(await readFile(pathLike, { encoding: 'utf-8' }));
}
/**
* Parses a JSON file into an `Object` of type `T`
* @param pathLike The {@link PathLike} to read with {@link readFile}
*/
export async function readJson(pathLike) {
return JSON.parse(await readFile(pathLike, { encoding: 'utf-8' }));
}
export async function doActionAndLog(preActionLog, action) {
process.stdout.write(cyan(`${preActionLog}... `));
try {
const returnValue = (await action);
console.log(green('✅ Done'));
return returnValue;
}
catch (error) {
console.log(red('❌ Error'));
console.error(error.message);
process.exit(1);
}
}
export function getTypingsInputFileName(options) {
return isNullishOrEmpty(options.typingsFileExtension)
? 'index.d.ts'
: options.typingsFileExtension.startsWith('.')
? `index.d${options.typingsFileExtension}`
: `index.d.${options.typingsFileExtension}`;
}
export function getOutputTypingsInputFileName(options) {
return isNullishOrEmpty(options.outputTypingsFileExtension)
? getTypingsInputFileName(options)
: options.outputTypingsFileExtension.startsWith('.')
? `index.d${options.outputTypingsFileExtension}`
: `index.d.${options.outputTypingsFileExtension}`;
}
//# sourceMappingURL=utils.js.map