UNPKG

@mongez/gnz

Version:

Generator Z, the next generation of scaffolding tools.

79 lines (78 loc) 2.49 kB
'use strict';var eslint$1=require('eslint'),prettier=require('prettier');const eslintConfig = { env: { browser: true, es2021: true, node: true, }, extends: [ "eslint:recommended", "plugin:react/recommended", "plugin:@typescript-eslint/recommended", "plugin:import/recommended", ], overrides: [], parser: "@typescript-eslint/parser", parserOptions: { ecmaVersion: "latest", sourceType: "module", }, plugins: ["react", "@typescript-eslint", "prettier"], rules: { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-unused-vars": "off", "no-unused-vars": "off", "unused-imports/no-unused-vars": [ "warn", { vars: "all", varsIgnorePattern: "^_", args: "after-used", argsIgnorePattern: "^_", }, ], "react/react-in-jsx-scope": "off", "unused-imports/no-unused-imports": "error", "import/no-duplicates": ["error", { considerQueryString: true }], }, }; /** * Use prettier to prettify Typescript code * Use .prettierrc to configure prettier from cwd */ async function prettifyTypescript(code) { const format = prettier.format(code, { parser: "typescript", semi: true, tabWidth: 2, printWidth: 80, singleQuote: false, arrowParens: "avoid", trailingComma: "all", bracketSameLine: true, endOfLine: "auto", }); return format; } const format = { typescript: prettifyTypescript, }; const eslint = { formatFile: eslintFormatFile, }; async function eslintFormatFile(filePath) { // 1. Create an instance with the `fix` option. const eslint = new eslint$1.ESLint({ fix: true, fixTypes: ["layout", "problem", "suggestion"], useEslintrc: false, overrideConfig: eslintConfig, }); // 2. Lint files. This doesn't modify target files. const results = await eslint.lintFiles([filePath]); // 3. Modify the files with the fixed code. await eslint$1.ESLint.outputFixes(results); // 4. Format the results. const formatter = await eslint.loadFormatter("stylish"); const output = await formatter.format(results); return output; }exports.eslint=eslint;exports.format=format;exports.prettifyTypescript=prettifyTypescript;//# sourceMappingURL=prettifier.js.map