Skip to content

Commit

Permalink
Use stricter JSHint rules and fix errors related to those
Browse files Browse the repository at this point in the history
  • Loading branch information
BYK committed Jan 17, 2014
1 parent 1021dc2 commit 0034235
Show file tree
Hide file tree
Showing 19 changed files with 233 additions and 243 deletions.
3 changes: 3 additions & 0 deletions .jshintignore
@@ -0,0 +1,3 @@
.idea/
node_modules/
tests/inputs
23 changes: 23 additions & 0 deletions .jshintrc
@@ -0,0 +1,23 @@
{
"node": true,
"strict": true,

"undef": true,
"unused": true,
"eqnull": true,
"white": true,
"eqeqeq": true,
"bitwise": true,
"indent": 2,
"newcap": true,
"trailing": true,
"immed": true,
"freeze": true,
"latedef": true,
"noarg": true,
"noempty": true,
"nonew": true,

"-W092": true,
"-W107": true
}
130 changes: 66 additions & 64 deletions lib/cli.js
@@ -1,54 +1,76 @@
#!/usr/bin/env node
"use strict";

var fs = require('fs');
var path = require('path');
var jsxgettext = require('./jsxgettext');

var opts = require("nomnom")
.script('jsxgettext')
.option('output', {
abbr: 'o',
metavar: 'FILE',
default: 'messages.po',
help: 'write output to specified file'
})
.option('output-dir', {
abbr: 'p',
metavar: 'DIR',
help: 'output files will be placed in directory DIR'
})
.option('version', {
abbr: 'v',
flag: true,
help: 'print version and exit',
callback: function() {
return require('../package.json').version;
}
})
.option('input', {
position: 0,
required: true,
list: true,
help: 'input files'
})
.option('keyword', {
abbr: 'k',
metavar: 'WORD',
help: 'additional keyword to be looked for'
})
.option('join-existing', {
abbr: 'j',
flag: true,
help: 'join messages with existing file'
})
.option('language', {
abbr: 'L',
metavar: 'NAME',
default: 'JavaScript',
help: 'recognise the specified language (JavaScript, EJS, Jinja, Jade, Handlebars)'
})
.parse();
.script('jsxgettext')
.option('output', {
abbr: 'o',
metavar: 'FILE',
default: 'messages.po',
help: 'write output to specified file'
})
.option('output-dir', {
abbr: 'p',
metavar: 'DIR',
help: 'output files will be placed in directory DIR'
})
.option('version', {
abbr: 'v',
flag: true,
help: 'print version and exit',
callback: function () {
return require('../package.json').version;
}
})
.option('input', {
position: 0,
required: true,
list: true,
help: 'input files'
})
.option('keyword', {
abbr: 'k',
metavar: 'WORD',
help: 'additional keyword to be looked for'
})
.option('join-existing', {
abbr: 'j',
flag: true,
help: 'join messages with existing file'
})
.option('language', {
abbr: 'L',
metavar: 'NAME',
default: 'JavaScript',
help: 'recognise the specified language (JavaScript, EJS, Jinja, Jade, Handlebars)'
})
.parse();

function gen(sources) {
var result;
if (opts.language.toUpperCase() === 'EJS') {
result = jsxgettext.generateFromEJS(sources, opts);
} else if (opts.language.toUpperCase() === 'JINJA') {
result = jsxgettext.generateFromJinja(sources, opts);
} else if (opts.language.toUpperCase() === 'JADE') {
result = jsxgettext.generateFromJade(sources, opts);
} else if (opts.language.toUpperCase() === 'HANDLEBARS') {
result = jsxgettext.generateFromHandlebars(sources, opts);
} else {
result = jsxgettext.generate(sources, opts);
}
if (opts.output === '-') {
console.log(result);
} else {
fs.writeFileSync(path.resolve(path.join(opts['output-dir'] || '', opts.output)), result, "utf8");
}
}

function main () {
function main() {
var files = opts.input;
var sources = {};

Expand All @@ -70,24 +92,4 @@ function main () {
}
}

function gen (sources) {
var result;
if (opts.language.toUpperCase() === 'EJS') {
result = jsxgettext.generateFromEJS(sources, opts);
} else if (opts.language.toUpperCase() === 'JINJA') {
result = jsxgettext.generateFromJinja(sources, opts);
} else if (opts.language.toUpperCase() === 'JADE') {
result = jsxgettext.generateFromJade(sources, opts);
} else if (opts.language.toUpperCase() === 'HANDLEBARS') {
result = jsxgettext.generateFromHandlebars(sources, opts);
} else {
result = jsxgettext.generate(sources, opts);
}
if (opts.output === '-') {
console.log(result);
} else {
fs.writeFileSync(path.resolve(path.join(opts['output-dir'] || '', opts.output)), result, "utf8");
}
}

main();

0 comments on commit 0034235

Please sign in to comment.