1.13.0 • Published 22 days ago

@perfsee/esbuild v1.13.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
22 days ago

@perfsee/esbuild

Repo | Docs

Perfsee esbuild plugin used to collect bundle information and analyze.

Usage

const { PerfseePlugin } = require('@perfsee/esbuild')

// Do not use buildAsync
require('esbuild').build({
  // ...
  plugins: [PerfseePlugin(options)],
  // ...
})

options

interface Options {
  /**
   * Your project ID on Perfsee platform.
   *
   * **Required if you want ot upload the build to Perfsee platform for further analysis.**
   */
  project?: string

  /**
   * Give a uniq name for the bundled artifact.
   *
   * This option will be very useful when there are multiple builds in a single commit(in single CI progress)
   *
   * Because the comparison with historical builds is based on `Entrypoint`, and if multiple builds
   * emit same entrypoint names, we can't detect which entrypoint is the correct one to be compared.
   *
   * e.g. `build-1/main` and `build-2/main` are more confusing then `landing/main` and `customers/main`.
   *
   * @default 'main'
   */
  artifactName?: string

  /**
   * Enable analysis and audit right after bundle emitted.
   *
   * With this option being `true`, perfsee will output bundle analyzed result in-place in CI workflow,
   * or start a server which serves html report viewer in non-CI environment.
   *
   * It would slow down the progress if enabled.
   *
   * @environment `PERFSEE_AUDIT`
   *
   * @default false
   * @default true // "in CI environment"
   */
  enableAudit?: boolean

  /**
   * Used to customize project's own bundle auditing logic.
   *
   * Return `true` means this bundle should pass auditing, `false` to fail.
   *
   * Only used when `enableAudit` is true.
   *
   * @default (score) => score >= 80
   */
  shouldPassAudit?: (score: number, result: BundleResult) => Promise<boolean> | boolean

  /**
   * Fail the progress if bundle audit not pass and exit with non-zero code.
   *
   * set to `true` to fail the CI pipeline.
   *
   * @default false
   */
  failIfNotPass?: boolean

  /**
   * Authentication token used for uploading build to remote server.
   * will also read from env `PERFSEE_TOKEN` if not provided.
   *
   * @environment `PERFSEE_TOKEN`
   */
  token?: string

  /**
   * Options for output bundle report static html file.
   * Only used when `enableAudit` is true.
   */
  reportOptions?: {
    /**
     * Automatically open report in default browser.
     *
     * @default true
     */
    openBrowser?: boolean

    /**
     * Path to bundle report file that will be generated.
     * It can be either an absolute path or a path relative to a bundle output directory.
     *
     * By default the report will be output in the cache directory.
     */
    fileName?: string
  }

  /**
   * Used to modify the webpack stats file prcessed by perfsee plugin before uploading.
   *
   * Return undefined means skipping uploading.
   */
  processStats?: (stats: PerfseeReportStats) => undefined | PerfseeReportStats

  /**
   * Rules(audits) apply to this artifact
   *
   * Notice: Functions only works in local testing (when `enableAudit` is set to true).
   *
   * @default ['default']
   */
  rules?: (string | Audit)[]
}
1.13.0

22 days ago

1.12.2

4 months ago

1.10.0

5 months ago

1.8.4

10 months ago

1.8.2

12 months ago

1.8.1

12 months ago

1.6.0

1 year ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.0

1 year ago

1.1.1

1 year ago

1.1.0

2 years ago

1.0.0

2 years ago

1.0.0-alpha.4

2 years ago

1.0.0-alpha.3

2 years ago

1.0.0-alpha.2

2 years ago

1.0.0-alpha.1

2 years ago