1.3.2 • Published 24 days ago

@microsoft/webpack-stats-differ v1.3.2

Weekly downloads
-
License
MIT
Repository
github
Last release
24 days ago

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

ParameterTypeDescription
baselineDirstringDirectory containing webpack stat files of the baseline
candidateDirstringDirectory containing webpack stat files of the candidate
fileFilterstring | string[]Optionally pass filter to omit certain files using globby syntax
filterstring | 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

ParameterTypeDescription
assetPick<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 opencode@microsoft.com with any additional questions or comments.

License

MIT