1.2.1 • Published 8 months ago

@codecov/bundle-analyzer v1.2.1

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

Codecov Bundle Analyzer

The bundle analyzer is an importable library and CLI for Codecov bundle analysis. It is designed for users who operate without a standard bundler that is otherwise supported by Codecov's bundler plugins.

!NOTE The plugin does not support code coverage, see our docs to set up coverage today!

Installation

Using npm:

npm install @codecov/bundle-analyzer --save-dev

Using yarn:

yarn add @codecov/bundle-analyzer --dev

Using pnpm:

pnpm add @codecov/bundle-analyzer --save-dev

Example - Custom Script

This example shows how the package can be imported as a library.

// analyze.js
const { createAndUploadReport } = require("@codecov/bundle-analyzer");

const buildDirs = ["/path/to/build"];

const coreOpts = {
  dryRun: true,
  uploadToken: "your-upload-token",
  retryCount: 3,
  apiUrl: "https://api.codecov.io",
  bundleName: "@codecov/example-bundle-analyzer-cjs",
  enableBundleAnalysis: true,
  debug: true,
};

const bundleAnalyzerOpts = {
  beforeReportUpload: async (original) => original,
  ignorePatterns: ["*.map"],
  normalizeAssetsPattern: "[name]-[hash].js",
};

createAndUploadReport(buildDirs, coreOpts, bundleAnalyzerOpts)
  .then((reportAsJson) =>
    console.log(`Report successfully generated and uploaded: ${reportAsJson}`),
  )
  .catch((error) =>
    console.error("Failed to generate or upload report:", error),
  );

Example - CLI

This example shows how the package can be used as a CLI.

npx @codecov/bundle-analyzer ./dist --bundle-name=my-identifier --upload-token=abcd --dry-run

OPTIONAL - A config file can be passed for any extended options matching those described here.

npx @codecov/bundle-analyzer ./dist --bundle-name=my-identifier --upload-token=abcd --dry-run --config-file=./config.json
// config.json
{
  "gitService": "github",
  "oidc": {
    "useGitHubOIDC": false
  }
}

Supported Platforms

The CLI tool supports the following operating systems:

  • macOS
  • Linux

More information

1.2.1

8 months ago

1.2.0

9 months ago

1.1.0

9 months ago