12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import type { CAC } from 'cac';
- import { execaCommand } from '@vben/node-utils';
- interface LintCommandOptions {
- /**
- * Format lint problem.
- */
- format?: boolean;
- }
- async function runLint({ format }: LintCommandOptions) {
- // process.env.FORCE_COLOR = '3';
- if (format) {
- await execaCommand(`stylelint "**/*.{vue,css,less.scss}" --cache --fix`, {
- stdio: 'inherit',
- });
- await execaCommand(`eslint . --cache --fix`, {
- stdio: 'inherit',
- });
- await execaCommand(`prettier . --write --cache --log-level warn`, {
- stdio: 'inherit',
- });
- return;
- }
- await Promise.all([
- execaCommand(`eslint . --cache`, {
- stdio: 'inherit',
- }),
- // $`ls-lint`,
- execaCommand(`prettier . --ignore-unknown --check --cache`, {
- stdio: 'inherit',
- }),
- execaCommand(`stylelint "**/*.{vue,css,less.scss}" --cache`, {
- stdio: 'inherit',
- }),
- ]);
- }
- function defineLintCommand(cac: CAC) {
- cac
- .command('lint')
- .usage('Batch execute project lint check.')
- .option('--format', 'Format lint problem.')
- .action(runLint);
- }
- export { defineLintCommand };
|