embeditor-rails 1.1.1 → 2.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +25 -17
- data/app/assets/javascripts/embeditor/adapter.js.coffee +21 -2
- data/app/assets/javascripts/embeditor/adapters/embedly.js.coffee +4 -40
- data/app/assets/javascripts/embeditor/adapters/oembed.js.coffee +37 -2
- data/app/assets/javascripts/embeditor/embeditor.js.coffee +16 -4
- data/lib/embeditor-rails/version.rb +1 -1
- data/lib/node_modules/npm/AUTHORS +158 -0
- data/lib/node_modules/npm/CONTRIBUTING.md +9 -0
- data/lib/node_modules/npm/LICENSE +235 -0
- data/lib/node_modules/npm/Makefile +216 -0
- data/lib/node_modules/npm/README.md +241 -0
- data/lib/node_modules/npm/bin/node-gyp-bin/node-gyp +2 -0
- data/lib/node_modules/npm/bin/node-gyp-bin/node-gyp.cmd +1 -0
- data/lib/node_modules/npm/bin/npm +13 -0
- data/lib/node_modules/npm/bin/npm-cli.js +87 -0
- data/lib/node_modules/npm/bin/npm.cmd +6 -0
- data/lib/node_modules/npm/bin/read-package-json.js +22 -0
- data/lib/node_modules/npm/cli.js +2 -0
- data/lib/node_modules/npm/configure +33 -0
- data/lib/node_modules/npm/doc/api/npm-bin.md +13 -0
- data/lib/node_modules/npm/doc/api/npm-bugs.md +19 -0
- data/lib/node_modules/npm/doc/api/npm-commands.md +22 -0
- data/lib/node_modules/npm/doc/api/npm-config.md +45 -0
- data/lib/node_modules/npm/doc/api/npm-deprecate.md +34 -0
- data/lib/node_modules/npm/doc/api/npm-docs.md +19 -0
- data/lib/node_modules/npm/doc/api/npm-edit.md +24 -0
- data/lib/node_modules/npm/doc/api/npm-explore.md +18 -0
- data/lib/node_modules/npm/doc/api/npm-help-search.md +30 -0
- data/lib/node_modules/npm/doc/api/npm-init.md +29 -0
- data/lib/node_modules/npm/doc/api/npm-install.md +19 -0
- data/lib/node_modules/npm/doc/api/npm-link.md +33 -0
- data/lib/node_modules/npm/doc/api/npm-load.md +26 -0
- data/lib/node_modules/npm/doc/api/npm-ls.md +56 -0
- data/lib/node_modules/npm/doc/api/npm-outdated.md +13 -0
- data/lib/node_modules/npm/doc/api/npm-owner.md +31 -0
- data/lib/node_modules/npm/doc/api/npm-pack.md +19 -0
- data/lib/node_modules/npm/doc/api/npm-prefix.md +15 -0
- data/lib/node_modules/npm/doc/api/npm-prune.md +17 -0
- data/lib/node_modules/npm/doc/api/npm-publish.md +30 -0
- data/lib/node_modules/npm/doc/api/npm-rebuild.md +16 -0
- data/lib/node_modules/npm/doc/api/npm-repo.md +19 -0
- data/lib/node_modules/npm/doc/api/npm-restart.md +22 -0
- data/lib/node_modules/npm/doc/api/npm-root.md +15 -0
- data/lib/node_modules/npm/doc/api/npm-run-script.md +27 -0
- data/lib/node_modules/npm/doc/api/npm-search.md +35 -0
- data/lib/node_modules/npm/doc/api/npm-shrinkwrap.md +20 -0
- data/lib/node_modules/npm/doc/api/npm-start.md +13 -0
- data/lib/node_modules/npm/doc/api/npm-stop.md +13 -0
- data/lib/node_modules/npm/doc/api/npm-submodule.md +28 -0
- data/lib/node_modules/npm/doc/api/npm-tag.md +23 -0
- data/lib/node_modules/npm/doc/api/npm-test.md +16 -0
- data/lib/node_modules/npm/doc/api/npm-uninstall.md +16 -0
- data/lib/node_modules/npm/doc/api/npm-unpublish.md +20 -0
- data/lib/node_modules/npm/doc/api/npm-update.md +11 -0
- data/lib/node_modules/npm/doc/api/npm-version.md +18 -0
- data/lib/node_modules/npm/doc/api/npm-view.md +93 -0
- data/lib/node_modules/npm/doc/api/npm-whoami.md +15 -0
- data/lib/node_modules/npm/doc/api/npm.md +116 -0
- data/lib/node_modules/npm/doc/cli/npm-adduser.md +38 -0
- data/lib/node_modules/npm/doc/cli/npm-bin.md +19 -0
- data/lib/node_modules/npm/doc/cli/npm-bugs.md +42 -0
- data/lib/node_modules/npm/doc/cli/npm-build.md +22 -0
- data/lib/node_modules/npm/doc/cli/npm-bundle.md +14 -0
- data/lib/node_modules/npm/doc/cli/npm-cache.md +72 -0
- data/lib/node_modules/npm/doc/cli/npm-completion.md +29 -0
- data/lib/node_modules/npm/doc/cli/npm-config.md +71 -0
- data/lib/node_modules/npm/doc/cli/npm-dedupe.md +58 -0
- data/lib/node_modules/npm/doc/cli/npm-deprecate.md +26 -0
- data/lib/node_modules/npm/doc/cli/npm-docs.md +44 -0
- data/lib/node_modules/npm/doc/cli/npm-edit.md +37 -0
- data/lib/node_modules/npm/doc/cli/npm-explore.md +40 -0
- data/lib/node_modules/npm/doc/cli/npm-help-search.md +35 -0
- data/lib/node_modules/npm/doc/cli/npm-help.md +40 -0
- data/lib/node_modules/npm/doc/cli/npm-init.md +25 -0
- data/lib/node_modules/npm/doc/cli/npm-install.md +252 -0
- data/lib/node_modules/npm/doc/cli/npm-link.md +63 -0
- data/lib/node_modules/npm/doc/cli/npm-ls.md +80 -0
- data/lib/node_modules/npm/doc/cli/npm-outdated.md +58 -0
- data/lib/node_modules/npm/doc/cli/npm-owner.md +33 -0
- data/lib/node_modules/npm/doc/cli/npm-pack.md +27 -0
- data/lib/node_modules/npm/doc/cli/npm-prefix.md +19 -0
- data/lib/node_modules/npm/doc/cli/npm-prune.md +25 -0
- data/lib/node_modules/npm/doc/cli/npm-publish.md +30 -0
- data/lib/node_modules/npm/doc/cli/npm-rebuild.md +21 -0
- data/lib/node_modules/npm/doc/cli/npm-repo.md +28 -0
- data/lib/node_modules/npm/doc/cli/npm-restart.md +22 -0
- data/lib/node_modules/npm/doc/cli/npm-rm.md +23 -0
- data/lib/node_modules/npm/doc/cli/npm-root.md +19 -0
- data/lib/node_modules/npm/doc/cli/npm-run-script.md +21 -0
- data/lib/node_modules/npm/doc/cli/npm-search.md +36 -0
- data/lib/node_modules/npm/doc/cli/npm-shrinkwrap.md +185 -0
- data/lib/node_modules/npm/doc/cli/npm-star.md +22 -0
- data/lib/node_modules/npm/doc/cli/npm-stars.md +22 -0
- data/lib/node_modules/npm/doc/cli/npm-start.md +18 -0
- data/lib/node_modules/npm/doc/cli/npm-stop.md +18 -0
- data/lib/node_modules/npm/doc/cli/npm-submodule.md +28 -0
- data/lib/node_modules/npm/doc/cli/npm-tag.md +34 -0
- data/lib/node_modules/npm/doc/cli/npm-test.md +22 -0
- data/lib/node_modules/npm/doc/cli/npm-uninstall.md +21 -0
- data/lib/node_modules/npm/doc/cli/npm-unpublish.md +32 -0
- data/lib/node_modules/npm/doc/cli/npm-update.md +24 -0
- data/lib/node_modules/npm/doc/cli/npm-version.md +45 -0
- data/lib/node_modules/npm/doc/cli/npm-view.md +90 -0
- data/lib/node_modules/npm/doc/cli/npm-whoami.md +17 -0
- data/lib/node_modules/npm/doc/cli/npm.md +153 -0
- data/lib/node_modules/npm/doc/files/npm-folders.md +211 -0
- data/lib/node_modules/npm/doc/files/npmrc.md +59 -0
- data/lib/node_modules/npm/doc/files/package.json.md +576 -0
- data/lib/node_modules/npm/doc/misc/npm-coding-style.md +181 -0
- data/lib/node_modules/npm/doc/misc/npm-config.md +820 -0
- data/lib/node_modules/npm/doc/misc/npm-developers.md +207 -0
- data/lib/node_modules/npm/doc/misc/npm-disputes.md +99 -0
- data/lib/node_modules/npm/doc/misc/npm-faq.md +364 -0
- data/lib/node_modules/npm/doc/misc/npm-index.md +411 -0
- data/lib/node_modules/npm/doc/misc/npm-registry.md +69 -0
- data/lib/node_modules/npm/doc/misc/npm-scripts.md +245 -0
- data/lib/node_modules/npm/doc/misc/removing-npm.md +54 -0
- data/lib/node_modules/npm/doc/misc/semver.md +111 -0
- data/lib/node_modules/npm/html/doc/README.html +276 -0
- data/lib/node_modules/npm/html/doc/api/npm-bin.html +53 -0
- data/lib/node_modules/npm/html/doc/api/npm-bugs.html +59 -0
- data/lib/node_modules/npm/html/doc/api/npm-commands.html +62 -0
- data/lib/node_modules/npm/html/doc/api/npm-config.html +67 -0
- data/lib/node_modules/npm/html/doc/api/npm-deprecate.html +66 -0
- data/lib/node_modules/npm/html/doc/api/npm-docs.html +59 -0
- data/lib/node_modules/npm/html/doc/api/npm-edit.html +64 -0
- data/lib/node_modules/npm/html/doc/api/npm-explore.html +58 -0
- data/lib/node_modules/npm/html/doc/api/npm-help-search.html +66 -0
- data/lib/node_modules/npm/html/doc/api/npm-init.html +69 -0
- data/lib/node_modules/npm/html/doc/api/npm-install.html +59 -0
- data/lib/node_modules/npm/html/doc/api/npm-link.html +73 -0
- data/lib/node_modules/npm/html/doc/api/npm-load.html +66 -0
- data/lib/node_modules/npm/html/doc/api/npm-ls.html +93 -0
- data/lib/node_modules/npm/html/doc/api/npm-outdated.html +53 -0
- data/lib/node_modules/npm/html/doc/api/npm-owner.html +68 -0
- data/lib/node_modules/npm/html/doc/api/npm-pack.html +59 -0
- data/lib/node_modules/npm/html/doc/api/npm-prefix.html +55 -0
- data/lib/node_modules/npm/html/doc/api/npm-prune.html +57 -0
- data/lib/node_modules/npm/html/doc/api/npm-publish.html +66 -0
- data/lib/node_modules/npm/html/doc/api/npm-rebuild.html +56 -0
- data/lib/node_modules/npm/html/doc/api/npm-repo.html +59 -0
- data/lib/node_modules/npm/html/doc/api/npm-restart.html +61 -0
- data/lib/node_modules/npm/html/doc/api/npm-root.html +55 -0
- data/lib/node_modules/npm/html/doc/api/npm-run-script.html +63 -0
- data/lib/node_modules/npm/html/doc/api/npm-search.html +66 -0
- data/lib/node_modules/npm/html/doc/api/npm-shrinkwrap.html +60 -0
- data/lib/node_modules/npm/html/doc/api/npm-start.html +53 -0
- data/lib/node_modules/npm/html/doc/api/npm-stop.html +53 -0
- data/lib/node_modules/npm/html/doc/api/npm-submodule.html +67 -0
- data/lib/node_modules/npm/html/doc/api/npm-tag.html +63 -0
- data/lib/node_modules/npm/html/doc/api/npm-test.html +56 -0
- data/lib/node_modules/npm/html/doc/api/npm-uninstall.html +56 -0
- data/lib/node_modules/npm/html/doc/api/npm-unpublish.html +60 -0
- data/lib/node_modules/npm/html/doc/api/npm-update.html +52 -0
- data/lib/node_modules/npm/html/doc/api/npm-version.html +58 -0
- data/lib/node_modules/npm/html/doc/api/npm-view.html +133 -0
- data/lib/node_modules/npm/html/doc/api/npm-whoami.html +55 -0
- data/lib/node_modules/npm/html/doc/api/npm.html +126 -0
- data/lib/node_modules/npm/html/doc/cli/npm-adduser.html +73 -0
- data/lib/node_modules/npm/html/doc/cli/npm-bin.html +54 -0
- data/lib/node_modules/npm/html/doc/cli/npm-bugs.html +72 -0
- data/lib/node_modules/npm/html/doc/cli/npm-build.html +59 -0
- data/lib/node_modules/npm/html/doc/cli/npm-bundle.html +54 -0
- data/lib/node_modules/npm/html/doc/cli/npm-cache.html +100 -0
- data/lib/node_modules/npm/html/doc/cli/npm-completion.html +67 -0
- data/lib/node_modules/npm/html/doc/cli/npm-config.html +107 -0
- data/lib/node_modules/npm/html/doc/cli/npm-dedupe.html +96 -0
- data/lib/node_modules/npm/html/doc/cli/npm-deprecate.html +65 -0
- data/lib/node_modules/npm/html/doc/cli/npm-docs.html +75 -0
- data/lib/node_modules/npm/html/doc/cli/npm-edit.html +71 -0
- data/lib/node_modules/npm/html/doc/cli/npm-explore.html +74 -0
- data/lib/node_modules/npm/html/doc/cli/npm-help-search.html +72 -0
- data/lib/node_modules/npm/html/doc/cli/npm-help.html +70 -0
- data/lib/node_modules/npm/html/doc/cli/npm-init.html +63 -0
- data/lib/node_modules/npm/html/doc/cli/npm-install.html +183 -0
- data/lib/node_modules/npm/html/doc/cli/npm-link.html +96 -0
- data/lib/node_modules/npm/html/doc/cli/npm-ls.html +108 -0
- data/lib/node_modules/npm/html/doc/cli/npm-outdated.html +92 -0
- data/lib/node_modules/npm/html/doc/cli/npm-owner.html +68 -0
- data/lib/node_modules/npm/html/doc/cli/npm-pack.html +63 -0
- data/lib/node_modules/npm/html/doc/cli/npm-prefix.html +54 -0
- data/lib/node_modules/npm/html/doc/cli/npm-prune.html +63 -0
- data/lib/node_modules/npm/html/doc/cli/npm-publish.html +63 -0
- data/lib/node_modules/npm/html/doc/cli/npm-rebuild.html +60 -0
- data/lib/node_modules/npm/html/doc/cli/npm-repo.html +66 -0
- data/lib/node_modules/npm/html/doc/cli/npm-restart.html +58 -0
- data/lib/node_modules/npm/html/doc/cli/npm-rm.html +58 -0
- data/lib/node_modules/npm/html/doc/cli/npm-root.html +54 -0
- data/lib/node_modules/npm/html/doc/cli/npm-run-script.html +57 -0
- data/lib/node_modules/npm/html/doc/cli/npm-search.html +71 -0
- data/lib/node_modules/npm/html/doc/cli/npm-shrinkwrap.html +217 -0
- data/lib/node_modules/npm/html/doc/cli/npm-star.html +60 -0
- data/lib/node_modules/npm/html/doc/cli/npm-stars.html +59 -0
- data/lib/node_modules/npm/html/doc/cli/npm-start.html +54 -0
- data/lib/node_modules/npm/html/doc/cli/npm-stop.html +54 -0
- data/lib/node_modules/npm/html/doc/cli/npm-submodule.html +67 -0
- data/lib/node_modules/npm/html/doc/cli/npm-tag.html +68 -0
- data/lib/node_modules/npm/html/doc/cli/npm-test.html +58 -0
- data/lib/node_modules/npm/html/doc/cli/npm-uninstall.html +56 -0
- data/lib/node_modules/npm/html/doc/cli/npm-unpublish.html +68 -0
- data/lib/node_modules/npm/html/doc/cli/npm-update.html +60 -0
- data/lib/node_modules/npm/html/doc/cli/npm-version.html +83 -0
- data/lib/node_modules/npm/html/doc/cli/npm-view.html +125 -0
- data/lib/node_modules/npm/html/doc/cli/npm-whoami.html +54 -0
- data/lib/node_modules/npm/html/doc/cli/npm.html +165 -0
- data/lib/node_modules/npm/html/doc/files/npm-folders.html +239 -0
- data/lib/node_modules/npm/html/doc/files/npm-global.html +239 -0
- data/lib/node_modules/npm/html/doc/files/npm-json.html +580 -0
- data/lib/node_modules/npm/html/doc/files/npmrc.html +93 -0
- data/lib/node_modules/npm/html/doc/files/package.json.html +580 -0
- data/lib/node_modules/npm/html/doc/index.html +450 -0
- data/lib/node_modules/npm/html/doc/misc/npm-coding-style.html +216 -0
- data/lib/node_modules/npm/html/doc/misc/npm-config.html +744 -0
- data/lib/node_modules/npm/html/doc/misc/npm-developers.html +208 -0
- data/lib/node_modules/npm/html/doc/misc/npm-disputes.html +126 -0
- data/lib/node_modules/npm/html/doc/misc/npm-faq.html +382 -0
- data/lib/node_modules/npm/html/doc/misc/npm-index.html +450 -0
- data/lib/node_modules/npm/html/doc/misc/npm-registry.html +105 -0
- data/lib/node_modules/npm/html/doc/misc/npm-scripts.html +257 -0
- data/lib/node_modules/npm/html/doc/misc/removing-npm.html +92 -0
- data/lib/node_modules/npm/html/doc/misc/semver.html +128 -0
- data/lib/node_modules/npm/html/docfoot-script.html +31 -0
- data/lib/node_modules/npm/html/docfoot.html +2 -0
- data/lib/node_modules/npm/html/dochead.html +8 -0
- data/lib/node_modules/npm/html/favicon.ico +0 -0
- data/lib/node_modules/npm/html/index.html +95 -0
- data/lib/node_modules/npm/html/static/style.css +329 -0
- data/lib/node_modules/npm/lib/adduser.js +138 -0
- data/lib/node_modules/npm/lib/bin.js +18 -0
- data/lib/node_modules/npm/lib/bugs.js +61 -0
- data/lib/node_modules/npm/lib/build.js +228 -0
- data/lib/node_modules/npm/lib/cache.js +1318 -0
- data/lib/node_modules/npm/lib/completion.js +253 -0
- data/lib/node_modules/npm/lib/config.js +285 -0
- data/lib/node_modules/npm/lib/dedupe.js +357 -0
- data/lib/node_modules/npm/lib/deprecate.js +47 -0
- data/lib/node_modules/npm/lib/docs.js +62 -0
- data/lib/node_modules/npm/lib/edit.js +32 -0
- data/lib/node_modules/npm/lib/explore.js +36 -0
- data/lib/node_modules/npm/lib/faq.js +8 -0
- data/lib/node_modules/npm/lib/get.js +12 -0
- data/lib/node_modules/npm/lib/help-search.js +218 -0
- data/lib/node_modules/npm/lib/help.js +231 -0
- data/lib/node_modules/npm/lib/init.js +36 -0
- data/lib/node_modules/npm/lib/install.js +979 -0
- data/lib/node_modules/npm/lib/link.js +173 -0
- data/lib/node_modules/npm/lib/ls.js +357 -0
- data/lib/node_modules/npm/lib/npm.js +528 -0
- data/lib/node_modules/npm/lib/outdated.js +303 -0
- data/lib/node_modules/npm/lib/owner.js +205 -0
- data/lib/node_modules/npm/lib/pack.js +65 -0
- data/lib/node_modules/npm/lib/prefix.js +11 -0
- data/lib/node_modules/npm/lib/prune.js +53 -0
- data/lib/node_modules/npm/lib/publish.js +118 -0
- data/lib/node_modules/npm/lib/rebuild.js +75 -0
- data/lib/node_modules/npm/lib/repo.js +54 -0
- data/lib/node_modules/npm/lib/restart.js +1 -0
- data/lib/node_modules/npm/lib/root.js +11 -0
- data/lib/node_modules/npm/lib/run-script.js +102 -0
- data/lib/node_modules/npm/lib/search.js +265 -0
- data/lib/node_modules/npm/lib/set.js +13 -0
- data/lib/node_modules/npm/lib/shrinkwrap.js +86 -0
- data/lib/node_modules/npm/lib/star.js +33 -0
- data/lib/node_modules/npm/lib/stars.js +27 -0
- data/lib/node_modules/npm/lib/start.js +1 -0
- data/lib/node_modules/npm/lib/stop.js +1 -0
- data/lib/node_modules/npm/lib/submodule.js +119 -0
- data/lib/node_modules/npm/lib/substack.js +20 -0
- data/lib/node_modules/npm/lib/tag.js +18 -0
- data/lib/node_modules/npm/lib/test.js +14 -0
- data/lib/node_modules/npm/lib/unbuild.js +112 -0
- data/lib/node_modules/npm/lib/uninstall.js +127 -0
- data/lib/node_modules/npm/lib/unpublish.js +83 -0
- data/lib/node_modules/npm/lib/update.js +43 -0
- data/lib/node_modules/npm/lib/utils/completion.sh +54 -0
- data/lib/node_modules/npm/lib/utils/completion/file-completion.js +26 -0
- data/lib/node_modules/npm/lib/utils/completion/installed-deep.js +50 -0
- data/lib/node_modules/npm/lib/utils/completion/installed-shallow.js +79 -0
- data/lib/node_modules/npm/lib/utils/error-handler.js +343 -0
- data/lib/node_modules/npm/lib/utils/fetch.js +93 -0
- data/lib/node_modules/npm/lib/utils/find-prefix.js +57 -0
- data/lib/node_modules/npm/lib/utils/gently-rm.js +61 -0
- data/lib/node_modules/npm/lib/utils/is-git-url.js +13 -0
- data/lib/node_modules/npm/lib/utils/lifecycle.js +360 -0
- data/lib/node_modules/npm/lib/utils/link.js +39 -0
- data/lib/node_modules/npm/lib/utils/tar.js +323 -0
- data/lib/node_modules/npm/lib/version.js +120 -0
- data/lib/node_modules/npm/lib/view.js +246 -0
- data/lib/node_modules/npm/lib/visnup.js +42 -0
- data/lib/node_modules/npm/lib/whoami.js +13 -0
- data/lib/node_modules/npm/lib/xmas.js +56 -0
- data/lib/node_modules/npm/make.bat +3 -0
- data/lib/node_modules/npm/man/man1/npm-README.1 +328 -0
- data/lib/node_modules/npm/man/man1/npm-adduser.1 +63 -0
- data/lib/node_modules/npm/man/man1/npm-bin.1 +40 -0
- data/lib/node_modules/npm/man/man1/npm-bugs.1 +78 -0
- data/lib/node_modules/npm/man/man1/npm-build.1 +43 -0
- data/lib/node_modules/npm/man/man1/npm-bundle.1 +23 -0
- data/lib/node_modules/npm/man/man1/npm-cache.1 +104 -0
- data/lib/node_modules/npm/man/man1/npm-completion.1 +47 -0
- data/lib/node_modules/npm/man/man1/npm-config.1 +113 -0
- data/lib/node_modules/npm/man/man1/npm-dedupe.1 +96 -0
- data/lib/node_modules/npm/man/man1/npm-deprecate.1 +48 -0
- data/lib/node_modules/npm/man/man1/npm-docs.1 +78 -0
- data/lib/node_modules/npm/man/man1/npm-edit.1 +66 -0
- data/lib/node_modules/npm/man/man1/npm-explore.1 +76 -0
- data/lib/node_modules/npm/man/man1/npm-help-search.1 +59 -0
- data/lib/node_modules/npm/man/man1/npm-help.1 +77 -0
- data/lib/node_modules/npm/man/man1/npm-init.1 +43 -0
- data/lib/node_modules/npm/man/man1/npm-install.1 +434 -0
- data/lib/node_modules/npm/man/man1/npm-link.1 +119 -0
- data/lib/node_modules/npm/man/man1/npm-ls.1 +146 -0
- data/lib/node_modules/npm/man/man1/npm-outdated.1 +102 -0
- data/lib/node_modules/npm/man/man1/npm-owner.1 +58 -0
- data/lib/node_modules/npm/man/man1/npm-pack.1 +48 -0
- data/lib/node_modules/npm/man/man1/npm-prefix.1 +40 -0
- data/lib/node_modules/npm/man/man1/npm-prune.1 +42 -0
- data/lib/node_modules/npm/man/man1/npm-publish.1 +53 -0
- data/lib/node_modules/npm/man/man1/npm-rebuild.1 +37 -0
- data/lib/node_modules/npm/man/man1/npm-repo.1 +47 -0
- data/lib/node_modules/npm/man/man1/npm-restart.1 +42 -0
- data/lib/node_modules/npm/man/man1/npm-rm.1 +44 -0
- data/lib/node_modules/npm/man/man1/npm-root.1 +40 -0
- data/lib/node_modules/npm/man/man1/npm-run-script.1 +41 -0
- data/lib/node_modules/npm/man/man1/npm-search.1 +62 -0
- data/lib/node_modules/npm/man/man1/npm-shrinkwrap.1 +275 -0
- data/lib/node_modules/npm/man/man1/npm-star.1 +39 -0
- data/lib/node_modules/npm/man/man1/npm-stars.1 +40 -0
- data/lib/node_modules/npm/man/man1/npm-start.1 +37 -0
- data/lib/node_modules/npm/man/man1/npm-stop.1 +37 -0
- data/lib/node_modules/npm/man/man1/npm-submodule.1 +42 -0
- data/lib/node_modules/npm/man/man1/npm-tag.1 +74 -0
- data/lib/node_modules/npm/man/man1/npm-test.1 +42 -0
- data/lib/node_modules/npm/man/man1/npm-uninstall.1 +42 -0
- data/lib/node_modules/npm/man/man1/npm-unpublish.1 +53 -0
- data/lib/node_modules/npm/man/man1/npm-update.1 +45 -0
- data/lib/node_modules/npm/man/man1/npm-version.1 +75 -0
- data/lib/node_modules/npm/man/man1/npm-view.1 +186 -0
- data/lib/node_modules/npm/man/man1/npm-whoami.1 +34 -0
- data/lib/node_modules/npm/man/man1/npm.1 +230 -0
- data/lib/node_modules/npm/man/man3/npm-bin.3 +21 -0
- data/lib/node_modules/npm/man/man3/npm-bugs.3 +28 -0
- data/lib/node_modules/npm/man/man3/npm-commands.3 +35 -0
- data/lib/node_modules/npm/man/man3/npm-config.3 +69 -0
- data/lib/node_modules/npm/man/man3/npm-deprecate.3 +57 -0
- data/lib/node_modules/npm/man/man3/npm-docs.3 +28 -0
- data/lib/node_modules/npm/man/man3/npm-edit.3 +35 -0
- data/lib/node_modules/npm/man/man3/npm-explore.3 +28 -0
- data/lib/node_modules/npm/man/man3/npm-help-search.3 +51 -0
- data/lib/node_modules/npm/man/man3/npm-init.3 +39 -0
- data/lib/node_modules/npm/man/man3/npm-install.3 +29 -0
- data/lib/node_modules/npm/man/man3/npm-link.3 +53 -0
- data/lib/node_modules/npm/man/man3/npm-load.3 +44 -0
- data/lib/node_modules/npm/man/man3/npm-ls.3 +86 -0
- data/lib/node_modules/npm/man/man3/npm-outdated.3 +21 -0
- data/lib/node_modules/npm/man/man3/npm-owner.3 +52 -0
- data/lib/node_modules/npm/man/man3/npm-pack.3 +28 -0
- data/lib/node_modules/npm/man/man3/npm-prefix.3 +24 -0
- data/lib/node_modules/npm/man/man3/npm-prune.3 +27 -0
- data/lib/node_modules/npm/man/man3/npm-publish.3 +51 -0
- data/lib/node_modules/npm/man/man3/npm-rebuild.3 +22 -0
- data/lib/node_modules/npm/man/man3/npm-repo.3 +28 -0
- data/lib/node_modules/npm/man/man3/npm-restart.3 +37 -0
- data/lib/node_modules/npm/man/man3/npm-root.3 +24 -0
- data/lib/node_modules/npm/man/man3/npm-run-script.3 +48 -0
- data/lib/node_modules/npm/man/man3/npm-search.3 +64 -0
- data/lib/node_modules/npm/man/man3/npm-shrinkwrap.3 +30 -0
- data/lib/node_modules/npm/man/man3/npm-start.3 +21 -0
- data/lib/node_modules/npm/man/man3/npm-stop.3 +21 -0
- data/lib/node_modules/npm/man/man3/npm-submodule.3 +42 -0
- data/lib/node_modules/npm/man/man3/npm-tag.3 +31 -0
- data/lib/node_modules/npm/man/man3/npm-test.3 +25 -0
- data/lib/node_modules/npm/man/man3/npm-uninstall.3 +25 -0
- data/lib/node_modules/npm/man/man3/npm-unpublish.3 +30 -0
- data/lib/node_modules/npm/man/man3/npm-update.3 +18 -0
- data/lib/node_modules/npm/man/man3/npm-version.3 +27 -0
- data/lib/node_modules/npm/man/man3/npm-view.3 +176 -0
- data/lib/node_modules/npm/man/man3/npm-whoami.3 +24 -0
- data/lib/node_modules/npm/man/man3/npm.3 +162 -0
- data/lib/node_modules/npm/man/man5/npm-folders.5 +264 -0
- data/lib/node_modules/npm/man/man5/npm-global.5 +264 -0
- data/lib/node_modules/npm/man/man5/npm-json.5 +807 -0
- data/lib/node_modules/npm/man/man5/npmrc.5 +89 -0
- data/lib/node_modules/npm/man/man5/package.json.5 +807 -0
- data/lib/node_modules/npm/man/man7/npm-coding-style.7 +254 -0
- data/lib/node_modules/npm/man/man7/npm-config.7 +1445 -0
- data/lib/node_modules/npm/man/man7/npm-developers.7 +335 -0
- data/lib/node_modules/npm/man/man7/npm-disputes.7 +146 -0
- data/lib/node_modules/npm/man/man7/npm-faq.7 +479 -0
- data/lib/node_modules/npm/man/man7/npm-index.7 +307 -0
- data/lib/node_modules/npm/man/man7/npm-registry.7 +82 -0
- data/lib/node_modules/npm/man/man7/npm-scripts.7 +354 -0
- data/lib/node_modules/npm/man/man7/removing-npm.7 +107 -0
- data/lib/node_modules/npm/man/man7/semver.7 +172 -0
- data/lib/node_modules/npm/node_modules/abbrev/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/abbrev/README.md +23 -0
- data/lib/node_modules/npm/node_modules/abbrev/lib/abbrev.js +111 -0
- data/lib/node_modules/npm/node_modules/abbrev/package.json +25 -0
- data/lib/node_modules/npm/node_modules/ansi/README.md +91 -0
- data/lib/node_modules/npm/node_modules/ansi/color-spaces.pl +67 -0
- data/lib/node_modules/npm/node_modules/ansi/examples/beep/index.js +16 -0
- data/lib/node_modules/npm/node_modules/ansi/examples/clear/index.js +15 -0
- data/lib/node_modules/npm/node_modules/ansi/examples/cursorPosition.js +32 -0
- data/lib/node_modules/npm/node_modules/ansi/examples/progress/index.js +87 -0
- data/lib/node_modules/npm/node_modules/ansi/examples/starwars.js +46 -0
- data/lib/node_modules/npm/node_modules/ansi/lib/ansi.js +405 -0
- data/lib/node_modules/npm/node_modules/ansi/lib/newlines.js +71 -0
- data/lib/node_modules/npm/node_modules/ansi/package.json +50 -0
- data/lib/node_modules/npm/node_modules/ansicolors/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/ansicolors/README.md +62 -0
- data/lib/node_modules/npm/node_modules/ansicolors/ansicolors.js +65 -0
- data/lib/node_modules/npm/node_modules/ansicolors/package.json +34 -0
- data/lib/node_modules/npm/node_modules/ansistyles/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/ansistyles/README.md +71 -0
- data/lib/node_modules/npm/node_modules/ansistyles/ansistyles.js +38 -0
- data/lib/node_modules/npm/node_modules/ansistyles/package.json +38 -0
- data/lib/node_modules/npm/node_modules/archy/README.markdown +92 -0
- data/lib/node_modules/npm/node_modules/archy/index.js +35 -0
- data/lib/node_modules/npm/node_modules/archy/package.json +52 -0
- data/lib/node_modules/npm/node_modules/block-stream/LICENCE +25 -0
- data/lib/node_modules/npm/node_modules/block-stream/README.md +14 -0
- data/lib/node_modules/npm/node_modules/block-stream/bench/block-stream-pause.js +70 -0
- data/lib/node_modules/npm/node_modules/block-stream/bench/block-stream.js +68 -0
- data/lib/node_modules/npm/node_modules/block-stream/bench/dropper-pause.js +70 -0
- data/lib/node_modules/npm/node_modules/block-stream/bench/dropper.js +68 -0
- data/lib/node_modules/npm/node_modules/block-stream/block-stream.js +209 -0
- data/lib/node_modules/npm/node_modules/block-stream/package.json +35 -0
- data/lib/node_modules/npm/node_modules/child-process-close/README.md +45 -0
- data/lib/node_modules/npm/node_modules/child-process-close/index.js +48 -0
- data/lib/node_modules/npm/node_modules/child-process-close/package.json +37 -0
- data/lib/node_modules/npm/node_modules/chmodr/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/chmodr/README.md +3 -0
- data/lib/node_modules/npm/node_modules/chmodr/chmodr.js +54 -0
- data/lib/node_modules/npm/node_modules/chmodr/package.json +28 -0
- data/lib/node_modules/npm/node_modules/chownr/LICENCE +25 -0
- data/lib/node_modules/npm/node_modules/chownr/README.md +3 -0
- data/lib/node_modules/npm/node_modules/chownr/chownr.js +41 -0
- data/lib/node_modules/npm/node_modules/chownr/package.json +42 -0
- data/lib/node_modules/npm/node_modules/cmd-shim/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/cmd-shim/README.md +42 -0
- data/lib/node_modules/npm/node_modules/cmd-shim/index.js +180 -0
- data/lib/node_modules/npm/node_modules/cmd-shim/package.json +35 -0
- data/lib/node_modules/npm/node_modules/columnify/Readme.md +189 -0
- data/lib/node_modules/npm/node_modules/columnify/index.js +210 -0
- data/lib/node_modules/npm/node_modules/columnify/package.json +42 -0
- data/lib/node_modules/npm/node_modules/columnify/utils.js +76 -0
- data/lib/node_modules/npm/node_modules/editor/LICENSE +18 -0
- data/lib/node_modules/npm/node_modules/editor/README.markdown +54 -0
- data/lib/node_modules/npm/node_modules/editor/example/beep.json +5 -0
- data/lib/node_modules/npm/node_modules/editor/example/edit.js +4 -0
- data/lib/node_modules/npm/node_modules/editor/index.js +26 -0
- data/lib/node_modules/npm/node_modules/editor/package.json +43 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/LICENCE +25 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/README.md +18 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/example/bundle.js +13 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/example/dir-tar.js +19 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/example/dir.js +25 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/example/example.js +12 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/example/ig-tar.js +19 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/example/tar.js +25 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/fstream-npm.js +323 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/README.md +22 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/example/basic.js +13 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/ignore.js +275 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/package.json +40 -0
- data/lib/node_modules/npm/node_modules/fstream-npm/package.json +27 -0
- data/lib/node_modules/npm/node_modules/fstream/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/fstream/README.md +76 -0
- data/lib/node_modules/npm/node_modules/fstream/examples/filter-pipe.js +131 -0
- data/lib/node_modules/npm/node_modules/fstream/examples/pipe.js +115 -0
- data/lib/node_modules/npm/node_modules/fstream/examples/reader.js +54 -0
- data/lib/node_modules/npm/node_modules/fstream/examples/symlink-write.js +24 -0
- data/lib/node_modules/npm/node_modules/fstream/fstream.js +31 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/abstract.js +85 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/collect.js +67 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/dir-reader.js +251 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js +171 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/file-reader.js +147 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/file-writer.js +100 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/get-type.js +32 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/link-reader.js +54 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/link-writer.js +95 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/proxy-reader.js +93 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/proxy-writer.js +109 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/reader.js +260 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/socket-reader.js +38 -0
- data/lib/node_modules/npm/node_modules/fstream/lib/writer.js +389 -0
- data/lib/node_modules/npm/node_modules/fstream/package.json +43 -0
- data/lib/node_modules/npm/node_modules/github-url-from-git/History.md +10 -0
- data/lib/node_modules/npm/node_modules/github-url-from-git/Makefile +5 -0
- data/lib/node_modules/npm/node_modules/github-url-from-git/Readme.md +41 -0
- data/lib/node_modules/npm/node_modules/github-url-from-git/index.js +12 -0
- data/lib/node_modules/npm/node_modules/github-url-from-git/package.json +31 -0
- data/lib/node_modules/npm/node_modules/github-url-from-git/test.js +40 -0
- data/lib/node_modules/npm/node_modules/github-url-from-username-repo/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/github-url-from-username-repo/README.md +14 -0
- data/lib/node_modules/npm/node_modules/github-url-from-username-repo/index.js +9 -0
- data/lib/node_modules/npm/node_modules/github-url-from-username-repo/package.json +33 -0
- data/lib/node_modules/npm/node_modules/glob/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/glob/README.md +250 -0
- data/lib/node_modules/npm/node_modules/glob/examples/g.js +9 -0
- data/lib/node_modules/npm/node_modules/glob/examples/usr-local.js +9 -0
- data/lib/node_modules/npm/node_modules/glob/glob.js +680 -0
- data/lib/node_modules/npm/node_modules/glob/package.json +39 -0
- data/lib/node_modules/npm/node_modules/graceful-fs/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/graceful-fs/README.md +26 -0
- data/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js +161 -0
- data/lib/node_modules/npm/node_modules/graceful-fs/package.json +48 -0
- data/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js +228 -0
- data/lib/node_modules/npm/node_modules/inherits/LICENSE +16 -0
- data/lib/node_modules/npm/node_modules/inherits/README.md +42 -0
- data/lib/node_modules/npm/node_modules/inherits/inherits.js +1 -0
- data/lib/node_modules/npm/node_modules/inherits/inherits_browser.js +23 -0
- data/lib/node_modules/npm/node_modules/inherits/package.json +32 -0
- data/lib/node_modules/npm/node_modules/inherits/test.js +25 -0
- data/lib/node_modules/npm/node_modules/ini/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/ini/README.md +79 -0
- data/lib/node_modules/npm/node_modules/ini/ini.js +166 -0
- data/lib/node_modules/npm/node_modules/ini/package.json +29 -0
- data/lib/node_modules/npm/node_modules/init-package-json/README.md +43 -0
- data/lib/node_modules/npm/node_modules/init-package-json/default-input.js +181 -0
- data/lib/node_modules/npm/node_modules/init-package-json/example/example-basic.js +8 -0
- data/lib/node_modules/npm/node_modules/init-package-json/example/example-default.js +7 -0
- data/lib/node_modules/npm/node_modules/init-package-json/example/example-npm.js +13 -0
- data/lib/node_modules/npm/node_modules/init-package-json/example/init/basic-init.js +1 -0
- data/lib/node_modules/npm/node_modules/init-package-json/init-package-json.js +129 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/LICENSE +15 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/README.md +133 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/example/index.js +11 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/README.md +8 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init-input.js +191 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init.js +37 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/package.json +10 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/example/substack-input.js +61 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/package.json +32 -0
- data/lib/node_modules/npm/node_modules/init-package-json/node_modules/promzard/promzard.js +216 -0
- data/lib/node_modules/npm/node_modules/init-package-json/package.json +48 -0
- data/lib/node_modules/npm/node_modules/lockfile/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/lockfile/README.md +81 -0
- data/lib/node_modules/npm/node_modules/lockfile/lockfile.js +272 -0
- data/lib/node_modules/npm/node_modules/lockfile/package.json +45 -0
- data/lib/node_modules/npm/node_modules/lru-cache/CONTRIBUTORS +14 -0
- data/lib/node_modules/npm/node_modules/lru-cache/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/lru-cache/README.md +97 -0
- data/lib/node_modules/npm/node_modules/lru-cache/lib/lru-cache.js +252 -0
- data/lib/node_modules/npm/node_modules/lru-cache/package.json +33 -0
- data/lib/node_modules/npm/node_modules/minimatch/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/minimatch/README.md +218 -0
- data/lib/node_modules/npm/node_modules/minimatch/minimatch.js +1055 -0
- data/lib/node_modules/npm/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
- data/lib/node_modules/npm/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
- data/lib/node_modules/npm/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
- data/lib/node_modules/npm/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
- data/lib/node_modules/npm/node_modules/minimatch/package.json +40 -0
- data/lib/node_modules/npm/node_modules/mkdirp/LICENSE +21 -0
- data/lib/node_modules/npm/node_modules/mkdirp/README.markdown +63 -0
- data/lib/node_modules/npm/node_modules/mkdirp/examples/pow.js +6 -0
- data/lib/node_modules/npm/node_modules/mkdirp/index.js +82 -0
- data/lib/node_modules/npm/node_modules/mkdirp/package.json +33 -0
- data/lib/node_modules/npm/node_modules/node-gyp/LICENSE +24 -0
- data/lib/node_modules/npm/node_modules/node-gyp/README.md +163 -0
- data/lib/node_modules/npm/node_modules/node-gyp/addon.gypi +59 -0
- data/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js +133 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/AUTHORS +10 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/DEPS +24 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/OWNERS +1 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/PRESUBMIT.py +115 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py +148 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/codereview.settings +10 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp +7 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp.bat +5 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_dummy.c +7 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py +18 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/gyptest.py +274 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +340 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +208 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1051 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1482 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +58 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +147 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +267 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +407 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +537 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py +513 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +72 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +157 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +103 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +49 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1069 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +81 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +308 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +87 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +56 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2172 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3270 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +37 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2150 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +44 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1224 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +23 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py +2809 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +90 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +264 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +870 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +160 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +176 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1324 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +2888 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +69 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/pylintrc +307 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples +81 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples.bat +5 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/setup.py +19 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/README +15 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/README +5 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.pbfilespec +27 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.xclangspec +226 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/README +12 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el +63 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el +252 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh +7 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp +1105 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified +1107 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/graphviz.py +100 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py +155 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py +168 -0
- data/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +329 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/build.js +275 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/clean.js +22 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js +344 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/install.js +362 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/list.js +33 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js +225 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/rebuild.js +16 -0
- data/lib/node_modules/npm/node_modules/node-gyp/lib/remove.js +56 -0
- data/lib/node_modules/npm/node_modules/node-gyp/package.json +55 -0
- data/lib/node_modules/npm/node_modules/nopt/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/nopt/README.md +210 -0
- data/lib/node_modules/npm/node_modules/nopt/bin/nopt.js +51 -0
- data/lib/node_modules/npm/node_modules/nopt/examples/my-program.js +30 -0
- data/lib/node_modules/npm/node_modules/nopt/lib/nopt.js +407 -0
- data/lib/node_modules/npm/node_modules/nopt/package.json +39 -0
- data/lib/node_modules/npm/node_modules/npm-install-checks/LICENSE +234 -0
- data/lib/node_modules/npm/node_modules/npm-install-checks/README.md +25 -0
- data/lib/node_modules/npm/node_modules/npm-install-checks/index.js +146 -0
- data/lib/node_modules/npm/node_modules/npm-install-checks/package.json +43 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/README.md +176 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/index.js +55 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/adduser.js +138 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/bugs.js +9 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/deprecate.js +28 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js +184 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/publish.js +156 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js +270 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/star.js +29 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/stars.js +9 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/tag.js +6 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/unpublish.js +104 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/lib/upload.js +22 -0
- data/lib/node_modules/npm/node_modules/npm-registry-client/package.json +43 -0
- data/lib/node_modules/npm/node_modules/npm-user-validate/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/npm-user-validate/README.md +6 -0
- data/lib/node_modules/npm/node_modules/npm-user-validate/npm-user-validate.js +49 -0
- data/lib/node_modules/npm/node_modules/npm-user-validate/package.json +37 -0
- data/lib/node_modules/npm/node_modules/npmconf/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/npmconf/README.md +33 -0
- data/lib/node_modules/npm/node_modules/npmconf/config-defs.js +353 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/LICENCE +22 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/index.js +282 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/README.md +3 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json +33 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/proto-list.js +81 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/package.json +32 -0
- data/lib/node_modules/npm/node_modules/npmconf/node_modules/config-chain/readme.markdown +228 -0
- data/lib/node_modules/npm/node_modules/npmconf/npmconf.js +338 -0
- data/lib/node_modules/npm/node_modules/npmconf/package.json +50 -0
- data/lib/node_modules/npm/node_modules/npmlog/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/npmlog/README.md +153 -0
- data/lib/node_modules/npm/node_modules/npmlog/example.js +39 -0
- data/lib/node_modules/npm/node_modules/npmlog/log.js +154 -0
- data/lib/node_modules/npm/node_modules/npmlog/package.json +32 -0
- data/lib/node_modules/npm/node_modules/once/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/once/README.md +51 -0
- data/lib/node_modules/npm/node_modules/once/once.js +20 -0
- data/lib/node_modules/npm/node_modules/once/package.json +39 -0
- data/lib/node_modules/npm/node_modules/opener/LICENSE.txt +14 -0
- data/lib/node_modules/npm/node_modules/opener/README.md +44 -0
- data/lib/node_modules/npm/node_modules/opener/opener.js +55 -0
- data/lib/node_modules/npm/node_modules/opener/package.json +34 -0
- data/lib/node_modules/npm/node_modules/osenv/LICENSE +25 -0
- data/lib/node_modules/npm/node_modules/osenv/README.md +63 -0
- data/lib/node_modules/npm/node_modules/osenv/osenv.js +80 -0
- data/lib/node_modules/npm/node_modules/osenv/package.json +38 -0
- data/lib/node_modules/npm/node_modules/path-is-inside/LICENSE.txt +14 -0
- data/lib/node_modules/npm/node_modules/path-is-inside/README.md +35 -0
- data/lib/node_modules/npm/node_modules/path-is-inside/lib/path-is-inside.js +24 -0
- data/lib/node_modules/npm/node_modules/path-is-inside/package.json +39 -0
- data/lib/node_modules/npm/node_modules/read-installed/LICENSE +16 -0
- data/lib/node_modules/npm/node_modules/read-installed/README.md +25 -0
- data/lib/node_modules/npm/node_modules/read-installed/package.json +39 -0
- data/lib/node_modules/npm/node_modules/read-installed/read-installed.js +338 -0
- data/lib/node_modules/npm/node_modules/read-package-json/LICENSE +15 -0
- data/lib/node_modules/npm/node_modules/read-package-json/README.md +166 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/AUTHORS +4 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/LICENSE +30 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/README.md +101 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/core_module_names.json +29 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/extract_description.js +14 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js +392 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js +36 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/safe_format.js +9 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/typos.json +25 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/warning_messages.json +28 -0
- data/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json +53 -0
- data/lib/node_modules/npm/node_modules/read-package-json/package.json +39 -0
- data/lib/node_modules/npm/node_modules/read-package-json/read-json.js +368 -0
- data/lib/node_modules/npm/node_modules/read/LICENCE +25 -0
- data/lib/node_modules/npm/node_modules/read/README.md +53 -0
- data/lib/node_modules/npm/node_modules/read/example/example.js +13 -0
- data/lib/node_modules/npm/node_modules/read/lib/read.js +113 -0
- data/lib/node_modules/npm/node_modules/read/node_modules/mute-stream/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/read/node_modules/mute-stream/README.md +68 -0
- data/lib/node_modules/npm/node_modules/read/node_modules/mute-stream/mute.js +140 -0
- data/lib/node_modules/npm/node_modules/read/node_modules/mute-stream/package.json +37 -0
- data/lib/node_modules/npm/node_modules/read/package.json +35 -0
- data/lib/node_modules/npm/node_modules/read/rs.js +4 -0
- data/lib/node_modules/npm/node_modules/request/LICENSE +55 -0
- data/lib/node_modules/npm/node_modules/request/README.md +364 -0
- data/lib/node_modules/npm/node_modules/request/index.js +157 -0
- data/lib/node_modules/npm/node_modules/request/lib/copy.js +8 -0
- data/lib/node_modules/npm/node_modules/request/lib/debug.js +7 -0
- data/lib/node_modules/npm/node_modules/request/lib/getSafe.js +34 -0
- data/lib/node_modules/npm/node_modules/request/lib/optional.js +5 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/aws-sign2/LICENSE +55 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/aws-sign2/README.md +4 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/aws-sign2/index.js +202 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/aws-sign2/package.json +28 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/forever-agent/LICENSE +55 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/forever-agent/README.md +4 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/forever-agent/index.js +119 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/forever-agent/package.json +28 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/License +19 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/Readme.md +163 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/lib/form_data.js +325 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/async/LICENSE +19 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/async/README.md +1414 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/async/component.json +11 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js +955 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/async/package.json +43 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/License +19 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/Makefile +7 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/Readme.md +132 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js +185 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License +19 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile +7 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md +154 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js +99 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json +31 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json +32 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/form-data/package.json +46 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/LICENSE +24 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/Makefile +10 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/README.md +627 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/example/usage.js +78 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/images/hawk.png +0 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/images/logo.png +0 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/index.js +1 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/browser.js +485 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/client.js +367 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/crypto.js +111 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/index.js +15 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/server.js +524 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/utils.js +183 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE +24 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/Makefile +11 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/README.md +6 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png +0 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/index.js +1 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js +207 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/package.json +47 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE +24 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/Makefile +11 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md +6 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/index.js +1 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js +68 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json +48 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE +33 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/Makefile +10 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md +436 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png +0 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/index.js +1 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js +132 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js +585 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/hoek/package.json +49 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE +24 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/Makefile +11 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/README.md +68 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js +16 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js +25 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/index.js +1 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js +409 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/package.json +48 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/hawk/package.json +53 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/LICENSE +18 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/README.md +75 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/http_signing.md +296 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/index.js +25 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/parser.js +304 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/signer.js +179 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/util.js +249 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/verify.js +42 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/LICENSE +19 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/README.md +50 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js +13 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js +27 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js +267 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js +36 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js +317 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js +20 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json +43 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js +172 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js +296 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md +126 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js +196 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json +20 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/CHANGELOG +71 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/LICENSE +24 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README +82 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README.old +298 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js +245 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js +1485 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js +944 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/man/man3ctype/ctio.3ctype +241 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json +18 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsl.conf +129 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsstyle +839 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/float.json +13 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/int.json +13 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/psinfo.json +104 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/struct.json +19 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.fail.js +39 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.float.js +14 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.int.js +14 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.psinfo.js +17 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.struct.js +18 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.typedef.js +15 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/typedef.json +14 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.rfloat.js +767 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.wfloat.js +753 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.64.js +638 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.rint.js +101 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wbounds.js +53 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wint.js +92 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.64.js +451 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.roundtrip.js +81 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.ruint.js +95 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.wuint.js +156 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicr.js +50 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicw.js +44 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.char.js +42 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.endian.js +45 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.oldwrite.js +28 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.readSize.js +128 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.structw.js +28 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.writeStruct.js +31 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/http-signature/package.json +36 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/json-stringify-safe/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/json-stringify-safe/README.md +49 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/json-stringify-safe/package.json +33 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/json-stringify-safe/stringify.js +39 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/json-stringify-safe/test.js +128 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/mime/LICENSE +19 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/mime/README.md +66 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/mime/mime.js +114 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/mime/package.json +36 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/mime/test.js +84 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/mime/types/mime.types +1588 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/mime/types/node.types +77 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/LICENSE.md +2 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/README.md +207 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/benchmark/README.md +53 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu +174 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.sh +34 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c +34 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js +84 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/component.json +18 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/package.json +35 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/node-uuid/uuid.js +245 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/oauth-sign/LICENSE +55 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/oauth-sign/README.md +4 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/oauth-sign/index.js +43 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/oauth-sign/package.json +31 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/oauth-sign/test.js +49 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/qs/Readme.md +58 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/qs/index.js +366 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/qs/package.json +38 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/LICENSE +78 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/README.md +380 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/generate-pubsuffix.js +230 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/lib/cookie.js +947 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/lib/memstore.js +102 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js +69 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-GPL.txt +278 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-MIT.txt +20 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/package.json +73 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/punycode.js +508 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/punycode.min.js +2 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/LICENSE.txt +20 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/README.md +35 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/doc/README.md +69 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/doc/parse.php +35 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/docdown.php +38 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/src/DocDown/Alias.php +226 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/src/DocDown/Entry.php +442 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/src/DocDown/Generator.php +563 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/package.json +46 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/public-suffix.txt +5229 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/test.js +1340 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/LICENSE +55 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/README.md +4 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/index.js +227 -0
- data/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/package.json +28 -0
- data/lib/node_modules/npm/node_modules/request/package.json +57 -0
- data/lib/node_modules/npm/node_modules/request/request.js +1260 -0
- data/lib/node_modules/npm/node_modules/retry/License +21 -0
- data/lib/node_modules/npm/node_modules/retry/Makefile +7 -0
- data/lib/node_modules/npm/node_modules/retry/Readme.md +167 -0
- data/lib/node_modules/npm/node_modules/retry/equation.gif +0 -0
- data/lib/node_modules/npm/node_modules/retry/example/dns.js +31 -0
- data/lib/node_modules/npm/node_modules/retry/index.js +1 -0
- data/lib/node_modules/npm/node_modules/retry/lib/retry.js +50 -0
- data/lib/node_modules/npm/node_modules/retry/lib/retry_operation.js +109 -0
- data/lib/node_modules/npm/node_modules/retry/package.json +29 -0
- data/lib/node_modules/npm/node_modules/rimraf/AUTHORS +6 -0
- data/lib/node_modules/npm/node_modules/rimraf/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/rimraf/README.md +30 -0
- data/lib/node_modules/npm/node_modules/rimraf/bin.js +33 -0
- data/lib/node_modules/npm/node_modules/rimraf/package.json +56 -0
- data/lib/node_modules/npm/node_modules/rimraf/rimraf.js +178 -0
- data/lib/node_modules/npm/node_modules/semver/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/semver/Makefile +24 -0
- data/lib/node_modules/npm/node_modules/semver/README.md +142 -0
- data/lib/node_modules/npm/node_modules/semver/bin/semver +124 -0
- data/lib/node_modules/npm/node_modules/semver/foot.js +6 -0
- data/lib/node_modules/npm/node_modules/semver/head.js +2 -0
- data/lib/node_modules/npm/node_modules/semver/package.json +32 -0
- data/lib/node_modules/npm/node_modules/semver/semver.browser.js +1007 -0
- data/lib/node_modules/npm/node_modules/semver/semver.browser.js.gz +0 -0
- data/lib/node_modules/npm/node_modules/semver/semver.js +1011 -0
- data/lib/node_modules/npm/node_modules/semver/semver.min.js +1 -0
- data/lib/node_modules/npm/node_modules/semver/semver.min.js.gz +0 -0
- data/lib/node_modules/npm/node_modules/sha/LICENSE +46 -0
- data/lib/node_modules/npm/node_modules/sha/README.md +49 -0
- data/lib/node_modules/npm/node_modules/sha/index.js +120 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/LICENSE +27 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/README.md +768 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/duplex.js +1 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/float.patch +68 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/lib/_stream_duplex.js +69 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/lib/_stream_passthrough.js +41 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/lib/_stream_readable.js +927 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/lib/_stream_transform.js +205 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/lib/_stream_writable.js +369 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/package.json +36 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/passthrough.js +1 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/readable.js +6 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/transform.js +1 -0
- data/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/writable.js +1 -0
- data/lib/node_modules/npm/node_modules/sha/package.json +32 -0
- data/lib/node_modules/npm/node_modules/slide/LICENSE +15 -0
- data/lib/node_modules/npm/node_modules/slide/README.md +143 -0
- data/lib/node_modules/npm/node_modules/slide/index.js +1 -0
- data/lib/node_modules/npm/node_modules/slide/lib/async-map-ordered.js +65 -0
- data/lib/node_modules/npm/node_modules/slide/lib/async-map.js +56 -0
- data/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js +16 -0
- data/lib/node_modules/npm/node_modules/slide/lib/chain.js +20 -0
- data/lib/node_modules/npm/node_modules/slide/lib/slide.js +3 -0
- data/lib/node_modules/npm/node_modules/slide/package.json +35 -0
- data/lib/node_modules/npm/node_modules/tar/LICENCE +25 -0
- data/lib/node_modules/npm/node_modules/tar/README.md +46 -0
- data/lib/node_modules/npm/node_modules/tar/examples/extracter.js +11 -0
- data/lib/node_modules/npm/node_modules/tar/examples/reader.js +36 -0
- data/lib/node_modules/npm/node_modules/tar/lib/buffer-entry.js +30 -0
- data/lib/node_modules/npm/node_modules/tar/lib/entry-writer.js +169 -0
- data/lib/node_modules/npm/node_modules/tar/lib/entry.js +213 -0
- data/lib/node_modules/npm/node_modules/tar/lib/extended-header-writer.js +191 -0
- data/lib/node_modules/npm/node_modules/tar/lib/extended-header.js +140 -0
- data/lib/node_modules/npm/node_modules/tar/lib/extract.js +78 -0
- data/lib/node_modules/npm/node_modules/tar/lib/global-header-writer.js +14 -0
- data/lib/node_modules/npm/node_modules/tar/lib/header.js +385 -0
- data/lib/node_modules/npm/node_modules/tar/lib/pack.js +231 -0
- data/lib/node_modules/npm/node_modules/tar/lib/parse.js +270 -0
- data/lib/node_modules/npm/node_modules/tar/package.json +40 -0
- data/lib/node_modules/npm/node_modules/tar/tar.js +173 -0
- data/lib/node_modules/npm/node_modules/text-table/LICENSE +18 -0
- data/lib/node_modules/npm/node_modules/text-table/example/align.js +8 -0
- data/lib/node_modules/npm/node_modules/text-table/example/center.js +8 -0
- data/lib/node_modules/npm/node_modules/text-table/example/dotalign.js +9 -0
- data/lib/node_modules/npm/node_modules/text-table/example/doubledot.js +11 -0
- data/lib/node_modules/npm/node_modules/text-table/example/table.js +6 -0
- data/lib/node_modules/npm/node_modules/text-table/index.js +86 -0
- data/lib/node_modules/npm/node_modules/text-table/package.json +52 -0
- data/lib/node_modules/npm/node_modules/text-table/readme.markdown +134 -0
- data/lib/node_modules/npm/node_modules/uid-number/LICENCE +25 -0
- data/lib/node_modules/npm/node_modules/uid-number/README.md +17 -0
- data/lib/node_modules/npm/node_modules/uid-number/get-uid-gid.js +24 -0
- data/lib/node_modules/npm/node_modules/uid-number/package.json +35 -0
- data/lib/node_modules/npm/node_modules/uid-number/uid-number.js +54 -0
- data/lib/node_modules/npm/node_modules/which/LICENSE +23 -0
- data/lib/node_modules/npm/node_modules/which/README.md +5 -0
- data/lib/node_modules/npm/node_modules/which/bin/which +14 -0
- data/lib/node_modules/npm/node_modules/which/package.json +34 -0
- data/lib/node_modules/npm/node_modules/which/which.js +104 -0
- data/lib/node_modules/npm/package.json +155 -0
- data/lib/node_modules/npm/scripts/clean-old.sh +165 -0
- data/lib/node_modules/npm/scripts/doc-build.sh +84 -0
- data/lib/node_modules/npm/scripts/index-build.js +62 -0
- data/lib/node_modules/npm/scripts/install.sh +313 -0
- data/lib/node_modules/npm/scripts/release.sh +36 -0
- data/lib/node_modules/npm/scripts/relocate.sh +26 -0
- metadata +1052 -36
- checksums.yaml +0 -7
@@ -0,0 +1,241 @@
|
|
1
|
+
'\" te
|
2
|
+
.\" Copyright (c) 2011, Robert Mustacchi. All Rights Reserved.
|
3
|
+
.\" Copyright (c) 2011, Joyent, Inc. All Rights Reserved.
|
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
|
7
|
+
.\" deal in the Software without restriction, including without limitation the
|
8
|
+
.\" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
9
|
+
.\" sell 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
|
20
|
+
.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
21
|
+
.\" IN THE SOFTWARE.
|
22
|
+
.TH CTIO 3CTYPE "December 12, 2011"
|
23
|
+
.SH NAME
|
24
|
+
ctio, ruint8, ruint16, ruint32, ruint64, wuint8, wuint16, wuint32, wuint64,
|
25
|
+
rsint8, rsint16, rsint32, rsint64, wsint8, wsint16, wsint32, wsint64, rfloat,
|
26
|
+
rdouble, wfloat, wdouble \- integer and float operations
|
27
|
+
.SH SYNOPSIS
|
28
|
+
.LP
|
29
|
+
.nf
|
30
|
+
var mod_ctype = require('ctype');
|
31
|
+
|
32
|
+
\fBNumber\fR \fBmod_ctype.ruint8\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
33
|
+
.fi
|
34
|
+
|
35
|
+
.LP
|
36
|
+
.nf
|
37
|
+
\fBNumber\fR \fBmod_ctype.ruint16\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
38
|
+
.fi
|
39
|
+
|
40
|
+
.LP
|
41
|
+
.nf
|
42
|
+
\fBNumber\fR \fBmod_ctype.ruint32\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
43
|
+
.fi
|
44
|
+
|
45
|
+
.LP
|
46
|
+
.nf
|
47
|
+
\fBNumber[2]\fR \fBmod_ctype.ruint64\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
48
|
+
.fi
|
49
|
+
|
50
|
+
.LP
|
51
|
+
.nf
|
52
|
+
\fBNumber\fR \fBmod_ctype.rsint8\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
53
|
+
.fi
|
54
|
+
|
55
|
+
.LP
|
56
|
+
.nf
|
57
|
+
\fBNumber\fR \fBmod_ctype.rsint16\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
58
|
+
.fi
|
59
|
+
|
60
|
+
.LP
|
61
|
+
.nf
|
62
|
+
\fBNumber\fR \fBmod_ctype.rsint32\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
63
|
+
.fi
|
64
|
+
|
65
|
+
.LP
|
66
|
+
.nf
|
67
|
+
\fBNumber[2]\fR \fBmod_ctype.rsint64\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
68
|
+
.fi
|
69
|
+
|
70
|
+
.LP
|
71
|
+
.nf
|
72
|
+
\fBNumber\fR \fBmod_ctype.rfloat\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
73
|
+
.fi
|
74
|
+
|
75
|
+
.LP
|
76
|
+
.nf
|
77
|
+
\fBNumber\fR \fBmod_ctype.rdouble\fR(\fBBuffer\fR \fIbuf\fR, \fBString\fR \fIendian\fR, \fBNumber\fR \fIoffset\fR);
|
78
|
+
.fi
|
79
|
+
|
80
|
+
.LP
|
81
|
+
.nf
|
82
|
+
\fBvoid\fR \fBmod_ctype.wuint8\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
83
|
+
.fi
|
84
|
+
|
85
|
+
.LP
|
86
|
+
.nf
|
87
|
+
\fBvoid\fR \fBmod_ctype.wuint16\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
88
|
+
.fi
|
89
|
+
|
90
|
+
.LP
|
91
|
+
.nf
|
92
|
+
\fBvoid\fR \fBmod_ctype.wuint32\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
93
|
+
.fi
|
94
|
+
|
95
|
+
.LP
|
96
|
+
.nf
|
97
|
+
\fBvoid\fR \fBmod_ctype.wuint64\fR(\fBNumber[2]\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
98
|
+
.fi
|
99
|
+
|
100
|
+
.LP
|
101
|
+
.nf
|
102
|
+
\fBvoid\fR \fBmod_ctype.wsint8\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
103
|
+
.fi
|
104
|
+
|
105
|
+
.LP
|
106
|
+
.nf
|
107
|
+
\fBvoid\fR \fBmod_ctype.wsint16\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
108
|
+
.fi
|
109
|
+
|
110
|
+
.LP
|
111
|
+
.nf
|
112
|
+
\fBvoid\fR \fBmod_ctype.wsint32\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
113
|
+
.fi
|
114
|
+
|
115
|
+
.LP
|
116
|
+
.nf
|
117
|
+
\fBvoid\fR \fBmod_ctype.wsint64\fR(\fBNumber[2]\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
118
|
+
.fi
|
119
|
+
|
120
|
+
.LP
|
121
|
+
.nf
|
122
|
+
\fBvoid\fR \fBmod_ctype.wfloat\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
123
|
+
.fi
|
124
|
+
|
125
|
+
.LP
|
126
|
+
.nf
|
127
|
+
\fBvoid\fR \fBmod_ctype.wdouble\fR(\fBNumber\fR value, \fBString\fR \fIendian\fR, \fBBuffer\fR \fIbuf\fR, \fBNumber\fR \fIoffset\fR);
|
128
|
+
.fi
|
129
|
+
|
130
|
+
.SH DESCRIPTION
|
131
|
+
.sp
|
132
|
+
.LP
|
133
|
+
The argument \fIbuf\fR refers to a valid buffer (from calling new Buffer()). The
|
134
|
+
argument \fIendian\fR is either the string 'big' or 'little' and controls
|
135
|
+
whether the data in the buffer is interpreted as big or little endian. The argument
|
136
|
+
\fIoffset\fR indicates the starting index into the buffer to read or write. All
|
137
|
+
functions ensure that starting at \fIoffset\fR does not overflow the end of the
|
138
|
+
buffer. The argument \fIvalue\fR is a Number that is the valid type for the
|
139
|
+
specific function. All functions that take \fIvalue\fR as an argument, verify
|
140
|
+
that the passed value is valid.
|
141
|
+
|
142
|
+
.SS "\fBruint8()\fR, \fBruint16()\fR, \fBruint32()\fR"
|
143
|
+
.sp
|
144
|
+
.LP
|
145
|
+
The \fBruint8()\fR, \fBruint16()\fR, and \fBruint32()\fR functions read an 8,
|
146
|
+
16, and 32-bit unsigned value from \fIbuf\fR and return it. The value read is
|
147
|
+
influenced by the values of \fIoffset\fR and \fRendian\fI.
|
148
|
+
|
149
|
+
|
150
|
+
.SS "\fBrsint8()\fR, \fBrsint16()\fR, \fBrsint32()\fR"
|
151
|
+
.sp
|
152
|
+
.LP
|
153
|
+
The \fBruint8()\fR, \fBruint16()\fR, and \fBruint32()\fR functions work just as
|
154
|
+
\fBruint8()\fR, \fBruint16()\fR, and \fBruint32()\fR, except they return signed
|
155
|
+
integers.
|
156
|
+
|
157
|
+
.SS "\fBruint64()\fR, \fBrsint64()\fR"
|
158
|
+
.sp
|
159
|
+
.LP
|
160
|
+
The \fBruint64()\fR and \fBrsint64()\fR functions read unsigned and signed 64
|
161
|
+
bit integers respectively from \fBbuf\fR. Due to the limitations of ECMAScript's
|
162
|
+
\fBNumber\fR type, they cannot be stored as one value without a loss of
|
163
|
+
precision. Instead of returning the values as a single \fBNumber\fR, the
|
164
|
+
functions return an array of two numbers. The first entry always contains the
|
165
|
+
upper 32-bits and the second value contains the lower 32-bits. The lossy
|
166
|
+
transformation into a number would be \fIres[0]*Math.pow(2,32)+res[1]\fR.
|
167
|
+
Note that, unless an entry is zero, both array entries are guaranteed to have
|
168
|
+
the same sign.
|
169
|
+
|
170
|
+
.SS "\fBwuint8()\fR, \fBwuint16()\fR, \fBwuint32()\fR"
|
171
|
+
.sp
|
172
|
+
.LP
|
173
|
+
The functions \fBwuint8()\fR, \fBwuint16()\fR, and \fBwuint32()\fR modify the
|
174
|
+
contents of \fBbuf\fR by writing an 8, 16, and 32-bit unsigned integer
|
175
|
+
respectively to \fBbuf\fR. It is illegal to pass a number that is not an integer
|
176
|
+
within the domain of the integer size, for example, for \fBwuint8()\fR the valid
|
177
|
+
range is \fB[0, 255]\fR. The value will be written in either big or little
|
178
|
+
endian format based upon the value of \fBendian\fR.
|
179
|
+
|
180
|
+
|
181
|
+
.SS "\fBwsint8()\fR, \fBwsint16()\fR, \fBwsint32()\fR"
|
182
|
+
.sp
|
183
|
+
.LP
|
184
|
+
The functions \fBwsint8()\fR, \fBwsint16()\fR, and \fBwsint32()\fR function
|
185
|
+
identically to the functions \fBwuint8()\fR, \fBwuint16()\fR, and
|
186
|
+
\fBwuint32()\fR except that they the valid domain for \fBvalue\fR is that of a
|
187
|
+
signed number instead of an unsigned number. For example the \fBwsint8()\fR has
|
188
|
+
a domain of \fB[-128, 127]\fR.
|
189
|
+
|
190
|
+
.SS "\fBwuint64()\fR, \fBwsint64()\fR"
|
191
|
+
.sp
|
192
|
+
.LP
|
193
|
+
The functions \fBwuint64()\fR and \fBswint64()\fR write out 64-bit unsigned and
|
194
|
+
signed integers to \fBbuf\fR. The \fBvalue\fR argument must be in the same
|
195
|
+
format as described in \fBruint64()\fR and \fBrsint64()\fR.
|
196
|
+
|
197
|
+
.SS "\fBrfloat()\fR, \fBrdouble()\fR"
|
198
|
+
.sp
|
199
|
+
.LP
|
200
|
+
The functions "\fBrfloat()\fR and \fBrdouble()\fR" work like the other read
|
201
|
+
functions, except that they read a single precision and double precision
|
202
|
+
IEEE-754 floating point value instead.
|
203
|
+
|
204
|
+
.SS "\fBwfloat()\fR, \fBwdouble()\fR"
|
205
|
+
.sp
|
206
|
+
.LP
|
207
|
+
The functions "\fBrfloat()\fR and \fBrdouble()\fR" work like the other write
|
208
|
+
functions, except that the domain for a float is that of a single precision 4
|
209
|
+
byte value. The domain for a double is any \fBNumber\fR in ECMAScript, which is
|
210
|
+
defined to be represented by a double.
|
211
|
+
|
212
|
+
.SH ATTRIBUTES
|
213
|
+
.sp
|
214
|
+
.LP
|
215
|
+
See \fBattributes\fR(5) for descriptions of the following attributes:
|
216
|
+
.sp
|
217
|
+
|
218
|
+
.sp
|
219
|
+
.TS
|
220
|
+
box;
|
221
|
+
c | c
|
222
|
+
l | l .
|
223
|
+
ATTRIBUTE TYPE ATTRIBUTE VALUE
|
224
|
+
_
|
225
|
+
Interface Stability Committed
|
226
|
+
_
|
227
|
+
MT-Level See below.
|
228
|
+
_
|
229
|
+
Standard Not standardized.
|
230
|
+
.TE
|
231
|
+
|
232
|
+
.sp
|
233
|
+
.LP
|
234
|
+
|
235
|
+
All functions are MT-safe in so far as there aren't shared memory MT concerns in
|
236
|
+
most node programs. If one where to concoct such an environment, these functions
|
237
|
+
wouldn't be MT-safe.
|
238
|
+
|
239
|
+
.SH SEE ALSO
|
240
|
+
.sp
|
241
|
+
.LP
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"name": "ctype",
|
3
|
+
"version": "0.5.2",
|
4
|
+
"description": "read and write binary structures and data types",
|
5
|
+
"homepage": "https://github.com/rmustacc/node-ctype",
|
6
|
+
"author": {
|
7
|
+
"name": "Robert Mustacchi",
|
8
|
+
"email": "rm@fingolfin.org"
|
9
|
+
},
|
10
|
+
"engines": {
|
11
|
+
"node": ">= 0.4"
|
12
|
+
},
|
13
|
+
"main": "ctype.js",
|
14
|
+
"readme": "Node-CType is a way to read and write binary data in structured and easy to use\nformat. Its name comes from the C header file.\n\nTo get started, simply clone the repository or use npm to install it. Once it is\nthere, simply require it.\n\ngit clone git://github.com/rmustacc/node-ctype\nnpm install ctype\nvar mod_ctype = require('ctype')\n\n\nThere are two APIs that you can use, depending on what abstraction you'd like.\nThe low level API let's you read and write individual integers and floats from\nbuffers. The higher level API let's you read and write structures of these. To\nillustrate this, let's looks look at how we would read and write a binary\nencoded x,y point.\n\nIn C we would define this structure as follows:\n\ntypedef struct point {\n\tuint16_t\tp_x;\n\tuint16_t\tp_y;\n} point_t;\n\nTo read a binary encoded point from a Buffer, we first need to create a CType\nparser (where we specify the endian and other options) and add the typedef.\n\nvar parser = new mod_ctype.Parser({ endian: 'big' });\nparser.typedef('point_t', [\n\t{ x: { type: 'uint16_t' } },\n\t{ y: { type: 'uint16_t' } }\n]);\n\nFrom here, given a buffer buf and an offset into it, we can read a point.\n\nvar out = parser.readData([ { point: { type: 'point_t' } } ], buffer, 0);\nconsole.log(out);\n{ point: { x: 23, y: 42 } }\n\nAnother way to get the same information would be to use the low level methods.\nNote that these require you to manually deal with the offset. Here's how we'd\nget the same values of x and y from the buffer.\n\nvar x = mod_ctype.ruint16(buf, 'big', 0);\nvar y = mod_ctype.ruint16(buf, 'big', 2);\nconsole.log(x + ', ' + y);\n23, 42\n\nThe true power of this API comes from the ability to define and nest typedefs,\njust as you would in C. By default, the following types are defined by default.\nNote that they return a Number, unless indicated otherwise.\n\n * int8_t\n * int16_t\n * int32_t\n * int64_t (returns an array where val[0] << 32 + val[1] would be the value)\n * uint8_t\n * uint16_t\n * uint32_t\n * uint64_t (returns an array where val[0] << 32 + val[1] would be the value)\n * float\n * double\n * char (either returns a buffer with that character or a uint8_t)\n * char[] (returns an object with the buffer and the number of characters read which is either the total amount requested or until the first 0)\n\n\nctf2json integration:\n\nNode-CType supports consuming the output of ctf2json. Once you read in a JSON file,\nall you have to do to add all the definitions it contains is:\n\nvar data, parser;\ndata = JSON.parse(parsedJSONData);\nparser = mod_ctype.parseCTF(data, { endian: 'big' });\n\nFor more documentation, see the file README.old. Full documentation is in the\nprocess of being rewritten as a series of manual pages which will be available\nin the repository and online for viewing.\n\nTo read the ctio manual page simple run, from the root of the workspace:\n\nman -Mman -s 3ctype ctio\n",
|
15
|
+
"readmeFilename": "README",
|
16
|
+
"_id": "ctype@0.5.2",
|
17
|
+
"_from": "ctype@0.5.2"
|
18
|
+
}
|
@@ -0,0 +1,129 @@
|
|
1
|
+
#
|
2
|
+
# Configuration File for JavaScript Lint 0.3.0
|
3
|
+
# Developed by Matthias Miller (http://www.JavaScriptLint.com)
|
4
|
+
#
|
5
|
+
# This configuration file can be used to lint a collection of scripts, or to enable
|
6
|
+
# or disable warnings for scripts that are linted via the command line.
|
7
|
+
#
|
8
|
+
|
9
|
+
### Warnings
|
10
|
+
# Enable or disable warnings based on requirements.
|
11
|
+
# Use "+WarningName" to display or "-WarningName" to suppress.
|
12
|
+
#
|
13
|
+
+no_return_value # function {0} does not always return a value
|
14
|
+
+duplicate_formal # duplicate formal argument {0}
|
15
|
+
+equal_as_assign # test for equality (==) mistyped as assignment (=)?{0}
|
16
|
+
+var_hides_arg # variable {0} hides argument
|
17
|
+
+redeclared_var # redeclaration of {0} {1}
|
18
|
+
+anon_no_return_value # anonymous function does not always return a value
|
19
|
+
+missing_semicolon # missing semicolon
|
20
|
+
+meaningless_block # meaningless block; curly braces have no impact
|
21
|
+
+comma_separated_stmts # multiple statements separated by commas (use semicolons?)
|
22
|
+
+unreachable_code # unreachable code
|
23
|
+
+missing_break # missing break statement
|
24
|
+
+missing_break_for_last_case # missing break statement for last case in switch
|
25
|
+
+comparison_type_conv # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==)
|
26
|
+
-inc_dec_within_stmt # increment (++) and decrement (--) operators used as part of greater statement
|
27
|
+
+useless_void # use of the void type may be unnecessary (void is always undefined)
|
28
|
+
-useless_quotes # quotation marks are unnecessary
|
29
|
+
+multiple_plus_minus # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs
|
30
|
+
+use_of_label # use of label
|
31
|
+
-block_without_braces # block statement without curly braces
|
32
|
+
+leading_decimal_point # leading decimal point may indicate a number or an object member
|
33
|
+
+trailing_decimal_point # trailing decimal point may indicate a number or an object member
|
34
|
+
-octal_number # leading zeros make an octal number
|
35
|
+
+nested_comment # nested comment
|
36
|
+
+misplaced_regex # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma
|
37
|
+
+ambiguous_newline # unexpected end of line; it is ambiguous whether these lines are part of the same statement
|
38
|
+
+empty_statement # empty statement or extra semicolon
|
39
|
+
-missing_option_explicit # the "option explicit" control comment is missing
|
40
|
+
+partial_option_explicit # the "option explicit" control comment, if used, must be in the first script tag
|
41
|
+
+dup_option_explicit # duplicate "option explicit" control comment
|
42
|
+
+useless_assign # useless assignment
|
43
|
+
+ambiguous_nested_stmt # block statements containing block statements should use curly braces to resolve ambiguity
|
44
|
+
+ambiguous_else_stmt # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent)
|
45
|
+
+missing_default_case # missing default case in switch statement
|
46
|
+
+duplicate_case_in_switch # duplicate case in switch statements
|
47
|
+
+default_not_at_end # the default case is not at the end of the switch statement
|
48
|
+
+legacy_cc_not_understood # couldn't understand control comment using /*@keyword@*/ syntax
|
49
|
+
+jsl_cc_not_understood # couldn't understand control comment using /*jsl:keyword*/ syntax
|
50
|
+
+useless_comparison # useless comparison; comparing identical expressions
|
51
|
+
+with_statement # with statement hides undeclared variables; use temporary variable instead
|
52
|
+
+trailing_comma_in_array # extra comma is not recommended in array initializers
|
53
|
+
+assign_to_function_call # assignment to a function call
|
54
|
+
+parseint_missing_radix # parseInt missing radix parameter
|
55
|
+
-unreferenced_argument # argument declared but never referenced: {name}
|
56
|
+
|
57
|
+
### Output format
|
58
|
+
# Customize the format of the error message.
|
59
|
+
# __FILE__ indicates current file path
|
60
|
+
# __FILENAME__ indicates current file name
|
61
|
+
# __LINE__ indicates current line
|
62
|
+
# __ERROR__ indicates error message
|
63
|
+
#
|
64
|
+
# Visual Studio syntax (default):
|
65
|
+
+output-format __FILE__(__LINE__): __ERROR__
|
66
|
+
# Alternative syntax:
|
67
|
+
#+output-format __FILE__:__LINE__: __ERROR__
|
68
|
+
|
69
|
+
|
70
|
+
### Context
|
71
|
+
# Show the in-line position of the error.
|
72
|
+
# Use "+context" to display or "-context" to suppress.
|
73
|
+
#
|
74
|
+
+context
|
75
|
+
|
76
|
+
|
77
|
+
### Semicolons
|
78
|
+
# By default, assignments of an anonymous function to a variable or
|
79
|
+
# property (such as a function prototype) must be followed by a semicolon.
|
80
|
+
#
|
81
|
+
#+lambda_assign_requires_semicolon # deprecated setting
|
82
|
+
|
83
|
+
|
84
|
+
### Control Comments
|
85
|
+
# Both JavaScript Lint and the JScript interpreter confuse each other with the syntax for
|
86
|
+
# the /*@keyword@*/ control comments and JScript conditional comments. (The latter is
|
87
|
+
# enabled in JScript with @cc_on@). The /*jsl:keyword*/ syntax is preferred for this reason,
|
88
|
+
# although legacy control comments are enabled by default for backward compatibility.
|
89
|
+
#
|
90
|
+
+legacy_control_comments
|
91
|
+
|
92
|
+
|
93
|
+
### JScript Function Extensions
|
94
|
+
# JScript allows member functions to be defined like this:
|
95
|
+
# function MyObj() { /*constructor*/ }
|
96
|
+
# function MyObj.prototype.go() { /*member function*/ }
|
97
|
+
#
|
98
|
+
# It also allows events to be attached like this:
|
99
|
+
# function window::onload() { /*init page*/ }
|
100
|
+
#
|
101
|
+
# This is a Microsoft-only JavaScript extension. Enable this setting to allow them.
|
102
|
+
#
|
103
|
+
#-jscript_function_extensions # deprecated setting
|
104
|
+
|
105
|
+
|
106
|
+
### Defining identifiers
|
107
|
+
# By default, "option explicit" is enabled on a per-file basis.
|
108
|
+
# To enable this for all files, use "+always_use_option_explicit"
|
109
|
+
-always_use_option_explicit
|
110
|
+
|
111
|
+
# Define certain identifiers of which the lint is not aware.
|
112
|
+
# (Use this in conjunction with the "undeclared identifier" warning.)
|
113
|
+
#
|
114
|
+
# Common uses for webpages might be:
|
115
|
+
#+define window
|
116
|
+
#+define document
|
117
|
+
+define require
|
118
|
+
+define exports
|
119
|
+
+define console
|
120
|
+
+define Buffer
|
121
|
+
+define JSON
|
122
|
+
|
123
|
+
### Files
|
124
|
+
# Specify which files to lint
|
125
|
+
# Use "+recurse" to enable recursion (disabled by default).
|
126
|
+
# To add a set of files, use "+process FileName", "+process Folder\Path\*.js",
|
127
|
+
# or "+process Folder\Path\*.htm".
|
128
|
+
#
|
129
|
+
#+process jsl-test.js
|
@@ -0,0 +1,839 @@
|
|
1
|
+
#!/usr/bin/env perl
|
2
|
+
#
|
3
|
+
# CDDL HEADER START
|
4
|
+
#
|
5
|
+
# The contents of this file are subject to the terms of the
|
6
|
+
# Common Development and Distribution License (the "License").
|
7
|
+
# You may not use this file except in compliance with the License.
|
8
|
+
#
|
9
|
+
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
10
|
+
# or http://www.opensolaris.org/os/licensing.
|
11
|
+
# See the License for the specific language governing permissions
|
12
|
+
# and limitations under the License.
|
13
|
+
#
|
14
|
+
# When distributing Covered Code, include this CDDL HEADER in each
|
15
|
+
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
16
|
+
# If applicable, add the following below this CDDL HEADER, with the
|
17
|
+
# fields enclosed by brackets "[]" replaced with your own identifying
|
18
|
+
# information: Portions Copyright [yyyy] [name of copyright owner]
|
19
|
+
#
|
20
|
+
# CDDL HEADER END
|
21
|
+
#
|
22
|
+
#
|
23
|
+
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
|
24
|
+
# Use is subject to license terms.
|
25
|
+
#
|
26
|
+
# Copyright 2011 Joyent, Inc. All rights reserved.
|
27
|
+
#
|
28
|
+
# jsstyle - check for some common stylistic errors.
|
29
|
+
#
|
30
|
+
# jsstyle is a sort of "lint" for Javascript coding style. This tool is
|
31
|
+
# derived from the cstyle tool, used to check for the style used in the
|
32
|
+
# Solaris kernel, sometimes known as "Bill Joy Normal Form".
|
33
|
+
#
|
34
|
+
# There's a lot this can't check for, like proper indentation of code
|
35
|
+
# blocks. There's also a lot more this could check for.
|
36
|
+
#
|
37
|
+
# A note to the non perl literate:
|
38
|
+
#
|
39
|
+
# perl regular expressions are pretty much like egrep
|
40
|
+
# regular expressions, with the following special symbols
|
41
|
+
#
|
42
|
+
# \s any space character
|
43
|
+
# \S any non-space character
|
44
|
+
# \w any "word" character [a-zA-Z0-9_]
|
45
|
+
# \W any non-word character
|
46
|
+
# \d a digit [0-9]
|
47
|
+
# \D a non-digit
|
48
|
+
# \b word boundary (between \w and \W)
|
49
|
+
# \B non-word boundary
|
50
|
+
#
|
51
|
+
|
52
|
+
require 5.0;
|
53
|
+
use IO::File;
|
54
|
+
use Getopt::Std;
|
55
|
+
use strict;
|
56
|
+
|
57
|
+
my $usage =
|
58
|
+
"usage: jsstyle [-chvC] [-o constructs] file ...
|
59
|
+
-c check continuation indentation inside functions
|
60
|
+
-h perform heuristic checks that are sometimes wrong
|
61
|
+
-v verbose
|
62
|
+
-C don't check anything in header block comments
|
63
|
+
-o constructs
|
64
|
+
allow a comma-seperated list of optional constructs:
|
65
|
+
doxygen allow doxygen-style block comments (/** /*!)
|
66
|
+
splint allow splint-style lint comments (/*@ ... @*/)
|
67
|
+
";
|
68
|
+
|
69
|
+
my %opts;
|
70
|
+
|
71
|
+
if (!getopts("cho:vC", \%opts)) {
|
72
|
+
print $usage;
|
73
|
+
exit 2;
|
74
|
+
}
|
75
|
+
|
76
|
+
my $check_continuation = $opts{'c'};
|
77
|
+
my $heuristic = $opts{'h'};
|
78
|
+
my $verbose = $opts{'v'};
|
79
|
+
my $ignore_hdr_comment = $opts{'C'};
|
80
|
+
|
81
|
+
my $doxygen_comments = 0;
|
82
|
+
my $splint_comments = 0;
|
83
|
+
|
84
|
+
if (defined($opts{'o'})) {
|
85
|
+
for my $x (split /,/, $opts{'o'}) {
|
86
|
+
if ($x eq "doxygen") {
|
87
|
+
$doxygen_comments = 1;
|
88
|
+
} elsif ($x eq "splint") {
|
89
|
+
$splint_comments = 1;
|
90
|
+
} else {
|
91
|
+
print "jsstyle: unrecognized construct \"$x\"\n";
|
92
|
+
print $usage;
|
93
|
+
exit 2;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
my ($filename, $line, $prev); # shared globals
|
99
|
+
|
100
|
+
my $fmt;
|
101
|
+
my $hdr_comment_start;
|
102
|
+
|
103
|
+
if ($verbose) {
|
104
|
+
$fmt = "%s: %d: %s\n%s\n";
|
105
|
+
} else {
|
106
|
+
$fmt = "%s: %d: %s\n";
|
107
|
+
}
|
108
|
+
|
109
|
+
if ($doxygen_comments) {
|
110
|
+
# doxygen comments look like "/*!" or "/**"; allow them.
|
111
|
+
$hdr_comment_start = qr/^\s*\/\*[\!\*]?$/;
|
112
|
+
} else {
|
113
|
+
$hdr_comment_start = qr/^\s*\/\*$/;
|
114
|
+
}
|
115
|
+
|
116
|
+
# Note, following must be in single quotes so that \s and \w work right.
|
117
|
+
my $lint_re = qr/\/\*(?:
|
118
|
+
jsl:\w+?|ARGSUSED[0-9]*|NOTREACHED|LINTLIBRARY|VARARGS[0-9]*|
|
119
|
+
CONSTCOND|CONSTANTCOND|CONSTANTCONDITION|EMPTY|
|
120
|
+
FALLTHRU|FALLTHROUGH|LINTED.*?|PRINTFLIKE[0-9]*|
|
121
|
+
PROTOLIB[0-9]*|SCANFLIKE[0-9]*|JSSTYLED.*?
|
122
|
+
)\*\//x;
|
123
|
+
|
124
|
+
my $splint_re = qr/\/\*@.*?@\*\//x;
|
125
|
+
|
126
|
+
my $err_stat = 0; # exit status
|
127
|
+
|
128
|
+
if ($#ARGV >= 0) {
|
129
|
+
foreach my $arg (@ARGV) {
|
130
|
+
my $fh = new IO::File $arg, "r";
|
131
|
+
if (!defined($fh)) {
|
132
|
+
printf "%s: cannot open\n", $arg;
|
133
|
+
} else {
|
134
|
+
&jsstyle($arg, $fh);
|
135
|
+
close $fh;
|
136
|
+
}
|
137
|
+
}
|
138
|
+
} else {
|
139
|
+
&jsstyle("<stdin>", *STDIN);
|
140
|
+
}
|
141
|
+
exit $err_stat;
|
142
|
+
|
143
|
+
my $no_errs = 0; # set for JSSTYLED-protected lines
|
144
|
+
|
145
|
+
sub err($) {
|
146
|
+
my ($error) = @_;
|
147
|
+
unless ($no_errs) {
|
148
|
+
printf $fmt, $filename, $., $error, $line;
|
149
|
+
$err_stat = 1;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
|
153
|
+
sub err_prefix($$) {
|
154
|
+
my ($prevline, $error) = @_;
|
155
|
+
my $out = $prevline."\n".$line;
|
156
|
+
unless ($no_errs) {
|
157
|
+
printf $fmt, $filename, $., $error, $out;
|
158
|
+
$err_stat = 1;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
|
162
|
+
sub err_prev($) {
|
163
|
+
my ($error) = @_;
|
164
|
+
unless ($no_errs) {
|
165
|
+
printf $fmt, $filename, $. - 1, $error, $prev;
|
166
|
+
$err_stat = 1;
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
sub jsstyle($$) {
|
171
|
+
|
172
|
+
my ($fn, $filehandle) = @_;
|
173
|
+
$filename = $fn; # share it globally
|
174
|
+
|
175
|
+
my $in_cpp = 0;
|
176
|
+
my $next_in_cpp = 0;
|
177
|
+
|
178
|
+
my $in_comment = 0;
|
179
|
+
my $in_header_comment = 0;
|
180
|
+
my $comment_done = 0;
|
181
|
+
my $in_function = 0;
|
182
|
+
my $in_function_header = 0;
|
183
|
+
my $in_declaration = 0;
|
184
|
+
my $note_level = 0;
|
185
|
+
my $nextok = 0;
|
186
|
+
my $nocheck = 0;
|
187
|
+
|
188
|
+
my $in_string = 0;
|
189
|
+
|
190
|
+
my ($okmsg, $comment_prefix);
|
191
|
+
|
192
|
+
$line = '';
|
193
|
+
$prev = '';
|
194
|
+
reset_indent();
|
195
|
+
|
196
|
+
line: while (<$filehandle>) {
|
197
|
+
s/\r?\n$//; # strip return and newline
|
198
|
+
|
199
|
+
# save the original line, then remove all text from within
|
200
|
+
# double or single quotes, we do not want to check such text.
|
201
|
+
|
202
|
+
$line = $_;
|
203
|
+
|
204
|
+
#
|
205
|
+
# C allows strings to be continued with a backslash at the end of
|
206
|
+
# the line. We translate that into a quoted string on the previous
|
207
|
+
# line followed by an initial quote on the next line.
|
208
|
+
#
|
209
|
+
# (we assume that no-one will use backslash-continuation with character
|
210
|
+
# constants)
|
211
|
+
#
|
212
|
+
$_ = '"' . $_ if ($in_string && !$nocheck && !$in_comment);
|
213
|
+
|
214
|
+
#
|
215
|
+
# normal strings and characters
|
216
|
+
#
|
217
|
+
s/'([^\\']|\\.)*'/\'\'/g;
|
218
|
+
s/"([^\\"]|\\.)*"/\"\"/g;
|
219
|
+
|
220
|
+
#
|
221
|
+
# detect string continuation
|
222
|
+
#
|
223
|
+
if ($nocheck || $in_comment) {
|
224
|
+
$in_string = 0;
|
225
|
+
} else {
|
226
|
+
#
|
227
|
+
# Now that all full strings are replaced with "", we check
|
228
|
+
# for unfinished strings continuing onto the next line.
|
229
|
+
#
|
230
|
+
$in_string =
|
231
|
+
(s/([^"](?:"")*)"([^\\"]|\\.)*\\$/$1""/ ||
|
232
|
+
s/^("")*"([^\\"]|\\.)*\\$/""/);
|
233
|
+
}
|
234
|
+
|
235
|
+
#
|
236
|
+
# figure out if we are in a cpp directive
|
237
|
+
#
|
238
|
+
$in_cpp = $next_in_cpp || /^\s*#/; # continued or started
|
239
|
+
$next_in_cpp = $in_cpp && /\\$/; # only if continued
|
240
|
+
|
241
|
+
# strip off trailing backslashes, which appear in long macros
|
242
|
+
s/\s*\\$//;
|
243
|
+
|
244
|
+
# an /* END JSSTYLED */ comment ends a no-check block.
|
245
|
+
if ($nocheck) {
|
246
|
+
if (/\/\* *END *JSSTYLED *\*\//) {
|
247
|
+
$nocheck = 0;
|
248
|
+
} else {
|
249
|
+
reset_indent();
|
250
|
+
next line;
|
251
|
+
}
|
252
|
+
}
|
253
|
+
|
254
|
+
# a /*JSSTYLED*/ comment indicates that the next line is ok.
|
255
|
+
if ($nextok) {
|
256
|
+
if ($okmsg) {
|
257
|
+
err($okmsg);
|
258
|
+
}
|
259
|
+
$nextok = 0;
|
260
|
+
$okmsg = 0;
|
261
|
+
if (/\/\* *JSSTYLED.*\*\//) {
|
262
|
+
/^.*\/\* *JSSTYLED *(.*) *\*\/.*$/;
|
263
|
+
$okmsg = $1;
|
264
|
+
$nextok = 1;
|
265
|
+
}
|
266
|
+
$no_errs = 1;
|
267
|
+
} elsif ($no_errs) {
|
268
|
+
$no_errs = 0;
|
269
|
+
}
|
270
|
+
|
271
|
+
# check length of line.
|
272
|
+
# first, a quick check to see if there is any chance of being too long.
|
273
|
+
if (($line =~ tr/\t/\t/) * 7 + length($line) > 80) {
|
274
|
+
# yes, there is a chance.
|
275
|
+
# replace tabs with spaces and check again.
|
276
|
+
my $eline = $line;
|
277
|
+
1 while $eline =~
|
278
|
+
s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e;
|
279
|
+
if (length($eline) > 80) {
|
280
|
+
err("line > 80 characters");
|
281
|
+
}
|
282
|
+
}
|
283
|
+
|
284
|
+
# ignore NOTE(...) annotations (assumes NOTE is on lines by itself).
|
285
|
+
if ($note_level || /\b_?NOTE\s*\(/) { # if in NOTE or this is NOTE
|
286
|
+
s/[^()]//g; # eliminate all non-parens
|
287
|
+
$note_level += s/\(//g - length; # update paren nest level
|
288
|
+
next;
|
289
|
+
}
|
290
|
+
|
291
|
+
# a /* BEGIN JSSTYLED */ comment starts a no-check block.
|
292
|
+
if (/\/\* *BEGIN *JSSTYLED *\*\//) {
|
293
|
+
$nocheck = 1;
|
294
|
+
}
|
295
|
+
|
296
|
+
# a /*JSSTYLED*/ comment indicates that the next line is ok.
|
297
|
+
if (/\/\* *JSSTYLED.*\*\//) {
|
298
|
+
/^.*\/\* *JSSTYLED *(.*) *\*\/.*$/;
|
299
|
+
$okmsg = $1;
|
300
|
+
$nextok = 1;
|
301
|
+
}
|
302
|
+
if (/\/\/ *JSSTYLED/) {
|
303
|
+
/^.*\/\/ *JSSTYLED *(.*)$/;
|
304
|
+
$okmsg = $1;
|
305
|
+
$nextok = 1;
|
306
|
+
}
|
307
|
+
|
308
|
+
# universal checks; apply to everything
|
309
|
+
if (/\t +\t/) {
|
310
|
+
err("spaces between tabs");
|
311
|
+
}
|
312
|
+
if (/ \t+ /) {
|
313
|
+
err("tabs between spaces");
|
314
|
+
}
|
315
|
+
if (/\s$/) {
|
316
|
+
err("space or tab at end of line");
|
317
|
+
}
|
318
|
+
if (/[^ \t(]\/\*/ && !/\w\(\/\*.*\*\/\);/) {
|
319
|
+
err("comment preceded by non-blank");
|
320
|
+
}
|
321
|
+
|
322
|
+
# is this the beginning or ending of a function?
|
323
|
+
# (not if "struct foo\n{\n")
|
324
|
+
if (/^{$/ && $prev =~ /\)\s*(const\s*)?(\/\*.*\*\/\s*)?\\?$/) {
|
325
|
+
$in_function = 1;
|
326
|
+
$in_declaration = 1;
|
327
|
+
$in_function_header = 0;
|
328
|
+
$prev = $line;
|
329
|
+
next line;
|
330
|
+
}
|
331
|
+
if (/^}\s*(\/\*.*\*\/\s*)*$/) {
|
332
|
+
if ($prev =~ /^\s*return\s*;/) {
|
333
|
+
err_prev("unneeded return at end of function");
|
334
|
+
}
|
335
|
+
$in_function = 0;
|
336
|
+
reset_indent(); # we don't check between functions
|
337
|
+
$prev = $line;
|
338
|
+
next line;
|
339
|
+
}
|
340
|
+
if (/^\w*\($/) {
|
341
|
+
$in_function_header = 1;
|
342
|
+
}
|
343
|
+
|
344
|
+
# a blank line terminates the declarations within a function.
|
345
|
+
# XXX - but still a problem in sub-blocks.
|
346
|
+
if ($in_declaration && /^$/) {
|
347
|
+
$in_declaration = 0;
|
348
|
+
}
|
349
|
+
|
350
|
+
if ($comment_done) {
|
351
|
+
$in_comment = 0;
|
352
|
+
$in_header_comment = 0;
|
353
|
+
$comment_done = 0;
|
354
|
+
}
|
355
|
+
# does this looks like the start of a block comment?
|
356
|
+
if (/$hdr_comment_start/) {
|
357
|
+
if (!/^\t*\/\*/) {
|
358
|
+
err("block comment not indented by tabs");
|
359
|
+
}
|
360
|
+
$in_comment = 1;
|
361
|
+
/^(\s*)\//;
|
362
|
+
$comment_prefix = $1;
|
363
|
+
if ($comment_prefix eq "") {
|
364
|
+
$in_header_comment = 1;
|
365
|
+
}
|
366
|
+
$prev = $line;
|
367
|
+
next line;
|
368
|
+
}
|
369
|
+
# are we still in the block comment?
|
370
|
+
if ($in_comment) {
|
371
|
+
if (/^$comment_prefix \*\/$/) {
|
372
|
+
$comment_done = 1;
|
373
|
+
} elsif (/\*\//) {
|
374
|
+
$comment_done = 1;
|
375
|
+
err("improper block comment close")
|
376
|
+
unless ($ignore_hdr_comment && $in_header_comment);
|
377
|
+
} elsif (!/^$comment_prefix \*[ \t]/ &&
|
378
|
+
!/^$comment_prefix \*$/) {
|
379
|
+
err("improper block comment")
|
380
|
+
unless ($ignore_hdr_comment && $in_header_comment);
|
381
|
+
}
|
382
|
+
}
|
383
|
+
|
384
|
+
if ($in_header_comment && $ignore_hdr_comment) {
|
385
|
+
$prev = $line;
|
386
|
+
next line;
|
387
|
+
}
|
388
|
+
|
389
|
+
# check for errors that might occur in comments and in code.
|
390
|
+
|
391
|
+
# allow spaces to be used to draw pictures in header comments.
|
392
|
+
#if (/[^ ] / && !/".* .*"/ && !$in_header_comment) {
|
393
|
+
# err("spaces instead of tabs");
|
394
|
+
#}
|
395
|
+
#if (/^ / && !/^ \*[ \t\/]/ && !/^ \*$/ &&
|
396
|
+
# (!/^ \w/ || $in_function != 0)) {
|
397
|
+
# err("indent by spaces instead of tabs");
|
398
|
+
#}
|
399
|
+
if (/^ {2,}/ && !/^ [^ ]/) {
|
400
|
+
err("indent by spaces instead of tabs");
|
401
|
+
}
|
402
|
+
if (/^\t+ [^ \t\*]/ || /^\t+ \S/ || /^\t+ \S/) {
|
403
|
+
err("continuation line not indented by 4 spaces");
|
404
|
+
}
|
405
|
+
|
406
|
+
if (/^\s*\/\*./ && !/^\s*\/\*.*\*\// && !/$hdr_comment_start/) {
|
407
|
+
err("improper first line of block comment");
|
408
|
+
}
|
409
|
+
|
410
|
+
if ($in_comment) { # still in comment, don't do further checks
|
411
|
+
$prev = $line;
|
412
|
+
next line;
|
413
|
+
}
|
414
|
+
|
415
|
+
if ((/[^(]\/\*\S/ || /^\/\*\S/) &&
|
416
|
+
!(/$lint_re/ || ($splint_comments && /$splint_re/))) {
|
417
|
+
err("missing blank after open comment");
|
418
|
+
}
|
419
|
+
if (/\S\*\/[^)]|\S\*\/$/ &&
|
420
|
+
!(/$lint_re/ || ($splint_comments && /$splint_re/))) {
|
421
|
+
err("missing blank before close comment");
|
422
|
+
}
|
423
|
+
if (/\/\/\S/) { # C++ comments
|
424
|
+
err("missing blank after start comment");
|
425
|
+
}
|
426
|
+
# check for unterminated single line comments, but allow them when
|
427
|
+
# they are used to comment out the argument list of a function
|
428
|
+
# declaration.
|
429
|
+
if (/\S.*\/\*/ && !/\S.*\/\*.*\*\// && !/\(\/\*/) {
|
430
|
+
err("unterminated single line comment");
|
431
|
+
}
|
432
|
+
|
433
|
+
if (/^(#else|#endif|#include)(.*)$/) {
|
434
|
+
$prev = $line;
|
435
|
+
next line;
|
436
|
+
}
|
437
|
+
|
438
|
+
#
|
439
|
+
# delete any comments and check everything else. Note that
|
440
|
+
# ".*?" is a non-greedy match, so that we don't get confused by
|
441
|
+
# multiple comments on the same line.
|
442
|
+
#
|
443
|
+
s/\/\*.*?\*\///g;
|
444
|
+
s/\/\/.*$//; # C++ comments
|
445
|
+
|
446
|
+
# delete any trailing whitespace; we have already checked for that.
|
447
|
+
s/\s*$//;
|
448
|
+
|
449
|
+
# following checks do not apply to text in comments.
|
450
|
+
if (/"/) {
|
451
|
+
err("literal string using double-quote instead of single");
|
452
|
+
}
|
453
|
+
|
454
|
+
if (/[^=!<>\s][!<>=]=/ || /[^<>!=][!<>=]==?[^\s,=]/ ||
|
455
|
+
(/[^->]>[^,=>\s]/ && !/[^->]>$/) ||
|
456
|
+
(/[^<]<[^,=<\s]/ && !/[^<]<$/) ||
|
457
|
+
/[^<\s]<[^<]/ || /[^->\s]>[^>]/) {
|
458
|
+
err("missing space around relational operator");
|
459
|
+
}
|
460
|
+
if (/\S>>=/ || /\S<<=/ || />>=\S/ || /<<=\S/ || /\S[-+*\/&|^%]=/ ||
|
461
|
+
(/[^-+*\/&|^%!<>=\s]=[^=]/ && !/[^-+*\/&|^%!<>=\s]=$/) ||
|
462
|
+
(/[^!<>=]=[^=\s]/ && !/[^!<>=]=$/)) {
|
463
|
+
# XXX - should only check this for C++ code
|
464
|
+
# XXX - there are probably other forms that should be allowed
|
465
|
+
if (!/\soperator=/) {
|
466
|
+
err("missing space around assignment operator");
|
467
|
+
}
|
468
|
+
}
|
469
|
+
if (/[,;]\S/ && !/\bfor \(;;\)/) {
|
470
|
+
err("comma or semicolon followed by non-blank");
|
471
|
+
}
|
472
|
+
# allow "for" statements to have empty "while" clauses
|
473
|
+
if (/\s[,;]/ && !/^[\t]+;$/ && !/^\s*for \([^;]*; ;[^;]*\)/) {
|
474
|
+
err("comma or semicolon preceded by blank");
|
475
|
+
}
|
476
|
+
if (/^\s*(&&|\|\|)/) {
|
477
|
+
err("improper boolean continuation");
|
478
|
+
}
|
479
|
+
if (/\S *(&&|\|\|)/ || /(&&|\|\|) *\S/) {
|
480
|
+
err("more than one space around boolean operator");
|
481
|
+
}
|
482
|
+
if (/\b(delete|typeof|instanceOf|throw|with|catch|new|function|in|for|if|while|switch|return|case)\(/) {
|
483
|
+
err("missing space between keyword and paren");
|
484
|
+
}
|
485
|
+
if (/(\b(catch|for|if|with|while|switch|return)\b.*){2,}/) {
|
486
|
+
# multiple "case" and "sizeof" allowed
|
487
|
+
err("more than one keyword on line");
|
488
|
+
}
|
489
|
+
if (/\b(delete|typeof|instanceOf|with|throw|catch|new|function|in|for|if|while|switch|return|case)\s\s+\(/ &&
|
490
|
+
!/^#if\s+\(/) {
|
491
|
+
err("extra space between keyword and paren");
|
492
|
+
}
|
493
|
+
# try to detect "func (x)" but not "if (x)" or
|
494
|
+
# "#define foo (x)" or "int (*func)();"
|
495
|
+
if (/\w\s\(/) {
|
496
|
+
my $s = $_;
|
497
|
+
# strip off all keywords on the line
|
498
|
+
s/\b(delete|typeof|instanceOf|throw|with|catch|new|function|in|for|if|while|switch|return|case)\s\(/XXX(/g;
|
499
|
+
s/#elif\s\(/XXX(/g;
|
500
|
+
s/^#define\s+\w+\s+\(/XXX(/;
|
501
|
+
# do not match things like "void (*f)();"
|
502
|
+
# or "typedef void (func_t)();"
|
503
|
+
s/\w\s\(+\*/XXX(*/g;
|
504
|
+
s/\b(void)\s+\(+/XXX(/og;
|
505
|
+
if (/\w\s\(/) {
|
506
|
+
err("extra space between function name and left paren");
|
507
|
+
}
|
508
|
+
$_ = $s;
|
509
|
+
}
|
510
|
+
|
511
|
+
if (/^\s*return\W[^;]*;/ && !/^\s*return\s*\(.*\);/) {
|
512
|
+
err("unparenthesized return expression");
|
513
|
+
}
|
514
|
+
if (/\btypeof\b/ && !/\btypeof\s*\(.*\)/) {
|
515
|
+
err("unparenthesized typeof expression");
|
516
|
+
}
|
517
|
+
if (/\(\s/) {
|
518
|
+
err("whitespace after left paren");
|
519
|
+
}
|
520
|
+
# allow "for" statements to have empty "continue" clauses
|
521
|
+
if (/\s\)/ && !/^\s*for \([^;]*;[^;]*; \)/) {
|
522
|
+
err("whitespace before right paren");
|
523
|
+
}
|
524
|
+
if (/^\s*\(void\)[^ ]/) {
|
525
|
+
err("missing space after (void) cast");
|
526
|
+
}
|
527
|
+
if (/\S{/ && !/({|\(){/) {
|
528
|
+
err("missing space before left brace");
|
529
|
+
}
|
530
|
+
if ($in_function && /^\s+{/ &&
|
531
|
+
($prev =~ /\)\s*$/ || $prev =~ /\bstruct\s+\w+$/)) {
|
532
|
+
err("left brace starting a line");
|
533
|
+
}
|
534
|
+
if (/}(else|while)/) {
|
535
|
+
err("missing space after right brace");
|
536
|
+
}
|
537
|
+
if (/}\s\s+(else|while)/) {
|
538
|
+
err("extra space after right brace");
|
539
|
+
}
|
540
|
+
if (/^\s+#/) {
|
541
|
+
err("preprocessor statement not in column 1");
|
542
|
+
}
|
543
|
+
if (/^#\s/) {
|
544
|
+
err("blank after preprocessor #");
|
545
|
+
}
|
546
|
+
|
547
|
+
#
|
548
|
+
# We completely ignore, for purposes of indentation:
|
549
|
+
# * lines outside of functions
|
550
|
+
# * preprocessor lines
|
551
|
+
#
|
552
|
+
if ($check_continuation && $in_function && !$in_cpp) {
|
553
|
+
process_indent($_);
|
554
|
+
}
|
555
|
+
|
556
|
+
if ($heuristic) {
|
557
|
+
# cannot check this everywhere due to "struct {\n...\n} foo;"
|
558
|
+
if ($in_function && !$in_declaration &&
|
559
|
+
/}./ && !/}\s+=/ && !/{.*}[;,]$/ && !/}(\s|)*$/ &&
|
560
|
+
!/} (else|while)/ && !/}}/) {
|
561
|
+
err("possible bad text following right brace");
|
562
|
+
}
|
563
|
+
# cannot check this because sub-blocks in
|
564
|
+
# the middle of code are ok
|
565
|
+
if ($in_function && /^\s+{/) {
|
566
|
+
err("possible left brace starting a line");
|
567
|
+
}
|
568
|
+
}
|
569
|
+
if (/^\s*else\W/) {
|
570
|
+
if ($prev =~ /^\s*}$/) {
|
571
|
+
err_prefix($prev,
|
572
|
+
"else and right brace should be on same line");
|
573
|
+
}
|
574
|
+
}
|
575
|
+
$prev = $line;
|
576
|
+
}
|
577
|
+
|
578
|
+
if ($prev eq "") {
|
579
|
+
err("last line in file is blank");
|
580
|
+
}
|
581
|
+
|
582
|
+
}
|
583
|
+
|
584
|
+
#
|
585
|
+
# Continuation-line checking
|
586
|
+
#
|
587
|
+
# The rest of this file contains the code for the continuation checking
|
588
|
+
# engine. It's a pretty simple state machine which tracks the expression
|
589
|
+
# depth (unmatched '('s and '['s).
|
590
|
+
#
|
591
|
+
# Keep in mind that the argument to process_indent() has already been heavily
|
592
|
+
# processed; all comments have been replaced by control-A, and the contents of
|
593
|
+
# strings and character constants have been elided.
|
594
|
+
#
|
595
|
+
|
596
|
+
my $cont_in; # currently inside of a continuation
|
597
|
+
my $cont_off; # skipping an initializer or definition
|
598
|
+
my $cont_noerr; # suppress cascading errors
|
599
|
+
my $cont_start; # the line being continued
|
600
|
+
my $cont_base; # the base indentation
|
601
|
+
my $cont_first; # this is the first line of a statement
|
602
|
+
my $cont_multiseg; # this continuation has multiple segments
|
603
|
+
|
604
|
+
my $cont_special; # this is a C statement (if, for, etc.)
|
605
|
+
my $cont_macro; # this is a macro
|
606
|
+
my $cont_case; # this is a multi-line case
|
607
|
+
|
608
|
+
my @cont_paren; # the stack of unmatched ( and [s we've seen
|
609
|
+
|
610
|
+
sub
|
611
|
+
reset_indent()
|
612
|
+
{
|
613
|
+
$cont_in = 0;
|
614
|
+
$cont_off = 0;
|
615
|
+
}
|
616
|
+
|
617
|
+
sub
|
618
|
+
delabel($)
|
619
|
+
{
|
620
|
+
#
|
621
|
+
# replace labels with tabs. Note that there may be multiple
|
622
|
+
# labels on a line.
|
623
|
+
#
|
624
|
+
local $_ = $_[0];
|
625
|
+
|
626
|
+
while (/^(\t*)( *(?:(?:\w+\s*)|(?:case\b[^:]*)): *)(.*)$/) {
|
627
|
+
my ($pre_tabs, $label, $rest) = ($1, $2, $3);
|
628
|
+
$_ = $pre_tabs;
|
629
|
+
while ($label =~ s/^([^\t]*)(\t+)//) {
|
630
|
+
$_ .= "\t" x (length($2) + length($1) / 8);
|
631
|
+
}
|
632
|
+
$_ .= ("\t" x (length($label) / 8)).$rest;
|
633
|
+
}
|
634
|
+
|
635
|
+
return ($_);
|
636
|
+
}
|
637
|
+
|
638
|
+
sub
|
639
|
+
process_indent($)
|
640
|
+
{
|
641
|
+
require strict;
|
642
|
+
local $_ = $_[0]; # preserve the global $_
|
643
|
+
|
644
|
+
s///g; # No comments
|
645
|
+
s/\s+$//; # Strip trailing whitespace
|
646
|
+
|
647
|
+
return if (/^$/); # skip empty lines
|
648
|
+
|
649
|
+
# regexps used below; keywords taking (), macros, and continued cases
|
650
|
+
my $special = '(?:(?:\}\s*)?else\s+)?(?:if|for|while|switch)\b';
|
651
|
+
my $macro = '[A-Z_][A-Z_0-9]*\(';
|
652
|
+
my $case = 'case\b[^:]*$';
|
653
|
+
|
654
|
+
# skip over enumerations, array definitions, initializers, etc.
|
655
|
+
if ($cont_off <= 0 && !/^\s*$special/ &&
|
656
|
+
(/(?:(?:\b(?:enum|struct|union)\s*[^\{]*)|(?:\s+=\s*)){/ ||
|
657
|
+
(/^\s*{/ && $prev =~ /=\s*(?:\/\*.*\*\/\s*)*$/))) {
|
658
|
+
$cont_in = 0;
|
659
|
+
$cont_off = tr/{/{/ - tr/}/}/;
|
660
|
+
return;
|
661
|
+
}
|
662
|
+
if ($cont_off) {
|
663
|
+
$cont_off += tr/{/{/ - tr/}/}/;
|
664
|
+
return;
|
665
|
+
}
|
666
|
+
|
667
|
+
if (!$cont_in) {
|
668
|
+
$cont_start = $line;
|
669
|
+
|
670
|
+
if (/^\t* /) {
|
671
|
+
err("non-continuation indented 4 spaces");
|
672
|
+
$cont_noerr = 1; # stop reporting
|
673
|
+
}
|
674
|
+
$_ = delabel($_); # replace labels with tabs
|
675
|
+
|
676
|
+
# check if the statement is complete
|
677
|
+
return if (/^\s*\}?$/);
|
678
|
+
return if (/^\s*\}?\s*else\s*\{?$/);
|
679
|
+
return if (/^\s*do\s*\{?$/);
|
680
|
+
return if (/{$/);
|
681
|
+
return if (/}[,;]?$/);
|
682
|
+
|
683
|
+
# Allow macros on their own lines
|
684
|
+
return if (/^\s*[A-Z_][A-Z_0-9]*$/);
|
685
|
+
|
686
|
+
# cases we don't deal with, generally non-kosher
|
687
|
+
if (/{/) {
|
688
|
+
err("stuff after {");
|
689
|
+
return;
|
690
|
+
}
|
691
|
+
|
692
|
+
# Get the base line, and set up the state machine
|
693
|
+
/^(\t*)/;
|
694
|
+
$cont_base = $1;
|
695
|
+
$cont_in = 1;
|
696
|
+
@cont_paren = ();
|
697
|
+
$cont_first = 1;
|
698
|
+
$cont_multiseg = 0;
|
699
|
+
|
700
|
+
# certain things need special processing
|
701
|
+
$cont_special = /^\s*$special/? 1 : 0;
|
702
|
+
$cont_macro = /^\s*$macro/? 1 : 0;
|
703
|
+
$cont_case = /^\s*$case/? 1 : 0;
|
704
|
+
} else {
|
705
|
+
$cont_first = 0;
|
706
|
+
|
707
|
+
# Strings may be pulled back to an earlier (half-)tabstop
|
708
|
+
unless ($cont_noerr || /^$cont_base / ||
|
709
|
+
(/^\t*(?: )?(?:gettext\()?\"/ && !/^$cont_base\t/)) {
|
710
|
+
err_prefix($cont_start,
|
711
|
+
"continuation should be indented 4 spaces");
|
712
|
+
}
|
713
|
+
}
|
714
|
+
|
715
|
+
my $rest = $_; # keeps the remainder of the line
|
716
|
+
|
717
|
+
#
|
718
|
+
# The split matches 0 characters, so that each 'special' character
|
719
|
+
# is processed separately. Parens and brackets are pushed and
|
720
|
+
# popped off the @cont_paren stack. For normal processing, we wait
|
721
|
+
# until a ; or { terminates the statement. "special" processing
|
722
|
+
# (if/for/while/switch) is allowed to stop when the stack empties,
|
723
|
+
# as is macro processing. Case statements are terminated with a :
|
724
|
+
# and an empty paren stack.
|
725
|
+
#
|
726
|
+
foreach $_ (split /[^\(\)\[\]\{\}\;\:]*/) {
|
727
|
+
next if (length($_) == 0);
|
728
|
+
|
729
|
+
# rest contains the remainder of the line
|
730
|
+
my $rxp = "[^\Q$_\E]*\Q$_\E";
|
731
|
+
$rest =~ s/^$rxp//;
|
732
|
+
|
733
|
+
if (/\(/ || /\[/) {
|
734
|
+
push @cont_paren, $_;
|
735
|
+
} elsif (/\)/ || /\]/) {
|
736
|
+
my $cur = $_;
|
737
|
+
tr/\)\]/\(\[/;
|
738
|
+
|
739
|
+
my $old = (pop @cont_paren);
|
740
|
+
if (!defined($old)) {
|
741
|
+
err("unexpected '$cur'");
|
742
|
+
$cont_in = 0;
|
743
|
+
last;
|
744
|
+
} elsif ($old ne $_) {
|
745
|
+
err("'$cur' mismatched with '$old'");
|
746
|
+
$cont_in = 0;
|
747
|
+
last;
|
748
|
+
}
|
749
|
+
|
750
|
+
#
|
751
|
+
# If the stack is now empty, do special processing
|
752
|
+
# for if/for/while/switch and macro statements.
|
753
|
+
#
|
754
|
+
next if (@cont_paren != 0);
|
755
|
+
if ($cont_special) {
|
756
|
+
if ($rest =~ /^\s*{?$/) {
|
757
|
+
$cont_in = 0;
|
758
|
+
last;
|
759
|
+
}
|
760
|
+
if ($rest =~ /^\s*;$/) {
|
761
|
+
err("empty if/for/while body ".
|
762
|
+
"not on its own line");
|
763
|
+
$cont_in = 0;
|
764
|
+
last;
|
765
|
+
}
|
766
|
+
if (!$cont_first && $cont_multiseg == 1) {
|
767
|
+
err_prefix($cont_start,
|
768
|
+
"multiple statements continued ".
|
769
|
+
"over multiple lines");
|
770
|
+
$cont_multiseg = 2;
|
771
|
+
} elsif ($cont_multiseg == 0) {
|
772
|
+
$cont_multiseg = 1;
|
773
|
+
}
|
774
|
+
# We've finished this section, start
|
775
|
+
# processing the next.
|
776
|
+
goto section_ended;
|
777
|
+
}
|
778
|
+
if ($cont_macro) {
|
779
|
+
if ($rest =~ /^$/) {
|
780
|
+
$cont_in = 0;
|
781
|
+
last;
|
782
|
+
}
|
783
|
+
}
|
784
|
+
} elsif (/\;/) {
|
785
|
+
if ($cont_case) {
|
786
|
+
err("unexpected ;");
|
787
|
+
} elsif (!$cont_special) {
|
788
|
+
err("unexpected ;") if (@cont_paren != 0);
|
789
|
+
if (!$cont_first && $cont_multiseg == 1) {
|
790
|
+
err_prefix($cont_start,
|
791
|
+
"multiple statements continued ".
|
792
|
+
"over multiple lines");
|
793
|
+
$cont_multiseg = 2;
|
794
|
+
} elsif ($cont_multiseg == 0) {
|
795
|
+
$cont_multiseg = 1;
|
796
|
+
}
|
797
|
+
if ($rest =~ /^$/) {
|
798
|
+
$cont_in = 0;
|
799
|
+
last;
|
800
|
+
}
|
801
|
+
if ($rest =~ /^\s*special/) {
|
802
|
+
err("if/for/while/switch not started ".
|
803
|
+
"on its own line");
|
804
|
+
}
|
805
|
+
goto section_ended;
|
806
|
+
}
|
807
|
+
} elsif (/\{/) {
|
808
|
+
err("{ while in parens/brackets") if (@cont_paren != 0);
|
809
|
+
err("stuff after {") if ($rest =~ /[^\s}]/);
|
810
|
+
$cont_in = 0;
|
811
|
+
last;
|
812
|
+
} elsif (/\}/) {
|
813
|
+
err("} while in parens/brackets") if (@cont_paren != 0);
|
814
|
+
if (!$cont_special && $rest !~ /^\s*(while|else)\b/) {
|
815
|
+
if ($rest =~ /^$/) {
|
816
|
+
err("unexpected }");
|
817
|
+
} else {
|
818
|
+
err("stuff after }");
|
819
|
+
}
|
820
|
+
$cont_in = 0;
|
821
|
+
last;
|
822
|
+
}
|
823
|
+
} elsif (/\:/ && $cont_case && @cont_paren == 0) {
|
824
|
+
err("stuff after multi-line case") if ($rest !~ /$^/);
|
825
|
+
$cont_in = 0;
|
826
|
+
last;
|
827
|
+
}
|
828
|
+
next;
|
829
|
+
section_ended:
|
830
|
+
# End of a statement or if/while/for loop. Reset
|
831
|
+
# cont_special and cont_macro based on the rest of the
|
832
|
+
# line.
|
833
|
+
$cont_special = ($rest =~ /^\s*$special/)? 1 : 0;
|
834
|
+
$cont_macro = ($rest =~ /^\s*$macro/)? 1 : 0;
|
835
|
+
$cont_case = 0;
|
836
|
+
next;
|
837
|
+
}
|
838
|
+
$cont_noerr = 0 if (!$cont_in);
|
839
|
+
}
|