anl
Version:
FE command line tool
2 lines • 1.78 kB
JavaScript
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../utils/logger.cjs`);require(`../utils/index.cjs`);const n=require(`./const.cjs`);let r=require(`child_process`),i=require(`fs`);i=e.__toESM(i);let a=require(`path`),o=require(`progress-estimator`);o=e.__toESM(o);const s=(0,o.default)({storagePath:(0,a.join)(__dirname,`.progress-estimator`)}),c={env:{browser:!0,es2021:!0},extends:[`eslint:recommended`,`plugin:react/recommended`,`plugin:@typescript-eslint/recommended`,`prettier`],overrides:[],parser:`@typescript-eslint/parser`,parserOptions:{ecmaVersion:`latest`,sourceType:`module`},plugins:[`react`,`@typescript-eslint`],rules:{}},l={env:{browser:!0,es2021:!0},extends:[`eslint:recommended`,`plugin:vue/vue3-essential`,`plugin:@typescript-eslint/recommended`,`prettier`],overrides:[],parser:`@typescript-eslint/parser`,parserOptions:{ecmaVersion:`latest`,sourceType:`module`},plugins:[`vue`,`@typescript-eslint`],rules:{}},u=async e=>{let a=e===`vue`?n.VUE_ESLINT:n.REACT_ESLINT,o=e===`vue`?l:c,u=new Promise((e,n)=>{let i=(0,r.exec)(a,e=>{e&&(t.spinner.error(e.message),n(e))});i.stdout?.on(`data`,()=>{e({success:!0})}),i.stderr?.on(`data`,()=>{t.spinner.error(`ESLint installation failed!`),n(Error(`ESLint installation failed!`))})}),d=new Promise((e,n)=>{try{let t=[`.eslintrc.js`,`.prettierrc.js`,`commitlint.config.js`].join(`
`);i.default.writeFileSync(`${process.cwd()}/.eslintignore`,t),i.default.writeFileSync(`${process.cwd()}/.eslintrc.js`,`module.exports = ${JSON.stringify(o,null,2)}`),e({success:!0})}catch(e){t.spinner.error(`.eslintrc file creation failed!`),n(Error(String(e)))}});try{await s(u,`Install ESLint`,{estimate:3e4}),await s(d,`Create ESLint config files`)}catch(e){console.error(`eslintHandle=====>`,e)}};exports.eslintHandle=u;