Skip to content

Commit

Permalink
Merge pull request #41 from hotoo/fix/path.dirname
Browse files Browse the repository at this point in the history
Fix/path.dirname
  • Loading branch information
hotoo authored Oct 27, 2016
2 parents a124472 + 42c1a45 commit 7c7e4f7
Show file tree
Hide file tree
Showing 20 changed files with 435 additions and 217 deletions.
196 changes: 196 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
{
"ecmaFeatures": {
"jsx": true
},
"parser": "espree",
"env": {
"amd": false,
"jasmine": false,
"node": true,
"mocha": true,
"browser": true,
"builtin": true,
"es6": true
},
"rules": {
"no-alert": 2,
"no-array-constructor": 2,
"no-bitwise": 2,
"no-caller": 2,
"no-catch-shadow": 2,
"no-cond-assign": [2, "except-parens"],
"no-constant-condition": 2,
"no-continue": 0,
"no-control-regex": 2,
"no-debugger": 2,
"no-delete-var": 2,
"no-div-regex": 0,
"no-dupe-keys": 2,
"no-dupe-args": 2,
"no-duplicate-case": 2,
"no-else-return": 0,
"no-empty": 2,
"no-empty-character-class": 2,
"no-empty-label": 2,
"no-eq-null": 0,
"no-eval": 2,
"no-ex-assign": 2,
"no-extend-native": 2,
"no-extra-bind": 2,
"no-extra-boolean-cast": 2,
"no-extra-parens": 0,
"no-extra-semi": 2,
"no-fallthrough": 2,
"no-floating-decimal": 0,
"no-func-assign": 2,
"no-implied-eval": 2,
"no-inline-comments": 0,
"no-inner-declarations": [2, "functions"],
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-iterator": 0,
"no-label-var": 2,
"no-labels": 2,
"no-lone-blocks": 2,
"no-lonely-if": 0,
"no-loop-func": 2,
"no-mixed-requires": [0, false],
"no-mixed-spaces-and-tabs": [2, false],
"linebreak-style": [0, "unix"],
"no-multi-spaces": 2,
"no-multi-str": 2,
"no-multiple-empty-lines": [0, {
"max": 2
}],
"no-native-reassign": 2,
"no-negated-in-lhs": 2,
"no-nested-ternary": 0,
"no-new": 0,
"no-new-func": 2,
"no-new-object": 2,
"no-new-require": 0,
"no-new-wrappers": 2,
"no-obj-calls": 2,
"no-octal": 2,
"no-octal-escape": 2,
"no-param-reassign": 0,
"no-path-concat": 0,
"no-plusplus": 0,
"no-process-env": 0,
"no-process-exit": 0,
"no-proto": 2,
"no-redeclare": 2,
"no-regex-spaces": 2,
"no-restricted-modules": 0,
"no-return-assign": 0,
"no-script-url": 2,
"no-self-compare": 0,
"no-sequences": 2,
"no-shadow": 0,
"no-shadow-restricted-names": 2,
"no-spaced-func": 2,
"no-sparse-arrays": 2,
"no-sync": 0,
"no-ternary": 0,
"no-trailing-spaces": 2,
"no-this-before-super": 0,
"no-throw-literal": 0,
"no-undef": 2,
"no-undef-init": 2,
"no-undefined": 0,
"no-unexpected-multiline": 0,
"no-underscore-dangle": 0,
"no-unneeded-ternary": 0,
"no-unreachable": 2,
"no-unused-expressions": 0,
"no-unused-vars": 2,
"no-use-before-define": [2, "nofunc"],
"no-void": 0,
"no-var": 0,
"no-const-assign": 2,
"prefer-const": 0,
"no-warning-comments": [0, {
"terms": ["todo", "fixme", "xxx"],
"location": "start"
}],
"no-with": 2,
"array-bracket-spacing": [0, "never"],
"accessor-pairs": 0,
"block-scoped-var": 0,
"brace-style": [0, "1tbs"],
"camelcase": 0,
"comma-dangle": [2, "always-multiline"],
"comma-spacing": 2,
"comma-style": 0,
"complexity": [0, 11],
"computed-property-spacing": [0, "never"],
"consistent-return": 2,
"consistent-this": [0, "that"],
"constructor-super": 0,
"curly": [2, "multi-line"],
"default-case": 0,
"dot-location": 0,
"dot-notation": 0,
"eol-last": 2,
"eqeqeq": 2,
"func-names": 0,
"func-style": [0, "declaration"],
"generator-star-spacing": 0,
"guard-for-in": 0,
"handle-callback-err": 0,
"indent": [2, 2],
"key-spacing": [2, {
"beforeColon": false,
"afterColon": true
}],
"lines-around-comment": 0,
"max-depth": [0, 4],
"max-len": [0, 80, 4],
"max-nested-callbacks": [0, 2],
"max-params": [0, 3],
"max-statements": [0, 10],
"new-cap": 0,
"new-parens": 2,
"newline-after-var": 0,
"object-curly-spacing": [0, "never"],
"object-shorthand": 0,
"one-var": 0,
"operator-assignment": [0, "always"],
"operator-linebreak": 0,
"padded-blocks": 0,
"quote-props": 0,
"quotes": [2, "single"],
"radix": 0,
"semi": 2,
"semi-spacing": [2, {
"before": false,
"after": true
}],
"sort-vars": 0,
"space-after-keywords": [2, "always"],
"space-before-blocks": [2, "always"],
"space-before-function-paren": [2, "never"],
"space-before-keywords": [2, "always"],
"space-in-parens": [2, "never"],
"space-infix-ops": 2,
"space-return-throw-case": 2,
"space-unary-ops": [2, {
"words": true,
"nonwords": false
}],
"spaced-comment": [2, "always"],
"strict": [2, "global"],
"use-isnan": 2,
"valid-jsdoc": [2, {
"prefer": {
"returns": "return"
}
}],
"valid-typeof": 0,
"vars-on-top": 0,
"wrap-iife": 0,
"wrap-regex": 0,
"yoda": [2, "never"],
"eol-last": 2
}
}
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ node_js:
- "3"
- "4"
- "5"
- "6"
after_success:
- cat ./coverage/lcov.info | ./node_modules/.bin/coveralls
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ MOCHA_OPTS =
install:
@npm install

