Skip to content

Commit e255284

Browse files
Initial commit
0 parents  commit e255284

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+24518
-0
lines changed

.codeclimate.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
languages:
2+
JavaScript: true
3+
exclude_paths:
4+
- "dist/*"
5+
- "node_modules/*"
6+
- "tests/*"
7+
- "coverage/*"
8+
- "karma.conf.js"

.editorconfig

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Editor config
2+
# http://EditorConfig.org
3+
4+
# This EditorConfig overrides any parent EditorConfigs
5+
root = true
6+
7+
# Default rules applied to all file types
8+
[*]
9+
10+
# No trailing spaces, newline at EOF
11+
charset = utf-8
12+
trim_trailing_whitespace = true
13+
insert_final_newline = true
14+
15+
# 2 space indentation
16+
indent_style = space
17+
indent_size = 2
18+
19+
# JavaScript-specific settings
20+
[*.js]
21+
quote_type = single
22+
continuation_indent_size = 2
23+
curly_bracket_next_line = false
24+
indent_brace_style = BSD
25+
spaces_around_operators = true
26+
spaces_around_brackets = none

.gitattributes

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Specifies how Git should treat certain file types
2+
# https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
3+
4+
# Convert all line endings to CRLF, so they work with Windows programs
5+
* text=auto
6+
7+
# Explicitly declare text files you want to always be normalized and converted
8+
# to native line endings on checkout.
9+
*.txt text
10+
*.html text
11+
*.md text
12+
*.css text
13+
*.scss text
14+
*.min text
15+
*.map text
16+
*.js text
17+
*.json text
18+
*.config text
19+
*.xml text
20+
*.njsproj text
21+
*.java text
22+
*.sql text
23+
*.iml text
24+
*.svg text
25+
26+
# Declare files that will always have CRLF line endings on checkout.
27+
*.sln text eol=crlf
28+
*.csproj text eol=crlf
29+
*.jsproj text eol=crlf
30+
*.njsproj text eol=crlf
31+
*.vbproj text eol=crlf
32+
33+
# Denote all files that are truly binary and should not be modified.
34+
*.gif binary
35+
*.png binary
36+
*.jpg binary
37+
*.jpeg binary
38+
*.bmp binary
39+
*.dll binary
40+
*.exe binary

.gitignore

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Specifies intentionally untracked files to ignore when using Git
2+
# http://git-scm.com/docs/gitignore
3+
4+
**/*~
5+
**/._*
6+
**/.DS_Store
7+
npm-debug.log
8+
/.idea
9+
/bower_components
10+
/coverage
11+
/dist/json-schema-ref-parser.cover.js
12+
/node_modules

.jscsrc

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"excludeFiles": [
3+
"coverage/**",
4+
"dist/**",
5+
"node_modules/**"
6+
],
7+
"requireCurlyBraces": [
8+
"if",
9+
"else",
10+
"for",
11+
"while",
12+
"do",
13+
"try",
14+
"catch"
15+
],
16+
"requireOperatorBeforeLineBreak": true,
17+
"requireCamelCaseOrUpperCaseIdentifiers": true,
18+
"maximumLineLength": {
19+
"value": 120,
20+
"allowComments": true,
21+
"allowRegex": true
22+
},
23+
"validateIndentation": 2,
24+
"validateQuoteMarks": "'",
25+
26+
"disallowMultipleLineStrings": true,
27+
"disallowMixedSpacesAndTabs": true,
28+
"disallowTrailingWhitespace": true,
29+
"disallowSpaceAfterPrefixUnaryOperators": true,
30+
"disallowMultipleVarDecl": null,
31+
"disallowKeywordsOnNewLine": [],
32+
33+
"requireSpaceAfterKeywords": [
34+
"if",
35+
"else",
36+
"for",
37+
"while",
38+
"do",
39+
"switch",
40+
"return",
41+
"try",
42+
"catch"
43+
],
44+
"requireSpaceBeforeBinaryOperators": [
45+
"=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
46+
"&=", "|=", "^=", "+=",
47+
48+
"+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
49+
"|", "^", "&&", "||", "===", "==", ">=",
50+
"<=", "<", ">", "!=", "!=="
51+
],
52+
"requireSpaceAfterBinaryOperators": true,
53+
"requireSpacesInConditionalExpression": true,
54+
"requireSpaceBeforeBlockStatements": true,
55+
"requireSpacesInForStatement": true,
56+
"requireLineFeedAtFileEnd": true,
57+
"requireSpacesInFunctionExpression": {
58+
"beforeOpeningCurlyBrace": true
59+
},
60+
"disallowSpacesInAnonymousFunctionExpression": {
61+
"beforeOpeningRoundBrace": true
62+
},
63+
"disallowSpacesInsideObjectBrackets": "all",
64+
"disallowSpacesInsideArrayBrackets": "all",
65+
"disallowSpacesInsideParentheses": true,
66+
67+
"disallowMultipleLineBreaks": true,
68+
"disallowNewlineBeforeBlockStatements": true
69+
}

.jshintignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/coverage
2+
/dist
3+
/node_modules
4+
/tests

