@microsoft/webpack-stats-differ
v1.3.5
Published
A library for generating a diff object between two sets of webpack bundle stat files.
Downloads
57
Keywords
Readme
webpack-stats-differ
A library for generating a diff object between two sets of webpack bundle stat files.
Installation
Using npm:
npm install @microsoft/webpack-stats-differ
Using Yarn:
yarn add @microsoft/webpack-stats-differ
Usage
import { diff, getFriendlyAssetName } from "@microsoft/webpack-stats-differ";
import * as path from "path";
import * as fs from "fs";
const baselineDir = path.resolve('/baseline');
const candidateDir = path.resolve('/candidate');
// Read the contents of your webpack-generated JSON file containing statistics about the compiled modules
const webPackStatsFile = fs.readFileSync('bundle-stats.json');
const diffResult = await diff(baselineDirUnzipped,candidateDir);
const name = getFriendlyAssetName(webPackStatsFile.asset);
API
diff() function
Calculates the diff between two sets of bundle stats.
Parameters
| Parameter | Type | Description | | --- | --- | --- | | baselineDir | string | Directory containing webpack stat files of the baseline | | candidateDir | string | Directory containing webpack stat files of the candidate | | fileFilter | string | string[] | Optionally pass filter to omit certain files using globby syntax | | filter | string | string[] | Filter out certain assets for the bundle size calculation | | remoteArtifactManifests | { baseline: string | RemoteArtifact[]; candidate: string | RemoteArtifact[]; hostUrl: string; } | Either a path on disk to the serialized JSON manifest or the RemoteArtifact list manifest object itself |
Returns:
Promise<FileDiffResults>
The diff object.
getFriendlyAssetName() function
Returns a readable name of the asset.
Parameters
| Parameter | Type | Description | | --- | --- | --- | | asset | Pick<Asset, "name" | "chunkNames" | "chunks"> | webpack stats asset |
Returns:
string
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
License
MIT