├── .control ├── .gitignore ├── .nodemonignore ├── .profile ├── .slugignore ├── LICENSE ├── Procfile ├── README.md ├── bin ├── compile ├── compile-wrapper ├── download_manifest ├── fetch ├── procfile ├── profiled ├── stow └── web ├── data ├── .profile ├── buildpack-custom │ └── bin │ │ ├── compile │ │ └── detect └── ssl.pem ├── lib ├── builder.coffee ├── download_manifest.coffee ├── logger.coffee ├── manifest.coffee ├── on.coffee ├── s3.coffee ├── spawner.coffee └── storage.coffee ├── node_modules ├── .bin │ ├── cake │ ├── coffee │ ├── express │ ├── nodemon │ └── stylus ├── async │ ├── .gitmodules │ ├── .npmignore │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── lib │ │ └── async.js │ └── package.json ├── coffee-script │ ├── .npmignore │ ├── LICENSE │ ├── README │ ├── Rakefile │ ├── bin │ │ ├── cake │ │ └── coffee │ ├── extras │ │ └── jsl.conf │ ├── lib │ │ └── coffee-script │ │ │ ├── browser.js │ │ │ ├── cake.js │ │ │ ├── coffee-script.js │ │ │ ├── command.js │ │ │ ├── grammar.js │ │ │ ├── helpers.js │ │ │ ├── index.js │ │ │ ├── lexer.js │ │ │ ├── nodes.js │ │ │ ├── optparse.js │ │ │ ├── parser.js │ │ │ ├── repl.js │ │ │ ├── rewriter.js │ │ │ └── scope.js │ └── package.json ├── commander │ ├── .npmignore │ ├── .travis.yml │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── index.js │ ├── lib │ │ └── commander.js │ └── package.json ├── express │ ├── .npmignore │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── Readme.md │ ├── bin │ │ └── express │ ├── index.js │ ├── lib-cov │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── collection.js │ │ │ ├── index.js │ │ │ ├── methods.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ ├── lib │ │ ├── express.js │ │ ├── http.js │ │ ├── https.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── collection.js │ │ │ ├── index.js │ │ │ ├── methods.js │ │ │ └── route.js │ │ ├── utils.js │ │ ├── view.js │ │ └── view │ │ │ ├── partial.js │ │ │ └── view.js │ ├── node_modules │ │ ├── connect │ │ │ ├── .npmignore │ │ │ ├── LICENSE │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── cache.js │ │ │ │ ├── connect.js │ │ │ │ ├── http.js │ │ │ │ ├── https.js │ │ │ │ ├── index.js │ │ │ │ ├── middleware │ │ │ │ │ ├── basicAuth.js │ │ │ │ │ ├── bodyParser.js │ │ │ │ │ ├── compiler.js │ │ │ │ │ ├── cookieParser.js │ │ │ │ │ ├── csrf.js │ │ │ │ │ ├── directory.js │ │ │ │ │ ├── errorHandler.js │ │ │ │ │ ├── favicon.js │ │ │ │ │ ├── limit.js │ │ │ │ │ ├── logger.js │ │ │ │ │ ├── methodOverride.js │ │ │ │ │ ├── profiler.js │ │ │ │ │ ├── query.js │ │ │ │ │ ├── responseTime.js │ │ │ │ │ ├── router.js │ │ │ │ │ ├── session.js │ │ │ │ │ ├── session │ │ │ │ │ │ ├── cookie.js │ │ │ │ │ │ ├── memory.js │ │ │ │ │ │ ├── session.js │ │ │ │ │ │ └── store.js │ │ │ │ │ ├── static.js │ │ │ │ │ ├── staticCache.js │ │ │ │ │ └── vhost.js │ │ │ │ ├── patch.js │ │ │ │ ├── public │ │ │ │ │ ├── directory.html │ │ │ │ │ ├── error.html │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── icons │ │ │ │ │ │ ├── page.png │ │ │ │ │ │ ├── page_add.png │ │ │ │ │ │ ├── page_attach.png │ │ │ │ │ │ ├── page_code.png │ │ │ │ │ │ ├── page_copy.png │ │ │ │ │ │ ├── page_delete.png │ │ │ │ │ │ ├── page_edit.png │ │ │ │ │ │ ├── page_error.png │ │ │ │ │ │ ├── page_excel.png │ │ │ │ │ │ ├── page_find.png │ │ │ │ │ │ ├── page_gear.png │ │ │ │ │ │ ├── page_go.png │ │ │ │ │ │ ├── page_green.png │ │ │ │ │ │ ├── page_key.png │ │ │ │ │ │ ├── page_lightning.png │ │ │ │ │ │ ├── page_link.png │ │ │ │ │ │ ├── page_paintbrush.png │ │ │ │ │ │ ├── page_paste.png │ │ │ │ │ │ ├── page_red.png │ │ │ │ │ │ ├── page_refresh.png │ │ │ │ │ │ ├── page_save.png │ │ │ │ │ │ ├── page_white.png │ │ │ │ │ │ ├── page_white_acrobat.png │ │ │ │ │ │ ├── page_white_actionscript.png │ │ │ │ │ │ ├── page_white_add.png │ │ │ │ │ │ ├── page_white_c.png │ │ │ │ │ │ ├── page_white_camera.png │ │ │ │ │ │ ├── page_white_cd.png │ │ │ │ │ │ ├── page_white_code.png │ │ │ │ │ │ ├── page_white_code_red.png │ │ │ │ │ │ ├── page_white_coldfusion.png │ │ │ │ │ │ ├── page_white_compressed.png │ │ │ │ │ │ ├── page_white_copy.png │ │ │ │ │ │ ├── page_white_cplusplus.png │ │ │ │ │ │ ├── page_white_csharp.png │ │ │ │ │ │ ├── page_white_cup.png │ │ │ │ │ │ ├── page_white_database.png │ │ │ │ │ │ ├── page_white_delete.png │ │ │ │ │ │ ├── page_white_dvd.png │ │ │ │ │ │ ├── page_white_edit.png │ │ │ │ │ │ ├── page_white_error.png │ │ │ │ │ │ ├── page_white_excel.png │ │ │ │ │ │ ├── page_white_find.png │ │ │ │ │ │ ├── page_white_flash.png │ │ │ │ │ │ ├── page_white_freehand.png │ │ │ │ │ │ ├── page_white_gear.png │ │ │ │ │ │ ├── page_white_get.png │ │ │ │ │ │ ├── page_white_go.png │ │ │ │ │ │ ├── page_white_h.png │ │ │ │ │ │ ├── page_white_horizontal.png │ │ │ │ │ │ ├── page_white_key.png │ │ │ │ │ │ ├── page_white_lightning.png │ │ │ │ │ │ ├── page_white_link.png │ │ │ │ │ │ ├── page_white_magnify.png │ │ │ │ │ │ ├── page_white_medal.png │ │ │ │ │ │ ├── page_white_office.png │ │ │ │ │ │ ├── page_white_paint.png │ │ │ │ │ │ ├── page_white_paintbrush.png │ │ │ │ │ │ ├── page_white_paste.png │ │ │ │ │ │ ├── page_white_php.png │ │ │ │ │ │ ├── page_white_picture.png │ │ │ │ │ │ ├── page_white_powerpoint.png │ │ │ │ │ │ ├── page_white_put.png │ │ │ │ │ │ ├── page_white_ruby.png │ │ │ │ │ │ ├── page_white_stack.png │ │ │ │ │ │ ├── page_white_star.png │ │ │ │ │ │ ├── page_white_swoosh.png │ │ │ │ │ │ ├── page_white_text.png │ │ │ │ │ │ ├── page_white_text_width.png │ │ │ │ │ │ ├── page_white_tux.png │ │ │ │ │ │ ├── page_white_vector.png │ │ │ │ │ │ ├── page_white_visualstudio.png │ │ │ │ │ │ ├── page_white_width.png │ │ │ │ │ │ ├── page_white_word.png │ │ │ │ │ │ ├── page_white_world.png │ │ │ │ │ │ ├── page_white_wrench.png │ │ │ │ │ │ ├── page_white_zip.png │ │ │ │ │ │ ├── page_word.png │ │ │ │ │ │ └── page_world.png │ │ │ │ │ └── style.css │ │ │ │ └── utils.js │ │ │ ├── node_modules │ │ │ │ └── formidable │ │ │ │ │ ├── ..travis.yml.un~ │ │ │ │ │ ├── .Readme.md.un~ │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .package.json.un~ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── TODO │ │ │ │ │ ├── benchmark │ │ │ │ │ └── bench-multipart-parser.js │ │ │ │ │ ├── example │ │ │ │ │ ├── post.js │ │ │ │ │ └── upload.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ ├── .incoming_form.js.un~ │ │ │ │ │ ├── file.js │ │ │ │ │ ├── incoming_form.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── multipart_parser.js │ │ │ │ │ ├── querystring_parser.js │ │ │ │ │ └── util.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── test │ │ │ │ │ ├── .common.js.un~ │ │ │ │ │ ├── .run.js.un~ │ │ │ │ │ ├── common.js │ │ │ │ │ ├── fixture │ │ │ │ │ │ ├── file │ │ │ │ │ │ │ ├── funkyfilename.txt │ │ │ │ │ │ │ └── plain.txt │ │ │ │ │ │ ├── http │ │ │ │ │ │ │ ├── no-filename │ │ │ │ │ │ │ │ └── .generic.http.un~ │ │ │ │ │ │ │ └── special-chars-in-filename │ │ │ │ │ │ │ │ └── info.md │ │ │ │ │ │ ├── js │ │ │ │ │ │ │ ├── .no-filename.js.un~ │ │ │ │ │ │ │ ├── .special-chars-in-filename.js.un~ │ │ │ │ │ │ │ ├── no-filename.js │ │ │ │ │ │ │ └── special-chars-in-filename.js │ │ │ │ │ │ └── multipart.js │ │ │ │ │ ├── integration │ │ │ │ │ │ ├── .test-fixtures.js.un~ │ │ │ │ │ │ └── test-fixtures.js │ │ │ │ │ ├── legacy │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ ├── integration │ │ │ │ │ │ │ └── test-multipart-parser.js │ │ │ │ │ │ ├── simple │ │ │ │ │ │ │ ├── .test-incoming-form.js.un~ │ │ │ │ │ │ │ ├── test-file.js │ │ │ │ │ │ │ ├── test-incoming-form.js │ │ │ │ │ │ │ ├── test-multipart-parser.js │ │ │ │ │ │ │ └── test-querystring-parser.js │ │ │ │ │ │ └── system │ │ │ │ │ │ │ ├── .test-multi-video-upload.js.un~ │ │ │ │ │ │ │ └── test-multi-video-upload.js │ │ │ │ │ ├── run.js │ │ │ │ │ ├── system │ │ │ │ │ │ └── .test-mail-fixture.js.un~ │ │ │ │ │ ├── tmp │ │ │ │ │ │ └── .empty │ │ │ │ │ └── unit │ │ │ │ │ │ ├── .test-incoming-form.js.un~ │ │ │ │ │ │ └── test-incoming-form.js │ │ │ │ │ └── tool │ │ │ │ │ └── record.js │ │ │ └── package.json │ │ ├── mime │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── mime.js │ │ │ ├── package.json │ │ │ ├── test.js │ │ │ └── types │ │ │ │ ├── mime.types │ │ │ │ └── node.types │ │ ├── mkdirp │ │ │ ├── .gitignore.orig │ │ │ ├── .gitignore.rej │ │ │ ├── .npmignore │ │ │ ├── LICENSE │ │ │ ├── README.markdown │ │ │ ├── examples │ │ │ │ ├── pow.js │ │ │ │ ├── pow.js.orig │ │ │ │ └── pow.js.rej │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── chmod.js │ │ │ │ ├── clobber.js │ │ │ │ ├── mkdirp.js │ │ │ │ ├── perm.js │ │ │ │ ├── perm_sync.js │ │ │ │ ├── race.js │ │ │ │ ├── rel.js │ │ │ │ ├── sync.js │ │ │ │ ├── umask.js │ │ │ │ └── umask_sync.js │ │ └── qs │ │ │ ├── .gitmodules │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── benchmark.js │ │ │ ├── examples.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ └── querystring.js │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── mocha.opts │ │ │ ├── parse.js │ │ │ └── stringify.js │ ├── package.json │ └── test.js ├── knox │ ├── .gitmodules │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── index.html │ ├── index.js │ ├── lib │ │ └── knox │ │ │ ├── auth.js │ │ │ ├── client.js │ │ │ ├── index.js │ │ │ ├── mime │ │ │ ├── README.md │ │ │ ├── mime.js │ │ │ └── package.json │ │ │ └── utils.js │ ├── package.json │ ├── support │ │ └── expresso │ │ │ ├── .gitmodules │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── bin │ │ │ └── expresso │ │ │ ├── docs │ │ │ ├── api.html │ │ │ ├── index.html │ │ │ ├── index.md │ │ │ └── layout │ │ │ │ ├── foot.html │ │ │ │ └── head.html │ │ │ ├── lib │ │ │ ├── bar.js │ │ │ └── foo.js │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── assert.test.js │ │ │ ├── async.test.js │ │ │ ├── bar.test.js │ │ │ ├── foo.test.js │ │ │ ├── http.test.js │ │ │ └── serial │ │ │ ├── async.test.js │ │ │ └── http.test.js │ └── test │ │ ├── auth.test.js │ │ ├── fixtures │ │ └── user.json │ │ ├── knox.test.js │ │ └── utils.test.js ├── mkdirp │ ├── .gitignore.orig │ ├── .gitignore.rej │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.markdown │ ├── examples │ │ ├── pow.js │ │ ├── pow.js.orig │ │ └── pow.js.rej │ ├── index.js │ ├── package.json │ └── test │ │ ├── chmod.js │ │ ├── clobber.js │ │ ├── mkdirp.js │ │ ├── perm.js │ │ ├── perm_sync.js │ │ ├── race.js │ │ ├── rel.js │ │ ├── return.js │ │ ├── return_sync.js │ │ ├── sync.js │ │ ├── umask.js │ │ └── umask_sync.js ├── node-uuid │ ├── .npmignore │ ├── LICENSE.md │ ├── README.md │ ├── benchmark │ │ ├── README.md │ │ ├── bench.gnu │ │ ├── bench.sh │ │ ├── benchmark-native.c │ │ └── benchmark.js │ ├── package.json │ ├── test │ │ ├── compare_v1.js │ │ ├── test.html │ │ └── test.js │ └── uuid.js ├── nodemon │ ├── README.md │ ├── nodemon.js │ ├── nodemonignore.example │ └── package.json ├── restler │ ├── .npmignore │ ├── MIT-LICENSE │ ├── README.md │ ├── bin │ │ └── restler │ ├── index.js │ ├── lib │ │ ├── multipartform.js │ │ └── restler.js │ ├── package.json │ └── test │ │ ├── all.js │ │ └── restler.js ├── stylus │ ├── LICENSE │ ├── bin │ │ └── stylus │ ├── bm.js │ ├── index.js │ ├── lib │ │ ├── colors.js │ │ ├── convert │ │ │ └── css.js │ │ ├── errors.js │ │ ├── functions │ │ │ ├── image.js │ │ │ ├── index.js │ │ │ ├── index.styl │ │ │ └── url.js │ │ ├── lexer.js │ │ ├── middleware.js │ │ ├── nodes │ │ │ ├── arguments.js │ │ │ ├── binop.js │ │ │ ├── block.js │ │ │ ├── boolean.js │ │ │ ├── call.js │ │ │ ├── charset.js │ │ │ ├── comment.js │ │ │ ├── each.js │ │ │ ├── expression.js │ │ │ ├── extend.js │ │ │ ├── fontface.js │ │ │ ├── function.js │ │ │ ├── group.js │ │ │ ├── hsla.js │ │ │ ├── ident.js │ │ │ ├── if.js │ │ │ ├── import.js │ │ │ ├── index.js │ │ │ ├── jsliteral.js │ │ │ ├── keyframes.js │ │ │ ├── literal.js │ │ │ ├── media.js │ │ │ ├── node.js │ │ │ ├── null.js │ │ │ ├── page.js │ │ │ ├── params.js │ │ │ ├── property.js │ │ │ ├── return.js │ │ │ ├── rgba.js │ │ │ ├── root.js │ │ │ ├── selector.js │ │ │ ├── string.js │ │ │ ├── ternary.js │ │ │ ├── unaryop.js │ │ │ └── unit.js │ │ ├── parser.js │ │ ├── renderer.js │ │ ├── stack │ │ │ ├── frame.js │ │ │ ├── index.js │ │ │ └── scope.js │ │ ├── stylus.js │ │ ├── token.js │ │ ├── units.js │ │ ├── utils.js │ │ └── visitor │ │ │ ├── compiler.js │ │ │ ├── evaluator.js │ │ │ ├── index.js │ │ │ └── normalizer.js │ ├── node_modules │ │ ├── cssom │ │ │ ├── .gitmodules │ │ │ ├── .npmignore │ │ │ ├── lib │ │ │ │ ├── CSSImportRule.js │ │ │ │ ├── CSSKeyframeRule.js │ │ │ │ ├── CSSKeyframesRule.js │ │ │ │ ├── CSSMediaRule.js │ │ │ │ ├── CSSRule.js │ │ │ │ ├── CSSStyleDeclaration.js │ │ │ │ ├── CSSStyleRule.js │ │ │ │ ├── CSSStyleSheet.js │ │ │ │ ├── MediaList.js │ │ │ │ ├── StyleSheet.js │ │ │ │ ├── clone.js │ │ │ │ ├── index.js │ │ │ │ └── parse.js │ │ │ └── package.json │ │ ├── debug │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── debug.component.js │ │ │ ├── debug.js │ │ │ ├── example │ │ │ │ ├── app.js │ │ │ │ ├── browser.html │ │ │ │ ├── wildcards.js │ │ │ │ └── worker.js │ │ │ ├── head.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ └── debug.js │ │ │ ├── package.json │ │ │ └── tail.js │ │ └── mkdirp │ │ │ ├── .gitignore.orig │ │ │ ├── .gitignore.rej │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.markdown │ │ │ ├── examples │ │ │ ├── pow.js │ │ │ ├── pow.js.orig │ │ │ └── pow.js.rej │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── chmod.js │ │ │ ├── clobber.js │ │ │ ├── mkdirp.js │ │ │ ├── perm.js │ │ │ ├── perm_sync.js │ │ │ ├── race.js │ │ │ ├── rel.js │ │ │ ├── return.js │ │ │ ├── return_sync.js │ │ │ ├── sync.js │ │ │ ├── umask.js │ │ │ └── umask_sync.js │ ├── package.json │ └── testing │ │ ├── index.js │ │ ├── small.styl │ │ └── test.styl └── temp │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── examples │ ├── grepcount.js │ └── pdfcreator.js │ ├── lib │ └── temp.js │ ├── package.json │ └── test │ └── temp-test.js ├── package.json ├── script ├── build ├── copy ├── deploy ├── exprd ├── push ├── release ├── s3 └── upload └── web.coffee /.control: -------------------------------------------------------------------------------- 1 | Depends: coreutils 2 | Maintainer: David Dollar 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .anvil 2 | .env 3 | log 4 | -------------------------------------------------------------------------------- /.nodemonignore: -------------------------------------------------------------------------------- 1 | .anvil 2 | .git 3 | *.swp 4 | public/* 5 | stylus/* 6 | views/* 7 | -------------------------------------------------------------------------------- /.profile: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export NODE_PATH="$HOME/lib" 4 | -------------------------------------------------------------------------------- /.slugignore: -------------------------------------------------------------------------------- 1 | .anvil 2 | .env 3 | log 4 | *.swp 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 David Dollar 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: bin/web 2 | -------------------------------------------------------------------------------- /bin/compile-wrapper: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # fail fast 4 | set -o errexit 5 | set -o pipefail 6 | 7 | echo() { 8 | /bin/echo "$1" "$2" 9 | } 10 | 11 | on_exit() { 12 | code=$? 13 | exitcode=$(mktemp -t exitcode_XXXXX) 14 | echo $code >> $exitcode 15 | curl -s -T $exitcode "$EXIT_PUT_URL" 16 | } 17 | 18 | trap on_exit EXIT 19 | 20 | stty -icanon -echo 2>/dev/null || echo -n "" 21 | 22 | compile_dir=$(bin/fetch $1) 23 | bin/compile $compile_dir 24 | bin/stow $compile_dir 25 | -------------------------------------------------------------------------------- /bin/download_manifest: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('coffee-script'); 4 | require('../lib/download_manifest').execute(process.argv); 5 | -------------------------------------------------------------------------------- /bin/procfile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require "yaml" 4 | 5 | release = YAML.load(STDIN.read) || {} 6 | procs = release["default_process_types"] || {} 7 | procfile = ARGV.first 8 | 9 | # read existing procfile 10 | if File.exists?(procfile) 11 | existing = File.read(procfile).split("\n").map do |line| 12 | if line =~ /^([A-Za-z0-9_]+):\s*(.+)$/ 13 | [$1, $2] 14 | end 15 | end.compact 16 | else 17 | existing = [] 18 | end 19 | 20 | existing_names = existing.map(&:first) 21 | 22 | procs.each do |name, command| 23 | existing << [name, command] unless existing_names.include?(name) 24 | end 25 | 26 | File.open(procfile, "w") do |file| 27 | 28 | # write procs out to file 29 | existing.each do |name, command| 30 | 31 | # skip unnecessary processes 32 | next if name == "rake" 33 | next if name == "console" 34 | 35 | file.puts "#{name}: #{command}" 36 | end 37 | 38 | end 39 | -------------------------------------------------------------------------------- /bin/profiled: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require "yaml" 4 | 5 | release = YAML.load(STDIN.read) || {} 6 | vars = release["config_vars"] || {} 7 | 8 | vars.each do |key, value| 9 | case key 10 | when "PATH" 11 | # add HOME to relative PATHs 12 | value = value.split(':').map do |part| 13 | case part[0..0] 14 | when "/" then part 15 | else "$HOME/#{part}" 16 | end 17 | end.join(":") 18 | puts %{export #{key}="#{value}"} 19 | else 20 | puts %{export #{key}=${#{key}:-#{value}}} 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /bin/web: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(dirname $0)) 4 | PATH="node_modules/.bin:$PATH" 5 | 6 | if [ "${NODE_ENV}" == "production" ]; then 7 | exec coffee web.coffee 8 | else 9 | exec nodemon -w . web.coffee 10 | fi 11 | -------------------------------------------------------------------------------- /data/.profile: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | shopt -s nullglob 4 | for profile in $HOME/.profile.d/*; do 5 | source $profile 6 | done 7 | -------------------------------------------------------------------------------- /data/buildpack-custom/bin/compile: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | root=$(dirname $(dirname $0)) 3 | cd $1 4 | $root/bin/script 5 | -------------------------------------------------------------------------------- /data/buildpack-custom/bin/detect: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Custom" 3 | -------------------------------------------------------------------------------- /lib/logger.coffee: -------------------------------------------------------------------------------- 1 | coffee = require("coffee-script") 2 | 3 | class Logger 4 | 5 | constructor: (@subject, @options={}) -> 6 | 7 | write: (subject, options={}) -> 8 | message = ("#{key}=\"#{(val || "").toString().replace('"', '\\"')}\"" for key, val of coffee.helpers.merge(subject:subject, options)) 9 | console.log message.join(" ") 10 | 11 | log: (opts={}, cb) -> 12 | options = coffee.helpers.merge(@options, opts) 13 | if cb? 14 | logger = new Logger(@subject, options) 15 | logger.start = new Date().getTime() 16 | @write @subject, coffee.helpers.merge(options, at:"start") 17 | cb(logger) 18 | else 19 | @write @subject, options 20 | 21 | finish: (opts={}) -> 22 | options = coffee.helpers.merge(@options, opts) 23 | finish = new Date().getTime() 24 | elapsed = (finish - @start) / 1000 25 | @write @subject, coffee.helpers.merge(options, at:"finish", elapsed:elapsed) 26 | 27 | module.exports = (subject, options={}, cb=null) -> 28 | new Logger(subject).log(options, cb) 29 | -------------------------------------------------------------------------------- /lib/on.coffee: -------------------------------------------------------------------------------- 1 | events = require("events") 2 | 3 | module.exports.inject = (object) -> 4 | object.emitter = events.EventEmitter() 5 | 6 | object.on = (key, handler) -> 7 | object.emitter.on key, handler 8 | 9 | object.emit = -> 10 | object.emitter.emit arguments 11 | -------------------------------------------------------------------------------- /lib/s3.coffee: -------------------------------------------------------------------------------- 1 | fs = require("fs") 2 | knox = require("knox") 3 | program = require("commander") 4 | 5 | program 6 | .version('0.0.1') 7 | .option('-a, --access ', 'aws access id, defaults to $AWS_ACCESS') 8 | .option('-s, --secret ', 'aws secret key, defaults to $AWS_SECRET') 9 | .option('-b, --bucket ', 'the bucket to use, defaults to $S3_BUCKET') 10 | 11 | program.knox = (program) -> 12 | knox.createClient 13 | key: program.access || process.env.AWS_ACCESS 14 | secret: program.secret || process.env.AWS_SECRET 15 | bucket: program.bucket || process.env.S3_BUCKET 16 | 17 | program.command("put ") 18 | .action (local, remote) -> 19 | headers = 20 | "x-amz-acl": "public-read" 21 | program.knox(program).putStream fs.createReadStream(local), remote, headers, (err) -> 22 | console.log if err then "error: #{err}" else "success" 23 | 24 | module.exports.execute = (args) -> 25 | program.parse(args) 26 | -------------------------------------------------------------------------------- /node_modules/.bin/cake: -------------------------------------------------------------------------------- 1 | ../coffee-script/bin/cake -------------------------------------------------------------------------------- /node_modules/.bin/coffee: -------------------------------------------------------------------------------- 1 | ../coffee-script/bin/coffee -------------------------------------------------------------------------------- /node_modules/.bin/express: -------------------------------------------------------------------------------- 1 | ../express/bin/express -------------------------------------------------------------------------------- /node_modules/.bin/nodemon: -------------------------------------------------------------------------------- 1 | ../nodemon/nodemon.js -------------------------------------------------------------------------------- /node_modules/.bin/stylus: -------------------------------------------------------------------------------- 1 | ../stylus/bin/stylus -------------------------------------------------------------------------------- /node_modules/async/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "deps/nodeunit"] 2 | path = deps/nodeunit 3 | url = git://github.com/caolan/nodeunit.git 4 | [submodule "deps/UglifyJS"] 5 | path = deps/UglifyJS 6 | url = https://github.com/mishoo/UglifyJS.git 7 | [submodule "deps/nodelint"] 8 | path = deps/nodelint 9 | url = https://github.com/tav/nodelint.git 10 | -------------------------------------------------------------------------------- /node_modules/async/.npmignore: -------------------------------------------------------------------------------- 1 | deps 2 | dist 3 | test 4 | nodelint.cfg -------------------------------------------------------------------------------- /node_modules/async/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Caolan McMahon 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/async/Makefile: -------------------------------------------------------------------------------- 1 | PACKAGE = asyncjs 2 | NODEJS = $(if $(shell test -f /usr/bin/nodejs && echo "true"),nodejs,node) 3 | CWD := $(shell pwd) 4 | NODEUNIT = $(CWD)/node_modules/nodeunit/bin/nodeunit 5 | UGLIFY = $(CWD)/node_modules/uglify-js/bin/uglifyjs 6 | NODELINT = $(CWD)/node_modules/nodelint/nodelint 7 | 8 | BUILDDIR = dist 9 | 10 | all: clean test build 11 | 12 | build: $(wildcard lib/*.js) 13 | mkdir -p $(BUILDDIR) 14 | $(UGLIFY) lib/async.js > $(BUILDDIR)/async.min.js 15 | 16 | test: 17 | $(NODEUNIT) test 18 | 19 | clean: 20 | rm -rf $(BUILDDIR) 21 | 22 | lint: 23 | $(NODELINT) --config nodelint.cfg lib/async.js 24 | 25 | .PHONY: test build all 26 | -------------------------------------------------------------------------------- /node_modules/async/index.js: -------------------------------------------------------------------------------- 1 | // This file is just added for convenience so this repository can be 2 | // directly checked out into a project's deps folder 3 | module.exports = require('./lib/async'); 4 | -------------------------------------------------------------------------------- /node_modules/async/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async", 3 | "description": "Higher-order functions and common patterns for asynchronous code", 4 | "main": "./index", 5 | "author": { 6 | "name": "Caolan McMahon" 7 | }, 8 | "version": "0.1.18", 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/caolan/async.git" 12 | }, 13 | "bugs": { 14 | "url": "http://github.com/caolan/async/issues" 15 | }, 16 | "licenses": [ 17 | { 18 | "type": "MIT", 19 | "url": "http://github.com/caolan/async/raw/master/LICENSE" 20 | } 21 | ], 22 | "devDependencies": { 23 | "nodeunit": ">0.0.0", 24 | "uglify-js": "1.2.x", 25 | "nodelint": ">0.0.0" 26 | }, 27 | "_npmUser": { 28 | "name": "ddollar", 29 | "email": "ddollar@gmail.com" 30 | }, 31 | "_id": "async@0.1.18", 32 | "dependencies": {}, 33 | "optionalDependencies": {}, 34 | "engines": { 35 | "node": "*" 36 | }, 37 | "_engineSupported": true, 38 | "_npmVersion": "1.1.21", 39 | "_nodeVersion": "v0.6.17", 40 | "_defaultsLoaded": true, 41 | "_from": "async@0.1.x" 42 | } 43 | -------------------------------------------------------------------------------- /node_modules/coffee-script/.npmignore: -------------------------------------------------------------------------------- 1 | *.coffee 2 | *.html 3 | .DS_Store 4 | .git* 5 | Cakefile 6 | documentation/ 7 | examples/ 8 | extras/coffee-script.js 9 | raw/ 10 | src/ 11 | test/ 12 | -------------------------------------------------------------------------------- /node_modules/coffee-script/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Jeremy Ashkenas 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/coffee-script/bin/cake: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var path = require('path'); 4 | var fs = require('fs'); 5 | var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); 6 | 7 | require(lib + '/coffee-script/cake').run(); 8 | -------------------------------------------------------------------------------- /node_modules/coffee-script/bin/coffee: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var path = require('path'); 4 | var fs = require('fs'); 5 | var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); 6 | 7 | require(lib + '/coffee-script/command').run(); 8 | -------------------------------------------------------------------------------- /node_modules/coffee-script/lib/coffee-script/index.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var key, val, _ref; 3 | 4 | _ref = require('./coffee-script'); 5 | for (key in _ref) { 6 | val = _ref[key]; 7 | exports[key] = val; 8 | } 9 | 10 | }).call(this); 11 | -------------------------------------------------------------------------------- /node_modules/coffee-script/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "coffee-script", 3 | "description": "Unfancy JavaScript", 4 | "keywords": [ 5 | "javascript", 6 | "language", 7 | "coffeescript", 8 | "compiler" 9 | ], 10 | "author": { 11 | "name": "Jeremy Ashkenas" 12 | }, 13 | "version": "1.2.0", 14 | "licenses": [ 15 | { 16 | "type": "MIT", 17 | "url": "http://github.com/jashkenas/coffee-script/raw/master/LICENSE" 18 | } 19 | ], 20 | "engines": { 21 | "node": ">=0.4.0" 22 | }, 23 | "directories": { 24 | "lib": "./lib/coffee-script" 25 | }, 26 | "main": "./lib/coffee-script/coffee-script", 27 | "bin": { 28 | "coffee": "./bin/coffee", 29 | "cake": "./bin/cake" 30 | }, 31 | "homepage": "http://coffeescript.org", 32 | "repository": { 33 | "type": "git", 34 | "url": "git://github.com/jashkenas/coffee-script.git" 35 | }, 36 | "devDependencies": { 37 | "uglify-js": ">=1.0.0", 38 | "jison": ">=0.2.0" 39 | }, 40 | "_npmUser": { 41 | "name": "ddollar", 42 | "email": "ddollar@gmail.com" 43 | }, 44 | "_id": "coffee-script@1.2.0", 45 | "dependencies": {}, 46 | "optionalDependencies": {}, 47 | "_engineSupported": true, 48 | "_npmVersion": "1.1.21", 49 | "_nodeVersion": "v0.6.17", 50 | "_defaultsLoaded": true, 51 | "_from": "coffee-script@1.2.x" 52 | } 53 | -------------------------------------------------------------------------------- /node_modules/commander/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/commander/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/commander/Makefile: -------------------------------------------------------------------------------- 1 | 2 | TESTS = $(shell find test/test.*.js) 3 | 4 | test: 5 | @./test/run $(TESTS) 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/commander/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/commander'); -------------------------------------------------------------------------------- /node_modules/commander/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "commander", 3 | "version": "0.6.0", 4 | "description": "the complete solution for node.js command-line programs", 5 | "keywords": [ 6 | "command", 7 | "option", 8 | "parser", 9 | "prompt", 10 | "stdin" 11 | ], 12 | "author": { 13 | "name": "TJ Holowaychuk", 14 | "email": "tj@vision-media.ca" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/visionmedia/commander.js.git" 19 | }, 20 | "dependencies": {}, 21 | "devDependencies": { 22 | "should": ">= 0.0.1" 23 | }, 24 | "scripts": { 25 | "test": "make test" 26 | }, 27 | "main": "index", 28 | "engines": { 29 | "node": ">= 0.4.x < 0.7.0" 30 | }, 31 | "_npmUser": { 32 | "name": "ddollar", 33 | "email": "ddollar@gmail.com" 34 | }, 35 | "_id": "commander@0.6.0", 36 | "optionalDependencies": {}, 37 | "_engineSupported": true, 38 | "_npmVersion": "1.1.21", 39 | "_nodeVersion": "v0.6.17", 40 | "_defaultsLoaded": true, 41 | "_from": "commander@0.6.x" 42 | } 43 | -------------------------------------------------------------------------------- /node_modules/express/.npmignore: -------------------------------------------------------------------------------- 1 | .git* 2 | docs/ 3 | examples/ 4 | support/ 5 | test/ 6 | testing.js 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2011 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/express/Makefile: -------------------------------------------------------------------------------- 1 | 2 | DOCS = $(shell find docs/*.md) 3 | HTMLDOCS = $(DOCS:.md=.html) 4 | TESTS = $(shell find test/*.test.js) 5 | 6 | test: 7 | @NODE_ENV=test ./node_modules/.bin/expresso $(TESTS) 8 | 9 | docs: $(HTMLDOCS) 10 | @ echo "... generating TOC" 11 | @./support/toc.js docs/guide.html 12 | 13 | %.html: %.md 14 | @echo "... $< -> $@" 15 | @markdown $< \ 16 | | cat docs/layout/head.html - docs/layout/foot.html \ 17 | > $@ 18 | 19 | site: 20 | rm -fr /tmp/docs \ 21 | && cp -fr docs /tmp/docs \ 22 | && git checkout gh-pages \ 23 | && cp -fr /tmp/docs/* . \ 24 | && echo "done" 25 | 26 | docclean: 27 | rm -f docs/*.{1,html} 28 | 29 | .PHONY: site test docs docclean -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/express'); -------------------------------------------------------------------------------- /node_modules/express/lib-cov/router/methods.js: -------------------------------------------------------------------------------- 1 | /* automatically generated by JSCoverage - do not edit */ 2 | if (typeof _$jscoverage === 'undefined') _$jscoverage = {}; 3 | if (! _$jscoverage['router/methods.js']) { 4 | _$jscoverage['router/methods.js'] = []; 5 | _$jscoverage['router/methods.js'][12] = 0; 6 | } 7 | _$jscoverage['router/methods.js'][12]++; 8 | module.exports = ["get", "post", "put", "head", "delete", "options", "trace", "copy", "lock", "mkcol", "move", "propfind", "proppatch", "unlock", "report", "mkactivity", "checkout", "merge", "m-search", "notify", "subscribe", "unsubscribe", "patch"]; 9 | _$jscoverage['router/methods.js'].source = ["","/*!"," * Express - router - methods"," * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>"," * MIT Licensed"," */","","/**"," * HTTP methods supported by node."," */","","module.exports = ["," 'get'"," , 'post'"," , 'put'"," , 'head'"," , 'delete'"," , 'options'"," , 'trace'"," , 'copy'"," , 'lock'"," , 'mkcol'"," , 'move'"," , 'propfind'"," , 'proppatch'"," , 'unlock'"," , 'report'"," , 'mkactivity'"," , 'checkout'"," , 'merge'"," , 'm-search'"," , 'notify'"," , 'subscribe'"," , 'unsubscribe'"," , 'patch'","];"]; 10 | -------------------------------------------------------------------------------- /node_modules/express/lib/https.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Express - HTTPSServer 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var connect = require('connect') 13 | , HTTPServer = require('./http') 14 | , https = require('https'); 15 | 16 | /** 17 | * Expose `HTTPSServer`. 18 | */ 19 | 20 | exports = module.exports = HTTPSServer; 21 | 22 | /** 23 | * Server proto. 24 | */ 25 | 26 | var app = HTTPSServer.prototype; 27 | 28 | /** 29 | * Initialize a new `HTTPSServer` with the 30 | * given `options`, and optional `middleware`. 31 | * 32 | * @param {Object} options 33 | * @param {Array} middleware 34 | * @api public 35 | */ 36 | 37 | function HTTPSServer(options, middleware){ 38 | connect.HTTPSServer.call(this, options, []); 39 | this.init(middleware); 40 | }; 41 | 42 | /** 43 | * Inherit from `connect.HTTPSServer`. 44 | */ 45 | 46 | app.__proto__ = connect.HTTPSServer.prototype; 47 | 48 | // mixin HTTPServer methods 49 | 50 | Object.keys(HTTPServer.prototype).forEach(function(method){ 51 | app[method] = HTTPServer.prototype[method]; 52 | }); 53 | -------------------------------------------------------------------------------- /node_modules/express/lib/router/collection.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Express - router - Collection 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Expose `Collection`. 10 | */ 11 | 12 | module.exports = Collection; 13 | 14 | /** 15 | * Initialize a new route `Collection` 16 | * with the given `router`. 17 | * 18 | * @param {Router} router 19 | * @api private 20 | */ 21 | 22 | function Collection(router) { 23 | Array.apply(this, arguments); 24 | this.router = router; 25 | } 26 | 27 | /** 28 | * Inherit from `Array.prototype`. 29 | */ 30 | 31 | Collection.prototype.__proto__ = Array.prototype; 32 | 33 | /** 34 | * Remove the routes in this collection. 35 | * 36 | * @return {Collection} of routes removed 37 | * @api public 38 | */ 39 | 40 | Collection.prototype.remove = function(){ 41 | var router = this.router 42 | , len = this.length 43 | , ret = new Collection(this.router); 44 | 45 | for (var i = 0; i < len; ++i) { 46 | if (router.remove(this[i])) { 47 | ret.push(this[i]); 48 | } 49 | } 50 | 51 | return ret; 52 | }; 53 | 54 | -------------------------------------------------------------------------------- /node_modules/express/lib/view/partial.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Express - view - Partial 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Memory cache. 10 | */ 11 | 12 | var cache = {}; 13 | 14 | /** 15 | * Resolve partial object name from the view path. 16 | * 17 | * Examples: 18 | * 19 | * "user.ejs" becomes "user" 20 | * "forum thread.ejs" becomes "forumThread" 21 | * "forum/thread/post.ejs" becomes "post" 22 | * "blog-post.ejs" becomes "blogPost" 23 | * 24 | * @return {String} 25 | * @api private 26 | */ 27 | 28 | exports.resolveObjectName = function(view){ 29 | return cache[view] || (cache[view] = view 30 | .split('/') 31 | .slice(-1)[0] 32 | .split('.')[0] 33 | .replace(/^_/, '') 34 | .replace(/[^a-zA-Z0-9 ]+/g, ' ') 35 | .split(/ +/).map(function(word, i){ 36 | return i 37 | ? word[0].toUpperCase() + word.substr(1) 38 | : word; 39 | }).join('')); 40 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/.npmignore: -------------------------------------------------------------------------------- 1 | *.markdown 2 | *.md 3 | .git* 4 | Makefile 5 | benchmarks/ 6 | docs/ 7 | examples/ 8 | install.sh 9 | support/ 10 | test/ 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/connect'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/https.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - HTTPServer 4 | * Copyright(c) 2010 Sencha Inc. 5 | * Copyright(c) 2011 TJ Holowaychuk 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Module dependencies. 11 | */ 12 | 13 | var HTTPServer = require('./http').Server 14 | , https = require('https'); 15 | 16 | /** 17 | * Initialize a new `Server` with the given 18 | *`options` and `middleware`. The HTTPS api 19 | * is identical to the [HTTP](http.html) server, 20 | * however TLS `options` must be provided before 21 | * passing in the optional middleware. 22 | * 23 | * @params {Object} options 24 | * @params {Array} middleawre 25 | * @return {Server} 26 | * @api public 27 | */ 28 | 29 | var Server = exports.Server = function HTTPSServer(options, middleware) { 30 | this.stack = []; 31 | middleware.forEach(function(fn){ 32 | this.use(fn); 33 | }, this); 34 | https.Server.call(this, options, this.handle); 35 | }; 36 | 37 | /** 38 | * Inherit from `http.Server.prototype`. 39 | */ 40 | 41 | Server.prototype.__proto__ = https.Server.prototype; 42 | 43 | // mixin HTTPServer methods 44 | 45 | Object.keys(HTTPServer.prototype).forEach(function(method){ 46 | Server.prototype[method] = HTTPServer.prototype[method]; 47 | }); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/cookieParser.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - cookieParser 4 | * Copyright(c) 2010 Sencha Inc. 5 | * Copyright(c) 2011 TJ Holowaychuk 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Module dependencies. 11 | */ 12 | 13 | var utils = require('./../utils'); 14 | 15 | /** 16 | * Parse _Cookie_ header and populate `req.cookies` 17 | * with an object keyed by the cookie names. 18 | * 19 | * Examples: 20 | * 21 | * connect.createServer( 22 | * connect.cookieParser() 23 | * , function(req, res, next){ 24 | * res.end(JSON.stringify(req.cookies)); 25 | * } 26 | * ); 27 | * 28 | * @return {Function} 29 | * @api public 30 | */ 31 | 32 | module.exports = function cookieParser(){ 33 | return function cookieParser(req, res, next) { 34 | var cookie = req.headers.cookie; 35 | if (req.cookies) return next(); 36 | req.cookies = {}; 37 | if (cookie) { 38 | try { 39 | req.cookies = utils.parseCookie(cookie); 40 | } catch (err) { 41 | return next(err); 42 | } 43 | } 44 | next(); 45 | }; 46 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/methodOverride.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - methodOverride 4 | * Copyright(c) 2010 Sencha Inc. 5 | * Copyright(c) 2011 TJ Holowaychuk 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Provides faux HTTP method support. 11 | * 12 | * Pass an optional `key` to use when checking for 13 | * a method override, othewise defaults to _\_method_. 14 | * The original method is available via `req.originalMethod`. 15 | * 16 | * @param {String} key 17 | * @return {Function} 18 | * @api public 19 | */ 20 | 21 | module.exports = function methodOverride(key){ 22 | key = key || "_method"; 23 | return function methodOverride(req, res, next) { 24 | req.originalMethod = req.originalMethod || req.method; 25 | 26 | // req.body 27 | if (req.body && key in req.body) { 28 | req.method = req.body[key].toUpperCase(); 29 | delete req.body[key]; 30 | // check X-HTTP-Method-Override 31 | } else if (req.headers['x-http-method-override']) { 32 | req.method = req.headers['x-http-method-override'].toUpperCase(); 33 | } 34 | 35 | next(); 36 | }; 37 | }; 38 | 39 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - query 4 | * Copyright(c) 2011 TJ Holowaychuk 5 | * Copyright(c) 2011 Sencha Inc. 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Module dependencies. 11 | */ 12 | 13 | var qs = require('qs') 14 | , parse = require('url').parse; 15 | 16 | /** 17 | * Automatically parse the query-string when available, 18 | * populating the `req.query` object. 19 | * 20 | * Examples: 21 | * 22 | * connect( 23 | * connect.query() 24 | * , function(req, res){ 25 | * res.end(JSON.stringify(req.query)); 26 | * } 27 | * ).listen(3000); 28 | * 29 | * @return {Function} 30 | * @api public 31 | */ 32 | 33 | module.exports = function query(){ 34 | return function query(req, res, next){ 35 | req.query = ~req.url.indexOf('?') 36 | ? qs.parse(parse(req.url).query) 37 | : {}; 38 | next(); 39 | }; 40 | }; 41 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/responseTime.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - responseTime 4 | * Copyright(c) 2011 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Adds the `X-Response-Time` header displaying the response 10 | * duration in milliseconds. 11 | * 12 | * @return {Function} 13 | * @api public 14 | */ 15 | 16 | module.exports = function responseTime(){ 17 | return function(req, res, next){ 18 | var writeHead = res.writeHead 19 | , start = new Date; 20 | 21 | if (res._responseTime) return next(); 22 | res._responseTime = true; 23 | 24 | // proxy writeHead to calculate duration 25 | res.writeHead = function(status, headers){ 26 | var duration = new Date - start; 27 | res.setHeader('X-Response-Time', duration + 'ms'); 28 | res.writeHead = writeHead; 29 | res.writeHead(status, headers); 30 | }; 31 | 32 | next(); 33 | }; 34 | }; 35 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {error} 4 | 5 | 6 | 7 |
8 |

