diff --git a/CHANGELOG.md b/CHANGELOG.md
index b0914a23..bcb95003 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,13 @@
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.
+### [4.2.2](https://github.com/webpack-contrib/css-loader/compare/v4.2.1...v4.2.2) (2020-08-24)
+
+
+### Bug Fixes
+
+* source maps generation, source from source maps are now relative to `compiler.context` and use `webpack://` protocol ([#1169](https://github.com/webpack-contrib/css-loader/issues/1169)) ([fb5c53d](https://github.com/webpack-contrib/css-loader/commit/fb5c53d80b10ee698762238bb7b122aec8c5048d))
+
### [4.2.1](https://github.com/webpack-contrib/css-loader/compare/v4.2.0...v4.2.1) (2020-08-06)
diff --git a/README.md b/README.md
index 4f549e94..ce5984a6 100644
--- a/README.md
+++ b/README.md
@@ -951,7 +951,7 @@ module.exports = {
};
```
-##### `exportlocalsConvention`
+##### `exportLocalsConvention`
Type: `String`
Default: based on the `modules.namedExport` option value, if `true` - `camelCaseOnly`, otherwise `asIs`
@@ -1243,6 +1243,111 @@ module.exports = {
};
```
+### Separating `Interoperable CSS`-only and `CSS Module` features
+
+The following setup is an example of allowing `Interoperable CSS` features only (such as `:import` and `:export`) without using further `CSS Module` functionality by setting `compileType` option for all files that do not match `*.module.scss` naming convention. This is for reference as having `ICSS` features applied to all files was default `css-loader` behavior before v4.
+Meanwhile all files matching `*.module.scss` are treated as `CSS Modules` in this example.
+
+An example case is assumed where a project requires canvas drawing variables to be synchronized with CSS - canvas drawing uses the same color (set by color name in JavaScript) as HTML background (set by class name in CSS).
+
+**webpack.config.js**
+
+```js
+module.exports = {
+ module: {
+ rules: [
+ // ...
+ // --------
+ // SCSS ALL EXCEPT MODULES
+ {
+ test: /\.scss$/,
+ exclude: /\.module\.scss$/,
+ use: [
+ {
+ loader: 'style-loader'
+ },
+ {
+ loader: 'css-loader',
+ options: {
+ importLoaders: 1,
+ modules: {
+ compileType: 'icss'
+ }
+ }
+ },
+ {
+ loader: 'sass-loader'
+ },
+ ],
+ },
+ // --------
+ // SCSS MODULES
+ {
+ test: /\.module\.scss$/,
+ use: [
+ {
+ loader: 'style-loader'
+ },
+ {
+ loader: 'css-loader',
+ options: {
+ importLoaders: 1,
+ modules: {
+ compileType: 'module'
+ }
+ }
+ },
+ {
+ loader: 'sass-loader'
+ },
+ ],
+ },
+ // --------
+ // ...
+ },
+};
+```
+
+**variables.scss**
+
+File treated as `ICSS`-only.
+
+```scss
+$colorBackground: red;
+:export {
+ colorBackgroundCanvas: $colorBackground;
+}
+```
+
+**Component.module.scss**
+
+File treated as `CSS Module`.
+
+```scss
+@import 'variables.scss';
+.componentClass {
+ background-color: $colorBackground;
+}
+```
+
+**Component.jsx**
+
+Using both `CSS Module` functionality as well as SCSS variables directly in JavaScript.
+
+```jsx
+import svars from 'variables.scss';
+import styles from 'Component.module.scss';
+
+// Render DOM with CSS modules class name
+//
+//
+
+// Somewhere in JavaScript canvas drawing code use the variable directly
+// const ctx = mountsCanvas.current.getContext('2d',{alpha: false});
+ctx.fillStyle = `${svars.colorBackgroundCanvas}`;
+```
+
## Contributing
Please take a moment to read our contributing guidelines if you haven't yet done so.
diff --git a/package-lock.json b/package-lock.json
index 2cd84b33..370af1c5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "css-loader",
- "version": "4.2.1",
+ "version": "4.2.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -39,9 +39,9 @@
}
},
"@babel/compat-data": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.5.tgz",
- "integrity": "sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.11.0.tgz",
+ "integrity": "sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==",
"dev": true,
"requires": {
"browserslist": "^4.12.0",
@@ -58,19 +58,19 @@
}
},
"@babel/core": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz",
- "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==",
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.4.tgz",
+ "integrity": "sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.10.5",
- "@babel/helper-module-transforms": "^7.10.5",
+ "@babel/generator": "^7.11.4",
+ "@babel/helper-module-transforms": "^7.11.0",
"@babel/helpers": "^7.10.4",
- "@babel/parser": "^7.10.5",
+ "@babel/parser": "^7.11.4",
"@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.5",
- "@babel/types": "^7.10.5",
+ "@babel/traverse": "^7.11.0",
+ "@babel/types": "^7.11.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.1",
@@ -111,12 +111,12 @@
}
},
"@babel/generator": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz",
- "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==",
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.4.tgz",
+ "integrity": "sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.5",
+ "@babel/types": "^7.11.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -206,12 +206,11 @@
}
},
"@babel/helper-explode-assignable-expression": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz",
- "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==",
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz",
+ "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.10.4",
"@babel/types": "^7.10.4"
}
},
@@ -245,12 +244,12 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz",
- "integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.5"
+ "@babel/types": "^7.11.0"
}
},
"@babel/helper-module-imports": {
@@ -263,17 +262,17 @@
}
},
"@babel/helper-module-transforms": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz",
- "integrity": "sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
+ "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.10.4",
"@babel/helper-replace-supers": "^7.10.4",
"@babel/helper-simple-access": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
"@babel/template": "^7.10.4",
- "@babel/types": "^7.10.5",
+ "@babel/types": "^7.11.0",
"lodash": "^4.17.19"
}
},
@@ -302,15 +301,14 @@
}
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz",
- "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==",
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz",
+ "integrity": "sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
"@babel/helper-wrap-function": "^7.10.4",
"@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
"@babel/types": "^7.10.4"
}
},
@@ -336,13 +334,22 @@
"@babel/types": "^7.10.4"
}
},
+ "@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz",
+ "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.11.0"
+ }
+ },
"@babel/helper-split-export-declaration": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz",
- "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.11.0"
}
},
"@babel/helper-validator-identifier": {
@@ -386,9 +393,9 @@
}
},
"@babel/parser": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz",
- "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==",
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.4.tgz",
+ "integrity": "sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA==",
"dev": true
},
"@babel/plugin-proposal-async-generator-functions": {
@@ -422,6 +429,16 @@
"@babel/plugin-syntax-dynamic-import": "^7.8.0"
}
},
+ "@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz",
+ "integrity": "sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ }
+ },
"@babel/plugin-proposal-json-strings": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
@@ -432,6 +449,16 @@
"@babel/plugin-syntax-json-strings": "^7.8.0"
}
},
+ "@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz",
+ "integrity": "sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ }
+ },
"@babel/plugin-proposal-nullish-coalescing-operator": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
@@ -453,9 +480,9 @@
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz",
- "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz",
+ "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -474,12 +501,13 @@
}
},
"@babel/plugin-proposal-optional-chaining": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz",
- "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz",
+ "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.0"
}
},
@@ -539,6 +567,15 @@
"@babel/helper-plugin-utils": "^7.8.0"
}
},
+ "@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
"@babel/plugin-syntax-import-meta": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
@@ -650,9 +687,9 @@
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz",
- "integrity": "sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==",
+ "version": "7.11.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz",
+ "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
@@ -878,12 +915,13 @@
}
},
"@babel/plugin-transform-spread": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz",
- "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz",
+ "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0"
}
},
"@babel/plugin-transform-sticky-regex": {
@@ -935,30 +973,34 @@
}
},
"@babel/preset-env": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz",
- "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.0.tgz",
+ "integrity": "sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.10.4",
+ "@babel/compat-data": "^7.11.0",
"@babel/helper-compilation-targets": "^7.10.4",
"@babel/helper-module-imports": "^7.10.4",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-proposal-async-generator-functions": "^7.10.4",
"@babel/plugin-proposal-class-properties": "^7.10.4",
"@babel/plugin-proposal-dynamic-import": "^7.10.4",
+ "@babel/plugin-proposal-export-namespace-from": "^7.10.4",
"@babel/plugin-proposal-json-strings": "^7.10.4",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
"@babel/plugin-proposal-numeric-separator": "^7.10.4",
- "@babel/plugin-proposal-object-rest-spread": "^7.10.4",
+ "@babel/plugin-proposal-object-rest-spread": "^7.11.0",
"@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
- "@babel/plugin-proposal-optional-chaining": "^7.10.4",
+ "@babel/plugin-proposal-optional-chaining": "^7.11.0",
"@babel/plugin-proposal-private-methods": "^7.10.4",
"@babel/plugin-proposal-unicode-property-regex": "^7.10.4",
"@babel/plugin-syntax-async-generators": "^7.8.0",
"@babel/plugin-syntax-class-properties": "^7.10.4",
"@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
"@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
"@babel/plugin-syntax-numeric-separator": "^7.10.4",
"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
@@ -991,14 +1033,14 @@
"@babel/plugin-transform-regenerator": "^7.10.4",
"@babel/plugin-transform-reserved-words": "^7.10.4",
"@babel/plugin-transform-shorthand-properties": "^7.10.4",
- "@babel/plugin-transform-spread": "^7.10.4",
+ "@babel/plugin-transform-spread": "^7.11.0",
"@babel/plugin-transform-sticky-regex": "^7.10.4",
"@babel/plugin-transform-template-literals": "^7.10.4",
"@babel/plugin-transform-typeof-symbol": "^7.10.4",
"@babel/plugin-transform-unicode-escapes": "^7.10.4",
"@babel/plugin-transform-unicode-regex": "^7.10.4",
"@babel/preset-modules": "^0.1.3",
- "@babel/types": "^7.10.4",
+ "@babel/types": "^7.11.0",
"browserslist": "^4.12.0",
"core-js-compat": "^3.6.2",
"invariant": "^2.2.2",
@@ -1028,9 +1070,9 @@
}
},
"@babel/runtime": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz",
- "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==",
+ "version": "7.11.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz",
+ "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==",
"dev": true,
"requires": {
"regenerator-runtime": "^0.13.4"
@@ -1048,17 +1090,17 @@
}
},
"@babel/traverse": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz",
- "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz",
+ "integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.10.5",
+ "@babel/generator": "^7.11.0",
"@babel/helper-function-name": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
- "@babel/parser": "^7.10.5",
- "@babel/types": "^7.10.5",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.0",
+ "@babel/types": "^7.11.0",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
@@ -1082,9 +1124,9 @@
}
},
"@babel/types": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
- "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz",
+ "integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
@@ -1109,19 +1151,19 @@
}
},
"@commitlint/cli": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-9.1.2.tgz",
- "integrity": "sha512-ctRrrPqjZ8r4Vc4FXpPaScEpkPwfvB0Us3NK2SD2AnLwXGMxOLFTabDmNySU1Xc40ud2CmJsaV8lpavvzs8ZZA==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-10.0.0.tgz",
+ "integrity": "sha512-a+dLjNovvMyom0GNcKj9ebmgtbJEKuhJuqwPUmfNy3yPoM4h12b3hjVOS33IyvpbKmlYUJg8dgcr4S5FhFvhFg==",
"dev": true,
"requires": {
"@babel/runtime": "^7.9.6",
- "@commitlint/format": "^9.1.2",
- "@commitlint/lint": "^9.1.2",
- "@commitlint/load": "^9.1.2",
- "@commitlint/read": "^9.1.2",
+ "@commitlint/format": "^10.0.0",
+ "@commitlint/lint": "^10.0.0",
+ "@commitlint/load": "^10.0.0",
+ "@commitlint/read": "^10.0.0",
"chalk": "4.1.0",
"core-js": "^3.6.1",
- "get-stdin": "7.0.0",
+ "get-stdin": "8.0.0",
"lodash": "^4.17.19",
"resolve-from": "5.0.0",
"resolve-global": "1.0.0",
@@ -1181,37 +1223,37 @@
}
},
"@commitlint/config-conventional": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-9.1.1.tgz",
- "integrity": "sha512-t/bvv8ofjj7V4W99eVDyuACaC7Ch4SYaukglBYt/K1Y9Ixg8mCBuFDMGRMhyZn4upUe1ls8l4SO3rjaVbYIjlg==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-10.0.0.tgz",
+ "integrity": "sha512-M9l7hh2a1GB9nQ/Gm+aDLGPmzGdpgxqJoSmrbTxDlapJDyaL7FPe5aQf66F50Eq3j0bmaRaJihFCA6mIUBQAag==",
"dev": true,
"requires": {
- "conventional-changelog-conventionalcommits": "4.3.0"
+ "conventional-changelog-conventionalcommits": "^4.3.1"
}
},
"@commitlint/ensure": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-9.1.2.tgz",
- "integrity": "sha512-hwQICwpNSTsZgj/1/SdPvYAzhwjwgCJI4vLbT879+Jc+AJ6sj2bUDGw/F89vzgKz1VnaMm4D65bNhoWhG3pdhQ==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-10.0.0.tgz",
+ "integrity": "sha512-OBlv6Hw91u4Gqz4ocKO7IyIvQ6ZmKbJaLFf8MD0EOH3Prn0aatiiqUB0+paBELKt3yWdwQNYI8ZkzZWtj4EcYw==",
"dev": true,
"requires": {
- "@commitlint/types": "^9.1.2",
+ "@commitlint/types": "^10.0.0",
"lodash": "^4.17.19"
}
},
"@commitlint/execute-rule": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-9.1.2.tgz",
- "integrity": "sha512-NGbeo0KCVYo1yj9vVPFHv6RGFpIF6wcQxpFYUKGIzZVV9Vz1WyiKS689JXa99Dt1aN0cZlEJJLnTNDIgYls0Vg==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-10.0.0.tgz",
+ "integrity": "sha512-vRIp6Cwy+C1dOh5VAcoBks+8UI+rpxOB5cwhU/RQZhlVd2hgFiAPXnyKWMOB7HDO9XFI5amLJehvaaDI+eLDnA==",
"dev": true
},
"@commitlint/format": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-9.1.2.tgz",
- "integrity": "sha512-+ZWTOSGEU6dbn3NRh1q7sY5K5QLiSs7E2uSzuYnWHXcQk8nlTvnE0ibwMCQxdKLaOTZiN57fHM/7M9Re2gsRuw==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-10.0.0.tgz",
+ "integrity": "sha512-EpCmMCcjloeaoUtgmzlpYmIYJzAvZhYfLJ7YCrOlnmt5/MAeywuNgxcr/EM2xHgEKotTWqRQdiIgAtkIWHhgrQ==",
"dev": true,
"requires": {
- "@commitlint/types": "^9.1.2",
+ "@commitlint/types": "^10.0.0",
"chalk": "^4.0.0"
},
"dependencies": {
@@ -1268,38 +1310,38 @@
}
},
"@commitlint/is-ignored": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-9.1.2.tgz",
- "integrity": "sha512-423W/+Ro+Cc8cg81+t9gds1EscMZNjnGT31nKDvxVxJxXiXQsYYoFEQbU+nfUrRGQsUikEgEJ3ppVGr1linvcQ==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-10.0.0.tgz",
+ "integrity": "sha512-OLjUs/0HaQGh5iSqv/jF/TXqQ8sJ5VShujTmADSvnGTyruZu+d1Hfgw9QM1FMjzcx2NpMDsX/EFBU0ZMx9hmEg==",
"dev": true,
"requires": {
- "@commitlint/types": "^9.1.2",
+ "@commitlint/types": "^10.0.0",
"semver": "7.3.2"
}
},
"@commitlint/lint": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-9.1.2.tgz",
- "integrity": "sha512-XvggqHZ4XSTKOgzJhCzz52cWRRO57QQnEviwGj0qnD4jdwC+8h2u9LNZwoa2tGAuaNM3nSm//wNK7FRZhgiiFA==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-10.0.0.tgz",
+ "integrity": "sha512-KcDzOMQYVLziWIXNedTDnf5LS9NMYKzcdzjuCH8jTZLx/oX3kuOVB0jYZHVaKPwjj0miZSOhONqIMJDlLZpn+g==",
"dev": true,
"requires": {
- "@commitlint/is-ignored": "^9.1.2",
- "@commitlint/parse": "^9.1.2",
- "@commitlint/rules": "^9.1.2",
- "@commitlint/types": "^9.1.2"
+ "@commitlint/is-ignored": "^10.0.0",
+ "@commitlint/parse": "^10.0.0",
+ "@commitlint/rules": "^10.0.0",
+ "@commitlint/types": "^10.0.0"
}
},
"@commitlint/load": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-9.1.2.tgz",
- "integrity": "sha512-FPL82xBuF7J3EJ57kLVoligQP4BFRwrknooP+vNT787AXmQ/Fddc/iYYwHwy67pNkk5N++/51UyDl/CqiHb6nA==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-10.0.0.tgz",
+ "integrity": "sha512-pUwGshEpxkU2R9U3O5hwHU4VT0zkyIs5gzGrGbR2c/aurI9qe00LZ9DquYVVYVmfwG6UaQpatCG4TrXNXIj5Mg==",
"dev": true,
"requires": {
- "@commitlint/execute-rule": "^9.1.2",
- "@commitlint/resolve-extends": "^9.1.2",
- "@commitlint/types": "^9.1.2",
+ "@commitlint/execute-rule": "^10.0.0",
+ "@commitlint/resolve-extends": "^10.0.0",
+ "@commitlint/types": "^10.0.0",
"chalk": "4.1.0",
- "cosmiconfig": "^6.0.0",
+ "cosmiconfig": "^7.0.0",
"lodash": "^4.17.19",
"resolve-from": "^5.0.0"
},
@@ -1357,15 +1399,15 @@
}
},
"@commitlint/message": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-9.1.2.tgz",
- "integrity": "sha512-ndlx5z7bPVLG347oYJUHuQ41eTcsw+aUYT1ZwQyci0Duy2atpuoeeSw9SuM1PjufzRCpb6ExzFEgGzcCRKAJsg==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-10.0.0.tgz",
+ "integrity": "sha512-2ZDgHc6v3t1C/zkAkRwPDIRVD/jbrQAu+Iqe7VH1/Y//cJhwte6OuSGfs2Qze/6gh+/RbvUIBskR8OUIY6VTrA==",
"dev": true
},
"@commitlint/parse": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-9.1.2.tgz",
- "integrity": "sha512-d+/VYbkotctW+lzDpus/R6xTerOqFQkW1myH+3PwnqYSE6JU/uHT4MlZNGJBv8pX9SPlR66t6X9puFobqtezEw==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-10.0.0.tgz",
+ "integrity": "sha512-xIBD0w85FVhrlX4pI/m4xF9MvTQNMbvilPSr42yIds2xn7GJcJidN4Z8O6qCqcjwl6f3ruQ8G8Pdi3PggVjZrw==",
"dev": true,
"requires": {
"conventional-changelog-angular": "^5.0.0",
@@ -1373,20 +1415,20 @@
}
},
"@commitlint/read": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-9.1.2.tgz",
- "integrity": "sha512-C2sNBQOqeQXMxpWtRnXYKYB3D9yuybPtQNY/P67A6o8XH/UMHkFaUTyIx1KRgu0IG0yTTItRt46FGnsMWLotvA==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-10.0.0.tgz",
+ "integrity": "sha512-ARebcoJMDNtlCTV9jpSacN9gCvua+JiGQLQlq4PsaNo/e4hyyIWu+wOEAXO8IhD5xycoTBaJRVWzgXRncEyrkg==",
"dev": true,
"requires": {
- "@commitlint/top-level": "^9.1.2",
- "fs-extra": "^8.1.0",
+ "@commitlint/top-level": "^10.0.0",
+ "fs-extra": "^9.0.0",
"git-raw-commits": "^2.0.0"
}
},
"@commitlint/resolve-extends": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-9.1.2.tgz",
- "integrity": "sha512-HcoL+qFGmWEu9VM4fY0HI+VzF4yHcg3x+9Hx6pYFZ+r2wLbnKs964y0v68oyMO/mS/46MVoLNXZGR8U3adpadg==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-10.0.0.tgz",
+ "integrity": "sha512-ltj4LvdCEJeYzWdzFS9AhLMkc4rweKvfju/JYBgbLqFx7lAGz3e2Wub0uuuWuLBJqCjL7UJbYiA0T2Hzhhd91Q==",
"dev": true,
"requires": {
"import-fresh": "^3.0.0",
@@ -1396,36 +1438,75 @@
}
},
"@commitlint/rules": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-9.1.2.tgz",
- "integrity": "sha512-1vecFuzqVqjiT57ocXq1bL8V6GEF1NZs3BR0dQzObaqHftImIxBVII299gasckTkcuxNc8M+7XxZyKxUthukpQ==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-10.0.0.tgz",
+ "integrity": "sha512-myHG8pgUHIOtceJsALRRXvYBuLbTwWl7/6soDrIJudDhKsyhV3yFtAbRX40pujg25IlAUra6nuy8JDU86bVxog==",
"dev": true,
"requires": {
- "@commitlint/ensure": "^9.1.2",
- "@commitlint/message": "^9.1.2",
- "@commitlint/to-lines": "^9.1.2",
- "@commitlint/types": "^9.1.2"
+ "@commitlint/ensure": "^10.0.0",
+ "@commitlint/message": "^10.0.0",
+ "@commitlint/to-lines": "^10.0.0",
+ "@commitlint/types": "^10.0.0"
}
},
"@commitlint/to-lines": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-9.1.2.tgz",
- "integrity": "sha512-o4zWcMf9EnzA3MOqx01780SgrKq5hqDJmUBPk30g6an0XcDuDy3OSZHHTJFdzsg4V9FjC4OY44sFeK7GN7NaxQ==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-10.0.0.tgz",
+ "integrity": "sha512-qUHuYiLgE7ioBRgHUR2EOwXuEhb2TnAktEc9NBZcQNzfqu5nbOaf2iOBx5mlDK0heTJyTjLboAmzojXxuqJNcA==",
"dev": true
},
"@commitlint/top-level": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-9.1.2.tgz",
- "integrity": "sha512-KMPP5xVePcz3B1dKqcZdU4FZBVOkT+bG3ip4RQX2TeCJoomMkTjd0utALs7rpTGLID6BXbwwXepZCZJREjR/Bw==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-10.0.0.tgz",
+ "integrity": "sha512-FHlDD31gTQptInSuRGQt/9fNiSQ4euBZtcBZD4NImCtQCkwBP1cyxClN6wr9DmqISG0KSJybReF4z8rm5znNDA==",
"dev": true,
"requires": {
- "find-up": "^4.0.0"
+ "find-up": "^5.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
+ "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ }
}
},
"@commitlint/types": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-9.1.2.tgz",
- "integrity": "sha512-r3fwVbVH+M8W0qYlBBZFsUwKe6NT5qvz+EmU7sr8VeN1cQ63z+3cfXyTo7WGGEMEgKiT0jboNAK3b1FZp8k9LQ==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-10.0.0.tgz",
+ "integrity": "sha512-b7uumSfDI1guYnNc11BpkTZjiY7gC1DPedeUa0r+csd/1DiFyRo4oNOaxXHve0cC4NzaHaOHa0aPktWMTYJlVQ==",
"dev": true
},
"@csstools/convert-colors": {
@@ -1462,15 +1543,16 @@
"dev": true
},
"@jest/console": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.1.0.tgz",
- "integrity": "sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.3.0.tgz",
+ "integrity": "sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^26.1.0",
- "jest-util": "^26.1.0",
+ "jest-message-util": "^26.3.0",
+ "jest-util": "^26.3.0",
"slash": "^3.0.0"
},
"dependencies": {
@@ -1533,33 +1615,34 @@
}
},
"@jest/core": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.1.0.tgz",
- "integrity": "sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.4.1.tgz",
+ "integrity": "sha512-EFziH1tJC5N8xb8OjUcQgyWdezJh6+zBX5p+9S7HR1jzBVeG8jCE/Edp7yqxW/cToLG/QKj8qrpox+HV9Qw1rw==",
"dev": true,
"requires": {
- "@jest/console": "^26.1.0",
- "@jest/reporters": "^26.1.0",
- "@jest/test-result": "^26.1.0",
- "@jest/transform": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/console": "^26.3.0",
+ "@jest/reporters": "^26.4.1",
+ "@jest/test-result": "^26.3.0",
+ "@jest/transform": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
- "jest-changed-files": "^26.1.0",
- "jest-config": "^26.1.0",
- "jest-haste-map": "^26.1.0",
- "jest-message-util": "^26.1.0",
+ "jest-changed-files": "^26.3.0",
+ "jest-config": "^26.4.1",
+ "jest-haste-map": "^26.3.0",
+ "jest-message-util": "^26.3.0",
"jest-regex-util": "^26.0.0",
- "jest-resolve": "^26.1.0",
- "jest-resolve-dependencies": "^26.1.0",
- "jest-runner": "^26.1.0",
- "jest-runtime": "^26.1.0",
- "jest-snapshot": "^26.1.0",
- "jest-util": "^26.1.0",
- "jest-validate": "^26.1.0",
- "jest-watcher": "^26.1.0",
+ "jest-resolve": "^26.4.0",
+ "jest-resolve-dependencies": "^26.4.1",
+ "jest-runner": "^26.4.1",
+ "jest-runtime": "^26.4.1",
+ "jest-snapshot": "^26.4.1",
+ "jest-util": "^26.3.0",
+ "jest-validate": "^26.4.0",
+ "jest-watcher": "^26.3.0",
"micromatch": "^4.0.2",
"p-each-series": "^2.1.0",
"rimraf": "^3.0.0",
@@ -1684,51 +1767,53 @@
}
},
"@jest/environment": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.1.0.tgz",
- "integrity": "sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.3.0.tgz",
+ "integrity": "sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^26.1.0",
- "@jest/types": "^26.1.0",
- "jest-mock": "^26.1.0"
+ "@jest/fake-timers": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
+ "jest-mock": "^26.3.0"
}
},
"@jest/fake-timers": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.1.0.tgz",
- "integrity": "sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.3.0.tgz",
+ "integrity": "sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"@sinonjs/fake-timers": "^6.0.1",
- "jest-message-util": "^26.1.0",
- "jest-mock": "^26.1.0",
- "jest-util": "^26.1.0"
+ "@types/node": "*",
+ "jest-message-util": "^26.3.0",
+ "jest-mock": "^26.3.0",
+ "jest-util": "^26.3.0"
}
},
"@jest/globals": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.1.0.tgz",
- "integrity": "sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.4.1.tgz",
+ "integrity": "sha512-gdsHefnwjck+AwDUwW+6rmctmKEcZEEZ4F3PB5kKnub7r0dUoN1KVSyNRXtB5qpZgRYESnxgDXhpw/XYKIsAeg==",
"dev": true,
"requires": {
- "@jest/environment": "^26.1.0",
- "@jest/types": "^26.1.0",
- "expect": "^26.1.0"
+ "@jest/environment": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "expect": "^26.4.1"
}
},
"@jest/reporters": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.1.0.tgz",
- "integrity": "sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.4.1.tgz",
+ "integrity": "sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^26.1.0",
- "@jest/test-result": "^26.1.0",
- "@jest/transform": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/console": "^26.3.0",
+ "@jest/test-result": "^26.3.0",
+ "@jest/transform": "^26.3.0",
+ "@jest/types": "^26.3.0",
"chalk": "^4.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
@@ -1739,16 +1824,16 @@
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
"istanbul-reports": "^3.0.2",
- "jest-haste-map": "^26.1.0",
- "jest-resolve": "^26.1.0",
- "jest-util": "^26.1.0",
- "jest-worker": "^26.1.0",
- "node-notifier": "^7.0.0",
+ "jest-haste-map": "^26.3.0",
+ "jest-resolve": "^26.4.0",
+ "jest-util": "^26.3.0",
+ "jest-worker": "^26.3.0",
+ "node-notifier": "^8.0.0",
"slash": "^3.0.0",
"source-map": "^0.6.0",
"string-length": "^4.0.1",
"terminal-link": "^2.0.0",
- "v8-to-istanbul": "^4.1.3"
+ "v8-to-istanbul": "^5.0.1"
},
"dependencies": {
"ansi-styles": {
@@ -1810,9 +1895,9 @@
}
},
"@jest/source-map": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.1.0.tgz",
- "integrity": "sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.3.0.tgz",
+ "integrity": "sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ==",
"dev": true,
"requires": {
"callsites": "^3.0.0",
@@ -1821,46 +1906,46 @@
}
},
"@jest/test-result": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.1.0.tgz",
- "integrity": "sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.3.0.tgz",
+ "integrity": "sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg==",
"dev": true,
"requires": {
- "@jest/console": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/console": "^26.3.0",
+ "@jest/types": "^26.3.0",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
}
},
"@jest/test-sequencer": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz",
- "integrity": "sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.4.1.tgz",
+ "integrity": "sha512-YR4PNPu1RVHxyv/HSQMjc+pBEWa6wuM7xbEX/u5M5FFg6ZM6m00m7Jf0fjRxGN6hZlY5vECmNhJu/kvJLrxR8w==",
"dev": true,
"requires": {
- "@jest/test-result": "^26.1.0",
+ "@jest/test-result": "^26.3.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^26.1.0",
- "jest-runner": "^26.1.0",
- "jest-runtime": "^26.1.0"
+ "jest-haste-map": "^26.3.0",
+ "jest-runner": "^26.4.1",
+ "jest-runtime": "^26.4.1"
}
},
"@jest/transform": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.1.0.tgz",
- "integrity": "sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.3.0.tgz",
+ "integrity": "sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"babel-plugin-istanbul": "^6.0.0",
"chalk": "^4.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^26.1.0",
+ "jest-haste-map": "^26.3.0",
"jest-regex-util": "^26.0.0",
- "jest-util": "^26.1.0",
+ "jest-util": "^26.3.0",
"micromatch": "^4.0.2",
"pirates": "^4.0.1",
"slash": "^3.0.0",
@@ -1970,13 +2055,14 @@
}
},
"@jest/types": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz",
- "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
+ "integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
"@types/yargs": "^15.0.0",
"chalk": "^4.0.0"
},
@@ -2159,12 +2245,11 @@
}
},
"@types/istanbul-reports": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
- "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
+ "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==",
"dev": true,
"requires": {
- "@types/istanbul-lib-coverage": "*",
"@types/istanbul-lib-report": "*"
}
},
@@ -2192,9 +2277,9 @@
"dev": true
},
"@types/node": {
- "version": "14.0.26",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.26.tgz",
- "integrity": "sha512-W+fpe5s91FBGE0pEa0lnqGLL4USgpLgs4nokw16SrBBco/gQxuua7KnArSEOd5iaMqbbSHV10vUDkJYJJqpXKA==",
+ "version": "14.6.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.6.0.tgz",
+ "integrity": "sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA==",
"dev": true
},
"@types/normalize-package-data": {
@@ -2488,9 +2573,9 @@
}
},
"abab": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
- "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.4.tgz",
+ "integrity": "sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ==",
"dev": true
},
"acorn": {
@@ -2510,9 +2595,9 @@
},
"dependencies": {
"acorn": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
- "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==",
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
+ "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
"dev": true
}
}
@@ -2546,9 +2631,9 @@
}
},
"ajv": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
- "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "version": "6.12.4",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz",
+ "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==",
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -2563,9 +2648,9 @@
"dev": true
},
"ajv-keywords": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.1.tgz",
- "integrity": "sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA=="
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
},
"ansi": {
"version": "0.3.1",
@@ -2709,9 +2794,9 @@
}
},
"arrify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
- "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
"asn1": {
@@ -2724,14 +2809,15 @@
}
},
"asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
+ "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
"dev": true,
"requires": {
"bn.js": "^4.0.0",
"inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
},
"dependencies": {
"bn.js": {
@@ -2805,6 +2891,12 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true
+ },
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -2812,14 +2904,14 @@
"dev": true
},
"autoprefixer": {
- "version": "9.8.5",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.5.tgz",
- "integrity": "sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg==",
+ "version": "9.8.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
+ "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
"dev": true,
"requires": {
"browserslist": "^4.12.0",
- "caniuse-lite": "^1.0.30001097",
- "colorette": "^1.2.0",
+ "caniuse-lite": "^1.0.30001109",
+ "colorette": "^1.2.1",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
"postcss": "^7.0.32",
@@ -2833,9 +2925,9 @@
"dev": true
},
"aws4": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
- "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
+ "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==",
"dev": true
},
"babel-code-frame": {
@@ -2898,16 +2990,16 @@
}
},
"babel-jest": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.1.0.tgz",
- "integrity": "sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.3.0.tgz",
+ "integrity": "sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g==",
"dev": true,
"requires": {
- "@jest/transform": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/transform": "^26.3.0",
+ "@jest/types": "^26.3.0",
"@types/babel__core": "^7.1.7",
"babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^26.1.0",
+ "babel-preset-jest": "^26.3.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
"slash": "^3.0.0"
@@ -2994,9 +3086,9 @@
}
},
"babel-plugin-jest-hoist": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz",
- "integrity": "sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw==",
+ "version": "26.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz",
+ "integrity": "sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA==",
"dev": true,
"requires": {
"@babel/template": "^7.3.3",
@@ -3025,13 +3117,13 @@
}
},
"babel-preset-jest": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz",
- "integrity": "sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz",
+ "integrity": "sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw==",
"dev": true,
"requires": {
- "babel-plugin-jest-hoist": "^26.1.0",
- "babel-preset-current-node-syntax": "^0.1.2"
+ "babel-plugin-jest-hoist": "^26.2.0",
+ "babel-preset-current-node-syntax": "^0.1.3"
}
},
"balanced-match": {
@@ -3138,9 +3230,9 @@
"dev": true
},
"bn.js": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz",
- "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
+ "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==",
"dev": true
},
"brace-expansion": {
@@ -3250,16 +3342,16 @@
}
},
"browserify-sign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz",
- "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
+ "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
"dev": true,
"requires": {
"bn.js": "^5.1.1",
"browserify-rsa": "^4.0.1",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
- "elliptic": "^6.5.2",
+ "elliptic": "^6.5.3",
"inherits": "^2.0.4",
"parse-asn1": "^5.1.5",
"readable-stream": "^3.6.0",
@@ -3295,15 +3387,15 @@
}
},
"browserslist": {
- "version": "4.13.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz",
- "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.0.tgz",
+ "integrity": "sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001093",
- "electron-to-chromium": "^1.3.488",
- "escalade": "^3.0.1",
- "node-releases": "^1.1.58"
+ "caniuse-lite": "^1.0.30001111",
+ "electron-to-chromium": "^1.3.523",
+ "escalade": "^3.0.2",
+ "node-releases": "^1.1.60"
}
},
"bser": {
@@ -3467,9 +3559,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001105",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001105.tgz",
- "integrity": "sha512-JupOe6+dGMr7E20siZHIZQwYqrllxotAhiaej96y6x00b/48rPt42o+SzOSCPbrpsDWvRja40Hwrj0g0q6LZJg==",
+ "version": "1.0.30001117",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001117.tgz",
+ "integrity": "sha512-4tY0Fatzdx59kYjQs+bNxUwZB03ZEBgVmJ1UkFPz/Q8OLiUUbjct2EdpnXj0fvFTPej2EkbPIG0w8BWsjAyk1Q==",
"dev": true
},
"caporal": {
@@ -3734,6 +3826,12 @@
"wrap-ansi": "^6.2.0"
}
},
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -3818,13 +3916,13 @@
"dev": true
},
"compare-func": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz",
- "integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
+ "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==",
"dev": true,
"requires": {
"array-ify": "^1.0.0",
- "dot-prop": "^3.0.0"
+ "dot-prop": "^5.1.0"
}
},
"compare-versions": {
@@ -3876,31 +3974,31 @@
"dev": true
},
"conventional-changelog": {
- "version": "3.1.21",
- "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.21.tgz",
- "integrity": "sha512-ZGecVZPEo3aC75VVE4nu85589dDhpMyqfqgUM5Myq6wfKWiNqhDJLSDMsc8qKXshZoY7dqs1hR0H/15kI/G2jQ==",
+ "version": "3.1.23",
+ "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.23.tgz",
+ "integrity": "sha512-sScUu2NHusjRC1dPc5p8/b3kT78OYr95/Bx7Vl8CPB8tF2mG1xei5iylDTRjONV5hTlzt+Cn/tBWrKdd299b7A==",
"dev": true,
"requires": {
- "conventional-changelog-angular": "^5.0.10",
+ "conventional-changelog-angular": "^5.0.11",
"conventional-changelog-atom": "^2.0.7",
"conventional-changelog-codemirror": "^2.0.7",
- "conventional-changelog-conventionalcommits": "^4.3.0",
- "conventional-changelog-core": "^4.1.7",
+ "conventional-changelog-conventionalcommits": "^4.4.0",
+ "conventional-changelog-core": "^4.2.0",
"conventional-changelog-ember": "^2.0.8",
"conventional-changelog-eslint": "^3.0.8",
"conventional-changelog-express": "^2.0.5",
"conventional-changelog-jquery": "^3.0.10",
- "conventional-changelog-jshint": "^2.0.7",
+ "conventional-changelog-jshint": "^2.0.8",
"conventional-changelog-preset-loader": "^2.3.4"
}
},
"conventional-changelog-angular": {
- "version": "5.0.10",
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.10.tgz",
- "integrity": "sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA==",
+ "version": "5.0.11",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz",
+ "integrity": "sha512-nSLypht/1yEflhuTogC03i7DX7sOrXGsRn14g131Potqi6cbGbGEE9PSDEHKldabB6N76HiSyw9Ph+kLmC04Qw==",
"dev": true,
"requires": {
- "compare-func": "^1.3.1",
+ "compare-func": "^2.0.0",
"q": "^1.5.1"
}
},
@@ -3929,30 +4027,30 @@
"dev": true
},
"conventional-changelog-conventionalcommits": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.3.0.tgz",
- "integrity": "sha512-oYHydvZKU+bS8LnGqTMlNrrd7769EsuEHKy4fh1oMdvvDi7fem8U+nvfresJ1IDB8K00Mn4LpiA/lR+7Gs6rgg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.4.0.tgz",
+ "integrity": "sha512-ybvx76jTh08tpaYrYn/yd0uJNLt5yMrb1BphDe4WBredMlvPisvMghfpnJb6RmRNcqXeuhR6LfGZGewbkRm9yA==",
"dev": true,
"requires": {
- "compare-func": "^1.3.1",
+ "compare-func": "^2.0.0",
"lodash": "^4.17.15",
"q": "^1.5.1"
}
},
"conventional-changelog-core": {
- "version": "4.1.7",
- "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.7.tgz",
- "integrity": "sha512-UBvSrQR2RdKbSQKh7RhueiiY4ZAIOW3+CSWdtKOwRv+KxIMNFKm1rOcGBFx0eA8AKhGkkmmacoTWJTqyz7Q0VA==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.0.tgz",
+ "integrity": "sha512-8+xMvN6JvdDtPbGBqA7oRNyZD4od1h/SIzrWqHcKZjitbVXrFpozEeyn4iI4af1UwdrabQpiZMaV07fPUTGd4w==",
"dev": true,
"requires": {
"add-stream": "^1.0.0",
- "conventional-changelog-writer": "^4.0.16",
+ "conventional-changelog-writer": "^4.0.17",
"conventional-commits-parser": "^3.1.0",
"dateformat": "^3.0.0",
"get-pkg-repo": "^1.0.0",
"git-raw-commits": "2.0.0",
"git-remote-origin-url": "^2.0.0",
- "git-semver-tags": "^4.0.0",
+ "git-semver-tags": "^4.1.0",
"lodash": "^4.17.15",
"normalize-package-data": "^2.3.5",
"q": "^1.5.1",
@@ -3962,12 +4060,6 @@
"through2": "^3.0.0"
},
"dependencies": {
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
"camelcase": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
@@ -4232,12 +4324,12 @@
}
},
"conventional-changelog-jshint": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.7.tgz",
- "integrity": "sha512-qHA8rmwUnLiIxANJbz650+NVzqDIwNtc0TcpIa0+uekbmKHttidvQ1dGximU3vEDdoJVKFgR3TXFqYuZmYy9ZQ==",
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.8.tgz",
+ "integrity": "sha512-hB/iI0IiZwnZ+seYI+qEQ4b+EMQSEC8jGIvhO2Vpz1E5p8FgLz75OX8oB1xJWl+s4xBMB6f8zJr0tC/BL7YOjw==",
"dev": true,
"requires": {
- "compare-func": "^1.3.1",
+ "compare-func": "^2.0.0",
"q": "^1.5.1"
}
},
@@ -4248,12 +4340,12 @@
"dev": true
},
"conventional-changelog-writer": {
- "version": "4.0.16",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.16.tgz",
- "integrity": "sha512-jmU1sDJDZpm/dkuFxBeRXvyNcJQeKhGtVcFFkwTphUAzyYWcwz2j36Wcv+Mv2hU3tpvLMkysOPXJTLO55AUrYQ==",
+ "version": "4.0.17",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.17.tgz",
+ "integrity": "sha512-IKQuK3bib/n032KWaSb8YlBFds+aLmzENtnKtxJy3+HqDq5kohu3g/UdNbIHeJWygfnEbZjnCKFxAW0y7ArZAw==",
"dev": true,
"requires": {
- "compare-func": "^1.3.1",
+ "compare-func": "^2.0.0",
"conventional-commits-filter": "^2.0.6",
"dateformat": "^3.0.0",
"handlebars": "^4.7.6",
@@ -4299,9 +4391,9 @@
}
},
"conventional-recommended-bump": {
- "version": "6.0.9",
- "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.0.9.tgz",
- "integrity": "sha512-DpRmW1k8CpRrcsXHOPGgHgOd4BMGiq2gtXAveGM8B9pSd9b4r4WKnqp1Fd0vkDtk8l973mIk8KKKUYnKRr9SFw==",
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.0.10.tgz",
+ "integrity": "sha512-2ibrqAFMN3ZA369JgVoSbajdD/BHN6zjY7DZFKTHzyzuQejDUCjQ85S5KHxCRxNwsbDJhTPD5hOKcis/jQhRgg==",
"dev": true,
"requires": {
"concat-stream": "^2.0.0",
@@ -4309,17 +4401,11 @@
"conventional-commits-filter": "^2.0.6",
"conventional-commits-parser": "^3.1.0",
"git-raw-commits": "2.0.0",
- "git-semver-tags": "^4.0.0",
+ "git-semver-tags": "^4.1.0",
"meow": "^7.0.0",
"q": "^1.5.1"
},
"dependencies": {
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
"camelcase": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
@@ -4658,26 +4744,26 @@
"dev": true
},
"cosmiconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
"dev": true,
"requires": {
"@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
+ "import-fresh": "^3.2.1",
"parse-json": "^5.0.0",
"path-type": "^4.0.0",
- "yaml": "^1.7.2"
+ "yaml": "^1.10.0"
}
},
"create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
+ "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
+ "elliptic": "^6.5.3"
},
"dependencies": {
"bn.js": {
@@ -4755,6 +4841,15 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
}
}
},
@@ -4776,15 +4871,6 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
}
}
},
@@ -4807,6 +4893,18 @@
"randomfill": "^1.0.3"
}
},
+ "css": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
+ "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.5.2",
+ "urix": "^0.1.0"
+ }
+ },
"css-blank-pseudo": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz",
@@ -4845,6 +4943,15 @@
}
}
},
+ "css-parse": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
+ "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
+ "dev": true,
+ "requires": {
+ "css": "^2.0.0"
+ }
+ },
"css-prefers-color-scheme": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz",
@@ -5150,9 +5257,9 @@
"dev": true
},
"diff-sequences": {
- "version": "26.0.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz",
- "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.3.0.tgz",
+ "integrity": "sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig==",
"dev": true
},
"diffie-hellman": {
@@ -5216,12 +5323,12 @@
}
},
"dot-prop": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
- "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
+ "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
"dev": true,
"requires": {
- "is-obj": "^1.0.0"
+ "is-obj": "^2.0.0"
}
},
"dotgitignore": {
@@ -5319,9 +5426,9 @@
}
},
"electron-to-chromium": {
- "version": "1.3.509",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.509.tgz",
- "integrity": "sha512-cN4lkjNRuTG8rtAqTOVgwpecEC2kbKA04PG6YijcKGHK/kD0xLjiqExcAOmLUwtXZRF8cBeam2I0VZcih919Ug==",
+ "version": "1.3.540",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.540.tgz",
+ "integrity": "sha512-IoGiZb8SMqTtkDYJtP8EtCdvv3VMtd1QoTlypO2RUBxRq/Wk0rU5IzhzhMckPaC9XxDqUvWsL0XKOBhTiYVN3w==",
"dev": true
},
"elliptic": {
@@ -5347,6 +5454,12 @@
}
}
},
+ "emittery": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.1.tgz",
+ "integrity": "sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ==",
+ "dev": true
+ },
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -5530,9 +5643,9 @@
}
},
"eslint": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.5.0.tgz",
- "integrity": "sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q==",
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.7.0.tgz",
+ "integrity": "sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
@@ -5705,6 +5818,15 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
"integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
"dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
}
}
},
@@ -5900,9 +6022,9 @@
},
"dependencies": {
"acorn": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
- "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==",
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
+ "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
"dev": true
}
}
@@ -5923,9 +6045,9 @@
},
"dependencies": {
"estraverse": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
- "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
"dev": true
}
}
@@ -6036,16 +6158,16 @@
}
},
"expect": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-26.1.0.tgz",
- "integrity": "sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-26.4.1.tgz",
+ "integrity": "sha512-PnsyF/VmPRH/HAWELjrIAgQ5h+4JLTiomA1A2djx+jXrCQzQ/4egZYBOEx9hShoX+mQLS4enYk6Ouxk8b4kcEw==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"ansi-styles": "^4.0.0",
- "jest-get-type": "^26.0.0",
- "jest-matcher-utils": "^26.1.0",
- "jest-message-util": "^26.1.0",
+ "jest-get-type": "^26.3.0",
+ "jest-matcher-utils": "^26.4.1",
+ "jest-message-util": "^26.3.0",
"jest-regex-util": "^26.0.0"
},
"dependencies": {
@@ -6535,14 +6657,15 @@
"dev": true
},
"fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+ "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
"dev": true,
"requires": {
+ "at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "jsonfile": "^6.0.1",
+ "universalify": "^1.0.0"
}
},
"fs-monkey": {
@@ -6829,9 +6952,9 @@
}
},
"get-stdin": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
- "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+ "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
"dev": true
},
"get-stream": {
@@ -6912,9 +7035,9 @@
}
},
"git-semver-tags": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.0.0.tgz",
- "integrity": "sha512-LajaAWLYVBff+1NVircURJFL8TQ3EMIcLAfHisWYX/nPoMwnTYfWAznQDmMujlLqoD12VtLmoSrF1sQ5MhimEQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.0.tgz",
+ "integrity": "sha512-TcxAGeo03HdErzKzi4fDD+xEL7gi8r2Y5YSxH6N2XYdVSV5UkBwfrt7Gqo1b+uSHCjy/sa9Y6BBBxxFLxfbhTg==",
"dev": true,
"requires": {
"meow": "^7.0.0",
@@ -7055,12 +7178,12 @@
"dev": true
},
"har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"dev": true,
"requires": {
- "ajv": "^6.5.5",
+ "ajv": "^6.12.3",
"har-schema": "^2.0.0"
}
},
@@ -7302,6 +7425,19 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ }
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -7369,6 +7505,13 @@
"integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
"dev": true
},
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
"import-cwd": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
@@ -7692,9 +7835,9 @@
"dev": true
},
"is-docker": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
- "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
+ "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
"dev": true,
"optional": true
},
@@ -7758,9 +7901,9 @@
}
},
"is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"dev": true
},
"is-path-cwd": {
@@ -7797,9 +7940,9 @@
"dev": true
},
"is-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
- "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
"dev": true,
"requires": {
"has-symbols": "^1.0.1"
@@ -8001,14 +8144,14 @@
}
},
"jest": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest/-/jest-26.1.0.tgz",
- "integrity": "sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-26.4.1.tgz",
+ "integrity": "sha512-q+az+ZXFOTxTlD6BRIMcZC+a33O9lsryV4Wo9gU4D/AI+Y6KKgVRCmyzpc4H2gWv0rn45lACukmMS2uSB7e1LA==",
"dev": true,
"requires": {
- "@jest/core": "^26.1.0",
+ "@jest/core": "^26.4.1",
"import-local": "^3.0.2",
- "jest-cli": "^26.1.0"
+ "jest-cli": "^26.4.1"
},
"dependencies": {
"ansi-styles": {
@@ -8053,22 +8196,22 @@
"dev": true
},
"jest-cli": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.1.0.tgz",
- "integrity": "sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.4.1.tgz",
+ "integrity": "sha512-c6px+IOO0OsZ7X/uSr65wcjZnd7NYNUDWFT5OETyCnJRkkwoTER7gneRDrwgr3Ex5+gCGO7D/IMWxUHB/L624A==",
"dev": true,
"requires": {
- "@jest/core": "^26.1.0",
- "@jest/test-result": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/core": "^26.4.1",
+ "@jest/test-result": "^26.3.0",
+ "@jest/types": "^26.3.0",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"import-local": "^3.0.2",
"is-ci": "^2.0.0",
- "jest-config": "^26.1.0",
- "jest-util": "^26.1.0",
- "jest-validate": "^26.1.0",
+ "jest-config": "^26.4.1",
+ "jest-util": "^26.3.0",
+ "jest-validate": "^26.4.0",
"prompts": "^2.0.1",
"yargs": "^15.3.1"
}
@@ -8085,12 +8228,12 @@
}
},
"jest-changed-files": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.1.0.tgz",
- "integrity": "sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.3.0.tgz",
+ "integrity": "sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"execa": "^4.0.0",
"throat": "^5.0.0"
},
@@ -8124,9 +8267,9 @@
}
},
"get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"requires": {
"pump": "^3.0.0"
@@ -8148,9 +8291,9 @@
}
},
"onetime": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
- "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"requires": {
"mimic-fn": "^2.1.0"
@@ -8176,33 +8319,42 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
}
}
},
"jest-config": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.1.0.tgz",
- "integrity": "sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.4.1.tgz",
+ "integrity": "sha512-0kUnVceEax0sYN+wdkNYF7fxjYKbsvmKmjVWwJvsSYA2p94bIL6wSy3oehewev7L9Dp/FDZFhmc9dyOoavdT6A==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^26.1.0",
- "@jest/types": "^26.1.0",
- "babel-jest": "^26.1.0",
+ "@jest/test-sequencer": "^26.4.1",
+ "@jest/types": "^26.3.0",
+ "babel-jest": "^26.3.0",
"chalk": "^4.0.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.1",
"graceful-fs": "^4.2.4",
- "jest-environment-jsdom": "^26.1.0",
- "jest-environment-node": "^26.1.0",
- "jest-get-type": "^26.0.0",
- "jest-jasmine2": "^26.1.0",
+ "jest-environment-jsdom": "^26.3.0",
+ "jest-environment-node": "^26.3.0",
+ "jest-get-type": "^26.3.0",
+ "jest-jasmine2": "^26.4.1",
"jest-regex-util": "^26.0.0",
- "jest-resolve": "^26.1.0",
- "jest-util": "^26.1.0",
- "jest-validate": "^26.1.0",
+ "jest-resolve": "^26.4.0",
+ "jest-util": "^26.3.0",
+ "jest-validate": "^26.4.0",
"micromatch": "^4.0.2",
- "pretty-format": "^26.1.0"
+ "pretty-format": "^26.4.0"
},
"dependencies": {
"ansi-styles": {
@@ -8301,15 +8453,15 @@
}
},
"jest-diff": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz",
- "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.4.0.tgz",
+ "integrity": "sha512-wwC38HlOW+iTq6j5tkj/ZamHn6/nrdcEOc/fKaVILNtN2NLWGdkfRaHWwfNYr5ehaLvuoG2LfCZIcWByVj0gjg==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "diff-sequences": "^26.0.0",
- "jest-get-type": "^26.0.0",
- "pretty-format": "^26.1.0"
+ "diff-sequences": "^26.3.0",
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.4.0"
},
"dependencies": {
"ansi-styles": {
@@ -8374,16 +8526,16 @@
}
},
"jest-each": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.1.0.tgz",
- "integrity": "sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.4.0.tgz",
+ "integrity": "sha512-+cyBh1ehs6thVT/bsZVG+WwmRn2ix4Q4noS9yLZgM10yGWPW12/TDvwuOV2VZXn1gi09/ZwJKJWql6YW1C9zNw==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"chalk": "^4.0.0",
- "jest-get-type": "^26.0.0",
- "jest-util": "^26.1.0",
- "pretty-format": "^26.1.0"
+ "jest-get-type": "^26.3.0",
+ "jest-util": "^26.3.0",
+ "pretty-format": "^26.4.0"
},
"dependencies": {
"ansi-styles": {
@@ -8439,57 +8591,60 @@
}
},
"jest-environment-jsdom": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz",
- "integrity": "sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz",
+ "integrity": "sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA==",
"dev": true,
"requires": {
- "@jest/environment": "^26.1.0",
- "@jest/fake-timers": "^26.1.0",
- "@jest/types": "^26.1.0",
- "jest-mock": "^26.1.0",
- "jest-util": "^26.1.0",
+ "@jest/environment": "^26.3.0",
+ "@jest/fake-timers": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
+ "jest-mock": "^26.3.0",
+ "jest-util": "^26.3.0",
"jsdom": "^16.2.2"
}
},
"jest-environment-node": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.1.0.tgz",
- "integrity": "sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.3.0.tgz",
+ "integrity": "sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw==",
"dev": true,
"requires": {
- "@jest/environment": "^26.1.0",
- "@jest/fake-timers": "^26.1.0",
- "@jest/types": "^26.1.0",
- "jest-mock": "^26.1.0",
- "jest-util": "^26.1.0"
+ "@jest/environment": "^26.3.0",
+ "@jest/fake-timers": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
+ "jest-mock": "^26.3.0",
+ "jest-util": "^26.3.0"
}
},
"jest-get-type": {
- "version": "26.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz",
- "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
+ "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
"dev": true
},
"jest-haste-map": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.1.0.tgz",
- "integrity": "sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.3.0.tgz",
+ "integrity": "sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"@types/graceful-fs": "^4.1.2",
+ "@types/node": "*",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
"fsevents": "^2.1.2",
"graceful-fs": "^4.2.4",
- "jest-serializer": "^26.1.0",
- "jest-util": "^26.1.0",
- "jest-worker": "^26.1.0",
+ "jest-regex-util": "^26.0.0",
+ "jest-serializer": "^26.3.0",
+ "jest-util": "^26.3.0",
+ "jest-worker": "^26.3.0",
"micromatch": "^4.0.2",
"sane": "^4.0.3",
- "walker": "^1.0.7",
- "which": "^2.0.2"
+ "walker": "^1.0.7"
},
"dependencies": {
"anymatch": {
@@ -8555,27 +8710,28 @@
}
},
"jest-jasmine2": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz",
- "integrity": "sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.4.1.tgz",
+ "integrity": "sha512-GMPqJXyAWpohCg4wfA82lwac65lmgANH4/rOhNNaAN9yjInMAeMExQcWE1xb3fcCgLwibqeAuqVrV83oQl+szg==",
"dev": true,
"requires": {
"@babel/traverse": "^7.1.0",
- "@jest/environment": "^26.1.0",
- "@jest/source-map": "^26.1.0",
- "@jest/test-result": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/environment": "^26.3.0",
+ "@jest/source-map": "^26.3.0",
+ "@jest/test-result": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
- "expect": "^26.1.0",
+ "expect": "^26.4.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^26.1.0",
- "jest-matcher-utils": "^26.1.0",
- "jest-message-util": "^26.1.0",
- "jest-runtime": "^26.1.0",
- "jest-snapshot": "^26.1.0",
- "jest-util": "^26.1.0",
- "pretty-format": "^26.1.0",
+ "jest-each": "^26.4.0",
+ "jest-matcher-utils": "^26.4.1",
+ "jest-message-util": "^26.3.0",
+ "jest-runtime": "^26.4.1",
+ "jest-snapshot": "^26.4.1",
+ "jest-util": "^26.3.0",
+ "pretty-format": "^26.4.0",
"throat": "^5.0.0"
},
"dependencies": {
@@ -8632,25 +8788,25 @@
}
},
"jest-leak-detector": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz",
- "integrity": "sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.4.0.tgz",
+ "integrity": "sha512-7EXKKEKnAWUPyiVtGZzJflbPOtYUdlNoevNVOkAcPpdR8xWiYKPGNGA6sz25S+8YhZq3rmkQJYAh3/P0VnoRwA==",
"dev": true,
"requires": {
- "jest-get-type": "^26.0.0",
- "pretty-format": "^26.1.0"
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.4.0"
}
},
"jest-matcher-utils": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz",
- "integrity": "sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.4.1.tgz",
+ "integrity": "sha512-nmHWaOz54R/w6zJju5tuW0bw6+m38Rb1jnDKehKM/bOngDDL0UwtN634cRxpFoUNVRUrX8Wa0Z34xq/f8iuP5A==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "jest-diff": "^26.1.0",
- "jest-get-type": "^26.0.0",
- "pretty-format": "^26.1.0"
+ "jest-diff": "^26.4.0",
+ "jest-get-type": "^26.3.0",
+ "pretty-format": "^26.4.0"
},
"dependencies": {
"ansi-styles": {
@@ -8706,13 +8862,13 @@
}
},
"jest-message-util": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.1.0.tgz",
- "integrity": "sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.3.0.tgz",
+ "integrity": "sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"@types/stack-utils": "^1.0.1",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
@@ -8823,12 +8979,13 @@
}
},
"jest-mock": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.1.0.tgz",
- "integrity": "sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.3.0.tgz",
+ "integrity": "sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0"
+ "@jest/types": "^26.3.0",
+ "@types/node": "*"
}
},
"jest-pnp-resolver": {
@@ -8844,16 +9001,16 @@
"dev": true
},
"jest-resolve": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.1.0.tgz",
- "integrity": "sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.4.0.tgz",
+ "integrity": "sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
- "jest-pnp-resolver": "^1.2.1",
- "jest-util": "^26.1.0",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^26.3.0",
"read-pkg-up": "^7.0.1",
"resolve": "^1.17.0",
"slash": "^3.0.0"
@@ -8918,39 +9075,40 @@
}
},
"jest-resolve-dependencies": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz",
- "integrity": "sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.1.tgz",
+ "integrity": "sha512-Gx4JfQ1k/hGb4lqVOOx8TPOkNtyJIQSHcJU68pB+sdyDJi9rbMxD1XXiYyaEq9WXufiZo90k9GTK6z6a5m0SQw==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"jest-regex-util": "^26.0.0",
- "jest-snapshot": "^26.1.0"
+ "jest-snapshot": "^26.4.1"
}
},
"jest-runner": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.1.0.tgz",
- "integrity": "sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.4.1.tgz",
+ "integrity": "sha512-QcKwn1YNlzFumTtFsocETgIm13KNt2X8sae4wcqsF3JnxGUcYYUGBstCQhtAG4fKD/TKThHkgE/ZgQVKipj7oA==",
"dev": true,
"requires": {
- "@jest/console": "^26.1.0",
- "@jest/environment": "^26.1.0",
- "@jest/test-result": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/console": "^26.3.0",
+ "@jest/environment": "^26.3.0",
+ "@jest/test-result": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
"chalk": "^4.0.0",
+ "emittery": "^0.7.1",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
- "jest-config": "^26.1.0",
+ "jest-config": "^26.4.1",
"jest-docblock": "^26.0.0",
- "jest-haste-map": "^26.1.0",
- "jest-jasmine2": "^26.1.0",
- "jest-leak-detector": "^26.1.0",
- "jest-message-util": "^26.1.0",
- "jest-resolve": "^26.1.0",
- "jest-runtime": "^26.1.0",
- "jest-util": "^26.1.0",
- "jest-worker": "^26.1.0",
+ "jest-haste-map": "^26.3.0",
+ "jest-leak-detector": "^26.4.0",
+ "jest-message-util": "^26.3.0",
+ "jest-resolve": "^26.4.0",
+ "jest-runtime": "^26.4.1",
+ "jest-util": "^26.3.0",
+ "jest-worker": "^26.3.0",
"source-map-support": "^0.5.6",
"throat": "^5.0.0"
},
@@ -9008,34 +9166,34 @@
}
},
"jest-runtime": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.1.0.tgz",
- "integrity": "sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA==",
- "dev": true,
- "requires": {
- "@jest/console": "^26.1.0",
- "@jest/environment": "^26.1.0",
- "@jest/fake-timers": "^26.1.0",
- "@jest/globals": "^26.1.0",
- "@jest/source-map": "^26.1.0",
- "@jest/test-result": "^26.1.0",
- "@jest/transform": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.4.1.tgz",
+ "integrity": "sha512-zXPQBS4iL/CEZtDfX+rDz+oZ/inQK/EYOeVt3uDWu8kwSdP/Cw4yOZtCTPApeNsGtZy6X5WQ1U+fyagN1B/Qkw==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^26.3.0",
+ "@jest/environment": "^26.3.0",
+ "@jest/fake-timers": "^26.3.0",
+ "@jest/globals": "^26.4.1",
+ "@jest/source-map": "^26.3.0",
+ "@jest/test-result": "^26.3.0",
+ "@jest/transform": "^26.3.0",
+ "@jest/types": "^26.3.0",
"@types/yargs": "^15.0.0",
"chalk": "^4.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.4",
- "jest-config": "^26.1.0",
- "jest-haste-map": "^26.1.0",
- "jest-message-util": "^26.1.0",
- "jest-mock": "^26.1.0",
+ "jest-config": "^26.4.1",
+ "jest-haste-map": "^26.3.0",
+ "jest-message-util": "^26.3.0",
+ "jest-mock": "^26.3.0",
"jest-regex-util": "^26.0.0",
- "jest-resolve": "^26.1.0",
- "jest-snapshot": "^26.1.0",
- "jest-util": "^26.1.0",
- "jest-validate": "^26.1.0",
+ "jest-resolve": "^26.4.0",
+ "jest-snapshot": "^26.4.1",
+ "jest-util": "^26.3.0",
+ "jest-validate": "^26.4.0",
"slash": "^3.0.0",
"strip-bom": "^4.0.0",
"yargs": "^15.3.1"
@@ -9106,34 +9264,35 @@
}
},
"jest-serializer": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.1.0.tgz",
- "integrity": "sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.3.0.tgz",
+ "integrity": "sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow==",
"dev": true,
"requires": {
+ "@types/node": "*",
"graceful-fs": "^4.2.4"
}
},
"jest-snapshot": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.1.0.tgz",
- "integrity": "sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.4.1.tgz",
+ "integrity": "sha512-5DsxbSSuYA8rZ/ynO+l5J65wSIyzDB2AXjuIvep90YmtslrROqDtba2hBgq1Cj6L6A0j/jv6h8JydEe2WYPM/g==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0",
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"@types/prettier": "^2.0.0",
"chalk": "^4.0.0",
- "expect": "^26.1.0",
+ "expect": "^26.4.1",
"graceful-fs": "^4.2.4",
- "jest-diff": "^26.1.0",
- "jest-get-type": "^26.0.0",
- "jest-haste-map": "^26.1.0",
- "jest-matcher-utils": "^26.1.0",
- "jest-message-util": "^26.1.0",
- "jest-resolve": "^26.1.0",
+ "jest-diff": "^26.4.0",
+ "jest-get-type": "^26.3.0",
+ "jest-haste-map": "^26.3.0",
+ "jest-matcher-utils": "^26.4.1",
+ "jest-message-util": "^26.3.0",
+ "jest-resolve": "^26.4.0",
"natural-compare": "^1.4.0",
- "pretty-format": "^26.1.0",
+ "pretty-format": "^26.4.0",
"semver": "^7.3.2"
},
"dependencies": {
@@ -9190,12 +9349,13 @@
}
},
"jest-util": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.1.0.tgz",
- "integrity": "sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.3.0.tgz",
+ "integrity": "sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
"is-ci": "^2.0.0",
@@ -9298,17 +9458,17 @@
}
},
"jest-validate": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.1.0.tgz",
- "integrity": "sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.4.0.tgz",
+ "integrity": "sha512-t56Z/FRMrLP6mpmje7/YgHy0wOzcuc6i3LBXz6kjmsUWYN62OuMdC86Vg9/dX59SvyitSqqegOrx+h7BkNXeaQ==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"camelcase": "^6.0.0",
"chalk": "^4.0.0",
- "jest-get-type": "^26.0.0",
+ "jest-get-type": "^26.3.0",
"leven": "^3.1.0",
- "pretty-format": "^26.1.0"
+ "pretty-format": "^26.4.0"
},
"dependencies": {
"ansi-styles": {
@@ -9364,16 +9524,17 @@
}
},
"jest-watcher": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.1.0.tgz",
- "integrity": "sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.3.0.tgz",
+ "integrity": "sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ==",
"dev": true,
"requires": {
- "@jest/test-result": "^26.1.0",
- "@jest/types": "^26.1.0",
+ "@jest/test-result": "^26.3.0",
+ "@jest/types": "^26.3.0",
+ "@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "jest-util": "^26.1.0",
+ "jest-util": "^26.3.0",
"string-length": "^4.0.1"
},
"dependencies": {
@@ -9445,11 +9606,12 @@
}
},
"jest-worker": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz",
- "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==",
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz",
+ "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==",
"dev": true,
"requires": {
+ "@types/node": "*",
"merge-stream": "^2.0.0",
"supports-color": "^7.0.0"
},
@@ -9502,9 +9664,9 @@
"dev": true
},
"jsdom": {
- "version": "16.3.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.3.0.tgz",
- "integrity": "sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==",
+ "version": "16.4.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz",
+ "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==",
"dev": true,
"requires": {
"abab": "^2.0.3",
@@ -9536,9 +9698,9 @@
},
"dependencies": {
"acorn": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
- "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==",
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
+ "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
"dev": true
}
}
@@ -9596,12 +9758,13 @@
}
},
"jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+ "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.6"
+ "graceful-fs": "^4.1.6",
+ "universalify": "^1.0.0"
}
},
"jsonparse": {
@@ -9640,6 +9803,34 @@
"integrity": "sha512-xf88rTeHiXk+XE2Vhi6yj8Wm3gMZrygGdKjJqN8HkV+PwF/t50/LdAKHoHpPcxFAlmQszTZ1CugrK25S7qDRLA==",
"dev": true
},
+ "less": {
+ "version": "3.12.2",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.12.2.tgz",
+ "integrity": "sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==",
+ "dev": true,
+ "requires": {
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "make-dir": "^2.1.0",
+ "mime": "^1.4.1",
+ "native-request": "^1.0.5",
+ "source-map": "~0.6.0",
+ "tslib": "^1.10.0"
+ }
+ },
+ "less-loader": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.2.0.tgz",
+ "integrity": "sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg==",
+ "dev": true,
+ "requires": {
+ "clone": "^2.1.2",
+ "less": "^3.11.3",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0"
+ }
+ },
"leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -9744,6 +9935,19 @@
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true
},
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ }
+ },
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -9791,9 +9995,9 @@
}
},
"get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"requires": {
"pump": "^3.0.0"
@@ -9843,9 +10047,9 @@
}
},
"onetime": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
- "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"requires": {
"mimic-fn": "^2.1.0"
@@ -9889,6 +10093,15 @@
"requires": {
"is-number": "^7.0.0"
}
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
}
}
},
@@ -9899,18 +10112,18 @@
"dev": true
},
"listr2": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.3.3.tgz",
- "integrity": "sha512-vU2eiFEzUEaDjgwRJ/n8RB79K2cBcaTw1DigIGHnXGp/BEeQqxGwiM8R17Itit5l2ykrrST11kw2l9vSpCbqUQ==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.6.0.tgz",
+ "integrity": "sha512-nwmqTJYQQ+AsKb4fCXH/6/UmLCEDL1jkRAdSn9M6cEUzoRGrs33YD/3N86gAZQnGZ6hxV18XSdlBcJ1GTmetJA==",
"dev": true,
"requires": {
- "chalk": "^4.0.0",
+ "chalk": "^4.1.0",
"cli-truncate": "^2.1.0",
"figures": "^3.2.0",
"indent-string": "^4.0.0",
"log-update": "^4.0.0",
"p-map": "^4.0.0",
- "rxjs": "^6.5.5",
+ "rxjs": "^6.6.2",
"through": "^2.3.8"
},
"dependencies": {
@@ -10039,9 +10252,9 @@
}
},
"lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
"dev": true
},
"lodash._reinterpolate": {
@@ -10056,6 +10269,12 @@
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
"dev": true
},
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
"lodash.difference": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
@@ -10240,9 +10459,9 @@
"dev": true
},
"onetime": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
- "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"requires": {
"mimic-fn": "^2.1.0"
@@ -10391,18 +10610,16 @@
"dev": true
},
"meow": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
- "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.0.tgz",
+ "integrity": "sha512-kq5F0KVteskZ3JdfyQFivJEj2RaA8NFsS4+r9DaMKLcUHpk5OcHS3Q0XkCXONB1mZRPsu/Y/qImKri0nwSEZog==",
"dev": true,
"requires": {
"@types/minimist": "^1.2.0",
- "arrify": "^2.0.1",
- "camelcase": "^6.0.0",
"camelcase-keys": "^6.2.2",
"decamelize-keys": "^1.1.0",
"hard-rejection": "^2.1.0",
- "minimist-options": "^4.0.2",
+ "minimist-options": "4.1.0",
"normalize-package-data": "^2.5.0",
"read-pkg-up": "^7.0.1",
"redent": "^3.0.0",
@@ -10471,6 +10688,13 @@
}
}
},
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "optional": true
+ },
"mime-db": {
"version": "1.44.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
@@ -10499,9 +10723,9 @@
"dev": true
},
"mini-css-extract-plugin": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz",
- "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==",
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.10.0.tgz",
+ "integrity": "sha512-QgKgJBjaJhxVPwrLNqqwNS0AGkuQQ31Hp4xGXEK/P7wehEg6qmNtReHKai3zRXqY60wGVWLYcOMJK2b98aGc3A==",
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
@@ -10578,14 +10802,6 @@
"arrify": "^1.0.1",
"is-plain-obj": "^1.1.0",
"kind-of": "^6.0.3"
- },
- "dependencies": {
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- }
}
},
"mississippi": {
@@ -10725,6 +10941,15 @@
"universalify": "^0.1.0"
}
},
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
"locate-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
@@ -10755,6 +10980,12 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
}
}
},
@@ -10796,6 +11027,13 @@
"to-regex": "^3.0.1"
}
},
+ "native-request": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.7.tgz",
+ "integrity": "sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ==",
+ "dev": true,
+ "optional": true
+ },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -10866,9 +11104,9 @@
"dev": true
},
"node-notifier": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-7.0.2.tgz",
- "integrity": "sha512-ux+n4hPVETuTL8+daJXTOC6uKLgMsl1RYfFv7DKRzyvzBapqco0rZZ9g72ZN8VS6V+gvNYHYa/ofcCY8fkJWsA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz",
+ "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==",
"dev": true,
"optional": true,
"requires": {
@@ -10876,8 +11114,20 @@
"is-wsl": "^2.2.0",
"semver": "^7.3.2",
"shellwords": "^0.1.1",
- "uuid": "^8.2.0",
+ "uuid": "^8.3.0",
"which": "^2.0.2"
+ },
+ "dependencies": {
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"node-releases": {
@@ -10909,7 +11159,8 @@
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
},
"normalize-range": {
"version": "0.1.2",
@@ -11262,14 +11513,13 @@
}
},
"parse-asn1": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
- "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
+ "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
"dev": true,
"requires": {
- "asn1.js": "^4.0.0",
+ "asn1.js": "^5.2.0",
"browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
"evp_bytestokey": "^1.0.0",
"pbkdf2": "^3.0.3",
"safe-buffer": "^5.1.1"
@@ -12089,12 +12339,12 @@
"dev": true
},
"pretty-format": {
- "version": "26.1.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz",
- "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.0.tgz",
+ "integrity": "sha512-mEEwwpCseqrUtuMbrJG4b824877pM5xald3AkilJ47Po2YLr97/siejYQHqj2oDQBeJNbu+Q0qUuekJ8F0NAPg==",
"dev": true,
"requires": {
- "@jest/types": "^26.1.0",
+ "@jest/types": "^26.3.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -12759,9 +13009,9 @@
"dev": true
},
"rxjs": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz",
- "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
+ "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
@@ -12815,18 +13065,24 @@
}
},
"sass-loader": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-9.0.2.tgz",
- "integrity": "sha512-nphcum3jNI442njnrZ5wJgSNX5lfEOHOKHCLf+PrTIaleploKqAMUuT9CVKjf+lyi6c2MCGPHh1vb9nGsjnZJA==",
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-9.0.3.tgz",
+ "integrity": "sha512-fOwsP98ac1VMme+V3+o0HaaMHp8Q/C9P+MUazLFVi3Jl7ORGHQXL1XeRZt3zLSGZQQPC8xE42Y2WptItvGjDQg==",
"dev": true,
"requires": {
- "klona": "^1.1.1",
+ "klona": "^1.1.2",
"loader-utils": "^2.0.0",
- "neo-async": "^2.6.1",
+ "neo-async": "^2.6.2",
"schema-utils": "^2.7.0",
"semver": "^7.3.2"
}
},
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ },
"saxes": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
@@ -12864,9 +13120,9 @@
"dev": true
},
"serialize-javascript": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
- "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
@@ -13313,16 +13569,16 @@
}
},
"standard-version": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-8.0.2.tgz",
- "integrity": "sha512-L8X9KFq2SmVmaeZgUmWHFJMOsEWpjgFAwqic6yIIoveM1kdw1vH4Io03WWxUDjypjGqGU6qUtcJoR8UvOv5w3g==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.0.0.tgz",
+ "integrity": "sha512-eRR04IscMP3xW9MJTykwz13HFNYs8jS33AGuDiBKgfo5YrO0qX0Nxb4rjupVwT5HDYL/aR+MBEVLjlmVFmFEDQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
- "conventional-changelog": "3.1.21",
+ "conventional-changelog": "3.1.23",
"conventional-changelog-config-spec": "2.1.0",
- "conventional-changelog-conventionalcommits": "4.3.0",
- "conventional-recommended-bump": "6.0.9",
+ "conventional-changelog-conventionalcommits": "4.4.0",
+ "conventional-recommended-bump": "6.0.10",
"detect-indent": "^6.0.0",
"detect-newline": "^3.1.0",
"dotgitignore": "^2.1.0",
@@ -13499,6 +13755,14 @@
"get-own-enumerable-property-symbols": "^3.0.0",
"is-obj": "^1.0.1",
"is-regexp": "^1.0.0"
+ },
+ "dependencies": {
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ }
}
},
"stringify-package": {
@@ -13559,6 +13823,84 @@
"schema-utils": "^2.6.6"
}
},
+ "stylus": {
+ "version": "0.54.8",
+ "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz",
+ "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==",
+ "dev": true,
+ "requires": {
+ "css-parse": "~2.0.0",
+ "debug": "~3.1.0",
+ "glob": "^7.1.6",
+ "mkdirp": "~1.0.4",
+ "safer-buffer": "^2.1.2",
+ "sax": "~1.2.4",
+ "semver": "^6.3.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "stylus-loader": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz",
+ "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.0.2",
+ "lodash.clonedeep": "^4.5.0",
+ "when": "~3.6.x"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ }
+ }
+ },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -13721,16 +14063,16 @@
}
},
"terser-webpack-plugin": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz",
- "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==",
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
+ "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
"dev": true,
"requires": {
"cacache": "^12.0.2",
"find-cache-dir": "^2.1.0",
"is-wsl": "^1.1.0",
"schema-utils": "^1.0.0",
- "serialize-javascript": "^3.1.0",
+ "serialize-javascript": "^4.0.0",
"source-map": "^0.6.1",
"terser": "^4.1.2",
"webpack-sources": "^1.4.0",
@@ -13998,9 +14340,9 @@
}
},
"uglify-js": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.0.tgz",
- "integrity": "sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA==",
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.1.tgz",
+ "integrity": "sha512-RjxApKkrPJB6kjJxQS3iZlf///REXWYxYJxO/MpmlQzVkDWVI3PSnCBWezMecmTU/TRkNxrl8bmsfFQCp+LO+Q==",
"dev": true,
"optional": true
},
@@ -14068,9 +14410,9 @@
}
},
"universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+ "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
"dev": true
},
"unset-value": {
@@ -14201,9 +14543,9 @@
"dev": true
},
"uuid": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.2.0.tgz",
- "integrity": "sha512-CYpGiFTUrmI6OBMkAdjSDM0k5h8SkkiTP4WAjQgDgNB1S3Ou9VBEvr6q0Kv2H1mMk7IWfxYGpMH5sd5AvcIV2Q==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz",
+ "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==",
"dev": true,
"optional": true
},
@@ -14214,9 +14556,9 @@
"dev": true
},
"v8-to-istanbul": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
- "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz",
+ "integrity": "sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.1",
@@ -14327,9 +14669,9 @@
}
},
"chokidar": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz",
- "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz",
+ "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==",
"dev": true,
"optional": true,
"requires": {
@@ -14426,9 +14768,9 @@
"dev": true
},
"webpack": {
- "version": "4.44.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.0.tgz",
- "integrity": "sha512-wAuJxK123sqAw31SpkPiPW3iKHgFUiKvO7E7UZjtdExcsRe3fgav4mvoMM7vvpjLHVoJ6a0Mtp2fzkoA13e0Zw==",
+ "version": "4.44.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz",
+ "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.9.0",
@@ -14558,10 +14900,16 @@
}
}
},
+ "when": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
+ "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=",
+ "dev": true
+ },
"which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
diff --git a/package.json b/package.json
index 86003707..6d315edd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "css-loader",
- "version": "4.2.1",
+ "version": "4.2.2",
"description": "css loader module for webpack",
"license": "MIT",
"repository": "webpack-contrib/css-loader",
@@ -47,7 +47,6 @@
"cssesc": "^3.0.0",
"icss-utils": "^4.1.1",
"loader-utils": "^2.0.0",
- "normalize-path": "^3.0.0",
"postcss": "^7.0.32",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^3.0.3",
@@ -59,10 +58,10 @@
},
"devDependencies": {
"@babel/cli": "^7.10.5",
- "@babel/core": "^7.10.5",
+ "@babel/core": "^7.11.4",
"@babel/preset-env": "^7.10.4",
- "@commitlint/cli": "^9.1.2",
- "@commitlint/config-conventional": "^9.1.1",
+ "@commitlint/cli": "^10.0.0",
+ "@commitlint/config-conventional": "^10.0.0",
"@webpack-contrib/defaults": "^6.3.0",
"@webpack-contrib/eslint-config-webpack": "^3.0.0",
"babel-jest": "^26.1.0",
@@ -76,20 +75,23 @@
"file-loader": "^6.0.0",
"husky": "^4.2.5",
"jest": "^26.1.0",
+ "less-loader": "^6.2.0",
"lint-staged": "^10.2.11",
"memfs": "^3.2.0",
- "mini-css-extract-plugin": "^0.9.0",
+ "mini-css-extract-plugin": "^0.10.0",
"npm-run-all": "^4.1.5",
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.0.5",
"sass": "^1.26.10",
"sass-loader": "^9.0.2",
- "standard-version": "^8.0.2",
+ "standard-version": "^9.0.0",
"strip-ansi": "^6.0.0",
"style-loader": "^1.2.1",
+ "stylus": "^0.54.8",
+ "stylus-loader": "^3.0.2",
"url-loader": "^4.1.0",
- "webpack": "^4.44.0"
+ "webpack": "^4.44.1"
},
"keywords": [
"webpack",
diff --git a/src/index.js b/src/index.js
index b96e3c41..8e1d25ce 100644
--- a/src/index.js
+++ b/src/index.js
@@ -151,16 +151,17 @@ export default async function loader(content, map, meta) {
}
}
+ const { resourcePath } = this;
+
let result;
try {
result = await postcss(plugins).process(content, {
- from: this.resourcePath,
- to: this.resourcePath,
+ from: resourcePath,
+ to: resourcePath,
map: options.sourceMap
? {
- // Some loaders (example `"postcss-loader": "1.x.x"`) always generates source map, we should remove it
- prev: map ? normalizeSourceMap(map) : null,
+ prev: map ? normalizeSourceMap(map, resourcePath) : null,
inline: false,
annotation: false,
}
@@ -198,7 +199,7 @@ export default async function loader(content, map, meta) {
}
const importCode = getImportCode(imports, options);
- const moduleCode = getModuleCode(result, api, replacements, options);
+ const moduleCode = getModuleCode(result, api, replacements, options, this);
const exportCode = getExportCode(exports, replacements, options);
callback(null, `${importCode}${moduleCode}${exportCode}`);
diff --git a/src/utils.js b/src/utils.js
index b0664020..92c23617 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -6,7 +6,6 @@ import { fileURLToPath } from 'url';
import path from 'path';
import { urlToRequest, interpolateName } from 'loader-utils';
-import normalizePath from 'normalize-path';
import cssesc from 'cssesc';
import modulesValues from 'postcss-modules-values';
import localByDefault from 'postcss-modules-local-by-default';
@@ -41,6 +40,10 @@ function unescape(str) {
});
}
+function normalizePath(file) {
+ return path.sep === '\\' ? file.replace(/\\/g, '/') : file;
+}
+
// eslint-disable-next-line no-control-regex
const filenameReservedRegex = /[<>:"/\\|?*]/g;
// eslint-disable-next-line no-control-regex
@@ -295,7 +298,26 @@ function getModulesPlugins(options, loaderContext) {
return plugins;
}
-function normalizeSourceMap(map) {
+const IS_NATIVE_WIN32_PATH = /^[a-z]:[/\\]|^\\\\/i;
+const ABSOLUTE_SCHEME = /^[a-z0-9+\-.]+:/i;
+
+function getURLType(source) {
+ if (source[0] === '/') {
+ if (source[1] === '/') {
+ return 'scheme-relative';
+ }
+
+ return 'path-absolute';
+ }
+
+ if (IS_NATIVE_WIN32_PATH.test(source)) {
+ return 'path-absolute';
+ }
+
+ return ABSOLUTE_SCHEME.test(source) ? 'absolute' : 'path-relative';
+}
+
+function normalizeSourceMap(map, resourcePath) {
let newMap = map;
// Some loader emit source map as string
@@ -304,19 +326,35 @@ function normalizeSourceMap(map) {
newMap = JSON.parse(newMap);
}
- // Source maps should use forward slash because it is URLs (https://github.com/mozilla/source-map/issues/91)
- // We should normalize path because previous loaders like `sass-loader` using backslash when generate source map
+ delete newMap.file;
- if (newMap.file) {
- newMap.file = normalizePath(newMap.file);
- }
+ const { sourceRoot } = newMap;
- if (newMap.sourceRoot) {
- newMap.sourceRoot = normalizePath(newMap.sourceRoot);
- }
+ delete newMap.sourceRoot;
if (newMap.sources) {
- newMap.sources = newMap.sources.map((source) => normalizePath(source));
+ // Source maps should use forward slash because it is URLs (https://github.com/mozilla/source-map/issues/91)
+ // We should normalize path because previous loaders like `sass-loader` using backslash when generate source map
+ newMap.sources = newMap.sources.map((source) => {
+ // Non-standard syntax from `postcss`
+ if (source.indexOf('<') === 0) {
+ return source;
+ }
+
+ const sourceType = getURLType(source);
+
+ // Do no touch `scheme-relative` and `absolute` URLs
+ if (sourceType === 'path-relative' || sourceType === 'path-absolute') {
+ const absoluteSource =
+ sourceType === 'path-relative' && sourceRoot
+ ? path.resolve(sourceRoot, normalizePath(source))
+ : normalizePath(source);
+
+ return path.relative(path.dirname(resourcePath), absoluteSource);
+ }
+
+ return source;
+ });
}
return newMap;
@@ -370,14 +408,49 @@ function getImportCode(imports, options) {
return code ? `// Imports\n${code}` : '';
}
-function getModuleCode(result, api, replacements, options) {
+function normalizeSourceMapForRuntime(map, loaderContext) {
+ const resultMap = map ? map.toJSON() : null;
+
+ if (resultMap) {
+ delete resultMap.file;
+
+ resultMap.sourceRoot = '';
+
+ resultMap.sources = resultMap.sources.map((source) => {
+ // Non-standard syntax from `postcss`
+ if (source.indexOf('<') === 0) {
+ return source;
+ }
+
+ const sourceType = getURLType(source);
+
+ if (sourceType !== 'path-relative') {
+ return source;
+ }
+
+ const resourceDirname = path.dirname(loaderContext.resourcePath);
+ const absoluteSource = path.resolve(resourceDirname, source);
+ const contextifyPath = normalizePath(
+ path.relative(loaderContext.rootContext, absoluteSource)
+ );
+
+ return `webpack://${contextifyPath}`;
+ });
+ }
+
+ return JSON.stringify(resultMap);
+}
+
+function getModuleCode(result, api, replacements, options, loaderContext) {
if (options.modules.exportOnlyLocals === true) {
return '';
}
- const { css, map } = result;
- const sourceMapValue = options.sourceMap && map ? `,${map}` : '';
- let code = JSON.stringify(css);
+ const sourceMapValue = options.sourceMap
+ ? `,${normalizeSourceMapForRuntime(result.map, loaderContext)}`
+ : '';
+
+ let code = JSON.stringify(result.css);
let beforeCode = `var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(${options.sourceMap});\n`;
for (const item of api) {
diff --git a/test/__snapshots__/sourceMap-option.test.js.snap b/test/__snapshots__/sourceMap-option.test.js.snap
index c0cf7230..a664b239 100644
--- a/test/__snapshots__/sourceMap-option.test.js.snap
+++ b/test/__snapshots__/sourceMap-option.test.js.snap
@@ -1,8 +1,8 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "null" from an other loader: errors 1`] = `Array []`;
+exports[`"sourceMap" option false should not generate source maps when previous loader does not generate source maps: errors 1`] = `Array []`;
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "null" from an other loader: module 1`] = `
+exports[`"sourceMap" option false should not generate source maps when previous loader does not generate source maps: module 1`] = `
"// Imports
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
@@ -15,7 +15,7 @@ export default ___CSS_LOADER_EXPORT___;
"
`;
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "null" from an other loader: result 1`] = `
+exports[`"sourceMap" option false should not generate source maps when previous loader does not generate source maps: result 1`] = `
Array [
Array [
"../../src/index.js?[ident]!./source-map/nested/nested.css",
@@ -36,11 +36,11 @@ Array [
]
`;
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "null" from an other loader: warnings 1`] = `Array []`;
+exports[`"sourceMap" option false should not generate source maps when previous loader does not generate source maps: warnings 1`] = `Array []`;
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "undefined" from an other loader: errors 1`] = `Array []`;
+exports[`"sourceMap" option false should not generate source maps when previous loader generates source maps: errors 1`] = `Array []`;
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "undefined" from an other loader: module 1`] = `
+exports[`"sourceMap" option false should not generate source maps when previous loader generates source maps: module 1`] = `
"// Imports
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
@@ -53,7 +53,7 @@ export default ___CSS_LOADER_EXPORT___;
"
`;
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "undefined" from an other loader: result 1`] = `
+exports[`"sourceMap" option false should not generate source maps when previous loader generates source maps: result 1`] = `
Array [
Array [
"../../src/index.js?[ident]!./source-map/nested/nested.css",
@@ -74,149 +74,7 @@ Array [
]
`;
-exports[`"sourceMap" option false should not generate source maps when source maps equal to "undefined" from an other loader: warnings 1`] = `Array []`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid and string from an other loader: errors 1`] = `Array []`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid and string from an other loader: module 1`] = `
-"// Imports
-import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
-import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
-var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
-___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-export default ___CSS_LOADER_EXPORT___;
-"
-`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid and string from an other loader: result 1`] = `
-Array [
- Array [
- "../../src/index.js?[ident]!./source-map/nested/nested.css",
- ".nested {
- color: blue;
-}
-",
- "",
- ],
- Array [
- "./source-map/basic.css",
- ".class {
- color: red;
-}
-",
- "",
- ],
-]
-`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid and string from an other loader: warnings 1`] = `Array []`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`postcss-loader\`): errors 1`] = `Array []`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`postcss-loader\`): module 1`] = `
-"// Imports
-import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
-import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.postcss.css\\";
-var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
-___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\":root {\\\\n --fontSize: 1rem;\\\\n --mainColor: rgba(18,52,86,0.47059);\\\\n --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n overflow-x: hidden;\\\\n overflow-y: auto;\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n body {\\\\n color: rgba(18,52,86,0.47059);\\\\n color: var(--mainColor);\\\\n font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n font-size: 1rem;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(1rem * 1.5);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n word-wrap: break-word;\\\\n padding-left: calc(1rem / 2 + 1px);\\\\n padding-right: calc(1rem / 2 + 1px);\\\\n padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n margin-top: 0;\\\\n margin-bottom: 0;\\\\n}\\\\n\\\\na {\\\\n color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n color: #639;\\\\n }\\\\n\\", \\"\\"]);
-// Exports
-export default ___CSS_LOADER_EXPORT___;
-"
-`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`postcss-loader\`): result 1`] = `
-Array [
- Array [
- "../../src/index.js?[ident]!./source-map/nested/nested.postcss.css",
- ".nested {
- color: blue;
-}
-",
- "",
- ],
- Array [
- "./source-map/basic.postcss.css",
- ":root {
- --fontSize: 1rem;
- --mainColor: rgba(18,52,86,0.47059);
- --secondaryColor: rgba(102, 51, 153, 0.9);
-}
-
-html {
- overflow-x: hidden;
- overflow-y: auto;
- overflow: hidden auto;
-}
-
-@media (max-width: 50rem) {
- body {
- color: rgba(18,52,86,0.47059);
- color: var(--mainColor);
- font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
- font-size: 1rem;
- font-size: var(--fontSize);
- line-height: calc(1rem * 1.5);
- line-height: calc(var(--fontSize) * 1.5);
- word-wrap: break-word;
- padding-left: calc(1rem / 2 + 1px);
- padding-right: calc(1rem / 2 + 1px);
- padding-left: calc(var(--fontSize) / 2 + 1px);
- padding-right: calc(var(--fontSize) / 2 + 1px);
- }
-}
-
-h1,h2,h3,h4,h5,h6 {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-a {
- color: rgba(0, 0, 255, 0.9)
-}
-
-a:hover {
- color: #639;
- }
-",
- "",
- ],
-]
-`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`postcss-loader\`): warnings 1`] = `Array []`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`sass-loader\`): errors 1`] = `Array []`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`sass-loader\`): module 1`] = `
-"// Imports
-import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
-var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\"body {\\\\n font: 100% Helvetica, sans-serif;\\\\n color: #333;\\\\n}\\", \\"\\"]);
-// Exports
-export default ___CSS_LOADER_EXPORT___;
-"
-`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`sass-loader\`): result 1`] = `
-Array [
- Array [
- "./source-map/basic.scss",
- "body {
- font: 100% Helvetica, sans-serif;
- color: #333;
-}",
- "",
- ],
-]
-`;
-
-exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`sass-loader\`): warnings 1`] = `Array []`;
+exports[`"sourceMap" option false should not generate source maps when previous loader generates source maps: warnings 1`] = `Array []`;
exports[`"sourceMap" option false should not generate source maps: errors 1`] = `Array []`;
@@ -301,7 +159,7 @@ exports[`"sourceMap" option true should generate source maps #2: module 1`] = `
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"with-query.css\\"],\\"names\\":[],\\"mappings\\":\\"AAAA;EACE,UAAU;AACZ\\",\\"file\\":\\"with-query.css\\",\\"sourcesContent\\":[\\".foo {\\\\n color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/with-query.css\\"],\\"names\\":[],\\"mappings\\":\\"AAAA;EACE,UAAU;AACZ\\",\\"sourcesContent\\":[\\".foo {\\\\n color: red;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
// Exports
export default ___CSS_LOADER_EXPORT___;
"
@@ -317,11 +175,11 @@ Array [
",
"",
Object {
- "file": "with-query.css",
"mappings": "AAAA;EACE,UAAU;AACZ",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "with-query.css",
+ "webpack://source-map/with-query.css",
],
"sourcesContent": Array [
".foo {
@@ -337,36 +195,36 @@ Array [
exports[`"sourceMap" option true should generate source maps #2: warnings 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps equal to "null" from an other loader: errors 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps and do not change "[contenthash]" on different platform: errors 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps equal to "null" from an other loader: module 1`] = `
+exports[`"sourceMap" option true should generate source maps and do not change "[contenthash]" on different platform: module 1`] = `
"// Imports
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://test/fixtures/source-map/basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
// Exports
export default ___CSS_LOADER_EXPORT___;
"
`;
-exports[`"sourceMap" option true should generate source maps when source maps equal to "null" from an other loader: result 1`] = `
+exports[`"sourceMap" option true should generate source maps and do not change "[contenthash]" on different platform: result 1`] = `
Array [
Array [
- "../../src/index.js?[ident]!./source-map/nested/nested.css",
+ "./src/index.js?[ident]!./test/fixtures/source-map/nested/nested.css",
".nested {
color: blue;
}
",
"",
Object {
- "file": "nested.css",
"mappings": "AAAA;EACE,WAAW;AACb",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "nested.css",
+ "webpack://test/fixtures/source-map/nested/nested.css",
],
"sourcesContent": Array [
".nested {
@@ -378,18 +236,18 @@ Array [
},
],
Array [
- "./source-map/basic.css",
+ "./test/fixtures/source-map/basic.css",
".class {
color: red;
}
",
"",
Object {
- "file": "basic.css",
"mappings": "AAEA;EACE,UAAU;AACZ",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "basic.css",
+ "webpack://test/fixtures/source-map/basic.css",
],
"sourcesContent": Array [
"@import \\"./nested/nested.css\\";
@@ -405,24 +263,110 @@ Array [
]
`;
-exports[`"sourceMap" option true should generate source maps when source maps equal to "null" from an other loader: warnings 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps and do not change "[contenthash]" on different platform: warnings 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted and do not change "[contenthash]" on different platform: errors 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted and do not change "[contenthash]" on different platform: extracted css 1`] = `
+".nested {
+ color: blue;
+}
+
+.class {
+ color: red;
+}
+
+
+/*# sourceMappingURL=main.xxxxxxxxxxxxxxxxxxxx.css.map*/"
+`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted and do not change "[contenthash]" on different platform: source map 1`] = `
+Object {
+ "file": "main.xxxxxxxxxxxxxxxxxxxx.css",
+ "mappings": "AAAA;EACE,WAAW;AACb;;ACAA;EACE,UAAU;AACZ",
+ "names": Array [],
+ "sourceRoot": "",
+ "sources": Array [
+ "webpack:///test/fixtures/source-map/nested/nested.css",
+ "webpack:///test/fixtures/source-map/basic.css",
+ ],
+ "sourcesContent": Array [
+ ".nested {
+ color: blue;
+}
+",
+ "@import \\"./nested/nested.css\\";
+
+.class {
+ color: red;
+}
+",
+ ],
+ "version": 3,
+}
+`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted and do not change "[contenthash]" on different platform: warnings 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted: errors 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted: extracted css 1`] = `
+".nested {
+ color: blue;
+}
+
+.class {
+ color: red;
+}
+
+
+/*# sourceMappingURL=main.css.map*/"
+`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted: source map 1`] = `
+Object {
+ "file": "main.css",
+ "mappings": "AAAA;EACE,WAAW;AACb;;ACAA;EACE,UAAU;AACZ",
+ "names": Array [],
+ "sourceRoot": "",
+ "sources": Array [
+ "webpack:///source-map/nested/nested.css",
+ "webpack:///source-map/basic.css",
+ ],
+ "sourcesContent": Array [
+ ".nested {
+ color: blue;
+}
+",
+ "@import \\"./nested/nested.css\\";
-exports[`"sourceMap" option true should generate source maps when source maps equal to "undefined" from an other loader: errors 1`] = `Array []`;
+.class {
+ color: red;
+}
+",
+ ],
+ "version": 3,
+}
+`;
+
+exports[`"sourceMap" option true should generate source maps when css was extracted: warnings 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader does not generate source maps: errors 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps equal to "undefined" from an other loader: module 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader does not generate source maps: module 1`] = `
"// Imports
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
// Exports
export default ___CSS_LOADER_EXPORT___;
"
`;
-exports[`"sourceMap" option true should generate source maps when source maps equal to "undefined" from an other loader: result 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader does not generate source maps: result 1`] = `
Array [
Array [
"../../src/index.js?[ident]!./source-map/nested/nested.css",
@@ -432,11 +376,11 @@ Array [
",
"",
Object {
- "file": "nested.css",
"mappings": "AAAA;EACE,WAAW;AACb",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "nested.css",
+ "webpack://source-map/nested/nested.css",
],
"sourcesContent": Array [
".nested {
@@ -455,11 +399,11 @@ Array [
",
"",
Object {
- "file": "basic.css",
"mappings": "AAEA;EACE,UAAU;AACZ",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "basic.css",
+ "webpack://source-map/basic.css",
],
"sourcesContent": Array [
"@import \\"./nested/nested.css\\";
@@ -475,24 +419,24 @@ Array [
]
`;
-exports[`"sourceMap" option true should generate source maps when source maps equal to "undefined" from an other loader: warnings 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps when previous loader does not generate source maps: warnings 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: errors 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps when previous loader generates different source in source maps: errors 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: module 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader generates different source in source maps: module 1`] = `
"// Imports
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"/fixtures/source-map/basic.css\\",\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;ECCE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\".class {\\\\n color: red;\\\\n}\\\\n\\",\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/basic-1.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
// Exports
export default ___CSS_LOADER_EXPORT___;
"
`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: result 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader generates different source in source maps: result 1`] = `
Array [
Array [
"../../src/index.js?[ident]!./source-map/nested/nested.css",
@@ -502,11 +446,11 @@ Array [
",
"",
Object {
- "file": "nested.css",
"mappings": "AAAA;EACE,WAAW;AACb",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "nested.css",
+ "webpack://source-map/nested/nested.css",
],
"sourcesContent": Array [
".nested {
@@ -525,18 +469,13 @@ Array [
",
"",
Object {
- "file": "basic.css",
- "mappings": "AAEA;ECCE,UAAU;AACZ",
+ "mappings": "AAEA;EACE,UAAU;AACZ",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "/fixtures/source-map/basic.css",
- "basic.css",
+ "webpack://source-map/basic-1.css",
],
"sourcesContent": Array [
- ".class {
- color: red;
-}
-",
"@import \\"./nested/nested.css\\";
.class {
@@ -550,65 +489,45 @@ Array [
]
`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: warnings 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps when previous loader generates different source in source maps: warnings 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and string from an other loader: errors 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("less-loader"): errors 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and string from an other loader: module 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("less-loader"): module 1`] = `
"// Imports
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
-import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
-___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\".class {\\\\n color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body {\\\\n font: 100% Helvetica, sans-serif;\\\\n color: #333;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/base.less\\"],\\"names\\":[],\\"mappings\\":\\"AAGA;EACE,gCAAA;EACA,WAAA;AAFF\\",\\"sourcesContent\\":[\\"@font-stack: Helvetica, sans-serif;\\\\n@primary-color: #333;\\\\n\\\\nbody {\\\\n font: 100% @font-stack;\\\\n color: @primary-color;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
// Exports
export default ___CSS_LOADER_EXPORT___;
"
`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and string from an other loader: result 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("less-loader"): result 1`] = `
Array [
Array [
- "../../src/index.js?[ident]!./source-map/nested/nested.css",
- ".nested {
- color: blue;
-}
-",
- "",
- Object {
- "file": "nested.css",
- "mappings": "AAAA;EACE,WAAW;AACb",
- "names": Array [],
- "sources": Array [
- "nested.css",
- ],
- "sourcesContent": Array [
- ".nested {
- color: blue;
-}
-",
- ],
- "version": 3,
- },
- ],
- Array [
- "./source-map/basic.css",
- ".class {
- color: red;
+ "./source-map/base.less",
+ "body {
+ font: 100% Helvetica, sans-serif;
+ color: #333;
}
",
"",
Object {
- "file": "basic.css",
- "mappings": "AAEA;EACE,UAAU;AACZ",
+ "mappings": "AAGA;EACE,gCAAA;EACA,WAAA;AAFF",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "basic.css",
+ "webpack://source-map/base.less",
],
"sourcesContent": Array [
- ".class {
- color: red;
+ "@font-stack: Helvetica, sans-serif;
+@primary-color: #333;
+
+body {
+ font: 100% @font-stack;
+ color: @primary-color;
}
",
],
@@ -618,24 +537,24 @@ Array [
]
`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid and string from an other loader: warnings 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("less-loader"): warnings 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid from an other loader (\`postcss-loader\`): errors 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("postcss-loader"): errors 1`] = `Array []`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid from an other loader (\`postcss-loader\`): module 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("postcss-loader"): module 1`] = `
"// Imports
import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.postcss.css\\";
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\":root {\\\\n --fontSize: 1rem;\\\\n --mainColor: rgba(18,52,86,0.47059);\\\\n --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n overflow-x: hidden;\\\\n overflow-y: auto;\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n body {\\\\n color: rgba(18,52,86,0.47059);\\\\n color: var(--mainColor);\\\\n font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n font-size: 1rem;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(1rem * 1.5);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n word-wrap: break-word;\\\\n padding-left: calc(1rem / 2 + 1px);\\\\n padding-right: calc(1rem / 2 + 1px);\\\\n padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n margin-top: 0;\\\\n margin-bottom: 0;\\\\n}\\\\n\\\\na {\\\\n color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n color: #639;\\\\n }\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.postcss.css\\"],\\"names\\":[],\\"mappings\\":\\"AAKA;EACE,gBAAgB;EAChB,mCAAsB;EACtB,yCAA4C;AAC9C;;AAEA;EACE,kBAAqB;EAArB,gBAAqB;EAArB,qBAAqB;AACvB;;AAEA;EACE;IACE,6BAAuB;IAAvB,uBAAuB;IACvB,iGAAsB;IACtB,eAA0B;IAA1B,0BAA0B;IAC1B,6BAAwC;IAAxC,wCAAwC;IACxC,qBAAyB;IACzB,kCAA+C;IAA/C,mCAA+C;IAA/C,6CAA+C;IAA/C,8CAA+C;EACjD;AACF;;AAEA;EACE,aAAe;EAAf,gBAAe;AACjB;;AAEA;EACE;AAKF;;AAHA;GACG,WAAoB;CACtB\\",\\"file\\":\\"basic.postcss.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.postcss.css\\\\\\";\\\\n\\\\n@custom-media --viewport-medium (width <= 50rem);\\\\n@custom-selector :--heading h1, h2, h3, h4, h5, h6;\\\\n\\\\n:root {\\\\n --fontSize: 1rem;\\\\n --mainColor: #12345678;\\\\n --secondaryColor: lab(32.5 38.5 -47.6 / 90%);\\\\n}\\\\n\\\\nhtml {\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (--viewport-medium) {\\\\n body {\\\\n color: var(--mainColor);\\\\n font-family: system-ui;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n overflow-wrap: break-word;\\\\n padding-inline: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\n:--heading {\\\\n margin-block: 0;\\\\n}\\\\n\\\\na {\\\\n color: rgb(0 0 100% / 90%);\\\\n\\\\n&:hover {\\\\n color: rebeccapurple;\\\\n }\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":root {\\\\n --fontSize: 1rem;\\\\n --mainColor: rgba(18,52,86,0.47059);\\\\n --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n overflow-x: hidden;\\\\n overflow-y: auto;\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n body {\\\\n color: rgba(18,52,86,0.47059);\\\\n color: var(--mainColor);\\\\n font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n font-size: 1rem;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(1rem * 1.5);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n word-wrap: break-word;\\\\n padding-left: calc(1rem / 2 + 1px);\\\\n padding-right: calc(1rem / 2 + 1px);\\\\n padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n margin-top: 0;\\\\n margin-bottom: 0;\\\\n}\\\\n\\\\na {\\\\n color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n color: #639;\\\\n }\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/basic.postcss.css\\"],\\"names\\":[],\\"mappings\\":\\"AAKA;EACE,gBAAgB;EAChB,mCAAsB;EACtB,yCAA4C;AAC9C;;AAEA;EACE,kBAAqB;EAArB,gBAAqB;EAArB,qBAAqB;AACvB;;AAEA;EACE;IACE,6BAAuB;IAAvB,uBAAuB;IACvB,iGAAsB;IACtB,eAA0B;IAA1B,0BAA0B;IAC1B,6BAAwC;IAAxC,wCAAwC;IACxC,qBAAyB;IACzB,kCAA+C;IAA/C,mCAA+C;IAA/C,6CAA+C;IAA/C,8CAA+C;EACjD;AACF;;AAEA;EACE,aAAe;EAAf,gBAAe;AACjB;;AAEA;EACE;AAKF;;AAHA;GACG,WAAoB;CACtB\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.postcss.css\\\\\\";\\\\n\\\\n@custom-media --viewport-medium (width <= 50rem);\\\\n@custom-selector :--heading h1, h2, h3, h4, h5, h6;\\\\n\\\\n:root {\\\\n --fontSize: 1rem;\\\\n --mainColor: #12345678;\\\\n --secondaryColor: lab(32.5 38.5 -47.6 / 90%);\\\\n}\\\\n\\\\nhtml {\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (--viewport-medium) {\\\\n body {\\\\n color: var(--mainColor);\\\\n font-family: system-ui;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n overflow-wrap: break-word;\\\\n padding-inline: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\n:--heading {\\\\n margin-block: 0;\\\\n}\\\\n\\\\na {\\\\n color: rgb(0 0 100% / 90%);\\\\n\\\\n&:hover {\\\\n color: rebeccapurple;\\\\n }\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
// Exports
export default ___CSS_LOADER_EXPORT___;
"
`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid from an other loader (\`postcss-loader\`): result 1`] = `
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("postcss-loader"): result 1`] = `
Array [
Array [
"../../src/index.js?[ident]!./source-map/nested/nested.postcss.css",
@@ -645,11 +564,11 @@ Array [
",
"",
Object {
- "file": "nested.postcss.css",
"mappings": "AAAA;EACE,WAAW;AACb",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "nested.postcss.css",
+ "webpack://source-map/nested/nested.postcss.css",
],
"sourcesContent": Array [
".nested {
@@ -706,11 +625,11 @@ a:hover {
",
"",
Object {
- "file": "basic.postcss.css",
"mappings": "AAKA;EACE,gBAAgB;EAChB,mCAAsB;EACtB,yCAA4C;AAC9C;;AAEA;EACE,kBAAqB;EAArB,gBAAqB;EAArB,qBAAqB;AACvB;;AAEA;EACE;IACE,6BAAuB;IAAvB,uBAAuB;IACvB,iGAAsB;IACtB,eAA0B;IAA1B,0BAA0B;IAC1B,6BAAwC;IAAxC,wCAAwC;IACxC,qBAAyB;IACzB,kCAA+C;IAA/C,mCAA+C;IAA/C,6CAA+C;IAA/C,8CAA+C;EACjD;AACF;;AAEA;EACE,aAAe;EAAf,gBAAe;AACjB;;AAEA;EACE;AAKF;;AAHA;GACG,WAAoB;CACtB",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "basic.postcss.css",
+ "webpack://source-map/basic.postcss.css",
],
"sourcesContent": Array [
"@import \\"./nested/nested.postcss.css\\";
@@ -758,7 +677,196 @@ a {
]
`;
-exports[`"sourceMap" option true should generate source maps when source maps is valid from an other loader (\`postcss-loader\`): warnings 1`] = `Array []`;
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("postcss-loader"): warnings 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("stylus-loader"): errors 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("stylus-loader"): module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"body {\\\\n font: 14px/1.5 Helvetica, arial, sans-serif;\\\\n}\\\\nbody #logo {\\\\n border-radius: 5px;\\\\n}\\\\n/*# sourceMappingURL=test/fixtures/source-map/base.css.map */\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/base.styl\\"],\\"names\\":[],\\"mappings\\":\\"AAAA;EACE,2CAAwB;AAC1B;AAAE;EACE,kBAAe;AAEnB;AACA,4DAA4D\\",\\"sourcesContent\\":[\\"body {\\\\n font: 14px/1.5 Helvetica, arial, sans-serif;\\\\n #logo {\\\\n border-radius: 5px;\\\\n }\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("stylus-loader"): result 1`] = `
+Array [
+ Array [
+ "./source-map/base.styl",
+ "body {
+ font: 14px/1.5 Helvetica, arial, sans-serif;
+}
+body #logo {
+ border-radius: 5px;
+}
+/*# sourceMappingURL=test/fixtures/source-map/base.css.map */",
+ "",
+ Object {
+ "mappings": "AAAA;EACE,2CAAwB;AAC1B;AAAE;EACE,kBAAe;AAEnB;AACA,4DAA4D",
+ "names": Array [],
+ "sourceRoot": "",
+ "sources": Array [
+ "webpack://source-map/base.styl",
+ ],
+ "sourcesContent": Array [
+ "body {
+ font: 14px/1.5 Helvetica, arial, sans-serif;
+ #logo {
+ border-radius: 5px;
+ }
+}
+",
+ ],
+ "version": 3,
+ },
+ ],
+]
+`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps ("stylus-loader"): warnings 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps with "sourceRoot": errors 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps with "sourceRoot": module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps with "sourceRoot": result 1`] = `
+Array [
+ Array [
+ "../../src/index.js?[ident]!./source-map/nested/nested.css",
+ ".nested {
+ color: blue;
+}
+",
+ "",
+ Object {
+ "mappings": "AAAA;EACE,WAAW;AACb",
+ "names": Array [],
+ "sourceRoot": "",
+ "sources": Array [
+ "webpack://source-map/nested/nested.css",
+ ],
+ "sourcesContent": Array [
+ ".nested {
+ color: blue;
+}
+",
+ ],
+ "version": 3,
+ },
+ ],
+ Array [
+ "./source-map/basic.css",
+ ".class {
+ color: red;
+}
+",
+ "",
+ Object {
+ "mappings": "AAEA;EACE,UAAU;AACZ",
+ "names": Array [],
+ "sourceRoot": "",
+ "sources": Array [
+ "webpack://source-map/basic.css",
+ ],
+ "sourcesContent": Array [
+ "@import \\"./nested/nested.css\\";
+
+.class {
+ color: red;
+}
+",
+ ],
+ "version": 3,
+ },
+ ],
+]
+`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps with "sourceRoot": warnings 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps without "sourceRoot": errors 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps without "sourceRoot": module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps without "sourceRoot": result 1`] = `
+Array [
+ Array [
+ "../../src/index.js?[ident]!./source-map/nested/nested.css",
+ ".nested {
+ color: blue;
+}
+",
+ "",
+ Object {
+ "mappings": "AAAA;EACE,WAAW;AACb",
+ "names": Array [],
+ "sourceRoot": "",
+ "sources": Array [
+ "webpack://source-map/nested/nested.css",
+ ],
+ "sourcesContent": Array [
+ ".nested {
+ color: blue;
+}
+",
+ ],
+ "version": 3,
+ },
+ ],
+ Array [
+ "./source-map/basic.css",
+ ".class {
+ color: red;
+}
+",
+ "",
+ Object {
+ "mappings": "AAEA;EACE,UAAU;AACZ",
+ "names": Array [],
+ "sourceRoot": "",
+ "sources": Array [
+ "webpack://source-map/basic.css",
+ ],
+ "sourcesContent": Array [
+ "@import \\"./nested/nested.css\\";
+
+.class {
+ color: red;
+}
+",
+ ],
+ "version": 3,
+ },
+ ],
+]
+`;
+
+exports[`"sourceMap" option true should generate source maps when previous loader generates source maps without "sourceRoot": warnings 1`] = `Array []`;
exports[`"sourceMap" option true should generate source maps: errors 1`] = `Array []`;
@@ -769,7 +877,7 @@ import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
// Module
-___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"webpack://source-map/basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n color: red;\\\\n}\\\\n\\"],\\"sourceRoot\\":\\"\\"}]);
// Exports
export default ___CSS_LOADER_EXPORT___;
"
@@ -785,11 +893,11 @@ Array [
",
"",
Object {
- "file": "nested.css",
"mappings": "AAAA;EACE,WAAW;AACb",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "nested.css",
+ "webpack://source-map/nested/nested.css",
],
"sourcesContent": Array [
".nested {
@@ -808,11 +916,11 @@ Array [
",
"",
Object {
- "file": "basic.css",
"mappings": "AAEA;EACE,UAAU;AACZ",
"names": Array [],
+ "sourceRoot": "",
"sources": Array [
- "basic.css",
+ "webpack://source-map/basic.css",
],
"sourcesContent": Array [
"@import \\"./nested/nested.css\\";
diff --git a/test/fixtures/source-map/base.less b/test/fixtures/source-map/base.less
new file mode 100644
index 00000000..e8b6fd83
--- /dev/null
+++ b/test/fixtures/source-map/base.less
@@ -0,0 +1,7 @@
+@font-stack: Helvetica, sans-serif;
+@primary-color: #333;
+
+body {
+ font: 100% @font-stack;
+ color: @primary-color;
+}
diff --git a/test/fixtures/source-map/base.styl b/test/fixtures/source-map/base.styl
new file mode 100644
index 00000000..a7379c56
--- /dev/null
+++ b/test/fixtures/source-map/base.styl
@@ -0,0 +1,6 @@
+body {
+ font: 14px/1.5 Helvetica, arial, sans-serif;
+ #logo {
+ border-radius: 5px;
+ }
+}
diff --git a/test/fixtures/source-map/basic-less.js b/test/fixtures/source-map/basic-less.js
new file mode 100644
index 00000000..6941e2d6
--- /dev/null
+++ b/test/fixtures/source-map/basic-less.js
@@ -0,0 +1,5 @@
+import css from './base.less';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/source-map/basic-styl.js b/test/fixtures/source-map/basic-styl.js
new file mode 100644
index 00000000..76d2785e
--- /dev/null
+++ b/test/fixtures/source-map/basic-styl.js
@@ -0,0 +1,5 @@
+import css from './base.styl';
+
+__export__ = css;
+
+export default css;
diff --git a/test/helpers/execute.js b/test/helpers/execute.js
index 866001ae..8ae07d81 100644
--- a/test/helpers/execute.js
+++ b/test/helpers/execute.js
@@ -14,7 +14,7 @@ export default (code) => {
// eslint-disable-next-line no-underscore-dangle
module._compile(
- `let __export__;${code};module.exports = __export__;`,
+ `let __export__;${code};\nmodule.exports = __export__;`,
resource
);
diff --git a/test/sourceMap-option.test.js b/test/sourceMap-option.test.js
index e047d27a..247ff514 100644
--- a/test/sourceMap-option.test.js
+++ b/test/sourceMap-option.test.js
@@ -1,6 +1,8 @@
import path from 'path';
+import webpack from 'webpack';
import postcssPresetEnv from 'postcss-preset-env';
+import MiniCssExtractPlugin from 'mini-css-extract-plugin';
import {
compile,
@@ -9,6 +11,7 @@ import {
getExecutedCode,
getModuleSource,
getWarnings,
+ readAsset,
} from './helpers/index';
jest.setTimeout(10000);
@@ -63,7 +66,7 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should generate source maps when source maps equal to "null" from an other loader', async () => {
+ it('should generate source maps when previous loader does not generate source maps', async () => {
const compiler = getCompiler(
'./source-map/basic.js',
{},
@@ -104,7 +107,14 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should generate source maps when source maps equal to "undefined" from an other loader', async () => {
+ it('should generate source maps when previous loader generates source maps without "sourceRoot"', async () => {
+ const absolutePath = path.resolve(
+ __dirname,
+ 'fixtures',
+ 'source-map',
+ 'basic.css'
+ );
+
const compiler = getCompiler(
'./source-map/basic.js',
{},
@@ -124,8 +134,16 @@ describe('"sourceMap" option', () => {
'./fixtures/source-map-loader.js'
),
options: {
- // eslint-disable-next-line no-undefined
- sourceMap: undefined,
+ sourceMap: JSON.stringify({
+ version: 3,
+ sources: [absolutePath],
+ names: [],
+ mappings: 'AAAA,6BAA6B;;AAE7B;EACE,UAAU;AACZ',
+ file: absolutePath,
+ sourcesContent: [
+ '@import "./nested/nested.css";\n\n.class {\n color: red;\n}\n',
+ ],
+ }),
},
},
],
@@ -146,7 +164,18 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should generate source maps when source maps is valid and string from an other loader', async () => {
+ it('should generate source maps when previous loader generates different source in source maps', async () => {
+ const absoluteSourceRoot = path.resolve(
+ __dirname,
+ 'fixtures',
+ 'source-map'
+ );
+ const absolutePath = path.resolve(absoluteSourceRoot, 'basic-1.css');
+ const relativePath = path.relative(
+ absoluteSourceRoot,
+ path.resolve(__dirname, 'fixtures', 'source-map', 'basic-2.css')
+ );
+
const compiler = getCompiler(
'./source-map/basic.js',
{},
@@ -167,13 +196,30 @@ describe('"sourceMap" option', () => {
),
options: {
sourceMap: JSON.stringify({
- foo: 'bar',
version: 3,
- sources: ['basic.css'],
+ sourceRoot: absoluteSourceRoot,
+ sources: [
+ // Absolute path
+ absolutePath,
+ // Relative path
+ relativePath,
+ // Absolute URL
+ 'https://example.com/foo.css',
+ // Scheme-relative URL,
+ '//example.com/foo.css',
+ // Non-standard postcss syntax
+ ` {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should generate source maps when source maps is valid and is set sourceRoot', async () => {
+ it('should generate source maps when previous loader generates source maps with "sourceRoot"', async () => {
+ const absoluteSourceRoot = path.resolve(
+ __dirname,
+ 'fixtures',
+ 'source-map'
+ );
const compiler = getCompiler(
'./source-map/basic.js',
{},
@@ -219,11 +270,13 @@ describe('"sourceMap" option', () => {
foo: 'bar',
version: 3,
sources: ['basic.css'],
- sourceRoot: '/fixtures/source-map',
+ sourceRoot: absoluteSourceRoot,
names: [],
- mappings: 'AAAA;EACE,UAAU;AACZ',
+ mappings: 'AAAA,6BAA6B;;AAE7B;EACE,UAAU;AACZ',
file: 'basic.css',
- sourcesContent: ['.class {\n color: red;\n}\n'],
+ sourcesContent: [
+ '@import "./nested/nested.css";\n\n.class {\n color: red;\n}\n',
+ ],
}),
},
},
@@ -245,7 +298,7 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should generate source maps when source maps is valid from an other loader (`postcss-loader`)', async () => {
+ it('should generate source maps when previous loader generates source maps ("postcss-loader")', async () => {
const compiler = getCompiler(
'./source-map/basic-postcss.js',
{},
@@ -286,56 +339,39 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- // TODO uncomment when `sass-loader` will always right source maps
- // it('should generate source maps when source maps is valid from an other loader (`sass-loader`)', async () => {
- // const compiler = getCompiler(
- // './source-map/basic-scss.js',
- // {},
- // {
- // module: {
- // rules: [
- // {
- // test: /\.s[ca]ss$/i,
- // use: [
- // {
- // loader: path.resolve(__dirname, '../src'),
- // options: {
- // sourceMap: true,
- // },
- // },
- // {
- // loader: 'sass-loader',
- // options: {
- // // eslint-disable-next-line global-require
- // implementation: require('sass'),
- // sourceMap: true,
- // },
- // },
- // ],
- // },
- // ],
- // },
- // }
- // );
- // const stats = await compile(compiler);
- //
- // expect(getModuleSource('./source-map/basic.scss', stats)).toMatchSnapshot('module');
- // expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
- // 'result'
- // );
- // expect(getWarnings(stats)).toMatchSnapshot('warnings');
- // expect(getErrors(stats)).toMatchSnapshot('errors');
- // });
- });
-
- describe('false', () => {
- it('should not generate source maps', async () => {
- const compiler = getCompiler('./source-map/basic.js', {
- sourceMap: false,
- });
+ it.skip('should generate source maps when previous loader generates source maps ("sass-loader")', async () => {
+ const compiler = getCompiler(
+ './source-map/basic-scss.js',
+ {},
+ {
+ module: {
+ rules: [
+ {
+ test: /\.s[ca]ss$/i,
+ use: [
+ {
+ loader: path.resolve(__dirname, '../src'),
+ options: {
+ sourceMap: true,
+ },
+ },
+ {
+ loader: 'sass-loader',
+ options: {
+ // eslint-disable-next-line global-require
+ implementation: require('sass'),
+ sourceMap: true,
+ },
+ },
+ ],
+ },
+ ],
+ },
+ }
+ );
const stats = await compile(compiler);
- expect(getModuleSource('./source-map/basic.css', stats)).toMatchSnapshot(
+ expect(getModuleSource('./source-map/basic.scss', stats)).toMatchSnapshot(
'module'
);
expect(
@@ -345,27 +381,26 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should not generate source maps when source maps equal to "null" from an other loader', async () => {
+ it('should generate source maps when previous loader generates source maps ("less-loader")', async () => {
const compiler = getCompiler(
- './source-map/basic.js',
+ './source-map/basic-less.js',
{},
{
module: {
rules: [
{
- test: /\.css$/i,
+ test: /\.less$/i,
use: [
{
loader: path.resolve(__dirname, '../src'),
- options: { sourceMap: false },
+ options: {
+ sourceMap: true,
+ },
},
{
- loader: path.resolve(
- __dirname,
- './fixtures/source-map-loader.js'
- ),
+ loader: 'less-loader',
options: {
- sourceMap: null,
+ sourceMap: true,
},
},
],
@@ -376,7 +411,7 @@ describe('"sourceMap" option', () => {
);
const stats = await compile(compiler);
- expect(getModuleSource('./source-map/basic.css', stats)).toMatchSnapshot(
+ expect(getModuleSource('./source-map/base.less', stats)).toMatchSnapshot(
'module'
);
expect(
@@ -386,28 +421,26 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should not generate source maps when source maps equal to "undefined" from an other loader', async () => {
+ it('should generate source maps when previous loader generates source maps ("stylus-loader")', async () => {
const compiler = getCompiler(
- './source-map/basic.js',
+ './source-map/basic-styl.js',
{},
{
module: {
rules: [
{
- test: /\.css$/i,
+ test: /\.styl$/i,
use: [
{
loader: path.resolve(__dirname, '../src'),
- options: { sourceMap: false },
+ options: {
+ sourceMap: true,
+ },
},
{
- loader: path.resolve(
- __dirname,
- './fixtures/source-map-loader.js'
- ),
+ loader: 'stylus-loader',
options: {
- // eslint-disable-next-line no-undefined
- sourceMap: undefined,
+ sourceMap: true,
},
},
],
@@ -418,7 +451,7 @@ describe('"sourceMap" option', () => {
);
const stats = await compile(compiler);
- expect(getModuleSource('./source-map/basic.css', stats)).toMatchSnapshot(
+ expect(getModuleSource('./source-map/base.styl', stats)).toMatchSnapshot(
'module'
);
expect(
@@ -428,36 +461,85 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should not generate source maps when source maps is valid and string from an other loader', async () => {
+ it('should generate source maps and do not change "[contenthash]" on different platform', async () => {
const compiler = getCompiler(
'./source-map/basic.js',
{},
{
+ devtool: 'source-map',
+ // webpack@4 has bug
+ // It uses readableIdentifier to generate the sources, which uses the RequestShortener,
+ // which has some problems with paths that are 2 folders above the context
+ context: path.resolve(__dirname, '..'),
+ output: {
+ path: path.resolve(__dirname, './outputs'),
+ filename: '[name].[contenthash].bundle.js',
+ chunkFilename: '[name].[contenthash].chunk.js',
+ publicPath: '/webpack/public/path/',
+ },
module: {
rules: [
{
test: /\.css$/i,
- use: [
+ rules: [
{
loader: path.resolve(__dirname, '../src'),
- options: { sourceMap: false },
+ options: { sourceMap: true },
},
+ ],
+ },
+ ],
+ },
+ }
+ );
+ const stats = await compile(compiler);
+ const chunkName = Object.keys(
+ stats.compilation.assets
+ ).find((assetName) => /\.js$/.test(assetName));
+
+ expect(chunkName).toBe(
+ webpack.version[0] === '5'
+ ? 'main.f8a941345941e8190135.bundle.js'
+ : 'main.bad4e3fa71e9f3e4c073.bundle.js'
+ );
+ expect(
+ getModuleSource('fixtures/source-map/basic.css', stats)
+ ).toMatchSnapshot('module');
+ expect(getExecutedCode(chunkName, compiler, stats)).toMatchSnapshot(
+ 'result'
+ );
+ expect(getWarnings(stats)).toMatchSnapshot('warnings');
+ expect(getErrors(stats)).toMatchSnapshot('errors');
+ });
+
+ it('should generate source maps when css was extracted', async () => {
+ const compiler = getCompiler(
+ './source-map/basic.js',
+ {},
+ {
+ devtool: 'source-map',
+ output: {
+ path: path.resolve(__dirname, '../outputs'),
+ filename: '[name].bundle.js',
+ chunkFilename: '[name].chunk.js',
+ publicPath: '/webpack/public/path/',
+ },
+ plugins: [
+ new MiniCssExtractPlugin({
+ filename: '[name].css',
+ }),
+ ],
+ module: {
+ rules: [
+ {
+ test: /\.css$/i,
+ rules: [
{
- loader: path.resolve(
- __dirname,
- './fixtures/source-map-loader.js'
- ),
- options: {
- sourceMap: JSON.stringify({
- foo: 'bar',
- version: 3,
- sources: ['basic.css'],
- names: [],
- mappings: 'AAAA;EACE,UAAU;AACZ',
- file: 'basic.css',
- sourcesContent: ['.class {\n color: red;\n}\n'],
- }),
- },
+ loader: MiniCssExtractPlugin.loader,
+ },
+ {
+ loader: path.resolve(__dirname, '../src'),
+ options: { sourceMap: true },
},
],
},
@@ -467,6 +549,99 @@ describe('"sourceMap" option', () => {
);
const stats = await compile(compiler);
+ expect(readAsset('main.css', compiler, stats)).toMatchSnapshot(
+ 'extracted css'
+ );
+ expect(
+ JSON.parse(readAsset('main.css.map', compiler, stats))
+ ).toMatchSnapshot('source map');
+ expect(getWarnings(stats)).toMatchSnapshot('warnings');
+ expect(getErrors(stats)).toMatchSnapshot('errors');
+ });
+
+ it('should generate source maps when css was extracted and do not change "[contenthash]" on different platform', async () => {
+ const compiler = getCompiler(
+ './source-map/basic.js',
+ {},
+ {
+ devtool: 'source-map',
+ // webpack@4 has bug
+ // It uses readableIdentifier to generate the sources, which uses the RequestShortener,
+ // which has some problems with paths that are 2 folders above the context
+ context: path.resolve(__dirname, '..'),
+ output: {
+ path: path.resolve(__dirname, '../outputs'),
+ filename: '[name].bundle.js',
+ chunkFilename: '[name].chunk.js',
+ publicPath: '/webpack/public/path/',
+ },
+ plugins: [
+ new MiniCssExtractPlugin({
+ filename: '[name].[contenthash].css',
+ }),
+ ],
+ module: {
+ rules: [
+ {
+ test: /\.css$/i,
+ rules: [
+ {
+ loader: MiniCssExtractPlugin.loader,
+ },
+ {
+ loader: path.resolve(__dirname, '../src'),
+ options: { sourceMap: true },
+ },
+ ],
+ },
+ ],
+ },
+ }
+ );
+ const stats = await compile(compiler);
+ const chunkName = Object.keys(
+ stats.compilation.assets
+ ).find((assetName) => /\.css$/.test(assetName));
+
+ const extractedCSS = readAsset(chunkName, compiler, stats);
+
+ expect(chunkName).toBe(
+ // TODO still buggy on webpack@4
+ webpack.version[0] === '5' ? 'main.208dafd9be3442f7a927.css' : chunkName
+ );
+
+ expect(
+ extractedCSS.replace(
+ /=(.+?)\..+?\.css\.map/,
+ '=$1.xxxxxxxxxxxxxxxxxxxx.css.map'
+ )
+ ).toMatchSnapshot('extracted css');
+
+ const sourceMap = JSON.parse(
+ readAsset(`${chunkName}.map`, compiler, stats)
+ );
+
+ sourceMap.file = sourceMap.file.replace(
+ /^(.+?)\..+?\.css$/,
+ '$1.xxxxxxxxxxxxxxxxxxxx.css'
+ );
+ sourceMap.sources = sourceMap.sources.map((source) =>
+ source.replace('css-loader', '')
+ );
+
+ expect(sourceMap).toMatchSnapshot('source map');
+ expect(getWarnings(stats)).toMatchSnapshot('warnings');
+ expect(getErrors(stats)).toMatchSnapshot('errors');
+ });
+ });
+
+ describe('false', () => {
+ it('should not generate source maps', async () => {
+ const compiler = getCompiler('./source-map/basic.js', {
+ sourceMap: false,
+ });
+ const stats = await compile(compiler);
+
expect(getModuleSource('./source-map/basic.css', stats)).toMatchSnapshot(
'module'
);
@@ -477,9 +652,9 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should not generate source maps when source maps is valid from an other loader (`postcss-loader`)', async () => {
+ it('should not generate source maps when previous loader does not generate source maps', async () => {
const compiler = getCompiler(
- './source-map/basic-postcss.js',
+ './source-map/basic.js',
{},
{
module: {
@@ -489,14 +664,16 @@ describe('"sourceMap" option', () => {
use: [
{
loader: path.resolve(__dirname, '../src'),
- options: {
- sourceMap: false,
- },
+ options: { sourceMap: false },
},
{
- loader: 'postcss-loader',
+ loader: path.resolve(
+ __dirname,
+ './fixtures/source-map-loader.js'
+ ),
options: {
- plugins: () => [postcssPresetEnv({ stage: 0 })],
+ // eslint-disable-next-line no-undefined
+ sourceMap: undefined,
},
},
],
@@ -507,9 +684,9 @@ describe('"sourceMap" option', () => {
);
const stats = await compile(compiler);
- expect(
- getModuleSource('./source-map/basic.postcss.css', stats)
- ).toMatchSnapshot('module');
+ expect(getModuleSource('./source-map/basic.css', stats)).toMatchSnapshot(
+ 'module'
+ );
expect(
getExecutedCode('main.bundle.js', compiler, stats)
).toMatchSnapshot('result');
@@ -517,28 +694,35 @@ describe('"sourceMap" option', () => {
expect(getErrors(stats)).toMatchSnapshot('errors');
});
- it('should not generate source maps when source maps is valid from an other loader (`sass-loader`)', async () => {
+ it('should not generate source maps when previous loader generates source maps', async () => {
const compiler = getCompiler(
- './source-map/basic-scss.js',
+ './source-map/basic.js',
{},
{
module: {
rules: [
{
- test: /\.s[ca]ss$/i,
+ test: /\.css$/i,
use: [
{
loader: path.resolve(__dirname, '../src'),
- options: {
- sourceMap: false,
- },
+ options: { sourceMap: false },
},
{
- loader: 'sass-loader',
+ loader: path.resolve(
+ __dirname,
+ './fixtures/source-map-loader.js'
+ ),
options: {
- // eslint-disable-next-line global-require
- implementation: require('sass'),
- sourceMap: true,
+ sourceMap: JSON.stringify({
+ foo: 'bar',
+ version: 3,
+ sources: ['basic.css'],
+ names: [],
+ mappings: 'AAAA;EACE,UAAU;AACZ',
+ file: 'basic.css',
+ sourcesContent: ['.class {\n color: red;\n}\n'],
+ }),
},
},
],
@@ -549,7 +733,7 @@ describe('"sourceMap" option', () => {
);
const stats = await compile(compiler);
- expect(getModuleSource('./source-map/basic.scss', stats)).toMatchSnapshot(
+ expect(getModuleSource('./source-map/basic.css', stats)).toMatchSnapshot(
'module'
);
expect(