chushihua
This commit is contained in:
+232
@@ -0,0 +1,232 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
<a name="1.1.11"></a>
|
||||
## [1.1.11](https://github.com/webpack/file-loader/compare/v1.1.10...v1.1.11) (2018-03-01)
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* **index:** `context` takes precedence over `issuer.context` (`options.useRelativePath`) ([#260](https://github.com/webpack/file-loader/issues/260)) ([e73131f](https://github.com/webpack/file-loader/commit/e73131f))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.10"></a>
|
||||
## [1.1.10](https://github.com/webpack/file-loader/compare/v1.1.9...v1.1.10) (2018-02-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **package:** add `webpack >= 4` (`peerDependencies`) ([#255](https://github.com/webpack/file-loader/issues/255)) ([3a6a7a1](https://github.com/webpack/file-loader/commit/3a6a7a1))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.9"></a>
|
||||
## [1.1.9](https://github.com/webpack/file-loader/compare/v1.1.8...v1.1.9) (2018-02-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **index:** handle protocol URL's correctly (`options.publicPath`) ([#253](https://github.com/webpack/file-loader/issues/253)) ([54fa5a3](https://github.com/webpack/file-loader/commit/54fa5a3))
|
||||
* **index:** use `path.posix` for platform consistency ([#254](https://github.com/webpack/file-loader/issues/254)) ([2afe0af](https://github.com/webpack/file-loader/commit/2afe0af))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.8"></a>
|
||||
## [1.1.8](https://github.com/webpack/file-loader/compare/v1.1.7...v1.1.8) (2018-02-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **index:** `context` takes precedence over `issuer.context` (`options.useRelativePath`) ([3b071f5](https://github.com/webpack/file-loader/commit/3b071f5))
|
||||
* **index:** don't append `outputPath` to the original `url` (`options.outputPath` `{Function}`) ([4c1ccaa](https://github.com/webpack/file-loader/commit/4c1ccaa))
|
||||
* **index:** normalize and concat paths via `path.join()` ([26e47ca](https://github.com/webpack/file-loader/commit/26e47ca))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.7"></a>
|
||||
## [1.1.7](https://github.com/webpack/file-loader/compare/v1.1.6...v1.1.7) (2018-02-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **index:** don't concat `options.outputPath` and `options.publicPath` ([#246](https://github.com/webpack/file-loader/issues/246)) ([98bf052](https://github.com/webpack/file-loader/commit/98bf052))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.6"></a>
|
||||
## [1.1.6](https://github.com/webpack/file-loader/compare/v1.1.5...v1.1.6) (2017-12-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* rootContext compatibility fix for legacy / v4 (#237) ([1e4b7cf](https://github.com/webpack/file-loader/commit/1e4b7cf)), closes [#237](https://github.com/webpack/file-loader/issues/237)
|
||||
|
||||
|
||||
|
||||
<a name="1.1.5"></a>
|
||||
## [1.1.5](https://github.com/webpack/file-loader/compare/v1.1.4...v1.1.5) (2017-10-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **schema:** allow `name` to be a `{Function}` (`options.name`) ([#216](https://github.com/webpack/file-loader/issues/216)) ([fbfb160](https://github.com/webpack/file-loader/commit/fbfb160))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.4"></a>
|
||||
## [1.1.4](https://github.com/webpack/file-loader/compare/v1.1.3...v1.1.4) (2017-09-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **index:** revert to CJS exports ([#212](https://github.com/webpack/file-loader/issues/212)) ([f412b3e](https://github.com/webpack/file-loader/commit/f412b3e))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.3"></a>
|
||||
## [1.1.3](https://github.com/webpack/file-loader/compare/v1.1.2...v1.1.3) (2017-09-30)
|
||||
|
||||
|
||||
|
||||
<a name="1.1.2"></a>
|
||||
## [1.1.2](https://github.com/webpack/file-loader/compare/v1.1.1...v1.1.2) (2017-09-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **cjs:** export `raw` value ([#183](https://github.com/webpack/file-loader/issues/183)) ([daeff0e](https://github.com/webpack/file-loader/commit/daeff0e))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.1"></a>
|
||||
## [1.1.1](https://github.com/webpack/file-loader/compare/v1.1.0...v1.1.1) (2017-09-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **schema:** allow `additionalProperties` ([#207](https://github.com/webpack/file-loader/issues/207)) ([cf7c85a](https://github.com/webpack/file-loader/commit/cf7c85a))
|
||||
|
||||
|
||||
|
||||
<a name="1.1.0"></a>
|
||||
# [1.1.0](https://github.com/webpack/file-loader/compare/v1.0.0...v1.1.0) (2017-09-29)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add `options` validation (`schema-utils`) ([#184](https://github.com/webpack/file-loader/issues/184)) ([696ca77](https://github.com/webpack/file-loader/commit/696ca77))
|
||||
|
||||
|
||||
|
||||
<a name="1.0.0"></a>
|
||||
# [1.0.0](https://github.com/webpack/file-loader/compare/v1.0.0-rc.0...v1.0.0) (2017-07-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove `=` from default export (`SyntaxError`) ([#178](https://github.com/webpack/file-loader/issues/178)) ([3fe2d12](https://github.com/webpack/file-loader/commit/3fe2d12))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* Upgrade to defaults 1.3.0 ([#170](https://github.com/webpack-contrib/file-loader/pull/170)) ([632ed72](https://github.com/webpack/file-loader/commit/acd6c2f))
|
||||
* Apply webpack-defaults ([#167](https://github.com/webpack/file-loader/issues/167)) ([632ed72](https://github.com/webpack/file-loader/commit/632ed72))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* Enforces Webpack standard NodeJS engines range.
|
||||
at the time of merge `>= 4.3 < 5.0.0 || >= 5.10`.
|
||||
|
||||
|
||||
|
||||
<a name="1.0.0-rc.0"></a>
|
||||
# [1.0.0-rc.0](https://github.com/webpack/file-loader/compare/v1.0.0-beta.1...v1.0.0-rc.0) (2017-07-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove `=` from default export (`SyntaxError`) ([#178](https://github.com/webpack/file-loader/issues/178)) ([3fe2d12](https://github.com/webpack/file-loader/commit/3fe2d12))
|
||||
|
||||
|
||||
|
||||
<a name="1.0.0-beta.1"></a>
|
||||
# [1.0.0-beta.1](https://github.com/webpack/file-loader/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2017-06-09)
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* Upgrade to defaults 1.3.0 ([#170](https://github.com/webpack-contrib/file-loader/pull/170)) ([632ed72](https://github.com/webpack/file-loader/commit/acd6c2f))
|
||||
|
||||
|
||||
<a name="1.0.0-beta.0"></a>
|
||||
# [1.0.0-beta.0](https://github.com/webpack/file-loader/compare/v0.11.2...v1.0.0-beta.0) (2017-06-07)
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* Apply webpack-defaults ([#167](https://github.com/webpack/file-loader/issues/167)) ([632ed72](https://github.com/webpack/file-loader/commit/632ed72))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* Enforces Webpack standard NodeJS engines range.
|
||||
at the time of merge `>= 4.3 < 5.0.0 || >= 5.10`.
|
||||
|
||||
|
||||
|
||||
<a name="0.11.2"></a>
|
||||
## [0.11.2](https://github.com/webpack/file-loader/compare/v0.11.1...v0.11.2) (2017-06-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **index:** allow to override publicPath with an empty string ([#145](https://github.com/webpack/file-loader/issues/145)) ([26ab81a](https://github.com/webpack/file-loader/commit/26ab81a))
|
||||
* init `publicPath` to undefined ([#159](https://github.com/webpack/file-loader/issues/159)) ([e4c0b2a](https://github.com/webpack/file-loader/commit/e4c0b2a))
|
||||
|
||||
|
||||
|
||||
<a name="0.11.1"></a>
|
||||
## [0.11.1](https://github.com/webpack/file-loader/compare/v0.11.0...v0.11.1) (2017-04-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* outputPath function overriden by useRelativePath ([#139](https://github.com/webpack/file-loader/issues/139)) ([80cdee2](https://github.com/webpack/file-loader/commit/80cdee2))
|
||||
|
||||
|
||||
|
||||
<a name="0.11.0"></a>
|
||||
# [0.11.0](https://github.com/webpack/file-loader/compare/v0.10.1...v0.11.0) (2017-03-31)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Emit files with relative urls ([#135](https://github.com/webpack/file-loader/issues/135)) ([dbcd6cc](https://github.com/webpack/file-loader/commit/dbcd6cc))
|
||||
|
||||
|
||||
|
||||
<a name="0.10.1"></a>
|
||||
## [0.10.1](https://github.com/webpack/file-loader/compare/v0.10.0...v0.10.1) (2017-02-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **getOptions:** deprecation warn in loaderUtils ([#129](https://github.com/webpack/file-loader/issues/129)) ([a8358a0](https://github.com/webpack/file-loader/commit/a8358a0))
|
||||
|
||||
|
||||
|
||||
<a name="0.10.0"></a>
|
||||
# [0.10.0](https://github.com/webpack/file-loader/compare/v0.9.0...v0.10.0) (2017-01-28)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **resources:** specify custom public file name ([6833c70](https://github.com/webpack/file-loader/commit/6833c70))
|
||||
|
||||
|
||||
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
Copyright JS Foundation and other contributors
|
||||
|
||||
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.
|
||||
+331
@@ -0,0 +1,331 @@
|
||||
[![npm][npm]][npm-url]
|
||||
[![node][node]][node-url]
|
||||
[![deps][deps]][deps-url]
|
||||
[![tests][tests]][tests-url]
|
||||
[![coverage][cover]][cover-url]
|
||||
[![chat][chat]][chat-url]
|
||||
|
||||
<div align="center">
|
||||
<a href="https://github.com/webpack/webpack">
|
||||
<img width="200" height="200"
|
||||
src="https://webpack.js.org/assets/icon-square-big.svg">
|
||||
</a>
|
||||
<h1>File Loader</h1>
|
||||
<p>Instructs webpack to emit the required object as file and to return its public URL</p>
|
||||
</div>
|
||||
|
||||
<h2 align="center">Install</h2>
|
||||
|
||||
```bash
|
||||
npm install --save-dev file-loader
|
||||
```
|
||||
|
||||
<h2 align="center"><a href="https://webpack.js.org/concepts/loaders">Usage</a></h2>
|
||||
|
||||
By default the filename of the resulting file is the MD5 hash of the file's contents with the original extension of the required resource.
|
||||
|
||||
```js
|
||||
import img from './file.png'
|
||||
```
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
module.exports = {
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(png|jpg|gif)$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Emits `file.png` as file in the output directory and returns the public URL
|
||||
|
||||
```
|
||||
"/public/path/0dcbbaa7013869e351f.png"
|
||||
```
|
||||
|
||||
<h2 align="center">Options</h2>
|
||||
|
||||
|Name|Type|Default|Description|
|
||||
|:--:|:--:|:-----:|:----------|
|
||||
|**`name`**|`{String\|Function}`|`[hash].[ext]`|Configure a custom filename template for your file|
|
||||
|**`regExp`**|`{RegExp}`|`'undefined'`|Let you extract some parts of the file path to reuse them in the `name` property|
|
||||
|**`context`**|`{String}`|`this.options.context`|Configure a custom file context, defaults to `webpack.config.js` [context](https://webpack.js.org/configuration/entry-context/#context)|
|
||||
|**`publicPath`**|`{String\|Function}`|[`__webpack_public_path__ `](https://webpack.js.org/api/module-variables/#__webpack_public_path__-webpack-specific-)|Configure a custom `public` path for your file|
|
||||
|**`outputPath`**|`{String\|Function}`|`'undefined'`|Configure a custom `output` path for your file|
|
||||
|**`useRelativePath`**|`{Boolean}`|`false`|Should be `true` if you wish to generate a `context` relative URL for each file|
|
||||
|**`emitFile`**|`{Boolean}`|`true`|By default a file is emitted, however this can be disabled if required (e.g. for server side packages)|
|
||||
|
||||
### `name`
|
||||
|
||||
You can configure a custom filename template for your file using the query parameter `name`. For instance, to copy a file from your `context` directory into the output directory retaining the full directory structure, you might use
|
||||
|
||||
#### `{String}`
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '[path][name].[ext]'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### `{Function}`
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name (file) {
|
||||
if (env === 'development') {
|
||||
return '[path][name].[ext]'
|
||||
}
|
||||
|
||||
return '[hash].[ext]'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `regExp`
|
||||
|
||||
Defines a `regExp` to match some parts of the file path. These capture groups can be reused in the `name` property using `[N]` placeholder. Note that `[0]` will be replaced by the entire tested string, whereas `[1]` will contain the first capturing parenthesis of your regex and so on...
|
||||
|
||||
```js
|
||||
import img from './customer01/file.png'
|
||||
```
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
regExp: /\/([a-z0-9]+)\/[a-z0-9]+\.png$/,
|
||||
name: '[1]-[name].[ext]'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
customer01-file.png
|
||||
```
|
||||
|
||||
#### `placeholders`
|
||||
|
||||
|Name|Type|Default|Description|
|
||||
|:--:|:--:|:-----:|:----------|
|
||||
|**`[ext]`**|`{String}`|`file.extname`|The extension of the resource|
|
||||
|**`[name]`**|`{String}`|`file.basename`|The basename of the resource|
|
||||
|**`[path]`**|`{String}`|`file.dirname`|The path of the resource relative to the `context`|
|
||||
|**`[hash]`**|`{String}`|`md5`|The hash of the content, hashes below for more info|
|
||||
|**`[N]`**|`{String}`|``|The `n-th` match obtained from matching the current file name against the `regExp`|
|
||||
|
||||
#### `hashes`
|
||||
|
||||
`[<hashType>:hash:<digestType>:<length>]` optionally you can configure
|
||||
|
||||
|Name|Type|Default|Description|
|
||||
|:--:|:--:|:-----:|:----------|
|
||||
|**`hashType`**|`{String}`|`md5`|`sha1`, `md5`, `sha256`, `sha512`|
|
||||
|**`digestType`**|`{String}`|`hex`|`hex`, `base26`, `base32`, `base36`, `base49`, `base52`, `base58`, `base62`, `base64`|
|
||||
|**`length`**|`{Number}`|`9999`|The length in chars|
|
||||
|
||||
By default, the path and name you specify will output the file in that same directory and will also use that same URL path to access the file.
|
||||
|
||||
### `context`
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '[path][name].[ext]',
|
||||
context: ''
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
You can specify custom `output` and `public` paths by using `outputPath`, `publicPath` and `useRelativePath`
|
||||
|
||||
### `publicPath`
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '[path][name].[ext]',
|
||||
publicPath: 'assets/'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `outputPath`
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '[path][name].[ext]',
|
||||
outputPath: 'images/'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `useRelativePath`
|
||||
|
||||
`useRelativePath` should be `true` if you wish to generate a relative URL to the for each file context.
|
||||
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
useRelativePath: process.env.NODE_ENV === "production"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `emitFile`
|
||||
|
||||
By default a file is emitted, however this can be disabled if required (e.g. for server side packages).
|
||||
|
||||
```js
|
||||
import img from './file.png'
|
||||
```
|
||||
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
emitFile: false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> ⚠️ Returns the public URL but does **not** emit a file
|
||||
|
||||
```
|
||||
`${publicPath}/0dcbbaa701328e351f.png`
|
||||
```
|
||||
|
||||
<h2 align="center">Examples</h2>
|
||||
|
||||
|
||||
```js
|
||||
import png from 'image.png'
|
||||
```
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: 'dirname/[hash].[ext]'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
dirname/0dcbbaa701328ae351f.png
|
||||
```
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '[sha512:hash:base64:7].[ext]'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
gdyb21L.png
|
||||
```
|
||||
|
||||
```js
|
||||
import png from 'path/to/file.png'
|
||||
```
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '[path][name].[ext]?[hash]'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
path/to/file.png?e43b20c069c4a01867c31e98cbce33c9
|
||||
```
|
||||
|
||||
<h2 align="center">Maintainers</h2>
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<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/file-loader.svg
|
||||
[npm-url]: https://npmjs.com/package/file-loader
|
||||
|
||||
[node]: https://img.shields.io/node/v/file-loader.svg
|
||||
[node-url]: https://nodejs.org
|
||||
|
||||
[deps]: https://david-dm.org/webpack-contrib/file-loader.svg
|
||||
[deps-url]: https://david-dm.org/webpack-contrib/file-loader
|
||||
|
||||
[tests]: http://img.shields.io/travis/webpack-contrib/file-loader.svg
|
||||
[tests-url]: https://travis-ci.org/webpack-contrib/file-loader
|
||||
|
||||
[cover]: https://img.shields.io/codecov/c/github/webpack-contrib/file-loader.svg
|
||||
[cover-url]: https://codecov.io/gh/webpack-contrib/file-loader
|
||||
|
||||
[chat]: https://badges.gitter.im/webpack/webpack.svg
|
||||
[chat-url]: https://gitter.im/webpack/webpack
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
var loader = require('./index');
|
||||
|
||||
module.exports = loader.default;
|
||||
module.exports.raw = loader.raw;
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.raw = undefined;
|
||||
exports.default = loader;
|
||||
|
||||
var _path = require('path');
|
||||
|
||||
var _path2 = _interopRequireDefault(_path);
|
||||
|
||||
var _loaderUtils = require('loader-utils');
|
||||
|
||||
var _loaderUtils2 = _interopRequireDefault(_loaderUtils);
|
||||
|
||||
var _schemaUtils = require('schema-utils');
|
||||
|
||||
var _schemaUtils2 = _interopRequireDefault(_schemaUtils);
|
||||
|
||||
var _options = require('./options.json');
|
||||
|
||||
var _options2 = _interopRequireDefault(_options);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
/* eslint-disable
|
||||
multiline-ternary,
|
||||
*/
|
||||
function loader(content) {
|
||||
if (!this.emitFile) throw new Error('File Loader\n\nemitFile is required from module system');
|
||||
|
||||
var options = _loaderUtils2.default.getOptions(this) || {};
|
||||
|
||||
(0, _schemaUtils2.default)(_options2.default, options, 'File Loader');
|
||||
|
||||
var context = options.context || this.rootContext || this.options && this.options.context;
|
||||
|
||||
var url = _loaderUtils2.default.interpolateName(this, options.name, {
|
||||
context,
|
||||
content,
|
||||
regExp: options.regExp
|
||||
});
|
||||
|
||||
var outputPath = url;
|
||||
|
||||
if (options.outputPath) {
|
||||
if (typeof options.outputPath === 'function') {
|
||||
outputPath = options.outputPath(url);
|
||||
} else {
|
||||
outputPath = _path2.default.posix.join(options.outputPath, url);
|
||||
}
|
||||
}
|
||||
|
||||
if (options.useRelativePath) {
|
||||
var filePath = this.resourcePath;
|
||||
|
||||
var issuer = options.context ? context : this._module && this._module.issuer && this._module.issuer.context;
|
||||
|
||||
var relativeUrl = issuer && _path2.default.relative(issuer, filePath).split(_path2.default.sep).join('/');
|
||||
|
||||
var relativePath = relativeUrl && `${_path2.default.dirname(relativeUrl)}/`;
|
||||
// eslint-disable-next-line no-bitwise
|
||||
if (~relativePath.indexOf('../')) {
|
||||
outputPath = _path2.default.posix.join(outputPath, relativePath, url);
|
||||
} else {
|
||||
outputPath = _path2.default.posix.join(relativePath, url);
|
||||
}
|
||||
}
|
||||
|
||||
var publicPath = `__webpack_public_path__ + ${JSON.stringify(outputPath)}`;
|
||||
|
||||
if (options.publicPath) {
|
||||
if (typeof options.publicPath === 'function') {
|
||||
publicPath = options.publicPath(url);
|
||||
} else if (options.publicPath.endsWith('/')) {
|
||||
publicPath = options.publicPath + url;
|
||||
} else {
|
||||
publicPath = `${options.publicPath}/${url}`;
|
||||
}
|
||||
|
||||
publicPath = JSON.stringify(publicPath);
|
||||
}
|
||||
|
||||
if (options.emitFile === undefined || options.emitFile) {
|
||||
this.emitFile(outputPath, content);
|
||||
}
|
||||
// TODO revert to ES2015 Module export, when new CSS Pipeline is in place
|
||||
return `module.exports = ${publicPath};`;
|
||||
}
|
||||
|
||||
var raw = exports.raw = true;
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {},
|
||||
"regExp": {},
|
||||
"context": {
|
||||
"type": "string"
|
||||
},
|
||||
"publicPath": {},
|
||||
"outputPath": {},
|
||||
"useRelativePath": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"emitFile": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
<a name="0.4.7"></a>
|
||||
## [0.4.7](https://github.com/webpack-contrib/schema-utils/compare/v0.4.6...v0.4.7) (2018-08-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **src:** `node >= v4.0.0` support ([#32](https://github.com/webpack-contrib/schema-utils/issues/32)) ([cb13dd4](https://github.com/webpack-contrib/schema-utils/commit/cb13dd4))
|
||||
|
||||
|
||||
|
||||
<a name="0.4.6"></a>
|
||||
## [0.4.6](https://github.com/webpack-contrib/schema-utils/compare/v0.4.5...v0.4.6) (2018-08-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **package:** remove lockfile ([#28](https://github.com/webpack-contrib/schema-utils/issues/28)) ([69f1a81](https://github.com/webpack-contrib/schema-utils/commit/69f1a81))
|
||||
* **package:** remove unnecessary `webpack` dependency ([#26](https://github.com/webpack-contrib/schema-utils/issues/26)) ([532eaa5](https://github.com/webpack-contrib/schema-utils/commit/532eaa5))
|
||||
|
||||
|
||||
|
||||
<a name="0.4.5"></a>
|
||||
## [0.4.5](https://github.com/webpack-contrib/schema-utils/compare/v0.4.4...v0.4.5) (2018-02-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **CHANGELOG:** update broken links ([4483b9f](https://github.com/webpack-contrib/schema-utils/commit/4483b9f))
|
||||
* **package:** update broken links ([f2494ba](https://github.com/webpack-contrib/schema-utils/commit/f2494ba))
|
||||
|
||||
|
||||
|
||||
<a name="0.4.4"></a>
|
||||
## [0.4.4](https://github.com/webpack-contrib/schema-utils/compare/v0.4.3...v0.4.4) (2018-02-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **package:** update `dependencies` ([#22](https://github.com/webpack-contrib/schema-utils/issues/22)) ([3aecac6](https://github.com/webpack-contrib/schema-utils/commit/3aecac6))
|
||||
|
||||
|
||||
|
||||
<a name="0.4.3"></a>
|
||||
## [0.4.3](https://github.com/webpack-contrib/schema-utils/compare/v0.4.2...v0.4.3) (2017-12-14)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **validateOptions:** throw `err` instead of `process.exit(1)` ([#17](https://github.com/webpack-contrib/schema-utils/issues/17)) ([c595eda](https://github.com/webpack-contrib/schema-utils/commit/c595eda))
|
||||
* **ValidationError:** never return `this` in the ctor ([#16](https://github.com/webpack-contrib/schema-utils/issues/16)) ([c723791](https://github.com/webpack-contrib/schema-utils/commit/c723791))
|
||||
|
||||
|
||||
|
||||
<a name="0.4.2"></a>
|
||||
## [0.4.2](https://github.com/webpack-contrib/schema-utils/compare/v0.4.1...v0.4.2) (2017-11-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **validateOptions:** catch `ValidationError` and handle it internally ([#15](https://github.com/webpack-contrib/schema-utils/issues/15)) ([9c5ef5e](https://github.com/webpack-contrib/schema-utils/commit/9c5ef5e))
|
||||
|
||||
|
||||
|
||||
<a name="0.4.1"></a>
|
||||
## [0.4.1](https://github.com/webpack-contrib/schema-utils/compare/v0.4.0...v0.4.1) (2017-11-03)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ValidationError:** use `Error.captureStackTrace` for `err.stack` handling ([#14](https://github.com/webpack-contrib/schema-utils/issues/14)) ([a6fb974](https://github.com/webpack-contrib/schema-utils/commit/a6fb974))
|
||||
|
||||
|
||||
|
||||
<a name="0.4.0"></a>
|
||||
# [0.4.0](https://github.com/webpack-contrib/schema-utils/compare/v0.3.0...v0.4.0) (2017-10-28)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for `typeof`, `instanceof` (`{Function\|RegExp}`) ([#10](https://github.com/webpack-contrib/schema-utils/issues/10)) ([9f01816](https://github.com/webpack-contrib/schema-utils/commit/9f01816))
|
||||
|
||||
|
||||
|
||||
<a name="0.3.0"></a>
|
||||
# [0.3.0](https://github.com/webpack-contrib/schema-utils/compare/v0.2.1...v0.3.0) (2017-04-29)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add ValidationError ([#8](https://github.com/webpack-contrib/schema-utils/issues/8)) ([d48f0fb](https://github.com/webpack-contrib/schema-utils/commit/d48f0fb))
|
||||
|
||||
|
||||
|
||||
<a name="0.2.1"></a>
|
||||
## [0.2.1](https://github.com/webpack-contrib/schema-utils/compare/v0.2.0...v0.2.1) (2017-03-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Include .babelrc to `files` ([28f0363](https://github.com/webpack-contrib/schema-utils/commit/28f0363))
|
||||
* Include source to `files` ([43b0f2f](https://github.com/webpack-contrib/schema-utils/commit/43b0f2f))
|
||||
|
||||
|
||||
|
||||
<a name="0.2.0"></a>
|
||||
# [0.2.0](https://github.com/webpack-contrib/schema-utils/compare/v0.1.0...v0.2.0) (2017-03-12)
|
||||
|
||||
<a name="0.1.0"></a>
|
||||
# 0.1.0 (2017-03-07)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **validations:** add validateOptions module ([ae9b47b](https://github.com/webpack-contrib/schema-utils/commit/ae9b47b))
|
||||
|
||||
|
||||
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
Copyright JS Foundation and other contributors
|
||||
|
||||
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.
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
[![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="http://json-schema.org">
|
||||
<img width="160" height="160"
|
||||
src="https://raw.githubusercontent.com/webpack-contrib/schema-utils/master/docs/logo.png">
|
||||
</a>
|
||||
<a href="https://github.com/webpack/webpack">
|
||||
<img width="200" height="200"
|
||||
src="https://webpack.js.org/assets/icon-square-big.svg">
|
||||
</a>
|
||||
<h1>Schema Utils</h1>
|
||||
</div>
|
||||
|
||||
<h2 align="center">Install</h2>
|
||||
|
||||
```bash
|
||||
npm i schema-utils
|
||||
```
|
||||
|
||||
<h2 align="center">Usage</h2>
|
||||
|
||||
### `validateOptions`
|
||||
|
||||
**schema.json**
|
||||
```js
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
// Options...
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
```
|
||||
|
||||
```js
|
||||
import schema from 'path/to/schema.json'
|
||||
import validateOptions from 'schema-utils'
|
||||
|
||||
validateOptions(schema, options, 'Loader/Plugin Name')
|
||||
```
|
||||
|
||||
<h2 align="center">Examples</h2>
|
||||
|
||||
**schema.json**
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"test": {
|
||||
"anyOf": [
|
||||
{ "type": "array" },
|
||||
{ "type": "string" },
|
||||
{ "instanceof": "RegExp" }
|
||||
]
|
||||
},
|
||||
"transform": {
|
||||
"instanceof": "Function"
|
||||
},
|
||||
"sourceMap": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
```
|
||||
|
||||
### `Loader`
|
||||
|
||||
```js
|
||||
import { getOptions } from 'loader-utils'
|
||||
import validateOptions from 'schema-utils'
|
||||
|
||||
import schema from 'path/to/schema.json'
|
||||
|
||||
function loader (src, map) {
|
||||
const options = getOptions(this) || {}
|
||||
|
||||
validateOptions(schema, options, 'Loader Name')
|
||||
|
||||
// Code...
|
||||
}
|
||||
```
|
||||
|
||||
### `Plugin`
|
||||
|
||||
```js
|
||||
import validateOptions from 'schema-utils'
|
||||
|
||||
import schema from 'path/to/schema.json'
|
||||
|
||||
class Plugin {
|
||||
constructor (options) {
|
||||
validateOptions(schema, options, 'Plugin Name')
|
||||
|
||||
this.options = options
|
||||
}
|
||||
|
||||
apply (compiler) {
|
||||
// Code...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
[npm]: https://img.shields.io/npm/v/schema-utils.svg
|
||||
[npm-url]: https://npmjs.com/package/schema-utils
|
||||
|
||||
[node]: https://img.shields.io/node/v/schema-utils.svg
|
||||
[node-url]: https://nodejs.org
|
||||
|
||||
[deps]: https://david-dm.org/webpack-contrib/schema-utils.svg
|
||||
[deps-url]: https://david-dm.org/webpack-contrib/schema-utils
|
||||
|
||||
[test]: http://img.shields.io/travis/webpack-contrib/schema-utils.svg
|
||||
[test-url]: https://travis-ci.org/webpack-contrib/schema-utils
|
||||
|
||||
[cover]: https://codecov.io/gh/webpack-contrib/schema-utils/branch/master/graph/badge.svg
|
||||
[cover-url]: https://codecov.io/gh/webpack-contrib/schema-utils
|
||||
|
||||
[chat]: https://img.shields.io/badge/gitter-webpack%2Fwebpack-brightgreen.svg
|
||||
[chat-url]: https://gitter.im/webpack/webpack
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "schema-utils",
|
||||
"version": "0.4.7",
|
||||
"description": "webpack Validation Utils",
|
||||
"main": "src/index.js",
|
||||
"files": [
|
||||
"src"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 4"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --cache src test",
|
||||
"test": "jest --env node --verbose --coverage",
|
||||
"clean": "del-cli coverage",
|
||||
"commits": "commitlint --from $(git rev-list --tags --max-count=1)",
|
||||
"release": "npm run commits && standard-version"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": "^6.1.0",
|
||||
"ajv-keywords": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^7.0.0",
|
||||
"@commitlint/config-conventional": "^7.0.0",
|
||||
"@webpack-contrib/eslint-config-webpack": "^2.0.0",
|
||||
"del-cli": "^1.0.0",
|
||||
"eslint": "^5.0.0",
|
||||
"eslint-plugin-import": "^2.0.0",
|
||||
"eslint-plugin-prettier": "^2.0.0",
|
||||
"jest": "^21.0.0",
|
||||
"prettier": "^1.0.0",
|
||||
"standard-version": "^4.0.0"
|
||||
},
|
||||
"author": "webpack Contrib (https://github.com/webpack-contrib)",
|
||||
"bugs": "https://github.com/webpack-contrib/schema-utils/issues",
|
||||
"homepage": "https://github.com/webpack-contrib/schema-utils",
|
||||
"repository": "https://github.com/webpack-contrib/schema-utils",
|
||||
"license": "MIT"
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
/* eslint-disable
|
||||
strict
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
class ValidationError extends Error {
|
||||
constructor(errors, name) {
|
||||
super();
|
||||
|
||||
this.name = 'ValidationError';
|
||||
|
||||
this.message = `${name || ''} Invalid Options\n\n`;
|
||||
|
||||
errors.forEach((err) => {
|
||||
this.message += `options${err.dataPath} ${err.message}\n`;
|
||||
});
|
||||
|
||||
this.errors = errors;
|
||||
|
||||
Error.captureStackTrace(this, this.constructor);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ValidationError;
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
/* eslint-disable
|
||||
strict
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const validateOptions = require('./validateOptions');
|
||||
|
||||
module.exports = validateOptions;
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
/* eslint-disable
|
||||
strict,
|
||||
no-param-reassign
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const Ajv = require('ajv');
|
||||
const ajvKeywords = require('ajv-keywords');
|
||||
|
||||
const ValidationError = require('./ValidationError');
|
||||
|
||||
const ajv = new Ajv({
|
||||
allErrors: true,
|
||||
useDefaults: true,
|
||||
errorDataPath: 'property',
|
||||
});
|
||||
|
||||
ajvKeywords(ajv, ['instanceof', 'typeof']);
|
||||
|
||||
const validateOptions = (schema, options, name) => {
|
||||
if (typeof schema === 'string') {
|
||||
schema = fs.readFileSync(path.resolve(schema), 'utf8');
|
||||
schema = JSON.parse(schema);
|
||||
}
|
||||
|
||||
if (!ajv.validate(schema, options)) {
|
||||
throw new ValidationError(ajv.errors, name);
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
module.exports = validateOptions;
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"name": "file-loader",
|
||||
"version": "1.1.11",
|
||||
"author": "Tobias Koppers @sokra",
|
||||
"description": "file loader module for webpack",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 4.3 < 5.0.0 || >= 5.10"
|
||||
},
|
||||
"main": "dist/cjs.js",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"dependencies": {
|
||||
"loader-utils": "^1.0.2",
|
||||
"schema-utils": "^0.4.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.0.0",
|
||||
"babel-jest": "^21.0.0",
|
||||
"babel-plugin-transform-object-rest-spread": "^6.0.0",
|
||||
"babel-polyfill": "^6.0.0",
|
||||
"babel-preset-env": "^1.0.0",
|
||||
"cross-env": "^5.0.0",
|
||||
"del": "^3.0.0",
|
||||
"del-cli": "^1.0.0",
|
||||
"eslint": "^4.0.0",
|
||||
"eslint-config-webpack": "^1.0.0",
|
||||
"eslint-plugin-import": "^2.0.0",
|
||||
"jest": "^21.0.0",
|
||||
"lint-staged": "^5.0.0",
|
||||
"memory-fs": "^0.4.0",
|
||||
"nsp": "^2.0.0",
|
||||
"pre-commit": "^1.0.0",
|
||||
"standard-version": "^4.0.0",
|
||||
"webpack": "^3.0.0",
|
||||
"webpack-defaults": "^1.6.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^2.0.0 || ^3.0.0 || ^4.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "npm run build -- -w",
|
||||
"appveyor:test": "npm run test",
|
||||
"build": "cross-env NODE_ENV=production babel src -d dist --ignore 'src/**/*.test.js' --copy-files",
|
||||
"clean": "del-cli dist",
|
||||
"lint": "eslint --cache src test",
|
||||
"lint-staged": "lint-staged",
|
||||
"prepare": "npm run build",
|
||||
"prebuild": "npm run clean",
|
||||
"release": "standard-version",
|
||||
"security": "nsp check",
|
||||
"test": "jest",
|
||||
"test:watch": "jest --watch",
|
||||
"test:coverage": "jest --collectCoverageFrom='src/**/*.js' --coverage",
|
||||
"travis:lint": "npm run lint && npm run security",
|
||||
"travis:test": "npm run test -- --runInBand",
|
||||
"travis:coverage": "npm run test:coverage -- --runInBand",
|
||||
"webpack-defaults": "webpack-defaults"
|
||||
},
|
||||
"repository": "https://github.com/webpack/file-loader.git",
|
||||
"bugs": "https://github.com/webpack/file-loader/issues",
|
||||
"homepage": "https://webpack.js.org/loaders/file-loader",
|
||||
"pre-commit": "lint-staged",
|
||||
"lint-staged": {
|
||||
"*.js": [
|
||||
"eslint --fix",
|
||||
"git add"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user