es6-crawler-detect 3.1.3 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +18 -17
- package/.eslintignore +6 -0
- package/.eslintrc.json +30 -0
- package/.github/FUNDING.yml +12 -12
- package/.github/ISSUE_TEMPLATE/bug_report.md +41 -38
- package/.github/ISSUE_TEMPLATE/feature_request.md +20 -20
- package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +29 -0
- package/.prettierrc.json +5 -0
- package/CODE_OF_CONDUCT.md +76 -76
- package/LICENSE +21 -21
- package/README.md +103 -93
- package/dist/main.bundle.js +1 -1
- package/example/node/dist/crawler.min.js +1 -1
- package/example/node/index.html +21 -21
- package/example/node/node_modules/.bin/mime +15 -0
- package/example/node/node_modules/.bin/mime.cmd +7 -0
- package/example/node/node_modules/.yarn-integrity +67 -0
- package/example/node/node_modules/accepts/HISTORY.md +236 -0
- package/example/node/node_modules/accepts/LICENSE +23 -0
- package/example/node/node_modules/accepts/README.md +142 -0
- package/example/node/node_modules/accepts/index.js +238 -0
- package/example/node/node_modules/accepts/package.json +47 -0
- package/example/node/node_modules/array-flatten/LICENSE +21 -0
- package/example/node/node_modules/array-flatten/README.md +43 -0
- package/example/node/node_modules/array-flatten/array-flatten.js +64 -0
- package/example/node/node_modules/array-flatten/package.json +39 -0
- package/example/node/node_modules/body-parser/HISTORY.md +624 -0
- package/example/node/node_modules/body-parser/LICENSE +23 -0
- package/example/node/node_modules/body-parser/README.md +456 -0
- package/example/node/node_modules/body-parser/index.js +157 -0
- package/example/node/node_modules/body-parser/lib/read.js +181 -0
- package/example/node/node_modules/body-parser/lib/types/json.js +230 -0
- package/example/node/node_modules/body-parser/lib/types/raw.js +101 -0
- package/example/node/node_modules/body-parser/lib/types/text.js +121 -0
- package/example/node/node_modules/body-parser/lib/types/urlencoded.js +284 -0
- package/example/node/node_modules/body-parser/package.json +52 -0
- package/example/node/node_modules/bytes/History.md +92 -0
- package/example/node/node_modules/bytes/LICENSE +23 -0
- package/example/node/node_modules/bytes/Readme.md +152 -0
- package/example/node/node_modules/bytes/index.js +166 -0
- package/example/node/node_modules/bytes/package.json +42 -0
- package/example/node/node_modules/content-disposition/HISTORY.md +60 -0
- package/example/node/node_modules/content-disposition/LICENSE +22 -0
- package/example/node/node_modules/content-disposition/README.md +142 -0
- package/example/node/node_modules/content-disposition/index.js +458 -0
- package/example/node/node_modules/content-disposition/package.json +44 -0
- package/example/node/node_modules/content-type/HISTORY.md +24 -0
- package/example/node/node_modules/content-type/LICENSE +22 -0
- package/example/node/node_modules/content-type/README.md +92 -0
- package/example/node/node_modules/content-type/index.js +222 -0
- package/example/node/node_modules/content-type/package.json +40 -0
- package/example/node/node_modules/cookie/HISTORY.md +128 -0
- package/example/node/node_modules/cookie/LICENSE +24 -0
- package/example/node/node_modules/cookie/README.md +257 -0
- package/example/node/node_modules/cookie/index.js +202 -0
- package/example/node/node_modules/cookie/package.json +40 -0
- package/example/node/node_modules/cookie-signature/History.md +38 -0
- package/example/node/node_modules/cookie-signature/Readme.md +42 -0
- package/example/node/node_modules/cookie-signature/index.js +51 -0
- package/example/node/node_modules/cookie-signature/package.json +18 -0
- package/example/node/node_modules/debug/.coveralls.yml +1 -0
- package/example/node/node_modules/debug/.eslintrc +11 -0
- package/example/node/node_modules/debug/.travis.yml +14 -0
- package/example/node/node_modules/debug/CHANGELOG.md +362 -0
- package/example/node/node_modules/debug/LICENSE +19 -0
- package/example/node/node_modules/debug/Makefile +50 -0
- package/example/node/node_modules/debug/README.md +312 -0
- package/example/node/node_modules/debug/component.json +19 -0
- package/example/node/node_modules/debug/karma.conf.js +70 -0
- package/example/node/node_modules/debug/node.js +1 -0
- package/example/node/node_modules/debug/package.json +49 -0
- package/example/node/node_modules/debug/src/browser.js +185 -0
- package/example/node/node_modules/debug/src/debug.js +202 -0
- package/example/node/node_modules/debug/src/index.js +10 -0
- package/example/node/node_modules/debug/src/inspector-log.js +15 -0
- package/example/node/node_modules/debug/src/node.js +248 -0
- package/example/node/node_modules/depd/History.md +96 -0
- package/example/node/node_modules/depd/LICENSE +22 -0
- package/example/node/node_modules/depd/Readme.md +280 -0
- package/example/node/node_modules/depd/index.js +522 -0
- package/example/node/node_modules/depd/lib/browser/index.js +77 -0
- package/example/node/node_modules/depd/lib/compat/callsite-tostring.js +103 -0
- package/example/node/node_modules/depd/lib/compat/event-listener-count.js +22 -0
- package/example/node/node_modules/depd/lib/compat/index.js +79 -0
- package/example/node/node_modules/depd/package.json +41 -0
- package/example/node/node_modules/destroy/LICENSE +22 -0
- package/example/node/node_modules/destroy/README.md +60 -0
- package/example/node/node_modules/destroy/index.js +75 -0
- package/example/node/node_modules/destroy/package.json +37 -0
- package/example/node/node_modules/ee-first/LICENSE +22 -0
- package/example/node/node_modules/ee-first/README.md +80 -0
- package/example/node/node_modules/ee-first/index.js +95 -0
- package/example/node/node_modules/ee-first/package.json +29 -0
- package/example/node/node_modules/encodeurl/HISTORY.md +14 -0
- package/example/node/node_modules/encodeurl/LICENSE +22 -0
- package/example/node/node_modules/encodeurl/README.md +128 -0
- package/example/node/node_modules/encodeurl/index.js +60 -0
- package/example/node/node_modules/encodeurl/package.json +40 -0
- package/example/node/node_modules/escape-html/LICENSE +24 -0
- package/example/node/node_modules/escape-html/Readme.md +43 -0
- package/example/node/node_modules/escape-html/index.js +78 -0
- package/example/node/node_modules/escape-html/package.json +24 -0
- package/example/node/node_modules/etag/HISTORY.md +83 -0
- package/example/node/node_modules/etag/LICENSE +22 -0
- package/example/node/node_modules/etag/README.md +159 -0
- package/example/node/node_modules/etag/index.js +131 -0
- package/example/node/node_modules/etag/package.json +47 -0
- package/example/node/node_modules/express/History.md +3510 -0
- package/example/node/node_modules/express/LICENSE +24 -0
- package/example/node/node_modules/express/Readme.md +158 -0
- package/example/node/node_modules/express/index.js +11 -0
- package/example/node/node_modules/express/lib/application.js +644 -0
- package/example/node/node_modules/express/lib/express.js +116 -0
- package/example/node/node_modules/express/lib/middleware/init.js +43 -0
- package/example/node/node_modules/express/lib/middleware/query.js +47 -0
- package/example/node/node_modules/express/lib/request.js +525 -0
- package/example/node/node_modules/express/lib/response.js +1147 -0
- package/example/node/node_modules/express/lib/router/index.js +668 -0
- package/example/node/node_modules/express/lib/router/layer.js +181 -0
- package/example/node/node_modules/express/lib/router/route.js +216 -0
- package/example/node/node_modules/express/lib/utils.js +302 -0
- package/example/node/node_modules/express/lib/view.js +182 -0
- package/example/node/node_modules/express/package.json +99 -0
- package/example/node/node_modules/finalhandler/HISTORY.md +187 -0
- package/example/node/node_modules/finalhandler/LICENSE +22 -0
- package/example/node/node_modules/finalhandler/README.md +148 -0
- package/example/node/node_modules/finalhandler/index.js +331 -0
- package/example/node/node_modules/finalhandler/package.json +45 -0
- package/example/node/node_modules/forwarded/HISTORY.md +21 -0
- package/example/node/node_modules/forwarded/LICENSE +22 -0
- package/example/node/node_modules/forwarded/README.md +57 -0
- package/example/node/node_modules/forwarded/index.js +90 -0
- package/example/node/node_modules/forwarded/package.json +45 -0
- package/example/node/node_modules/fresh/HISTORY.md +70 -0
- package/example/node/node_modules/fresh/LICENSE +23 -0
- package/example/node/node_modules/fresh/README.md +119 -0
- package/example/node/node_modules/fresh/index.js +137 -0
- package/example/node/node_modules/fresh/package.json +46 -0
- package/example/node/node_modules/http-errors/HISTORY.md +165 -0
- package/example/node/node_modules/http-errors/LICENSE +23 -0
- package/example/node/node_modules/http-errors/README.md +169 -0
- package/example/node/node_modules/http-errors/index.js +299 -0
- package/example/node/node_modules/http-errors/package.json +49 -0
- package/example/node/node_modules/iconv-lite/Changelog.md +162 -0
- package/example/node/node_modules/iconv-lite/LICENSE +21 -0
- package/example/node/node_modules/iconv-lite/README.md +156 -0
- package/example/node/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
- package/example/node/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
- package/example/node/node_modules/iconv-lite/encodings/index.js +22 -0
- package/example/node/node_modules/iconv-lite/encodings/internal.js +188 -0
- package/example/node/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
- package/example/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/example/node/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
- package/example/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/example/node/node_modules/iconv-lite/encodings/utf16.js +177 -0
- package/example/node/node_modules/iconv-lite/encodings/utf7.js +290 -0
- package/example/node/node_modules/iconv-lite/lib/bom-handling.js +52 -0
- package/example/node/node_modules/iconv-lite/lib/extend-node.js +217 -0
- package/example/node/node_modules/iconv-lite/lib/index.d.ts +24 -0
- package/example/node/node_modules/iconv-lite/lib/index.js +153 -0
- package/example/node/node_modules/iconv-lite/lib/streams.js +121 -0
- package/example/node/node_modules/iconv-lite/package.json +46 -0
- package/example/node/node_modules/inherits/LICENSE +16 -0
- package/example/node/node_modules/inherits/README.md +42 -0
- package/example/node/node_modules/inherits/inherits.js +9 -0
- package/example/node/node_modules/inherits/inherits_browser.js +27 -0
- package/example/node/node_modules/inherits/package.json +29 -0
- package/example/node/node_modules/ipaddr.js/LICENSE +19 -0
- package/example/node/node_modules/ipaddr.js/README.md +233 -0
- package/example/node/node_modules/ipaddr.js/ipaddr.min.js +1 -0
- package/example/node/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
- package/example/node/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
- package/example/node/node_modules/ipaddr.js/package.json +35 -0
- package/example/node/node_modules/media-typer/HISTORY.md +22 -0
- package/example/node/node_modules/media-typer/LICENSE +22 -0
- package/example/node/node_modules/media-typer/README.md +81 -0
- package/example/node/node_modules/media-typer/index.js +270 -0
- package/example/node/node_modules/media-typer/package.json +26 -0
- package/example/node/node_modules/merge-descriptors/HISTORY.md +21 -0
- package/example/node/node_modules/merge-descriptors/LICENSE +23 -0
- package/example/node/node_modules/merge-descriptors/README.md +48 -0
- package/example/node/node_modules/merge-descriptors/index.js +60 -0
- package/example/node/node_modules/merge-descriptors/package.json +32 -0
- package/example/node/node_modules/methods/HISTORY.md +29 -0
- package/example/node/node_modules/methods/LICENSE +24 -0
- package/example/node/node_modules/methods/README.md +51 -0
- package/example/node/node_modules/methods/index.js +69 -0
- package/example/node/node_modules/methods/package.json +36 -0
- package/example/node/node_modules/mime/CHANGELOG.md +164 -0
- package/example/node/node_modules/mime/LICENSE +21 -0
- package/example/node/node_modules/mime/README.md +90 -0
- package/example/node/node_modules/mime/cli.js +8 -0
- package/example/node/node_modules/mime/mime.js +108 -0
- package/example/node/node_modules/mime/package.json +44 -0
- package/example/node/node_modules/mime/src/build.js +53 -0
- package/example/node/node_modules/mime/src/test.js +60 -0
- package/example/node/node_modules/mime/types.json +1 -0
- package/example/node/node_modules/mime-db/HISTORY.md +499 -0
- package/example/node/node_modules/mime-db/LICENSE +22 -0
- package/example/node/node_modules/mime-db/README.md +100 -0
- package/example/node/node_modules/mime-db/db.json +8471 -0
- package/example/node/node_modules/mime-db/index.js +11 -0
- package/example/node/node_modules/mime-db/package.json +59 -0
- package/example/node/node_modules/mime-types/HISTORY.md +388 -0
- package/example/node/node_modules/mime-types/LICENSE +23 -0
- package/example/node/node_modules/mime-types/README.md +113 -0
- package/example/node/node_modules/mime-types/index.js +188 -0
- package/example/node/node_modules/mime-types/package.json +44 -0
- package/example/node/node_modules/ms/index.js +152 -0
- package/example/node/node_modules/ms/license.md +21 -0
- package/example/node/node_modules/ms/package.json +37 -0
- package/example/node/node_modules/ms/readme.md +51 -0
- package/example/node/node_modules/negotiator/HISTORY.md +103 -0
- package/example/node/node_modules/negotiator/LICENSE +24 -0
- package/example/node/node_modules/negotiator/README.md +203 -0
- package/example/node/node_modules/negotiator/index.js +124 -0
- package/example/node/node_modules/negotiator/lib/charset.js +169 -0
- package/example/node/node_modules/negotiator/lib/encoding.js +184 -0
- package/example/node/node_modules/negotiator/lib/language.js +179 -0
- package/example/node/node_modules/negotiator/lib/mediaType.js +294 -0
- package/example/node/node_modules/negotiator/package.json +42 -0
- package/example/node/node_modules/on-finished/HISTORY.md +88 -0
- package/example/node/node_modules/on-finished/LICENSE +23 -0
- package/example/node/node_modules/on-finished/README.md +154 -0
- package/example/node/node_modules/on-finished/index.js +196 -0
- package/example/node/node_modules/on-finished/package.json +31 -0
- package/example/node/node_modules/parseurl/HISTORY.md +58 -0
- package/example/node/node_modules/parseurl/LICENSE +24 -0
- package/example/node/node_modules/parseurl/README.md +133 -0
- package/example/node/node_modules/parseurl/index.js +158 -0
- package/example/node/node_modules/parseurl/package.json +40 -0
- package/example/node/node_modules/path-to-regexp/History.md +36 -0
- package/example/node/node_modules/path-to-regexp/LICENSE +21 -0
- package/example/node/node_modules/path-to-regexp/Readme.md +35 -0
- package/example/node/node_modules/path-to-regexp/index.js +129 -0
- package/example/node/node_modules/path-to-regexp/package.json +30 -0
- package/example/node/node_modules/proxy-addr/HISTORY.md +161 -0
- package/example/node/node_modules/proxy-addr/LICENSE +22 -0
- package/example/node/node_modules/proxy-addr/README.md +139 -0
- package/example/node/node_modules/proxy-addr/index.js +327 -0
- package/example/node/node_modules/proxy-addr/package.json +47 -0
- package/example/node/node_modules/qs/.editorconfig +39 -0
- package/example/node/node_modules/qs/.eslintignore +2 -0
- package/example/node/node_modules/qs/.eslintrc +35 -0
- package/example/node/node_modules/qs/.github/FUNDING.yml +12 -0
- package/example/node/node_modules/qs/.nycrc +13 -0
- package/example/node/node_modules/qs/CHANGELOG.md +359 -0
- package/example/node/node_modules/qs/LICENSE.md +29 -0
- package/example/node/node_modules/qs/README.md +604 -0
- package/example/node/node_modules/qs/dist/qs.js +832 -0
- package/example/node/node_modules/qs/lib/formats.js +23 -0
- package/example/node/node_modules/qs/lib/index.js +11 -0
- package/example/node/node_modules/qs/lib/parse.js +257 -0
- package/example/node/node_modules/qs/lib/stringify.js +278 -0
- package/example/node/node_modules/qs/lib/utils.js +251 -0
- package/example/node/node_modules/qs/package.json +69 -0
- package/example/node/node_modules/qs/test/parse.js +772 -0
- package/example/node/node_modules/qs/test/stringify.js +793 -0
- package/example/node/node_modules/qs/test/utils.js +136 -0
- package/example/node/node_modules/range-parser/HISTORY.md +56 -0
- package/example/node/node_modules/range-parser/LICENSE +23 -0
- package/example/node/node_modules/range-parser/README.md +84 -0
- package/example/node/node_modules/range-parser/index.js +162 -0
- package/example/node/node_modules/range-parser/package.json +44 -0
- package/example/node/node_modules/raw-body/HISTORY.md +284 -0
- package/example/node/node_modules/raw-body/LICENSE +22 -0
- package/example/node/node_modules/raw-body/README.md +217 -0
- package/example/node/node_modules/raw-body/index.d.ts +87 -0
- package/example/node/node_modules/raw-body/index.js +286 -0
- package/example/node/node_modules/raw-body/package.json +48 -0
- package/example/node/node_modules/safe-buffer/LICENSE +21 -0
- package/example/node/node_modules/safe-buffer/README.md +584 -0
- package/example/node/node_modules/safe-buffer/index.d.ts +187 -0
- package/example/node/node_modules/safe-buffer/index.js +65 -0
- package/example/node/node_modules/safe-buffer/package.json +51 -0
- package/example/node/node_modules/safer-buffer/LICENSE +21 -0
- package/example/node/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/example/node/node_modules/safer-buffer/Readme.md +156 -0
- package/example/node/node_modules/safer-buffer/dangerous.js +58 -0
- package/example/node/node_modules/safer-buffer/package.json +34 -0
- package/example/node/node_modules/safer-buffer/safer.js +77 -0
- package/example/node/node_modules/safer-buffer/tests.js +406 -0
- package/example/node/node_modules/send/HISTORY.md +506 -0
- package/example/node/node_modules/send/LICENSE +23 -0
- package/example/node/node_modules/send/README.md +327 -0
- package/example/node/node_modules/send/index.js +1133 -0
- package/example/node/node_modules/send/node_modules/.bin/mime +15 -0
- package/example/node/node_modules/send/node_modules/.bin/mime.cmd +7 -0
- package/example/node/node_modules/send/node_modules/ms/index.js +162 -0
- package/example/node/node_modules/send/node_modules/ms/license.md +21 -0
- package/example/node/node_modules/send/node_modules/ms/package.json +38 -0
- package/example/node/node_modules/send/node_modules/ms/readme.md +59 -0
- package/example/node/node_modules/send/package.json +61 -0
- package/example/node/node_modules/serve-static/HISTORY.md +459 -0
- package/example/node/node_modules/serve-static/LICENSE +25 -0
- package/example/node/node_modules/serve-static/README.md +257 -0
- package/example/node/node_modules/serve-static/index.js +210 -0
- package/example/node/node_modules/serve-static/package.json +42 -0
- package/example/node/node_modules/setprototypeof/LICENSE +13 -0
- package/example/node/node_modules/setprototypeof/README.md +31 -0
- package/example/node/node_modules/setprototypeof/index.d.ts +2 -0
- package/example/node/node_modules/setprototypeof/index.js +17 -0
- package/example/node/node_modules/setprototypeof/package.json +38 -0
- package/example/node/node_modules/setprototypeof/test/index.js +24 -0
- package/example/node/node_modules/statuses/HISTORY.md +65 -0
- package/example/node/node_modules/statuses/LICENSE +23 -0
- package/example/node/node_modules/statuses/README.md +127 -0
- package/example/node/node_modules/statuses/codes.json +66 -0
- package/example/node/node_modules/statuses/index.js +113 -0
- package/example/node/node_modules/statuses/package.json +48 -0
- package/example/node/node_modules/toidentifier/HISTORY.md +9 -0
- package/example/node/node_modules/toidentifier/LICENSE +21 -0
- package/example/node/node_modules/toidentifier/README.md +61 -0
- package/example/node/node_modules/toidentifier/index.js +32 -0
- package/example/node/node_modules/toidentifier/package.json +38 -0
- package/example/node/node_modules/type-is/HISTORY.md +259 -0
- package/example/node/node_modules/type-is/LICENSE +23 -0
- package/example/node/node_modules/type-is/README.md +170 -0
- package/example/node/node_modules/type-is/index.js +266 -0
- package/example/node/node_modules/type-is/package.json +45 -0
- package/example/node/node_modules/unpipe/HISTORY.md +4 -0
- package/example/node/node_modules/unpipe/LICENSE +22 -0
- package/example/node/node_modules/unpipe/README.md +43 -0
- package/example/node/node_modules/unpipe/index.js +69 -0
- package/example/node/node_modules/unpipe/package.json +27 -0
- package/example/node/node_modules/utils-merge/LICENSE +20 -0
- package/example/node/node_modules/utils-merge/README.md +34 -0
- package/example/node/node_modules/utils-merge/index.js +23 -0
- package/example/node/node_modules/utils-merge/package.json +40 -0
- package/example/node/node_modules/vary/HISTORY.md +39 -0
- package/example/node/node_modules/vary/LICENSE +22 -0
- package/example/node/node_modules/vary/README.md +101 -0
- package/example/node/node_modules/vary/index.js +149 -0
- package/example/node/node_modules/vary/package.json +43 -0
- package/example/node/package.json +11 -0
- package/example/node/server.js +21 -15
- package/example/node/yarn.lock +352 -0
- package/package.json +59 -47
- package/src/index.js +15 -10
- package/src/lib/crawler/crawlers.js +1398 -11
- package/src/lib/crawler/exclusions.js +55 -8
- package/src/lib/crawler/headers.js +18 -9
- package/src/lib/crawler/provider.js +6 -8
- package/src/lib/crawler.js +101 -90
- package/test/lib/crawler.test.js +43 -26
- package/webpack.common.js +7 -7
- package/webpack.dev.js +4 -4
- package/webpack.prod.js +8 -9
@@ -0,0 +1,32 @@
|
|
1
|
+
{
|
2
|
+
"name": "merge-descriptors",
|
3
|
+
"description": "Merge objects using descriptors",
|
4
|
+
"version": "1.0.1",
|
5
|
+
"author": {
|
6
|
+
"name": "Jonathan Ong",
|
7
|
+
"email": "me@jongleberry.com",
|
8
|
+
"url": "http://jongleberry.com",
|
9
|
+
"twitter": "https://twitter.com/jongleberry"
|
10
|
+
},
|
11
|
+
"contributors": [
|
12
|
+
"Douglas Christopher Wilson <doug@somethingdoug.com>",
|
13
|
+
"Mike Grabowski <grabbou@gmail.com>"
|
14
|
+
],
|
15
|
+
"license": "MIT",
|
16
|
+
"repository": "component/merge-descriptors",
|
17
|
+
"devDependencies": {
|
18
|
+
"istanbul": "0.4.1",
|
19
|
+
"mocha": "1.21.5"
|
20
|
+
},
|
21
|
+
"files": [
|
22
|
+
"HISTORY.md",
|
23
|
+
"LICENSE",
|
24
|
+
"README.md",
|
25
|
+
"index.js"
|
26
|
+
],
|
27
|
+
"scripts": {
|
28
|
+
"test": "mocha --reporter spec --bail --check-leaks test/",
|
29
|
+
"test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
|
30
|
+
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
1.1.2 / 2016-01-17
|
2
|
+
==================
|
3
|
+
|
4
|
+
* perf: enable strict mode
|
5
|
+
|
6
|
+
1.1.1 / 2014-12-30
|
7
|
+
==================
|
8
|
+
|
9
|
+
* Improve `browserify` support
|
10
|
+
|
11
|
+
1.1.0 / 2014-07-05
|
12
|
+
==================
|
13
|
+
|
14
|
+
* Add `CONNECT` method
|
15
|
+
|
16
|
+
1.0.1 / 2014-06-02
|
17
|
+
==================
|
18
|
+
|
19
|
+
* Fix module to work with harmony transform
|
20
|
+
|
21
|
+
1.0.0 / 2014-05-08
|
22
|
+
==================
|
23
|
+
|
24
|
+
* Add `PURGE` method
|
25
|
+
|
26
|
+
0.1.0 / 2013-10-28
|
27
|
+
==================
|
28
|
+
|
29
|
+
* Add `http.METHODS` support
|
@@ -0,0 +1,24 @@
|
|
1
|
+
(The MIT License)
|
2
|
+
|
3
|
+
Copyright (c) 2013-2014 TJ Holowaychuk <tj@vision-media.ca>
|
4
|
+
Copyright (c) 2015-2016 Douglas Christopher Wilson <doug@somethingdoug.com>
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
7
|
+
a copy of this software and associated documentation files (the
|
8
|
+
'Software'), to deal in the Software without restriction, including
|
9
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
10
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
11
|
+
permit persons to whom the Software is furnished to do so, subject to
|
12
|
+
the following conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be
|
15
|
+
included in all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
18
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
19
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
20
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
21
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
22
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
23
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
24
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Methods
|
2
|
+
|
3
|
+
[![NPM Version][npm-image]][npm-url]
|
4
|
+
[![NPM Downloads][downloads-image]][downloads-url]
|
5
|
+
[![Node.js Version][node-version-image]][node-version-url]
|
6
|
+
[![Build Status][travis-image]][travis-url]
|
7
|
+
[![Test Coverage][coveralls-image]][coveralls-url]
|
8
|
+
|
9
|
+
HTTP verbs that Node.js core's HTTP parser supports.
|
10
|
+
|
11
|
+
This module provides an export that is just like `http.METHODS` from Node.js core,
|
12
|
+
with the following differences:
|
13
|
+
|
14
|
+
* All method names are lower-cased.
|
15
|
+
* Contains a fallback list of methods for Node.js versions that do not have a
|
16
|
+
`http.METHODS` export (0.10 and lower).
|
17
|
+
* Provides the fallback list when using tools like `browserify` without pulling
|
18
|
+
in the `http` shim module.
|
19
|
+
|
20
|
+
## Install
|
21
|
+
|
22
|
+
```bash
|
23
|
+
$ npm install methods
|
24
|
+
```
|
25
|
+
|
26
|
+
## API
|
27
|
+
|
28
|
+
```js
|
29
|
+
var methods = require('methods')
|
30
|
+
```
|
31
|
+
|
32
|
+
### methods
|
33
|
+
|
34
|
+
This is an array of lower-cased method names that Node.js supports. If Node.js
|
35
|
+
provides the `http.METHODS` export, then this is the same array lower-cased,
|
36
|
+
otherwise it is a snapshot of the verbs from Node.js 0.10.
|
37
|
+
|
38
|
+
## License
|
39
|
+
|
40
|
+
[MIT](LICENSE)
|
41
|
+
|
42
|
+
[npm-image]: https://img.shields.io/npm/v/methods.svg?style=flat
|
43
|
+
[npm-url]: https://npmjs.org/package/methods
|
44
|
+
[node-version-image]: https://img.shields.io/node/v/methods.svg?style=flat
|
45
|
+
[node-version-url]: https://nodejs.org/en/download/
|
46
|
+
[travis-image]: https://img.shields.io/travis/jshttp/methods.svg?style=flat
|
47
|
+
[travis-url]: https://travis-ci.org/jshttp/methods
|
48
|
+
[coveralls-image]: https://img.shields.io/coveralls/jshttp/methods.svg?style=flat
|
49
|
+
[coveralls-url]: https://coveralls.io/r/jshttp/methods?branch=master
|
50
|
+
[downloads-image]: https://img.shields.io/npm/dm/methods.svg?style=flat
|
51
|
+
[downloads-url]: https://npmjs.org/package/methods
|
@@ -0,0 +1,69 @@
|
|
1
|
+
/*!
|
2
|
+
* methods
|
3
|
+
* Copyright(c) 2013-2014 TJ Holowaychuk
|
4
|
+
* Copyright(c) 2015-2016 Douglas Christopher Wilson
|
5
|
+
* MIT Licensed
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Module dependencies.
|
12
|
+
* @private
|
13
|
+
*/
|
14
|
+
|
15
|
+
var http = require('http');
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Module exports.
|
19
|
+
* @public
|
20
|
+
*/
|
21
|
+
|
22
|
+
module.exports = getCurrentNodeMethods() || getBasicNodeMethods();
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Get the current Node.js methods.
|
26
|
+
* @private
|
27
|
+
*/
|
28
|
+
|
29
|
+
function getCurrentNodeMethods() {
|
30
|
+
return http.METHODS && http.METHODS.map(function lowerCaseMethod(method) {
|
31
|
+
return method.toLowerCase();
|
32
|
+
});
|
33
|
+
}
|
34
|
+
|
35
|
+
/**
|
36
|
+
* Get the "basic" Node.js methods, a snapshot from Node.js 0.10.
|
37
|
+
* @private
|
38
|
+
*/
|
39
|
+
|
40
|
+
function getBasicNodeMethods() {
|
41
|
+
return [
|
42
|
+
'get',
|
43
|
+
'post',
|
44
|
+
'put',
|
45
|
+
'head',
|
46
|
+
'delete',
|
47
|
+
'options',
|
48
|
+
'trace',
|
49
|
+
'copy',
|
50
|
+
'lock',
|
51
|
+
'mkcol',
|
52
|
+
'move',
|
53
|
+
'purge',
|
54
|
+
'propfind',
|
55
|
+
'proppatch',
|
56
|
+
'unlock',
|
57
|
+
'report',
|
58
|
+
'mkactivity',
|
59
|
+
'checkout',
|
60
|
+
'merge',
|
61
|
+
'm-search',
|
62
|
+
'notify',
|
63
|
+
'subscribe',
|
64
|
+
'unsubscribe',
|
65
|
+
'patch',
|
66
|
+
'search',
|
67
|
+
'connect'
|
68
|
+
];
|
69
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
{
|
2
|
+
"name": "methods",
|
3
|
+
"description": "HTTP methods that node supports",
|
4
|
+
"version": "1.1.2",
|
5
|
+
"contributors": [
|
6
|
+
"Douglas Christopher Wilson <doug@somethingdoug.com>",
|
7
|
+
"Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)",
|
8
|
+
"TJ Holowaychuk <tj@vision-media.ca> (http://tjholowaychuk.com)"
|
9
|
+
],
|
10
|
+
"license": "MIT",
|
11
|
+
"repository": "jshttp/methods",
|
12
|
+
"devDependencies": {
|
13
|
+
"istanbul": "0.4.1",
|
14
|
+
"mocha": "1.21.5"
|
15
|
+
},
|
16
|
+
"files": [
|
17
|
+
"index.js",
|
18
|
+
"HISTORY.md",
|
19
|
+
"LICENSE"
|
20
|
+
],
|
21
|
+
"engines": {
|
22
|
+
"node": ">= 0.6"
|
23
|
+
},
|
24
|
+
"scripts": {
|
25
|
+
"test": "mocha --reporter spec --bail --check-leaks test/",
|
26
|
+
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
|
27
|
+
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
|
28
|
+
},
|
29
|
+
"browser": {
|
30
|
+
"http": false
|
31
|
+
},
|
32
|
+
"keywords": [
|
33
|
+
"http",
|
34
|
+
"methods"
|
35
|
+
]
|
36
|
+
}
|
@@ -0,0 +1,164 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## v1.6.0 (24/11/2017)
|
4
|
+
*No changelog for this release.*
|
5
|
+
|
6
|
+
---
|
7
|
+
|
8
|
+
## v2.0.4 (24/11/2017)
|
9
|
+
- [**closed**] Switch to mime-score module for resolving extension contention issues. [#182](https://github.com/broofa/node-mime/issues/182)
|
10
|
+
- [**closed**] Update mime-db to 1.31.0 in v1.x branch [#181](https://github.com/broofa/node-mime/issues/181)
|
11
|
+
|
12
|
+
---
|
13
|
+
|
14
|
+
## v1.5.0 (22/11/2017)
|
15
|
+
- [**closed**] need ES5 version ready in npm package [#179](https://github.com/broofa/node-mime/issues/179)
|
16
|
+
- [**closed**] mime-db no trace of iWork - pages / numbers / etc. [#178](https://github.com/broofa/node-mime/issues/178)
|
17
|
+
- [**closed**] How it works in brownser ? [#176](https://github.com/broofa/node-mime/issues/176)
|
18
|
+
- [**closed**] Missing `./Mime` [#175](https://github.com/broofa/node-mime/issues/175)
|
19
|
+
- [**closed**] Vulnerable Regular Expression [#167](https://github.com/broofa/node-mime/issues/167)
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
## v2.0.3 (25/09/2017)
|
24
|
+
*No changelog for this release.*
|
25
|
+
|
26
|
+
---
|
27
|
+
|
28
|
+
## v1.4.1 (25/09/2017)
|
29
|
+
- [**closed**] Issue when bundling with webpack [#172](https://github.com/broofa/node-mime/issues/172)
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
## v2.0.2 (15/09/2017)
|
34
|
+
- [**V2**] fs.readFileSync is not a function [#165](https://github.com/broofa/node-mime/issues/165)
|
35
|
+
- [**closed**] The extension for video/quicktime should map to .mov, not .qt [#164](https://github.com/broofa/node-mime/issues/164)
|
36
|
+
- [**V2**] [v2 Feedback request] Mime class API [#163](https://github.com/broofa/node-mime/issues/163)
|
37
|
+
- [**V2**] [v2 Feedback request] Resolving conflicts over extensions [#162](https://github.com/broofa/node-mime/issues/162)
|
38
|
+
- [**V2**] Allow callers to load module with official, full, or no defined types. [#161](https://github.com/broofa/node-mime/issues/161)
|
39
|
+
- [**V2**] Use "facets" to resolve extension conflicts [#160](https://github.com/broofa/node-mime/issues/160)
|
40
|
+
- [**V2**] Remove fs and path dependencies [#152](https://github.com/broofa/node-mime/issues/152)
|
41
|
+
- [**V2**] Default content-type should not be application/octet-stream [#139](https://github.com/broofa/node-mime/issues/139)
|
42
|
+
- [**V2**] reset mime-types [#124](https://github.com/broofa/node-mime/issues/124)
|
43
|
+
- [**V2**] Extensionless paths should return null or false [#113](https://github.com/broofa/node-mime/issues/113)
|
44
|
+
|
45
|
+
---
|
46
|
+
|
47
|
+
## v2.0.1 (14/09/2017)
|
48
|
+
- [**closed**] Changelog for v2.0 does not mention breaking changes [#171](https://github.com/broofa/node-mime/issues/171)
|
49
|
+
- [**closed**] MIME breaking with 'class' declaration as it is without 'use strict mode' [#170](https://github.com/broofa/node-mime/issues/170)
|
50
|
+
|
51
|
+
---
|
52
|
+
|
53
|
+
## v2.0.0 (12/09/2017)
|
54
|
+
- [**closed**] woff and woff2 [#168](https://github.com/broofa/node-mime/issues/168)
|
55
|
+
|
56
|
+
---
|
57
|
+
|
58
|
+
## v1.4.0 (28/08/2017)
|
59
|
+
- [**closed**] support for ac3 voc files [#159](https://github.com/broofa/node-mime/issues/159)
|
60
|
+
- [**closed**] Help understanding change from application/xml to text/xml [#158](https://github.com/broofa/node-mime/issues/158)
|
61
|
+
- [**closed**] no longer able to override mimetype [#157](https://github.com/broofa/node-mime/issues/157)
|
62
|
+
- [**closed**] application/vnd.adobe.photoshop [#147](https://github.com/broofa/node-mime/issues/147)
|
63
|
+
- [**closed**] Directories should appear as something other than application/octet-stream [#135](https://github.com/broofa/node-mime/issues/135)
|
64
|
+
- [**closed**] requested features [#131](https://github.com/broofa/node-mime/issues/131)
|
65
|
+
- [**closed**] Make types.json loading optional? [#129](https://github.com/broofa/node-mime/issues/129)
|
66
|
+
- [**closed**] Cannot find module './types.json' [#120](https://github.com/broofa/node-mime/issues/120)
|
67
|
+
- [**V2**] .wav files show up as "audio/x-wav" instead of "audio/x-wave" [#118](https://github.com/broofa/node-mime/issues/118)
|
68
|
+
- [**closed**] Don't be a pain in the ass for node community [#108](https://github.com/broofa/node-mime/issues/108)
|
69
|
+
- [**closed**] don't make default_type global [#78](https://github.com/broofa/node-mime/issues/78)
|
70
|
+
- [**closed**] mime.extension() fails if the content-type is parameterized [#74](https://github.com/broofa/node-mime/issues/74)
|
71
|
+
|
72
|
+
---
|
73
|
+
|
74
|
+
## v1.3.6 (11/05/2017)
|
75
|
+
- [**closed**] .md should be text/markdown as of March 2016 [#154](https://github.com/broofa/node-mime/issues/154)
|
76
|
+
- [**closed**] Error while installing mime [#153](https://github.com/broofa/node-mime/issues/153)
|
77
|
+
- [**closed**] application/manifest+json [#149](https://github.com/broofa/node-mime/issues/149)
|
78
|
+
- [**closed**] Dynamic adaptive streaming over HTTP (DASH) file extension typo [#141](https://github.com/broofa/node-mime/issues/141)
|
79
|
+
- [**closed**] charsets image/png undefined [#140](https://github.com/broofa/node-mime/issues/140)
|
80
|
+
- [**closed**] Mime-db dependency out of date [#130](https://github.com/broofa/node-mime/issues/130)
|
81
|
+
- [**closed**] how to support plist? [#126](https://github.com/broofa/node-mime/issues/126)
|
82
|
+
- [**closed**] how does .types file format look like? [#123](https://github.com/broofa/node-mime/issues/123)
|
83
|
+
- [**closed**] Feature: support for expanding MIME patterns [#121](https://github.com/broofa/node-mime/issues/121)
|
84
|
+
- [**closed**] DEBUG_MIME doesn't work [#117](https://github.com/broofa/node-mime/issues/117)
|
85
|
+
|
86
|
+
---
|
87
|
+
|
88
|
+
## v1.3.4 (06/02/2015)
|
89
|
+
*No changelog for this release.*
|
90
|
+
|
91
|
+
---
|
92
|
+
|
93
|
+
## v1.3.3 (06/02/2015)
|
94
|
+
*No changelog for this release.*
|
95
|
+
|
96
|
+
---
|
97
|
+
|
98
|
+
## v1.3.1 (05/02/2015)
|
99
|
+
- [**closed**] Consider adding support for Handlebars .hbs file ending [#111](https://github.com/broofa/node-mime/issues/111)
|
100
|
+
- [**closed**] Consider adding support for hjson. [#110](https://github.com/broofa/node-mime/issues/110)
|
101
|
+
- [**closed**] Add mime type for Opus audio files [#94](https://github.com/broofa/node-mime/issues/94)
|
102
|
+
- [**closed**] Consider making the `Requesting New Types` information more visible [#77](https://github.com/broofa/node-mime/issues/77)
|
103
|
+
|
104
|
+
---
|
105
|
+
|
106
|
+
## v1.3.0 (05/02/2015)
|
107
|
+
- [**closed**] Add common name? [#114](https://github.com/broofa/node-mime/issues/114)
|
108
|
+
- [**closed**] application/x-yaml [#104](https://github.com/broofa/node-mime/issues/104)
|
109
|
+
- [**closed**] Add mime type for WOFF file format 2.0 [#102](https://github.com/broofa/node-mime/issues/102)
|
110
|
+
- [**closed**] application/x-msi for .msi [#99](https://github.com/broofa/node-mime/issues/99)
|
111
|
+
- [**closed**] Add mimetype for gettext translation files [#98](https://github.com/broofa/node-mime/issues/98)
|
112
|
+
- [**closed**] collaborators [#88](https://github.com/broofa/node-mime/issues/88)
|
113
|
+
- [**closed**] getting errot in installation of mime module...any1 can help? [#87](https://github.com/broofa/node-mime/issues/87)
|
114
|
+
- [**closed**] should application/json's charset be utf8? [#86](https://github.com/broofa/node-mime/issues/86)
|
115
|
+
- [**closed**] Add "license" and "licenses" to package.json [#81](https://github.com/broofa/node-mime/issues/81)
|
116
|
+
- [**closed**] lookup with extension-less file on Windows returns wrong type [#68](https://github.com/broofa/node-mime/issues/68)
|
117
|
+
|
118
|
+
---
|
119
|
+
|
120
|
+
## v1.2.11 (15/08/2013)
|
121
|
+
- [**closed**] Update mime.types [#65](https://github.com/broofa/node-mime/issues/65)
|
122
|
+
- [**closed**] Publish a new version [#63](https://github.com/broofa/node-mime/issues/63)
|
123
|
+
- [**closed**] README should state upfront that "application/octet-stream" is default for unknown extension [#55](https://github.com/broofa/node-mime/issues/55)
|
124
|
+
- [**closed**] Suggested improvement to the charset API [#52](https://github.com/broofa/node-mime/issues/52)
|
125
|
+
|
126
|
+
---
|
127
|
+
|
128
|
+
## v1.2.10 (25/07/2013)
|
129
|
+
- [**closed**] Mime type for woff files should be application/font-woff and not application/x-font-woff [#62](https://github.com/broofa/node-mime/issues/62)
|
130
|
+
- [**closed**] node.types in conflict with mime.types [#51](https://github.com/broofa/node-mime/issues/51)
|
131
|
+
|
132
|
+
---
|
133
|
+
|
134
|
+
## v1.2.9 (17/01/2013)
|
135
|
+
- [**closed**] Please update "mime" NPM [#49](https://github.com/broofa/node-mime/issues/49)
|
136
|
+
- [**closed**] Please add semicolon [#46](https://github.com/broofa/node-mime/issues/46)
|
137
|
+
- [**closed**] parse full mime types [#43](https://github.com/broofa/node-mime/issues/43)
|
138
|
+
|
139
|
+
---
|
140
|
+
|
141
|
+
## v1.2.8 (10/01/2013)
|
142
|
+
- [**closed**] /js directory mime is application/javascript. Is it correct? [#47](https://github.com/broofa/node-mime/issues/47)
|
143
|
+
- [**closed**] Add mime types for lua code. [#45](https://github.com/broofa/node-mime/issues/45)
|
144
|
+
|
145
|
+
---
|
146
|
+
|
147
|
+
## v1.2.7 (19/10/2012)
|
148
|
+
- [**closed**] cannot install 1.2.7 via npm [#41](https://github.com/broofa/node-mime/issues/41)
|
149
|
+
- [**closed**] Transfer ownership to @broofa [#36](https://github.com/broofa/node-mime/issues/36)
|
150
|
+
- [**closed**] it's wrong to set charset to UTF-8 for text [#30](https://github.com/broofa/node-mime/issues/30)
|
151
|
+
- [**closed**] Allow multiple instances of MIME types container [#27](https://github.com/broofa/node-mime/issues/27)
|
152
|
+
|
153
|
+
---
|
154
|
+
|
155
|
+
## v1.2.5 (16/02/2012)
|
156
|
+
- [**closed**] When looking up a types, check hasOwnProperty [#23](https://github.com/broofa/node-mime/issues/23)
|
157
|
+
- [**closed**] Bump version to 1.2.2 [#18](https://github.com/broofa/node-mime/issues/18)
|
158
|
+
- [**closed**] No license [#16](https://github.com/broofa/node-mime/issues/16)
|
159
|
+
- [**closed**] Some types missing that are used by html5/css3 [#13](https://github.com/broofa/node-mime/issues/13)
|
160
|
+
- [**closed**] npm install fails for 1.2.1 [#12](https://github.com/broofa/node-mime/issues/12)
|
161
|
+
- [**closed**] image/pjpeg + image/x-png [#10](https://github.com/broofa/node-mime/issues/10)
|
162
|
+
- [**closed**] symlink [#8](https://github.com/broofa/node-mime/issues/8)
|
163
|
+
- [**closed**] gzip [#2](https://github.com/broofa/node-mime/issues/2)
|
164
|
+
- [**closed**] ALL CAPS filenames return incorrect mime type [#1](https://github.com/broofa/node-mime/issues/1)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2010 Benjamin Thomas, Robert Kieffer
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# mime
|
2
|
+
|
3
|
+
Comprehensive MIME type mapping API based on mime-db module.
|
4
|
+
|
5
|
+
## Install
|
6
|
+
|
7
|
+
Install with [npm](http://github.com/isaacs/npm):
|
8
|
+
|
9
|
+
npm install mime
|
10
|
+
|
11
|
+
## Contributing / Testing
|
12
|
+
|
13
|
+
npm run test
|
14
|
+
|
15
|
+
## Command Line
|
16
|
+
|
17
|
+
mime [path_string]
|
18
|
+
|
19
|
+
E.g.
|
20
|
+
|
21
|
+
> mime scripts/jquery.js
|
22
|
+
application/javascript
|
23
|
+
|
24
|
+
## API - Queries
|
25
|
+
|
26
|
+
### mime.lookup(path)
|
27
|
+
Get the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.'). E.g.
|
28
|
+
|
29
|
+
```js
|
30
|
+
var mime = require('mime');
|
31
|
+
|
32
|
+
mime.lookup('/path/to/file.txt'); // => 'text/plain'
|
33
|
+
mime.lookup('file.txt'); // => 'text/plain'
|
34
|
+
mime.lookup('.TXT'); // => 'text/plain'
|
35
|
+
mime.lookup('htm'); // => 'text/html'
|
36
|
+
```
|
37
|
+
|
38
|
+
### mime.default_type
|
39
|
+
Sets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)
|
40
|
+
|
41
|
+
### mime.extension(type)
|
42
|
+
Get the default extension for `type`
|
43
|
+
|
44
|
+
```js
|
45
|
+
mime.extension('text/html'); // => 'html'
|
46
|
+
mime.extension('application/octet-stream'); // => 'bin'
|
47
|
+
```
|
48
|
+
|
49
|
+
### mime.charsets.lookup()
|
50
|
+
|
51
|
+
Map mime-type to charset
|
52
|
+
|
53
|
+
```js
|
54
|
+
mime.charsets.lookup('text/plain'); // => 'UTF-8'
|
55
|
+
```
|
56
|
+
|
57
|
+
(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)
|
58
|
+
|
59
|
+
## API - Defining Custom Types
|
60
|
+
|
61
|
+
Custom type mappings can be added on a per-project basis via the following APIs.
|
62
|
+
|
63
|
+
### mime.define()
|
64
|
+
|
65
|
+
Add custom mime/extension mappings
|
66
|
+
|
67
|
+
```js
|
68
|
+
mime.define({
|
69
|
+
'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],
|
70
|
+
'application/x-my-type': ['x-mt', 'x-mtt'],
|
71
|
+
// etc ...
|
72
|
+
});
|
73
|
+
|
74
|
+
mime.lookup('x-sft'); // => 'text/x-some-format'
|
75
|
+
```
|
76
|
+
|
77
|
+
The first entry in the extensions array is returned by `mime.extension()`. E.g.
|
78
|
+
|
79
|
+
```js
|
80
|
+
mime.extension('text/x-some-format'); // => 'x-sf'
|
81
|
+
```
|
82
|
+
|
83
|
+
### mime.load(filepath)
|
84
|
+
|
85
|
+
Load mappings from an Apache ".types" format file
|
86
|
+
|
87
|
+
```js
|
88
|
+
mime.load('./my_project.types');
|
89
|
+
```
|
90
|
+
The .types file format is simple - See the `types` dir for examples.
|
@@ -0,0 +1,108 @@
|
|
1
|
+
var path = require('path');
|
2
|
+
var fs = require('fs');
|
3
|
+
|
4
|
+
function Mime() {
|
5
|
+
// Map of extension -> mime type
|
6
|
+
this.types = Object.create(null);
|
7
|
+
|
8
|
+
// Map of mime type -> extension
|
9
|
+
this.extensions = Object.create(null);
|
10
|
+
}
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Define mimetype -> extension mappings. Each key is a mime-type that maps
|
14
|
+
* to an array of extensions associated with the type. The first extension is
|
15
|
+
* used as the default extension for the type.
|
16
|
+
*
|
17
|
+
* e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});
|
18
|
+
*
|
19
|
+
* @param map (Object) type definitions
|
20
|
+
*/
|
21
|
+
Mime.prototype.define = function (map) {
|
22
|
+
for (var type in map) {
|
23
|
+
var exts = map[type];
|
24
|
+
for (var i = 0; i < exts.length; i++) {
|
25
|
+
if (process.env.DEBUG_MIME && this.types[exts[i]]) {
|
26
|
+
console.warn((this._loading || "define()").replace(/.*\//, ''), 'changes "' + exts[i] + '" extension type from ' +
|
27
|
+
this.types[exts[i]] + ' to ' + type);
|
28
|
+
}
|
29
|
+
|
30
|
+
this.types[exts[i]] = type;
|
31
|
+
}
|
32
|
+
|
33
|
+
// Default extension is the first one we encounter
|
34
|
+
if (!this.extensions[type]) {
|
35
|
+
this.extensions[type] = exts[0];
|
36
|
+
}
|
37
|
+
}
|
38
|
+
};
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Load an Apache2-style ".types" file
|
42
|
+
*
|
43
|
+
* This may be called multiple times (it's expected). Where files declare
|
44
|
+
* overlapping types/extensions, the last file wins.
|
45
|
+
*
|
46
|
+
* @param file (String) path of file to load.
|
47
|
+
*/
|
48
|
+
Mime.prototype.load = function(file) {
|
49
|
+
this._loading = file;
|
50
|
+
// Read file and split into lines
|
51
|
+
var map = {},
|
52
|
+
content = fs.readFileSync(file, 'ascii'),
|
53
|
+
lines = content.split(/[\r\n]+/);
|
54
|
+
|
55
|
+
lines.forEach(function(line) {
|
56
|
+
// Clean up whitespace/comments, and split into fields
|
57
|
+
var fields = line.replace(/\s*#.*|^\s*|\s*$/g, '').split(/\s+/);
|
58
|
+
map[fields.shift()] = fields;
|
59
|
+
});
|
60
|
+
|
61
|
+
this.define(map);
|
62
|
+
|
63
|
+
this._loading = null;
|
64
|
+
};
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Lookup a mime type based on extension
|
68
|
+
*/
|
69
|
+
Mime.prototype.lookup = function(path, fallback) {
|
70
|
+
var ext = path.replace(/^.*[\.\/\\]/, '').toLowerCase();
|
71
|
+
|
72
|
+
return this.types[ext] || fallback || this.default_type;
|
73
|
+
};
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Return file extension associated with a mime type
|
77
|
+
*/
|
78
|
+
Mime.prototype.extension = function(mimeType) {
|
79
|
+
var type = mimeType.match(/^\s*([^;\s]*)(?:;|\s|$)/)[1].toLowerCase();
|
80
|
+
return this.extensions[type];
|
81
|
+
};
|
82
|
+
|
83
|
+
// Default instance
|
84
|
+
var mime = new Mime();
|
85
|
+
|
86
|
+
// Define built-in types
|
87
|
+
mime.define(require('./types.json'));
|
88
|
+
|
89
|
+
// Default type
|
90
|
+
mime.default_type = mime.lookup('bin');
|
91
|
+
|
92
|
+
//
|
93
|
+
// Additional API specific to the default instance
|
94
|
+
//
|
95
|
+
|
96
|
+
mime.Mime = Mime;
|
97
|
+
|
98
|
+
/**
|
99
|
+
* Lookup a charset based on mime type.
|
100
|
+
*/
|
101
|
+
mime.charsets = {
|
102
|
+
lookup: function(mimeType, fallback) {
|
103
|
+
// Assume text types are utf8
|
104
|
+
return (/^text\/|^application\/(javascript|json)/).test(mimeType) ? 'UTF-8' : fallback;
|
105
|
+
}
|
106
|
+
};
|
107
|
+
|
108
|
+
module.exports = mime;
|