@riddance/env
Version:
23 lines • 3.8 kB
JavaScript
import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
import { setup } from '../lib/env.js';
import { formatFiles } from '../lib/formatter.js';
import { isCodeClean } from '../lib/git.js';
import { fixLints } from '../lib/linter.js';
const targetDir = process.argv[2] ?? process.env.INIT_CWD;
if (!targetDir) {
throw new Error('Please specify target directory.');
}
const packageJson = JSON.parse(await readFile(join(targetDir, 'package.json'), 'utf-8'));
await setup(targetDir, packageJson.name === '@riddance/env');
const isAlreadyInstalled = !!packageJson.devDependencies?.['@riddance/env'];
if (isAlreadyInstalled) {
if (await isCodeClean(targetDir)) {
const fixed = await fixLints(targetDir, ['**/*.ts']);
if (fixed.length !== 0) {
await formatFiles(targetDir, fixed);
console.error('Fixes applied, please review carefully.');
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDaEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFM0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQTtBQUV6RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDYixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7QUFDdkQsQ0FBQztBQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FHdEYsQ0FBQTtBQUVELE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFBO0FBRTVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUMzRSxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDckIsSUFBSSxNQUFNLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDcEQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sV0FBVyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUE7UUFDNUQsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJ1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCdcbmltcG9ydCB7IHNldHVwIH0gZnJvbSAnLi4vbGliL2Vudi5qcydcbmltcG9ydCB7IGZvcm1hdEZpbGVzIH0gZnJvbSAnLi4vbGliL2Zvcm1hdHRlci5qcydcbmltcG9ydCB7IGlzQ29kZUNsZWFuIH0gZnJvbSAnLi4vbGliL2dpdC5qcydcbmltcG9ydCB7IGZpeExpbnRzIH0gZnJvbSAnLi4vbGliL2xpbnRlci5qcydcblxuY29uc3QgdGFyZ2V0RGlyID0gcHJvY2Vzcy5hcmd2WzJdID8/IHByb2Nlc3MuZW52LklOSVRfQ1dEXG5cbmlmICghdGFyZ2V0RGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2Ugc3BlY2lmeSB0YXJnZXQgZGlyZWN0b3J5LicpXG59XG5cbmNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShqb2luKHRhcmdldERpciwgJ3BhY2thZ2UuanNvbicpLCAndXRmLTgnKSkgYXMge1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICBkZXZEZXBlbmRlbmNpZXM/OiB7ICdAcmlkZGFuY2UvZW52Jz86IHN0cmluZyB9XG59XG5cbmF3YWl0IHNldHVwKHRhcmdldERpciwgcGFja2FnZUpzb24ubmFtZSA9PT0gJ0ByaWRkYW5jZS9lbnYnKVxuXG5jb25zdCBpc0FscmVhZHlJbnN0YWxsZWQgPSAhIXBhY2thZ2VKc29uLmRldkRlcGVuZGVuY2llcz8uWydAcmlkZGFuY2UvZW52J11cbmlmIChpc0FscmVhZHlJbnN0YWxsZWQpIHtcbiAgICBpZiAoYXdhaXQgaXNDb2RlQ2xlYW4odGFyZ2V0RGlyKSkge1xuICAgICAgICBjb25zdCBmaXhlZCA9IGF3YWl0IGZpeExpbnRzKHRhcmdldERpciwgWycqKi8qLnRzJ10pXG4gICAgICAgIGlmIChmaXhlZC5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIGF3YWl0IGZvcm1hdEZpbGVzKHRhcmdldERpciwgZml4ZWQpXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGaXhlcyBhcHBsaWVkLCBwbGVhc2UgcmV2aWV3IGNhcmVmdWxseS4nKVxuICAgICAgICB9XG4gICAgfVxufVxuIl19