aboutsummaryrefslogtreecommitdiff
path: root/node_modules/cache-loader/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/cache-loader/README.md')
-rw-r--r--node_modules/cache-loader/README.md210
1 files changed, 0 insertions, 210 deletions
diff --git a/node_modules/cache-loader/README.md b/node_modules/cache-loader/README.md
deleted file mode 100644
index 327496aa..00000000
--- a/node_modules/cache-loader/README.md
+++ /dev/null
@@ -1,210 +0,0 @@
-[![npm][npm]][npm-url]
-[![node][node]][node-url]
-[![deps][deps]][deps-url]
-[![test][test]][test-url]
-[![coverage][cover]][cover-url]
-[![chat][chat]][chat-url]
-
-<div align="center">
- <a href="https://webpack.js.org/">
- <img width="200" height="200" src="https://cdn.rawgit.com/webpack/media/e7485eb2/logo/icon-square-big.svg">
- </a>
- <h1>Cache Loader</h1>
- <p>Caches the result of following loaders on disk (default) or in the database</p>
-</div>
-
-<h2 align="center">Install</h2>
-
-```bash
-npm install --save-dev cache-loader
-```
-
-<h2 align="center">Usage</h2>
-
-Add this loader in front of other (expensive) loaders to cache the result on disk.
-
-**webpack.config.js**
-```js
-module.exports = {
- module: {
- rules: [
- {
- test: /\.ext$/,
- use: [
- 'cache-loader',
- ...loaders
- ],
- include: path.resolve('src')
- }
- ]
- }
-}
-```
-
-> ⚠️ Note that there is an overhead for saving the reading and saving the cache file, so only use this loader to cache expensive loaders.
-
-<h2 align="center">Options</h2>
-
-|Name|Type|Default|Description|
-|:--:|:--:|:-----:|:----------|
-|**`cacheKey`**|`{Function(options, request) -> {String}}`|`undefined`|Allows you to override default cache key generator|
-|**`cacheDirectory`**|`{String}`|`path.resolve('.cache-loader')`|Provide a cache directory where cache items should be stored (used for default read/write implementation)|
-|**`cacheIdentifier`**|`{String}`|`cache-loader:{version} {process.env.NODE_ENV}`|Provide an invalidation identifier which is used to generate the hashes. You can use it for extra dependencies of loaders (used for default read/write implementation)|
-|**`write`**|`{Function(cacheKey, data, callback) -> {void}}`|`undefined`|Allows you to override default write cache data to file (e.g. Redis, memcached)|
-|**`read`**|`{Function(cacheKey, callback) -> {void}}`|`undefined`|Allows you to override default read cache data from file|
-
-<h2 align="center">Examples</h2>
-
-**webpack.config.js**
-```js
-module.exports = {
- module: {
- rules: [
- {
- test: /\.js$/,
- use: [
- 'cache-loader',
- 'babel-loader'
- ],
- include: path.resolve('src')
- }
- ]
- }
-}
-```
-
-### `Database Integration`
-
-**webpack.config.js**
-```js
-// Or different database client - memcached, mongodb, ...
-const redis = require('redis');
-const crypto = require('crypto');
-
-// ...
-// connect to client
-// ...
-
-const BUILD_CACHE_TIMEOUT = 24 * 3600; // 1 day
-
-function digest(str) {
- return crypto.createHash('md5').update(str).digest('hex');
-}
-
-// Generate own cache key
-function cacheKey(options, request) {
- return `build:cache:${digest(request)}`;
-}
-
-
-// Read data from database and parse them
-function read(key, callback) {
- client.get(key, (err, result) => {
- if (err) {
- return callback(err);
- }
-
- if (!result) {
- return callback(new Error(`Key ${key} not found`));
- }
-
- try {
- let data = JSON.parse(result);
- callback(null, data);
- } catch (e) {
- callback(e);
- }
- });
-}
-
-
-// Write data to database under cacheKey
-function write(key, data, callback) {
- client.set(key, JSON.stringify(data), 'EX', BUILD_CACHE_TIMEOUT, callback);
-}
-
-module.exports = {
- module: {
- rules: [
- {
- test: /\.js$/,
- use: [
- {
- loader: 'cache-loader',
- options: {
- cacheKey,
- read,
- write,
- }
- },
- 'babel-loader'
- ],
- include: path.resolve('src')
- }
- ]
- }
-}
-```
-
-<h2 align="center">Maintainers</h2>
-
-<table>
- <tbody>
- <tr>
- <td align="center">
- <a href="https://github.com/sokra">
- <img width="150" height="150" src="https://github.com/sokra.png?size=150">
- </br>
- Tobias Koppers
- </a>
- </td>
- <td align="center">
- <a href="https://github.com/bebraw">
- <img width="150" height="150" src="https://github.com/bebraw.png?v=3&s=150">
- </br>
- Juho Vepsäläinen
- </a>
- </td>
- <td align="center">
- <a href="https://github.com/d3viant0ne">
- <img width="150" height="150" src="https://github.com/d3viant0ne.png?v=3&s=150">
- </br>
- Joshua Wiens
- </a>
- </td>
- <td align="center">
- <a href="https://github.com/michael-ciniawsky">
- <img width="150" height="150" src="https://github.com/michael-ciniawsky.png?v=3&s=150">
- </br>
- Michael Ciniawsky
- </a>
- </td>
- <td align="center">
- <a href="https://github.com/evilebottnawi">
- <img width="150" height="150" src="https://github.com/evilebottnawi.png?v=3&s=150">
- </br>
- Alexander Krasnoyarov
- </a>
- </td>
- </tr>
- <tbody>
-</table>
-
-
-[npm]: https://img.shields.io/npm/v/cache-loader.svg
-[npm-url]: https://npmjs.com/package/cache-loader
-
-[node]: https://img.shields.io/node/v/cache-loader.svg
-[node-url]: https://nodejs.org
-
-[deps]: https://david-dm.org/webpack-contrib/cache-loader.svg
-[deps-url]: https://david-dm.org/webpack-contrib/cache-loader
-
-[chat]: https://img.shields.io/badge/gitter-webpack%2Fwebpack-brightgreen.svg
-[chat-url]: https://gitter.im/webpack/webpack
-
-[test]: https://img.shields.io/travis/webpack-contrib/cache-loader.svg
-[test-url]: https://travis-ci.org/webpack-contrib/cache-loader
-
-[cover]: https://codecov.io/gh/webpack-contrib/cache-loader/branch/master/graph/badge.svg
-[cover-url]: https://codecov.io/gh/webpack-contrib/cache-loader