feat: initial commit
This commit is contained in:
47
pre-files/lint-check.js
Normal file
47
pre-files/lint-check.js
Normal file
@ -0,0 +1,47 @@
|
||||
const { exec, execSync } = require('child_process');
|
||||
const { promises: fs } = require('fs');
|
||||
const chalk = require('chalk');
|
||||
|
||||
async function runCommand(command, description) {
|
||||
// Dynamically import the ES Module
|
||||
const ora = (await import('ora')).default;
|
||||
|
||||
const spinner = ora(`Running ${description}...`).start();
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
exec(command, (error, stdout, stderr) => {
|
||||
if (error) {
|
||||
spinner.fail(`${description} failed.`);
|
||||
console.error(chalk.red(`❌ ${description} failed.`));
|
||||
console.error(chalk.red(stderr));
|
||||
reject(new Error(stderr));
|
||||
} else {
|
||||
spinner.succeed(`${description} passed.`);
|
||||
console.log(chalk.green(`✅ ${description} passed.`));
|
||||
console.log(stdout);
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function runLint() {
|
||||
try {
|
||||
await runCommand('npm run lint:prettier', 'Prettier check');
|
||||
//await runCommand('yarn lint:html', 'ESLint HTML report');
|
||||
console.log(chalk.green('🎉 All checks passed.'));
|
||||
process.exit(0);
|
||||
} catch (err) {
|
||||
console.error(chalk.red('❌ Lint checks failed.'));
|
||||
console.error(chalk.red('😢 Oh no! Your code is not pretty enough.'));
|
||||
console.error(chalk.red('Please fix the issues above and try again.'));
|
||||
console.error(
|
||||
chalk.yellow(
|
||||
`💡 Hint: You can run ${chalk.cyan('yarn prettier')} to automatically format your code.`
|
||||
)
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
runLint();
|
Reference in New Issue
Block a user