Browse Source

lint-prettier will direct write (#3318)

pull/3332/head
陈帅 7 years ago
committed by GitHub
parent
commit
be6f46dee1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      package.json
  2. 16
      scripts/lint-prettier.js
  3. 6
      scripts/prettier.js

1
package.json

@ -36,6 +36,7 @@
"antd": "^3.11.6", "antd": "^3.11.6",
"bizcharts": "^3.4.2", "bizcharts": "^3.4.2",
"bizcharts-plugin-slider": "^2.1.1-beta.1", "bizcharts-plugin-slider": "^2.1.1-beta.1",
"chalk": "^2.4.2",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"dva": "^2.4.0", "dva": "^2.4.0",
"enquire-js": "^0.2.1", "enquire-js": "^0.2.1",

16
scripts/lint-prettier.js

@ -8,12 +8,12 @@
const prettier = require('prettier'); const prettier = require('prettier');
const fs = require('fs'); const fs = require('fs');
const chalk = require('chalk');
const prettierConfigPath = require.resolve('../.prettierrc'); const prettierConfigPath = require.resolve('../.prettierrc');
const files = process.argv.slice(2); const files = process.argv.slice(2);
let didError = false; let didError = false;
let didWarn = false;
files.forEach(file => { files.forEach(file => {
Promise.all([ Promise.all([
@ -32,21 +32,19 @@ files.forEach(file => {
...options, ...options,
parser: fileInfo.inferredParser, parser: fileInfo.inferredParser,
}; };
const isPrettier = prettier.check(input, withParserOptions); const output = prettier.format(input, withParserOptions);
if (!isPrettier) { if (output !== input) {
console.log( fs.writeFileSync(file, output, 'utf8');
`\x1b[31m ${file} is no prettier, please use npm run prettier and git add !\x1b[0m` console.log(chalk.green(`${file} is prettier`));
);
didWarn = true;
} }
}) })
.catch(e => { .catch(e => {
didError = true; didError = true;
}) })
.finally(() => { .finally(() => {
if (didWarn || didError) { if (didError) {
process.exit(1); process.exit(1);
} }
console.log('\x1b[32m lint prettier success!\x1b[0m'); console.log(chalk.hex('#1890FF')('prettier success!'));
}); });
}); });

6
scripts/prettier.js

@ -6,11 +6,11 @@
*----------*****-------------- *----------*****--------------
*/ */
const glob = require('glob');
const prettier = require('prettier'); const prettier = require('prettier');
const fs = require('fs'); const fs = require('fs');
const getPrettierFiles = require('./getPrettierFiles'); const getPrettierFiles = require('./getPrettierFiles');
const prettierConfigPath = require.resolve('../.prettierrc'); const prettierConfigPath = require.resolve('../.prettierrc');
const chalk = require('chalk');
let didError = false; let didError = false;
@ -33,7 +33,7 @@ files.forEach(file => {
const output = prettier.format(input, withParserOptions); const output = prettier.format(input, withParserOptions);
if (output !== input) { if (output !== input) {
fs.writeFileSync(file, output, 'utf8'); fs.writeFileSync(file, output, 'utf8');
console.log(`\x1b[34m ${file} is prettier`); console.log(chalk.green(`${file} is prettier`));
} }
} catch (e) { } catch (e) {
didError = true; didError = true;
@ -43,4 +43,4 @@ files.forEach(file => {
if (didError) { if (didError) {
process.exit(1); process.exit(1);
} }
console.log('\x1b[32m prettier success!'); console.log(chalk.hex('#1890FF')('prettier success!'));

Loading…
Cancel
Save