anl
Version:
FE command line tool
3 lines ⢠1.57 kB
JavaScript
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`./install-commitlint.cjs`),n=require(`./install-eslint.cjs`),r=require(`./install-stylelint.cjs`),i=require(`./prettier.cjs`),a=require(`./vscode.cjs`);let o=require(`inquirer`);o=e.__toESM(o);let s=require(`chalk`);s=e.__toESM(s);function c(){o.default.prompt([{type:`checkbox`,name:`features`,message:`Select the linting tools to install (multi-select):`,choices:[{name:`ESLint - JavaScript/TypeScript linter`,value:`eslint`},{name:`Stylelint - CSS/SCSS/Less linter`,value:`stylelint`},{name:`Commitlint - Git commit message linter`,value:`commitlint`},{name:`Prettier - Code formatter`,value:`prettier`},{name:`VSCode - Editor settings`,value:`vscode`}],pageSize:10}]).then(async e=>{let{features:c}=e;if(c.length===0){console.log(`No tools selected. Exiting...`);return}let l;c.includes(`eslint`)&&(l=(await o.default.prompt([{type:`list`,message:`Choose the framework to use:`,name:`framework`,choices:[`React`,`Vue`],filter:e=>e.toLowerCase()}])).framework);let u;c.includes(`stylelint`)&&(u=(await o.default.prompt([{type:`list`,message:`Choose the CSS preprocessor:`,name:`css`,choices:[`Less`,`Sass`],filter:e=>e.toLowerCase()}])).css),c.includes(`commitlint`)&&await t.commitlintHanlde(),c.includes(`prettier`)&&await i.prettierHanlde(),c.includes(`vscode`)&&await a.default(),c.includes(`eslint`)&&l&&await n.eslintHandle(l),c.includes(`stylelint`)&&u&&await r.styleLintHandle(u),console.log(s.default.green(`
š All selected tools have been installed successfully!
`))})}exports.lintHandle=c;