test:
lint:
@./node_modules/.bin/eslint bin lib test

test: lint
@if [ ! -d $(HG_SSH_DIR) ]; then \
mkdir -p $(HG_SSH_DIR); \
cd $(HG_SSH_DIR); \
Expand Down
8 changes: 5 additions & 3 deletions bin/gitopen
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/usr/bin/env node
'use strict';

var xopen = require('../lib/xopen');
var getConfig = require('./openrc');
Expand All @@ -18,11 +19,12 @@ commander(process.argv, {
root: gitroot,
}, function(command) {

var url;
// 4. if @profile then open @profile
if (command.category === 'profile') {
var username = command.args.username;
var reponame = command.args.reponame;
var url = 'https://github.com/' + username + (reponame ? '/' + reponame : '');
url = 'https://github.com/' + username + (reponame ? '/' + reponame : '');
if (command.verbose) {
console.log('URL:', url);
process.exit(0);
Expand All @@ -37,7 +39,7 @@ commander(process.argv, {
var uri;
try {
uri = gitremote.getRemoteUrl({cwd: process.cwd()});
} catch(ex) {
} catch (ex) {
if (command.category === 'snippets/new') {
uri = 'https://github.com/hotoo/gitopen';
} else {
Expand All @@ -51,7 +53,7 @@ commander(process.argv, {
command.scheme = config.scheme;
command.protocol = config.protocol;
// 6. resolve paths.
var url = gitresolve(uri, command);
url = gitresolve(uri, command);
// 7. open
if (command.verbose) {
console.log('Option:', command);
Expand Down
14 changes: 8 additions & 6 deletions bin/hgopen
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/usr/bin/env node
'use strict';

var xopen = require('../lib/xopen');
var getConfig = require('./openrc');
Expand All @@ -17,14 +18,15 @@ commander(process.argv, {
cwb: cwb,
root: hgroot,
}, function(command) {
var url;

// 4. if @profile then open @profile
if (command.category === 'profile') {
var username = command.args.username;
var reponame = command.args.reponame;
var url = 'https://github.com/' + username + (reponame? '/'+reponame : '');
url = 'https://github.com/' + username + (reponame ? '/' + reponame : '');
if (command.verbose) {
console.log("URL:", url);
console.log('URL:', url);
process.exit(0);
return 0;
}
Expand All @@ -34,17 +36,17 @@ commander(process.argv, {
}

// 5. git/hg/svn remote url.
var uri = hgremote.getRemoteUrl({cwd:process.cwd()});
var uri = hgremote.getRemoteUrl({cwd: process.cwd()});
// 6. get openrc
var config = getConfig(uri);
command.scheme = config.scheme;
command.protocol = config.protocol;
// 6. resolve paths.
var url = gitresolve(uri, command);
url = gitresolve(uri, command);
// 7. open
if (command.verbose) {
console.log("Option:", command)
console.log("URL:", url);
console.log('Option:', command);
console.log('URL:', url);
} else {
xopen(url);
}
Expand Down
26 changes: 13 additions & 13 deletions bin/open-commander.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
'use strict';

/* global module, process */
var fs = require('fs');
var path = require('path');
Expand All @@ -17,7 +19,7 @@ module.exports = function(argv, option, callback) {

function parseFilePath(options, cpath) {
try {
var stat = fs.statSync(cpath); //throw error when cpath is not accessable.
var stat = fs.statSync(cpath); // throw error when cpath is not accessable.

var filepath = resolve(cpath, option.cwd, option.root);
if (stat.isFile()) {
Expand Down Expand Up @@ -83,7 +85,7 @@ module.exports = function(argv, option, callback) {

var options = {
category: 'home',
cwd: path.dirname(commander.path) || option.cwd || process.cwd(),
cwd: commander.path ? path.dirname(commander.path) : option.cwd || process.cwd(),
hash: commander.branch || option.cwb || 'master',
remote: commander.remote || 'origin',
protocol: 'https',
Expand Down Expand Up @@ -113,11 +115,11 @@ module.exports = function(argv, option, callback) {
var category = commander.args[0];
var match;

switch(category){
switch (category) {
case 'issue':
options.category = 'issues/new';
options.args = {
title: commander.args.slice(1).join(' ')
title: commander.args.slice(1).join(' '),
};
break;
case 'issues':
Expand Down Expand Up @@ -200,7 +202,7 @@ module.exports = function(argv, option, callback) {
case 'milestone':
options.category = 'milestones/new';
options.args = {
title: commander.args.slice(1).join(' ')
title: commander.args.slice(1).join(' '),
};
break;
case 'milestones':
Expand Down Expand Up @@ -229,11 +231,11 @@ module.exports = function(argv, option, callback) {
break;
case 'ci':
case 'commit':
//options.category = 'commit';
//if (commander.args[2] && commander.args[2] !== '.') {
//options.hash = commander.args[2];
//}
//break;
// options.category = 'commit';
// if (commander.args[2] && commander.args[2] !== '.') {
// options.hash = commander.args[2];
// }
// break;
case 'commits':
options.category = 'commits';
if (commander.branch) {
Expand Down Expand Up @@ -301,16 +303,14 @@ module.exports = function(argv, option, callback) {
if (!parseFilePath(options, category)) {
console.error('Unknow category or path: ' + category);
process.exit(1);
return 1;
}
}
}

if (commander.path && !parseFilePath(options, commander.path)) {
console.error('Unknow path: ' + commander.path);
process.exit(1);
return 1;
}

return callback(options);
callback(options);
};
3 changes: 2 additions & 1 deletion bin/openrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
'use strict';
/* global process, module */

var fs = require('fs');
Expand Down Expand Up @@ -29,7 +30,7 @@ function openrc(uri) {
if (fs.existsSync(gitopenrc)) {
try {
config = yaml.safeLoad(fs.readFileSync(gitopenrc, 'utf8'));
Object.keys(config).some(function(hostname){
Object.keys(config).some(function(hostname) {
if (HOSTNAME === hostname) {
result.protocol = config[hostname].protocol || 'https';
result.type = config[hostname].type;
Expand Down
Loading

0 comments on commit 7c7e4f7

Please sign in to comment.