{title}

9 |

500 {error}

10 |
    {stack}
11 |
12 | 13 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/favicon.ico -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_add.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_attach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_attach.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_code.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_copy.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_delete.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_edit.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_error.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_excel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_excel.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_find.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_gear.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_go.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_green.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_key.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_lightning.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_link.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_paintbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_paintbrush.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_paste.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_red.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_refresh.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_save.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_acrobat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_acrobat.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_actionscript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_actionscript.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_add.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_c.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_camera.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_cd.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_code.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_code_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_code_red.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_coldfusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_coldfusion.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_compressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_compressed.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_copy.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_cplusplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_cplusplus.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_csharp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_csharp.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_cup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_cup.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_database.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_delete.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_dvd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_dvd.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_edit.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_error.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_excel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_excel.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_find.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_flash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_flash.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_freehand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_freehand.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_gear.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_get.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_get.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_go.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_h.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_horizontal.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_key.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_lightning.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_link.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_magnify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_magnify.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_medal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_medal.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_office.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_office.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_paint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_paint.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_paintbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_paintbrush.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_paste.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_php.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_php.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_picture.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_powerpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_powerpoint.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_put.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_put.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_ruby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_ruby.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_stack.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_star.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_swoosh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_swoosh.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_text.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_text_width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_text_width.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_tux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_tux.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_vector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_vector.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_visualstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_visualstudio.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_width.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_word.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_word.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_world.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_wrench.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_wrench.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_white_zip.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_word.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_word.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/lib/public/icons/page_world.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/..travis.yml.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/..travis.yml.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/.Readme.md.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/.Readme.md.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/.npmignore: -------------------------------------------------------------------------------- 1 | /test/tmp/ 2 | *.upload 3 | *.un~ 4 | *.http 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/.package.json.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/.package.json.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/Makefile: -------------------------------------------------------------------------------- 1 | SHELL := /bin/bash 2 | 3 | test: 4 | @./test/run.js 5 | 6 | build: npm test 7 | 8 | npm: 9 | npm install . 10 | 11 | clean: 12 | rm test/tmp/* 13 | 14 | .PHONY: test clean build 15 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/TODO: -------------------------------------------------------------------------------- 1 | - Better bufferMaxSize handling approach 2 | - Add tests for JSON parser pull request and merge it 3 | - Implement QuerystringParser the same way as MultipartParser 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/formidable'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/lib/.incoming_form.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/lib/.incoming_form.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/lib/index.js: -------------------------------------------------------------------------------- 1 | var IncomingForm = require('./incoming_form').IncomingForm; 2 | IncomingForm.IncomingForm = IncomingForm; 3 | module.exports = IncomingForm; 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/lib/querystring_parser.js: -------------------------------------------------------------------------------- 1 | if (global.GENTLY) require = GENTLY.hijack(require); 2 | 3 | // This is a buffering parser, not quite as nice as the multipart one. 4 | // If I find time I'll rewrite this to be fully streaming as well 5 | var querystring = require('querystring'); 6 | 7 | function QuerystringParser() { 8 | this.buffer = ''; 9 | }; 10 | exports.QuerystringParser = QuerystringParser; 11 | 12 | QuerystringParser.prototype.write = function(buffer) { 13 | this.buffer += buffer.toString('ascii'); 14 | return buffer.length; 15 | }; 16 | 17 | QuerystringParser.prototype.end = function() { 18 | var fields = querystring.parse(this.buffer); 19 | for (var field in fields) { 20 | this.onField(field, fields[field]); 21 | } 22 | this.buffer = ''; 23 | 24 | this.onEnd(); 25 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/lib/util.js: -------------------------------------------------------------------------------- 1 | // Backwards compatibility ... 2 | try { 3 | module.exports = require('util'); 4 | } catch (e) { 5 | module.exports = require('sys'); 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "formidable", 3 | "version": "1.0.9", 4 | "dependencies": {}, 5 | "devDependencies": { 6 | "gently": "0.8.0", 7 | "findit": "0.1.1", 8 | "hashish": "0.0.4", 9 | "urun": "0.0.4", 10 | "utest": "0.0.3" 11 | }, 12 | "directories": { 13 | "lib": "./lib" 14 | }, 15 | "main": "./lib/index", 16 | "scripts": { 17 | "test": "make test" 18 | }, 19 | "engines": { 20 | "node": "*" 21 | }, 22 | "_npmUser": { 23 | "name": "ddollar", 24 | "email": "ddollar@gmail.com" 25 | }, 26 | "_id": "formidable@1.0.9", 27 | "optionalDependencies": {}, 28 | "_engineSupported": true, 29 | "_npmVersion": "1.1.21", 30 | "_nodeVersion": "v0.6.17", 31 | "_defaultsLoaded": true, 32 | "_from": "formidable@1.0.x" 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/.common.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/.common.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/.run.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/.run.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/common.js: -------------------------------------------------------------------------------- 1 | var mysql = require('..'); 2 | var path = require('path'); 3 | 4 | var root = path.join(__dirname, '../'); 5 | exports.dir = { 6 | root : root, 7 | lib : root + '/lib', 8 | fixture : root + '/test/fixture', 9 | tmp : root + '/test/tmp', 10 | }; 11 | 12 | exports.port = 13532; 13 | 14 | exports.formidable = require('..'); 15 | exports.assert = require('assert'); 16 | 17 | exports.require = function(lib) { 18 | return require(exports.dir.lib + '/' + lib); 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/funkyfilename.txt: -------------------------------------------------------------------------------- 1 | I am a text file with a funky name! 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/plain.txt: -------------------------------------------------------------------------------- 1 | I am a plain text file 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/.generic.http.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/.generic.http.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/info.md: -------------------------------------------------------------------------------- 1 | * Opera does not allow submitting this file, it shows a warning to the 2 | user that the file could not be found instead. Tested in 9.8, 11.51 on OSX. 3 | Reported to Opera on 08.09.2011 (tracking email DSK-346009@bugs.opera.com). 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/.no-filename.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/.no-filename.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/.special-chars-in-filename.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/.special-chars-in-filename.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/no-filename.js: -------------------------------------------------------------------------------- 1 | module.exports['generic.http'] = [ 2 | {type: 'file', name: 'upload', filename: '', fixture: 'plain.txt'}, 3 | ]; 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/special-chars-in-filename.js: -------------------------------------------------------------------------------- 1 | var properFilename = 'funkyfilename.txt'; 2 | 3 | function expect(filename) { 4 | return [ 5 | {type: 'field', name: 'title', value: 'Weird filename'}, 6 | {type: 'file', name: 'upload', filename: filename, fixture: properFilename}, 7 | ]; 8 | }; 9 | 10 | var webkit = " ? % * | \" < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"; 11 | var ffOrIe = " ? % * | \" < > . ☃ ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"; 12 | 13 | module.exports = { 14 | 'osx-chrome-13.http' : expect(webkit), 15 | 'osx-firefox-3.6.http' : expect(ffOrIe), 16 | 'osx-safari-5.http' : expect(webkit), 17 | 'xp-chrome-12.http' : expect(webkit), 18 | 'xp-ie-7.http' : expect(ffOrIe), 19 | 'xp-ie-8.http' : expect(ffOrIe), 20 | 'xp-safari-5.http' : expect(webkit), 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/integration/.test-fixtures.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/integration/.test-fixtures.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/common.js: -------------------------------------------------------------------------------- 1 | var path = require('path'), 2 | fs = require('fs'); 3 | 4 | try { 5 | global.Gently = require('gently'); 6 | } catch (e) { 7 | throw new Error('this test suite requires node-gently'); 8 | } 9 | 10 | exports.lib = path.join(__dirname, '../../lib'); 11 | 12 | global.GENTLY = new Gently(); 13 | 14 | global.assert = require('assert'); 15 | global.TEST_PORT = 13532; 16 | global.TEST_FIXTURES = path.join(__dirname, '../fixture'); 17 | global.TEST_TMP = path.join(__dirname, '../tmp'); 18 | 19 | // Stupid new feature in node that complains about gently attaching too many 20 | // listeners to process 'exit'. This is a workaround until I can think of a 21 | // better way to deal with this. 22 | if (process.setMaxListeners) { 23 | process.setMaxListeners(10000); 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/.test-incoming-form.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/.test-incoming-form.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/system/.test-multi-video-upload.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/system/.test-multi-video-upload.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require('urun')(__dirname) 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/system/.test-mail-fixture.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/system/.test-mail-fixture.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/tmp/.empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/tmp/.empty -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/unit/.test-incoming-form.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddollar/anvil/1825b00f9dc277394a800b8aa3c2feb3f4baf433/node_modules/express/node_modules/connect/node_modules/formidable/test/unit/.test-incoming-form.js.un~ -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "connect", 3 | "version": "1.8.7", 4 | "description": "High performance middleware framework", 5 | "keywords": [ 6 | "framework", 7 | "web", 8 | "middleware", 9 | "connect", 10 | "rack" 11 | ], 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/senchalabs/connect.git" 15 | }, 16 | "author": { 17 | "name": "TJ Holowaychuk", 18 | "email": "tj@vision-media.ca", 19 | "url": "http://tjholowaychuk.com" 20 | }, 21 | "dependencies": { 22 | "qs": ">= 0.4.0", 23 | "mime": ">= 0.0.1", 24 | "formidable": "1.0.x" 25 | }, 26 | "devDependencies": { 27 | "expresso": "0.9.2", 28 | "koala": "0.1.2", 29 | "less": "1.1.1", 30 | "sass": "0.5.0", 31 | "markdown": "0.2.1", 32 | "ejs": "0.4.3", 33 | "should": "0.3.2" 34 | }, 35 | "publishConfig": { 36 | "tag": "1.8" 37 | }, 38 | "main": "index", 39 | "engines": { 40 | "node": ">= 0.4.1 < 0.7.0" 41 | }, 42 | "_npmUser": { 43 | "name": "ddollar", 44 | "email": "ddollar@gmail.com" 45 | }, 46 | "_id": "connect@1.8.7", 47 | "optionalDependencies": {}, 48 | "_engineSupported": true, 49 | "_npmVersion": "1.1.21", 50 | "_nodeVersion": "v0.6.17", 51 | "_defaultsLoaded": true, 52 | "_from": "connect@1.x" 53 | } 54 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Robert Kieffer", 4 | "email": "robert@broofa.com", 5 | "url": "http://github.com/broofa" 6 | }, 7 | "contributors": [ 8 | { 9 | "name": "Benjamin Thomas", 10 | "email": "benjamin@benjaminthomas.org", 11 | "url": "http://github.com/bentomas" 12 | } 13 | ], 14 | "dependencies": {}, 15 | "description": "A comprehensive library for mime-type mapping", 16 | "devDependencies": { 17 | "async_testing": "" 18 | }, 19 | "keywords": [ 20 | "util", 21 | "mime" 22 | ], 23 | "main": "mime.js", 24 | "name": "mime", 25 | "repository": { 26 | "url": "git://github.com/bentomas/node-mime.git", 27 | "type": "git" 28 | }, 29 | "version": "1.2.4", 30 | "_npmUser": { 31 | "name": "ddollar", 32 | "email": "ddollar@gmail.com" 33 | }, 34 | "_id": "mime@1.2.4", 35 | "optionalDependencies": {}, 36 | "engines": { 37 | "node": "*" 38 | }, 39 | "_engineSupported": true, 40 | "_npmVersion": "1.1.21", 41 | "_nodeVersion": "v0.6.17", 42 | "_defaultsLoaded": true, 43 | "dist": { 44 | "shasum": "8e40dbb0a3aa1b8faf3dfd1d619fad0cc2b62036" 45 | }, 46 | "_from": "mime@1.2.4" 47 | } 48 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/.gitignore.orig: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/.gitignore.rej: -------------------------------------------------------------------------------- 1 | --- /dev/null 2 | +++ .gitignore 3 | @@ -0,0 +1,2 @@ 4 | +node_modules/ 5 | +npm-debug.log -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 James Halliday (mail@substack.net) 2 | 3 | This project is free software released under the MIT/X11 license: 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/README.markdown: -------------------------------------------------------------------------------- 1 | mkdirp 2 | ====== 3 | 4 | Like `mkdir -p`, but in node.js! 5 | 6 | example 7 | ======= 8 | 9 | pow.js 10 | ------ 11 | var mkdirp = require('mkdirp'); 12 | 13 | mkdirp('/tmp/foo/bar/baz', function (err) { 14 | if (err) console.error(err) 15 | else console.log('pow!') 16 | }); 17 | 18 | Output 19 | pow! 20 | 21 | And now /tmp/foo/bar/baz exists, huzzah! 22 | 23 | methods 24 | ======= 25 | 26 | var mkdirp = require('mkdirp'); 27 | 28 | mkdirp(dir, mode, cb) 29 | --------------------- 30 | 31 | Create a new directory and any necessary subdirectories at `dir` with octal 32 | permission string `mode`. 33 | 34 | If `mode` isn't specified, it defaults to `0777 & (~process.umask())`. 35 | 36 | mkdirp.sync(dir, mode) 37 | ---------------------- 38 | 39 | Synchronously create a new directory and any necessary subdirectories at `dir` 40 | with octal permission string `mode`. 41 | 42 | If `mode` isn't specified, it defaults to `0777 & (~process.umask())`. 43 | 44 | install 45 | ======= 46 | 47 | With [npm](http://npmjs.org) do: 48 | 49 | npm install mkdirp 50 | 51 | license 52 | ======= 53 | 54 | MIT/X11 55 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/examples/pow.js.orig: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/examples/pow.js.rej: -------------------------------------------------------------------------------- 1 | --- examples/pow.js 2 | +++ examples/pow.js 3 | @@ -1,6 +1,15 @@ 4 | -var mkdirp = require('mkdirp').mkdirp; 5 | +var mkdirp = require('../').mkdirp, 6 | + mkdirpSync = require('../').mkdirpSync; 7 | 8 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 9 | if (err) console.error(err) 10 | else console.log('pow!') 11 | }); 12 | + 13 | +try { 14 | + mkdirpSync('/tmp/bar/foo/baz', 0755); 15 | + console.log('double pow!'); 16 | +} 17 | +catch (ex) { 18 | + console.log(ex); 19 | +} -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mkdirp", 3 | "description": "Recursively mkdir, like `mkdir -p`", 4 | "version": "0.3.0", 5 | "author": { 6 | "name": "James Halliday", 7 | "email": "mail@substack.net", 8 | "url": "http://substack.net" 9 | }, 10 | "main": "./index", 11 | "keywords": [ 12 | "mkdir", 13 | "directory" 14 | ], 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/substack/node-mkdirp.git" 18 | }, 19 | "scripts": { 20 | "test": "tap test/*.js" 21 | }, 22 | "devDependencies": { 23 | "tap": "0.0.x" 24 | }, 25 | "license": "MIT/X11", 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "_npmUser": { 30 | "name": "ddollar", 31 | "email": "ddollar@gmail.com" 32 | }, 33 | "_id": "mkdirp@0.3.0", 34 | "dependencies": {}, 35 | "optionalDependencies": {}, 36 | "_engineSupported": true, 37 | "_npmVersion": "1.1.21", 38 | "_nodeVersion": "v0.6.17", 39 | "_defaultsLoaded": true, 40 | "dist": { 41 | "shasum": "547f4175cbaef0dcd9a3f54d0006d634b2ec1d90" 42 | }, 43 | "_from": "mkdirp@0.3.0" 44 | } 45 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/chmod.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | test('chmod-pre', function (t) { 16 | var mode = 0744 17 | mkdirp(file, mode, function (er) { 18 | t.ifError(er, 'should not error'); 19 | fs.stat(file, function (er, stat) { 20 | t.ifError(er, 'should exist'); 21 | t.ok(stat && stat.isDirectory(), 'should be directory'); 22 | t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); 23 | t.end(); 24 | }); 25 | }); 26 | }); 27 | 28 | test('chmod', function (t) { 29 | var mode = 0755 30 | mkdirp(file, mode, function (er) { 31 | t.ifError(er, 'should not error'); 32 | fs.stat(file, function (er, stat) { 33 | t.ifError(er, 'should exist'); 34 | t.ok(stat && stat.isDirectory(), 'should be directory'); 35 | t.end(); 36 | }); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/clobber.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | // a file in the way 16 | var itw = ps.slice(0, 3).join('/'); 17 | 18 | 19 | test('clobber-pre', function (t) { 20 | console.error("about to write to "+itw) 21 | fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); 22 | 23 | fs.stat(itw, function (er, stat) { 24 | t.ifError(er) 25 | t.ok(stat && stat.isFile(), 'should be file') 26 | t.end() 27 | }) 28 | }) 29 | 30 | test('clobber', function (t) { 31 | t.plan(2); 32 | mkdirp(file, 0755, function (err) { 33 | t.ok(err); 34 | t.equal(err.code, 'ENOTDIR'); 35 | t.end(); 36 | }); 37 | }); 38 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/mkdirp.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('woo', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, 0755, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0755); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/perm.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('async perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) t.fail(err); 12 | else path.exists(file, function (ex) { 13 | if (!ex) t.fail('file not created') 14 | else fs.stat(file, function (err, stat) { 15 | if (err) t.fail(err) 16 | else { 17 | t.equal(stat.mode & 0777, 0755); 18 | t.ok(stat.isDirectory(), 'target not a directory'); 19 | t.end(); 20 | } 21 | }) 22 | }) 23 | }); 24 | }); 25 | 26 | test('async root perm', function (t) { 27 | mkdirp('/tmp', 0755, function (err) { 28 | if (err) t.fail(err); 29 | t.end(); 30 | }); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/perm_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; 9 | 10 | mkdirp.sync(file, 0755); 11 | path.exists(file, function (ex) { 12 | if (!ex) t.fail('file not created') 13 | else fs.stat(file, function (err, stat) { 14 | if (err) t.fail(err) 15 | else { 16 | t.equal(stat.mode & 0777, 0755); 17 | t.ok(stat.isDirectory(), 'target not a directory'); 18 | t.end(); 19 | } 20 | }) 21 | }); 22 | }); 23 | 24 | test('sync root perm', function (t) { 25 | t.plan(1); 26 | 27 | var file = '/tmp'; 28 | mkdirp.sync(file, 0755); 29 | path.exists(file, function (ex) { 30 | if (!ex) t.fail('file not created') 31 | else fs.stat(file, function (err, stat) { 32 | if (err) t.fail(err) 33 | else { 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | t.end(); 36 | } 37 | }) 38 | }); 39 | }); 40 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/race.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('race', function (t) { 7 | t.plan(4); 8 | var ps = [ '', 'tmp' ]; 9 | 10 | for (var i = 0; i < 25; i++) { 11 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | ps.push(dir); 13 | } 14 | var file = ps.join('/'); 15 | 16 | var res = 2; 17 | mk(file, function () { 18 | if (--res === 0) t.end(); 19 | }); 20 | 21 | mk(file, function () { 22 | if (--res === 0) t.end(); 23 | }); 24 | 25 | function mk (file, cb) { 26 | mkdirp(file, 0755, function (err) { 27 | if (err) t.fail(err); 28 | else path.exists(file, function (ex) { 29 | if (!ex) t.fail('file not created') 30 | else fs.stat(file, function (err, stat) { 31 | if (err) t.fail(err) 32 | else { 33 | t.equal(stat.mode & 0777, 0755); 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | if (cb) cb(); 36 | } 37 | }) 38 | }) 39 | }); 40 | } 41 | }); 42 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/rel.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('rel', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var cwd = process.cwd(); 13 | process.chdir('/tmp'); 14 | 15 | var file = [x,y,z].join('/'); 16 | 17 | mkdirp(file, 0755, function (err) { 18 | if (err) t.fail(err); 19 | else path.exists(file, function (ex) { 20 | if (!ex) t.fail('file not created') 21 | else fs.stat(file, function (err, stat) { 22 | if (err) t.fail(err) 23 | else { 24 | process.chdir(cwd); 25 | t.equal(stat.mode & 0777, 0755); 26 | t.ok(stat.isDirectory(), 'target not a directory'); 27 | t.end(); 28 | } 29 | }) 30 | }) 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | var err = mkdirp.sync(file, 0755); 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0755); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/umask.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('implicit mode from umask', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0777 & (~process.umask())); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/umask_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('umask sync modes', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | var err = mkdirp.sync(file); 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, (0777 & (~process.umask()))); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "support/expresso"] 2 | path = support/expresso 3 | url = git://github.com/visionmedia/expresso.git 4 | [submodule "support/should"] 5 | path = support/should 6 | url = git://github.com/visionmedia/should.js.git 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.4 -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha 4 | 5 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/benchmark.js: -------------------------------------------------------------------------------- 1 | 2 | var qs = require('./'); 3 | 4 | var times = 100000 5 | , start = new Date 6 | , n = times; 7 | 8 | console.log('times: %d', times); 9 | 10 | while (n--) qs.parse('foo=bar'); 11 | console.log('simple: %dms', new Date - start); 12 | 13 | var start = new Date 14 | , n = times; 15 | 16 | while (n--) qs.parse('user[name][first]=tj&user[name][last]=holowaychuk'); 17 | console.log('nested: %dms', new Date - start); -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/querystring'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qs", 3 | "description": "querystring parser", 4 | "version": "0.4.2", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/visionmedia/node-querystring.git" 8 | }, 9 | "devDependencies": { 10 | "mocha": "*", 11 | "should": "*" 12 | }, 13 | "author": { 14 | "name": "TJ Holowaychuk", 15 | "email": "tj@vision-media.ca", 16 | "url": "http://tjholowaychuk.com" 17 | }, 18 | "main": "index", 19 | "engines": { 20 | "node": "*" 21 | }, 22 | "_npmUser": { 23 | "name": "ddollar", 24 | "email": "ddollar@gmail.com" 25 | }, 26 | "_id": "qs@0.4.2", 27 | "dependencies": {}, 28 | "optionalDependencies": {}, 29 | "_engineSupported": true, 30 | "_npmVersion": "1.1.21", 31 | "_nodeVersion": "v0.6.17", 32 | "_defaultsLoaded": true, 33 | "_from": "qs@0.4.x" 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --require should 2 | --ui exports 3 | -------------------------------------------------------------------------------- /node_modules/express/test.js: -------------------------------------------------------------------------------- 1 | 2 | var express = require('./') 3 | , app = express(); 4 | 5 | var user = { name: 'Tobi' }; 6 | 7 | app.param('user_id', function(req, res, next, id){ 8 | console.log(id); 9 | }); 10 | 11 | app.get('/:user_id/post/:post_id', function(req, res){ 12 | res.send(req.params.user); 13 | }); 14 | 15 | app.get('*', function(req, res, next){ 16 | console.log('GET one'); 17 | next(); 18 | }); 19 | 20 | app.use(function(req, res, next){ 21 | console.log('use'); 22 | next(); 23 | }); 24 | 25 | app.get('*', one, two, function(req, res, next){ 26 | console.log('GET two'); 27 | res.send('hey\n'); 28 | }); 29 | 30 | function one(req, res, next) { 31 | console.log('middleware one'); 32 | next(); 33 | } 34 | 35 | function two(req, res, next) { 36 | console.log('middleware two'); 37 | next(); 38 | } 39 | 40 | 41 | app.listen(4000); 42 | -------------------------------------------------------------------------------- /node_modules/knox/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "support/expresso"] 2 | path = support/expresso 3 | url = git://github.com/visionmedia/expresso.git 4 | -------------------------------------------------------------------------------- /node_modules/knox/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | test.js 3 | auth 4 | -------------------------------------------------------------------------------- /node_modules/knox/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.9 / 2011-06-20 3 | ================== 4 | 5 | * Fixed signedUrl signature, needs encodeURIComponent() not escape() to prevent SignatureDoesNotMatch errors on signatures containing plus signs. 6 | 7 | 0.0.8 / 2011-06-15 8 | ================== 9 | 10 | * Fixed bug introduced in refactor 11 | 12 | 0.0.7 / 2011-06-14 13 | ================== 14 | 15 | * Fixed resource canonicalization 16 | 17 | 0.0.6 / 2011-06-07 18 | ================== 19 | 20 | * Fixed; ignoring certain query params when preparing stringToSign. [Rajiv Navada] 21 | 22 | 0.0.4 / 2011-05-20 23 | ================== 24 | 25 | * Added `Client#https?(filename)` 26 | 27 | 0.0.3 / 2011-04-12 28 | ================== 29 | 30 | * 0.4.x support 31 | 32 | 0.0.2 / 2011-01-10 33 | ================== 34 | 35 | * Removed `util` require 36 | * Support for S3 presigned URLs 37 | 38 | 0.0.1 / 2010-12-12 39 | ================== 40 | 41 | * Initial release 42 | -------------------------------------------------------------------------------- /node_modules/knox/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./support/expresso/bin/expresso test/*.test.js \ 4 | --timeout 8000 \ 5 | --serial \ 6 | -I lib 7 | 8 | docs: index.html 9 | 10 | index.html: 11 | dox \ 12 | --title "Knox" \ 13 | --desc "Light-weight Amazon S3 client for [NodeJS](http://nodejs.org)." \ 14 | --ribbon "http://github.com/LearnBoost/knox" \ 15 | --private \ 16 | lib/knox/*.js > $@ 17 | 18 | docclean: 19 | rm -f index.html 20 | 21 | .PHONY: test docs docclean -------------------------------------------------------------------------------- /node_modules/knox/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/knox'); -------------------------------------------------------------------------------- /node_modules/knox/lib/knox/index.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * knox 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Client is the main export. 10 | */ 11 | 12 | exports = module.exports = require('./client'); 13 | 14 | /** 15 | * Library version. 16 | * 17 | * @type String 18 | */ 19 | 20 | exports.version = '0.0.9'; 21 | 22 | /** 23 | * Expose utilities. 24 | * 25 | * @type Object 26 | */ 27 | 28 | exports.utils = require('./utils'); 29 | 30 | /** 31 | * Expose auth utils. 32 | * 33 | * @type Object 34 | */ 35 | 36 | exports.auth = require('./auth'); -------------------------------------------------------------------------------- /node_modules/knox/lib/knox/mime/README.md: -------------------------------------------------------------------------------- 1 | A library for doing simple mime-type lookups. 2 | 3 | var mime = require('mime'); 4 | 5 | // all these return 'text/plain' 6 | mime.lookup('/path/to/file.txt'); 7 | mime.lookup('file.txt'); 8 | mime.lookup('.txt'); 9 | 10 | It can also look up common charsets for specific mime-types. (Useful in a web 11 | framework): 12 | 13 | var mime = require('mime'); 14 | 15 | // returns 'UTF-8' 16 | mime.charset.lookup('text/plain'); 17 | 18 | Please help me make sure my lookup tables are complete! Any additions will be 19 | appreciatively merged! 20 | -------------------------------------------------------------------------------- /node_modules/knox/lib/knox/mime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "mime", 3 | "description" : "A super simple utility library for dealing with mime-types", 4 | "url" : "http://github.com/bentomas/node-mime", 5 | "keywords" : ["util", "mime"], 6 | "author" : "Benjamin Thomas ", 7 | "contributors" : [], 8 | "dependencies" : [], 9 | "lib" : ".", 10 | "main" : "mime.js", 11 | "version" : "1.0.0" 12 | } 13 | -------------------------------------------------------------------------------- /node_modules/knox/lib/knox/utils.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * knox - utils 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Merge object `b` with object `a`. 10 | * 11 | * @param {Object} a 12 | * @param {Object} b 13 | * @return {Object} a 14 | * @api private 15 | */ 16 | 17 | exports.merge = function(a, b){ 18 | var keys = Object.keys(b); 19 | for (var i = 0, len = keys.length; i < len; ++i) { 20 | var key = keys[i]; 21 | a[key] = b[key] 22 | } 23 | return a; 24 | }; 25 | 26 | /** 27 | * Base64. 28 | */ 29 | 30 | exports.base64 = { 31 | 32 | /** 33 | * Base64 encode the given `str`. 34 | * 35 | * @param {String} str 36 | * @return {String} 37 | * @api private 38 | */ 39 | 40 | encode: function(str){ 41 | return new Buffer(str).toString('base64'); 42 | }, 43 | 44 | /** 45 | * Base64 decode the given `str`. 46 | * 47 | * @param {String} str 48 | * @return {String} 49 | * @api private 50 | */ 51 | 52 | decode: function(str){ 53 | return new Buffer(str, 'base64').toString(); 54 | } 55 | }; -------------------------------------------------------------------------------- /node_modules/knox/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "knox", 3 | "description": "Amazon S3 client", 4 | "keywords": [ 5 | "aws", 6 | "amazon", 7 | "s3" 8 | ], 9 | "version": "0.0.9", 10 | "author": { 11 | "name": "TJ Holowaychuk", 12 | "email": "tj@learnboost.com" 13 | }, 14 | "main": "./index.js", 15 | "engines": { 16 | "node": ">= 0.2.0" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "git://github.com/LearnBoost/knox.git" 21 | }, 22 | "_npmUser": { 23 | "name": "ddollar", 24 | "email": "ddollar@gmail.com" 25 | }, 26 | "_id": "knox@0.0.9", 27 | "dependencies": {}, 28 | "devDependencies": {}, 29 | "optionalDependencies": {}, 30 | "_engineSupported": true, 31 | "_npmVersion": "1.1.21", 32 | "_nodeVersion": "v0.6.17", 33 | "_defaultsLoaded": true, 34 | "dist": { 35 | "shasum": "6f95fa2b4336def5d11bcec00f97a4f8c972d210" 36 | }, 37 | "_from": "knox@0.0.9" 38 | } 39 | -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "deps/jscoverage"] 2 | path = deps/jscoverage 3 | url = git://github.com/visionmedia/node-jscoverage.git 4 | -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | lib-cov 3 | *.seed -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # Expresso 3 | 4 | TDD framework for [nodejs](http://nodejs.org). 5 | 6 | ## Features 7 | 8 | - light-weight 9 | - intuitive async support 10 | - intuitive test runner executable 11 | - test coverage support and reporting 12 | - uses the _assert_ module 13 | - `assert.eql()` alias of `assert.deepEqual()` 14 | - `assert.response()` http response utility 15 | - `assert.includes()` 16 | - `assert.type()` 17 | - `assert.isNull()` 18 | - `assert.isUndefined()` 19 | - `assert.isNotNull()` 20 | - `assert.isDefined()` 21 | - `assert.match()` 22 | - `assert.length()` 23 | 24 | ## Installation 25 | 26 | To install both expresso _and_ node-jscoverage run: 27 | 28 | $ make install 29 | 30 | To install expresso alone (no build required) run: 31 | 32 | $ make install-expresso 33 | 34 | Install via npm: 35 | 36 | $ npm install expresso 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/docs/layout/foot.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/docs/layout/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Expresso - TDD Framework For Node 4 | 36 | 37 | 38 | 39 | Fork me on GitHub 40 | 41 |
42 |

