diff options
Diffstat (limited to 'node_modules/require-precompiled')
-rw-r--r-- | node_modules/require-precompiled/index.js | 18 | ||||
-rw-r--r-- | node_modules/require-precompiled/license | 21 | ||||
-rw-r--r-- | node_modules/require-precompiled/package.json | 40 | ||||
-rw-r--r-- | node_modules/require-precompiled/readme.md | 45 |
4 files changed, 124 insertions, 0 deletions
diff --git a/node_modules/require-precompiled/index.js b/node_modules/require-precompiled/index.js new file mode 100644 index 000000000..3e6f18a69 --- /dev/null +++ b/node_modules/require-precompiled/index.js @@ -0,0 +1,18 @@ +'use strict'; +module.exports = install; + +function install(precompile, ext, extensions) { + ext = ext || '.js'; + extensions = extensions || require.extensions; + + var oldExtension = extensions[ext]; + + extensions[ext] = function (module, filename) { + var source = precompile(filename); + if (source) { + module._compile(source, filename); + return; + } + oldExtension(module, filename); + }; +} diff --git a/node_modules/require-precompiled/license b/node_modules/require-precompiled/license new file mode 100644 index 000000000..ad5d021ed --- /dev/null +++ b/node_modules/require-precompiled/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) James Talmage <james@talmage.io> (github.com/jamestalmage) + +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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +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. diff --git a/node_modules/require-precompiled/package.json b/node_modules/require-precompiled/package.json new file mode 100644 index 000000000..501dd5399 --- /dev/null +++ b/node_modules/require-precompiled/package.json @@ -0,0 +1,40 @@ +{ + "name": "require-precompiled", + "version": "0.1.0", + "description": "Require extension that allows for caching/precompiling", + "license": "MIT", + "repository": "jamestalmage/require-precompiled", + "author": { + "name": "James Talmage", + "email": "james@talmage.io", + "url": "github.com/jamestalmage" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && nyc --reporter=lcov --reporter=text ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "require", + "extension", + "cache", + "precompile" + ], + "dependencies": {}, + "devDependencies": { + "ava": "^0.8.0", + "coveralls": "^2.11.6", + "fake-module-system": "^0.3.0", + "nyc": "^5.0.0", + "xo": "^0.12.0" + }, + "xo": { + "ignores": [ + "test.js" + ] + } +} diff --git a/node_modules/require-precompiled/readme.md b/node_modules/require-precompiled/readme.md new file mode 100644 index 000000000..23fdc751b --- /dev/null +++ b/node_modules/require-precompiled/readme.md @@ -0,0 +1,45 @@ +# require-precompiled [![Build Status](https://travis-ci.org/jamestalmage/require-precompiled.svg?branch=master)](https://travis-ci.org/jamestalmage/require-precompiled) [![Coverage Status](https://coveralls.io/repos/jamestalmage/require-precompiled/badge.svg?branch=master&service=github)](https://coveralls.io/github/jamestalmage/require-precompiled?branch=master) + +> Require extension that allows for caching/precompiling + + +## Install + +``` +$ npm install --save require-precompiled +``` + + +## Usage + +```js +const installPrecompiler = require('require-precompiled'); +const cache = require('my-cache-implementation'); + +installPrecompiler(filename => { + if (cache.hasEntryFor(filename)) { + return cache.getPrecompiledCode(filename); + } + // fall through to underlying extension chain; + return null; +}); + +// Any module required from this point on will be checked against the cache. +const foo = require('some-module'); +``` + + +## API + +### requirePrecompiled(callback) + +#### callback + +Type: `Function(string: filename)` + +Return `string` contents for a cache hit, or `null` for a miss. + + +## License + +MIT © [James Talmage](http://github.com/jamestalmage) |