radashi-helper
Version:
Help with managing your own Radashi
73 lines (64 loc) • 2.45 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
var _chunk27XA2ZBLcjs = require('./chunk-27XA2ZBL.cjs');
var _chunkZP624W2Acjs = require('./chunk-ZP624W2A.cjs');
var _chunkST3J6QTNcjs = require('./chunk-ST3J6QTN.cjs');
require('./chunk-5R2KEZLQ.cjs');
// src/format.ts
var _fastglob = require('fast-glob'); var _fastglob2 = _interopRequireDefault(_fastglob);
async function format(filter, options) {
const env = _nullishCoalesce(options.env, () => ( _chunkZP624W2Acjs.getEnv.call(void 0, options.dir)));
const { stdout: uncommittedChanges } = await _chunkST3J6QTNcjs.exec.call(void 0,
"git",
["status", "--porcelain", "-uno"],
{ cwd: env.root }
);
const biomeGlobs = ["src/**/*", "tests/**/*", "benchmarks/**/*"];
let biomeFiles = await _fastglob2.default.call(void 0, biomeGlobs, {
cwd: env.root
});
const prettierGlobs = [
"package.json",
"README.md",
"docs/**/*",
"scripts/**/*"
];
let prettierFiles = await _fastglob2.default.call(void 0, prettierGlobs, {
cwd: env.root
});
if (filter.length > 0) {
const filterRE = new RegExp(`^(${filter.join("|")}).*`);
biomeFiles = biomeFiles.filter((file) => filterRE.test(file));
prettierFiles = prettierFiles.filter((file) => filterRE.test(file));
}
if (biomeFiles.length > 0) {
await _chunkST3J6QTNcjs.exec.call(void 0,
"pnpm",
[
"biome",
"check",
"--diagnostic-level",
"info",
"--fix",
"--unsafe",
...biomeFiles
],
{ cwd: env.root, stdio: _chunk27XA2ZBLcjs.stdio }
);
}
if (prettierFiles.length > 0) {
await _chunkST3J6QTNcjs.exec.call(void 0, "pnpm", ["prettier", "--write", ...prettierFiles], {
cwd: env.root,
stdio: _chunk27XA2ZBLcjs.stdio
});
}
const { stdout: currentChanges } = await _chunkST3J6QTNcjs.exec.call(void 0,
"git",
["status", "--porcelain", "-uno"],
{ cwd: env.root }
);
if (!uncommittedChanges && currentChanges) {
await _chunkST3J6QTNcjs.exec.call(void 0, "git", ["add", "-u"], { cwd: env.root });
await _chunkST3J6QTNcjs.exec.call(void 0, "git", ["commit", "-m", "chore: format"], { cwd: env.root });
}
}
exports.format = format;