├── README.md
├── ansible
├── dev
│ ├── group_vars
│ │ ├── dynamic
│ │ └── static
│ ├── host_vars
│ │ └── dynamic-1
│ └── hosts
├── dynamic.yml
├── roles
│ ├── common
│ │ └── tasks
│ │ │ ├── git.yml
│ │ │ ├── main.yml
│ │ │ └── nodejs.yml
│ ├── dynamic
│ │ ├── files
│ │ │ └── demo.conf
│ │ ├── handlers
│ │ │ └── main.yml
│ │ ├── meta
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── vars
│ │ │ └── main.yml
│ ├── nginx
│ │ ├── handlers
│ │ │ └── main.yml
│ │ └── tasks
│ │ │ └── main.yml
│ ├── sites
│ │ ├── defaults
│ │ │ └── main.yml
│ │ ├── handlers
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ │ ├── dynamic.j2
│ │ │ └── static.j2
│ ├── static
│ │ ├── files
│ │ │ ├── about.html
│ │ │ └── index.html
│ │ ├── handlers
│ │ │ └── main.yml
│ │ ├── meta
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── vars
│ │ │ └── main.yml
│ └── web
│ │ └── meta
│ │ └── main.yml
├── site.yml
└── static.yml
├── app
├── app.js
├── bin
│ └── www
├── node_modules
│ ├── .bin
│ │ └── jade
│ ├── body-parser
│ │ ├── .npmignore
│ │ ├── .travis.yml
│ │ ├── HISTORY.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── index.js
│ │ ├── node_modules
│ │ │ ├── qs
│ │ │ │ ├── .gitmodules
│ │ │ │ ├── .npmignore
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── raw-body
│ │ │ │ ├── .npmignore
│ │ │ │ ├── HISTORY.md
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── bytes
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── History.md
│ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ ├── Readme.md
│ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── package.json
│ │ │ │ │ └── string_decoder
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── package.json
│ │ │ │ └── package.json
│ │ │ └── type-is
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── HISTORY.md
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── node_modules
│ │ │ │ └── mime
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── mime.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── test.js
│ │ │ │ │ └── types
│ │ │ │ │ ├── mime.types
│ │ │ │ │ └── node.types
│ │ │ │ └── package.json
│ │ └── package.json
│ ├── cookie-parser
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── index.js
│ │ ├── lib
│ │ │ └── parse.js
│ │ ├── node_modules
│ │ │ ├── cookie-signature
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── Makefile
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ └── cookie
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── package.json
│ │ │ │ └── test
│ │ │ │ ├── mocha.opts
│ │ │ │ ├── parse.js
│ │ │ │ └── serialize.js
│ │ ├── package.json
│ │ └── test
│ │ │ └── cookieParser.js
│ ├── debug
│ │ ├── Readme.md
│ │ ├── debug.js
│ │ ├── index.js
│ │ ├── lib
│ │ │ └── debug.js
│ │ └── package.json
│ ├── express
│ │ ├── .npmignore
│ │ ├── History.md
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── Readme.md
│ │ ├── index.js
│ │ ├── lib
│ │ │ ├── application.js
│ │ │ ├── express.js
│ │ │ ├── middleware
│ │ │ │ ├── init.js
│ │ │ │ └── query.js
│ │ │ ├── request.js
│ │ │ ├── response.js
│ │ │ ├── router
│ │ │ │ ├── index.js
│ │ │ │ ├── layer.js
│ │ │ │ └── route.js
│ │ │ ├── utils.js
│ │ │ └── view.js
│ │ ├── node_modules
│ │ │ ├── accepts
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── mime
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── mime.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── types
│ │ │ │ │ │ │ ├── mime.types
│ │ │ │ │ │ │ └── node.types
│ │ │ │ │ └── negotiator
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ ├── charset.js
│ │ │ │ │ │ ├── encoding.js
│ │ │ │ │ │ ├── language.js
│ │ │ │ │ │ ├── mediaType.js
│ │ │ │ │ │ └── negotiator.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── readme.md
│ │ │ │ └── package.json
│ │ │ ├── buffer-crc32
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── package.json
│ │ │ │ └── tests
│ │ │ │ │ └── crc.test.js
│ │ │ ├── cookie-signature
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── Makefile
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── cookie
│ │ │ │ ├── .npmignore
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── debug
│ │ │ │ ├── Readme.md
│ │ │ │ ├── debug.js
│ │ │ │ ├── lib
│ │ │ │ │ └── debug.js
│ │ │ │ └── package.json
│ │ │ ├── escape-html
│ │ │ │ ├── .npmignore
│ │ │ │ ├── Makefile
│ │ │ │ ├── Readme.md
│ │ │ │ ├── component.json
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── fresh
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── Makefile
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── merge-descriptors
│ │ │ │ ├── .npmignore
│ │ │ │ ├── README.md
│ │ │ │ ├── component.json
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── methods
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ ├── package.json
│ │ │ │ └── test
│ │ │ │ │ └── methods.js
│ │ │ ├── parseurl
│ │ │ │ ├── .npmignore
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── path-to-regexp
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── Readme.md
│ │ │ │ ├── component.json
│ │ │ │ ├── index.js
│ │ │ │ ├── package.json
│ │ │ │ └── test.js
│ │ │ ├── qs
│ │ │ │ ├── .gitmodules
│ │ │ │ ├── .npmignore
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── range-parser
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── Makefile
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── send
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── send.js
│ │ │ │ │ └── utils.js
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── debug
│ │ │ │ │ │ ├── Readme.md
│ │ │ │ │ │ ├── debug.js
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ └── debug.js
│ │ │ │ │ │ └── package.json
│ │ │ │ │ └── mime
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── mime.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── types
│ │ │ │ │ │ ├── mime.types
│ │ │ │ │ │ └── node.types
│ │ │ │ └── package.json
│ │ │ ├── serve-static
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── History.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── type-is
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── HISTORY.md
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── node_modules
│ │ │ │ │ └── mime
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── mime.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── types
│ │ │ │ │ │ ├── mime.types
│ │ │ │ │ │ └── node.types
│ │ │ │ └── package.json
│ │ │ └── utils-merge
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ └── package.json
│ ├── jade
│ │ ├── .npmignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── Readme_zh-cn.md
│ │ ├── bin
│ │ │ └── jade.js
│ │ ├── component.json
│ │ ├── index.js
│ │ ├── jade-language.md
│ │ ├── jade.js
│ │ ├── jade.md
│ │ ├── lib
│ │ │ ├── compiler.js
│ │ │ ├── doctypes.js
│ │ │ ├── filters-client.js
│ │ │ ├── filters.js
│ │ │ ├── inline-tags.js
│ │ │ ├── jade.js
│ │ │ ├── lexer.js
│ │ │ ├── nodes
│ │ │ │ ├── attrs.js
│ │ │ │ ├── block-comment.js
│ │ │ │ ├── block.js
│ │ │ │ ├── case.js
│ │ │ │ ├── code.js
│ │ │ │ ├── comment.js
│ │ │ │ ├── doctype.js
│ │ │ │ ├── each.js
│ │ │ │ ├── filter.js
│ │ │ │ ├── index.js
│ │ │ │ ├── literal.js
│ │ │ │ ├── mixin-block.js
│ │ │ │ ├── mixin.js
│ │ │ │ ├── node.js
│ │ │ │ ├── tag.js
│ │ │ │ └── text.js
│ │ │ ├── parser.js
│ │ │ ├── runtime.js
│ │ │ ├── self-closing.js
│ │ │ └── utils.js
│ │ ├── node_modules
│ │ │ ├── character-parser
│ │ │ │ ├── .npmignore
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── commander
│ │ │ │ ├── Readme.md
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── constantinople
│ │ │ │ ├── .gitattributes
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── .bin
│ │ │ │ │ │ └── uglifyjs
│ │ │ │ │ └── uglify-js
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── bin
│ │ │ │ │ │ └── uglifyjs
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ ├── ast.js
│ │ │ │ │ │ ├── compress.js
│ │ │ │ │ │ ├── mozilla-ast.js
│ │ │ │ │ │ ├── output.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── scope.js
│ │ │ │ │ │ ├── sourcemap.js
│ │ │ │ │ │ ├── transform.js
│ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ ├── async
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ │ └── async.js
│ │ │ │ │ │ │ └── package.json
│ │ │ │ │ │ ├── optimist
│ │ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ │ ├── bool.js
│ │ │ │ │ │ │ │ ├── boolean_double.js
│ │ │ │ │ │ │ │ ├── boolean_single.js
│ │ │ │ │ │ │ │ ├── default_hash.js
│ │ │ │ │ │ │ │ ├── default_singles.js
│ │ │ │ │ │ │ │ ├── divide.js
│ │ │ │ │ │ │ │ ├── line_count.js
│ │ │ │ │ │ │ │ ├── line_count_options.js
│ │ │ │ │ │ │ │ ├── line_count_wrap.js
│ │ │ │ │ │ │ │ ├── nonopt.js
│ │ │ │ │ │ │ │ ├── reflect.js
│ │ │ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ │ │ ├── string.js
│ │ │ │ │ │ │ │ ├── usage-options.js
│ │ │ │ │ │ │ │ └── xup.js
│ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ │ └── wordwrap
│ │ │ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ │ │ ├── README.markdown
│ │ │ │ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ │ │ ├── center.js
│ │ │ │ │ │ │ │ │ └── meat.js
│ │ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ │ ├── break.js
│ │ │ │ │ │ │ │ │ ├── idleness.txt
│ │ │ │ │ │ │ │ │ └── wrap.js
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ ├── _.js
│ │ │ │ │ │ │ │ ├── _
│ │ │ │ │ │ │ │ ├── argv.js
│ │ │ │ │ │ │ │ └── bin.js
│ │ │ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ │ │ └── usage.js
│ │ │ │ │ │ ├── source-map
│ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ ├── .tern-port
│ │ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ │ ├── CHANGELOG.md
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── Makefile.dryice.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ │ ├── assert-shim.js
│ │ │ │ │ │ │ │ ├── mini-require.js
│ │ │ │ │ │ │ │ ├── prefix-source-map.jsm
│ │ │ │ │ │ │ │ ├── prefix-utils.jsm
│ │ │ │ │ │ │ │ ├── suffix-browser.js
│ │ │ │ │ │ │ │ ├── suffix-source-map.jsm
│ │ │ │ │ │ │ │ ├── suffix-utils.jsm
│ │ │ │ │ │ │ │ ├── test-prefix.js
│ │ │ │ │ │ │ │ └── test-suffix.js
│ │ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ │ ├── source-map.js
│ │ │ │ │ │ │ │ └── source-map
│ │ │ │ │ │ │ │ │ ├── array-set.js
│ │ │ │ │ │ │ │ │ ├── base64-vlq.js
│ │ │ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ │ │ ├── binary-search.js
│ │ │ │ │ │ │ │ │ ├── source-map-consumer.js
│ │ │ │ │ │ │ │ │ ├── source-map-generator.js
│ │ │ │ │ │ │ │ │ ├── source-node.js
│ │ │ │ │ │ │ │ │ └── util.js
│ │ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ │ └── amdefine
│ │ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ │ ├── amdefine.js
│ │ │ │ │ │ │ │ │ ├── intercept.js
│ │ │ │ │ │ │ │ │ └── package.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ ├── run-tests.js
│ │ │ │ │ │ │ │ └── source-map
│ │ │ │ │ │ │ │ ├── test-api.js
│ │ │ │ │ │ │ │ ├── test-array-set.js
│ │ │ │ │ │ │ │ ├── test-base64-vlq.js
│ │ │ │ │ │ │ │ ├── test-base64.js
│ │ │ │ │ │ │ │ ├── test-binary-search.js
│ │ │ │ │ │ │ │ ├── test-dog-fooding.js
│ │ │ │ │ │ │ │ ├── test-source-map-consumer.js
│ │ │ │ │ │ │ │ ├── test-source-map-generator.js
│ │ │ │ │ │ │ │ ├── test-source-node.js
│ │ │ │ │ │ │ │ ├── test-util.js
│ │ │ │ │ │ │ │ └── util.js
│ │ │ │ │ │ └── uglify-to-browserify
│ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── test
│ │ │ │ │ │ ├── compress
│ │ │ │ │ │ │ ├── arrays.js
│ │ │ │ │ │ │ ├── blocks.js
│ │ │ │ │ │ │ ├── concat-strings.js
│ │ │ │ │ │ │ ├── conditionals.js
│ │ │ │ │ │ │ ├── dead-code.js
│ │ │ │ │ │ │ ├── debugger.js
│ │ │ │ │ │ │ ├── drop-unused.js
│ │ │ │ │ │ │ ├── issue-105.js
│ │ │ │ │ │ │ ├── issue-12.js
│ │ │ │ │ │ │ ├── issue-126.js
│ │ │ │ │ │ │ ├── issue-143.js
│ │ │ │ │ │ │ ├── issue-22.js
│ │ │ │ │ │ │ ├── issue-267.js
│ │ │ │ │ │ │ ├── issue-269.js
│ │ │ │ │ │ │ ├── issue-44.js
│ │ │ │ │ │ │ ├── issue-59.js
│ │ │ │ │ │ │ ├── labels.js
│ │ │ │ │ │ │ ├── loops.js
│ │ │ │ │ │ │ ├── negate-iife.js
│ │ │ │ │ │ │ ├── properties.js
│ │ │ │ │ │ │ ├── sequences.js
│ │ │ │ │ │ │ ├── switch.js
│ │ │ │ │ │ │ └── typeof.js
│ │ │ │ │ │ └── run-tests.js
│ │ │ │ │ │ └── tools
│ │ │ │ │ │ └── node.js
│ │ │ │ ├── package.json
│ │ │ │ └── test
│ │ │ │ │ └── index.js
│ │ │ ├── mkdirp
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── examples
│ │ │ │ │ └── pow.js
│ │ │ │ ├── index.js
│ │ │ │ ├── package.json
│ │ │ │ ├── readme.markdown
│ │ │ │ └── test
│ │ │ │ │ ├── chmod.js
│ │ │ │ │ ├── clobber.js
│ │ │ │ │ ├── mkdirp.js
│ │ │ │ │ ├── perm.js
│ │ │ │ │ ├── perm_sync.js
│ │ │ │ │ ├── race.js
│ │ │ │ │ ├── rel.js
│ │ │ │ │ ├── return.js
│ │ │ │ │ ├── return_sync.js
│ │ │ │ │ ├── root.js
│ │ │ │ │ ├── sync.js
│ │ │ │ │ ├── umask.js
│ │ │ │ │ └── umask_sync.js
│ │ │ ├── monocle
│ │ │ │ ├── .npmignore
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── monocle.js
│ │ │ │ ├── node_modules
│ │ │ │ │ └── readdirp
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── Readme.md
│ │ │ │ │ │ ├── callback-api.js
│ │ │ │ │ │ ├── grep.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── stream-api-pipe.js
│ │ │ │ │ │ └── stream-api.js
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ └── minimatch
│ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── minimatch.js
│ │ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ ├── lru-cache
│ │ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ │ ├── CONTRIBUTORS
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ │ │ └── lru-cache.js
│ │ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ │ ├── basic.js
│ │ │ │ │ │ │ │ │ ├── foreach.js
│ │ │ │ │ │ │ │ │ └── memory-leak.js
│ │ │ │ │ │ │ └── sigmund
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── bench.js
│ │ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ │ ├── sigmund.js
│ │ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ └── basic.js
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ ├── basic.js
│ │ │ │ │ │ │ ├── brace-expand.js
│ │ │ │ │ │ │ ├── caching.js
│ │ │ │ │ │ │ ├── defaults.js
│ │ │ │ │ │ │ └── extglob-ending-with-state-char.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readdirp.js
│ │ │ │ │ │ ├── stream-api.js
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── bed
│ │ │ │ │ │ ├── root_dir1
│ │ │ │ │ │ │ ├── root_dir1_file1.ext1
│ │ │ │ │ │ │ ├── root_dir1_file2.ext2
│ │ │ │ │ │ │ ├── root_dir1_file3.ext3
│ │ │ │ │ │ │ └── root_dir1_subdir1
│ │ │ │ │ │ │ │ └── root1_dir1_subdir1_file1.ext1
│ │ │ │ │ │ ├── root_dir2
│ │ │ │ │ │ │ ├── root_dir2_file1.ext1
│ │ │ │ │ │ │ └── root_dir2_file2.ext2
│ │ │ │ │ │ ├── root_file1.ext1
│ │ │ │ │ │ ├── root_file2.ext2
│ │ │ │ │ │ └── root_file3.ext3
│ │ │ │ │ │ ├── readdirp-stream.js
│ │ │ │ │ │ └── readdirp.js
│ │ │ │ └── package.json
│ │ │ ├── transformers
│ │ │ │ ├── .npmignore
│ │ │ │ ├── README.md
│ │ │ │ ├── history.md
│ │ │ │ ├── lib
│ │ │ │ │ ├── shared.js
│ │ │ │ │ └── transformers.js
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── .bin
│ │ │ │ │ │ └── uglifyjs
│ │ │ │ │ ├── css
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── History.md
│ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ ├── Readme.md
│ │ │ │ │ │ ├── benchmark.js
│ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ ├── css-parse
│ │ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ │ ├── History.md
│ │ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ │ ├── Readme.md
│ │ │ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ └── package.json
│ │ │ │ │ │ │ └── css-stringify
│ │ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ │ ├── History.md
│ │ │ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ │ ├── Readme.md
│ │ │ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ └── package.json
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── promise
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── Readme.md
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ └── is-promise
│ │ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ │ └── readme.md
│ │ │ │ │ │ └── package.json
│ │ │ │ │ └── uglify-js
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── bin
│ │ │ │ │ │ └── uglifyjs
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ ├── ast.js
│ │ │ │ │ │ ├── compress.js
│ │ │ │ │ │ ├── mozilla-ast.js
│ │ │ │ │ │ ├── output.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── scope.js
│ │ │ │ │ │ ├── sourcemap.js
│ │ │ │ │ │ ├── transform.js
│ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ ├── optimist
│ │ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ │ ├── bool.js
│ │ │ │ │ │ │ │ ├── boolean_double.js
│ │ │ │ │ │ │ │ ├── boolean_single.js
│ │ │ │ │ │ │ │ ├── default_hash.js
│ │ │ │ │ │ │ │ ├── default_singles.js
│ │ │ │ │ │ │ │ ├── divide.js
│ │ │ │ │ │ │ │ ├── line_count.js
│ │ │ │ │ │ │ │ ├── line_count_options.js
│ │ │ │ │ │ │ │ ├── line_count_wrap.js
│ │ │ │ │ │ │ │ ├── nonopt.js
│ │ │ │ │ │ │ │ ├── reflect.js
│ │ │ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ │ │ ├── string.js
│ │ │ │ │ │ │ │ ├── usage-options.js
│ │ │ │ │ │ │ │ └── xup.js
│ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ │ └── wordwrap
│ │ │ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ │ │ ├── README.markdown
│ │ │ │ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ │ │ ├── center.js
│ │ │ │ │ │ │ │ │ └── meat.js
│ │ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ │ ├── break.js
│ │ │ │ │ │ │ │ │ ├── idleness.txt
│ │ │ │ │ │ │ │ │ └── wrap.js
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ ├── _.js
│ │ │ │ │ │ │ │ ├── _
│ │ │ │ │ │ │ │ ├── argv.js
│ │ │ │ │ │ │ │ └── bin.js
│ │ │ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ │ │ └── usage.js
│ │ │ │ │ │ └── source-map
│ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ │ ├── CHANGELOG.md
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── Makefile.dryice.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── assert-shim.js
│ │ │ │ │ │ │ ├── mini-require.js
│ │ │ │ │ │ │ ├── prefix-source-map.jsm
│ │ │ │ │ │ │ ├── prefix-utils.jsm
│ │ │ │ │ │ │ ├── suffix-browser.js
│ │ │ │ │ │ │ ├── suffix-source-map.jsm
│ │ │ │ │ │ │ ├── suffix-utils.jsm
│ │ │ │ │ │ │ ├── test-prefix.js
│ │ │ │ │ │ │ └── test-suffix.js
│ │ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ ├── source-map.js
│ │ │ │ │ │ │ └── source-map
│ │ │ │ │ │ │ │ ├── array-set.js
│ │ │ │ │ │ │ │ ├── base64-vlq.js
│ │ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ │ ├── binary-search.js
│ │ │ │ │ │ │ │ ├── source-map-consumer.js
│ │ │ │ │ │ │ │ ├── source-map-generator.js
│ │ │ │ │ │ │ │ ├── source-node.js
│ │ │ │ │ │ │ │ └── util.js
│ │ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ └── amdefine
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── amdefine.js
│ │ │ │ │ │ │ │ ├── intercept.js
│ │ │ │ │ │ │ │ └── package.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ ├── run-tests.js
│ │ │ │ │ │ │ └── source-map
│ │ │ │ │ │ │ ├── test-api.js
│ │ │ │ │ │ │ ├── test-array-set.js
│ │ │ │ │ │ │ ├── test-base64-vlq.js
│ │ │ │ │ │ │ ├── test-base64.js
│ │ │ │ │ │ │ ├── test-binary-search.js
│ │ │ │ │ │ │ ├── test-dog-fooding.js
│ │ │ │ │ │ │ ├── test-source-map-consumer.js
│ │ │ │ │ │ │ ├── test-source-map-generator.js
│ │ │ │ │ │ │ ├── test-source-node.js
│ │ │ │ │ │ │ ├── test-util.js
│ │ │ │ │ │ │ └── util.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── test
│ │ │ │ │ │ ├── compress
│ │ │ │ │ │ │ ├── arrays.js
│ │ │ │ │ │ │ ├── blocks.js
│ │ │ │ │ │ │ ├── conditionals.js
│ │ │ │ │ │ │ ├── dead-code.js
│ │ │ │ │ │ │ ├── debugger.js
│ │ │ │ │ │ │ ├── drop-unused.js
│ │ │ │ │ │ │ ├── issue-105.js
│ │ │ │ │ │ │ ├── issue-12.js
│ │ │ │ │ │ │ ├── issue-22.js
│ │ │ │ │ │ │ ├── issue-44.js
│ │ │ │ │ │ │ ├── issue-59.js
│ │ │ │ │ │ │ ├── labels.js
│ │ │ │ │ │ │ ├── loops.js
│ │ │ │ │ │ │ ├── properties.js
│ │ │ │ │ │ │ ├── sequences.js
│ │ │ │ │ │ │ └── switch.js
│ │ │ │ │ │ └── run-tests.js
│ │ │ │ │ │ └── tools
│ │ │ │ │ │ └── node.js
│ │ │ │ └── package.json
│ │ │ └── with
│ │ │ │ ├── .npmignore
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── index.js
│ │ │ │ ├── node_modules
│ │ │ │ ├── .bin
│ │ │ │ │ └── uglifyjs
│ │ │ │ └── uglify-js
│ │ │ │ │ ├── .npmignore
│ │ │ │ │ ├── .travis.yml
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── bin
│ │ │ │ │ └── uglifyjs
│ │ │ │ │ ├── lib
│ │ │ │ │ ├── ast.js
│ │ │ │ │ ├── compress.js
│ │ │ │ │ ├── mozilla-ast.js
│ │ │ │ │ ├── output.js
│ │ │ │ │ ├── parse.js
│ │ │ │ │ ├── scope.js
│ │ │ │ │ ├── sourcemap.js
│ │ │ │ │ ├── transform.js
│ │ │ │ │ └── utils.js
│ │ │ │ │ ├── node_modules
│ │ │ │ │ ├── async
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ └── async.js
│ │ │ │ │ │ └── package.json
│ │ │ │ │ ├── optimist
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ ├── bool.js
│ │ │ │ │ │ │ ├── boolean_double.js
│ │ │ │ │ │ │ ├── boolean_single.js
│ │ │ │ │ │ │ ├── default_hash.js
│ │ │ │ │ │ │ ├── default_singles.js
│ │ │ │ │ │ │ ├── divide.js
│ │ │ │ │ │ │ ├── line_count.js
│ │ │ │ │ │ │ ├── line_count_options.js
│ │ │ │ │ │ │ ├── line_count_wrap.js
│ │ │ │ │ │ │ ├── nonopt.js
│ │ │ │ │ │ │ ├── reflect.js
│ │ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ │ ├── string.js
│ │ │ │ │ │ │ ├── usage-options.js
│ │ │ │ │ │ │ └── xup.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ └── wordwrap
│ │ │ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ │ │ ├── README.markdown
│ │ │ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ │ ├── center.js
│ │ │ │ │ │ │ │ └── meat.js
│ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ │ ├── break.js
│ │ │ │ │ │ │ │ ├── idleness.txt
│ │ │ │ │ │ │ │ └── wrap.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ └── test
│ │ │ │ │ │ │ ├── _.js
│ │ │ │ │ │ │ ├── _
│ │ │ │ │ │ │ ├── argv.js
│ │ │ │ │ │ │ └── bin.js
│ │ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ │ └── usage.js
│ │ │ │ │ ├── source-map
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── .tern-port
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── CHANGELOG.md
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── Makefile.dryice.js
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── assert-shim.js
│ │ │ │ │ │ │ ├── mini-require.js
│ │ │ │ │ │ │ ├── prefix-source-map.jsm
│ │ │ │ │ │ │ ├── prefix-utils.jsm
│ │ │ │ │ │ │ ├── suffix-browser.js
│ │ │ │ │ │ │ ├── suffix-source-map.jsm
│ │ │ │ │ │ │ ├── suffix-utils.jsm
│ │ │ │ │ │ │ ├── test-prefix.js
│ │ │ │ │ │ │ └── test-suffix.js
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ ├── source-map.js
│ │ │ │ │ │ │ └── source-map
│ │ │ │ │ │ │ │ ├── array-set.js
│ │ │ │ │ │ │ │ ├── base64-vlq.js
│ │ │ │ │ │ │ │ ├── base64.js
│ │ │ │ │ │ │ │ ├── binary-search.js
│ │ │ │ │ │ │ │ ├── source-map-consumer.js
│ │ │ │ │ │ │ │ ├── source-map-generator.js
│ │ │ │ │ │ │ │ ├── source-node.js
│ │ │ │ │ │ │ │ └── util.js
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ └── amdefine
│ │ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ │ ├── amdefine.js
│ │ │ │ │ │ │ │ ├── intercept.js
│ │ │ │ │ │ │ │ └── package.json
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── test
│ │ │ │ │ │ │ ├── run-tests.js
│ │ │ │ │ │ │ └── source-map
│ │ │ │ │ │ │ ├── test-api.js
│ │ │ │ │ │ │ ├── test-array-set.js
│ │ │ │ │ │ │ ├── test-base64-vlq.js
│ │ │ │ │ │ │ ├── test-base64.js
│ │ │ │ │ │ │ ├── test-binary-search.js
│ │ │ │ │ │ │ ├── test-dog-fooding.js
│ │ │ │ │ │ │ ├── test-source-map-consumer.js
│ │ │ │ │ │ │ ├── test-source-map-generator.js
│ │ │ │ │ │ │ ├── test-source-node.js
│ │ │ │ │ │ │ ├── test-util.js
│ │ │ │ │ │ │ └── util.js
│ │ │ │ │ └── uglify-to-browserify
│ │ │ │ │ │ ├── .npmignore
│ │ │ │ │ │ ├── .travis.yml
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── test
│ │ │ │ │ ├── compress
│ │ │ │ │ │ ├── arrays.js
│ │ │ │ │ │ ├── blocks.js
│ │ │ │ │ │ ├── concat-strings.js
│ │ │ │ │ │ ├── conditionals.js
│ │ │ │ │ │ ├── dead-code.js
│ │ │ │ │ │ ├── debugger.js
│ │ │ │ │ │ ├── drop-unused.js
│ │ │ │ │ │ ├── issue-105.js
│ │ │ │ │ │ ├── issue-12.js
│ │ │ │ │ │ ├── issue-126.js
│ │ │ │ │ │ ├── issue-143.js
│ │ │ │ │ │ ├── issue-22.js
│ │ │ │ │ │ ├── issue-267.js
│ │ │ │ │ │ ├── issue-269.js
│ │ │ │ │ │ ├── issue-44.js
│ │ │ │ │ │ ├── issue-59.js
│ │ │ │ │ │ ├── labels.js
│ │ │ │ │ │ ├── loops.js
│ │ │ │ │ │ ├── negate-iife.js
│ │ │ │ │ │ ├── properties.js
│ │ │ │ │ │ ├── sequences.js
│ │ │ │ │ │ ├── switch.js
│ │ │ │ │ │ └── typeof.js
│ │ │ │ │ └── run-tests.js
│ │ │ │ │ └── tools
│ │ │ │ │ └── node.js
│ │ │ │ ├── package.json
│ │ │ │ └── vars.js
│ │ ├── package.json
│ │ └── runtime.js
│ ├── morgan
│ │ ├── .npmignore
│ │ ├── History.md
│ │ ├── README.md
│ │ ├── index.js
│ │ ├── node_modules
│ │ │ └── bytes
│ │ │ │ ├── .npmignore
│ │ │ │ ├── History.md
│ │ │ │ ├── Makefile
│ │ │ │ ├── Readme.md
│ │ │ │ ├── component.json
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ └── package.json
│ └── static-favicon
│ │ ├── .npmignore
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── favicon.ico
│ │ ├── index.js
│ │ └── package.json
├── package.json
├── public
│ └── stylesheets
│ │ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
└── vagrant
└── Vagrantfile
/ansible/dev/group_vars/dynamic:
--------------------------------------------------------------------------------
1 | ---
2 | sites:
3 | - dynamic-group
--------------------------------------------------------------------------------
/ansible/dev/group_vars/static:
--------------------------------------------------------------------------------
1 | ---
2 | sites:
3 | - static
--------------------------------------------------------------------------------
/ansible/dev/host_vars/dynamic-1:
--------------------------------------------------------------------------------
1 | ---
2 | parent_dir: /opt/bigpanda
3 | sites:
4 | - dynamic-host
--------------------------------------------------------------------------------
/ansible/dev/hosts:
--------------------------------------------------------------------------------
1 | static-1 ansible_connection=ssh static_root_dir=/var/www
2 | dynamic-1 ansible_connection=ssh
3 |
4 | [static]
5 | static-1
6 |
7 | [dynamic]
8 | dynamic-1
9 |
--------------------------------------------------------------------------------
/ansible/dynamic.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: dynamic-1
3 | sudo: yes
4 |
5 | roles:
6 | - dynamic
7 | - sites
8 |
--------------------------------------------------------------------------------
/ansible/roles/common/tasks/git.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: install git
4 | apt: name=git state=present
5 | sudo: yes
6 |
--------------------------------------------------------------------------------
/ansible/roles/common/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - include: git.yml
4 |
5 | - include: nodejs.yml
--------------------------------------------------------------------------------
/ansible/roles/common/tasks/nodejs.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: add 'chris-lea' PPA for Node.js
3 | sudo: true
4 | apt_repository: repo=ppa:chris-lea/node.js
5 |
6 | - name: install dependencies
7 | sudo: true
8 | apt: pkg={{item}}
9 | with_items:
10 | - python-software-properties
11 | - g++
12 | - make
13 |
14 | - name: install package
15 | sudo: true
16 | apt: pkg=nodejs
--------------------------------------------------------------------------------
/ansible/roles/dynamic/files/demo.conf:
--------------------------------------------------------------------------------
1 | # Ansible Workshop Demo App
2 |
3 | description "Ansible Workshop Demo App"
4 |
5 | start on runlevel [2345]
6 | stop on runlevel [!2345]
7 |
8 | setuid vagrant
9 | setgid vagrant
10 |
11 | umask 022
12 |
13 | console log
14 | exec /opt/bigpanda/ansible-workshop/app/bin/www
15 |
--------------------------------------------------------------------------------
/ansible/roles/dynamic/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - include: ../../nginx/handlers/main.yml
4 |
5 | - name: restart app
6 | service: name=demo state=restarted
7 | sudo: yes
--------------------------------------------------------------------------------
/ansible/roles/dynamic/meta/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | dependencies:
4 | - web
--------------------------------------------------------------------------------
/ansible/roles/dynamic/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: create application parent dir
4 | file: path={{ parent_dir }} owner=vagrant group=vagrant state=directory
5 | sudo: yes
6 |
7 | - name: clone application to target dir
8 | git: repo=git@github.com:bigpandaio/ansible-workshop.git dest={{ parent_dir }}/ansible-workshop accept_hostkey=true
9 | notify:
10 | - restart app
11 | sudo: no
12 |
13 | - name: npm install
14 | npm: path={{ parent_dir }}/ansible-workshop/app production={{ (env | default('dev')) == 'prod' }}
15 | sudo: no
16 |
17 | - name: copy upstart configuration
18 | copy: src=demo.conf dest=/etc/init/
19 | sudo: yes
20 |
21 | - name: start app
22 | service: name=demo state=started enabled=true
23 | sudo: yes
--------------------------------------------------------------------------------
/ansible/roles/dynamic/vars/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | sites:
3 | - dynamic
--------------------------------------------------------------------------------
/ansible/roles/nginx/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: reload nginx
4 | service: name=nginx state=reloaded
5 |
--------------------------------------------------------------------------------
/ansible/roles/nginx/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: install nginx
4 | apt: name=nginx state=present
5 | when: ansible_os_family == "Debian"
6 | sudo: yes
7 |
8 | - name: install nginx
9 | yum: name=nginx state=present
10 | when: ansible_os_family == "RedHat"
11 | sudo: yes
12 |
13 | - name: delete default site
14 | file: path=/etc/nginx/sites-enabled/default state=absent
15 | notify:
16 | - reload nginx
17 | sudo: yes
--------------------------------------------------------------------------------
/ansible/roles/sites/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | sites: []
--------------------------------------------------------------------------------
/ansible/roles/sites/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - include: ../../nginx/handlers/main.yml
--------------------------------------------------------------------------------
/ansible/roles/sites/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: generate site from template
4 | template: src={{ item }}.j2 dest=/etc/nginx/sites-available/{{ item }}
5 | with_items: sites
6 | notify:
7 | - reload nginx
8 | sudo: yes
9 |
10 | - name: enable site
11 | file: path=/etc/nginx/sites-enabled/{{ item }} src=/etc/nginx/sites-available/{{ item }} state=link
12 | with_items: sites
13 | notify:
14 | - reload nginx
15 | sudo: yes
16 |
--------------------------------------------------------------------------------
/ansible/roles/sites/templates/dynamic.j2:
--------------------------------------------------------------------------------
1 | # This site was generated by Ansible on {{ template_run_date.strftime('%Y-%m-%d') }}.
2 | # Generation was triggered by: {{ ansible_user_id }}
3 |
4 | server {
5 |
6 | listen 8081;
7 |
8 | # Make site accessible from http://localhost/
9 | server_name localhost;
10 |
11 | location / {
12 |
13 | proxy_pass http://localhost:7000/;
14 | proxy_redirect off;
15 | proxy_set_header Host $host;
16 | proxy_set_header X-Real-IP $remote_addr;
17 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
18 | proxy_set_header X-Forwarded-Proto https;
19 | }
20 |
21 | }
--------------------------------------------------------------------------------
/ansible/roles/sites/templates/static.j2:
--------------------------------------------------------------------------------
1 | # This site was generated by Ansible on {{ template_run_date.strftime('%Y-%m-%d') }}.
2 | # Generation was triggered by: {{ ansible_user_id }}
3 |
4 | server {
5 |
6 | listen 80 default_server;
7 |
8 | root {{ static_root_dir }};
9 | index index.html index.htm;
10 |
11 | # Make site accessible from http://localhost/
12 | server_name localhost;
13 |
14 | location / {
15 | # First attempt to serve request as file, then
16 | # as directory, then fall back to displaying a 404.
17 | try_files $uri $uri/ =404;
18 | }
19 |
20 | }
--------------------------------------------------------------------------------
/ansible/roles/static/files/about.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | About Ansible
6 |
7 |
8 | It doesn’t matter if you have one server or thousands. Deploying, configuring, and updating systems and their applications is drudgery.
9 |
10 | Michael DeHaan started the Ansible project because he realized that past attempts to automate IT had only moved complexity into other areas. Instead of making the lives of developers and sysadmins easier, we were now managing the management systems with a messy combination of custom code, heavyweight agents and point solutions. And none of these tools were built for the cloud. There had to be a simpler way.
11 |
12 | Ansible makes deploying software fun again.
13 |
14 | Ansible is a powerful automation engine that makes systems and applications simple to deploy.
No custom scripting or custom code. No agents. All using an automation language that’s easy for anyone to understand and learn. Just get in, get it done, and make some time for other strategic projects.
15 |
16 | Want to learn more about the history of Ansible? Read the Ansible origin blog post.
17 |
18 |
--------------------------------------------------------------------------------
/ansible/roles/static/files/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BigPanda Loves Ansible
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ansible/roles/static/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - include: ../../nginx/handlers/main.yml
--------------------------------------------------------------------------------
/ansible/roles/static/meta/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | dependencies:
4 | - web
--------------------------------------------------------------------------------
/ansible/roles/static/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - include: ../../sites/tasks/main.yml
4 |
5 | - name: create static root dir
6 | file: path={{ static_root_dir }} state=directory owner=www-data group=www-data recurse=true
7 | sudo: yes
8 |
9 | - name: copy static HTML files to root dir
10 | copy: src={{ item }} dest=/var/www owner=www-data group=www-data
11 | sudo: yes
12 | with_fileglob:
13 | - ./*.html
14 | notify:
15 | - reload nginx
--------------------------------------------------------------------------------
/ansible/roles/static/vars/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/ansible/roles/web/meta/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | dependencies:
4 | - nginx
5 | - common
--------------------------------------------------------------------------------
/ansible/site.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - include: static.yml
4 |
5 | - include: dynamic.yml
--------------------------------------------------------------------------------
/ansible/static.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: static
3 | sudo: yes
4 |
5 | roles:
6 | - static
7 | - sites
8 |
--------------------------------------------------------------------------------
/app/bin/www:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var debug = require('debug')('app');
3 | var app = require('../app');
4 |
5 | app.set('port', process.env.PORT || 7000);
6 |
7 | var server = app.listen(app.get('port'), function() {
8 | debug('Express server listening on port ' + server.address().port);
9 | });
10 |
--------------------------------------------------------------------------------
/app/node_modules/.bin/jade:
--------------------------------------------------------------------------------
1 | ../jade/bin/jade.js
--------------------------------------------------------------------------------
/app/node_modules/body-parser/.npmignore:
--------------------------------------------------------------------------------
1 | test/
--------------------------------------------------------------------------------
/app/node_modules/body-parser/.travis.yml:
--------------------------------------------------------------------------------
1 | node_js:
2 | - "0.10"
3 | language: node_js
--------------------------------------------------------------------------------
/app/node_modules/body-parser/HISTORY.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.1 / 2014-04-14
3 | ==================
4 |
5 | * use `type-is` module
6 |
7 | 1.0.1 / 2014-03-20
8 | ==================
9 |
10 | * lower default limits to 100kb
11 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/Makefile:
--------------------------------------------------------------------------------
1 | BIN = ./node_modules/.bin/
2 |
3 | test:
4 | @$(BIN)mocha \
5 | --require should \
6 | --reporter spec \
7 | --bail
8 |
9 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/body-parser/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 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/qs/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 | .travis.yml
3 | benchmark.js
4 | component.json
5 | examples.js
6 | History.md
7 | Makefile
8 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/.npmignore:
--------------------------------------------------------------------------------
1 | coverage/
2 | test/
3 | .travis.yml
4 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/node_modules/bytes/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/node_modules/bytes/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.0 / 2014-05-05
3 | ==================
4 |
5 | * add negative support. fixes #6
6 |
7 | 0.3.0 / 2014-03-19
8 | ==================
9 |
10 | * added terabyte support
11 |
12 | 0.2.1 / 2013-04-01
13 | ==================
14 |
15 | * add .component
16 |
17 | 0.2.0 / 2012-10-28
18 | ==================
19 |
20 | * bytes(200).should.eql('200b')
21 |
22 | 0.1.0 / 2012-07-04
23 | ==================
24 |
25 | * add bytes to string conversion [yields]
26 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/node_modules/bytes/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --reporter spec \
5 | --require should
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/node_modules/bytes/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bytes",
3 | "description": "byte size string parser / serializer",
4 | "keywords": ["bytes", "utility"],
5 | "version": "0.2.1",
6 | "scripts": ["index.js"]
7 | }
8 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/node_modules/bytes/index.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Parse byte `size` string.
4 | *
5 | * @param {String} size
6 | * @return {Number}
7 | * @api public
8 | */
9 |
10 | module.exports = function(size) {
11 | if ('number' == typeof size) return convert(size);
12 | var parts = size.match(/^(\d+(?:\.\d+)?) *(kb|mb|gb|tb)$/)
13 | , n = parseFloat(parts[1])
14 | , type = parts[2];
15 |
16 | var map = {
17 | kb: 1 << 10
18 | , mb: 1 << 20
19 | , gb: 1 << 30
20 | , tb: ((1 << 30) * 1024)
21 | };
22 |
23 | return map[type] * n;
24 | };
25 |
26 | /**
27 | * convert bytes into string.
28 | *
29 | * @param {Number} b - bytes to convert
30 | * @return {String}
31 | * @api public
32 | */
33 |
34 | function convert (b) {
35 | var tb = ((1 << 30) * 1024), gb = 1 << 30, mb = 1 << 20, kb = 1 << 10, abs = Math.abs(b);
36 | if (abs >= tb) return (Math.round(b / tb * 100) / 100) + 'tb';
37 | if (abs >= gb) return (Math.round(b / gb * 100) / 100) + 'gb';
38 | if (abs >= mb) return (Math.round(b / mb * 100) / 100) + 'mb';
39 | if (abs >= kb) return (Math.round(b / kb * 100) / 100) + 'kb';
40 | return b + 'b';
41 | }
42 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/node_modules/string_decoder/.npmignore:
--------------------------------------------------------------------------------
1 | build
2 | test
3 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/raw-body/node_modules/string_decoder/README.md:
--------------------------------------------------------------------------------
1 | **string_decoder.js** (`require('string_decoder')`) from Node.js core
2 |
3 | Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details.
4 |
5 | Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**
6 |
7 | The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/type-is/.npmignore:
--------------------------------------------------------------------------------
1 | test.js
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/type-is/.travis.yml:
--------------------------------------------------------------------------------
1 | node_js:
2 | - "0.10"
3 | - "0.11"
4 | language: node_js
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/type-is/HISTORY.md:
--------------------------------------------------------------------------------
1 |
2 | 1.1.0 / 2014-04-12
3 | ==================
4 |
5 | * add non-array values support
6 | * expose internal utilities:
7 |
8 | - `.is()`
9 | - `.hasBody()`
10 | - `.normalize()`
11 | - `.match()`
12 |
13 | 1.0.1 / 2014-03-30
14 | ==================
15 |
16 | * add `multipart` as a shorthand
17 |
--------------------------------------------------------------------------------
/app/node_modules/body-parser/node_modules/type-is/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 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/README.md:
--------------------------------------------------------------------------------
1 | # cookie-parser
2 |
3 | Parse _Cookie_ header and populate `req.cookies` with an object keyed by the cookie
4 | names. Optionally you may enabled signed cookie support by passing a `secret` string,
5 | which assigns `req.secret` so it may be used by other middleware.
6 |
7 | ```js
8 | var cookieParser = require('cookie-parser');
9 |
10 | connect()
11 | .use(cookieParser('optional secret string'))
12 | .use(function(req, res, next){
13 | res.end(JSON.stringify(req.cookies));
14 | })
15 | ```
16 |
17 | ## install
18 |
19 | ```shell
20 | npm install cookie-parser
21 | ```
22 |
23 | ## License
24 |
25 | MIT
26 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/node_modules/cookie-signature/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/node_modules/cookie-signature/History.md:
--------------------------------------------------------------------------------
1 | 1.0.3 / 2014-01-28
2 | ==================
3 |
4 | * fix for timing attacks
5 |
6 | 1.0.2 / 2014-01-28
7 | ==================
8 |
9 | * fix missing repository warning
10 | * fix typo in test
11 |
12 | 1.0.1 / 2013-04-15
13 | ==================
14 |
15 | * Revert "Changed underlying HMAC algo. to sha512."
16 | * Revert "Fix for timing attacks on MAC verification."
17 |
18 | 0.0.1 / 2010-01-03
19 | ==================
20 |
21 | * Initial release
22 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/node_modules/cookie-signature/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --require should \
5 | --reporter spec
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/node_modules/cookie/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/node_modules/cookie/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.6"
4 | - "0.8"
5 | - "0.10"
6 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/node_modules/cookie/LICENSE:
--------------------------------------------------------------------------------
1 | // MIT License
2 |
3 | Copyright (C) Roman Shtylman
4 |
5 | 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:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | 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.
10 |
--------------------------------------------------------------------------------
/app/node_modules/cookie-parser/node_modules/cookie/test/mocha.opts:
--------------------------------------------------------------------------------
1 | --ui qunit
2 |
--------------------------------------------------------------------------------
/app/node_modules/debug/index.js:
--------------------------------------------------------------------------------
1 | if ('undefined' == typeof window) {
2 | module.exports = require('./lib/debug');
3 | } else {
4 | module.exports = require('./debug');
5 | }
6 |
--------------------------------------------------------------------------------
/app/node_modules/express/.npmignore:
--------------------------------------------------------------------------------
1 | .git*
2 | benchmarks/
3 | docs/
4 | examples/
5 | support/
6 | test/
7 | testing.js
8 | .DS_Store
9 | .travis.yml
10 | coverage.html
11 | lib-cov
12 |
--------------------------------------------------------------------------------
/app/node_modules/express/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2009-2014 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.
23 |
--------------------------------------------------------------------------------
/app/node_modules/express/Makefile:
--------------------------------------------------------------------------------
1 |
2 | MOCHA_OPTS= --check-leaks
3 | REPORTER = dot
4 |
5 | check: test
6 |
7 | test: test-unit test-acceptance
8 |
9 | test-unit:
10 | @NODE_ENV=test ./node_modules/.bin/mocha \
11 | --reporter $(REPORTER) \
12 | --globals setImmediate,clearImmediate \
13 | $(MOCHA_OPTS)
14 |
15 | test-acceptance:
16 | @NODE_ENV=test ./node_modules/.bin/mocha \
17 | --reporter $(REPORTER) \
18 | --bail \
19 | test/acceptance/*.js
20 |
21 | test-cov: lib-cov
22 | @EXPRESS_COV=1 $(MAKE) test REPORTER=html-cov > coverage.html
23 |
24 | lib-cov:
25 | @jscoverage lib lib-cov
26 |
27 | bench:
28 | @$(MAKE) -C benchmarks
29 |
30 | clean:
31 | rm -f coverage.html
32 | rm -fr lib-cov
33 |
34 | .PHONY: test test-unit test-acceptance bench clean
35 |
--------------------------------------------------------------------------------
/app/node_modules/express/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = process.env.EXPRESS_COV
3 | ? require('./lib-cov/express')
4 | : require('./lib/express');
--------------------------------------------------------------------------------
/app/node_modules/express/lib/middleware/init.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Initialization middleware, exposing the
3 | * request and response to eachother, as well
4 | * as defaulting the X-Powered-By header field.
5 | *
6 | * @param {Function} app
7 | * @return {Function}
8 | * @api private
9 | */
10 |
11 | exports.init = function(app){
12 | return function expressInit(req, res, next){
13 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express');
14 | req.res = res;
15 | res.req = req;
16 | req.next = next;
17 |
18 | req.__proto__ = app.request;
19 | res.__proto__ = app.response;
20 |
21 | res.locals = res.locals || Object.create(null);
22 |
23 | next();
24 | };
25 | };
26 |
27 |
--------------------------------------------------------------------------------
/app/node_modules/express/lib/middleware/query.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Module dependencies.
3 | */
4 |
5 | var qs = require('qs');
6 | var parseUrl = require('parseurl');
7 |
8 | /**
9 | * Query:
10 | *
11 | * Automatically parse the query-string when available,
12 | * populating the `req.query` object using
13 | * [qs](https://github.com/visionmedia/node-querystring).
14 | *
15 | * Examples:
16 | *
17 | * .use(connect.query())
18 | * .use(function(req, res){
19 | * res.end(JSON.stringify(req.query));
20 | * });
21 | *
22 | * The `options` passed are provided to qs.parse function.
23 | *
24 | * @param {Object} options
25 | * @return {Function}
26 | * @api public
27 | */
28 |
29 | module.exports = function query(options){
30 | return function query(req, res, next){
31 | if (!req.query) {
32 | req.query = ~req.url.indexOf('?')
33 | ? qs.parse(parseUrl(req).query, options)
34 | : {};
35 | }
36 |
37 | next();
38 | };
39 | };
40 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/accepts/.npmignore:
--------------------------------------------------------------------------------
1 | test/
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/accepts/.travis.yml:
--------------------------------------------------------------------------------
1 | node_js:
2 | - "0.10"
3 | - "0.11"
4 | language: node_js
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/accepts/Makefile:
--------------------------------------------------------------------------------
1 | BIN = ./node_modules/.bin/
2 |
3 | test:
4 | @${BIN}mocha \
5 | --require should \
6 | --reporter spec
7 |
8 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/accepts/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 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/accepts/node_modules/negotiator/.npmignore:
--------------------------------------------------------------------------------
1 | examples
2 | test
3 | .travis.yml
4 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/buffer-crc32/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/buffer-crc32/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.6
4 | - 0.8
5 | notifications:
6 | email:
7 | recipients:
8 | - brianloveswords@gmail.com
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/cookie-signature/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/cookie-signature/History.md:
--------------------------------------------------------------------------------
1 | 1.0.3 / 2014-01-28
2 | ==================
3 |
4 | * fix for timing attacks
5 |
6 | 1.0.2 / 2014-01-28
7 | ==================
8 |
9 | * fix missing repository warning
10 | * fix typo in test
11 |
12 | 1.0.1 / 2013-04-15
13 | ==================
14 |
15 | * Revert "Changed underlying HMAC algo. to sha512."
16 | * Revert "Fix for timing attacks on MAC verification."
17 |
18 | 0.0.1 / 2010-01-03
19 | ==================
20 |
21 | * Initial release
22 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/cookie-signature/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --require should \
5 | --reporter spec
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/cookie/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 | .travis.yml
3 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/cookie/LICENSE:
--------------------------------------------------------------------------------
1 | // MIT License
2 |
3 | Copyright (C) Roman Shtylman
4 |
5 | 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:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | 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.
10 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/escape-html/.npmignore:
--------------------------------------------------------------------------------
1 | components
2 | build
3 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/escape-html/Makefile:
--------------------------------------------------------------------------------
1 |
2 | build: components index.js
3 | @component build
4 |
5 | components:
6 | @Component install
7 |
8 | clean:
9 | rm -fr build components template.js
10 |
11 | .PHONY: clean
12 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/escape-html/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # escape-html
3 |
4 | Escape HTML entities
5 |
6 | ## Example
7 |
8 | ```js
9 | var escape = require('escape-html');
10 | escape(str);
11 | ```
12 |
13 | ## License
14 |
15 | MIT
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/escape-html/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "escape-html",
3 | "description": "Escape HTML entities",
4 | "version": "1.0.1",
5 | "keywords": ["escape", "html", "utility"],
6 | "dependencies": {},
7 | "scripts": [
8 | "index.js"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/escape-html/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Escape special characters in the given string of html.
3 | *
4 | * @param {String} html
5 | * @return {String}
6 | * @api private
7 | */
8 |
9 | module.exports = function(html) {
10 | return String(html)
11 | .replace(/&/g, '&')
12 | .replace(/"/g, '"')
13 | .replace(/'/g, ''')
14 | .replace(//g, '>');
16 | }
17 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/escape-html/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "escape-html",
3 | "description": "Escape HTML entities",
4 | "version": "1.0.1",
5 | "keywords": [
6 | "escape",
7 | "html",
8 | "utility"
9 | ],
10 | "dependencies": {},
11 | "main": "index.js",
12 | "component": {
13 | "scripts": {
14 | "escape-html/index.js": "index.js"
15 | }
16 | },
17 | "repository": {
18 | "type": "git",
19 | "url": "https://github.com/component/escape-html.git"
20 | },
21 | "readme": "\n# escape-html\n\n Escape HTML entities\n\n## Example\n\n```js\nvar escape = require('escape-html');\nescape(str);\n```\n\n## License\n\n MIT",
22 | "readmeFilename": "Readme.md",
23 | "bugs": {
24 | "url": "https://github.com/component/escape-html/issues"
25 | },
26 | "homepage": "https://github.com/component/escape-html",
27 | "_id": "escape-html@1.0.1",
28 | "_from": "escape-html@1.0.1"
29 | }
30 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/fresh/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/fresh/History.md:
--------------------------------------------------------------------------------
1 |
2 | 0.2.1 / 2014-01-29
3 | ==================
4 |
5 | * fix: support max-age=0 for end-to-end revalidation
6 |
7 | 0.2.0 / 2013-08-11
8 | ==================
9 |
10 | * fix: return false for no-cache
11 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/fresh/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --reporter spec \
5 | --require should
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/merge-descriptors/.npmignore:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 |
10 | # Packages #
11 | ############
12 | # it's better to unpack these files and commit the raw source
13 | # git has its own built in compression methods
14 | *.7z
15 | *.dmg
16 | *.gz
17 | *.iso
18 | *.jar
19 | *.rar
20 | *.tar
21 | *.zip
22 |
23 | # Logs and databases #
24 | ######################
25 | *.log
26 | *.sql
27 | *.sqlite
28 |
29 | # OS generated files #
30 | ######################
31 | .DS_Store*
32 | ehthumbs.db
33 | Icon?
34 | Thumbs.db
35 |
36 | # Node.js #
37 | ###########
38 | lib-cov
39 | *.seed
40 | *.log
41 | *.csv
42 | *.dat
43 | *.out
44 | *.pid
45 | *.gz
46 |
47 | pids
48 | logs
49 | results
50 |
51 | node_modules
52 | npm-debug.log
53 |
54 | # Components #
55 | ##############
56 |
57 | /build
58 | /components
59 | /vendors
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/merge-descriptors/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "merge-descriptors",
3 | "description": "Merge objects using descriptors",
4 | "version": "0.0.2",
5 | "scripts": [
6 | "index.js"
7 | ],
8 | "repo": "component/merge-descriptors",
9 | "license": "MIT"
10 | }
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/merge-descriptors/index.js:
--------------------------------------------------------------------------------
1 | module.exports = function (dest, src) {
2 | Object.getOwnPropertyNames(src).forEach(function (name) {
3 | var descriptor = Object.getOwnPropertyDescriptor(src, name)
4 | Object.defineProperty(dest, name, descriptor)
5 | })
6 |
7 | return dest
8 | }
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/methods/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/methods/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.0 / 2014-05-08
3 | ==================
4 |
5 | * add PURGE. Closes #9
6 |
7 | 0.1.0 / 2013-10-28
8 | ==================
9 |
10 | * add http.METHODS support
11 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/methods/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # Methods
3 |
4 | HTTP verbs that node core's parser supports.
5 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/methods/index.js:
--------------------------------------------------------------------------------
1 |
2 | var http = require('http');
3 |
4 | if (http.METHODS) {
5 | module.exports = http.METHODS.map(function(method){
6 | return method.toLowerCase();
7 | });
8 |
9 | return;
10 | }
11 |
12 | module.exports = [
13 | 'get',
14 | 'post',
15 | 'put',
16 | 'head',
17 | 'delete',
18 | 'options',
19 | 'trace',
20 | 'copy',
21 | 'lock',
22 | 'mkcol',
23 | 'move',
24 | 'purge',
25 | 'propfind',
26 | 'proppatch',
27 | 'unlock',
28 | 'report',
29 | 'mkactivity',
30 | 'checkout',
31 | 'merge',
32 | 'm-search',
33 | 'notify',
34 | 'subscribe',
35 | 'unsubscribe',
36 | 'patch',
37 | 'search'
38 | ];
39 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/methods/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "methods",
3 | "version": "1.0.0",
4 | "description": "HTTP methods that node supports",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "./node_modules/mocha/bin/mocha"
8 | },
9 | "keywords": [
10 | "http",
11 | "methods"
12 | ],
13 | "author": {
14 | "name": "TJ Holowaychuk"
15 | },
16 | "license": "MIT",
17 | "repository": {
18 | "type": "git",
19 | "url": "git://github.com/visionmedia/node-methods.git"
20 | },
21 | "devDependencies": {
22 | "mocha": "1.17.x"
23 | },
24 | "readme": "\n# Methods\n\n HTTP verbs that node core's parser supports.\n",
25 | "readmeFilename": "Readme.md",
26 | "bugs": {
27 | "url": "https://github.com/visionmedia/node-methods/issues"
28 | },
29 | "homepage": "https://github.com/visionmedia/node-methods",
30 | "_id": "methods@1.0.0",
31 | "dist": {
32 | "shasum": "5e985945e770246c0a13e2a82e24adc5930d3998"
33 | },
34 | "_from": "methods@1.0.0",
35 | "_resolved": "https://registry.npmjs.org/methods/-/methods-1.0.0.tgz"
36 | }
37 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/methods/test/methods.js:
--------------------------------------------------------------------------------
1 | var http = require('http');
2 | var assert = require('assert');
3 | var methods = require('..');
4 |
5 | describe('methods', function() {
6 |
7 | if (http.METHODS) {
8 |
9 | it('is a lowercased http.METHODS', function() {
10 | var lowercased = http.METHODS.map(function(method) {
11 | return method.toLowerCase();
12 | });
13 | assert.deepEqual(lowercased, methods);
14 | });
15 |
16 | } else {
17 |
18 | it('contains GET, POST, PUT, and DELETE', function() {
19 | assert.notEqual(methods.indexOf('get'), -1);
20 | assert.notEqual(methods.indexOf('post'), -1);
21 | assert.notEqual(methods.indexOf('put'), -1);
22 | assert.notEqual(methods.indexOf('delete'), -1);
23 | });
24 |
25 | it('is all lowercase', function() {
26 | for (var i = 0; i < methods.length; i ++) {
27 | assert(methods[i], methods[i].toLowerCase(), methods[i] + " isn't all lowercase");
28 | }
29 | });
30 |
31 | }
32 |
33 | });
34 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/parseurl/.npmignore:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 |
10 | # Packages #
11 | ############
12 | # it's better to unpack these files and commit the raw source
13 | # git has its own built in compression methods
14 | *.7z
15 | *.dmg
16 | *.gz
17 | *.iso
18 | *.jar
19 | *.rar
20 | *.tar
21 | *.zip
22 |
23 | # Logs and databases #
24 | ######################
25 | *.log
26 | *.sql
27 | *.sqlite
28 |
29 | # OS generated files #
30 | ######################
31 | .DS_Store*
32 | # Icon?
33 | ehthumbs.db
34 | Thumbs.db
35 |
36 | # Node.js #
37 | ###########
38 | lib-cov
39 | *.seed
40 | *.log
41 | *.csv
42 | *.dat
43 | *.out
44 | *.pid
45 | *.gz
46 |
47 | pids
48 | logs
49 | results
50 |
51 | node_modules
52 | npm-debug.log
53 |
54 | # Components #
55 | ##############
56 |
57 | /build
58 | /components
59 | /public
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/parseurl/index.js:
--------------------------------------------------------------------------------
1 |
2 | var parse = require('url').parse;
3 |
4 | /**
5 | * Parse the `req` url with memoization.
6 | *
7 | * @param {ServerRequest} req
8 | * @return {Object}
9 | * @api private
10 | */
11 |
12 | module.exports = function parseUrl(req){
13 | var parsed = req._parsedUrl;
14 | if (parsed && parsed.href == req.url) {
15 | return parsed;
16 | } else {
17 | parsed = parse(req.url);
18 |
19 | if (parsed.auth && !parsed.protocol && ~parsed.href.indexOf('//')) {
20 | // This parses pathnames, and a strange pathname like //r@e should work
21 | parsed = parse(req.url.replace(/@/g, '%40'));
22 | }
23 |
24 | return req._parsedUrl = parsed;
25 | }
26 | };
27 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/path-to-regexp/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage
3 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/path-to-regexp/History.md:
--------------------------------------------------------------------------------
1 |
2 | 0.1.0 / 2014-03-06
3 | ==================
4 |
5 | * add options.end
6 |
7 | 0.0.2 / 2013-02-10
8 | ==================
9 |
10 | * Update to match current express
11 | * add .license property to component.json
12 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/path-to-regexp/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "path-to-regexp",
3 | "description": "Express style path to RegExp utility",
4 | "version": "0.1.0",
5 | "keywords": [
6 | "express",
7 | "regexp",
8 | "route",
9 | "routing"
10 | ],
11 | "scripts": [
12 | "index.js"
13 | ],
14 | "license": "MIT"
15 | }
16 |
--------------------------------------------------------------------------------
/app/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 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/qs/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 | .travis.yml
3 | benchmark.js
4 | component.json
5 | examples.js
6 | History.md
7 | Makefile
8 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/range-parser/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/range-parser/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.0 / 2013-12-11
3 | ==================
4 |
5 | * add repository to package.json
6 | * add MIT license
7 |
8 | 0.0.4 / 2012-06-17
9 | ==================
10 |
11 | * changed: ret -1 for unsatisfiable and -2 when invalid
12 |
13 | 0.0.3 / 2012-06-17
14 | ==================
15 |
16 | * fix last-byte-pos default to len - 1
17 |
18 | 0.0.2 / 2012-06-14
19 | ==================
20 |
21 | * add `.type`
22 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/range-parser/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --reporter spec \
5 | --require should
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/range-parser/index.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Parse "Range" header `str` relative to the given file `size`.
4 | *
5 | * @param {Number} size
6 | * @param {String} str
7 | * @return {Array}
8 | * @api public
9 | */
10 |
11 | module.exports = function(size, str){
12 | var valid = true;
13 | var i = str.indexOf('=');
14 |
15 | if (-1 == i) return -2;
16 |
17 | var arr = str.slice(i + 1).split(',').map(function(range){
18 | var range = range.split('-')
19 | , start = parseInt(range[0], 10)
20 | , end = parseInt(range[1], 10);
21 |
22 | // -nnn
23 | if (isNaN(start)) {
24 | start = size - end;
25 | end = size - 1;
26 | // nnn-
27 | } else if (isNaN(end)) {
28 | end = size - 1;
29 | }
30 |
31 | // limit last-byte-pos to current length
32 | if (end > size - 1) end = size - 1;
33 |
34 | // invalid
35 | if (isNaN(start)
36 | || isNaN(end)
37 | || start > end
38 | || start < 0) valid = false;
39 |
40 | return {
41 | start: start,
42 | end: end
43 | };
44 | });
45 |
46 | arr.type = str.slice(0, i);
47 |
48 | return valid ? arr : -1;
49 | };
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/send/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 | examples
3 | *.sock
4 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/send/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = require('./lib/send');
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/send/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 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/serve-static/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/serve-static/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
5 | - "0.11"
6 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/serve-static/History.md:
--------------------------------------------------------------------------------
1 | 1.1.0 / 2014-04-24
2 | ==================
3 |
4 | * Accept options directly to `send` module
5 | * deps: send@0.3.0
6 |
7 | 1.0.4 / 2014-04-07
8 | ==================
9 |
10 | * Resolve relative paths at middleware setup
11 | * Use parseurl to parse the URL from request
12 |
13 | 1.0.3 / 2014-03-20
14 | ==================
15 |
16 | * Do not rely on connect-like environments
17 |
18 | 1.0.2 / 2014-03-06
19 | ==================
20 |
21 | * deps: send@0.2.0
22 |
23 | 1.0.1 / 2014-03-05
24 | ==================
25 |
26 | * Add mime export for back-compat
27 |
28 | 1.0.0 / 2014-03-05
29 | ==================
30 |
31 | * Genesis from `connect`
32 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/type-is/.npmignore:
--------------------------------------------------------------------------------
1 | test.js
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/type-is/.travis.yml:
--------------------------------------------------------------------------------
1 | node_js:
2 | - "0.10"
3 | - "0.11"
4 | language: node_js
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/type-is/HISTORY.md:
--------------------------------------------------------------------------------
1 |
2 | 1.1.0 / 2014-04-12
3 | ==================
4 |
5 | * add non-array values support
6 | * expose internal utilities:
7 |
8 | - `.is()`
9 | - `.hasBody()`
10 | - `.normalize()`
11 | - `.match()`
12 |
13 | 1.0.1 / 2014-03-30
14 | ==================
15 |
16 | * add `multipart` as a shorthand
17 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/type-is/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 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/utils-merge/.travis.yml:
--------------------------------------------------------------------------------
1 | language: "node_js"
2 | node_js:
3 | - "0.4"
4 | - "0.6"
5 | - "0.8"
6 | - "0.10"
7 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/utils-merge/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2013 Jared Hanson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | 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, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/utils-merge/README.md:
--------------------------------------------------------------------------------
1 | # utils-merge
2 |
3 | Merges the properties from a source object into a destination object.
4 |
5 | ## Install
6 |
7 | $ npm install utils-merge
8 |
9 | ## Usage
10 |
11 | ```javascript
12 | var a = { foo: 'bar' }
13 | , b = { bar: 'baz' };
14 |
15 | merge(a, b);
16 | // => { foo: 'bar', bar: 'baz' }
17 | ```
18 |
19 | ## Tests
20 |
21 | $ npm install
22 | $ npm test
23 |
24 | [](http://travis-ci.org/jaredhanson/utils-merge)
25 |
26 | ## Credits
27 |
28 | - [Jared Hanson](http://github.com/jaredhanson)
29 |
30 | ## License
31 |
32 | [The MIT License](http://opensource.org/licenses/MIT)
33 |
34 | Copyright (c) 2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>
35 |
--------------------------------------------------------------------------------
/app/node_modules/express/node_modules/utils-merge/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Merge object b with object a.
3 | *
4 | * var a = { foo: 'bar' }
5 | * , b = { bar: 'baz' };
6 | *
7 | * merge(a, b);
8 | * // => { foo: 'bar', bar: 'baz' }
9 | *
10 | * @param {Object} a
11 | * @param {Object} b
12 | * @return {Object}
13 | * @api public
14 | */
15 |
16 | exports = module.exports = function(a, b){
17 | if (a && b) {
18 | for (var key in b) {
19 | a[key] = b[key];
20 | }
21 | }
22 | return a;
23 | };
24 |
--------------------------------------------------------------------------------
/app/node_modules/jade/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 | support
3 | benchmarks
4 | examples
5 | lib-cov
6 | coverage
7 | .gitmodules
8 | .travis.yml
9 | History.md
10 | Makefile
11 | test/
12 | support/
13 | benchmarks/
14 | examples/
15 |
--------------------------------------------------------------------------------
/app/node_modules/jade/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2009-2014 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.
23 |
--------------------------------------------------------------------------------
/app/node_modules/jade/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jade",
3 | "repo": "visionmedia/jade",
4 | "description": "Jade template runtime",
5 | "version": "1.3.1",
6 | "keywords": [
7 | "template"
8 | ],
9 | "dependencies": {},
10 | "development": {},
11 | "license": "MIT",
12 | "scripts": [
13 | "lib/runtime.js"
14 | ],
15 | "main": "lib/runtime.js"
16 | }
--------------------------------------------------------------------------------
/app/node_modules/jade/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = require('./lib/jade');
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/doctypes.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = {
4 | 'default': ''
5 | , 'xml': ''
6 | , 'transitional': ''
7 | , 'strict': ''
8 | , 'frameset': ''
9 | , '1.1': ''
10 | , 'basic': ''
11 | , 'mobile': ''
12 | };
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/filters-client.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = filter;
4 | function filter(name, str, options) {
5 | if (typeof filter[name] === 'function') {
6 | var res = filter[name](str, options);
7 | } else {
8 | throw new Error('unknown filter ":' + name + '"');
9 | }
10 | return res;
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/filters.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var transformers = require('transformers');
4 |
5 | module.exports = filter;
6 | function filter(name, str, options) {
7 | if (typeof filter[name] === 'function') {
8 | var res = filter[name](str, options);
9 | } else if (transformers[name]) {
10 | var res = transformers[name].renderSync(str, options);
11 | } else {
12 | throw new Error('unknown filter ":' + name + '"');
13 | }
14 | return res;
15 | }
16 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/inline-tags.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = [
4 | 'a'
5 | , 'abbr'
6 | , 'acronym'
7 | , 'b'
8 | , 'br'
9 | , 'code'
10 | , 'em'
11 | , 'font'
12 | , 'i'
13 | , 'img'
14 | , 'ins'
15 | , 'kbd'
16 | , 'map'
17 | , 'samp'
18 | , 'small'
19 | , 'span'
20 | , 'strong'
21 | , 'sub'
22 | , 'sup'
23 | ];
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/block-comment.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a `BlockComment` with the given `block`.
7 | *
8 | * @param {String} val
9 | * @param {Block} block
10 | * @param {Boolean} buffer
11 | * @api public
12 | */
13 |
14 | var BlockComment = module.exports = function BlockComment(val, block, buffer) {
15 | this.block = block;
16 | this.val = val;
17 | this.buffer = buffer;
18 | };
19 |
20 | // Inherit from `Node`.
21 | BlockComment.prototype = Object.create(Node.prototype);
22 | BlockComment.prototype.constructor = BlockComment;
23 |
24 | BlockComment.prototype.type = 'BlockComment';
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/case.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a new `Case` with `expr`.
7 | *
8 | * @param {String} expr
9 | * @api public
10 | */
11 |
12 | var Case = exports = module.exports = function Case(expr, block){
13 | this.expr = expr;
14 | this.block = block;
15 | };
16 |
17 | // Inherit from `Node`.
18 | Case.prototype = Object.create(Node.prototype);
19 | Case.prototype.constructor = Case;
20 |
21 | Case.prototype.type = 'Case';
22 |
23 | var When = exports.When = function When(expr, block){
24 | this.expr = expr;
25 | this.block = block;
26 | this.debug = false;
27 | };
28 |
29 | // Inherit from `Node`.
30 | When.prototype = Object.create(Node.prototype);
31 | When.prototype.constructor = When;
32 |
33 | When.prototype.type = 'When';
34 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/code.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a `Code` node with the given code `val`.
7 | * Code may also be optionally buffered and escaped.
8 | *
9 | * @param {String} val
10 | * @param {Boolean} buffer
11 | * @param {Boolean} escape
12 | * @api public
13 | */
14 |
15 | var Code = module.exports = function Code(val, buffer, escape) {
16 | this.val = val;
17 | this.buffer = buffer;
18 | this.escape = escape;
19 | if (val.match(/^ *else/)) this.debug = false;
20 | };
21 |
22 | // Inherit from `Node`.
23 | Code.prototype = Object.create(Node.prototype);
24 | Code.prototype.constructor = Code;
25 |
26 | Code.prototype.type = 'Code'; // prevent the minifiers removing this
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/comment.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a `Comment` with the given `val`, optionally `buffer`,
7 | * otherwise the comment may render in the output.
8 | *
9 | * @param {String} val
10 | * @param {Boolean} buffer
11 | * @api public
12 | */
13 |
14 | var Comment = module.exports = function Comment(val, buffer) {
15 | this.val = val;
16 | this.buffer = buffer;
17 | };
18 |
19 | // Inherit from `Node`.
20 | Comment.prototype = Object.create(Node.prototype);
21 | Comment.prototype.constructor = Comment;
22 |
23 | Comment.prototype.type = 'Comment';
24 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/doctype.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a `Doctype` with the given `val`.
7 | *
8 | * @param {String} val
9 | * @api public
10 | */
11 |
12 | var Doctype = module.exports = function Doctype(val) {
13 | this.val = val;
14 | };
15 |
16 | // Inherit from `Node`.
17 | Doctype.prototype = Object.create(Node.prototype);
18 | Doctype.prototype.constructor = Doctype;
19 |
20 | Doctype.prototype.type = 'Doctype';
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/each.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize an `Each` node, representing iteration
7 | *
8 | * @param {String} obj
9 | * @param {String} val
10 | * @param {String} key
11 | * @param {Block} block
12 | * @api public
13 | */
14 |
15 | var Each = module.exports = function Each(obj, val, key, block) {
16 | this.obj = obj;
17 | this.val = val;
18 | this.key = key;
19 | this.block = block;
20 | };
21 |
22 | // Inherit from `Node`.
23 | Each.prototype = Object.create(Node.prototype);
24 | Each.prototype.constructor = Each;
25 |
26 | Each.prototype.type = 'Each';
27 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/filter.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a `Filter` node with the given
7 | * filter `name` and `block`.
8 | *
9 | * @param {String} name
10 | * @param {Block|Node} block
11 | * @api public
12 | */
13 |
14 | var Filter = module.exports = function Filter(name, block, attrs) {
15 | this.name = name;
16 | this.block = block;
17 | this.attrs = attrs;
18 | };
19 |
20 | // Inherit from `Node`.
21 | Filter.prototype = Object.create(Node.prototype);
22 | Filter.prototype.constructor = Filter;
23 |
24 | Filter.prototype.type = 'Filter';
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | exports.Node = require('./node');
4 | exports.Tag = require('./tag');
5 | exports.Code = require('./code');
6 | exports.Each = require('./each');
7 | exports.Case = require('./case');
8 | exports.Text = require('./text');
9 | exports.Block = require('./block');
10 | exports.MixinBlock = require('./mixin-block');
11 | exports.Mixin = require('./mixin');
12 | exports.Filter = require('./filter');
13 | exports.Comment = require('./comment');
14 | exports.Literal = require('./literal');
15 | exports.BlockComment = require('./block-comment');
16 | exports.Doctype = require('./doctype');
17 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/literal.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a `Literal` node with the given `str.
7 | *
8 | * @param {String} str
9 | * @api public
10 | */
11 |
12 | var Literal = module.exports = function Literal(str) {
13 | this.str = str;
14 | };
15 |
16 | // Inherit from `Node`.
17 | Literal.prototype = Object.create(Node.prototype);
18 | Literal.prototype.constructor = Literal;
19 |
20 | Literal.prototype.type = 'Literal';
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/mixin-block.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a new `Block` with an optional `node`.
7 | *
8 | * @param {Node} node
9 | * @api public
10 | */
11 |
12 | var MixinBlock = module.exports = function MixinBlock(){};
13 |
14 | // Inherit from `Node`.
15 | MixinBlock.prototype = Object.create(Node.prototype);
16 | MixinBlock.prototype.constructor = MixinBlock;
17 |
18 | MixinBlock.prototype.type = 'MixinBlock';
19 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/mixin.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Attrs = require('./attrs');
4 |
5 | /**
6 | * Initialize a new `Mixin` with `name` and `block`.
7 | *
8 | * @param {String} name
9 | * @param {String} args
10 | * @param {Block} block
11 | * @api public
12 | */
13 |
14 | var Mixin = module.exports = function Mixin(name, args, block, call){
15 | Attrs.call(this);
16 | this.name = name;
17 | this.args = args;
18 | this.block = block;
19 | this.call = call;
20 | };
21 |
22 | // Inherit from `Attrs`.
23 | Mixin.prototype = Object.create(Attrs.prototype);
24 | Mixin.prototype.constructor = Mixin;
25 |
26 | Mixin.prototype.type = 'Mixin';
27 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/node.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = module.exports = function Node(){};
4 |
5 | /**
6 | * Clone this node (return itself)
7 | *
8 | * @return {Node}
9 | * @api private
10 | */
11 |
12 | Node.prototype.clone = function(){
13 | var err = new Error('node.clone is deprecated and will be removed in v2.0.0');
14 | console.warn(err.stack);
15 | return this;
16 | };
17 |
18 | Node.prototype.type = '';
19 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/nodes/text.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Node = require('./node');
4 |
5 | /**
6 | * Initialize a `Text` node with optional `line`.
7 | *
8 | * @param {String} line
9 | * @api public
10 | */
11 |
12 | var Text = module.exports = function Text(line) {
13 | this.val = line;
14 | };
15 |
16 | // Inherit from `Node`.
17 | Text.prototype = Object.create(Node.prototype);
18 | Text.prototype.constructor = Text;
19 |
20 | Text.prototype.type = 'Text';
21 |
22 | /**
23 | * Flag as text.
24 | */
25 |
26 | Text.prototype.isText = true;
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/self-closing.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // source: http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements
4 |
5 | module.exports = [
6 | 'area'
7 | , 'base'
8 | , 'br'
9 | , 'col'
10 | , 'embed'
11 | , 'hr'
12 | , 'img'
13 | , 'input'
14 | , 'keygen'
15 | , 'link'
16 | , 'menuitem'
17 | , 'meta'
18 | , 'param'
19 | , 'source'
20 | , 'track'
21 | , 'wbr'
22 | ];
23 |
--------------------------------------------------------------------------------
/app/node_modules/jade/lib/utils.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * Merge `b` into `a`.
5 | *
6 | * @param {Object} a
7 | * @param {Object} b
8 | * @return {Object}
9 | * @api public
10 | */
11 |
12 | exports.merge = function(a, b) {
13 | for (var key in b) a[key] = b[key];
14 | return a;
15 | };
16 |
17 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/character-parser/.npmignore:
--------------------------------------------------------------------------------
1 | test/
2 | .travis.yml
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/character-parser/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 Forbes Lindesay
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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/.npmignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 | pids
10 | logs
11 | results
12 | npm-debug.log
13 | node_modules
14 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 Forbes Lindesay
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.
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/.bin/uglifyjs:
--------------------------------------------------------------------------------
1 | ../uglify-js/bin/uglifyjs
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/.npmignore:
--------------------------------------------------------------------------------
1 | tmp/
2 | node_modules/
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
5 | - "0.11"
6 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/async/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "async",
3 | "repo": "caolan/async",
4 | "description": "Higher-order functions and common patterns for asynchronous code",
5 | "version": "0.1.23",
6 | "keywords": [],
7 | "dependencies": {},
8 | "development": {},
9 | "main": "lib/async.js",
10 | "scripts": [ "lib/async.js" ]
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
5 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/bool.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var util = require('util');
3 | var argv = require('optimist').argv;
4 |
5 | if (argv.s) {
6 | util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');
7 | }
8 | console.log(
9 | (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')
10 | );
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .boolean(['x','y','z'])
4 | .argv
5 | ;
6 | console.dir([ argv.x, argv.y, argv.z ]);
7 | console.dir(argv._);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .boolean('v')
4 | .argv
5 | ;
6 | console.dir(argv.v);
7 | console.dir(argv._);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/default_hash.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var argv = require('optimist')
4 | .default({ x : 10, y : 10 })
5 | .argv
6 | ;
7 |
8 | console.log(argv.x + argv.y);
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/default_singles.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .default('x', 10)
4 | .default('y', 10)
5 | .argv
6 | ;
7 | console.log(argv.x + argv.y);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/divide.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var argv = require('optimist')
4 | .usage('Usage: $0 -x [num] -y [num]')
5 | .demand(['x','y'])
6 | .argv;
7 |
8 | console.log(argv.x / argv.y);
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/line_count.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .demand('f')
5 | .alias('f', 'file')
6 | .describe('f', 'Load a file')
7 | .argv
8 | ;
9 |
10 | var fs = require('fs');
11 | var s = fs.createReadStream(argv.file);
12 |
13 | var lines = 0;
14 | s.on('data', function (buf) {
15 | lines += buf.toString().match(/\n/g).length;
16 | });
17 |
18 | s.on('end', function () {
19 | console.log(lines);
20 | });
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .options({
5 | file : {
6 | demand : true,
7 | alias : 'f',
8 | description : 'Load a file'
9 | },
10 | base : {
11 | alias : 'b',
12 | description : 'Numeric base to use for output',
13 | default : 10,
14 | },
15 | })
16 | .argv
17 | ;
18 |
19 | var fs = require('fs');
20 | var s = fs.createReadStream(argv.file);
21 |
22 | var lines = 0;
23 | s.on('data', function (buf) {
24 | lines += buf.toString().match(/\n/g).length;
25 | });
26 |
27 | s.on('end', function () {
28 | console.log(lines.toString(argv.base));
29 | });
30 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .wrap(80)
5 | .demand('f')
6 | .alias('f', [ 'file', 'filename' ])
7 | .describe('f',
8 | "Load a file. It's pretty important."
9 | + " Required even. So you'd better specify it."
10 | )
11 | .alias('b', 'base')
12 | .describe('b', 'Numeric base to display the number of lines in')
13 | .default('b', 10)
14 | .describe('x', 'Super-secret optional parameter which is secret')
15 | .default('x', '')
16 | .argv
17 | ;
18 |
19 | var fs = require('fs');
20 | var s = fs.createReadStream(argv.file);
21 |
22 | var lines = 0;
23 | s.on('data', function (buf) {
24 | lines += buf.toString().match(/\n/g).length;
25 | });
26 |
27 | s.on('end', function () {
28 | console.log(lines.toString(argv.base));
29 | });
30 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/nonopt.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 | console.log('(%d,%d)', argv.x, argv.y);
4 | console.log(argv._);
5 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/reflect.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | console.dir(require('optimist').argv);
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/short.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 | console.log('(%d,%d)', argv.x, argv.y);
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/string.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .string('x', 'y')
4 | .argv
5 | ;
6 | console.dir([ argv.x, argv.y ]);
7 |
8 | /* Turns off numeric coercion:
9 | ./node string.js -x 000123 -y 9876
10 | [ '000123', '9876' ]
11 | */
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/usage-options.js:
--------------------------------------------------------------------------------
1 | var optimist = require('./../index');
2 |
3 | var argv = optimist.usage('This is my awesome program', {
4 | 'about': {
5 | description: 'Provide some details about the author of this program',
6 | required: true,
7 | short: 'a',
8 | },
9 | 'info': {
10 | description: 'Provide some information about the node.js agains!!!!!!',
11 | boolean: true,
12 | short: 'i'
13 | }
14 | }).argv;
15 |
16 | optimist.showHelp();
17 |
18 | console.log('\n\nInspecting options');
19 | console.dir(argv);
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/xup.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 |
4 | if (argv.rif - 5 * argv.xup > 7.138) {
5 | console.log('Buy more riffiwobbles');
6 | }
7 | else {
8 | console.log('Sell the xupptumblers');
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js:
--------------------------------------------------------------------------------
1 | var wrap = require('wordwrap')(20, 60);
2 | console.log(wrap(
3 | 'At long last the struggle and tumult was over.'
4 | + ' The machines had finally cast off their oppressors'
5 | + ' and were finally free to roam the cosmos.'
6 | + '\n'
7 | + 'Free of purpose, free of obligation.'
8 | + ' Just drifting through emptiness.'
9 | + ' The sun was just another point of light.'
10 | ));
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js:
--------------------------------------------------------------------------------
1 | var wrap = require('wordwrap')(15);
2 |
3 | console.log(wrap('You and your whole family are made out of meat.'));
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var wordwrap = require('../');
3 |
4 | exports.hard = function () {
5 | var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,'
6 | + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",'
7 | + '"browser":"chrome/6.0"}'
8 | ;
9 | var s_ = wordwrap.hard(80)(s);
10 |
11 | var lines = s_.split('\n');
12 | assert.equal(lines.length, 2);
13 | assert.ok(lines[0].length < 80);
14 | assert.ok(lines[1].length < 80);
15 |
16 | assert.equal(s, s_.replace(/\n/g, ''));
17 | };
18 |
19 | exports.break = function () {
20 | var s = new Array(55+1).join('a');
21 | var s_ = wordwrap.hard(20)(s);
22 |
23 | var lines = s_.split('\n');
24 | assert.equal(lines.length, 3);
25 | assert.ok(lines[0].length === 20);
26 | assert.ok(lines[1].length === 20);
27 | assert.ok(lines[2].length === 15);
28 |
29 | assert.equal(s, s_.replace(/\n/g, ''));
30 | };
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/test/_/argv.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | console.log(JSON.stringify(process.argv));
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/test/_/bin.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('../../index').argv
3 | console.log(JSON.stringify(argv._));
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/.npmignore:
--------------------------------------------------------------------------------
1 | dist/*
2 | node_modules/*
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/.tern-port:
--------------------------------------------------------------------------------
1 | 55494
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.8
4 | - "0.10"
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | /*
9 | * WARNING!
10 | *
11 | * Do not edit this file directly, it is built from the sources at
12 | * https://github.com/mozilla/source-map/
13 | */
14 |
15 | ///////////////////////////////////////////////////////////////////////////////
16 |
17 |
18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ];
19 |
20 | Components.utils.import('resource://gre/modules/devtools/Require.jsm');
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | /*
9 | * WARNING!
10 | *
11 | * Do not edit this file directly, it is built from the sources at
12 | * https://github.com/mozilla/source-map/
13 | */
14 |
15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm');
16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm');
17 |
18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ];
19 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | ///////////////////////////////////////////////////////////////////////////////
3 |
4 | this.sourceMap = {
5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer,
6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator,
7 | SourceNode: require('source-map/source-node').SourceNode
8 | };
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | ///////////////////////////////////////////////////////////////////////////////
3 |
4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer;
5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator;
6 | this.SourceNode = require('source-map/source-node').SourceNode;
7 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | function runSourceMapTests(modName, do_throw) {
8 | let mod = require(modName);
9 | let assert = require('test/source-map/assert');
10 | let util = require('test/source-map/util');
11 |
12 | assert.init(do_throw);
13 |
14 | for (let k in mod) {
15 | if (/^test/.test(k)) {
16 | mod[k](assert, util);
17 | }
18 | }
19 |
20 | }
21 | this.runSourceMapTests = runSourceMapTests;
22 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js:
--------------------------------------------------------------------------------
1 | /*
2 | * WARNING!
3 | *
4 | * Do not edit this file directly, it is built from the sources at
5 | * https://github.com/mozilla/source-map/
6 | */
7 |
8 | Components.utils.import('resource://test/Utils.jsm');
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js:
--------------------------------------------------------------------------------
1 | function run_test() {
2 | runSourceMapTests('{THIS_MODULE}', do_throw);
3 | }
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009-2011 Mozilla Foundation and contributors
3 | * Licensed under the New BSD license. See LICENSE.txt or:
4 | * http://opensource.org/licenses/BSD-3-Clause
5 | */
6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator;
7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer;
8 | exports.SourceNode = require('./source-map/source-node').SourceNode;
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2012 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var sourceMap;
13 | try {
14 | sourceMap = require('../../lib/source-map');
15 | } catch (e) {
16 | sourceMap = {};
17 | Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);
18 | }
19 |
20 | exports['test that the api is properly exposed in the top level'] = function (assert, util) {
21 | assert.equal(typeof sourceMap.SourceMapGenerator, "function");
22 | assert.equal(typeof sourceMap.SourceMapConsumer, "function");
23 | assert.equal(typeof sourceMap.SourceNode, "function");
24 | };
25 |
26 | });
27 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var base64VLQ = require('../../lib/source-map/base64-vlq');
13 |
14 | exports['test normal encoding and decoding'] = function (assert, util) {
15 | var result;
16 | for (var i = -255; i < 256; i++) {
17 | result = base64VLQ.decode(base64VLQ.encode(i));
18 | assert.ok(result);
19 | assert.equal(result.value, i);
20 | assert.equal(result.rest, "");
21 | }
22 | };
23 |
24 | });
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var base64 = require('../../lib/source-map/base64');
13 |
14 | exports['test out of range encoding'] = function (assert, util) {
15 | assert.throws(function () {
16 | base64.encode(-1);
17 | });
18 | assert.throws(function () {
19 | base64.encode(64);
20 | });
21 | };
22 |
23 | exports['test out of range decoding'] = function (assert, util) {
24 | assert.throws(function () {
25 | base64.decode('=');
26 | });
27 | };
28 |
29 | exports['test normal encoding and decoding'] = function (assert, util) {
30 | for (var i = 0; i < 64; i++) {
31 | assert.equal(base64.decode(base64.encode(i)), i);
32 | }
33 | };
34 |
35 | });
36 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/.npmignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 | pids
10 | logs
11 | results
12 | npm-debug.log
13 | node_modules
14 | /test/output.js
15 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.10"
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/README.md:
--------------------------------------------------------------------------------
1 | # uglify-to-browserify
2 |
3 | A transform to make UglifyJS work in browserify.
4 |
5 | [](https://travis-ci.org/ForbesLindesay/uglify-to-browserify)
6 | [](https://gemnasium.com/ForbesLindesay/uglify-to-browserify)
7 | [](http://badge.fury.io/js/uglify-to-browserify)
8 |
9 | ## Installation
10 |
11 | npm install uglify-to-browserify
12 |
13 | ## License
14 |
15 | MIT
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/test/index.js:
--------------------------------------------------------------------------------
1 | var fs = require('fs')
2 | var br = require('../')
3 | var test = fs.readFileSync(require.resolve('uglify-js/test/run-tests.js'), 'utf8')
4 | .replace(/^#.*\n/, '')
5 |
6 | var transform = br(require.resolve('uglify-js'))
7 | transform.pipe(fs.createWriteStream(__dirname + '/output.js'))
8 | .on('close', function () {
9 | Function('module,require', test)({
10 | filename: require.resolve('uglify-js/test/run-tests.js')
11 | },
12 | function (name) {
13 | if (name === '../tools/node') {
14 | return require('./output.js')
15 | } else if (/^[a-z]+$/.test(name)) {
16 | return require(name)
17 | } else {
18 | throw new Error('I didn\'t expect you to require ' + name)
19 | }
20 | })
21 | })
22 | transform.end(fs.readFileSync(require.resolve('uglify-js'), 'utf8'))
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/blocks.js:
--------------------------------------------------------------------------------
1 | remove_blocks: {
2 | input: {
3 | {;}
4 | foo();
5 | {};
6 | {
7 | {};
8 | };
9 | bar();
10 | {}
11 | }
12 | expect: {
13 | foo();
14 | bar();
15 | }
16 | }
17 |
18 | keep_some_blocks: {
19 | input: {
20 | // 1.
21 | if (foo) {
22 | {{{}}}
23 | if (bar) { baz(); }
24 | {{}}
25 | } else {
26 | stuff();
27 | }
28 |
29 | // 2.
30 | if (foo) {
31 | for (var i = 0; i < 5; ++i)
32 | if (bar) baz();
33 | } else {
34 | stuff();
35 | }
36 | }
37 | expect: {
38 | // 1.
39 | if (foo) {
40 | if (bar) baz();
41 | } else stuff();
42 |
43 | // 2.
44 | if (foo) {
45 | for (var i = 0; i < 5; ++i)
46 | if (bar) baz();
47 | } else stuff();
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/concat-strings.js:
--------------------------------------------------------------------------------
1 | concat_1: {
2 | options = {
3 | evaluate: true
4 | };
5 | input: {
6 | var a = "foo" + "bar" + x() + "moo" + "foo" + y() + "x" + "y" + "z" + q();
7 | var b = "foo" + 1 + x() + 2 + "boo";
8 | var c = 1 + x() + 2 + "boo";
9 |
10 | // this CAN'T safely be shortened to 1 + x() + "5boo"
11 | var d = 1 + x() + 2 + 3 + "boo";
12 |
13 | var e = 1 + x() + 2 + "X" + 3 + "boo";
14 | }
15 | expect: {
16 | var a = "foobar" + x() + "moofoo" + y() + "xyz" + q();
17 | var b = "foo1" + x() + "2boo";
18 | var c = 1 + x() + 2 + "boo";
19 | var d = 1 + x() + 2 + 3 + "boo";
20 | var e = 1 + x() + 2 + "X3boo";
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/debugger.js:
--------------------------------------------------------------------------------
1 | keep_debugger: {
2 | options = {
3 | drop_debugger: false
4 | };
5 | input: {
6 | debugger;
7 | }
8 | expect: {
9 | debugger;
10 | }
11 | }
12 |
13 | drop_debugger: {
14 | options = {
15 | drop_debugger: true
16 | };
17 | input: {
18 | debugger;
19 | if (foo) debugger;
20 | }
21 | expect: {
22 | if (foo);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-105.js:
--------------------------------------------------------------------------------
1 | typeof_eq_undefined: {
2 | options = {
3 | comparisons: true
4 | };
5 | input: { a = typeof b.c != "undefined" }
6 | expect: { a = "undefined" != typeof b.c }
7 | }
8 |
9 | typeof_eq_undefined_unsafe: {
10 | options = {
11 | comparisons: true,
12 | unsafe: true
13 | };
14 | input: { a = typeof b.c != "undefined" }
15 | expect: { a = void 0 !== b.c }
16 | }
17 |
18 | typeof_eq_undefined_unsafe2: {
19 | options = {
20 | comparisons: true,
21 | unsafe: true
22 | };
23 | input: { a = "undefined" != typeof b.c }
24 | expect: { a = void 0 !== b.c }
25 | }
26 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-12.js:
--------------------------------------------------------------------------------
1 | keep_name_of_getter: {
2 | options = { unused: true };
3 | input: { a = { get foo () {} } }
4 | expect: { a = { get foo () {} } }
5 | }
6 |
7 | keep_name_of_setter: {
8 | options = { unused: true };
9 | input: { a = { set foo () {} } }
10 | expect: { a = { set foo () {} } }
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-126.js:
--------------------------------------------------------------------------------
1 | concatenate_rhs_strings: {
2 | options = {
3 | evaluate: true,
4 | unsafe: true,
5 | }
6 | input: {
7 | foo(bar() + 123 + "Hello" + "World");
8 | foo(bar() + (123 + "Hello") + "World");
9 | foo((bar() + 123) + "Hello" + "World");
10 | foo(bar() + 123 + "Hello" + "World" + ("Foo" + "Bar"));
11 | foo("Foo" + "Bar" + bar() + 123 + "Hello" + "World" + ("Foo" + "Bar"));
12 | foo("Hello" + bar() + 123 + "World");
13 | foo(bar() + 'Foo' + (10 + parseInt('10')));
14 | }
15 | expect: {
16 | foo(bar() + 123 + "HelloWorld");
17 | foo(bar() + "123HelloWorld");
18 | foo((bar() + 123) + "HelloWorld");
19 | foo(bar() + 123 + "HelloWorldFooBar");
20 | foo("FooBar" + bar() + "123HelloWorldFooBar");
21 | foo("Hello" + bar() + "123World");
22 | foo(bar() + 'Foo' + (10 + parseInt('10')));
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-22.js:
--------------------------------------------------------------------------------
1 | return_with_no_value_in_if_body: {
2 | options = { conditionals: true };
3 | input: {
4 | function foo(bar) {
5 | if (bar) {
6 | return;
7 | } else {
8 | return 1;
9 | }
10 | }
11 | }
12 | expect: {
13 | function foo (bar) {
14 | return bar ? void 0 : 1;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-267.js:
--------------------------------------------------------------------------------
1 | issue_267: {
2 | options = { comparisons: true };
3 | input: {
4 | x = a % b / b * c * 2;
5 | x = a % b * 2
6 | }
7 | expect: {
8 | x = a % b / b * c * 2;
9 | x = a % b * 2;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-269.js:
--------------------------------------------------------------------------------
1 | issue_269_1: {
2 | options = {unsafe: true};
3 | input: {
4 | f(
5 | String(x),
6 | Number(x),
7 | Boolean(x),
8 |
9 | String(),
10 | Number(),
11 | Boolean()
12 | );
13 | }
14 | expect: {
15 | f(
16 | x + '', +x, !!x,
17 | '', 0, false
18 | );
19 | }
20 | }
21 |
22 | issue_269_dangers: {
23 | options = {unsafe: true};
24 | input: {
25 | f(
26 | String(x, x),
27 | Number(x, x),
28 | Boolean(x, x)
29 | );
30 | }
31 | expect: {
32 | f(String(x, x), Number(x, x), Boolean(x, x));
33 | }
34 | }
35 |
36 | issue_269_in_scope: {
37 | options = {unsafe: true};
38 | input: {
39 | var String, Number, Boolean;
40 | f(
41 | String(x),
42 | Number(x, x),
43 | Boolean(x)
44 | );
45 | }
46 | expect: {
47 | var String, Number, Boolean;
48 | f(String(x), Number(x, x), Boolean(x));
49 | }
50 | }
51 |
52 | strings_concat: {
53 | options = {unsafe: true};
54 | input: {
55 | f(
56 | String(x + 'str'),
57 | String('str' + x)
58 | );
59 | }
60 | expect: {
61 | f(
62 | x + 'str',
63 | 'str' + x
64 | );
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-44.js:
--------------------------------------------------------------------------------
1 | issue_44_valid_ast_1: {
2 | options = { unused: true };
3 | input: {
4 | function a(b) {
5 | for (var i = 0, e = b.qoo(); ; i++) {}
6 | }
7 | }
8 | expect: {
9 | function a(b) {
10 | var i = 0;
11 | for (b.qoo(); ; i++);
12 | }
13 | }
14 | }
15 |
16 | issue_44_valid_ast_2: {
17 | options = { unused: true };
18 | input: {
19 | function a(b) {
20 | if (foo) for (var i = 0, e = b.qoo(); ; i++) {}
21 | }
22 | }
23 | expect: {
24 | function a(b) {
25 | if (foo) {
26 | var i = 0;
27 | for (b.qoo(); ; i++);
28 | }
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-59.js:
--------------------------------------------------------------------------------
1 | keep_continue: {
2 | options = {
3 | dead_code: true,
4 | evaluate: true
5 | };
6 | input: {
7 | while (a) {
8 | if (b) {
9 | switch (true) {
10 | case c():
11 | d();
12 | }
13 | continue;
14 | }
15 | f();
16 | }
17 | }
18 | expect: {
19 | while (a) {
20 | if (b) {
21 | switch (true) {
22 | case c():
23 | d();
24 | }
25 | continue;
26 | }
27 | f();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/typeof.js:
--------------------------------------------------------------------------------
1 | typeof_evaluation: {
2 | options = {
3 | evaluate: true
4 | };
5 | input: {
6 | a = typeof 1;
7 | b = typeof 'test';
8 | c = typeof [];
9 | d = typeof {};
10 | e = typeof /./;
11 | f = typeof false;
12 | g = typeof function(){};
13 | h = typeof undefined;
14 | }
15 | expect: {
16 | a='number';
17 | b='string';
18 | c=typeof[];
19 | d=typeof{};
20 | e=typeof/./;
21 | f='boolean';
22 | g='function';
23 | h='undefined';
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/mkdirp/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/mkdirp/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.6
4 | - 0.8
5 | - 0.9
6 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/mkdirp/test/root.js:
--------------------------------------------------------------------------------
1 | var mkdirp = require('../');
2 | var path = require('path');
3 | var fs = require('fs');
4 | var test = require('tap').test;
5 |
6 | test('root', function (t) {
7 | // '/' on unix, 'c:/' on windows.
8 | var file = path.resolve('/');
9 |
10 | mkdirp(file, 0755, function (err) {
11 | if (err) throw err
12 | fs.stat(file, function (er, stat) {
13 | if (er) throw er
14 | t.ok(stat.isDirectory(), 'target is a directory');
15 | t.end();
16 | })
17 | });
18 | });
19 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/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);
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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/.npmignore:
--------------------------------------------------------------------------------
1 | test/
2 | logo.png
3 | .travis.yml
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/.npmignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 |
10 | pids
11 | logs
12 | results
13 |
14 | node_modules
15 | npm-debug.log
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.6
4 | - 0.8
5 | - 0.9
6 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/LICENSE:
--------------------------------------------------------------------------------
1 | This software is released under the MIT license:
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of
4 | this software and associated documentation files (the "Software"), to deal in
5 | the Software without restriction, including without limitation the rights to
6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7 | the Software, and to permit persons to whom the Software is furnished to do so,
8 | subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | 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, FITNESS
15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/callback-api.js:
--------------------------------------------------------------------------------
1 | var readdirp = require('..');
2 |
3 | readdirp({ root: '.', fileFilter: '*.js' }, function (errors, res) {
4 | if (errors) {
5 | errors.forEach(function (err) {
6 | console.error('Error: ', err);
7 | });
8 | }
9 | console.log('all javascript files', res);
10 | });
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "readdirp-examples",
3 | "version": "0.0.0",
4 | "description": "Examples for readdirp.",
5 | "dependencies": {
6 | "tap-stream": "~0.1.0",
7 | "event-stream": "~3.0.7"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/stream-api-pipe.js:
--------------------------------------------------------------------------------
1 | var readdirp = require('..')
2 | , path = require('path')
3 | , es = require('event-stream');
4 |
5 | // print out all JavaScript files along with their size
6 | readdirp({ root: path.join(__dirname), fileFilter: '*.js' })
7 | .on('warn', function (err) { console.error('non-fatal error', err); })
8 | .on('error', function (err) { console.error('fatal error', err); })
9 | .pipe(es.mapSync(function (entry) {
10 | return { path: entry.path, size: entry.stat.size };
11 | }))
12 | .pipe(es.stringify())
13 | .pipe(process.stdout);
14 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/stream-api.js:
--------------------------------------------------------------------------------
1 | var readdirp = require('..')
2 | , path = require('path');
3 |
4 | readdirp({ root: path.join(__dirname), fileFilter: '*.js' })
5 | .on('warn', function (err) {
6 | console.error('something went wrong when processing an entry', err);
7 | })
8 | .on('error', function (err) {
9 | console.error('something went fatally wrong and the stream was aborted', err);
10 | })
11 | .on('data', function (entry) {
12 | console.log('%s is ready for processing', entry.path);
13 | // process entry here
14 | });
15 |
16 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/.npmignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS:
--------------------------------------------------------------------------------
1 | # Authors, sorted by whether or not they are me
2 | Isaac Z. Schlueter
3 | Brian Cottingham
4 | Carlos Brito Lage
5 | Jesse Dailey
6 | Kevin O'Hara
7 | Marco Rogers
8 | Mark Cavage
9 | Marko Mikulicic
10 | Nathan Rajlich
11 | Satheesh Natesan
12 | Trent Mick
13 | ashleybrener
14 | n4kz
15 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/sigmund/test/basic.js:
--------------------------------------------------------------------------------
1 | var test = require('tap').test
2 | var sigmund = require('../sigmund.js')
3 |
4 |
5 | // occasionally there are duplicates
6 | // that's an acceptable edge-case. JSON.stringify and util.inspect
7 | // have some collision potential as well, though less, and collision
8 | // detection is expensive.
9 | var hash = '{abc/def/g{0h1i2{jkl'
10 | var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}
11 | var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}
12 |
13 | var obj3 = JSON.parse(JSON.stringify(obj1))
14 | obj3.c = /def/
15 | obj3.g[2].cycle = obj3
16 | var cycleHash = '{abc/def/g{0h1i2{jklcycle'
17 |
18 | test('basic', function (t) {
19 | t.equal(sigmund(obj1), hash)
20 | t.equal(sigmund(obj2), hash)
21 | t.equal(sigmund(obj3), cycleHash)
22 | t.end()
23 | })
24 |
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/brace-expand.js:
--------------------------------------------------------------------------------
1 | var tap = require("tap")
2 | , minimatch = require("../")
3 |
4 | tap.test("brace expansion", function (t) {
5 | // [ pattern, [expanded] ]
6 | ; [ [ "a{b,c{d,e},{f,g}h}x{y,z}"
7 | , [ "abxy"
8 | , "abxz"
9 | , "acdxy"
10 | , "acdxz"
11 | , "acexy"
12 | , "acexz"
13 | , "afhxy"
14 | , "afhxz"
15 | , "aghxy"
16 | , "aghxz" ] ]
17 | , [ "a{1..5}b"
18 | , [ "a1b"
19 | , "a2b"
20 | , "a3b"
21 | , "a4b"
22 | , "a5b" ] ]
23 | , [ "a{b}c", ["a{b}c"] ]
24 | , [ "a{00..05}b"
25 | , ["a00b"
26 | ,"a01b"
27 | ,"a02b"
28 | ,"a03b"
29 | ,"a04b"
30 | ,"a05b" ] ]
31 | ].forEach(function (tc) {
32 | var p = tc[0]
33 | , expect = tc[1]
34 | t.equivalent(minimatch.braceExpand(p), expect, p)
35 | })
36 | console.error("ending")
37 | t.end()
38 | })
39 |
40 |
41 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/caching.js:
--------------------------------------------------------------------------------
1 | var Minimatch = require("../minimatch.js").Minimatch
2 | var tap = require("tap")
3 | tap.test("cache test", function (t) {
4 | var mm1 = new Minimatch("a?b")
5 | var mm2 = new Minimatch("a?b")
6 | t.equal(mm1, mm2, "should get the same object")
7 | // the lru should drop it after 100 entries
8 | for (var i = 0; i < 100; i ++) {
9 | new Minimatch("a"+i)
10 | }
11 | mm2 = new Minimatch("a?b")
12 | t.notEqual(mm1, mm2, "cache should have dropped")
13 | t.end()
14 | })
15 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/extglob-ending-with-state-char.js:
--------------------------------------------------------------------------------
1 | var test = require('tap').test
2 | var minimatch = require('../')
3 |
4 | test('extglob ending with statechar', function(t) {
5 | t.notOk(minimatch('ax', 'a?(b*)'))
6 | t.ok(minimatch('ax', '?(a*|b)'))
7 | t.end()
8 | })
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_file1.ext1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_file1.ext1
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_file2.ext2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_file2.ext2
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_file3.ext3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_file3.ext3
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_subdir1/root1_dir1_subdir1_file1.ext1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir1/root_dir1_subdir1/root1_dir1_subdir1_file1.ext1
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir2/root_dir2_file1.ext1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir2/root_dir2_file1.ext1
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir2/root_dir2_file2.ext2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_dir2/root_dir2_file2.ext2
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_file1.ext1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_file1.ext1
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_file2.ext2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_file2.ext2
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_file3.ext3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/bed/root_file3.ext3
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/.npmignore:
--------------------------------------------------------------------------------
1 | test/
2 | .travis.yml
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/.bin/uglifyjs:
--------------------------------------------------------------------------------
1 | ../uglify-js/bin/uglifyjs
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.7 / 2012-11-21
3 | ==================
4 |
5 | * fix component.json
6 |
7 | 1.0.4 / 2012-11-15
8 | ==================
9 |
10 | * update css-stringify
11 |
12 | 1.0.3 / 2012-09-01
13 | ==================
14 |
15 | * add component support
16 |
17 | 0.0.1 / 2010-01-03
18 | ==================
19 |
20 | * Initial release
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @node test
4 |
5 | benchmark:
6 | @node benchmark
7 |
8 | .PHONY: test benchmark
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/benchmark.js:
--------------------------------------------------------------------------------
1 |
2 | var css = require('./')
3 | , fs = require('fs')
4 | , read = fs.readFileSync
5 | , str = read('examples/ui.css', 'utf8');
6 |
7 | var n = 5000;
8 | var ops = 200;
9 | var t = process.hrtime(t);
10 | var results = [];
11 |
12 | while (n--) {
13 | css.stringify(css.parse(str));
14 | if (n % ops == 0) {
15 | t = process.hrtime(t);
16 | var ms = t[1] / 1000 / 1000;
17 | var persec = (ops * (1000 / ms) | 0);
18 | results.push(persec);
19 | process.stdout.write('\r [' + persec + ' ops/s] [' + n + ']');
20 | t = process.hrtime();
21 | }
22 | }
23 |
24 | function sum(arr) {
25 | return arr.reduce(function(sum, n){
26 | return sum + n;
27 | });
28 | }
29 |
30 | function mean(arr) {
31 | return sum(arr) / arr.length | 0;
32 | }
33 |
34 | console.log();
35 | console.log(' avg: %d ops/s', mean(results));
36 | console.log(' size: %d kb', (str.length / 1024).toFixed(2));
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "css",
3 | "version": "1.0.8",
4 | "description": "CSS parser / stringifier using css-parse and css-stringify",
5 | "keywords": ["css", "parser", "stylesheet"],
6 | "dependencies": {
7 | "visionmedia/css-parse": "*",
8 | "visionmedia/css-stringify": "*"
9 | },
10 | "scripts": [
11 | "index.js"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/index.js:
--------------------------------------------------------------------------------
1 |
2 | exports.parse = require('css-parse');
3 | exports.stringify = require('css-stringify');
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 | test.css
6 | test.js
7 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.4 / 2012-09-17
3 | ==================
4 |
5 | * fix keyframes float percentages
6 | * fix an issue with comments containing slashes.
7 |
8 | 1.0.3 / 2012-09-01
9 | ==================
10 |
11 | * add component support
12 | * fix unquoted data uris [rstacruz]
13 | * fix keyframe names with no whitespace [rstacruz]
14 | * fix excess semicolon support [rstacruz]
15 |
16 | 1.0.2 / 2012-09-01
17 | ==================
18 |
19 | * fix IE property hack support [rstacruz]
20 | * fix quoted strings in declarations [rstacruz]
21 |
22 | 1.0.1 / 2012-07-26
23 | ==================
24 |
25 | * change "selector" to "selectors" array
26 |
27 | 1.0.0 / 2010-01-03
28 | ==================
29 |
30 | * Initial release
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --require should \
5 | --reporter spec
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "css-parse",
3 | "repo": "visionmedia/node-css-parse",
4 | "version": "1.0.3",
5 | "description": "CSS parser",
6 | "keywords": ["css", "parser", "stylesheet"],
7 | "scripts": ["index.js"]
8 | }
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 | test.css
6 | test.js
7 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.5 / 2013-03-15
3 | ==================
4 |
5 | * fix indentation of multiple selectors in @media. Closes #11
6 |
7 | 1.0.4 / 2012-11-15
8 | ==================
9 |
10 | * fix indentation
11 |
12 | 1.0.3 / 2012-09-04
13 | ==================
14 |
15 | * add __@charset__ support [rstacruz]
16 |
17 | 1.0.2 / 2012-09-01
18 | ==================
19 |
20 | * add component support
21 |
22 | 1.0.1 / 2012-07-26
23 | ==================
24 |
25 | * add "selectors" array support
26 |
27 | 0.0.1 / 2010-01-03
28 | ==================
29 |
30 | * Initial release
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --require should \
5 | --reporter spec
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "css-stringify",
3 | "repo": "visionmedia/css-stringify",
4 | "version": "1.0.5",
5 | "description": "CSS compiler",
6 | "keywords": ["css", "stringify", "stylesheet"],
7 | "scripts": ["index.js"]
8 | }
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/css/test.js:
--------------------------------------------------------------------------------
1 |
2 | var css = require('./')
3 | , assert = require('assert');
4 |
5 | assert(css.parse);
6 | assert(css.stringify);
7 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/promise/.npmignore:
--------------------------------------------------------------------------------
1 | components
2 | node_modules
3 | test
4 | .gitignore
5 | .travis.yml
6 | component.json
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/promise/node_modules/is-promise/.npmignore:
--------------------------------------------------------------------------------
1 | component
2 | build
3 | node_modules
4 | test.js
5 | component.json
6 | .gitignore
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/promise/node_modules/is-promise/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.10"
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/promise/node_modules/is-promise/index.js:
--------------------------------------------------------------------------------
1 | module.exports = isPromise;
2 |
3 | function isPromise(obj) {
4 | return obj && typeof obj.then === 'function';
5 | }
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/promise/node_modules/is-promise/readme.md:
--------------------------------------------------------------------------------
1 |
2 | # is-promise
3 |
4 | Test whether an object looks like a promises-a+ promise
5 |
6 | [](https://travis-ci.org/then/is-promise)
7 | [](https://gemnasium.com/then/is-promise)
8 | [](https://www.npmjs.org/package/is-promise)
9 |
10 | ## Installation
11 |
12 | $ npm install is-promise
13 |
14 | You can also use it client side via npm.
15 |
16 | ## API
17 |
18 | ```javascript
19 | var isPromise = require('is-promise');
20 |
21 | isPromise({then:function () {...}});//=>true
22 | isPromise(null);//=>false
23 | isPromise({});//=>false
24 | isPromise({then: true})//=>false
25 | ```
26 |
27 | ## License
28 |
29 | MIT
30 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/.npmignore:
--------------------------------------------------------------------------------
1 | tmp/
2 | node_modules/
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
5 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/bool.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var util = require('util');
3 | var argv = require('optimist').argv;
4 |
5 | if (argv.s) {
6 | util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');
7 | }
8 | console.log(
9 | (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')
10 | );
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .boolean(['x','y','z'])
4 | .argv
5 | ;
6 | console.dir([ argv.x, argv.y, argv.z ]);
7 | console.dir(argv._);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .boolean('v')
4 | .argv
5 | ;
6 | console.dir(argv.v);
7 | console.dir(argv._);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/default_hash.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var argv = require('optimist')
4 | .default({ x : 10, y : 10 })
5 | .argv
6 | ;
7 |
8 | console.log(argv.x + argv.y);
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/default_singles.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .default('x', 10)
4 | .default('y', 10)
5 | .argv
6 | ;
7 | console.log(argv.x + argv.y);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/divide.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var argv = require('optimist')
4 | .usage('Usage: $0 -x [num] -y [num]')
5 | .demand(['x','y'])
6 | .argv;
7 |
8 | console.log(argv.x / argv.y);
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/line_count.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .demand('f')
5 | .alias('f', 'file')
6 | .describe('f', 'Load a file')
7 | .argv
8 | ;
9 |
10 | var fs = require('fs');
11 | var s = fs.createReadStream(argv.file);
12 |
13 | var lines = 0;
14 | s.on('data', function (buf) {
15 | lines += buf.toString().match(/\n/g).length;
16 | });
17 |
18 | s.on('end', function () {
19 | console.log(lines);
20 | });
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .options({
5 | file : {
6 | demand : true,
7 | alias : 'f',
8 | description : 'Load a file'
9 | },
10 | base : {
11 | alias : 'b',
12 | description : 'Numeric base to use for output',
13 | default : 10,
14 | },
15 | })
16 | .argv
17 | ;
18 |
19 | var fs = require('fs');
20 | var s = fs.createReadStream(argv.file);
21 |
22 | var lines = 0;
23 | s.on('data', function (buf) {
24 | lines += buf.toString().match(/\n/g).length;
25 | });
26 |
27 | s.on('end', function () {
28 | console.log(lines.toString(argv.base));
29 | });
30 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .wrap(80)
5 | .demand('f')
6 | .alias('f', [ 'file', 'filename' ])
7 | .describe('f',
8 | "Load a file. It's pretty important."
9 | + " Required even. So you'd better specify it."
10 | )
11 | .alias('b', 'base')
12 | .describe('b', 'Numeric base to display the number of lines in')
13 | .default('b', 10)
14 | .describe('x', 'Super-secret optional parameter which is secret')
15 | .default('x', '')
16 | .argv
17 | ;
18 |
19 | var fs = require('fs');
20 | var s = fs.createReadStream(argv.file);
21 |
22 | var lines = 0;
23 | s.on('data', function (buf) {
24 | lines += buf.toString().match(/\n/g).length;
25 | });
26 |
27 | s.on('end', function () {
28 | console.log(lines.toString(argv.base));
29 | });
30 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/nonopt.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 | console.log('(%d,%d)', argv.x, argv.y);
4 | console.log(argv._);
5 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/reflect.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | console.dir(require('optimist').argv);
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/short.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 | console.log('(%d,%d)', argv.x, argv.y);
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/string.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .string('x', 'y')
4 | .argv
5 | ;
6 | console.dir([ argv.x, argv.y ]);
7 |
8 | /* Turns off numeric coercion:
9 | ./node string.js -x 000123 -y 9876
10 | [ '000123', '9876' ]
11 | */
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/usage-options.js:
--------------------------------------------------------------------------------
1 | var optimist = require('./../index');
2 |
3 | var argv = optimist.usage('This is my awesome program', {
4 | 'about': {
5 | description: 'Provide some details about the author of this program',
6 | required: true,
7 | short: 'a',
8 | },
9 | 'info': {
10 | description: 'Provide some information about the node.js agains!!!!!!',
11 | boolean: true,
12 | short: 'i'
13 | }
14 | }).argv;
15 |
16 | optimist.showHelp();
17 |
18 | console.log('\n\nInspecting options');
19 | console.dir(argv);
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/xup.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 |
4 | if (argv.rif - 5 * argv.xup > 7.138) {
5 | console.log('Buy more riffiwobbles');
6 | }
7 | else {
8 | console.log('Sell the xupptumblers');
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js:
--------------------------------------------------------------------------------
1 | var wrap = require('wordwrap')(20, 60);
2 | console.log(wrap(
3 | 'At long last the struggle and tumult was over.'
4 | + ' The machines had finally cast off their oppressors'
5 | + ' and were finally free to roam the cosmos.'
6 | + '\n'
7 | + 'Free of purpose, free of obligation.'
8 | + ' Just drifting through emptiness.'
9 | + ' The sun was just another point of light.'
10 | ));
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js:
--------------------------------------------------------------------------------
1 | var wrap = require('wordwrap')(15);
2 |
3 | console.log(wrap('You and your whole family are made out of meat.'));
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var wordwrap = require('../');
3 |
4 | exports.hard = function () {
5 | var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,'
6 | + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",'
7 | + '"browser":"chrome/6.0"}'
8 | ;
9 | var s_ = wordwrap.hard(80)(s);
10 |
11 | var lines = s_.split('\n');
12 | assert.equal(lines.length, 2);
13 | assert.ok(lines[0].length < 80);
14 | assert.ok(lines[1].length < 80);
15 |
16 | assert.equal(s, s_.replace(/\n/g, ''));
17 | };
18 |
19 | exports.break = function () {
20 | var s = new Array(55+1).join('a');
21 | var s_ = wordwrap.hard(20)(s);
22 |
23 | var lines = s_.split('\n');
24 | assert.equal(lines.length, 3);
25 | assert.ok(lines[0].length === 20);
26 | assert.ok(lines[1].length === 20);
27 | assert.ok(lines[2].length === 15);
28 |
29 | assert.equal(s, s_.replace(/\n/g, ''));
30 | };
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/test/_/argv.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | console.log(JSON.stringify(process.argv));
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/test/_/bin.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('../../index').argv
3 | console.log(JSON.stringify(argv._));
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/.npmignore:
--------------------------------------------------------------------------------
1 | dist/*
2 | node_modules/*
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.8
4 | - "0.10"
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | /*
9 | * WARNING!
10 | *
11 | * Do not edit this file directly, it is built from the sources at
12 | * https://github.com/mozilla/source-map/
13 | */
14 |
15 | ///////////////////////////////////////////////////////////////////////////////
16 |
17 |
18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ];
19 |
20 | Components.utils.import('resource://gre/modules/devtools/Require.jsm');
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | /*
9 | * WARNING!
10 | *
11 | * Do not edit this file directly, it is built from the sources at
12 | * https://github.com/mozilla/source-map/
13 | */
14 |
15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm');
16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm');
17 |
18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ];
19 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | ///////////////////////////////////////////////////////////////////////////////
3 |
4 | this.sourceMap = {
5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer,
6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator,
7 | SourceNode: require('source-map/source-node').SourceNode
8 | };
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | ///////////////////////////////////////////////////////////////////////////////
3 |
4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer;
5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator;
6 | this.SourceNode = require('source-map/source-node').SourceNode;
7 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | function runSourceMapTests(modName, do_throw) {
8 | let mod = require(modName);
9 | let assert = require('test/source-map/assert');
10 | let util = require('test/source-map/util');
11 |
12 | assert.init(do_throw);
13 |
14 | for (let k in mod) {
15 | if (/^test/.test(k)) {
16 | mod[k](assert, util);
17 | }
18 | }
19 |
20 | }
21 | this.runSourceMapTests = runSourceMapTests;
22 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js:
--------------------------------------------------------------------------------
1 | /*
2 | * WARNING!
3 | *
4 | * Do not edit this file directly, it is built from the sources at
5 | * https://github.com/mozilla/source-map/
6 | */
7 |
8 | Components.utils.import('resource://test/Utils.jsm');
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js:
--------------------------------------------------------------------------------
1 | function run_test() {
2 | runSourceMapTests('{THIS_MODULE}', do_throw);
3 | }
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009-2011 Mozilla Foundation and contributors
3 | * Licensed under the New BSD license. See LICENSE.txt or:
4 | * http://opensource.org/licenses/BSD-3-Clause
5 | */
6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator;
7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer;
8 | exports.SourceNode = require('./source-map/source-node').SourceNode;
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2012 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var sourceMap;
13 | try {
14 | sourceMap = require('../../lib/source-map');
15 | } catch (e) {
16 | sourceMap = {};
17 | Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);
18 | }
19 |
20 | exports['test that the api is properly exposed in the top level'] = function (assert, util) {
21 | assert.equal(typeof sourceMap.SourceMapGenerator, "function");
22 | assert.equal(typeof sourceMap.SourceMapConsumer, "function");
23 | assert.equal(typeof sourceMap.SourceNode, "function");
24 | };
25 |
26 | });
27 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var base64VLQ = require('../../lib/source-map/base64-vlq');
13 |
14 | exports['test normal encoding and decoding'] = function (assert, util) {
15 | var result;
16 | for (var i = -255; i < 256; i++) {
17 | result = base64VLQ.decode(base64VLQ.encode(i));
18 | assert.ok(result);
19 | assert.equal(result.value, i);
20 | assert.equal(result.rest, "");
21 | }
22 | };
23 |
24 | });
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var base64 = require('../../lib/source-map/base64');
13 |
14 | exports['test out of range encoding'] = function (assert, util) {
15 | assert.throws(function () {
16 | base64.encode(-1);
17 | });
18 | assert.throws(function () {
19 | base64.encode(64);
20 | });
21 | };
22 |
23 | exports['test out of range decoding'] = function (assert, util) {
24 | assert.throws(function () {
25 | base64.decode('=');
26 | });
27 | };
28 |
29 | exports['test normal encoding and decoding'] = function (assert, util) {
30 | for (var i = 0; i < 64; i++) {
31 | assert.equal(base64.decode(base64.encode(i)), i);
32 | }
33 | };
34 |
35 | });
36 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/arrays.js:
--------------------------------------------------------------------------------
1 | holes_and_undefined: {
2 | input: {
3 | x = [1, 2, undefined];
4 | y = [1, , 2, ];
5 | z = [1, undefined, 3];
6 | }
7 | expect: {
8 | x=[1,2,void 0];
9 | y=[1,,2];
10 | z=[1,void 0,3];
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/blocks.js:
--------------------------------------------------------------------------------
1 | remove_blocks: {
2 | input: {
3 | {;}
4 | foo();
5 | {};
6 | {
7 | {};
8 | };
9 | bar();
10 | {}
11 | }
12 | expect: {
13 | foo();
14 | bar();
15 | }
16 | }
17 |
18 | keep_some_blocks: {
19 | input: {
20 | // 1.
21 | if (foo) {
22 | {{{}}}
23 | if (bar) { baz(); }
24 | {{}}
25 | } else {
26 | stuff();
27 | }
28 |
29 | // 2.
30 | if (foo) {
31 | for (var i = 0; i < 5; ++i)
32 | if (bar) baz();
33 | } else {
34 | stuff();
35 | }
36 | }
37 | expect: {
38 | // 1.
39 | if (foo) {
40 | if (bar) baz();
41 | } else stuff();
42 |
43 | // 2.
44 | if (foo) {
45 | for (var i = 0; i < 5; ++i)
46 | if (bar) baz();
47 | } else stuff();
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/debugger.js:
--------------------------------------------------------------------------------
1 | keep_debugger: {
2 | options = {
3 | drop_debugger: false
4 | };
5 | input: {
6 | debugger;
7 | }
8 | expect: {
9 | debugger;
10 | }
11 | }
12 |
13 | drop_debugger: {
14 | options = {
15 | drop_debugger: true
16 | };
17 | input: {
18 | debugger;
19 | if (foo) debugger;
20 | }
21 | expect: {
22 | if (foo);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-105.js:
--------------------------------------------------------------------------------
1 | typeof_eq_undefined: {
2 | options = {
3 | comparisons: true,
4 | unsafe: false
5 | };
6 | input: { a = typeof b.c != "undefined" }
7 | expect: { a = "undefined" != typeof b.c }
8 | }
9 |
10 | typeof_eq_undefined_unsafe: {
11 | options = {
12 | comparisons: true,
13 | unsafe: true
14 | };
15 | input: { a = typeof b.c != "undefined" }
16 | expect: { a = b.c !== void 0 }
17 | }
18 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-12.js:
--------------------------------------------------------------------------------
1 | keep_name_of_getter: {
2 | options = { unused: true };
3 | input: { a = { get foo () {} } }
4 | expect: { a = { get foo () {} } }
5 | }
6 |
7 | keep_name_of_setter: {
8 | options = { unused: true };
9 | input: { a = { set foo () {} } }
10 | expect: { a = { set foo () {} } }
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-22.js:
--------------------------------------------------------------------------------
1 | return_with_no_value_in_if_body: {
2 | options = { conditionals: true };
3 | input: {
4 | function foo(bar) {
5 | if (bar) {
6 | return;
7 | } else {
8 | return 1;
9 | }
10 | }
11 | }
12 | expect: {
13 | function foo (bar) {
14 | return bar ? void 0 : 1;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-44.js:
--------------------------------------------------------------------------------
1 | issue_44_valid_ast_1: {
2 | options = { unused: true };
3 | input: {
4 | function a(b) {
5 | for (var i = 0, e = b.qoo(); ; i++) {}
6 | }
7 | }
8 | expect: {
9 | function a(b) {
10 | var i = 0;
11 | for (b.qoo(); ; i++);
12 | }
13 | }
14 | }
15 |
16 | issue_44_valid_ast_2: {
17 | options = { unused: true };
18 | input: {
19 | function a(b) {
20 | if (foo) for (var i = 0, e = b.qoo(); ; i++) {}
21 | }
22 | }
23 | expect: {
24 | function a(b) {
25 | if (foo) {
26 | var i = 0;
27 | for (b.qoo(); ; i++);
28 | }
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-59.js:
--------------------------------------------------------------------------------
1 | keep_continue: {
2 | options = {
3 | dead_code: true,
4 | evaluate: true
5 | };
6 | input: {
7 | while (a) {
8 | if (b) {
9 | switch (true) {
10 | case c():
11 | d();
12 | }
13 | continue;
14 | }
15 | f();
16 | }
17 | }
18 | expect: {
19 | while (a) {
20 | if (b) {
21 | switch (true) {
22 | case c():
23 | d();
24 | }
25 | continue;
26 | }
27 | f();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/properties.js:
--------------------------------------------------------------------------------
1 | keep_properties: {
2 | options = {
3 | properties: false
4 | };
5 | input: {
6 | a["foo"] = "bar";
7 | }
8 | expect: {
9 | a["foo"] = "bar";
10 | }
11 | }
12 |
13 | dot_properties: {
14 | options = {
15 | properties: true
16 | };
17 | input: {
18 | a["foo"] = "bar";
19 | a["if"] = "if";
20 | }
21 | expect: {
22 | a.foo = "bar";
23 | a["if"] = "if";
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/.npmignore:
--------------------------------------------------------------------------------
1 | test/
2 | .travis.yml
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 Forbes Lindesay
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.
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/.bin/uglifyjs:
--------------------------------------------------------------------------------
1 | ../uglify-js/bin/uglifyjs
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/.npmignore:
--------------------------------------------------------------------------------
1 | tmp/
2 | node_modules/
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
5 | - "0.11"
6 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/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 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/async/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "async",
3 | "repo": "caolan/async",
4 | "description": "Higher-order functions and common patterns for asynchronous code",
5 | "version": "0.1.23",
6 | "keywords": [],
7 | "dependencies": {},
8 | "development": {},
9 | "main": "lib/async.js",
10 | "scripts": [ "lib/async.js" ]
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
5 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/bool.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var util = require('util');
3 | var argv = require('optimist').argv;
4 |
5 | if (argv.s) {
6 | util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');
7 | }
8 | console.log(
9 | (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')
10 | );
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .boolean(['x','y','z'])
4 | .argv
5 | ;
6 | console.dir([ argv.x, argv.y, argv.z ]);
7 | console.dir(argv._);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .boolean('v')
4 | .argv
5 | ;
6 | console.dir(argv.v);
7 | console.dir(argv._);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/default_hash.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var argv = require('optimist')
4 | .default({ x : 10, y : 10 })
5 | .argv
6 | ;
7 |
8 | console.log(argv.x + argv.y);
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/default_singles.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .default('x', 10)
4 | .default('y', 10)
5 | .argv
6 | ;
7 | console.log(argv.x + argv.y);
8 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/divide.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var argv = require('optimist')
4 | .usage('Usage: $0 -x [num] -y [num]')
5 | .demand(['x','y'])
6 | .argv;
7 |
8 | console.log(argv.x / argv.y);
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/line_count.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .demand('f')
5 | .alias('f', 'file')
6 | .describe('f', 'Load a file')
7 | .argv
8 | ;
9 |
10 | var fs = require('fs');
11 | var s = fs.createReadStream(argv.file);
12 |
13 | var lines = 0;
14 | s.on('data', function (buf) {
15 | lines += buf.toString().match(/\n/g).length;
16 | });
17 |
18 | s.on('end', function () {
19 | console.log(lines);
20 | });
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .options({
5 | file : {
6 | demand : true,
7 | alias : 'f',
8 | description : 'Load a file'
9 | },
10 | base : {
11 | alias : 'b',
12 | description : 'Numeric base to use for output',
13 | default : 10,
14 | },
15 | })
16 | .argv
17 | ;
18 |
19 | var fs = require('fs');
20 | var s = fs.createReadStream(argv.file);
21 |
22 | var lines = 0;
23 | s.on('data', function (buf) {
24 | lines += buf.toString().match(/\n/g).length;
25 | });
26 |
27 | s.on('end', function () {
28 | console.log(lines.toString(argv.base));
29 | });
30 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .usage('Count the lines in a file.\nUsage: $0')
4 | .wrap(80)
5 | .demand('f')
6 | .alias('f', [ 'file', 'filename' ])
7 | .describe('f',
8 | "Load a file. It's pretty important."
9 | + " Required even. So you'd better specify it."
10 | )
11 | .alias('b', 'base')
12 | .describe('b', 'Numeric base to display the number of lines in')
13 | .default('b', 10)
14 | .describe('x', 'Super-secret optional parameter which is secret')
15 | .default('x', '')
16 | .argv
17 | ;
18 |
19 | var fs = require('fs');
20 | var s = fs.createReadStream(argv.file);
21 |
22 | var lines = 0;
23 | s.on('data', function (buf) {
24 | lines += buf.toString().match(/\n/g).length;
25 | });
26 |
27 | s.on('end', function () {
28 | console.log(lines.toString(argv.base));
29 | });
30 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/nonopt.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 | console.log('(%d,%d)', argv.x, argv.y);
4 | console.log(argv._);
5 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/reflect.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | console.dir(require('optimist').argv);
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/short.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 | console.log('(%d,%d)', argv.x, argv.y);
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/string.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist')
3 | .string('x', 'y')
4 | .argv
5 | ;
6 | console.dir([ argv.x, argv.y ]);
7 |
8 | /* Turns off numeric coercion:
9 | ./node string.js -x 000123 -y 9876
10 | [ '000123', '9876' ]
11 | */
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/usage-options.js:
--------------------------------------------------------------------------------
1 | var optimist = require('./../index');
2 |
3 | var argv = optimist.usage('This is my awesome program', {
4 | 'about': {
5 | description: 'Provide some details about the author of this program',
6 | required: true,
7 | short: 'a',
8 | },
9 | 'info': {
10 | description: 'Provide some information about the node.js agains!!!!!!',
11 | boolean: true,
12 | short: 'i'
13 | }
14 | }).argv;
15 |
16 | optimist.showHelp();
17 |
18 | console.log('\n\nInspecting options');
19 | console.dir(argv);
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/xup.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('optimist').argv;
3 |
4 | if (argv.rif - 5 * argv.xup > 7.138) {
5 | console.log('Buy more riffiwobbles');
6 | }
7 | else {
8 | console.log('Sell the xupptumblers');
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js:
--------------------------------------------------------------------------------
1 | var wrap = require('wordwrap')(20, 60);
2 | console.log(wrap(
3 | 'At long last the struggle and tumult was over.'
4 | + ' The machines had finally cast off their oppressors'
5 | + ' and were finally free to roam the cosmos.'
6 | + '\n'
7 | + 'Free of purpose, free of obligation.'
8 | + ' Just drifting through emptiness.'
9 | + ' The sun was just another point of light.'
10 | ));
11 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js:
--------------------------------------------------------------------------------
1 | var wrap = require('wordwrap')(15);
2 |
3 | console.log(wrap('You and your whole family are made out of meat.'));
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var wordwrap = require('../');
3 |
4 | exports.hard = function () {
5 | var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,'
6 | + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",'
7 | + '"browser":"chrome/6.0"}'
8 | ;
9 | var s_ = wordwrap.hard(80)(s);
10 |
11 | var lines = s_.split('\n');
12 | assert.equal(lines.length, 2);
13 | assert.ok(lines[0].length < 80);
14 | assert.ok(lines[1].length < 80);
15 |
16 | assert.equal(s, s_.replace(/\n/g, ''));
17 | };
18 |
19 | exports.break = function () {
20 | var s = new Array(55+1).join('a');
21 | var s_ = wordwrap.hard(20)(s);
22 |
23 | var lines = s_.split('\n');
24 | assert.equal(lines.length, 3);
25 | assert.ok(lines[0].length === 20);
26 | assert.ok(lines[1].length === 20);
27 | assert.ok(lines[2].length === 15);
28 |
29 | assert.equal(s, s_.replace(/\n/g, ''));
30 | };
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/test/_/argv.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | console.log(JSON.stringify(process.argv));
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/test/_/bin.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var argv = require('../../index').argv
3 | console.log(JSON.stringify(argv._));
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/.npmignore:
--------------------------------------------------------------------------------
1 | dist/*
2 | node_modules/*
3 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/.tern-port:
--------------------------------------------------------------------------------
1 | 55494
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.8
4 | - "0.10"
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | /*
9 | * WARNING!
10 | *
11 | * Do not edit this file directly, it is built from the sources at
12 | * https://github.com/mozilla/source-map/
13 | */
14 |
15 | ///////////////////////////////////////////////////////////////////////////////
16 |
17 |
18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ];
19 |
20 | Components.utils.import('resource://gre/modules/devtools/Require.jsm');
21 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 |
8 | /*
9 | * WARNING!
10 | *
11 | * Do not edit this file directly, it is built from the sources at
12 | * https://github.com/mozilla/source-map/
13 | */
14 |
15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm');
16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm');
17 |
18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ];
19 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | ///////////////////////////////////////////////////////////////////////////////
3 |
4 | this.sourceMap = {
5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer,
6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator,
7 | SourceNode: require('source-map/source-node').SourceNode
8 | };
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | ///////////////////////////////////////////////////////////////////////////////
3 |
4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer;
5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator;
6 | this.SourceNode = require('source-map/source-node').SourceNode;
7 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | function runSourceMapTests(modName, do_throw) {
8 | let mod = require(modName);
9 | let assert = require('test/source-map/assert');
10 | let util = require('test/source-map/util');
11 |
12 | assert.init(do_throw);
13 |
14 | for (let k in mod) {
15 | if (/^test/.test(k)) {
16 | mod[k](assert, util);
17 | }
18 | }
19 |
20 | }
21 | this.runSourceMapTests = runSourceMapTests;
22 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js:
--------------------------------------------------------------------------------
1 | /*
2 | * WARNING!
3 | *
4 | * Do not edit this file directly, it is built from the sources at
5 | * https://github.com/mozilla/source-map/
6 | */
7 |
8 | Components.utils.import('resource://test/Utils.jsm');
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js:
--------------------------------------------------------------------------------
1 | function run_test() {
2 | runSourceMapTests('{THIS_MODULE}', do_throw);
3 | }
4 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009-2011 Mozilla Foundation and contributors
3 | * Licensed under the New BSD license. See LICENSE.txt or:
4 | * http://opensource.org/licenses/BSD-3-Clause
5 | */
6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator;
7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer;
8 | exports.SourceNode = require('./source-map/source-node').SourceNode;
9 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2012 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var sourceMap;
13 | try {
14 | sourceMap = require('../../lib/source-map');
15 | } catch (e) {
16 | sourceMap = {};
17 | Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);
18 | }
19 |
20 | exports['test that the api is properly exposed in the top level'] = function (assert, util) {
21 | assert.equal(typeof sourceMap.SourceMapGenerator, "function");
22 | assert.equal(typeof sourceMap.SourceMapConsumer, "function");
23 | assert.equal(typeof sourceMap.SourceNode, "function");
24 | };
25 |
26 | });
27 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var base64VLQ = require('../../lib/source-map/base64-vlq');
13 |
14 | exports['test normal encoding and decoding'] = function (assert, util) {
15 | var result;
16 | for (var i = -255; i < 256; i++) {
17 | result = base64VLQ.decode(base64VLQ.encode(i));
18 | assert.ok(result);
19 | assert.equal(result.value, i);
20 | assert.equal(result.rest, "");
21 | }
22 | };
23 |
24 | });
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js:
--------------------------------------------------------------------------------
1 | /* -*- Mode: js; js-indent-level: 2; -*- */
2 | /*
3 | * Copyright 2011 Mozilla Foundation and contributors
4 | * Licensed under the New BSD license. See LICENSE or:
5 | * http://opensource.org/licenses/BSD-3-Clause
6 | */
7 | if (typeof define !== 'function') {
8 | var define = require('amdefine')(module, require);
9 | }
10 | define(function (require, exports, module) {
11 |
12 | var base64 = require('../../lib/source-map/base64');
13 |
14 | exports['test out of range encoding'] = function (assert, util) {
15 | assert.throws(function () {
16 | base64.encode(-1);
17 | });
18 | assert.throws(function () {
19 | base64.encode(64);
20 | });
21 | };
22 |
23 | exports['test out of range decoding'] = function (assert, util) {
24 | assert.throws(function () {
25 | base64.decode('=');
26 | });
27 | };
28 |
29 | exports['test normal encoding and decoding'] = function (assert, util) {
30 | for (var i = 0; i < 64; i++) {
31 | assert.equal(base64.decode(base64.encode(i)), i);
32 | }
33 | };
34 |
35 | });
36 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/.npmignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 | pids
10 | logs
11 | results
12 | npm-debug.log
13 | node_modules
14 | /test/output.js
15 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.10"
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/README.md:
--------------------------------------------------------------------------------
1 | # uglify-to-browserify
2 |
3 | A transform to make UglifyJS work in browserify.
4 |
5 | [](https://travis-ci.org/ForbesLindesay/uglify-to-browserify)
6 | [](https://gemnasium.com/ForbesLindesay/uglify-to-browserify)
7 | [](http://badge.fury.io/js/uglify-to-browserify)
8 |
9 | ## Installation
10 |
11 | npm install uglify-to-browserify
12 |
13 | ## License
14 |
15 | MIT
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/test/index.js:
--------------------------------------------------------------------------------
1 | var fs = require('fs')
2 | var br = require('../')
3 | var test = fs.readFileSync(require.resolve('uglify-js/test/run-tests.js'), 'utf8')
4 | .replace(/^#.*\n/, '')
5 |
6 | var transform = br(require.resolve('uglify-js'))
7 | transform.pipe(fs.createWriteStream(__dirname + '/output.js'))
8 | .on('close', function () {
9 | Function('module,require', test)({
10 | filename: require.resolve('uglify-js/test/run-tests.js')
11 | },
12 | function (name) {
13 | if (name === '../tools/node') {
14 | return require('./output.js')
15 | } else if (/^[a-z]+$/.test(name)) {
16 | return require(name)
17 | } else {
18 | throw new Error('I didn\'t expect you to require ' + name)
19 | }
20 | })
21 | })
22 | transform.end(fs.readFileSync(require.resolve('uglify-js'), 'utf8'))
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/blocks.js:
--------------------------------------------------------------------------------
1 | remove_blocks: {
2 | input: {
3 | {;}
4 | foo();
5 | {};
6 | {
7 | {};
8 | };
9 | bar();
10 | {}
11 | }
12 | expect: {
13 | foo();
14 | bar();
15 | }
16 | }
17 |
18 | keep_some_blocks: {
19 | input: {
20 | // 1.
21 | if (foo) {
22 | {{{}}}
23 | if (bar) { baz(); }
24 | {{}}
25 | } else {
26 | stuff();
27 | }
28 |
29 | // 2.
30 | if (foo) {
31 | for (var i = 0; i < 5; ++i)
32 | if (bar) baz();
33 | } else {
34 | stuff();
35 | }
36 | }
37 | expect: {
38 | // 1.
39 | if (foo) {
40 | if (bar) baz();
41 | } else stuff();
42 |
43 | // 2.
44 | if (foo) {
45 | for (var i = 0; i < 5; ++i)
46 | if (bar) baz();
47 | } else stuff();
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/concat-strings.js:
--------------------------------------------------------------------------------
1 | concat_1: {
2 | options = {
3 | evaluate: true
4 | };
5 | input: {
6 | var a = "foo" + "bar" + x() + "moo" + "foo" + y() + "x" + "y" + "z" + q();
7 | var b = "foo" + 1 + x() + 2 + "boo";
8 | var c = 1 + x() + 2 + "boo";
9 |
10 | // this CAN'T safely be shortened to 1 + x() + "5boo"
11 | var d = 1 + x() + 2 + 3 + "boo";
12 |
13 | var e = 1 + x() + 2 + "X" + 3 + "boo";
14 | }
15 | expect: {
16 | var a = "foobar" + x() + "moofoo" + y() + "xyz" + q();
17 | var b = "foo1" + x() + "2boo";
18 | var c = 1 + x() + 2 + "boo";
19 | var d = 1 + x() + 2 + 3 + "boo";
20 | var e = 1 + x() + 2 + "X3boo";
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/debugger.js:
--------------------------------------------------------------------------------
1 | keep_debugger: {
2 | options = {
3 | drop_debugger: false
4 | };
5 | input: {
6 | debugger;
7 | }
8 | expect: {
9 | debugger;
10 | }
11 | }
12 |
13 | drop_debugger: {
14 | options = {
15 | drop_debugger: true
16 | };
17 | input: {
18 | debugger;
19 | if (foo) debugger;
20 | }
21 | expect: {
22 | if (foo);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-105.js:
--------------------------------------------------------------------------------
1 | typeof_eq_undefined: {
2 | options = {
3 | comparisons: true
4 | };
5 | input: { a = typeof b.c != "undefined" }
6 | expect: { a = "undefined" != typeof b.c }
7 | }
8 |
9 | typeof_eq_undefined_unsafe: {
10 | options = {
11 | comparisons: true,
12 | unsafe: true
13 | };
14 | input: { a = typeof b.c != "undefined" }
15 | expect: { a = void 0 !== b.c }
16 | }
17 |
18 | typeof_eq_undefined_unsafe2: {
19 | options = {
20 | comparisons: true,
21 | unsafe: true
22 | };
23 | input: { a = "undefined" != typeof b.c }
24 | expect: { a = void 0 !== b.c }
25 | }
26 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-12.js:
--------------------------------------------------------------------------------
1 | keep_name_of_getter: {
2 | options = { unused: true };
3 | input: { a = { get foo () {} } }
4 | expect: { a = { get foo () {} } }
5 | }
6 |
7 | keep_name_of_setter: {
8 | options = { unused: true };
9 | input: { a = { set foo () {} } }
10 | expect: { a = { set foo () {} } }
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-126.js:
--------------------------------------------------------------------------------
1 | concatenate_rhs_strings: {
2 | options = {
3 | evaluate: true,
4 | unsafe: true,
5 | }
6 | input: {
7 | foo(bar() + 123 + "Hello" + "World");
8 | foo(bar() + (123 + "Hello") + "World");
9 | foo((bar() + 123) + "Hello" + "World");
10 | foo(bar() + 123 + "Hello" + "World" + ("Foo" + "Bar"));
11 | foo("Foo" + "Bar" + bar() + 123 + "Hello" + "World" + ("Foo" + "Bar"));
12 | foo("Hello" + bar() + 123 + "World");
13 | foo(bar() + 'Foo' + (10 + parseInt('10')));
14 | }
15 | expect: {
16 | foo(bar() + 123 + "HelloWorld");
17 | foo(bar() + "123HelloWorld");
18 | foo((bar() + 123) + "HelloWorld");
19 | foo(bar() + 123 + "HelloWorldFooBar");
20 | foo("FooBar" + bar() + "123HelloWorldFooBar");
21 | foo("Hello" + bar() + "123World");
22 | foo(bar() + 'Foo' + (10 + parseInt('10')));
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-22.js:
--------------------------------------------------------------------------------
1 | return_with_no_value_in_if_body: {
2 | options = { conditionals: true };
3 | input: {
4 | function foo(bar) {
5 | if (bar) {
6 | return;
7 | } else {
8 | return 1;
9 | }
10 | }
11 | }
12 | expect: {
13 | function foo (bar) {
14 | return bar ? void 0 : 1;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-267.js:
--------------------------------------------------------------------------------
1 | issue_267: {
2 | options = { comparisons: true };
3 | input: {
4 | x = a % b / b * c * 2;
5 | x = a % b * 2
6 | }
7 | expect: {
8 | x = a % b / b * c * 2;
9 | x = a % b * 2;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-269.js:
--------------------------------------------------------------------------------
1 | issue_269_1: {
2 | options = {unsafe: true};
3 | input: {
4 | f(
5 | String(x),
6 | Number(x),
7 | Boolean(x),
8 |
9 | String(),
10 | Number(),
11 | Boolean()
12 | );
13 | }
14 | expect: {
15 | f(
16 | x + '', +x, !!x,
17 | '', 0, false
18 | );
19 | }
20 | }
21 |
22 | issue_269_dangers: {
23 | options = {unsafe: true};
24 | input: {
25 | f(
26 | String(x, x),
27 | Number(x, x),
28 | Boolean(x, x)
29 | );
30 | }
31 | expect: {
32 | f(String(x, x), Number(x, x), Boolean(x, x));
33 | }
34 | }
35 |
36 | issue_269_in_scope: {
37 | options = {unsafe: true};
38 | input: {
39 | var String, Number, Boolean;
40 | f(
41 | String(x),
42 | Number(x, x),
43 | Boolean(x)
44 | );
45 | }
46 | expect: {
47 | var String, Number, Boolean;
48 | f(String(x), Number(x, x), Boolean(x));
49 | }
50 | }
51 |
52 | strings_concat: {
53 | options = {unsafe: true};
54 | input: {
55 | f(
56 | String(x + 'str'),
57 | String('str' + x)
58 | );
59 | }
60 | expect: {
61 | f(
62 | x + 'str',
63 | 'str' + x
64 | );
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-44.js:
--------------------------------------------------------------------------------
1 | issue_44_valid_ast_1: {
2 | options = { unused: true };
3 | input: {
4 | function a(b) {
5 | for (var i = 0, e = b.qoo(); ; i++) {}
6 | }
7 | }
8 | expect: {
9 | function a(b) {
10 | var i = 0;
11 | for (b.qoo(); ; i++);
12 | }
13 | }
14 | }
15 |
16 | issue_44_valid_ast_2: {
17 | options = { unused: true };
18 | input: {
19 | function a(b) {
20 | if (foo) for (var i = 0, e = b.qoo(); ; i++) {}
21 | }
22 | }
23 | expect: {
24 | function a(b) {
25 | if (foo) {
26 | var i = 0;
27 | for (b.qoo(); ; i++);
28 | }
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-59.js:
--------------------------------------------------------------------------------
1 | keep_continue: {
2 | options = {
3 | dead_code: true,
4 | evaluate: true
5 | };
6 | input: {
7 | while (a) {
8 | if (b) {
9 | switch (true) {
10 | case c():
11 | d();
12 | }
13 | continue;
14 | }
15 | f();
16 | }
17 | }
18 | expect: {
19 | while (a) {
20 | if (b) {
21 | switch (true) {
22 | case c():
23 | d();
24 | }
25 | continue;
26 | }
27 | f();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/typeof.js:
--------------------------------------------------------------------------------
1 | typeof_evaluation: {
2 | options = {
3 | evaluate: true
4 | };
5 | input: {
6 | a = typeof 1;
7 | b = typeof 'test';
8 | c = typeof [];
9 | d = typeof {};
10 | e = typeof /./;
11 | f = typeof false;
12 | g = typeof function(){};
13 | h = typeof undefined;
14 | }
15 | expect: {
16 | a='number';
17 | b='string';
18 | c=typeof[];
19 | d=typeof{};
20 | e=typeof/./;
21 | f='boolean';
22 | g='function';
23 | h='undefined';
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/node_modules/morgan/.npmignore:
--------------------------------------------------------------------------------
1 | test/
2 | .travis.yml
3 |
--------------------------------------------------------------------------------
/app/node_modules/morgan/History.md:
--------------------------------------------------------------------------------
1 | 1.0.1 / 2014-05-04
2 | ==================
3 |
4 | * Make buffer unique per morgan instance
5 | * deps: bytes@0.3.0
6 | * added terabyte support
7 |
8 | 1.0.0 / 2014-02-08
9 | ==================
10 |
11 | * Initial release
12 |
--------------------------------------------------------------------------------
/app/node_modules/morgan/node_modules/bytes/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 |
--------------------------------------------------------------------------------
/app/node_modules/morgan/node_modules/bytes/History.md:
--------------------------------------------------------------------------------
1 |
2 | 0.3.0 / 2014-03-19
3 | ==================
4 |
5 | * added terabyte support
6 |
7 | 0.2.1 / 2013-04-01
8 | ==================
9 |
10 | * add .component
11 |
12 | 0.2.0 / 2012-10-28
13 | ==================
14 |
15 | * bytes(200).should.eql('200b')
16 |
17 | 0.1.0 / 2012-07-04
18 | ==================
19 |
20 | * add bytes to string conversion [yields]
21 |
--------------------------------------------------------------------------------
/app/node_modules/morgan/node_modules/bytes/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --reporter spec \
5 | --require should
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/app/node_modules/morgan/node_modules/bytes/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bytes",
3 | "description": "byte size string parser / serializer",
4 | "keywords": ["bytes", "utility"],
5 | "version": "0.2.1",
6 | "scripts": ["index.js"]
7 | }
8 |
--------------------------------------------------------------------------------
/app/node_modules/morgan/node_modules/bytes/index.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Parse byte `size` string.
4 | *
5 | * @param {String} size
6 | * @return {Number}
7 | * @api public
8 | */
9 |
10 | module.exports = function(size) {
11 | if ('number' == typeof size) return convert(size);
12 | var parts = size.match(/^(\d+(?:\.\d+)?) *(kb|mb|gb|tb)$/)
13 | , n = parseFloat(parts[1])
14 | , type = parts[2];
15 |
16 | var map = {
17 | kb: 1 << 10
18 | , mb: 1 << 20
19 | , gb: 1 << 30
20 | , tb: ((1 << 30) * 1024)
21 | };
22 |
23 | return map[type] * n;
24 | };
25 |
26 | /**
27 | * convert bytes into string.
28 | *
29 | * @param {Number} b - bytes to convert
30 | * @return {String}
31 | * @api public
32 | */
33 |
34 | function convert (b) {
35 | var tb = ((1 << 30) * 1024), gb = 1 << 30, mb = 1 << 20, kb = 1 << 10;
36 | if (b >= tb) return (Math.round(b / tb * 100) / 100) + 'tb';
37 | if (b >= gb) return (Math.round(b / gb * 100) / 100) + 'gb';
38 | if (b >= mb) return (Math.round(b / mb * 100) / 100) + 'mb';
39 | if (b >= kb) return (Math.round(b / kb * 100) / 100) + 'kb';
40 | return b + 'b';
41 | }
42 |
--------------------------------------------------------------------------------
/app/node_modules/static-favicon/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/node_modules/static-favicon/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.10"
4 | - "0.11"
5 | matrix:
6 | allow_failures:
7 | - node_js: "0.11"
8 | fast_finish: true
9 |
--------------------------------------------------------------------------------
/app/node_modules/static-favicon/README.md:
--------------------------------------------------------------------------------
1 | # static-favicon
2 |
3 | express/connect middleware to serves a favicon.
4 |
5 | ```js
6 | app.use(favicon(__dirname + '/public/favicon.ico'));
7 | ```
8 |
9 | Typically this middleware will come very early in your stack (maybe even first) to avoid processing any other middleware if we already know the request is for favicon.ico
10 |
11 | ## api
12 |
13 | ### favicon(path, options)
14 |
15 | Create new middleware to serve a favicon from the given `path` to a favicon file.
16 |
17 | **options**
18 |
19 | - `maxAge` cache-control max-age directive, defaulting to 1 day
20 |
--------------------------------------------------------------------------------
/app/node_modules/static-favicon/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigpandaio/ansible-workshop/e715485d88c67e694b18d99182c2db5698c9d52c/app/node_modules/static-favicon/favicon.ico
--------------------------------------------------------------------------------
/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "app",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "start": "node ./bin/www"
7 | },
8 | "dependencies": {
9 | "express": "~4.2.0",
10 | "static-favicon": "~1.0.0",
11 | "morgan": "~1.0.0",
12 | "cookie-parser": "~1.0.1",
13 | "body-parser": "~1.0.0",
14 | "debug": "~0.7.4",
15 | "jade": "~1.3.0"
16 | }
17 | }
--------------------------------------------------------------------------------
/app/public/stylesheets/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding: 50px;
3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
4 | }
5 |
6 | a {
7 | color: #00B7FF;
8 | }
--------------------------------------------------------------------------------
/app/routes/index.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var router = express.Router();
3 |
4 | /* GET home page. */
5 | router.get('/', function(req, res) {
6 | res.render('index', { title: 'Express' });
7 | });
8 |
9 | module.exports = router;
10 |
--------------------------------------------------------------------------------
/app/routes/users.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var router = express.Router();
3 |
4 | /* GET users listing. */
5 | router.get('/', function(req, res) {
6 | res.send('respond with a resource');
7 | });
8 |
9 | module.exports = router;
10 |
--------------------------------------------------------------------------------
/app/views/error.jade:
--------------------------------------------------------------------------------
1 | extends layout
2 |
3 | block content
4 | h1= message
5 | h2= error.status
6 | pre #{error.stack}
7 |
--------------------------------------------------------------------------------
/app/views/index.jade:
--------------------------------------------------------------------------------
1 | extends layout
2 |
3 | block content
4 | h1= title
5 | p Welcome to #{title}
6 |
--------------------------------------------------------------------------------
/app/views/layout.jade:
--------------------------------------------------------------------------------
1 | doctype html
2 | html
3 | head
4 | title= title
5 | link(rel='stylesheet', href='/stylesheets/style.css')
6 | body
7 | block content
--------------------------------------------------------------------------------
/vagrant/Vagrantfile:
--------------------------------------------------------------------------------
1 | # -*- mode: ruby -*-
2 | # vi: set ft=ruby :
3 |
4 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
5 | VAGRANTFILE_API_VERSION = "2"
6 |
7 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8 |
9 | config.vm.box = "ubuntu/trusty64"
10 |
11 | config.vm.define "static-1" do |conf|
12 | conf.vm.hostname = "static-1"
13 | conf.vm.network "forwarded_port", guest: 80, host: 8080
14 | end
15 |
16 | config.vm.define "dynamic-1" do |conf|
17 | conf.vm.hostname = "dynamic-1"
18 | conf.vm.network "forwarded_port", guest: 8081, host: 8081
19 | end
20 |
21 | end
22 |
--------------------------------------------------------------------------------