Files
cypress/tooling/packherd
Bill Glesias eed699eb6d chore: update lerna to 8.1.8 from 6.6.2 (#30436)
* fix sync script with updateds npm-packlist

* chore: update lerna from 6.6.2 to 8.1.8 and ran lerna repair

* chore: pin typescript to ~5.4.5 to avoid importsNotUsedAsValues that was removed in 5.5 and edit workflows and scripts to correctly scope learna packages on v8 snapshot tests [run ci]

* fix indentation in comments

* remove console.log reference to print current package directory in sync exported npm with cli script
2024-10-22 14:46:46 -04:00
..

@tooling/packherd

Herds all dependencies reachable from an entry and packs them.

Table of Contents

Summary

packherd has three main tasks:

  1. bundling application files and providing related metadata
  2. loading modules that have been bundled previously and are provided via fully instantiated module exports or definition functions that return a module export when invoked
  3. transpiling TypeScript modules on demand and maintaining a cache of them

1. is provided by this package. 2. and 3. are provided by @packages/packherd-require. While 1. and 2. are very related and work hand in hand, 3. is unrelated to them and was just added here since it is another feature that requires to intercept module loads.

Creating a Bundle with Packherd

Calling the packherd function and providing the desired packherd opts will return the Buffer of the bundle, a meta esbuild metafile, a Buffer containing the sourceMap if it was generated as well as any warnings that esbuild emitted.

The caller can then store this data or use it for further operations, i.e. to generate a snapshot as is the case for the v8-snapshot module.