Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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