-
Notifications
You must be signed in to change notification settings - Fork 2
Repository Structure
Aarav Malani edited this page Jun 6, 2026
·
1 revision
The repository is structured as follows:
-
src/- contains the source code for the plugins.-
common/- contains code that is shared between the web and runner plugins, such as channel IDs, plugin IDs, message types, etc. -
web/- contains the source code for the web plugins, which are meant to be used in the host application. -
runner/- contains the source code for the runner plugins, which are meant to be used in the runner application.
-
-
dist/- contains the built external plugins. This directory is generated after running the build -
lib/- contains build tools and utilities-
build.ts- the build script for the plugins
-
As an example, the src/web/test directory contains the source code for the test plugin meant to be used in the host application, while the src/runner/test directory contains the source code for the test plugin meant to be used in the runner application.
The repository uses a monorepo structure, where each plugin is a Yarn workspace. For a given plugin at src/<type>/<plugin-name>, the workspace name is @sourceacademy/<type>-<plugin-name>. For example, the workspace name for the test plugin in the web directory is @sourceacademy/web-test. This is also the name installable packages are available at on the npm registry.