preload-webpack-plugin
Advanced tools
Comparing version 3.0.0-beta.1 to 3.0.0-beta.2
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _getIterator2 = _interopRequireDefault(require("@babel/runtime/core-js/get-iterator")); | ||
var _set = _interopRequireDefault(require("@babel/runtime/core-js/set")); | ||
var _values = _interopRequireDefault(require("@babel/runtime/core-js/object/values")); | ||
var _keys = _interopRequireDefault(require("@babel/runtime/core-js/object/keys")); | ||
var _assign = _interopRequireDefault(require("@babel/runtime/core-js/object/assign")); | ||
/** | ||
@@ -47,7 +35,7 @@ * @license | ||
constructor(options) { | ||
this.options = (0, _assign.default)({}, defaultOptions, options); | ||
this.options = Object.assign({}, defaultOptions, options); | ||
} | ||
addLinks(webpackVersion, compilation, htmlPluginData) { | ||
assert(webpackVersion in doesChunkBelongToHTML, `An invalid webpackVersion was supplied. Supported values: ${(0, _keys.default)(doesChunkBelongToHTML)}.`); | ||
assert(webpackVersion in doesChunkBelongToHTML, `An invalid webpackVersion was supplied. Supported values: ${Object.keys(doesChunkBelongToHTML)}.`); | ||
const options = this.options; // Bail out early if we're configured to exclude this HTML file. | ||
@@ -68,3 +56,3 @@ | ||
compilation, | ||
htmlAssetsChunks: (0, _values.default)(htmlPluginData.assets.chunks) | ||
htmlAssetsChunks: Object.values(htmlPluginData.assets.chunks) | ||
})); // Flatten the list of files. | ||
@@ -75,3 +63,3 @@ | ||
}, []); | ||
const uniqueFiles = new _set.default(allFiles); | ||
const uniqueFiles = new Set(allFiles); | ||
const filteredFiles = [...uniqueFiles].filter(file => { | ||
@@ -91,3 +79,3 @@ return !this.options.fileWhitelist || this.options.fileWhitelist.some(regex => regex.test(file)); | ||
try { | ||
for (var _iterator = (0, _getIterator2.default)(sortedFilteredFiles), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
for (var _iterator = sortedFilteredFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
const file = _step.value; | ||
@@ -94,0 +82,0 @@ const href = `${publicPath}${file}`; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } | ||
var _stringify = _interopRequireDefault(require("@babel/runtime/core-js/json/stringify")); | ||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } | ||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); | ||
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
var _entries = _interopRequireDefault(require("@babel/runtime/core-js/object/entries")); | ||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
var _getIterator2 = _interopRequireDefault(require("@babel/runtime/core-js/get-iterator")); | ||
/** | ||
@@ -44,4 +42,4 @@ * @license | ||
try { | ||
for (var _iterator = (0, _getIterator2.default)((0, _entries.default)(attributes).sort()), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
const _step$value = (0, _slicedToArray2.default)(_step.value, 2), | ||
for (var _iterator = Object.entries(attributes).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
const _step$value = _slicedToArray(_step.value, 2), | ||
attributeName = _step$value[0], | ||
@@ -53,3 +51,3 @@ attributeValue = _step$value[1]; | ||
} else { | ||
attributeStrings.push(`${attributeName}=${(0, _stringify.default)(attributeValue)}`); | ||
attributeStrings.push(`${attributeName}=${JSON.stringify(attributeValue)}`); | ||
} | ||
@@ -56,0 +54,0 @@ } |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _from = _interopRequireDefault(require("@babel/runtime/core-js/array/from")); | ||
var _set = _interopRequireDefault(require("@babel/runtime/core-js/set")); | ||
var _values = _interopRequireDefault(require("@babel/runtime/core-js/object/values")); | ||
var _getIterator2 = _interopRequireDefault(require("@babel/runtime/core-js/get-iterator")); | ||
/** | ||
@@ -46,3 +36,3 @@ * @license | ||
try { | ||
for (var _iterator = (0, _getIterator2.default)(htmlAssetsChunks), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
for (var _iterator = htmlAssetsChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
const htmlAssetChunk = _step.value; | ||
@@ -74,3 +64,3 @@ | ||
try { | ||
for (var _iterator2 = (0, _getIterator2.default)(chunk.parents), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { | ||
for (var _iterator2 = chunk.parents[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { | ||
const parent = _step2.value; | ||
@@ -110,3 +100,3 @@ | ||
// Get all the hashes of the HTML assets. | ||
const rootHashes = (0, _values.default)(htmlAssetsChunks).map(({ | ||
const rootHashes = Object.values(htmlAssetsChunks).map(({ | ||
hash | ||
@@ -119,3 +109,3 @@ }) => hash); // Get a list of chunk groups that contain one of those hashes. | ||
const rootChunkGroupsIds = new _set.default(rootChunkGroups.map(({ | ||
const rootChunkGroupsIds = new Set(rootChunkGroups.map(({ | ||
id | ||
@@ -125,3 +115,3 @@ }) => id)); // Return true iff the chunk we're passed belongs to a group whose id is in | ||
return (0, _from.default)(chunk.groupsIterable).some(({ | ||
return Array.from(chunk.groupsIterable).some(({ | ||
id | ||
@@ -128,0 +118,0 @@ }) => rootChunkGroupsIds.has(id)); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _keys = _interopRequireDefault(require("@babel/runtime/core-js/object/keys")); | ||
/** | ||
@@ -61,3 +57,3 @@ * @license | ||
return [{ | ||
files: (0, _keys.default)(compilation.assets) | ||
files: Object.keys(compilation.assets) | ||
}]; | ||
@@ -64,0 +60,0 @@ } |
{ | ||
"name": "preload-webpack-plugin", | ||
"version": "3.0.0-beta.1", | ||
"version": "3.0.0-beta.2", | ||
"description": "A webpack plugin for injecting <link rel='preload|prefecth'> into HtmlWebpackPlugin pages, with async chunk support", | ||
@@ -40,10 +40,9 @@ "author": "Addy Osmani <addy.osmani@gmail.com> (https://github.com/addyosmani)", | ||
"devDependencies": { | ||
"@babel/cli": "^7.0.0-beta.49", | ||
"@babel/core": "^7.0.0-beta.49", | ||
"@babel/plugin-transform-runtime": "^7.0.0-beta.49", | ||
"@babel/preset-env": "^7.0.0-beta.49", | ||
"eslint": "^4.19.1", | ||
"@babel/cli": "^7.0.0-rc.1", | ||
"@babel/core": "^7.0.0-rc.1", | ||
"@babel/preset-env": "^7.0.0-rc.1", | ||
"eslint": "^5.3.0", | ||
"eslint-config-google": "^0.9.1", | ||
"jasmine": "^3.1.0", | ||
"jsdom": "^11.11.0", | ||
"jasmine": "^3.2.0", | ||
"jsdom": "^11.12.0", | ||
"memory-fs": "^0.4.1", | ||
@@ -58,5 +57,4 @@ "nyc": "^12.0.2", | ||
"dependencies": { | ||
"@babel/runtime": "^7.0.0-beta.49", | ||
"url-parse": "^1.4.1" | ||
"url-parse": "^1.4.3" | ||
} | ||
} |
@@ -177,4 +177,27 @@ # preload-webpack-plugin | ||
### Resource Hints | ||
## Filtering HTML | ||
You may not want to preload resources in some of your HTML files. You can use `excludeHtmlNames` to | ||
tell this plugin to ignore one or more files. | ||
```javascript | ||
plugins: [ | ||
new HtmlWebpackPlugin({ | ||
filename: 'index.html', | ||
template: 'src/index.html', | ||
chunks: ['main'] | ||
}), | ||
new HtmlWebpackPlugin({ | ||
filename: 'example.html', | ||
template: 'src/example.html', | ||
chunks: ['exampleEntry'] | ||
}), | ||
// Only apply the plugin to index.html, not example.html. | ||
new PreloadWebpackPlugin({ | ||
excludeHtmlNames: ['example.html'], | ||
}) | ||
``` | ||
### Resource hints | ||
Should you wish to use Resource Hints (such as `prefetch`) instead of `preload`, this plugin also supports wiring those up. | ||
@@ -181,0 +204,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3
10
295
41075
483
- Removed@babel/runtime@^7.0.0-beta.49
- Removed@babel/runtime@7.25.6(transitive)
- Removedregenerator-runtime@0.14.1(transitive)
Updatedurl-parse@^1.4.3