A collection of packages for working with /r/toolbox data.
See the README in each package for more information.
toolbox-storage Defines basic helpers classes for reading and manipulating the storage formats. This package includes no data fetching/API helpers; you'll have to read to/write from the relevant wiki pages yourself.
toolbox-devvit Wraps the basic helpers in a Devvit-specific client class which handles data fetching for you via Devvit's built-in API client.
This project uses npm workspaces. Run npm install from the
root directory in order to install dependencies for all packages and create
node_modules symlinks for packages that depend on each other.
Each package defines several scripts for itself, which include:
fmt formats the package's source code.fmt:check checks the format without making any changes to files.build compiles the package and its tests.test runs the package's tests. Make sure you run build first.coverage compiles and runs tests and generates a test coverage report.Each of these scripts can be run in two ways:
npm run <script> from the package's
directory.npm run <script> --workspaces from the
repo's root directory.These scripts are defined in the root package.json rather than in the
package.json of each individual package and are mostly used for CI/release
purposes. Run them with npm run <script> in the root directory.
build:all builds all packages at once. This is functionally identical to
running the individual package build scripts, but avoids invoking Typescript
multiple times which makes it faster.docs generates API documentation for all packages at once, combining it
into a single folder for all packages which can be uploaded to Github Pages.