master
jonschlinkert 9 years ago
parent 90ca2a7df0
commit 32cf7ad59e

@ -3,15 +3,20 @@ root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
insert_final_newline = false
[test/fixtures/*]
[test/**]
trim_trailing_whitespace = false
insert_final_newline = false
[templates/**]
trim_trailing_whitespace = false
insert_final_newline = false

@ -0,0 +1,275 @@
{
"ecmaFeatures": {
"modules": true,
"experimentalObjectRestSpread": true
},
"env": {
"browser": false,
"es6": true,
"node": true,
"mocha": true
},
"globals": {
"document": false,
"navigator": false,
"window": false
},
"rules": {
"accessor-pairs": 2,
"arrow-spacing": [
2,
{
"before": true,
"after": true
}
],
"block-spacing": [
2,
"always"
],
"brace-style": [
2,
"1tbs",
{
"allowSingleLine": true
}
],
"comma-dangle": [
2,
"never"
],
"comma-spacing": [
2,
{
"before": false,
"after": true
}
],
"comma-style": [
2,
"last"
],
"constructor-super": 2,
"curly": [
2,
"multi-line"
],
"dot-location": [
2,
"property"
],
"eol-last": 2,
"eqeqeq": [
2,
"allow-null"
],
"generator-star-spacing": [
2,
{
"before": true,
"after": true
}
],
"handle-callback-err": [
2,
"^(err|error)$"
],
"indent": [
2,
2,
{
"SwitchCase": 1
}
],
"key-spacing": [
2,
{
"beforeColon": false,
"afterColon": true
}
],
"keyword-spacing": [
2,
{
"before": true,
"after": true
}
],
"new-cap": [
2,
{
"newIsCap": true,
"capIsNew": false
}
],
"new-parens": 2,
"no-array-constructor": 2,
"no-caller": 2,
"no-class-assign": 2,
"no-cond-assign": 2,
"no-const-assign": 2,
"no-control-regex": 2,
"no-debugger": 2,
"no-delete-var": 2,
"no-dupe-args": 2,
"no-dupe-class-members": 2,
"no-dupe-keys": 2,
"no-duplicate-case": 2,
"no-empty-character-class": 2,
"no-eval": 2,
"no-ex-assign": 2,
"no-extend-native": 2,
"no-extra-bind": 2,
"no-extra-boolean-cast": 2,
"no-extra-parens": [
2,
"functions"
],
"no-fallthrough": 2,
"no-floating-decimal": 2,
"no-func-assign": 2,
"no-implied-eval": 2,
"no-inner-declarations": [
2,
"functions"
],
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-iterator": 2,
"no-label-var": 2,
"no-labels": 2,
"no-lone-blocks": 2,
"no-mixed-spaces-and-tabs": 2,
"no-multi-spaces": 2,
"no-multi-str": 2,
"no-multiple-empty-lines": [
2,
{
"max": 1
}
],
"no-native-reassign": 0,
"no-negated-in-lhs": 2,
"no-new": 2,
"no-new-func": 2,
"no-new-object": 2,
"no-new-require": 2,
"no-new-wrappers": 2,
"no-obj-calls": 2,
"no-octal": 2,
"no-octal-escape": 2,
"no-proto": 0,
"no-redeclare": 2,
"no-regex-spaces": 2,
"no-return-assign": 2,
"no-self-compare": 2,
"no-sequences": 2,
"no-shadow-restricted-names": 2,
"no-spaced-func": 2,
"no-sparse-arrays": 2,
"no-this-before-super": 2,
"no-throw-literal": 2,
"no-trailing-spaces": 0,
"no-undef": 2,
"no-undef-init": 2,
"no-unexpected-multiline": 2,
"no-unneeded-ternary": [
2,
{
"defaultAssignment": false
}
],
"no-unreachable": 2,
"no-unused-vars": [
2,
{
"vars": "all",
"args": "none"
}
],
"no-useless-call": 0,
"no-with": 2,
"one-var": [
0,
{
"initialized": "never"
}
],
"operator-linebreak": [
0,
"after",
{
"overrides": {
"?": "before",
":": "before"
}
}
],
"padded-blocks": [
0,
"never"
],
"quotes": [
2,
"single",
"avoid-escape"
],
"radix": 2,
"semi": [
2,
"always"
],
"semi-spacing": [
2,
{
"before": false,
"after": true
}
],
"space-before-blocks": [
2,
"always"
],
"space-before-function-paren": [
2,
"never"
],
"space-in-parens": [
2,
"never"
],
"space-infix-ops": 2,
"space-unary-ops": [
2,
{
"words": true,
"nonwords": false
}
],
"spaced-comment": [
0,
"always",
{
"markers": [
"global",
"globals",
"eslint",
"eslint-disable",
"*package",
"!",
","
]
}
],
"use-isnan": 2,
"valid-typeof": 2,
"wrap-iife": [
2,
"any"
],
"yoda": [
2,
"never"
]
}
}

@ -1,18 +0,0 @@
{
"asi": false,
"boss": true,
"curly": true,
"eqeqeq": true,
"eqnull": true,
"esnext": true,
"immed": true,
"latedef": true,
"laxcomma": false,
"newcap": true,
"noarg": true,
"node": true,
"sub": true,
"undef": "var",
"unused": true,
"mocha": true
}

@ -1,8 +1,12 @@
sudo: false
language: node_js
node_js:
- "0.10"
- "stable"
- "5"
- "4"
- "0.12"
- "iojs"
git:
depth: 10
- "0.10"
matrix:
fast_finish: true
allow_failures:
- node_js: "0.10"

@ -2,6 +2,8 @@
> {%= description %}
## Install
{%= include("install-npm", {save: true}) %}
## Usage
@ -49,7 +51,7 @@ Config object will be something like:
## Other useful projects
{%= related(['parse-github-url', 'parse-gitignore', 'parse-author', 'parse-authors']) %}
{%= related(verb.related.list) %}
## Run tests
{%= include("tests") %}
@ -62,7 +64,7 @@ Config object will be something like:
## License
{%= copyright() %}
{%= license() %}
{%= license %}
***

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2015 Jon Schlinkert
Copyright (c) 2015-2016, Jon Schlinkert.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

@ -11,15 +11,10 @@ var fs = require('fs');
var path = require('path');
var ini = require('ini');
/**
* Expose `config`
*/
module.exports = git;
function git(options, cb) {
function parseGitConfig(options, cb) {
if (typeof options === 'function') {
cb = options; options = null;
cb = options;
options = null;
}
var fp = resolve(options);
@ -28,7 +23,7 @@ function git(options, cb) {
throw new TypeError('parse-git-config async expects a callback function.');
}
read(fp, function (err, buffer) {
read(fp, function(err, buffer) {
if (err) {
cb(err);
return;
@ -37,7 +32,7 @@ function git(options, cb) {
});
}
git.sync = function configSync(options) {
parseGitConfig.sync = function parseGitConfigSync(options) {
var fp = resolve(options);
if (!fs.existsSync(fp)) {
return null;
@ -47,7 +42,7 @@ git.sync = function configSync(options) {
function read(fp, cb) {
try {
fs.readFile(fp, function (err, config) {
fs.readFile(fp, function(err, config) {
if (err) {
return cb(err);
}
@ -68,4 +63,10 @@ function resolve(options) {
* Expose `resolve`
*/
module.exports.resolve = resolve;
parseGitConfig.resolve = resolve;
/**
* Expose `parseGitConfig`
*/
module.exports = parseGitConfig;

@ -3,14 +3,8 @@
"description": "Parse `.git/config` into a JavaScript object. sync or async.",
"version": "0.3.1",
"homepage": "https://github.com/jonschlinkert/parse-git-config",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"
},
"repository": {
"type": "git",
"url": "git://github.com/jonschlinkert/parse-git-config.git"
},
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
"repository": "jonschlinkert/parse-git-config",
"bugs": {
"url": "https://github.com/jonschlinkert/parse-git-config/issues"
},
@ -36,5 +30,15 @@
"config",
"git",
"parse"
],
"verb": {
"related": {
"list": [
"parse-github-url",
"parse-gitignore",
"parse-author",
"parse-authors"
]
}
}
}

@ -11,33 +11,32 @@
require('should');
var git = require('./');
describe('sync:', function () {
it('should return an object', function () {
describe('sync:', function() {
it('should return an object', function() {
git.sync().should.have.properties(['core']);
git.sync().should.not.have.properties(['foo']);
git.sync().should.not.throw;
});
});
describe('async:', function () {
it('should throw a callback is not passed:', function (cb) {
(function () {
describe('async:', function() {
it('should throw a callback is not passed:', function(cb) {
(function() {
git();
}).should.throw('parse-git-config async expects a callback function.')
cb();
});
it('should throw an error when .git/config does not exist:', function (cb) {
git(function (err, config) {
it('should throw an error when .git/config does not exist:', function(cb) {
git(function(err, config) {
config.should.have.property('core');
config.should.not.have.property('foo');
cb();
});
});
it('should throw an error when .git/config does not exist:', function (cb) {
git({path: 'foo'}, function (err, config) {
it('should throw an error when .git/config does not exist:', function(cb) {
git({path: 'foo'}, function(err, config) {
err.should.be.an.instanceof(Error);
err.message.should.match(/ENOENT.*parse-git-config/);
cb();
@ -45,20 +44,20 @@ describe('async:', function () {
});
});
describe('resolve:', function () {
it('should resolve the git config in the cwd by default', function () {
describe('resolve:', function() {
it('should resolve the git config in the cwd by default', function() {
var sep = require('path').sep;
git.resolve().should.equal(process.cwd() + sep + '.git' + sep + 'config');
})
it('should allow override path', function () {
it('should allow override path', function() {
var path = require('path').resolve(process.env.HOME, '.gitconfig')
git.resolve({path: path}).should.equal(path);
})
it('should resolve relative path to cwd', function () {
it('should resolve relative path to cwd', function() {
git.resolve({path: '.config'})
.should.equal(require('path').resolve(process.cwd(), '.config'));
})
it('should allow override of cwd', function () {
it('should allow override of cwd', function() {
git.resolve({path: '.config', cwd: '/opt/config'})
.should.equal(require('path').resolve('/opt/config','.config'))
})

Loading…
Cancel
Save