Skip to content

Commit

Permalink
chore: lint
Browse files Browse the repository at this point in the history
  • Loading branch information
coderaiser committed May 10, 2022
1 parent 6a201d5 commit 5e13997
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 40 deletions.
7 changes: 5 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
{
"rules": {
"array-bracket-spacing": "error"
},
"extends": [
"plugin:putout/recommended",
"plugin:node/recommended"
"plugin:node/recommended",
"plugin:putout/recommended"
],
"plugins": [
"putout",
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ yarn-error.log
.nyc_output
*.swp

.idea
coverage
14 changes: 6 additions & 8 deletions .madrun.js → .madrun.mjs
Original file line number Diff line number Diff line change
@@ -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'),
Expand Down
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ test
madrun.js
yarn-error.log

coverage
47 changes: 24 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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
2 changes: 1 addition & 1 deletion lib/porcelain.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
6 changes: 1 addition & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand All @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion test/porclain.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 5e13997

Please sign in to comment.