exercism-analysis 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/exercism-analysis.gemspec +30 -0
- data/lib/exercism-analysis.rb +38 -0
- data/lib/exercism-analysis/adapters/adapter.rb +23 -0
- data/lib/exercism-analysis/adapters/clojure.rb +13 -0
- data/lib/exercism-analysis/adapters/go.rb +19 -0
- data/lib/exercism-analysis/adapters/javascript.rb +13 -0
- data/lib/exercism-analysis/adapters/python.rb +13 -0
- data/lib/exercism-analysis/adapters/ruby.rb +19 -0
- data/lib/exercism-analysis/analysis.rb +18 -0
- data/lib/exercism-analysis/analyzers/analyzer.rb +54 -0
- data/lib/exercism-analysis/analyzers/clojure/kibit.rb +25 -0
- data/lib/exercism-analysis/analyzers/go/golint.rb +23 -0
- data/lib/exercism-analysis/analyzers/javascript/jslint.rb +24 -0
- data/lib/exercism-analysis/analyzers/python/pylint.rb +24 -0
- data/lib/exercism-analysis/analyzers/ruby/control_flow.rb +21 -0
- data/lib/exercism-analysis/analyzers/ruby/enumerable_condition.rb +21 -0
- data/lib/exercism-analysis/analyzers/ruby/for_loop.rb +29 -0
- data/lib/exercism-analysis/analyzers/ruby/indentation.rb +21 -0
- data/lib/exercism-analysis/analyzers/ruby/iter_mutation.rb +37 -0
- data/lib/exercism-analysis/analyzers/ruby/output.rb +20 -0
- data/lib/exercism-analysis/analyzers/ruby/range.rb +28 -0
- data/lib/exercism-analysis/analyzers/ruby/roodi.rb +19 -0
- data/lib/exercism-analysis/analyzers/ruby/send.rb +25 -0
- data/lib/exercism-analysis/analyzers/ruby/shebang.rb +23 -0
- data/lib/exercism-analysis/analyzers/ruby/tab.rb +38 -0
- data/lib/exercism-analysis/processors/call_processor.rb +39 -0
- data/lib/exercism-analysis/processors/control_flow_processor.rb +27 -0
- data/lib/exercism-analysis/processors/enumerable_condition_processor.rb +31 -0
- data/lib/exercism-analysis/processors/for_loop_processor.rb +21 -0
- data/lib/exercism-analysis/processors/indentation_processor.rb +69 -0
- data/lib/exercism-analysis/processors/iter_mutation_processor.rb +50 -0
- data/lib/exercism-analysis/processors/processor.rb +34 -0
- data/lib/exercism-analysis/processors/range_processor.rb +23 -0
- data/lib/exercism-analysis/processors/send_processor.rb +23 -0
- data/lib/exercism-analysis/templates/each_to_map.rb +29 -0
- data/lib/exercism-analysis/templates/each_to_select.rb +31 -0
- data/lib/exercism-analysis/templates/range_exclusive.rb +19 -0
- data/lib/exercism-analysis/templates/template.rb +29 -0
- data/vendor/clojure/kibit-runner/LICENSE +214 -0
- data/vendor/clojure/kibit-runner/project.clj +10 -0
- data/vendor/clojure/kibit-runner/src/kibit_runner/core.clj +17 -0
- data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT-standalone.jar +0 -0
- data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT.jar +0 -0
- data/vendor/clojure/kibit-runner/target/stale/extract-native.dependencies +1 -0
- data/vendor/go/src/github.com/golang/lint/LICENSE +27 -0
- data/vendor/go/src/github.com/golang/lint/README +59 -0
- data/vendor/go/src/github.com/golang/lint/golint/golint.go +67 -0
- data/vendor/go/src/github.com/golang/lint/lint.go +1061 -0
- data/vendor/go/src/runner/golint_runner.go +23 -0
- data/vendor/javascript/jshint_runner.js +6 -0
- data/vendor/javascript/node_modules/jshint/README.md +47 -0
- data/vendor/javascript/node_modules/jshint/bin/apply +6 -0
- data/vendor/javascript/node_modules/jshint/bin/build +36 -0
- data/vendor/javascript/node_modules/jshint/bin/changelog +36 -0
- data/vendor/javascript/node_modules/jshint/bin/jshint +3 -0
- data/vendor/javascript/node_modules/jshint/bin/land +34 -0
- data/vendor/javascript/node_modules/jshint/data/ascii-identifier-data.js +22 -0
- data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-part-only.js +1570 -0
- data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-start.js +48477 -0
- data/vendor/javascript/node_modules/jshint/dist/jshint-rhino.js +60642 -0
- data/vendor/javascript/node_modules/jshint/dist/jshint.js +60525 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/README.md +196 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/cli.js +1139 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/cat.js +17 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/command.js +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/echo.js +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/glob.js +6 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/long_desc.js +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/progress.js +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/sort.js +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/spinner.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.coffee +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/index.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/LICENSE +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/README.md +250 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/g.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/usr-local.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/glob.js +728 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/LICENSE +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/README.md +42 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/test.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/package.json +58 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/00-setup.js +176 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-comparison.js +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-results.json +351 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/cwd-test.js +55 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/globstar-match.js +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/mark.js +118 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/new-glob-optional-options.js +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/nocase-nomagic.js +113 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/pause-resume.js +73 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/readme-issue.js +36 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root-nomount.js +39 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root.js +46 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/stat.js +32 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/zz-cleanup.js +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/package.json +70 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/LICENCE +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/README.md +33 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/index.js +86 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/LICENCE +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/README.md +45 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/index.js +5 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/package.json +89 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/seed.js +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/index.js +28 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/static/index.html +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/package.json +88 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/index.js +67 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/index.html +12 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/test-adapter.js +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/Gruntfile.js +48 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/LICENSE-MIT +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/README.md +75 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/lib/exit.js +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/package.json +69 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/exit_test.js +121 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stderr.txt +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout-stderr.txt +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout.txt +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stderr.txt +100 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout-stderr.txt +200 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout.txt +100 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stderr.txt +1000 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout-stderr.txt +2000 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout.txt +1000 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/create-files.sh +8 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log-broken.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/LICENSE +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/README.md +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/CollectingHandler.js +55 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/FeedHandler.js +95 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Parser.js +337 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/ProxyHandler.js +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Stream.js +35 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Tokenizer.js +891 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/WritableStream.js +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/index.js +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/index.js +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/package.json +40 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/readme.md +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/index.js +211 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/package.json +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/readme.md +102 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/01-basic.json +57 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/02-single_tag_1.json +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/03-single_tag_2.json +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/04-unescaped_in_script.json +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/05-tags_in_comment.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/06-comment_in_script.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json +15 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/11-text_outside_tags.json +40 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/12-text_only.json +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/13-comment_in_text.json +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/14-comment_in_text_in_script.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/15-non-verbose.json +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/16-normalize_whitespace.json +47 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/17-xml_namespace.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/18-enforce_empty_tags.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/19-ignore_empty_tags.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/20-template_script_tags.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/21-conditional_comments.json +15 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/23-dom-lvl1.json +121 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/tests.js +58 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/index.js +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +141 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +87 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +77 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +94 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +93 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +24 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/package.json +71 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/readme.md +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/fixture.js +6 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/helpers.js +89 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js +119 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/utils.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/index.js +31 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode.js +72 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js +26 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/encode.js +48 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/decode.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/entities.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/legacy.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/xml.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/package.json +79 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/readme.md +31 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/mocha.opts +2 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/test.js +150 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/LICENSE +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/README.md +15 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/duplex.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/float.patch +923 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js +89 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js +46 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js +944 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js +209 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js +472 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/README.md +3 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/float.patch +604 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +107 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/package.json +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/util.js +106 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/LICENSE +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/README.md +42 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/package.json +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/test.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/build/build.js +209 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js +3 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/LICENSE +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/README.md +7 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/index.js +200 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/package.json +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/package.json +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/readable.js +7 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/transform.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/writable.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/package.json +90 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/01-events.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/02-stream.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/03-feed.js +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Atom_Example.xml +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Attributes.html +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Basic.html +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RDF_Example.xml +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RSS_Example.xml +48 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/01-simple.json +44 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/02-template.json +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/03-lowercase_tags.json +46 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/04-cdata.json +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/05-cdata-special.json +35 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/06-leading-lt.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/07-self-closing.json +67 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/08-implicit-close-tags.json +59 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/09-attributes.json +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/10-crazy-attrib.json +52 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/11-script_in_script.json +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/12-long-comment-end.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/13-long-cdata-end.json +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/14-implicit-open-tags.json +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/15-lt-whitespace.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/16-double_attribs.json +45 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/17-numeric_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/18-legacy_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/19-named_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/20-xml_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/21-entity_in_attribute.json +38 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/22-double_brackets.json +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/23-legacy_entity_fail.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/24-special_special.json +133 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/25-empty_tag_name.json +13 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/26-not-quite-closed.json +35 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/27-entities_in_attributes.json +62 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/28-cdata_in_html.json +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/29-comment_edge-cases.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/30-cdata_edge-cases.json +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/01-rss.js +34 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/02-atom.js +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/03-rdf.js +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/01-basic.json +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/02-RSS.json +1093 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/03-Atom.json +644 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/04-RDF.json +1399 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/05-Attributes.json +354 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/api.js +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/test-helper.js +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/LICENSE +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/README.md +218 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/minimatch.js +1061 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/package.json +58 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/package.json +57 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/basic.js +399 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/brace-expand.js +33 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/caching.js +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/defaults.js +274 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/LICENSE +26 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/README.md +569 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/bin/shjs +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/global.js +3 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/make.js +47 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/package.json +61 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/generate-docs.js +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/run-tests.js +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/shell.js +157 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cat.js +43 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cd.js +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/chmod.js +208 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/common.js +203 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cp.js +201 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/dirs.js +191 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/echo.js +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/error.js +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/exec.js +181 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/find.js +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/grep.js +52 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ln.js +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ls.js +126 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mkdir.js +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mv.js +80 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/popd.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pushd.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pwd.js +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/rm.js +145 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/sed.js +43 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/tempdir.js +56 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/test.js +85 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/to.js +29 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/toEnd.js +29 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/which.js +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/cli.js +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/package.json +76 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/readme.md +74 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/strip-json-comments.js +64 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/LICENSE +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/README.md +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/package.json +66 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore-min.js +6 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore.js +1343 -0
- data/vendor/javascript/node_modules/jshint/package.json +80 -0
- data/vendor/javascript/node_modules/jshint/src/cli.js +731 -0
- data/vendor/javascript/node_modules/jshint/src/jshint.js +5023 -0
- data/vendor/javascript/node_modules/jshint/src/lex.js +1650 -0
- data/vendor/javascript/node_modules/jshint/src/messages.js +223 -0
- data/vendor/javascript/node_modules/jshint/src/platforms/rhino.js +115 -0
- data/vendor/javascript/node_modules/jshint/src/reg.js +38 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/checkstyle.js +81 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/default.js +34 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/jslint_xml.js +57 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/non_error.js +52 -0
- data/vendor/javascript/node_modules/jshint/src/state.js +28 -0
- data/vendor/javascript/node_modules/jshint/src/style.js +143 -0
- data/vendor/javascript/node_modules/jshint/src/vars.js +658 -0
- data/vendor/python/astroid/COPYING +339 -0
- data/vendor/python/astroid/COPYING.LESSER +510 -0
- data/vendor/python/astroid/ChangeLog +574 -0
- data/vendor/python/astroid/MANIFEST.in +9 -0
- data/vendor/python/astroid/README +56 -0
- data/vendor/python/astroid/README.Python3 +26 -0
- data/vendor/python/astroid/__init__.py +118 -0
- data/vendor/python/astroid/__init__.pyc +0 -0
- data/vendor/python/astroid/__pkginfo__.py +48 -0
- data/vendor/python/astroid/__pkginfo__.pyc +0 -0
- data/vendor/python/astroid/announce.txt +23 -0
- data/vendor/python/astroid/as_string.py +496 -0
- data/vendor/python/astroid/as_string.pyc +0 -0
- data/vendor/python/astroid/bases.py +618 -0
- data/vendor/python/astroid/bases.pyc +0 -0
- data/vendor/python/astroid/brain/py2gi.py +159 -0
- data/vendor/python/astroid/brain/py2gi.pyc +0 -0
- data/vendor/python/astroid/brain/py2mechanize.py +20 -0
- data/vendor/python/astroid/brain/py2mechanize.pyc +0 -0
- data/vendor/python/astroid/brain/py2qt4.py +25 -0
- data/vendor/python/astroid/brain/py2qt4.pyc +0 -0
- data/vendor/python/astroid/brain/py2stdlib.py +252 -0
- data/vendor/python/astroid/brain/py2stdlib.pyc +0 -0
- data/vendor/python/astroid/builder.py +238 -0
- data/vendor/python/astroid/builder.pyc +0 -0
- data/vendor/python/astroid/exceptions.py +51 -0
- data/vendor/python/astroid/exceptions.pyc +0 -0
- data/vendor/python/astroid/inference.py +393 -0
- data/vendor/python/astroid/inference.pyc +0 -0
- data/vendor/python/astroid/inspector.py +275 -0
- data/vendor/python/astroid/manager.py +336 -0
- data/vendor/python/astroid/manager.pyc +0 -0
- data/vendor/python/astroid/mixins.py +122 -0
- data/vendor/python/astroid/mixins.pyc +0 -0
- data/vendor/python/astroid/node_classes.py +928 -0
- data/vendor/python/astroid/node_classes.pyc +0 -0
- data/vendor/python/astroid/nodes.py +73 -0
- data/vendor/python/astroid/nodes.pyc +0 -0
- data/vendor/python/astroid/protocols.py +322 -0
- data/vendor/python/astroid/protocols.pyc +0 -0
- data/vendor/python/astroid/raw_building.py +361 -0
- data/vendor/python/astroid/raw_building.pyc +0 -0
- data/vendor/python/astroid/rebuilder.py +954 -0
- data/vendor/python/astroid/rebuilder.pyc +0 -0
- data/vendor/python/astroid/scoped_nodes.py +1118 -0
- data/vendor/python/astroid/scoped_nodes.pyc +0 -0
- data/vendor/python/astroid/setup.py +184 -0
- data/vendor/python/astroid/tox.ini +10 -0
- data/vendor/python/astroid/utils.py +236 -0
- data/vendor/python/astroid/utils.pyc +0 -0
- data/vendor/python/logilab/__init__.py +0 -0
- data/vendor/python/logilab/__init__.pyc +0 -0
- data/vendor/python/logilab/common/COPYING +339 -0
- data/vendor/python/logilab/common/COPYING.LESSER +510 -0
- data/vendor/python/logilab/common/ChangeLog +1517 -0
- data/vendor/python/logilab/common/MANIFEST.in +13 -0
- data/vendor/python/logilab/common/README +185 -0
- data/vendor/python/logilab/common/README.Python3 +29 -0
- data/vendor/python/logilab/common/__init__.py +171 -0
- data/vendor/python/logilab/common/__init__.pyc +0 -0
- data/vendor/python/logilab/common/__pkginfo__.py +53 -0
- data/vendor/python/logilab/common/__pkginfo__.pyc +0 -0
- data/vendor/python/logilab/common/announce.txt +25 -0
- data/vendor/python/logilab/common/bin/pytest +7 -0
- data/vendor/python/logilab/common/bin/pytest.bat +17 -0
- data/vendor/python/logilab/common/cache.py +114 -0
- data/vendor/python/logilab/common/changelog.py +236 -0
- data/vendor/python/logilab/common/changelog.pyc +0 -0
- data/vendor/python/logilab/common/clcommands.py +332 -0
- data/vendor/python/logilab/common/cli.py +208 -0
- data/vendor/python/logilab/common/compat.py +243 -0
- data/vendor/python/logilab/common/compat.pyc +0 -0
- data/vendor/python/logilab/common/configuration.py +1094 -0
- data/vendor/python/logilab/common/configuration.pyc +0 -0
- data/vendor/python/logilab/common/contexts.py +5 -0
- data/vendor/python/logilab/common/corbautils.py +117 -0
- data/vendor/python/logilab/common/daemon.py +100 -0
- data/vendor/python/logilab/common/date.py +333 -0
- data/vendor/python/logilab/common/dbf.py +229 -0
- data/vendor/python/logilab/common/debugger.py +210 -0
- data/vendor/python/logilab/common/decorators.py +281 -0
- data/vendor/python/logilab/common/decorators.pyc +0 -0
- data/vendor/python/logilab/common/deprecation.py +188 -0
- data/vendor/python/logilab/common/deprecation.pyc +0 -0
- data/vendor/python/logilab/common/fileutils.py +402 -0
- data/vendor/python/logilab/common/graph.py +276 -0
- data/vendor/python/logilab/common/graph.pyc +0 -0
- data/vendor/python/logilab/common/hg.py +130 -0
- data/vendor/python/logilab/common/interface.py +71 -0
- data/vendor/python/logilab/common/interface.pyc +0 -0
- data/vendor/python/logilab/common/logging_ext.py +193 -0
- data/vendor/python/logilab/common/modutils.py +695 -0
- data/vendor/python/logilab/common/modutils.pyc +0 -0
- data/vendor/python/logilab/common/optik_ext.py +391 -0
- data/vendor/python/logilab/common/optik_ext.pyc +0 -0
- data/vendor/python/logilab/common/optparser.py +90 -0
- data/vendor/python/logilab/common/proc.py +277 -0
- data/vendor/python/logilab/common/pyro_ext.py +180 -0
- data/vendor/python/logilab/common/pytest.py +1177 -0
- data/vendor/python/logilab/common/python-logilab-common.spec +184 -0
- data/vendor/python/logilab/common/registry.py +1113 -0
- data/vendor/python/logilab/common/setup.cfg +3 -0
- data/vendor/python/logilab/common/setup.py +189 -0
- data/vendor/python/logilab/common/shellutils.py +455 -0
- data/vendor/python/logilab/common/sphinx_ext.py +87 -0
- data/vendor/python/logilab/common/sphinxutils.py +122 -0
- data/vendor/python/logilab/common/table.py +925 -0
- data/vendor/python/logilab/common/tasksqueue.py +100 -0
- data/vendor/python/logilab/common/textutils.py +534 -0
- data/vendor/python/logilab/common/textutils.pyc +0 -0
- data/vendor/python/logilab/common/tree.py +369 -0
- data/vendor/python/logilab/common/tree.pyc +0 -0
- data/vendor/python/logilab/common/umessage.py +190 -0
- data/vendor/python/logilab/common/ureports/__init__.py +174 -0
- data/vendor/python/logilab/common/ureports/__init__.pyc +0 -0
- data/vendor/python/logilab/common/ureports/docbook_writer.py +139 -0
- data/vendor/python/logilab/common/ureports/html_writer.py +131 -0
- data/vendor/python/logilab/common/ureports/html_writer.pyc +0 -0
- data/vendor/python/logilab/common/ureports/nodes.py +201 -0
- data/vendor/python/logilab/common/ureports/nodes.pyc +0 -0
- data/vendor/python/logilab/common/ureports/text_writer.py +140 -0
- data/vendor/python/logilab/common/ureports/text_writer.pyc +0 -0
- data/vendor/python/logilab/common/urllib2ext.py +87 -0
- data/vendor/python/logilab/common/vcgutils.py +216 -0
- data/vendor/python/logilab/common/visitor.py +107 -0
- data/vendor/python/logilab/common/visitor.pyc +0 -0
- data/vendor/python/logilab/common/xmlrpcutils.py +131 -0
- data/vendor/python/logilab/common/xmlutils.py +61 -0
- data/vendor/python/pylint/CONTRIBUTORS.txt +38 -0
- data/vendor/python/pylint/COPYING +340 -0
- data/vendor/python/pylint/ChangeLog +1437 -0
- data/vendor/python/pylint/DEPENDS +3 -0
- data/vendor/python/pylint/MANIFEST.in +14 -0
- data/vendor/python/pylint/README +50 -0
- data/vendor/python/pylint/README.Python3 +37 -0
- data/vendor/python/pylint/__init__.py +44 -0
- data/vendor/python/pylint/__init__.pyc +0 -0
- data/vendor/python/pylint/__main__.py +3 -0
- data/vendor/python/pylint/__pkginfo__.py +74 -0
- data/vendor/python/pylint/__pkginfo__.pyc +0 -0
- data/vendor/python/pylint/bin/epylint +3 -0
- data/vendor/python/pylint/bin/epylint.bat +5 -0
- data/vendor/python/pylint/bin/pylint +3 -0
- data/vendor/python/pylint/bin/pylint-gui +3 -0
- data/vendor/python/pylint/bin/pylint-gui.bat +5 -0
- data/vendor/python/pylint/bin/pylint.bat +5 -0
- data/vendor/python/pylint/bin/pyreverse +3 -0
- data/vendor/python/pylint/bin/pyreverse.bat +5 -0
- data/vendor/python/pylint/bin/symilar +3 -0
- data/vendor/python/pylint/bin/symilar.bat +5 -0
- data/vendor/python/pylint/checkers/__init__.py +145 -0
- data/vendor/python/pylint/checkers/__init__.pyc +0 -0
- data/vendor/python/pylint/checkers/base.py +1141 -0
- data/vendor/python/pylint/checkers/base.pyc +0 -0
- data/vendor/python/pylint/checkers/classes.py +792 -0
- data/vendor/python/pylint/checkers/classes.pyc +0 -0
- data/vendor/python/pylint/checkers/design_analysis.py +367 -0
- data/vendor/python/pylint/checkers/design_analysis.pyc +0 -0
- data/vendor/python/pylint/checkers/exceptions.py +306 -0
- data/vendor/python/pylint/checkers/exceptions.pyc +0 -0
- data/vendor/python/pylint/checkers/format.py +943 -0
- data/vendor/python/pylint/checkers/format.pyc +0 -0
- data/vendor/python/pylint/checkers/imports.py +394 -0
- data/vendor/python/pylint/checkers/imports.pyc +0 -0
- data/vendor/python/pylint/checkers/logging.py +213 -0
- data/vendor/python/pylint/checkers/logging.pyc +0 -0
- data/vendor/python/pylint/checkers/misc.py +90 -0
- data/vendor/python/pylint/checkers/misc.pyc +0 -0
- data/vendor/python/pylint/checkers/newstyle.py +151 -0
- data/vendor/python/pylint/checkers/newstyle.pyc +0 -0
- data/vendor/python/pylint/checkers/raw_metrics.py +129 -0
- data/vendor/python/pylint/checkers/raw_metrics.pyc +0 -0
- data/vendor/python/pylint/checkers/similar.py +365 -0
- data/vendor/python/pylint/checkers/similar.pyc +0 -0
- data/vendor/python/pylint/checkers/stdlib.py +69 -0
- data/vendor/python/pylint/checkers/stdlib.pyc +0 -0
- data/vendor/python/pylint/checkers/strings.py +304 -0
- data/vendor/python/pylint/checkers/strings.pyc +0 -0
- data/vendor/python/pylint/checkers/typecheck.py +451 -0
- data/vendor/python/pylint/checkers/typecheck.pyc +0 -0
- data/vendor/python/pylint/checkers/utils.py +416 -0
- data/vendor/python/pylint/checkers/utils.pyc +0 -0
- data/vendor/python/pylint/checkers/variables.py +741 -0
- data/vendor/python/pylint/checkers/variables.pyc +0 -0
- data/vendor/python/pylint/config.py +156 -0
- data/vendor/python/pylint/config.pyc +0 -0
- data/vendor/python/pylint/epylint.py +175 -0
- data/vendor/python/pylint/gui.py +508 -0
- data/vendor/python/pylint/interfaces.py +72 -0
- data/vendor/python/pylint/interfaces.pyc +0 -0
- data/vendor/python/pylint/lint.py +1106 -0
- data/vendor/python/pylint/lint.pyc +0 -0
- data/vendor/python/pylint/pyreverse/__init__.py +5 -0
- data/vendor/python/pylint/pyreverse/diadefslib.py +233 -0
- data/vendor/python/pylint/pyreverse/diagrams.py +247 -0
- data/vendor/python/pylint/pyreverse/main.py +124 -0
- data/vendor/python/pylint/pyreverse/utils.py +131 -0
- data/vendor/python/pylint/pyreverse/writer.py +199 -0
- data/vendor/python/pylint/reporters/__init__.py +138 -0
- data/vendor/python/pylint/reporters/__init__.pyc +0 -0
- data/vendor/python/pylint/reporters/guireporter.py +28 -0
- data/vendor/python/pylint/reporters/guireporter.pyc +0 -0
- data/vendor/python/pylint/reporters/html.py +70 -0
- data/vendor/python/pylint/reporters/html.pyc +0 -0
- data/vendor/python/pylint/reporters/text.py +143 -0
- data/vendor/python/pylint/reporters/text.pyc +0 -0
- data/vendor/python/pylint/setup.cfg +3 -0
- data/vendor/python/pylint/setup.py +203 -0
- data/vendor/python/pylint/tox.ini +10 -0
- data/vendor/python/pylint/utils.py +744 -0
- data/vendor/python/pylint/utils.pyc +0 -0
- data/vendor/python/pylint_runner.py +22 -0
- metadata +675 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
# Authors, sorted by whether or not they are me
|
2
|
+
Isaac Z. Schlueter <i@izs.me>
|
3
|
+
Brian Cottingham <spiffytech@gmail.com>
|
4
|
+
Carlos Brito Lage <carlos@carloslage.net>
|
5
|
+
Jesse Dailey <jesse.dailey@gmail.com>
|
6
|
+
Kevin O'Hara <kevinohara80@gmail.com>
|
7
|
+
Marco Rogers <marco.rogers@gmail.com>
|
8
|
+
Mark Cavage <mcavage@gmail.com>
|
9
|
+
Marko Mikulicic <marko.mikulicic@isti.cnr.it>
|
10
|
+
Nathan Rajlich <nathan@tootallnate.net>
|
11
|
+
Satheesh Natesan <snateshan@myspace-inc.com>
|
12
|
+
Trent Mick <trentm@gmail.com>
|
13
|
+
ashleybrener <ashley@starlogik.com>
|
14
|
+
n4kz <n4kz@n4kz.com>
|
data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/LICENSE
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Permission is hereby granted, free of charge, to any person
|
5
|
+
obtaining a copy of this software and associated documentation
|
6
|
+
files (the "Software"), to deal in the Software without
|
7
|
+
restriction, including without limitation the rights to use,
|
8
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the
|
10
|
+
Software is furnished to do so, subject to the following
|
11
|
+
conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
18
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
20
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
21
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
22
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
23
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/README.md
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
# lru cache
|
2
|
+
|
3
|
+
A cache object that deletes the least-recently-used items.
|
4
|
+
|
5
|
+
## Usage:
|
6
|
+
|
7
|
+
```javascript
|
8
|
+
var LRU = require("lru-cache")
|
9
|
+
, options = { max: 500
|
10
|
+
, length: function (n) { return n * 2 }
|
11
|
+
, dispose: function (key, n) { n.close() }
|
12
|
+
, maxAge: 1000 * 60 * 60 }
|
13
|
+
, cache = LRU(options)
|
14
|
+
, otherCache = LRU(50) // sets just the max size
|
15
|
+
|
16
|
+
cache.set("key", "value")
|
17
|
+
cache.get("key") // "value"
|
18
|
+
|
19
|
+
cache.reset() // empty the cache
|
20
|
+
```
|
21
|
+
|
22
|
+
If you put more stuff in it, then items will fall out.
|
23
|
+
|
24
|
+
If you try to put an oversized thing in it, then it'll fall out right
|
25
|
+
away.
|
26
|
+
|
27
|
+
## Options
|
28
|
+
|
29
|
+
* `max` The maximum size of the cache, checked by applying the length
|
30
|
+
function to all values in the cache. Not setting this is kind of
|
31
|
+
silly, since that's the whole purpose of this lib, but it defaults
|
32
|
+
to `Infinity`.
|
33
|
+
* `maxAge` Maximum age in ms. Items are not pro-actively pruned out
|
34
|
+
as they age, but if you try to get an item that is too old, it'll
|
35
|
+
drop it and return undefined instead of giving it to you.
|
36
|
+
* `length` Function that is used to calculate the length of stored
|
37
|
+
items. If you're storing strings or buffers, then you probably want
|
38
|
+
to do something like `function(n){return n.length}`. The default is
|
39
|
+
`function(n){return 1}`, which is fine if you want to store `n`
|
40
|
+
like-sized things.
|
41
|
+
* `dispose` Function that is called on items when they are dropped
|
42
|
+
from the cache. This can be handy if you want to close file
|
43
|
+
descriptors or do other cleanup tasks when items are no longer
|
44
|
+
accessible. Called with `key, value`. It's called *before*
|
45
|
+
actually removing the item from the internal cache, so if you want
|
46
|
+
to immediately put it back in, you'll have to do that in a
|
47
|
+
`nextTick` or `setTimeout` callback or it won't do anything.
|
48
|
+
* `stale` By default, if you set a `maxAge`, it'll only actually pull
|
49
|
+
stale items out of the cache when you `get(key)`. (That is, it's
|
50
|
+
not pre-emptively doing a `setTimeout` or anything.) If you set
|
51
|
+
`stale:true`, it'll return the stale value before deleting it. If
|
52
|
+
you don't set this, then it'll return `undefined` when you try to
|
53
|
+
get a stale entry, as if it had already been deleted.
|
54
|
+
|
55
|
+
## API
|
56
|
+
|
57
|
+
* `set(key, value)`
|
58
|
+
* `get(key) => value`
|
59
|
+
|
60
|
+
Both of these will update the "recently used"-ness of the key.
|
61
|
+
They do what you think.
|
62
|
+
|
63
|
+
* `peek(key)`
|
64
|
+
|
65
|
+
Returns the key value (or `undefined` if not found) without
|
66
|
+
updating the "recently used"-ness of the key.
|
67
|
+
|
68
|
+
(If you find yourself using this a lot, you *might* be using the
|
69
|
+
wrong sort of data structure, but there are some use cases where
|
70
|
+
it's handy.)
|
71
|
+
|
72
|
+
* `del(key)`
|
73
|
+
|
74
|
+
Deletes a key out of the cache.
|
75
|
+
|
76
|
+
* `reset()`
|
77
|
+
|
78
|
+
Clear the cache entirely, throwing away all values.
|
79
|
+
|
80
|
+
* `has(key)`
|
81
|
+
|
82
|
+
Check if a key is in the cache, without updating the recent-ness
|
83
|
+
or deleting it for being stale.
|
84
|
+
|
85
|
+
* `forEach(function(value,key,cache), [thisp])`
|
86
|
+
|
87
|
+
Just like `Array.prototype.forEach`. Iterates over all the keys
|
88
|
+
in the cache, in order of recent-ness. (Ie, more recently used
|
89
|
+
items are iterated over first.)
|
90
|
+
|
91
|
+
* `keys()`
|
92
|
+
|
93
|
+
Return an array of the keys in the cache.
|
94
|
+
|
95
|
+
* `values()`
|
96
|
+
|
97
|
+
Return an array of the values in the cache.
|
@@ -0,0 +1,252 @@
|
|
1
|
+
;(function () { // closure for web browsers
|
2
|
+
|
3
|
+
if (typeof module === 'object' && module.exports) {
|
4
|
+
module.exports = LRUCache
|
5
|
+
} else {
|
6
|
+
// just set the global for non-node platforms.
|
7
|
+
this.LRUCache = LRUCache
|
8
|
+
}
|
9
|
+
|
10
|
+
function hOP (obj, key) {
|
11
|
+
return Object.prototype.hasOwnProperty.call(obj, key)
|
12
|
+
}
|
13
|
+
|
14
|
+
function naiveLength () { return 1 }
|
15
|
+
|
16
|
+
function LRUCache (options) {
|
17
|
+
if (!(this instanceof LRUCache))
|
18
|
+
return new LRUCache(options)
|
19
|
+
|
20
|
+
if (typeof options === 'number')
|
21
|
+
options = { max: options }
|
22
|
+
|
23
|
+
if (!options)
|
24
|
+
options = {}
|
25
|
+
|
26
|
+
this._max = options.max
|
27
|
+
// Kind of weird to have a default max of Infinity, but oh well.
|
28
|
+
if (!this._max || !(typeof this._max === "number") || this._max <= 0 )
|
29
|
+
this._max = Infinity
|
30
|
+
|
31
|
+
this._lengthCalculator = options.length || naiveLength
|
32
|
+
if (typeof this._lengthCalculator !== "function")
|
33
|
+
this._lengthCalculator = naiveLength
|
34
|
+
|
35
|
+
this._allowStale = options.stale || false
|
36
|
+
this._maxAge = options.maxAge || null
|
37
|
+
this._dispose = options.dispose
|
38
|
+
this.reset()
|
39
|
+
}
|
40
|
+
|
41
|
+
// resize the cache when the max changes.
|
42
|
+
Object.defineProperty(LRUCache.prototype, "max",
|
43
|
+
{ set : function (mL) {
|
44
|
+
if (!mL || !(typeof mL === "number") || mL <= 0 ) mL = Infinity
|
45
|
+
this._max = mL
|
46
|
+
if (this._length > this._max) trim(this)
|
47
|
+
}
|
48
|
+
, get : function () { return this._max }
|
49
|
+
, enumerable : true
|
50
|
+
})
|
51
|
+
|
52
|
+
// resize the cache when the lengthCalculator changes.
|
53
|
+
Object.defineProperty(LRUCache.prototype, "lengthCalculator",
|
54
|
+
{ set : function (lC) {
|
55
|
+
if (typeof lC !== "function") {
|
56
|
+
this._lengthCalculator = naiveLength
|
57
|
+
this._length = this._itemCount
|
58
|
+
for (var key in this._cache) {
|
59
|
+
this._cache[key].length = 1
|
60
|
+
}
|
61
|
+
} else {
|
62
|
+
this._lengthCalculator = lC
|
63
|
+
this._length = 0
|
64
|
+
for (var key in this._cache) {
|
65
|
+
this._cache[key].length = this._lengthCalculator(this._cache[key].value)
|
66
|
+
this._length += this._cache[key].length
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
if (this._length > this._max) trim(this)
|
71
|
+
}
|
72
|
+
, get : function () { return this._lengthCalculator }
|
73
|
+
, enumerable : true
|
74
|
+
})
|
75
|
+
|
76
|
+
Object.defineProperty(LRUCache.prototype, "length",
|
77
|
+
{ get : function () { return this._length }
|
78
|
+
, enumerable : true
|
79
|
+
})
|
80
|
+
|
81
|
+
|
82
|
+
Object.defineProperty(LRUCache.prototype, "itemCount",
|
83
|
+
{ get : function () { return this._itemCount }
|
84
|
+
, enumerable : true
|
85
|
+
})
|
86
|
+
|
87
|
+
LRUCache.prototype.forEach = function (fn, thisp) {
|
88
|
+
thisp = thisp || this
|
89
|
+
var i = 0;
|
90
|
+
for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
|
91
|
+
i++
|
92
|
+
var hit = this._lruList[k]
|
93
|
+
if (this._maxAge && (Date.now() - hit.now > this._maxAge)) {
|
94
|
+
del(this, hit)
|
95
|
+
if (!this._allowStale) hit = undefined
|
96
|
+
}
|
97
|
+
if (hit) {
|
98
|
+
fn.call(thisp, hit.value, hit.key, this)
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
LRUCache.prototype.keys = function () {
|
104
|
+
var keys = new Array(this._itemCount)
|
105
|
+
var i = 0
|
106
|
+
for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
|
107
|
+
var hit = this._lruList[k]
|
108
|
+
keys[i++] = hit.key
|
109
|
+
}
|
110
|
+
return keys
|
111
|
+
}
|
112
|
+
|
113
|
+
LRUCache.prototype.values = function () {
|
114
|
+
var values = new Array(this._itemCount)
|
115
|
+
var i = 0
|
116
|
+
for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
|
117
|
+
var hit = this._lruList[k]
|
118
|
+
values[i++] = hit.value
|
119
|
+
}
|
120
|
+
return values
|
121
|
+
}
|
122
|
+
|
123
|
+
LRUCache.prototype.reset = function () {
|
124
|
+
if (this._dispose && this._cache) {
|
125
|
+
for (var k in this._cache) {
|
126
|
+
this._dispose(k, this._cache[k].value)
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
this._cache = Object.create(null) // hash of items by key
|
131
|
+
this._lruList = Object.create(null) // list of items in order of use recency
|
132
|
+
this._mru = 0 // most recently used
|
133
|
+
this._lru = 0 // least recently used
|
134
|
+
this._length = 0 // number of items in the list
|
135
|
+
this._itemCount = 0
|
136
|
+
}
|
137
|
+
|
138
|
+
// Provided for debugging/dev purposes only. No promises whatsoever that
|
139
|
+
// this API stays stable.
|
140
|
+
LRUCache.prototype.dump = function () {
|
141
|
+
return this._cache
|
142
|
+
}
|
143
|
+
|
144
|
+
LRUCache.prototype.dumpLru = function () {
|
145
|
+
return this._lruList
|
146
|
+
}
|
147
|
+
|
148
|
+
LRUCache.prototype.set = function (key, value) {
|
149
|
+
if (hOP(this._cache, key)) {
|
150
|
+
// dispose of the old one before overwriting
|
151
|
+
if (this._dispose) this._dispose(key, this._cache[key].value)
|
152
|
+
if (this._maxAge) this._cache[key].now = Date.now()
|
153
|
+
this._cache[key].value = value
|
154
|
+
this.get(key)
|
155
|
+
return true
|
156
|
+
}
|
157
|
+
|
158
|
+
var len = this._lengthCalculator(value)
|
159
|
+
var age = this._maxAge ? Date.now() : 0
|
160
|
+
var hit = new Entry(key, value, this._mru++, len, age)
|
161
|
+
|
162
|
+
// oversized objects fall out of cache automatically.
|
163
|
+
if (hit.length > this._max) {
|
164
|
+
if (this._dispose) this._dispose(key, value)
|
165
|
+
return false
|
166
|
+
}
|
167
|
+
|
168
|
+
this._length += hit.length
|
169
|
+
this._lruList[hit.lu] = this._cache[key] = hit
|
170
|
+
this._itemCount ++
|
171
|
+
|
172
|
+
if (this._length > this._max) trim(this)
|
173
|
+
return true
|
174
|
+
}
|
175
|
+
|
176
|
+
LRUCache.prototype.has = function (key) {
|
177
|
+
if (!hOP(this._cache, key)) return false
|
178
|
+
var hit = this._cache[key]
|
179
|
+
if (this._maxAge && (Date.now() - hit.now > this._maxAge)) {
|
180
|
+
return false
|
181
|
+
}
|
182
|
+
return true
|
183
|
+
}
|
184
|
+
|
185
|
+
LRUCache.prototype.get = function (key) {
|
186
|
+
return get(this, key, true)
|
187
|
+
}
|
188
|
+
|
189
|
+
LRUCache.prototype.peek = function (key) {
|
190
|
+
return get(this, key, false)
|
191
|
+
}
|
192
|
+
|
193
|
+
LRUCache.prototype.pop = function () {
|
194
|
+
var hit = this._lruList[this._lru]
|
195
|
+
del(this, hit)
|
196
|
+
return hit || null
|
197
|
+
}
|
198
|
+
|
199
|
+
LRUCache.prototype.del = function (key) {
|
200
|
+
del(this, this._cache[key])
|
201
|
+
}
|
202
|
+
|
203
|
+
function get (self, key, doUse) {
|
204
|
+
var hit = self._cache[key]
|
205
|
+
if (hit) {
|
206
|
+
if (self._maxAge && (Date.now() - hit.now > self._maxAge)) {
|
207
|
+
del(self, hit)
|
208
|
+
if (!self._allowStale) hit = undefined
|
209
|
+
} else {
|
210
|
+
if (doUse) use(self, hit)
|
211
|
+
}
|
212
|
+
if (hit) hit = hit.value
|
213
|
+
}
|
214
|
+
return hit
|
215
|
+
}
|
216
|
+
|
217
|
+
function use (self, hit) {
|
218
|
+
shiftLU(self, hit)
|
219
|
+
hit.lu = self._mru ++
|
220
|
+
self._lruList[hit.lu] = hit
|
221
|
+
}
|
222
|
+
|
223
|
+
function trim (self) {
|
224
|
+
while (self._lru < self._mru && self._length > self._max)
|
225
|
+
del(self, self._lruList[self._lru])
|
226
|
+
}
|
227
|
+
|
228
|
+
function shiftLU (self, hit) {
|
229
|
+
delete self._lruList[ hit.lu ]
|
230
|
+
while (self._lru < self._mru && !self._lruList[self._lru]) self._lru ++
|
231
|
+
}
|
232
|
+
|
233
|
+
function del (self, hit) {
|
234
|
+
if (hit) {
|
235
|
+
if (self._dispose) self._dispose(hit.key, hit.value)
|
236
|
+
self._length -= hit.length
|
237
|
+
self._itemCount --
|
238
|
+
delete self._cache[ hit.key ]
|
239
|
+
shiftLU(self, hit)
|
240
|
+
}
|
241
|
+
}
|
242
|
+
|
243
|
+
// classy, since V8 prefers predictable objects.
|
244
|
+
function Entry (key, value, lu, length, now) {
|
245
|
+
this.key = key
|
246
|
+
this.value = value
|
247
|
+
this.lu = lu
|
248
|
+
this.length = length
|
249
|
+
this.now = now
|
250
|
+
}
|
251
|
+
|
252
|
+
})()
|
@@ -0,0 +1,50 @@
|
|
1
|
+
{
|
2
|
+
"name": "lru-cache",
|
3
|
+
"description": "A cache object that deletes the least-recently-used items.",
|
4
|
+
"version": "2.5.0",
|
5
|
+
"author": {
|
6
|
+
"name": "Isaac Z. Schlueter",
|
7
|
+
"email": "i@izs.me"
|
8
|
+
},
|
9
|
+
"scripts": {
|
10
|
+
"test": "tap test --gc"
|
11
|
+
},
|
12
|
+
"main": "lib/lru-cache.js",
|
13
|
+
"repository": {
|
14
|
+
"type": "git",
|
15
|
+
"url": "git://github.com/isaacs/node-lru-cache.git"
|
16
|
+
},
|
17
|
+
"devDependencies": {
|
18
|
+
"tap": "",
|
19
|
+
"weak": ""
|
20
|
+
},
|
21
|
+
"license": {
|
22
|
+
"type": "MIT",
|
23
|
+
"url": "http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"
|
24
|
+
},
|
25
|
+
"bugs": {
|
26
|
+
"url": "https://github.com/isaacs/node-lru-cache/issues"
|
27
|
+
},
|
28
|
+
"homepage": "https://github.com/isaacs/node-lru-cache",
|
29
|
+
"_id": "lru-cache@2.5.0",
|
30
|
+
"dist": {
|
31
|
+
"shasum": "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb",
|
32
|
+
"tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
|
33
|
+
},
|
34
|
+
"_from": "lru-cache@2",
|
35
|
+
"_npmVersion": "1.3.15",
|
36
|
+
"_npmUser": {
|
37
|
+
"name": "isaacs",
|
38
|
+
"email": "i@izs.me"
|
39
|
+
},
|
40
|
+
"maintainers": [
|
41
|
+
{
|
42
|
+
"name": "isaacs",
|
43
|
+
"email": "i@izs.me"
|
44
|
+
}
|
45
|
+
],
|
46
|
+
"directories": {},
|
47
|
+
"_shasum": "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb",
|
48
|
+
"_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz",
|
49
|
+
"readme": "ERROR: No README data found!"
|
50
|
+
}
|
@@ -0,0 +1,369 @@
|
|
1
|
+
var test = require("tap").test
|
2
|
+
, LRU = require("../")
|
3
|
+
|
4
|
+
test("basic", function (t) {
|
5
|
+
var cache = new LRU({max: 10})
|
6
|
+
cache.set("key", "value")
|
7
|
+
t.equal(cache.get("key"), "value")
|
8
|
+
t.equal(cache.get("nada"), undefined)
|
9
|
+
t.equal(cache.length, 1)
|
10
|
+
t.equal(cache.max, 10)
|
11
|
+
t.end()
|
12
|
+
})
|
13
|
+
|
14
|
+
test("least recently set", function (t) {
|
15
|
+
var cache = new LRU(2)
|
16
|
+
cache.set("a", "A")
|
17
|
+
cache.set("b", "B")
|
18
|
+
cache.set("c", "C")
|
19
|
+
t.equal(cache.get("c"), "C")
|
20
|
+
t.equal(cache.get("b"), "B")
|
21
|
+
t.equal(cache.get("a"), undefined)
|
22
|
+
t.end()
|
23
|
+
})
|
24
|
+
|
25
|
+
test("lru recently gotten", function (t) {
|
26
|
+
var cache = new LRU(2)
|
27
|
+
cache.set("a", "A")
|
28
|
+
cache.set("b", "B")
|
29
|
+
cache.get("a")
|
30
|
+
cache.set("c", "C")
|
31
|
+
t.equal(cache.get("c"), "C")
|
32
|
+
t.equal(cache.get("b"), undefined)
|
33
|
+
t.equal(cache.get("a"), "A")
|
34
|
+
t.end()
|
35
|
+
})
|
36
|
+
|
37
|
+
test("del", function (t) {
|
38
|
+
var cache = new LRU(2)
|
39
|
+
cache.set("a", "A")
|
40
|
+
cache.del("a")
|
41
|
+
t.equal(cache.get("a"), undefined)
|
42
|
+
t.end()
|
43
|
+
})
|
44
|
+
|
45
|
+
test("max", function (t) {
|
46
|
+
var cache = new LRU(3)
|
47
|
+
|
48
|
+
// test changing the max, verify that the LRU items get dropped.
|
49
|
+
cache.max = 100
|
50
|
+
for (var i = 0; i < 100; i ++) cache.set(i, i)
|
51
|
+
t.equal(cache.length, 100)
|
52
|
+
for (var i = 0; i < 100; i ++) {
|
53
|
+
t.equal(cache.get(i), i)
|
54
|
+
}
|
55
|
+
cache.max = 3
|
56
|
+
t.equal(cache.length, 3)
|
57
|
+
for (var i = 0; i < 97; i ++) {
|
58
|
+
t.equal(cache.get(i), undefined)
|
59
|
+
}
|
60
|
+
for (var i = 98; i < 100; i ++) {
|
61
|
+
t.equal(cache.get(i), i)
|
62
|
+
}
|
63
|
+
|
64
|
+
// now remove the max restriction, and try again.
|
65
|
+
cache.max = "hello"
|
66
|
+
for (var i = 0; i < 100; i ++) cache.set(i, i)
|
67
|
+
t.equal(cache.length, 100)
|
68
|
+
for (var i = 0; i < 100; i ++) {
|
69
|
+
t.equal(cache.get(i), i)
|
70
|
+
}
|
71
|
+
// should trigger an immediate resize
|
72
|
+
cache.max = 3
|
73
|
+
t.equal(cache.length, 3)
|
74
|
+
for (var i = 0; i < 97; i ++) {
|
75
|
+
t.equal(cache.get(i), undefined)
|
76
|
+
}
|
77
|
+
for (var i = 98; i < 100; i ++) {
|
78
|
+
t.equal(cache.get(i), i)
|
79
|
+
}
|
80
|
+
t.end()
|
81
|
+
})
|
82
|
+
|
83
|
+
test("reset", function (t) {
|
84
|
+
var cache = new LRU(10)
|
85
|
+
cache.set("a", "A")
|
86
|
+
cache.set("b", "B")
|
87
|
+
cache.reset()
|
88
|
+
t.equal(cache.length, 0)
|
89
|
+
t.equal(cache.max, 10)
|
90
|
+
t.equal(cache.get("a"), undefined)
|
91
|
+
t.equal(cache.get("b"), undefined)
|
92
|
+
t.end()
|
93
|
+
})
|
94
|
+
|
95
|
+
|
96
|
+
// Note: `<cache>.dump()` is a debugging tool only. No guarantees are made
|
97
|
+
// about the format/layout of the response.
|
98
|
+
test("dump", function (t) {
|
99
|
+
var cache = new LRU(10)
|
100
|
+
var d = cache.dump();
|
101
|
+
t.equal(Object.keys(d).length, 0, "nothing in dump for empty cache")
|
102
|
+
cache.set("a", "A")
|
103
|
+
var d = cache.dump() // { a: { key: "a", value: "A", lu: 0 } }
|
104
|
+
t.ok(d.a)
|
105
|
+
t.equal(d.a.key, "a")
|
106
|
+
t.equal(d.a.value, "A")
|
107
|
+
t.equal(d.a.lu, 0)
|
108
|
+
|
109
|
+
cache.set("b", "B")
|
110
|
+
cache.get("b")
|
111
|
+
d = cache.dump()
|
112
|
+
t.ok(d.b)
|
113
|
+
t.equal(d.b.key, "b")
|
114
|
+
t.equal(d.b.value, "B")
|
115
|
+
t.equal(d.b.lu, 2)
|
116
|
+
|
117
|
+
t.end()
|
118
|
+
})
|
119
|
+
|
120
|
+
|
121
|
+
test("basic with weighed length", function (t) {
|
122
|
+
var cache = new LRU({
|
123
|
+
max: 100,
|
124
|
+
length: function (item) { return item.size }
|
125
|
+
})
|
126
|
+
cache.set("key", {val: "value", size: 50})
|
127
|
+
t.equal(cache.get("key").val, "value")
|
128
|
+
t.equal(cache.get("nada"), undefined)
|
129
|
+
t.equal(cache.lengthCalculator(cache.get("key")), 50)
|
130
|
+
t.equal(cache.length, 50)
|
131
|
+
t.equal(cache.max, 100)
|
132
|
+
t.end()
|
133
|
+
})
|
134
|
+
|
135
|
+
|
136
|
+
test("weighed length item too large", function (t) {
|
137
|
+
var cache = new LRU({
|
138
|
+
max: 10,
|
139
|
+
length: function (item) { return item.size }
|
140
|
+
})
|
141
|
+
t.equal(cache.max, 10)
|
142
|
+
|
143
|
+
// should fall out immediately
|
144
|
+
cache.set("key", {val: "value", size: 50})
|
145
|
+
|
146
|
+
t.equal(cache.length, 0)
|
147
|
+
t.equal(cache.get("key"), undefined)
|
148
|
+
t.end()
|
149
|
+
})
|
150
|
+
|
151
|
+
test("least recently set with weighed length", function (t) {
|
152
|
+
var cache = new LRU({
|
153
|
+
max:8,
|
154
|
+
length: function (item) { return item.length }
|
155
|
+
})
|
156
|
+
cache.set("a", "A")
|
157
|
+
cache.set("b", "BB")
|
158
|
+
cache.set("c", "CCC")
|
159
|
+
cache.set("d", "DDDD")
|
160
|
+
t.equal(cache.get("d"), "DDDD")
|
161
|
+
t.equal(cache.get("c"), "CCC")
|
162
|
+
t.equal(cache.get("b"), undefined)
|
163
|
+
t.equal(cache.get("a"), undefined)
|
164
|
+
t.end()
|
165
|
+
})
|
166
|
+
|
167
|
+
test("lru recently gotten with weighed length", function (t) {
|
168
|
+
var cache = new LRU({
|
169
|
+
max: 8,
|
170
|
+
length: function (item) { return item.length }
|
171
|
+
})
|
172
|
+
cache.set("a", "A")
|
173
|
+
cache.set("b", "BB")
|
174
|
+
cache.set("c", "CCC")
|
175
|
+
cache.get("a")
|
176
|
+
cache.get("b")
|
177
|
+
cache.set("d", "DDDD")
|
178
|
+
t.equal(cache.get("c"), undefined)
|
179
|
+
t.equal(cache.get("d"), "DDDD")
|
180
|
+
t.equal(cache.get("b"), "BB")
|
181
|
+
t.equal(cache.get("a"), "A")
|
182
|
+
t.end()
|
183
|
+
})
|
184
|
+
|
185
|
+
test("set returns proper booleans", function(t) {
|
186
|
+
var cache = new LRU({
|
187
|
+
max: 5,
|
188
|
+
length: function (item) { return item.length }
|
189
|
+
})
|
190
|
+
|
191
|
+
t.equal(cache.set("a", "A"), true)
|
192
|
+
|
193
|
+
// should return false for max exceeded
|
194
|
+
t.equal(cache.set("b", "donuts"), false)
|
195
|
+
|
196
|
+
t.equal(cache.set("b", "B"), true)
|
197
|
+
t.equal(cache.set("c", "CCCC"), true)
|
198
|
+
t.end()
|
199
|
+
})
|
200
|
+
|
201
|
+
test("drop the old items", function(t) {
|
202
|
+
var cache = new LRU({
|
203
|
+
max: 5,
|
204
|
+
maxAge: 50
|
205
|
+
})
|
206
|
+
|
207
|
+
cache.set("a", "A")
|
208
|
+
|
209
|
+
setTimeout(function () {
|
210
|
+
cache.set("b", "b")
|
211
|
+
t.equal(cache.get("a"), "A")
|
212
|
+
}, 25)
|
213
|
+
|
214
|
+
setTimeout(function () {
|
215
|
+
cache.set("c", "C")
|
216
|
+
// timed out
|
217
|
+
t.notOk(cache.get("a"))
|
218
|
+
}, 60)
|
219
|
+
|
220
|
+
setTimeout(function () {
|
221
|
+
t.notOk(cache.get("b"))
|
222
|
+
t.equal(cache.get("c"), "C")
|
223
|
+
}, 90)
|
224
|
+
|
225
|
+
setTimeout(function () {
|
226
|
+
t.notOk(cache.get("c"))
|
227
|
+
t.end()
|
228
|
+
}, 155)
|
229
|
+
})
|
230
|
+
|
231
|
+
test("disposal function", function(t) {
|
232
|
+
var disposed = false
|
233
|
+
var cache = new LRU({
|
234
|
+
max: 1,
|
235
|
+
dispose: function (k, n) {
|
236
|
+
disposed = n
|
237
|
+
}
|
238
|
+
})
|
239
|
+
|
240
|
+
cache.set(1, 1)
|
241
|
+
cache.set(2, 2)
|
242
|
+
t.equal(disposed, 1)
|
243
|
+
cache.set(3, 3)
|
244
|
+
t.equal(disposed, 2)
|
245
|
+
cache.reset()
|
246
|
+
t.equal(disposed, 3)
|
247
|
+
t.end()
|
248
|
+
})
|
249
|
+
|
250
|
+
test("disposal function on too big of item", function(t) {
|
251
|
+
var disposed = false
|
252
|
+
var cache = new LRU({
|
253
|
+
max: 1,
|
254
|
+
length: function (k) {
|
255
|
+
return k.length
|
256
|
+
},
|
257
|
+
dispose: function (k, n) {
|
258
|
+
disposed = n
|
259
|
+
}
|
260
|
+
})
|
261
|
+
var obj = [ 1, 2 ]
|
262
|
+
|
263
|
+
t.equal(disposed, false)
|
264
|
+
cache.set("obj", obj)
|
265
|
+
t.equal(disposed, obj)
|
266
|
+
t.end()
|
267
|
+
})
|
268
|
+
|
269
|
+
test("has()", function(t) {
|
270
|
+
var cache = new LRU({
|
271
|
+
max: 1,
|
272
|
+
maxAge: 10
|
273
|
+
})
|
274
|
+
|
275
|
+
cache.set('foo', 'bar')
|
276
|
+
t.equal(cache.has('foo'), true)
|
277
|
+
cache.set('blu', 'baz')
|
278
|
+
t.equal(cache.has('foo'), false)
|
279
|
+
t.equal(cache.has('blu'), true)
|
280
|
+
setTimeout(function() {
|
281
|
+
t.equal(cache.has('blu'), false)
|
282
|
+
t.end()
|
283
|
+
}, 15)
|
284
|
+
})
|
285
|
+
|
286
|
+
test("stale", function(t) {
|
287
|
+
var cache = new LRU({
|
288
|
+
maxAge: 10,
|
289
|
+
stale: true
|
290
|
+
})
|
291
|
+
|
292
|
+
cache.set('foo', 'bar')
|
293
|
+
t.equal(cache.get('foo'), 'bar')
|
294
|
+
t.equal(cache.has('foo'), true)
|
295
|
+
setTimeout(function() {
|
296
|
+
t.equal(cache.has('foo'), false)
|
297
|
+
t.equal(cache.get('foo'), 'bar')
|
298
|
+
t.equal(cache.get('foo'), undefined)
|
299
|
+
t.end()
|
300
|
+
}, 15)
|
301
|
+
})
|
302
|
+
|
303
|
+
test("lru update via set", function(t) {
|
304
|
+
var cache = LRU({ max: 2 });
|
305
|
+
|
306
|
+
cache.set('foo', 1);
|
307
|
+
cache.set('bar', 2);
|
308
|
+
cache.del('bar');
|
309
|
+
cache.set('baz', 3);
|
310
|
+
cache.set('qux', 4);
|
311
|
+
|
312
|
+
t.equal(cache.get('foo'), undefined)
|
313
|
+
t.equal(cache.get('bar'), undefined)
|
314
|
+
t.equal(cache.get('baz'), 3)
|
315
|
+
t.equal(cache.get('qux'), 4)
|
316
|
+
t.end()
|
317
|
+
})
|
318
|
+
|
319
|
+
test("least recently set w/ peek", function (t) {
|
320
|
+
var cache = new LRU(2)
|
321
|
+
cache.set("a", "A")
|
322
|
+
cache.set("b", "B")
|
323
|
+
t.equal(cache.peek("a"), "A")
|
324
|
+
cache.set("c", "C")
|
325
|
+
t.equal(cache.get("c"), "C")
|
326
|
+
t.equal(cache.get("b"), "B")
|
327
|
+
t.equal(cache.get("a"), undefined)
|
328
|
+
t.end()
|
329
|
+
})
|
330
|
+
|
331
|
+
test("pop the least used item", function (t) {
|
332
|
+
var cache = new LRU(3)
|
333
|
+
, last
|
334
|
+
|
335
|
+
cache.set("a", "A")
|
336
|
+
cache.set("b", "B")
|
337
|
+
cache.set("c", "C")
|
338
|
+
|
339
|
+
t.equal(cache.length, 3)
|
340
|
+
t.equal(cache.max, 3)
|
341
|
+
|
342
|
+
// Ensure we pop a, c, b
|
343
|
+
cache.get("b", "B")
|
344
|
+
|
345
|
+
last = cache.pop()
|
346
|
+
t.equal(last.key, "a")
|
347
|
+
t.equal(last.value, "A")
|
348
|
+
t.equal(cache.length, 2)
|
349
|
+
t.equal(cache.max, 3)
|
350
|
+
|
351
|
+
last = cache.pop()
|
352
|
+
t.equal(last.key, "c")
|
353
|
+
t.equal(last.value, "C")
|
354
|
+
t.equal(cache.length, 1)
|
355
|
+
t.equal(cache.max, 3)
|
356
|
+
|
357
|
+
last = cache.pop()
|
358
|
+
t.equal(last.key, "b")
|
359
|
+
t.equal(last.value, "B")
|
360
|
+
t.equal(cache.length, 0)
|
361
|
+
t.equal(cache.max, 3)
|
362
|
+
|
363
|
+
last = cache.pop()
|
364
|
+
t.equal(last, null)
|
365
|
+
t.equal(cache.length, 0)
|
366
|
+
t.equal(cache.max, 3)
|
367
|
+
|
368
|
+
t.end()
|
369
|
+
})
|