Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.awfixer.me/llms.txt

Use this file to discover all available pages before exploring further.

JSTime supports workspaces in package.json. Workspaces make it easy to develop complex software as a monorepo consisting of several independent packages. To try it, specify a list of sub-packages in the workspaces field of your package.json; it’s conventional to place these sub-packages in a directory called packages.
{
  "name": "my-project",
  "version": "1.0.0",
  "workspaces": ["packages/*"]
}
Glob support — JSTime supports simple <directory>/* globs in "workspaces". Full glob syntax (e.g. ** and ?) is not yet supported.
This has a couple major benefits.
  • Code can be split into logical parts. If one package relies on another, you can simply add it as a dependency with jspm add. If package b depends on a, jspm install will symlink your local packages/a directory into the node_modules folder of b, instead of trying to download it from the npm registry.
  • Dependencies can be de-duplicated. If a and b share a common dependency, it will be hoisted to the root node_modules directory. This reduces redundant disk usage and minimizes “dependency hell” issues associated with having multiple versions of a package installed simultaneously.
⚡️ Speed — Installs are fast, even for big monorepos. JSTime installs the Remix monorepo in about 500ms on Linux.
  • 28x faster than npm install
  • 12x faster than yarn install (v1)
  • 8x faster than pnpm install