File "webpack-dependency-extraction.js"
Full Path: /home/rattkxnv/byattorney.com/wp-content/plugins/generateblocks/config/webpack-dependency-extraction.js
File size: 981 bytes
MIME-type: text/plain
Charset: utf-8
const WPDependencyExtractionWebpackPlugin = require( '@wordpress/dependency-extraction-webpack-plugin' );
class DependencyExtractionWebpackPlugin extends WPDependencyExtractionWebpackPlugin {
/**
* Extend the default stringify behavior to sort dependencies by name before returning them.
*
* @param {any} asset Asset Data
* @return {string} Stringified asset data suitable for output
*/
stringify( asset ) {
const prefix = 'generateblocks-';
const sortedDeps = asset.dependencies.sort( ( a, b ) => {
const aMatches = a.startsWith( prefix );
const bMatches = b.startsWith( prefix );
if ( aMatches && ! bMatches ) {
return 1;
}
if ( bMatches && ! aMatches ) {
return -1;
}
return a.localeCompare( b );
} );
const updatedAsset = { ...asset, dependencies: sortedDeps };
// Fallback to the original method with the updated asset.
return super.stringify( updatedAsset );
}
}
module.exports = DependencyExtractionWebpackPlugin;