# haast

> Collect web pages meaningful performance metrics.

Latest version **0.1.0** (published 2018-09-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install haast
pnpm add haast
yarn add haast
bun add haast
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2018-09-17 |
| First published | 2018-09-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 12.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Nicolas Gryman |
| Maintainers | ngryman |
| Keywords | performance, metrics, chrome, devtools, trace, lighthouse, puppeteer, cli |

## Links

- npm: https://www.npmjs.com/package/haast
- Repository: https://github.com/speedracer/haast
- npm.io page: https://npm.io/package/haast

## Dependencies (2)

- [puppeteer](https://npm.io/package/puppeteer.md) ^1.8.0
- [speedmetrics](https://npm.io/package/speedmetrics.md) ^0.1.0

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 0.1.0 (latest) — 2018-09-17

## README

# ![Haast](https://raw.githubusercontent.com/ngryman/artworks/master/haast/heading/haast%402x.png)

[![travis][travis-image]][travis-url] [![codecov][codecov-image]][codecov-url]

[travis-image]: https://img.shields.io/travis/speedracer/haast.svg?style=flat
[travis-url]: https://travis-ci.org/speedracer/haast
[codecov-image]: https://img.shields.io/codecov/c/github/speedracer/haast.svg
[codecov-url]: https://codecov.io/github/speedracer/haast

Collect web pages meaningful performance metrics.

## Quickstart

### Installation

```sh
npm install haast
```

### Usage

```js
import haast from 'haast'

const metrics = await haast('https://google.com')
console.log(metrics)
```
```js
{
  timings: {
    navigationStart: 0,
    domContentLoaded: 200,
    firstPaint: 400,
    firstContentfulPaint: 400,
    firstMeaningfulPaint: 600,
    load: 1000
  }
  events: {
    /* ... */
  }
}
```

## API

### haast(url)

Loads the given URL and returns a promise resolving to collected metrics.

```js
const metrics = await haast('https://google.com')
```

### metrics(callback)

Accepts a callback that handles navigation and returns a promise when it's done.
The `page` argument is a [Puppeteer page](https://pptr.dev/#?product=Puppeteer&version=v1.8.0&show=api-class-page) instance.

```js
const metrics = await haast(page => {
  await page.goto('http://www.nooooooooooooooo.com')
  await page.click('#no-button')
})
```

---
_Source: https://npm.io/package/haast · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