.jshintrc

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{
2+
// JSHint config
3+
// http://jshint.com/docs/options/
4+
5+
"maxerr" : 500, // {int} Maximum error before stopping
6+
7+
// Enforcing
8+
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
9+
"camelcase" : true, // true: Identifiers must be in camelCase
10+
"curly" : true, // true: Require {} for every new block or scope
11+
"eqeqeq" : true, // true: Require triple equals (===) for comparison
12+
"forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
13+
"immed" : true, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
14+
"indent" : 2, // {int} Number of spaces to use for indentation
15+
"latedef" : "nofunc", // true: Require variables/functions to be defined before being used
16+
"newcap" : true, // true: Require capitalization of all constructor functions e.g. `new F()`
17+
"noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
18+
"noempty" : true, // true: Prohibit use of empty blocks
19+
"nonew" : true, // true: Prohibit use of constructors for side-effects (without assignment)
20+
"plusplus" : false, // true: Prohibit use of `++` & `--`
21+
"quotmark" : "single", // Quotation mark consistency:
22+
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
23+
"unused" : "vars", // true: Require all defined variables be used
24+
"strict" : true, // true: Requires all functions run in ES5 Strict Mode
25+
"trailing" : true, // true: Prohibit trailing whitespaces
26+
"maxparams" : false, // {int} Max number of formal params allowed per function
27+
"maxdepth" : false, // {int} Max depth of nested blocks (within functions)
28+
"maxstatements" : false, // {int} Max number statements per function
29+
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function
30+
"maxlen" : false, // {int} Max number of characters per line
31+
32+
// Relaxing
33+
"asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
34+
"boss" : true, // true: Tolerate assignments where comparisons would be expected
35+
"debug" : true, // true: Allow debugger statements e.g. browser breakpoints.
36+
"eqnull" : false, // true: Tolerate use of `== null`
37+
"es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
38+
"esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
39+
"moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
40+
"evil" : false, // true: Tolerate use of `eval` and `new Function()`
41+
"expr" : true, // true: Tolerate `ExpressionStatement` as Programs
42+
"funcscope" : false, // true: Tolerate defining variables inside control statements"
43+
"globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
44+
"iterator" : false, // true: Tolerate using the `__iterator__` property
45+
"lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
46+
"laxbreak" : false, // true: Tolerate possibly unsafe line breakings
47+
"laxcomma" : false, // true: Tolerate comma-first style coding
48+
"loopfunc" : false, // true: Tolerate functions being defined in loops
49+
"multistr" : false, // true: Tolerate multi-line strings
50+
"proto" : false, // true: Tolerate using the `__proto__` property
51+
"scripturl" : false, // true: Tolerate script-targeted URLs
52+
"smarttabs" : false, // true: Tolerate mixed tabs/spaces when used for alignment
53+
"shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
54+
"sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
55+
"supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
56+
"validthis" : false, // true: Tolerate using this in a non-constructor function
57+
58+
// Environments
59+
"browser" : true, // Web Browser (window, document, etc)
60+
"couch" : false, // CouchDB
61+
"devel" : true, // Development/debugging (alert, confirm, etc)
62+
"dojo" : false, // Dojo Toolkit
63+
"jquery" : false, // jQuery
64+
"mocha" : true, // Mocha
65+
"mootools" : false, // MooTools
66+
"node" : true, // Node.js
67+
"nonstandard" : true, // Widely adopted globals (escape, unescape, etc)
68+
"prototypejs" : false, // Prototype and Scriptaculous
69+
"rhino" : false, // Rhino
70+
"worker" : false, // Web Workers
71+
"wsh" : false, // Windows Scripting Host
72+
"yui" : false, // Yahoo User Interface
73+
74+
// Legacy
75+
"nomen" : false, // true: Prohibit dangling `_` in variables
76+
"onevar" : false, // true: Allow only one `var` statement per function
77+
"passfail" : false, // true: Stop on first error
78+
"white" : false, // true: Check against strict whitespace and indentation rules
79+
80+
// Custom Globals
81+
"globals": {
82+
"Promise" : true, // ES6 Promises
83+
"expect" : false, // Chai
84+
"sinon" : false // Sinon
85+
}
86+
87+
}
88+

.npmignore

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
**/*~
2+
**/._*
3+
**/.DS_Store
4+
npm-debug.log
5+
/.idea
6+
/bower_components
7+
/coverage
8+
/dist/json-schema-ref-parser.cover.js
9+
/tests
10+
/.*

.travis.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Travis CI config
2+
# http://docs.travis-ci.com/user/languages/javascript-with-nodejs/
3+
4+
sudo: false
5+
language: node_js
6+
node_js:
7+
- '0.10'
8+
- '0.11'
9+
- '0.12'
10+
- 'iojs'
11+
before_script:
12+
- export DISPLAY=:99.0
13+
- sh -e /etc/init.d/xvfb start
14+
after_success:
15+
- cat coverage/lcov.info | node_modules/coveralls/bin/coveralls.js

.yo-rc.json

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"@bigstickcarpet/generator-npm": {
3+
"env": {
4+
"node": true,
5+
"browser": true,
6+
"yeoman": false,
7+
"cordova": false
8+
},
9+
"githubUsername": "BigstickCarpet",
10+
"tests": true
11+
}
12+
}

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2015 James Messinger
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.

0 commit comments

Comments
 (0)