From af90c29482411fb88e76b5c9d7c2fbf852baf69a Mon Sep 17 00:00:00 2001 From: Planeshifter Date: Sun, 24 May 2015 22:26:42 -0400 Subject: [PATCH 1/2] [UPDATE] dotfiles, Makefile, README --- .editorconfig | 11 +++++++ .gitattributes | 1 + .jshintignore | 14 +++++++++ .jshintrc | 71 ++++++++++++++++++++++++++++++++++++++++++++ .npmignore | 5 +++- .travis.yml | 11 +++++-- LICENSE | 4 +-- Makefile | 34 ++++++++++++++++----- README.md | 10 +++---- examples/index.js | 2 ++ lib/index.js | 75 ++++++++++++++--------------------------------- package.json | 15 +++++----- test/test.js | 5 ++-- 13 files changed, 178 insertions(+), 80 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .jshintignore create mode 100644 .jshintrc diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8e74bf3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..176a458 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto diff --git a/.jshintignore b/.jshintignore new file mode 100644 index 0000000..3163c22 --- /dev/null +++ b/.jshintignore @@ -0,0 +1,14 @@ + +# Directories # +############### +build/ +reports/ +dist/ + +# Node.js # +########### +/node_modules/ + +# Git # +####### +.git* diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000..d09f1fa --- /dev/null +++ b/.jshintrc @@ -0,0 +1,71 @@ +{ + "bitwise": false, + "camelcase": false, + "curly": true, + "eqeqeq": true, + "es3": false, + "forin": true, + "freeze": true, + "immed": true, + "indent": 4, + "latedef": "nofunc", + "newcap": true, + "noarg": true, + "noempty": false, + "nonbsp": true, + "nonew": true, + "plusplus": false, + "quotmark": "single", + "undef": true, + "unused": true, + "strict": true, + "maxparams": 10, + "maxdepth": 5, + "maxstatements": 100, + "maxcomplexity": false, + "maxlen": 1000, + "asi": false, + "boss": false, + "debug": false, + "eqnull": false, + "esnext": false, + "evil": false, + "expr": false, + "funcscope": false, + "globalstrict": false, + "iterator": false, + "lastsemic": false, + "laxbreak": false, + "laxcomma": false, + "loopfunc": false, + "maxerr": 1000, + "moz": false, + "multistr": false, + "notypeof": false, + "proto": false, + "scripturl": false, + "shadow": false, + "sub": true, + "supernew": false, + "validthis": false, + "noyield": false, + "browser": true, + "browserify": true, + "couch": false, + "devel": true, + "dojo": false, + "jasmine": false, + "jquery": false, + "mocha": true, + "mootools": false, + "node": true, + "nonstandard": false, + "prototypejs": false, + "qunit": false, + "rhino": false, + "shelljs": false, + "worker": false, + "wsh": false, + "yui": false, + "globals": {} +} \ No newline at end of file diff --git a/.npmignore b/.npmignore index 42781b3..9db298d 100644 --- a/.npmignore +++ b/.npmignore @@ -13,6 +13,7 @@ examples/ reports/ support/ test/ +benchmark/ # Node.js # ########### @@ -46,4 +47,6 @@ Desktop.ini # Utilities # ############# .jshintrc -.travis.yml \ No newline at end of file +.jshintignore +.travis.yml +.editorconfig diff --git a/.travis.yml b/.travis.yml index 7c16620..29cff27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,12 @@ language: node_js node_js: - - "0.10" + - '0.12' + - '0.11' + - '0.10' + - '0.8' + - 'iojs' +before_install: + - npm update -g npm after_script: - - npm run coveralls \ No newline at end of file + - npm run coveralls + diff --git a/LICENSE b/LICENSE index 2fe3939..93cf2ea 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014 Athan Reines. +Copyright (c) 2014-2015 The Compute.io Authors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/Makefile b/Makefile index f5648d1..3234fbb 100644 --- a/Makefile +++ b/Makefile @@ -5,25 +5,29 @@ # Set the node.js environment to test: NODE_ENV ?= test +# Kernel name: +KERNEL ?= $(shell uname -s) + +ifeq ($(KERNEL), Darwin) + OPEN ?= open +else + OPEN ?= xdg-open +endif # NOTES # -NOTES ?= 'TODO|FIXME' +NOTES ?= 'TODO|FIXME|WARNING|HACK|NOTE' # MOCHA # -# Specify the test framework bin locations: MOCHA ?= ./node_modules/.bin/mocha _MOCHA ?= ./node_modules/.bin/_mocha - -# Specify the mocha reporter: MOCHA_REPORTER ?= spec # ISTANBUL # -# Istanbul configuration: ISTANBUL ?= ./node_modules/.bin/istanbul ISTANBUL_OUT ?= ./reports/coverage ISTANBUL_REPORT ?= lcov @@ -31,6 +35,12 @@ ISTANBUL_LCOV_INFO_PATH ?= $(ISTANBUL_OUT)/lcov.info ISTANBUL_HTML_REPORT_PATH ?= $(ISTANBUL_OUT)/lcov-report/index.html +# JSHINT # + +JSHINT ?= ./node_modules/.bin/jshint +JSHINT_REPORTER ?= ./node_modules/jshint-stylish/stylish.js + + # FILES # @@ -96,9 +106,20 @@ test-istanbul-mocha: node_modules view-cov: view-istanbul-report view-istanbul-report: - open $(ISTANBUL_HTML_REPORT_PATH) + $(OPEN) $(ISTANBUL_HTML_REPORT_PATH) +# LINT # + +.PHONY: lint lint-jshint + +lint: lint-jshint + +lint-jshint: node_modules + $(JSHINT) \ + --reporter $(JSHINT_REPORTER) \ + ./ + # NODE # @@ -117,7 +138,6 @@ clean-node: # CLEAN # - .PHONY: clean clean: diff --git a/README.md b/README.md index adf21ac..189258d 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ In contrast to the streaming (push) model, an incremental implementation provide ### Unit -Unit tests use the [Mocha](http://visionmedia.github.io/mocha) test framework with [Chai](http://chaijs.com) assertions. To run the tests, execute the following command in the top-level application directory: +Unit tests use the [Mocha](http://mochajs.org) test framework with [Chai](http://chaijs.com) assertions. To run the tests, execute the following command in the top-level application directory: ``` bash $ make test @@ -114,15 +114,15 @@ $ make view-cov ``` +--- ## License -[MIT license](http://opensource.org/licenses/MIT). +[MIT license](http://opensource.org/licenses/MIT). ---- ## Copyright -Copyright © 2014. Athan Reines. +Copyright © 2014-2015. The Compute.io Authors. [npm-image]: http://img.shields.io/npm/v/compute-incrsum.svg @@ -141,4 +141,4 @@ Copyright © 2014. Athan Reines. [dev-dependencies-url]: https://david-dm.org/dev/compute-io/incrsum [github-issues-image]: http://img.shields.io/github/issues/compute-io/incrsum.svg -[github-issues-url]: https://github.com/compute-io/incrsum/issues \ No newline at end of file +[github-issues-url]: https://github.com/compute-io/incrsum/issues diff --git a/examples/index.js b/examples/index.js index 8fe2884..9490a56 100644 --- a/examples/index.js +++ b/examples/index.js @@ -1,3 +1,5 @@ +'use strict'; + var incrsum = require( './../lib' ); // Initialize a method to calculate the sum incrementally: diff --git a/lib/index.js b/lib/index.js index 76c5240..4b55c4f 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,63 +1,32 @@ +'use strict'; + +// INCREMENTAL SUM // + /** +* FUNCTION: incrsum() +* Returns a method to compute the sum incrementally. * -* COMPUTE: incrsum -* -* -* DESCRIPTION: -* - Provides a method to compute a sum incrementally. -* -* -* NOTES: -* [1] -* -* -* TODO: -* [1] -* -* -* LICENSE: -* MIT -* -* Copyright (c) 2014. Athan Reines. -* -* -* AUTHOR: -* Athan Reines. kgryte@gmail.com. 2014. -* +* @returns {Function} method to compute the sum incrementally */ - -(function() { - 'use strict'; - - // INCREMENTAL SUM // - +function incrsum() { + var sum = 0; /** - * FUNCTION: incrsum() - * Returns a method to compute the sum incrementally. + * FUNCTION: incrsum( [value] ) + * If a `value` is provided, updates and returns the updated sum. If no `value` is provided, returns the current sum. * - * @returns {Function} method to compute the sum incrementally + * @param {Number} [value] - value used to update the sum + * @returns {Number} sum */ - function incrsum() { - var sum = 0; - /** - * FUNCTION: incrsum( [value] ) - * If a `value` is provided, updates and returns the updated sum. If no `value` is provided, returns the current sum. - * - * @param {Number} [value] - value used to update the sum - * @returns {Number} sum - */ - return function incrsum( x ) { - if ( !arguments.length ) { - return sum; - } - sum += x; + return function incrsum( x ) { + if ( !arguments.length ) { return sum; - }; - } // end FUNCTION incrsum() - + } + sum += x; + return sum; + }; +} // end FUNCTION incrsum() - // EXPORTS // - module.exports = incrsum; +// EXPORTS // -})(); \ No newline at end of file +module.exports = incrsum; diff --git a/package.json b/package.json index 9e8f4f4..9128fef 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,10 @@ { "name": "Athan Reines", "email": "kgryte@gmail.com" + }, + { + "name": "Philipp Burckhardt", + "email": "pburckhardt@outlook.com" } ], "scripts": { @@ -38,15 +42,10 @@ }, "dependencies": {}, "devDependencies": { - "chai": "1.x.x", - "mocha": "1.x.x", + "chai": "2.x.x", + "mocha": "2.x.x", "coveralls": "^2.11.1", "istanbul": "^0.3.0" }, - "licenses": [ - { - "type": "MIT", - "url": "http://www.opensource.org/licenses/MIT" - } - ] + "license": "MIT" } diff --git a/test/test.js b/test/test.js index 2dc2819..28ef1a6 100644 --- a/test/test.js +++ b/test/test.js @@ -1,3 +1,5 @@ +/* global require, describe, it */ +'use strict'; // MODULES // @@ -17,7 +19,6 @@ var expect = chai.expect, // TESTS // describe( 'compute-incrsum', function tests() { - 'use strict'; it( 'should export a function', function test() { expect( incrsum ).to.be.a( 'function' ); @@ -68,4 +69,4 @@ describe( 'compute-incrsum', function tests() { assert.strictEqual( sum(), 6 ); }); -}); \ No newline at end of file +}); From 0dd3c76ebf488e166a00eb102430fd287afd3769 Mon Sep 17 00:00:00 2001 From: kgryte Date: Mon, 25 May 2015 01:13:33 -0700 Subject: [PATCH 2/2] [UPDATE] README. Keywords. --- README.md | 2 -- package.json | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 189258d..cc91aa6 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,6 @@ For use in the browser, use [browserify](https://github.com/substack/node-browse ## Usage -To use the module, - ``` javascript var sum = require( 'compute-incrsum' ); ``` diff --git a/package.json b/package.json index 9128fef..58efd5b 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,8 @@ "mathematics", "math", "sum", - "incremental" + "incremental", + "total" ], "bugs": { "url": "https://github.com/compute-io/incrsum/issues"