Expresso

43 | -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/lib/bar.js: -------------------------------------------------------------------------------- 1 | 2 | exports.bar = function(msg){ 3 | return msg || 'bar'; 4 | }; -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/lib/foo.js: -------------------------------------------------------------------------------- 1 | 2 | exports.foo = function(msg){ 3 | if (msg) { 4 | return msg; 5 | } else { 6 | return generateFoo(); 7 | } 8 | }; 9 | 10 | function generateFoo() { 11 | return 'foo'; 12 | } 13 | 14 | function Foo(msg){ 15 | this.msg = msg || 'foo'; 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/package.json: -------------------------------------------------------------------------------- 1 | { "name": "expresso", 2 | "version": "0.6.1", 3 | "description": "TDD framework, light-weight, fast, CI-friendly", 4 | "author": "TJ Holowaychuk ", 5 | "bin": { "expresso": "./bin/expresso" }, 6 | "scripts": { 7 | "install": "make install-jscov" 8 | } 9 | } -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/test/async.test.js: -------------------------------------------------------------------------------- 1 | 2 | setTimeout(function(){ 3 | exports['test async exports'] = function(assert){ 4 | assert.ok('wahoo'); 5 | }; 6 | }, 100); -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/test/bar.test.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var bar = require('bar'); 7 | 8 | module.exports = { 9 | 'bar()': function(assert){ 10 | assert.equal('bar', bar.bar()); 11 | } 12 | }; -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/test/foo.test.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var foo = require('foo'); 7 | 8 | module.exports = { 9 | 'foo()': function(assert){ 10 | assert.equal('foo', foo.foo()); 11 | assert.equal('foo', foo.foo()); 12 | } 13 | }; -------------------------------------------------------------------------------- /node_modules/knox/support/expresso/test/serial/async.test.js: -------------------------------------------------------------------------------- 1 | 2 | var setup = 0, 3 | order = []; 4 | 5 | module.exports = { 6 | setup: function(done){ 7 | ++setup; 8 | done(); 9 | }, 10 | 11 | a: function(assert, done){ 12 | assert.equal(1, setup); 13 | order.push('a'); 14 | setTimeout(function(){ 15 | done(); 16 | }, 500); 17 | }, 18 | 19 | b: function(assert, done){ 20 | assert.equal(2, setup); 21 | order.push('b'); 22 | setTimeout(function(){ 23 | done(); 24 | }, 200); 25 | }, 26 | 27 | c: function(assert, done){ 28 | assert.equal(3, setup); 29 | order.push('c'); 30 | setTimeout(function(){ 31 | done(); 32 | }, 1000); 33 | }, 34 | 35 | d: function(assert){ 36 | assert.eql(order, ['a', 'b', 'c']); 37 | } 38 | }; -------------------------------------------------------------------------------- /node_modules/knox/test/fixtures/user.json: -------------------------------------------------------------------------------- 1 | {"name":"tj"} -------------------------------------------------------------------------------- /node_modules/knox/test/utils.test.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var knox = require('knox') 7 | , utils = knox.utils; 8 | 9 | module.exports = { 10 | 'test .base64.encode()': function(assert){ 11 | assert.equal('aGV5', utils.base64.encode('hey')); 12 | }, 13 | 14 | 'test .base64.decode()': function(assert){ 15 | assert.equal('hey', utils.base64.decode('aGV5')); 16 | } 17 | }; 18 | -------------------------------------------------------------------------------- /node_modules/mkdirp/.gitignore.orig: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/mkdirp/.gitignore.rej: -------------------------------------------------------------------------------- 1 | --- /dev/null 2 | +++ .gitignore 3 | @@ -0,0 +1,2 @@ 4 | +node_modules/ 5 | +npm-debug.log -------------------------------------------------------------------------------- /node_modules/mkdirp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/mkdirp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/mkdirp/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 James Halliday (mail@substack.net) 2 | 3 | This project is free software released under the MIT/X11 license: 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/mkdirp/examples/pow.js.orig: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/mkdirp/examples/pow.js.rej: -------------------------------------------------------------------------------- 1 | --- examples/pow.js 2 | +++ examples/pow.js 3 | @@ -1,6 +1,15 @@ 4 | -var mkdirp = require('mkdirp').mkdirp; 5 | +var mkdirp = require('../').mkdirp, 6 | + mkdirpSync = require('../').mkdirpSync; 7 | 8 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 9 | if (err) console.error(err) 10 | else console.log('pow!') 11 | }); 12 | + 13 | +try { 14 | + mkdirpSync('/tmp/bar/foo/baz', 0755); 15 | + console.log('double pow!'); 16 | +} 17 | +catch (ex) { 18 | + console.log(ex); 19 | +} -------------------------------------------------------------------------------- /node_modules/mkdirp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mkdirp", 3 | "description": "Recursively mkdir, like `mkdir -p`", 4 | "version": "0.3.2", 5 | "author": { 6 | "name": "James Halliday", 7 | "email": "mail@substack.net", 8 | "url": "http://substack.net" 9 | }, 10 | "main": "./index", 11 | "keywords": [ 12 | "mkdir", 13 | "directory" 14 | ], 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/substack/node-mkdirp.git" 18 | }, 19 | "scripts": { 20 | "test": "tap test/*.js" 21 | }, 22 | "devDependencies": { 23 | "tap": "~0.2.4" 24 | }, 25 | "license": "MIT/X11", 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "_npmUser": { 30 | "name": "ddollar", 31 | "email": "ddollar@gmail.com" 32 | }, 33 | "_id": "mkdirp@0.3.2", 34 | "dependencies": {}, 35 | "optionalDependencies": {}, 36 | "_engineSupported": true, 37 | "_npmVersion": "1.1.21", 38 | "_nodeVersion": "v0.6.17", 39 | "_defaultsLoaded": true, 40 | "_from": "mkdirp@0.3.x" 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/chmod.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | test('chmod-pre', function (t) { 16 | var mode = 0744 17 | mkdirp(file, mode, function (er) { 18 | t.ifError(er, 'should not error'); 19 | fs.stat(file, function (er, stat) { 20 | t.ifError(er, 'should exist'); 21 | t.ok(stat && stat.isDirectory(), 'should be directory'); 22 | t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); 23 | t.end(); 24 | }); 25 | }); 26 | }); 27 | 28 | test('chmod', function (t) { 29 | var mode = 0755 30 | mkdirp(file, mode, function (er) { 31 | t.ifError(er, 'should not error'); 32 | fs.stat(file, function (er, stat) { 33 | t.ifError(er, 'should exist'); 34 | t.ok(stat && stat.isDirectory(), 'should be directory'); 35 | t.end(); 36 | }); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/clobber.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | // a file in the way 16 | var itw = ps.slice(0, 3).join('/'); 17 | 18 | 19 | test('clobber-pre', function (t) { 20 | console.error("about to write to "+itw) 21 | fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); 22 | 23 | fs.stat(itw, function (er, stat) { 24 | t.ifError(er) 25 | t.ok(stat && stat.isFile(), 'should be file') 26 | t.end() 27 | }) 28 | }) 29 | 30 | test('clobber', function (t) { 31 | t.plan(2); 32 | mkdirp(file, 0755, function (err) { 33 | t.ok(err); 34 | t.equal(err.code, 'ENOTDIR'); 35 | t.end(); 36 | }); 37 | }); 38 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/mkdirp.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('woo', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, 0755, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0755); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/perm.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('async perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) t.fail(err); 12 | else path.exists(file, function (ex) { 13 | if (!ex) t.fail('file not created') 14 | else fs.stat(file, function (err, stat) { 15 | if (err) t.fail(err) 16 | else { 17 | t.equal(stat.mode & 0777, 0755); 18 | t.ok(stat.isDirectory(), 'target not a directory'); 19 | t.end(); 20 | } 21 | }) 22 | }) 23 | }); 24 | }); 25 | 26 | test('async root perm', function (t) { 27 | mkdirp('/tmp', 0755, function (err) { 28 | if (err) t.fail(err); 29 | t.end(); 30 | }); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/perm_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; 9 | 10 | mkdirp.sync(file, 0755); 11 | path.exists(file, function (ex) { 12 | if (!ex) t.fail('file not created') 13 | else fs.stat(file, function (err, stat) { 14 | if (err) t.fail(err) 15 | else { 16 | t.equal(stat.mode & 0777, 0755); 17 | t.ok(stat.isDirectory(), 'target not a directory'); 18 | t.end(); 19 | } 20 | }) 21 | }); 22 | }); 23 | 24 | test('sync root perm', function (t) { 25 | t.plan(1); 26 | 27 | var file = '/tmp'; 28 | mkdirp.sync(file, 0755); 29 | path.exists(file, function (ex) { 30 | if (!ex) t.fail('file not created') 31 | else fs.stat(file, function (err, stat) { 32 | if (err) t.fail(err) 33 | else { 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | t.end(); 36 | } 37 | }) 38 | }); 39 | }); 40 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/race.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('race', function (t) { 7 | t.plan(4); 8 | var ps = [ '', 'tmp' ]; 9 | 10 | for (var i = 0; i < 25; i++) { 11 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | ps.push(dir); 13 | } 14 | var file = ps.join('/'); 15 | 16 | var res = 2; 17 | mk(file, function () { 18 | if (--res === 0) t.end(); 19 | }); 20 | 21 | mk(file, function () { 22 | if (--res === 0) t.end(); 23 | }); 24 | 25 | function mk (file, cb) { 26 | mkdirp(file, 0755, function (err) { 27 | if (err) t.fail(err); 28 | else path.exists(file, function (ex) { 29 | if (!ex) t.fail('file not created') 30 | else fs.stat(file, function (err, stat) { 31 | if (err) t.fail(err) 32 | else { 33 | t.equal(stat.mode & 0777, 0755); 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | if (cb) cb(); 36 | } 37 | }) 38 | }) 39 | }); 40 | } 41 | }); 42 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/rel.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('rel', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var cwd = process.cwd(); 13 | process.chdir('/tmp'); 14 | 15 | var file = [x,y,z].join('/'); 16 | 17 | mkdirp(file, 0755, function (err) { 18 | if (err) t.fail(err); 19 | else path.exists(file, function (ex) { 20 | if (!ex) t.fail('file not created') 21 | else fs.stat(file, function (err, stat) { 22 | if (err) t.fail(err) 23 | else { 24 | process.chdir(cwd); 25 | t.equal(stat.mode & 0777, 0755); 26 | t.ok(stat.isDirectory(), 'target not a directory'); 27 | t.end(); 28 | } 29 | }) 30 | }) 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/return.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(4); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | mkdirp(file, function (err, made) { 18 | t.ifError(err); 19 | t.equal(made, '/tmp/' + x); 20 | mkdirp(file, function (err, made) { 21 | t.ifError(err); 22 | t.equal(made, null); 23 | }); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/return_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | // Note that this will throw on failure, which will fail the test. 18 | var made = mkdirp.sync(file); 19 | t.equal(made, '/tmp/' + x); 20 | 21 | // making the same file again should have no effect. 22 | made = mkdirp.sync(file); 23 | t.equal(made, null); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file, 0755); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, 0755); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/umask.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('implicit mode from umask', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0777 & (~process.umask())); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/mkdirp/test/umask_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('umask sync modes', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file, 0755); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, (0777 & (~process.umask()))); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/node-uuid/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /node_modules/node-uuid/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Robert Kieffer 2 | 3 | Dual licensed under the [MIT](http://en.wikipedia.org/wiki/MIT_License) and [GPL](http://en.wikipedia.org/wiki/GNU_General_Public_License) licenses. 4 | -------------------------------------------------------------------------------- /node_modules/node-uuid/benchmark/bench.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # for a given node version run: 4 | # for i in {0..9}; do node benchmark.js >> bench_0.6.2.log; done; 5 | 6 | PATTERNS=('nodeuuid.v1()' "nodeuuid.v1('binary'," 'nodeuuid.v4()' "nodeuuid.v4('binary'," "uuid()" "uuid('binary')" 'uuidjs.create(1)' 'uuidjs.create(4)' '140byte') 7 | FILES=(node_uuid_v1_string node_uuid_v1_buf node_uuid_v4_string node_uuid_v4_buf libuuid_v4_string libuuid_v4_binary uuidjs_v1_string uuidjs_v4_string 140byte_es) 8 | INDICES=(2 3 2 3 2 2 2 2 2) 9 | VERSIONS=$( ls bench_*.log | sed -e 's/^bench_\([0-9\.]*\)\.log/\1/' | tr "\\n" " " ) 10 | TMPJOIN="tmp_join" 11 | OUTPUT="bench_results.txt" 12 | 13 | for I in ${!FILES[*]}; do 14 | F=${FILES[$I]} 15 | P=${PATTERNS[$I]} 16 | INDEX=${INDICES[$I]} 17 | echo "version $F" > $F 18 | for V in $VERSIONS; do 19 | (VAL=$( grep "$P" bench_$V.log | LC_ALL=en_US awk '{ sum += $'$INDEX' } END { print sum/NR }' ); echo $V $VAL) >> $F 20 | done 21 | if [ $I == 0 ]; then 22 | cat $F > $TMPJOIN 23 | else 24 | join $TMPJOIN $F > $OUTPUT 25 | cp $OUTPUT $TMPJOIN 26 | fi 27 | rm $F 28 | done 29 | 30 | rm $TMPJOIN 31 | 32 | gnuplot bench.gnu 33 | convert -density 200 -resize 800x560 -flatten bench.eps bench.png 34 | rm bench.eps 35 | -------------------------------------------------------------------------------- /node_modules/node-uuid/benchmark/benchmark-native.c: -------------------------------------------------------------------------------- 1 | /* 2 | Test performance of native C UUID generation 3 | 4 | To Compile: cc -luuid benchmark-native.c -o benchmark-native 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | int main() { 13 | uuid_t myid; 14 | char buf[36+1]; 15 | int i; 16 | struct timeval t; 17 | double start, finish; 18 | 19 | gettimeofday(&t, NULL); 20 | start = t.tv_sec + t.tv_usec/1e6; 21 | 22 | int n = 2e5; 23 | for (i = 0; i < n; i++) { 24 | uuid_generate(myid); 25 | uuid_unparse(myid, buf); 26 | } 27 | 28 | gettimeofday(&t, NULL); 29 | finish = t.tv_sec + t.tv_usec/1e6; 30 | double dur = finish - start; 31 | 32 | printf("%d uuids/sec", (int)(n/dur)); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/node-uuid/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-uuid", 3 | "description": "Rigorous implementation of RFC4122 (v1 and v4) UUIDs.", 4 | "url": "http://github.com/broofa/node-uuid", 5 | "keywords": [ 6 | "uuid", 7 | "guid", 8 | "rfc4122" 9 | ], 10 | "author": { 11 | "name": "Robert Kieffer", 12 | "email": "robert@broofa.com" 13 | }, 14 | "contributors": [ 15 | { 16 | "name": "Christoph Tavan", 17 | "email": "dev@tavan.de" 18 | } 19 | ], 20 | "lib": ".", 21 | "main": "./uuid.js", 22 | "repository": { 23 | "type": "git", 24 | "url": "git://github.com/broofa/node-uuid.git" 25 | }, 26 | "version": "1.3.3", 27 | "_npmUser": { 28 | "name": "ddollar", 29 | "email": "ddollar@gmail.com" 30 | }, 31 | "_id": "node-uuid@1.3.3", 32 | "dependencies": {}, 33 | "devDependencies": {}, 34 | "optionalDependencies": {}, 35 | "engines": { 36 | "node": "*" 37 | }, 38 | "_engineSupported": true, 39 | "_npmVersion": "1.1.21", 40 | "_nodeVersion": "v0.6.17", 41 | "_defaultsLoaded": true, 42 | "_from": "node-uuid@1.3.x" 43 | } 44 | -------------------------------------------------------------------------------- /node_modules/node-uuid/test/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /node_modules/nodemon/nodemonignore.example: -------------------------------------------------------------------------------- 1 | # .nodemonignore file 2 | # 3 | # This is an example of a comment 4 | # 5 | # You can list individual files in the ignore list, or they can be 6 | # file patterns. For example: 7 | # 8 | # /vendor/* 9 | # /public/css/styles.css 10 | # ./server.js 11 | # ./.git/* -------------------------------------------------------------------------------- /node_modules/nodemon/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodemon", 3 | "homepage": "http://github.com/remy/nodemon", 4 | "author": { 5 | "name": "Remy Sharp", 6 | "url": "http://github.com/remy" 7 | }, 8 | "bin": { 9 | "nodemon": "./nodemon.js" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git://github.com/remy/nodemon.git" 14 | }, 15 | "description": "Simple monitor script for use during development of a node.js app.", 16 | "keywords": [ 17 | "monitor", 18 | "development", 19 | "restart", 20 | "autoload", 21 | "reload", 22 | "terminal" 23 | ], 24 | "version": "0.6.18", 25 | "preferGlobal": "true", 26 | "licenses": [ 27 | { 28 | "type": "MIT", 29 | "url": "http://rem.mit-license.org" 30 | } 31 | ], 32 | "main": "./nodemon", 33 | "_npmUser": { 34 | "name": "ddollar", 35 | "email": "ddollar@gmail.com" 36 | }, 37 | "_id": "nodemon@0.6.18", 38 | "dependencies": {}, 39 | "devDependencies": {}, 40 | "optionalDependencies": {}, 41 | "engines": { 42 | "node": "*" 43 | }, 44 | "_engineSupported": true, 45 | "_npmVersion": "1.1.21", 46 | "_nodeVersion": "v0.6.17", 47 | "_defaultsLoaded": true, 48 | "_from": "nodemon@0.6.x" 49 | } 50 | -------------------------------------------------------------------------------- /node_modules/restler/.npmignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | .[Dd][Ss]_store 3 | node_modules 4 | -------------------------------------------------------------------------------- /node_modules/restler/MIT-LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 Dan Webb 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/restler/bin/restler: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require.paths.push(process.cwd()); 4 | 5 | var sys = require('util'), 6 | rest = require('../lib/restler'), 7 | repl = require('repl'); 8 | 9 | var replServer = repl.start(); 10 | 11 | var exportMethods = { 12 | sys: sys, 13 | rest: rest 14 | } 15 | 16 | Object.keys(exportMethods).forEach(function(exportMethod) { 17 | replServer.context[exportMethod] = exportMethods[exportMethod]; 18 | }); 19 | 20 | rest.get('http://twaud.io/api/v1/7.json').on('complete', function(data, response) { 21 | console.log(response.headers); 22 | replServer.context.data = data; 23 | }); -------------------------------------------------------------------------------- /node_modules/restler/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/restler'); -------------------------------------------------------------------------------- /node_modules/restler/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "restler", 3 | "version": "2.0.1", 4 | "description": "An HTTP client library for node.js", 5 | "contributors": [ 6 | { 7 | "name": "Dan Webb", 8 | "email": "dan@danwebb.net" 9 | } 10 | ], 11 | "homepage": "https://github.com/danwrong/restler", 12 | "directories": { 13 | "lib": "./lib" 14 | }, 15 | "main": "./lib/restler", 16 | "engines": { 17 | "node": ">= 0.6.x" 18 | }, 19 | "dependencies": {}, 20 | "devDependencies": { 21 | "nodeunit": ">=0.5.0", 22 | "xml2js": ">=0.1.0", 23 | "yaml": ">=0.2.0", 24 | "iconv": ">=1.0.0" 25 | }, 26 | "_npmUser": { 27 | "name": "ddollar", 28 | "email": "ddollar@gmail.com" 29 | }, 30 | "_id": "restler@2.0.1", 31 | "optionalDependencies": {}, 32 | "_engineSupported": true, 33 | "_npmVersion": "1.1.21", 34 | "_nodeVersion": "v0.6.17", 35 | "_defaultsLoaded": true, 36 | "dist": { 37 | "shasum": "7ac5ab708a53d4e77d63fe2027d47848e70f9085" 38 | }, 39 | "_from": "restler@2.0.x" 40 | } 41 | -------------------------------------------------------------------------------- /node_modules/restler/test/all.js: -------------------------------------------------------------------------------- 1 | 2 | require('./restler'); // debug 3 | var nodeunit = require('nodeunit'); 4 | var reporter = nodeunit.reporters['default']; 5 | process.chdir(__dirname); 6 | reporter.run(['restler.js']); 7 | -------------------------------------------------------------------------------- /node_modules/stylus/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 LearnBoost 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/stylus/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = process.env.STYLUS_COV 3 | ? require('./lib-cov/stylus') 4 | : require('./lib/stylus'); -------------------------------------------------------------------------------- /node_modules/stylus/lib/errors.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - errors 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Expose constructors. 10 | */ 11 | 12 | exports.ParseError = ParseError; 13 | exports.SyntaxError = SyntaxError; 14 | 15 | /** 16 | * Inherit from `Error.prototype`. 17 | */ 18 | 19 | SyntaxError.prototype.__proto__ = Error.prototype; 20 | 21 | /** 22 | * Initialize a new `ParseError` with the given `msg`. 23 | * 24 | * @param {String} msg 25 | * @api private 26 | */ 27 | 28 | function ParseError(msg) { 29 | this.name = 'ParseError'; 30 | this.message = msg; 31 | Error.captureStackTrace(this, ParseError); 32 | } 33 | 34 | /** 35 | * Inherit from `Error.prototype`. 36 | */ 37 | 38 | ParseError.prototype.__proto__ = Error.prototype; 39 | 40 | /** 41 | * Initialize a new `SyntaxError` with the given `msg`. 42 | * 43 | * @param {String} msg 44 | * @api private 45 | */ 46 | 47 | function SyntaxError(msg) { 48 | this.name = 'SyntaxError'; 49 | this.message = msg; 50 | Error.captureStackTrace(this, ParseError); 51 | } 52 | 53 | /** 54 | * Inherit from `Error.prototype`. 55 | */ 56 | 57 | SyntaxError.prototype.__proto__ = Error.prototype; 58 | 59 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/binop.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - BinOp 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `BinOp` with `op`, `left` and `right`. 16 | * 17 | * @param {String} op 18 | * @param {Node} left 19 | * @param {Node} right 20 | * @api public 21 | */ 22 | 23 | var BinOp = module.exports = function BinOp(op, left, right){ 24 | Node.call(this); 25 | this.op = op; 26 | this.left = left; 27 | this.right = right; 28 | }; 29 | 30 | /** 31 | * Inherit from `Node.prototype`. 32 | */ 33 | 34 | BinOp.prototype.__proto__ = Node.prototype; 35 | 36 | /** 37 | * Return a clone of this node. 38 | * 39 | * @return {Node} 40 | * @api public 41 | */ 42 | 43 | BinOp.prototype.clone = function(){ 44 | var clone = new BinOp( 45 | this.op 46 | , this.left.clone() 47 | , this.right ? 48 | this.right.clone() 49 | : null); 50 | clone.lineno = this.lineno; 51 | clone.filename = this.filename; 52 | if (this.val) clone.val = this.val.clone(); 53 | return clone; 54 | }; -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/call.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Call 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Call` with `name` and `args`. 16 | * 17 | * @param {String} name 18 | * @param {Expression} args 19 | * @api public 20 | */ 21 | 22 | var Call = module.exports = function Call(name, args){ 23 | Node.call(this); 24 | this.name = name; 25 | this.args = args; 26 | }; 27 | 28 | /** 29 | * Inherit from `Node.prototype`. 30 | */ 31 | 32 | Call.prototype.__proto__ = Node.prototype; 33 | 34 | /** 35 | * Return a clone of this node. 36 | * 37 | * @return {Node} 38 | * @api public 39 | */ 40 | 41 | Call.prototype.clone = function(){ 42 | var clone = new Call(this.name, this.args.clone()); 43 | clone.lineno = this.lineno; 44 | clone.filename = this.filename; 45 | return clone; 46 | }; 47 | 48 | /** 49 | * Return (). 50 | * 51 | * @return {String} 52 | * @api public 53 | */ 54 | 55 | Call.prototype.toString = function(){ 56 | return this.name + '()'; 57 | }; -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/charset.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Charset 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node') 13 | , nodes = require('./'); 14 | 15 | /** 16 | * Initialize a new `Charset` with the given `val` 17 | * 18 | * @param {String} val 19 | * @api public 20 | */ 21 | 22 | var Charset = module.exports = function Charset(val){ 23 | Node.call(this); 24 | this.val = val; 25 | }; 26 | 27 | /** 28 | * Inherit from `Node.prototype`. 29 | */ 30 | 31 | Charset.prototype.__proto__ = Node.prototype; 32 | 33 | /** 34 | * Return @charset "val". 35 | * 36 | * @return {String} 37 | * @api public 38 | */ 39 | 40 | Charset.prototype.toString = function(){ 41 | return '@charset ' + this.val; 42 | }; 43 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/comment.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Comment 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Comment` with the given `str`. 16 | * 17 | * @param {String} str 18 | * @param {Boolean} suppress 19 | * @api public 20 | */ 21 | 22 | var Comment = module.exports = function Comment(str, suppress){ 23 | Node.call(this); 24 | this.str = str; 25 | this.suppress = suppress; 26 | }; 27 | 28 | /** 29 | * Inherit from `Node.prototype`. 30 | */ 31 | 32 | Comment.prototype.__proto__ = Node.prototype; 33 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/each.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Each 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node') 13 | , nodes = require('./'); 14 | 15 | /** 16 | * Initialize a new `Each` node with the given `val` name, 17 | * `key` name, `expr`, and `block`. 18 | * 19 | * @param {String} val 20 | * @param {String} key 21 | * @param {Expression} expr 22 | * @param {Block} block 23 | * @api public 24 | */ 25 | 26 | var Each = module.exports = function Each(val, key, expr, block){ 27 | Node.call(this); 28 | this.val = val; 29 | this.key = key; 30 | this.expr = expr; 31 | this.block = block; 32 | }; 33 | 34 | /** 35 | * Inherit from `Node.prototype`. 36 | */ 37 | 38 | Each.prototype.__proto__ = Node.prototype; 39 | 40 | /** 41 | * Return a clone of this node. 42 | * 43 | * @return {Node} 44 | * @api public 45 | */ 46 | 47 | Each.prototype.clone = function(){ 48 | var clone = new Each( 49 | this.val 50 | , this.key 51 | , this.expr.clone() 52 | , this.block.clone()); 53 | clone.lineno = this.lineno; 54 | clone.filename = this.filename; 55 | return clone; 56 | }; -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/extend.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Extend 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Extend` with the given `selector`. 16 | * 17 | * @param {Selector} selector 18 | * @api public 19 | */ 20 | 21 | var Extend = module.exports = function Extend(selector){ 22 | Node.call(this); 23 | this.selector = selector; 24 | }; 25 | 26 | /** 27 | * Inherit from `Node.prototype`. 28 | */ 29 | 30 | Extend.prototype.__proto__ = Node.prototype; 31 | 32 | /** 33 | * Return a clone of this node. 34 | * 35 | * @return {Node} 36 | * @api public 37 | */ 38 | 39 | Extend.prototype.clone = function(){ 40 | return new Extend(this.selector); 41 | }; 42 | 43 | /** 44 | * Return `@extend selector`. 45 | * 46 | * @return {String} 47 | * @api public 48 | */ 49 | 50 | Extend.prototype.toString = function(){ 51 | return '@extend ' + this.selector; 52 | }; 53 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/fontface.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - FontFace 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `FontFace` with the given `block`. 16 | * 17 | * @param {Block} block 18 | * @api public 19 | */ 20 | 21 | var FontFace = module.exports = function FontFace(block){ 22 | Node.call(this); 23 | this.block = block; 24 | }; 25 | 26 | /** 27 | * Inherit from `Node.prototype`. 28 | */ 29 | 30 | FontFace.prototype.__proto__ = Node.prototype; 31 | 32 | /** 33 | * Return a clone of this node. 34 | * 35 | * @return {Node} 36 | * @api public 37 | */ 38 | 39 | FontFace.prototype.clone = function(){ 40 | var clone = new FontFace(this.block.clone()); 41 | clone.lineno = this.lineno; 42 | clone.filename = this.filename; 43 | return clone; 44 | }; 45 | 46 | /** 47 | * Return `@oage name`. 48 | * 49 | * @return {String} 50 | * @api public 51 | */ 52 | 53 | FontFace.prototype.toString = function(){ 54 | return '@font-face'; 55 | }; 56 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/if.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - If 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `If` with the given `cond`. 16 | * 17 | * @param {Expression} cond 18 | * @param {Boolean|Block} negate, block 19 | * @api public 20 | */ 21 | 22 | var If = module.exports = function If(cond, negate){ 23 | Node.call(this); 24 | this.cond = cond; 25 | this.elses = []; 26 | if (negate && negate.nodeName) { 27 | this.block = negate; 28 | } else { 29 | this.negate = negate; 30 | } 31 | }; 32 | 33 | /** 34 | * Inherit from `Node.prototype`. 35 | */ 36 | 37 | If.prototype.__proto__ = Node.prototype; 38 | 39 | /** 40 | * Return a clone of this node. 41 | * 42 | * @return {Node} 43 | * @api public 44 | */ 45 | 46 | If.prototype.clone = function(){ 47 | var cond = this.cond.clone() 48 | , block = this.block.clone(); 49 | var clone = new If(cond, block); 50 | clone.elses = this.elses.map(function(node){ return node.clone(); }); 51 | clone.negate = this.negate; 52 | clone.postfix = this.postfix; 53 | clone.lineno = this.lineno; 54 | clone.filename = this.filename; 55 | return clone; 56 | }; 57 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/import.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Import 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Import` with the given `expr`. 16 | * 17 | * @param {Expression} expr 18 | * @api public 19 | */ 20 | 21 | var Import = module.exports = function Import(expr){ 22 | Node.call(this); 23 | this.path = expr; 24 | }; 25 | 26 | /** 27 | * Inherit from `Node.prototype`. 28 | */ 29 | 30 | Import.prototype.__proto__ = Node.prototype; 31 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/jsliteral.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - JSLiteral 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node') 13 | , nodes = require('./'); 14 | 15 | /** 16 | * Initialize a new `JSLiteral` with the given `str`. 17 | * 18 | * @param {String} str 19 | * @api public 20 | */ 21 | 22 | var JSLiteral = module.exports = function JSLiteral(str){ 23 | Node.call(this); 24 | this.val = str; 25 | this.string = str; 26 | }; 27 | 28 | /** 29 | * Inherit from `Node.prototype`. 30 | */ 31 | 32 | JSLiteral.prototype.__proto__ = Node.prototype; 33 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/media.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Media 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node') 13 | , nodes = require('./'); 14 | 15 | /** 16 | * Initialize a new `Media` with the given `val` 17 | * 18 | * @param {String} val 19 | * @api public 20 | */ 21 | 22 | var Media = module.exports = function Media(val){ 23 | Node.call(this); 24 | this.val = val; 25 | }; 26 | 27 | /** 28 | * Inherit from `Node.prototype`. 29 | */ 30 | 31 | Media.prototype.__proto__ = Node.prototype; 32 | 33 | /** 34 | * Return @media "val". 35 | * 36 | * @return {String} 37 | * @api public 38 | */ 39 | 40 | Media.prototype.toString = function(){ 41 | return '@media ' + this.val; 42 | }; 43 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/null.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Null 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node') 13 | , nodes = require('./'); 14 | 15 | /** 16 | * Initialize a new `Null` node. 17 | * 18 | * @api public 19 | */ 20 | 21 | var Null = module.exports = function Null(){}; 22 | 23 | /** 24 | * Inherit from `Node.prototype`. 25 | */ 26 | 27 | Null.prototype.__proto__ = Node.prototype; 28 | 29 | /** 30 | * Return 'Null'. 31 | * 32 | * @return {String} 33 | * @api public 34 | */ 35 | 36 | Null.prototype.inspect = 37 | Null.prototype.toString = function(){ 38 | return 'null'; 39 | }; 40 | 41 | /** 42 | * Return false. 43 | * 44 | * @return {Boolean} 45 | * @api public 46 | */ 47 | 48 | Null.prototype.toBoolean = function(){ 49 | return nodes.false; 50 | }; 51 | 52 | /** 53 | * Check if the node is a null node. 54 | * 55 | * @return {Boolean} 56 | * @api public 57 | */ 58 | 59 | Null.prototype.__defineGetter__('isNull', function(){ 60 | return true; 61 | }); 62 | 63 | /** 64 | * Return hash. 65 | * 66 | * @return {String} 67 | * @api public 68 | */ 69 | 70 | Null.prototype.__defineGetter__('hash', function(){ 71 | return null; 72 | }); -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/page.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Page 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Page` with the given `selector` and `block`. 16 | * 17 | * @param {Selector} selector 18 | * @param {Block} block 19 | * @api public 20 | */ 21 | 22 | var Page = module.exports = function Page(selector, block){ 23 | Node.call(this); 24 | this.selector = selector; 25 | this.block = block; 26 | }; 27 | 28 | /** 29 | * Inherit from `Node.prototype`. 30 | */ 31 | 32 | Page.prototype.__proto__ = Node.prototype; 33 | 34 | /** 35 | * Return `@page name`. 36 | * 37 | * @return {String} 38 | * @api public 39 | */ 40 | 41 | Page.prototype.toString = function(){ 42 | return '@page ' + this.selector; 43 | }; 44 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/return.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Return 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node') 13 | , nodes = require('./'); 14 | 15 | /** 16 | * Initialize a new `Return` node with the given `expr`. 17 | * 18 | * @param {Expression} expr 19 | * @api public 20 | */ 21 | 22 | var Return = module.exports = function Return(expr){ 23 | this.expr = expr || nodes.null; 24 | }; 25 | 26 | /** 27 | * Inherit from `Node.prototype`. 28 | */ 29 | 30 | Return.prototype.__proto__ = Node.prototype; 31 | 32 | /** 33 | * Return a clone of this node. 34 | * 35 | * @return {Node} 36 | * @api public 37 | */ 38 | 39 | Return.prototype.clone = function(){ 40 | var clone = new Return(this.expr.clone()); 41 | clone.lineno = this.lineno; 42 | clone.filename = this.filename; 43 | return clone; 44 | }; -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/root.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Root 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Root` node. 16 | * 17 | * @api public 18 | */ 19 | 20 | var Root = module.exports = function Root(){ 21 | this.nodes = []; 22 | }; 23 | 24 | /** 25 | * Inherit from `Node.prototype`. 26 | */ 27 | 28 | Root.prototype.__proto__ = Node.prototype; 29 | 30 | /** 31 | * Push a `node` to this block. 32 | * 33 | * @param {Node} node 34 | * @api public 35 | */ 36 | 37 | Root.prototype.push = function(node){ 38 | this.nodes.push(node); 39 | }; 40 | 41 | /** 42 | * Return "root". 43 | * 44 | * @return {String} 45 | * @api public 46 | */ 47 | 48 | Root.prototype.toString = function(){ 49 | return '[Root]'; 50 | }; 51 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/selector.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Selector 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Block = require('./block') 13 | , Node = require('./node'); 14 | 15 | /** 16 | * Initialize a new `Selector` with the given `segs`. 17 | * 18 | * @param {Array} segs 19 | * @api public 20 | */ 21 | 22 | var Selector = module.exports = function Selector(segs){ 23 | Node.call(this); 24 | this.inherits = true; 25 | this.segments = segs; 26 | }; 27 | 28 | /** 29 | * Inherit from `Node.prototype`. 30 | */ 31 | 32 | Selector.prototype.__proto__ = Node.prototype; 33 | 34 | /** 35 | * Return the selector string. 36 | * 37 | * @return {String} 38 | * @api public 39 | */ 40 | 41 | Selector.prototype.toString = function(){ 42 | return this.segments.join(''); 43 | }; 44 | 45 | /** 46 | * Return a clone of this node. 47 | * 48 | * @return {Node} 49 | * @api public 50 | */ 51 | 52 | Selector.prototype.clone = function(){ 53 | var clone = new Selector; 54 | clone.lineno = this.lineno; 55 | clone.filename = this.filename; 56 | clone.segments = this.segments.map(function(node){ return node.clone(); }); 57 | return clone; 58 | }; 59 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/ternary.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Ternary 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Ternary` with `cond`, `trueExpr` and `falseExpr`. 16 | * 17 | * @param {Expression} cond 18 | * @param {Expression} trueExpr 19 | * @param {Expression} falseExpr 20 | * @api public 21 | */ 22 | 23 | var Ternary = module.exports = function Ternary(cond, trueExpr, falseExpr){ 24 | Node.call(this); 25 | this.cond = cond; 26 | this.trueExpr = trueExpr; 27 | this.falseExpr = falseExpr; 28 | }; 29 | 30 | /** 31 | * Inherit from `Node.prototype`. 32 | */ 33 | 34 | Ternary.prototype.__proto__ = Node.prototype; 35 | 36 | /** 37 | * Return a clone of this node. 38 | * 39 | * @return {Node} 40 | * @api public 41 | */ 42 | 43 | Ternary.prototype.clone = function(){ 44 | var clone = new Ternary( 45 | this.cond.clone() 46 | , this.trueExpr.clone() 47 | , this.falseExpr.clone()); 48 | clone.lineno = this.lineno; 49 | clone.filename = this.filename; 50 | return clone; 51 | }; -------------------------------------------------------------------------------- /node_modules/stylus/lib/nodes/unaryop.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - UnaryOp 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `UnaryOp` with `op`, and `expr`. 16 | * 17 | * @param {String} op 18 | * @param {Node} expr 19 | * @api public 20 | */ 21 | 22 | var UnaryOp = module.exports = function UnaryOp(op, expr){ 23 | Node.call(this); 24 | this.op = op; 25 | this.expr = expr; 26 | }; 27 | 28 | /** 29 | * Inherit from `Node.prototype`. 30 | */ 31 | 32 | UnaryOp.prototype.__proto__ = Node.prototype; 33 | 34 | /** 35 | * Return a clone of this node. 36 | * 37 | * @return {Node} 38 | * @api public 39 | */ 40 | 41 | UnaryOp.prototype.clone = function(){ 42 | var clone = new UnaryOp(this.op, this.expr.clone()); 43 | clone.lineno = this.lineno; 44 | clone.filename = this.filename; 45 | return clone; 46 | }; -------------------------------------------------------------------------------- /node_modules/stylus/lib/stack/scope.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - stack - Scope 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Initialize a new `Scope`. 10 | * 11 | * @api private 12 | */ 13 | 14 | var Scope = module.exports = function Scope() { 15 | this.locals = {}; 16 | }; 17 | 18 | /** 19 | * Add `ident` node to the current scope. 20 | * 21 | * @param {Ident} ident 22 | * @api private 23 | */ 24 | 25 | Scope.prototype.add = function(ident){ 26 | this.locals[ident.name] = ident.val; 27 | }; 28 | 29 | /** 30 | * Lookup the given local variable `name`. 31 | * 32 | * @param {String} name 33 | * @return {Node} 34 | * @api private 35 | */ 36 | 37 | Scope.prototype.lookup = function(name){ 38 | return this.locals[name]; 39 | }; 40 | 41 | /** 42 | * Custom inspect. 43 | * 44 | * @return {String} 45 | * @api public 46 | */ 47 | 48 | Scope.prototype.inspect = function(){ 49 | var keys = Object.keys(this.locals).map(function(key){ return '@' + key; }); 50 | return '[Scope' 51 | + (keys.length ? ' ' + keys.join(', ') : '') 52 | + ']'; 53 | }; 54 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/token.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Token 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var inspect = require('util').inspect; 13 | 14 | /** 15 | * Initialize a new `Token` with the given `type` and `val`. 16 | * 17 | * @param {String} type 18 | * @param {Mixed} val 19 | * @api private 20 | */ 21 | 22 | var Token = exports = module.exports = function Token(type, val) { 23 | this.type = type; 24 | this.val = val; 25 | }; 26 | 27 | /** 28 | * Custom inspect. 29 | * 30 | * @return {String} 31 | * @api public 32 | */ 33 | 34 | Token.prototype.inspect = function(){ 35 | var val = ' ' + inspect(this.val); 36 | return '[Token:' + this.lineno + ' ' 37 | + '\x1b[32m' + this.type + '\x1b[0m' 38 | + '\x1b[33m' + (this.val ? val : '') + '\x1b[0m' 39 | + ']'; 40 | }; 41 | 42 | /** 43 | * Return type or val. 44 | * 45 | * @return {String} 46 | * @api public 47 | */ 48 | 49 | Token.prototype.toString = function(){ 50 | return (undefined === this.val 51 | ? this.type 52 | : this.val).toString(); 53 | }; 54 | -------------------------------------------------------------------------------- /node_modules/stylus/lib/units.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - units 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | module.exports = [ 9 | 'em' 10 | , 'ex' 11 | , 'px' 12 | , 'mm' 13 | , 'cm' 14 | , 'in' 15 | , 'pt' 16 | , 'pc' 17 | , 'deg' 18 | , 'rad' 19 | , 'grad' 20 | , 'ms' 21 | , 's' 22 | , 'Hz' 23 | , 'kHz' 24 | , 'rem' 25 | , '%' 26 | ]; -------------------------------------------------------------------------------- /node_modules/stylus/lib/visitor/index.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Stylus - Visitor 4 | * Copyright(c) 2010 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Initialize a new `Visitor` with the given `root` Node. 10 | * 11 | * @param {Node} root 12 | * @api private 13 | */ 14 | 15 | var Visitor = module.exports = function Visitor(root) { 16 | this.root = root; 17 | }; 18 | 19 | /** 20 | * Visit the given `node`. 21 | * 22 | * @param {Node|Array} node 23 | * @api public 24 | */ 25 | 26 | Visitor.prototype.visit = function(node, fn){ 27 | var method = 'visit' + node.constructor.name; 28 | if (this[method]) return this[method](node); 29 | return node; 30 | }; 31 | 32 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/cssom/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "spec/vendor/objectDiff"] 2 | path = spec/vendor/objectDiff 3 | url = git://github.com/NV/objectDiff.js.git 4 | [submodule "spec/vendor/jasmine-html-reporter"] 5 | path = spec/vendor/jasmine-html-reporter 6 | url = git://github.com/NV/jasmine-html-reporter.git 7 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/cssom/.npmignore: -------------------------------------------------------------------------------- 1 | docs/ 2 | src/ 3 | test/ 4 | spec/ 5 | Jakefile.js 6 | MIT-LICENSE.txt 7 | README.mdown 8 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/cssom/lib/CSSKeyframeRule.js: -------------------------------------------------------------------------------- 1 | //.CommonJS 2 | var CSSOM = { 3 | CSSRule: require("./CSSRule").CSSRule, 4 | CSSStyleDeclaration: require('./CSSStyleDeclaration').CSSStyleDeclaration 5 | }; 6 | ///CommonJS 7 | 8 | 9 | /** 10 | * @constructor 11 | * @see http://www.w3.org/TR/css3-animations/#DOM-CSSKeyframeRule 12 | */ 13 | CSSOM.CSSKeyframeRule = function CSSKeyframeRule() { 14 | CSSOM.CSSRule.call(this); 15 | this.keyText = ''; 16 | this.style = new CSSOM.CSSStyleDeclaration; 17 | this.style.parentRule = this; 18 | }; 19 | 20 | CSSOM.CSSKeyframeRule.prototype = new CSSOM.CSSRule; 21 | CSSOM.CSSKeyframeRule.prototype.constructor = CSSOM.CSSKeyframeRule; 22 | CSSOM.CSSKeyframeRule.prototype.type = 9; 23 | //FIXME 24 | //CSSOM.CSSKeyframeRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; 25 | //CSSOM.CSSKeyframeRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; 26 | 27 | // http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSKeyframeRule.cpp 28 | CSSOM.CSSKeyframeRule.prototype.__defineGetter__("cssText", function() { 29 | return this.keyText + " { " + this.style.cssText + " } "; 30 | }); 31 | 32 | 33 | //.CommonJS 34 | exports.CSSKeyframeRule = CSSOM.CSSKeyframeRule; 35 | ///CommonJS 36 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/cssom/lib/CSSKeyframesRule.js: -------------------------------------------------------------------------------- 1 | //.CommonJS 2 | var CSSOM = { 3 | CSSRule: require("./CSSRule").CSSRule 4 | }; 5 | ///CommonJS 6 | 7 | 8 | /** 9 | * @constructor 10 | * @see http://www.w3.org/TR/css3-animations/#DOM-CSSKeyframesRule 11 | */ 12 | CSSOM.CSSKeyframesRule = function CSSKeyframesRule() { 13 | CSSOM.CSSRule.call(this); 14 | this.name = ''; 15 | this.cssRules = []; 16 | }; 17 | 18 | CSSOM.CSSKeyframesRule.prototype = new CSSOM.CSSRule; 19 | CSSOM.CSSKeyframesRule.prototype.constructor = CSSOM.CSSKeyframesRule; 20 | CSSOM.CSSKeyframesRule.prototype.type = 8; 21 | //FIXME 22 | //CSSOM.CSSKeyframesRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; 23 | //CSSOM.CSSKeyframesRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; 24 | 25 | // http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSKeyframesRule.cpp 26 | CSSOM.CSSKeyframesRule.prototype.__defineGetter__("cssText", function() { 27 | var cssTexts = []; 28 | for (var i=0, length=this.cssRules.length; i < length; i++) { 29 | cssTexts.push(" " + this.cssRules[i].cssText); 30 | } 31 | return "@" + (this._vendorPrefix || '') + "keyframes " + this.name + " { \n" + cssTexts.join("\n") + "\n}"; 32 | }); 33 | 34 | 35 | //.CommonJS 36 | exports.CSSKeyframesRule = CSSOM.CSSKeyframesRule; 37 | ///CommonJS 38 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/cssom/lib/CSSRule.js: -------------------------------------------------------------------------------- 1 | //.CommonJS 2 | var CSSOM = {}; 3 | ///CommonJS 4 | 5 | 6 | /** 7 | * @constructor 8 | * @see http://dev.w3.org/csswg/cssom/#the-cssrule-interface 9 | * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule 10 | */ 11 | CSSOM.CSSRule = function CSSRule() { 12 | this.parentRule = null; 13 | this.parentStyleSheet = null; 14 | }; 15 | 16 | CSSOM.CSSRule.STYLE_RULE = 1; 17 | CSSOM.CSSRule.IMPORT_RULE = 3; 18 | CSSOM.CSSRule.MEDIA_RULE = 4; 19 | CSSOM.CSSRule.FONT_FACE_RULE = 5; 20 | CSSOM.CSSRule.PAGE_RULE = 6; 21 | CSSOM.CSSRule.WEBKIT_KEYFRAMES_RULE = 8; 22 | CSSOM.CSSRule.WEBKIT_KEYFRAME_RULE = 9; 23 | 24 | // Obsolete in CSSOM http://dev.w3.org/csswg/cssom/ 25 | //CSSOM.CSSRule.UNKNOWN_RULE = 0; 26 | //CSSOM.CSSRule.CHARSET_RULE = 2; 27 | 28 | // Never implemented 29 | //CSSOM.CSSRule.VARIABLES_RULE = 7; 30 | 31 | CSSOM.CSSRule.prototype = { 32 | constructor: CSSOM.CSSRule 33 | //FIXME 34 | }; 35 | 36 | 37 | //.CommonJS 38 | exports.CSSRule = CSSOM.CSSRule; 39 | ///CommonJS 40 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/cssom/lib/MediaList.js: -------------------------------------------------------------------------------- 1 | //.CommonJS 2 | var CSSOM = {}; 3 | ///CommonJS 4 | 5 | 6 | /** 7 | * @constructor 8 | * @see http://dev.w3.org/csswg/cssom/#the-medialist-interface 9 | */ 10 | CSSOM.MediaList = function MediaList(){ 11 | this.length = 0; 12 | }; 13 | 14 | CSSOM.MediaList.prototype = { 15 | 16 | constructor: CSSOM.MediaList, 17 | 18 | /** 19 | * @return {string} 20 | */ 21 | get mediaText() { 22 | return Array.prototype.join.call(this, ", "); 23 | }, 24 | 25 | /** 26 | * @param {string} value 27 | */ 28 | set mediaText(value) { 29 | var values = value.split(","); 30 | var length = this.length = values.length; 31 | for (var i=0; i=0.2.0" 29 | }, 30 | "devDependencies": { 31 | "jake": "0.2.x" 32 | }, 33 | "licenses": [ 34 | { 35 | "type": "MIT", 36 | "url": "http://creativecommons.org/licenses/MIT/" 37 | } 38 | ], 39 | "scripts": { 40 | "prepublish": "jake lib/index.js" 41 | }, 42 | "_npmUser": { 43 | "name": "ddollar", 44 | "email": "ddollar@gmail.com" 45 | }, 46 | "_id": "cssom@0.2.3", 47 | "dependencies": {}, 48 | "optionalDependencies": {}, 49 | "_engineSupported": true, 50 | "_npmVersion": "1.1.21", 51 | "_nodeVersion": "v0.6.17", 52 | "_defaultsLoaded": true, 53 | "_from": "cssom@0.2.x" 54 | } 55 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.7.0 / 2012-05-04 3 | ================== 4 | 5 | * Added .component to package.json 6 | * Added debug.component.js build 7 | 8 | 0.6.0 / 2012-03-16 9 | ================== 10 | 11 | * Added support for "-" prefix in DEBUG [Vinay Pulim] 12 | * Added `.enabled` flag to the node version [TooTallNate] 13 | 14 | 0.5.0 / 2012-02-02 15 | ================== 16 | 17 | * Added: humanize diffs. Closes #8 18 | * Added `debug.disable()` to the CS variant 19 | * Removed padding. Closes #10 20 | * Fixed: persist client-side variant again. Closes #9 21 | 22 | 0.4.0 / 2012-02-01 23 | ================== 24 | 25 | * Added browser variant support for older browsers [TooTallNate] 26 | * Added `debug.enable('project:*')` to browser variant [TooTallNate] 27 | * Added padding to diff (moved it to the right) 28 | 29 | 0.3.0 / 2012-01-26 30 | ================== 31 | 32 | * Added millisecond diff when isatty, otherwise UTC string 33 | 34 | 0.2.0 / 2012-01-22 35 | ================== 36 | 37 | * Added wildcard support 38 | 39 | 0.1.0 / 2011-12-02 40 | ================== 41 | 42 | * Added: remove colors unless stderr isatty [TooTallNate] 43 | 44 | 0.0.1 / 2010-01-03 45 | ================== 46 | 47 | * Initial release 48 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | debug.component.js: head.js debug.js tail.js 3 | cat $^ > $@ 4 | 5 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/example/app.js: -------------------------------------------------------------------------------- 1 | 2 | var debug = require('../')('http') 3 | , http = require('http') 4 | , name = 'My App'; 5 | 6 | // fake app 7 | 8 | debug('booting %s', name); 9 | 10 | http.createServer(function(req, res){ 11 | debug(req.method + ' ' + req.url); 12 | res.end('hello\n'); 13 | }).listen(3000, function(){ 14 | debug('listening'); 15 | }); 16 | 17 | // fake worker of some kind 18 | 19 | require('./worker'); -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/example/browser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | debug() 4 | 5 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/example/wildcards.js: -------------------------------------------------------------------------------- 1 | 2 | var debug = { 3 | foo: require('../')('test:foo'), 4 | bar: require('../')('test:bar'), 5 | baz: require('../')('test:baz') 6 | }; 7 | 8 | debug.foo('foo') 9 | debug.bar('bar') 10 | debug.baz('baz') -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/example/worker.js: -------------------------------------------------------------------------------- 1 | 2 | // DEBUG=* node example/worker 3 | // DEBUG=worker:* node example/worker 4 | // DEBUG=worker:a node example/worker 5 | // DEBUG=worker:b node example/worker 6 | 7 | var a = require('../')('worker:a') 8 | , b = require('../')('worker:b'); 9 | 10 | function work() { 11 | a('doing lots of uninteresting work'); 12 | setTimeout(work, Math.random() * 1000); 13 | } 14 | 15 | work(); 16 | 17 | function workb() { 18 | b('doing some work'); 19 | setTimeout(workb, Math.random() * 2000); 20 | } 21 | 22 | workb(); -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/head.js: -------------------------------------------------------------------------------- 1 | ;(function(){ 2 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/debug'); -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "version": "0.7.0", 4 | "description": "small debugging utility", 5 | "keywords": [ 6 | "debug", 7 | "log", 8 | "debugger" 9 | ], 10 | "author": { 11 | "name": "TJ Holowaychuk", 12 | "email": "tj@vision-media.ca" 13 | }, 14 | "dependencies": {}, 15 | "devDependencies": { 16 | "mocha": "*" 17 | }, 18 | "main": "index", 19 | "engines": { 20 | "node": "*" 21 | }, 22 | "component": { 23 | "scripts": { 24 | "debug": "debug.component.js" 25 | } 26 | }, 27 | "_npmUser": { 28 | "name": "ddollar", 29 | "email": "ddollar@gmail.com" 30 | }, 31 | "_id": "debug@0.7.0", 32 | "optionalDependencies": {}, 33 | "_engineSupported": true, 34 | "_npmVersion": "1.1.21", 35 | "_nodeVersion": "v0.6.17", 36 | "_defaultsLoaded": true, 37 | "_from": "debug@*" 38 | } 39 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/debug/tail.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = debug; 3 | 4 | })(); -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/.gitignore.orig: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/.gitignore.rej: -------------------------------------------------------------------------------- 1 | --- /dev/null 2 | +++ .gitignore 3 | @@ -0,0 +1,2 @@ 4 | +node_modules/ 5 | +npm-debug.log -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 James Halliday (mail@substack.net) 2 | 3 | This project is free software released under the MIT/X11 license: 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/examples/pow.js.orig: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/examples/pow.js.rej: -------------------------------------------------------------------------------- 1 | --- examples/pow.js 2 | +++ examples/pow.js 3 | @@ -1,6 +1,15 @@ 4 | -var mkdirp = require('mkdirp').mkdirp; 5 | +var mkdirp = require('../').mkdirp, 6 | + mkdirpSync = require('../').mkdirpSync; 7 | 8 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 9 | if (err) console.error(err) 10 | else console.log('pow!') 11 | }); 12 | + 13 | +try { 14 | + mkdirpSync('/tmp/bar/foo/baz', 0755); 15 | + console.log('double pow!'); 16 | +} 17 | +catch (ex) { 18 | + console.log(ex); 19 | +} -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mkdirp", 3 | "description": "Recursively mkdir, like `mkdir -p`", 4 | "version": "0.3.2", 5 | "author": { 6 | "name": "James Halliday", 7 | "email": "mail@substack.net", 8 | "url": "http://substack.net" 9 | }, 10 | "main": "./index", 11 | "keywords": [ 12 | "mkdir", 13 | "directory" 14 | ], 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/substack/node-mkdirp.git" 18 | }, 19 | "scripts": { 20 | "test": "tap test/*.js" 21 | }, 22 | "devDependencies": { 23 | "tap": "~0.2.4" 24 | }, 25 | "license": "MIT/X11", 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "_npmUser": { 30 | "name": "ddollar", 31 | "email": "ddollar@gmail.com" 32 | }, 33 | "_id": "mkdirp@0.3.2", 34 | "dependencies": {}, 35 | "optionalDependencies": {}, 36 | "_engineSupported": true, 37 | "_npmVersion": "1.1.21", 38 | "_nodeVersion": "v0.6.17", 39 | "_defaultsLoaded": true, 40 | "_from": "mkdirp@0.3.x" 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/chmod.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | test('chmod-pre', function (t) { 16 | var mode = 0744 17 | mkdirp(file, mode, function (er) { 18 | t.ifError(er, 'should not error'); 19 | fs.stat(file, function (er, stat) { 20 | t.ifError(er, 'should exist'); 21 | t.ok(stat && stat.isDirectory(), 'should be directory'); 22 | t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); 23 | t.end(); 24 | }); 25 | }); 26 | }); 27 | 28 | test('chmod', function (t) { 29 | var mode = 0755 30 | mkdirp(file, mode, function (er) { 31 | t.ifError(er, 'should not error'); 32 | fs.stat(file, function (er, stat) { 33 | t.ifError(er, 'should exist'); 34 | t.ok(stat && stat.isDirectory(), 'should be directory'); 35 | t.end(); 36 | }); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/clobber.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | // a file in the way 16 | var itw = ps.slice(0, 3).join('/'); 17 | 18 | 19 | test('clobber-pre', function (t) { 20 | console.error("about to write to "+itw) 21 | fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); 22 | 23 | fs.stat(itw, function (er, stat) { 24 | t.ifError(er) 25 | t.ok(stat && stat.isFile(), 'should be file') 26 | t.end() 27 | }) 28 | }) 29 | 30 | test('clobber', function (t) { 31 | t.plan(2); 32 | mkdirp(file, 0755, function (err) { 33 | t.ok(err); 34 | t.equal(err.code, 'ENOTDIR'); 35 | t.end(); 36 | }); 37 | }); 38 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/mkdirp.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('woo', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, 0755, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0755); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/perm.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('async perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) t.fail(err); 12 | else path.exists(file, function (ex) { 13 | if (!ex) t.fail('file not created') 14 | else fs.stat(file, function (err, stat) { 15 | if (err) t.fail(err) 16 | else { 17 | t.equal(stat.mode & 0777, 0755); 18 | t.ok(stat.isDirectory(), 'target not a directory'); 19 | t.end(); 20 | } 21 | }) 22 | }) 23 | }); 24 | }); 25 | 26 | test('async root perm', function (t) { 27 | mkdirp('/tmp', 0755, function (err) { 28 | if (err) t.fail(err); 29 | t.end(); 30 | }); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/perm_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; 9 | 10 | mkdirp.sync(file, 0755); 11 | path.exists(file, function (ex) { 12 | if (!ex) t.fail('file not created') 13 | else fs.stat(file, function (err, stat) { 14 | if (err) t.fail(err) 15 | else { 16 | t.equal(stat.mode & 0777, 0755); 17 | t.ok(stat.isDirectory(), 'target not a directory'); 18 | t.end(); 19 | } 20 | }) 21 | }); 22 | }); 23 | 24 | test('sync root perm', function (t) { 25 | t.plan(1); 26 | 27 | var file = '/tmp'; 28 | mkdirp.sync(file, 0755); 29 | path.exists(file, function (ex) { 30 | if (!ex) t.fail('file not created') 31 | else fs.stat(file, function (err, stat) { 32 | if (err) t.fail(err) 33 | else { 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | t.end(); 36 | } 37 | }) 38 | }); 39 | }); 40 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/race.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('race', function (t) { 7 | t.plan(4); 8 | var ps = [ '', 'tmp' ]; 9 | 10 | for (var i = 0; i < 25; i++) { 11 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | ps.push(dir); 13 | } 14 | var file = ps.join('/'); 15 | 16 | var res = 2; 17 | mk(file, function () { 18 | if (--res === 0) t.end(); 19 | }); 20 | 21 | mk(file, function () { 22 | if (--res === 0) t.end(); 23 | }); 24 | 25 | function mk (file, cb) { 26 | mkdirp(file, 0755, function (err) { 27 | if (err) t.fail(err); 28 | else path.exists(file, function (ex) { 29 | if (!ex) t.fail('file not created') 30 | else fs.stat(file, function (err, stat) { 31 | if (err) t.fail(err) 32 | else { 33 | t.equal(stat.mode & 0777, 0755); 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | if (cb) cb(); 36 | } 37 | }) 38 | }) 39 | }); 40 | } 41 | }); 42 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/rel.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('rel', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var cwd = process.cwd(); 13 | process.chdir('/tmp'); 14 | 15 | var file = [x,y,z].join('/'); 16 | 17 | mkdirp(file, 0755, function (err) { 18 | if (err) t.fail(err); 19 | else path.exists(file, function (ex) { 20 | if (!ex) t.fail('file not created') 21 | else fs.stat(file, function (err, stat) { 22 | if (err) t.fail(err) 23 | else { 24 | process.chdir(cwd); 25 | t.equal(stat.mode & 0777, 0755); 26 | t.ok(stat.isDirectory(), 'target not a directory'); 27 | t.end(); 28 | } 29 | }) 30 | }) 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/return.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(4); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | mkdirp(file, function (err, made) { 18 | t.ifError(err); 19 | t.equal(made, '/tmp/' + x); 20 | mkdirp(file, function (err, made) { 21 | t.ifError(err); 22 | t.equal(made, null); 23 | }); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/return_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | // Note that this will throw on failure, which will fail the test. 18 | var made = mkdirp.sync(file); 19 | t.equal(made, '/tmp/' + x); 20 | 21 | // making the same file again should have no effect. 22 | made = mkdirp.sync(file); 23 | t.equal(made, null); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file, 0755); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, 0755); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/umask.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('implicit mode from umask', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0777 & (~process.umask())); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/stylus/node_modules/mkdirp/test/umask_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('umask sync modes', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file, 0755); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, (0777 & (~process.umask()))); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/stylus/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stylus", 3 | "description": "Robust, expressive, and feature-rich CSS superset", 4 | "version": "0.26.1", 5 | "author": { 6 | "name": "TJ Holowaychuk", 7 | "email": "tj@vision-media.ca" 8 | }, 9 | "keywords": [ 10 | "css", 11 | "parser", 12 | "style", 13 | "stylesheets", 14 | "jade", 15 | "language" 16 | ], 17 | "repository": { 18 | "type": "git", 19 | "url": "git://github.com/learnboost/stylus.git" 20 | }, 21 | "main": "./index.js", 22 | "engines": { 23 | "node": "*" 24 | }, 25 | "bin": { 26 | "stylus": "./bin/stylus" 27 | }, 28 | "scripts": { 29 | "prepublish": "npm prune", 30 | "test": "make test" 31 | }, 32 | "dependencies": { 33 | "cssom": "0.2.x", 34 | "mkdirp": "0.3.x", 35 | "debug": "*" 36 | }, 37 | "devDependencies": { 38 | "should": "*", 39 | "mocha": "*" 40 | }, 41 | "_npmUser": { 42 | "name": "ddollar", 43 | "email": "ddollar@gmail.com" 44 | }, 45 | "_id": "stylus@0.26.1", 46 | "optionalDependencies": {}, 47 | "_engineSupported": true, 48 | "_npmVersion": "1.1.21", 49 | "_nodeVersion": "v0.6.17", 50 | "_defaultsLoaded": true, 51 | "_from": "stylus@0.26.x" 52 | } 53 | -------------------------------------------------------------------------------- /node_modules/stylus/testing/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var stylus = require('../') 7 | , fs = require('fs') 8 | , path = 'testing/small.styl' 9 | , str = fs.readFileSync(path, 'utf8'); 10 | 11 | var start = new Date; 12 | 13 | str = str.replace(/\s*,\s*/g, ', '); 14 | 15 | stylus(str) 16 | .set('filename', path) 17 | .render(function(err, css){ 18 | if (err) throw err; 19 | console.log(css); 20 | // console.log('%dms', new Date - start); 21 | }); -------------------------------------------------------------------------------- /node_modules/stylus/testing/small.styl: -------------------------------------------------------------------------------- 1 | 2 | mixin(a, rest...) 3 | foo: a 4 | bar: rest 5 | 6 | body 7 | mixin(foo bar, bar baz, hey) 8 | mixin: foo bar, bar baz, hey 9 | 10 | // html 11 | // body 12 | // prefixes = webkit moz o 13 | // for prefix in prefixes 14 | // -#{prefix}-border-radius: 5px 15 | 16 | // #main 17 | // margin: 0 auto 18 | // @media (min-width: 480px) 19 | // & 20 | // padding: 0 .5em 21 | 22 | // print() 23 | // error('block required') unless block 24 | // @media print { 25 | // & { 26 | // block 27 | // } 28 | // } 29 | // 30 | // body 31 | // foo: bar 32 | // print() 33 | // background: white 34 | // #header 35 | // display: none 36 | 37 | // mixin() 38 | // if block 39 | // .nested 40 | // block 41 | // else 42 | // no: "block was given" 43 | // 44 | // body 45 | // one: 1 46 | // mixin() 47 | // two: 2 48 | // three: 3 49 | // mixin() 50 | // 51 | 52 | // li(n) 53 | // ul li:nth-child({n}) 54 | // block 55 | // 56 | // li(1) 57 | // display: none 58 | // 59 | // ^-- broken 60 | 61 | 62 | -------------------------------------------------------------------------------- /node_modules/temp/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | \#* 3 | .\#* 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /node_modules/temp/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 Bruce Williams 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/temp/examples/grepcount.js: -------------------------------------------------------------------------------- 1 | var temp = require('../lib/temp'), 2 | fs = require('fs'), 3 | sys = require('sys'), 4 | exec = require('child_process').exec; 5 | 6 | var myData = "foo\nbar\nfoo\nbaz"; 7 | 8 | temp.open('myprefix', function(err, info) { 9 | if (err) throw err; 10 | fs.write(info.fd, myData); 11 | fs.close(info.fd, function(err) { 12 | if (err) throw err; 13 | exec("grep foo '" + info.path + "' | wc -l", function(err, stdout) { 14 | if (err) throw err; 15 | sys.puts(stdout.trim()); 16 | }); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/temp/examples/pdfcreator.js: -------------------------------------------------------------------------------- 1 | var temp = require('../lib/temp'), 2 | fs = require('fs'), 3 | sys = require('sys'), 4 | path = require('path'), 5 | exec = require('child_process').exec; 6 | 7 | var myData = "\\starttext\nHello World\n\\stoptext"; 8 | 9 | temp.mkdir('pdfcreator', function(err, dirPath) { 10 | var inputPath = path.join(dirPath, 'input.tex') 11 | fs.writeFile(inputPath, myData, function(err) { 12 | if (err) throw err; 13 | process.chdir(dirPath); 14 | exec("texexec '" + inputPath + "'", function(err) { 15 | if (err) throw err; 16 | fs.readFile(path.join(dirPath, 'input.pdf'), function(err, data) { 17 | if (err) throw err; 18 | sys.print(data); 19 | }); 20 | }); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /node_modules/temp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "temp", 3 | "description": "Temporary files and directories", 4 | "tags": [ 5 | "temporary", 6 | "temp", 7 | "tempfile", 8 | "tempdir", 9 | "tmpfile", 10 | "tmpdir", 11 | "security" 12 | ], 13 | "version": "0.4.0", 14 | "author": { 15 | "name": "Bruce Williams", 16 | "email": "bruce@codefluency.com" 17 | }, 18 | "directories": { 19 | "lib": "lib" 20 | }, 21 | "engines": [ 22 | "node >=0.4.0" 23 | ], 24 | "main": "./lib/temp", 25 | "dependencies": {}, 26 | "devDependencies": {}, 27 | "repository": { 28 | "type": "git", 29 | "url": "git://github.com/bruce/node-temp.git" 30 | }, 31 | "_npmUser": { 32 | "name": "ddollar", 33 | "email": "ddollar@gmail.com" 34 | }, 35 | "_id": "temp@0.4.0", 36 | "optionalDependencies": {}, 37 | "_engineSupported": true, 38 | "_npmVersion": "1.1.21", 39 | "_nodeVersion": "v0.6.17", 40 | "_defaultsLoaded": true, 41 | "_from": "temp@0.4.x" 42 | } 43 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "anvil", 3 | "version": "0.0.1", 4 | 5 | "dependencies": { 6 | "async": "0.1.x", 7 | "coffee-script": "1.2.x", 8 | "commander": "0.6.x", 9 | "express": "2.5.x", 10 | "knox": "0.0.9", 11 | "mkdirp": "0.3.x", 12 | "node-uuid": "1.3.x", 13 | "nodemon": "0.6.18", 14 | "restler": "2.0.x", 15 | "stylus": "0.26.x", 16 | "temp": "0.4.x" 17 | }, 18 | 19 | "engines": { 20 | "node": "0.6.x", 21 | "npm": ">= 1.1.0 <=1.1.46" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /script/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | #/ Usage: build [-g] 4 | #/ 5 | #/ build anvil using the anvil- app 6 | #/ 7 | #/ slug url will be output to stdout 8 | #/ build output will be output to stderr 9 | #/ 10 | #/ -g: use git remote as build source 11 | 12 | # fail fast 13 | set -o errexit 14 | set -o pipefail 15 | 16 | echo() { 17 | /bin/echo $* 18 | } 19 | 20 | error() { 21 | /bin/echo $*; exit 1 22 | } 23 | 24 | check_env() { 25 | [[ ${!1} ]] || error "Environment variable ${1} is not set." 26 | } 27 | 28 | usage() { 29 | cat $0 | grep '^#/' | cut -c4- 30 | } 31 | 32 | root=$(dirname $(dirname $0)) 33 | 34 | while getopts "hg" opt; do 35 | case $opt in 36 | h) usage; exit 0 ;; 37 | g) root="https://github.com/ddollar/anvil.git" ;; 38 | ?) usage; exit 0 ;; 39 | esac 40 | done 41 | 42 | shift $((OPTIND-1)) 43 | 44 | build_environment=$1 45 | 46 | if [ "$build_environment" == "" ]; then 47 | error "Must specify a build environment." 48 | fi 49 | 50 | echo "Building using ${build_environment} anvil..." >&2 51 | env ANVIL_HOST="https://anvil-${build_environment}.herokuapp.com" heroku build $root -p 52 | -------------------------------------------------------------------------------- /script/copy: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | #/ Usage: copy 4 | #/ 5 | #/ copy the slug from anvil- to anvil- 6 | 7 | 8 | # fail fast 9 | set -o errexit 10 | set -o pipefail 11 | 12 | echo() { 13 | /bin/echo $* 14 | } 15 | 16 | error() { 17 | /bin/echo $*; exit 1 18 | } 19 | 20 | check_env() { 21 | [[ ${!1} ]] || error "Environment variable ${1} is not set." 22 | } 23 | 24 | usage() { 25 | cat $0 | grep '^#/' | cut -c4- 26 | } 27 | 28 | check_env AWS_ACCESS 29 | check_env AWS_SECRET 30 | check_env S3_BUCKET 31 | 32 | root=$(dirname $(dirname $0)) 33 | 34 | while getopts "h" opt; do 35 | case $opt in 36 | h) usage; exit 0 ;; 37 | ?) usage; exit 0 ;; 38 | esac 39 | done 40 | 41 | shift $((OPTIND-1)) 42 | 43 | from="$1" 44 | to="$2" 45 | 46 | if [ "$from" == "" ]; then 47 | echo "Must specify the 'from' environment." 48 | fi 49 | 50 | if [ "$to" == "" ]; then 51 | echo "Must speicyf the 'to' environment." 52 | fi 53 | 54 | slug_url="https://anvil-datastore.s3.amazonaws.com/software/anvil-$from.tgz" 55 | 56 | script/release $to $slug_url 57 | script/upload $slug_url $to 58 | -------------------------------------------------------------------------------- /script/push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # fail fast 4 | set -o errexit 5 | set -o pipefail 6 | 7 | git="https://github.com/ddollar/anvil.git" 8 | 9 | # release what is on github to anvil-staging 10 | env ANVIL_HOST=https://api.anvilworks.org heroku build $git -r -a anvil-staging 11 | 12 | # use the newly-deployed compiler to build itself twice more to 13 | # make sure we have a compiler that can build working apps 14 | env ANVIL_HOST=https://anvil-staging.herokuapp.com heroku build $git -r -a anvil-staging 15 | env ANVIL_HOST=https://anvil-staging.herokuapp.com heroku build $git -r -a anvil-staging 16 | 17 | # staging is good, make one more new slug off of it 18 | slug=$(env ANVIL_HOST=https://anvil-staging.herokuapp.com heroku build $git -p -a anvil-staging) 19 | 20 | # release to standard staging and production 21 | heroku release $slug -a anvil-staging 22 | heroku release $slug -a anvil-production 23 | -------------------------------------------------------------------------------- /script/release: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | #/ Usage: release 4 | #/ 5 | #/ release to anvil- 6 | #/ will attempt to read from stdin if not present 7 | #/ on the command line 8 | 9 | 10 | # fail fast 11 | set -o errexit 12 | set -o pipefail 13 | 14 | echo() { 15 | /bin/echo $* 16 | } 17 | 18 | error() { 19 | /bin/echo $*; exit 1 20 | } 21 | 22 | usage() { 23 | cat $0 | grep '^#/' | cut -c4- 24 | } 25 | 26 | while getopts "h" opt; do 27 | case $opt in 28 | h) usage; exit 0 ;; 29 | ?) usage; exit 0 ;; 30 | esac 31 | done 32 | 33 | shift $((OPTIND-1)) 34 | 35 | environment=$1 36 | slug_url=$2 37 | 38 | if [ "$environment" == "" ]; then 39 | error "Must specify a release environment." 40 | fi 41 | 42 | if [ "$slug_url" == "" ]; then 43 | read slug_url 44 | fi 45 | 46 | if [ "$slug_url" == "" ]; then 47 | error "Must specify a slug url." 48 | fi 49 | 50 | echo -n "Releasing ${slug_url} to anvil-${environment}... " 51 | heroku release $slug_url -a anvil-$environment >/dev/null 52 | echo "done" 53 | -------------------------------------------------------------------------------- /script/s3: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('coffee-script'); 4 | require('../lib/s3').execute(process.argv); 5 | -------------------------------------------------------------------------------- /script/upload: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | #/ Usage: upload 4 | #/ 5 | #/ upload the slug_url to s3 as permanent storage 6 | 7 | # fail fast 8 | set -o errexit 9 | set -o pipefail 10 | 11 | echo() { 12 | /bin/echo $* 13 | } 14 | 15 | error() { 16 | /bin/echo $*; exit 1 17 | } 18 | 19 | check_env() { 20 | [[ ${!1} ]] || error "Environment variable ${1} is not set." 21 | } 22 | 23 | usage() { 24 | cat $0 | grep '^#/' | cut -c4- 25 | } 26 | 27 | check_env AWS_ACCESS 28 | check_env AWS_SECRET 29 | check_env S3_BUCKET 30 | 31 | root=$(dirname $(dirname $0)) 32 | 33 | while getopts "h" opt; do 34 | case $opt in 35 | h) usage; exit 0 ;; 36 | ?) usage; exit 0 ;; 37 | esac 38 | done 39 | 40 | shift $((OPTIND-1)) 41 | 42 | slug_url=$1 43 | environment=$2 44 | 45 | if [ "$slug_url" == "" ]; then 46 | error "Must specify a slug url." 47 | fi 48 | 49 | if [ "$environment" == "" ]; then 50 | error "Must specify an environment." 51 | fi 52 | 53 | echo -n "Uploading ${slug_url} to S3 as ${environment}... " 54 | downloaded=$(mktemp -t build_XXXXX) 55 | curl -s $slug_url -o $downloaded 56 | $root/script/s3 put $downloaded /software/anvil-$environment.tgz >/dev/null 2>&1 57 | echo "done" 58 | --------------------------------------------------------------------------------