Skip to content

Build Tools Overview

The Source Academy Modules build tools are written in Typescript and designed to be run from the command line

The build tools are comprised of several sections:

Structure of the Build Tools package

dirtree
buildtools
├── bin
│   ├── templates                     // Actual template files, retrieved at runtime
│   ├── docsreadme.md                 // Docs HTML readme, retrieved at runtime
│   └── index.js                      // The compiled and bundled buildtools
├── src
│   ├── __tests_mocks__               // Contains a set of mock bundles and tabs for testing
│   ├── build
│   │   ├── docs                      // Builders for HTML and JSON documentation
│   │   └── modules                   // Builders for bundles and tabs
│   │       ├── manifest.schema.json  // Schema used to validate bundle manifests
│   │       ├── all.ts                // Combined builder for a specific bundle or tab
│   │       └── manifest.ts           // Code for working with bundle manifests and bundle/tab resolution
│   ├── commands                      // Code where command handlers are defined
│   ├── prebuild                      // Code for running ESLint and tsc, both separately and in parallel
│   ├── templates                     // Code for template commands
│   └── testing.ts                    // Code for running Vitest from NodeJS
└── workspacer.py                     // Python code for updating JSON files across bundles and tabs