From 5e1399747fd3dc022abaed2c36107f146f606d14 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Wed, 11 May 2022 00:16:35 +0300 Subject: [PATCH] chore: lint --- .eslintrc.json | 7 ++++-- .gitignore | 2 ++ .madrun.js => .madrun.mjs | 14 +++++------- .npmignore | 1 + README.md | 47 ++++++++++++++++++++------------------- lib/porcelain.js | 2 +- package.json | 6 +---- test/porclain.js | 2 +- 8 files changed, 41 insertions(+), 40 deletions(-) rename .madrun.js => .madrun.mjs (60%) diff --git a/.eslintrc.json b/.eslintrc.json index aa14888..59e594f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,7 +1,10 @@ { + "rules": { + "array-bracket-spacing": "error" + }, "extends": [ - "plugin:putout/recommended", - "plugin:node/recommended" + "plugin:node/recommended", + "plugin:putout/recommended" ], "plugins": [ "putout", diff --git a/.gitignore b/.gitignore index 7f93565..6f5f799 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ yarn-error.log .nyc_output *.swp +.idea +coverage diff --git a/.madrun.js b/.madrun.mjs similarity index 60% rename from .madrun.js rename to .madrun.mjs index 1594041..d54e24e 100644 --- a/.madrun.js +++ b/.madrun.mjs @@ -1,16 +1,14 @@ -'use strict'; +import {run} from 'madrun'; -const {run} = require('madrun'); - -module.exports = { +export default { 'test': () => 'tape test/*.js', - 'coverage': () => 'nyc npm test', - 'lint': () => 'putout lib test .madrun.js', + 'coverage': () => 'c8 npm test', + 'lint': () => 'putout .', 'fix:lint': () => run('lint', '--fix'), - 'report': () => 'nyc report --reporter=text-lcov | coveralls', + 'report': () => 'c8 report --reporter=lcov', 'watcher': () => 'nodemon -w test -w lib --exec', 'watch:test': () => run('watcher', 'npm test'), - 'watch:lint': () => run('watcher', '\'npm run lint\''), + 'watch:lint': async () => await run('watcher', `'npm run lint'`), 'watch:tape': () => 'nodemon -w test -w lib --exec tape', 'watch:coverage:base': () => run('watcher', 'nyc npm test'), 'watch:coverage:tape': () => run('watcher', 'nyc tape'), diff --git a/.npmignore b/.npmignore index 8b1477d..a67b0d9 100644 --- a/.npmignore +++ b/.npmignore @@ -6,3 +6,4 @@ test madrun.js yarn-error.log +coverage diff --git a/README.md b/README.md index ee583cf..f3a679f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Porcelain [![License][LicenseIMGURL]][LicenseURL] [![NPM version][NPMIMGURL]][NPMURL] [![Dependency Status][DependencyStatusIMGURL]][DependencyStatusURL] [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Coverage][CoverageIMGURL]][CoverageURL] +# Porcelain [![License][LicenseIMGURL]][LicenseURL] [![NPM version][NPMIMGURL]][NPMURL] [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Coverage][CoverageIMGURL]][CoverageURL] Parse `git status --porcelain` output with a pleasure. @@ -20,52 +20,53 @@ porcelain({ untracked: true, }); // returns -[ 'README.md', '1.js' ] +['README.md', '1.js']; ``` But you can get break `porcelain` into pieces as well 😉: ```js const porcelain = require('@putout/git-status-porcelain'); -const {run, parse, pick, getNames} = porcelain; +const { + run, + parse, + pick, + getNames, +} = porcelain; // run git status --porcelain const stdout = run(); // returns -' M README.md\n?? 1.js\n' +' M README.md\n?? 1.js\n'; const files = parse(stdout); // returns -[ { name: 'README.md', mode: ' M ' }, { name: '1.js', mode: '?' } ] +[{name: 'README.md', mode: ' M '}, {name: '1.js', mode: '?'}]; const modifiedFiles = pick(files, { modified: true, - untracked: false, // default - deleted: false, // default - added: false, // default - renamed: false, // default + untracked: false, // default + deleted: false, // default + added: false, // default + renamed: false, // default }); // returns -[ { name: 'README.md', mode: ' M ' } ] +[{name: 'README.md', mode: ' M '}]; getNames(modifiedFiles); // returns -[ 'README.md' ] +['README.md']; ``` ## License MIT -[NPMIMGURL]: https://img.shields.io/npm/v/@putout/git-status-porcelain.svg?style=flat&longCache=true -[BuildStatusIMGURL]: https://img.shields.io/travis/coderaiser/git-status-porcelain/master.svg?style=flat&longCache=true -[DependencyStatusIMGURL]: https://img.shields.io/david/coderaiser/git-status-porcelain.svg?style=flat&longCache=true -[LicenseIMGURL]: https://img.shields.io/badge/license-MIT-317BF9.svg?style=flat&longCache=true -[NPMURL]: https://npmjs.org/package/@putout/git-status-porcelain 'npm' -[BuildStatusURL]: https://travis-ci.org/coderaiser/git-status-porcelain 'Build Status' -[DependencyStatusURL]: https://david-dm.org/coderaiser/git-status-porcelain 'Dependency Status' -[LicenseURL]: https://tldrlegal.com/license/mit-license 'MIT License' - -[CoverageURL]: https://coveralls.io/github/coderaiser/git-status-porcelain?branch=master -[CoverageIMGURL]: https://coveralls.io/repos/coderaiser/git-status-porcelain/badge.svg?branch=master&service=github - +[NPMIMGURL]: https://img.shields.io/npm/v/@putout/git-status-porcelain.svg?style=flat&longCache=true +[BuildStatusIMGURL]: https://img.shields.io/travis/coderaiser/git-status-porcelain/master.svg?style=flat&longCache=true +[LicenseIMGURL]: https://img.shields.io/badge/license-MIT-317BF9.svg?style=flat&longCache=true +[NPMURL]: https://npmjs.org/package/@putout/git-status-porcelain "npm" +[BuildStatusURL]: https://travis-ci.org/coderaiser/git-status-porcelain "Build Status" +[LicenseURL]: https://tldrlegal.com/license/mit-license "MIT License" +[CoverageURL]: https://coveralls.io/github/coderaiser/git-status-porcelain?branch=master +[CoverageIMGURL]: https://coveralls.io/repos/coderaiser/git-status-porcelain/badge.svg?branch=master&service=github diff --git a/lib/porcelain.js b/lib/porcelain.js index e59dfdf..877a77f 100644 --- a/lib/porcelain.js +++ b/lib/porcelain.js @@ -91,7 +91,7 @@ function parseLine(line) { mode: RENAMED, }; - const [mode] = line.match(/^[\sA-Z]{1,}\s/, ''); + const [mode] = line.match(/^[\sA-Z]+\s/, ''); const name = line.replace(mode, ''); return { diff --git a/package.json b/package.json index 656f672..dbeca6b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "@putout/git-status-porcelain", "version": "1.1.0", + "type": "commonjs", "commitType": "colon", "description": "parse git status --porclain output with a pleasure", "main": "lib/porcelain.js", @@ -18,11 +19,6 @@ "watch:coverage:tape": "madrun watch:coverage:tape", "watch:coverage": "madrun watch:coverage" }, - "nyc": { - "include": [ - "lib" - ] - }, "repository": { "type": "git", "url": "git://github.com/coderaiser/git-status-porcelain.git" diff --git a/test/porclain.js b/test/porclain.js index 5c88917..514bff9 100644 --- a/test/porclain.js +++ b/test/porclain.js @@ -13,7 +13,7 @@ const renamed = readFileSync(join(__dirname, 'fixture', 'renamed'), 'utf8'); const {test, stub} = require('supertape'); const porclain = require('..'); -test('porclain', (t) => { +test('porclain: deleted, modified, untracked', (t) => { const result = porclain(deleted, { deleted: true, modified: true,