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