This repository employs a monorepo setup with pnpm workspaces, and hosts a number of associated but separated packages.
- The
pluginsdirectory contains all the official plugins. - The
themesdirectory contains all the official themes.
Pre-requirement:
Clone the repo, and install dependencies:
pnpm installBuild source code:
pnpm buildRun unit tests:
pnpm testMain tools that used in this project:
- TypeScript as the development language
- Vitest for unit testing
- ESLint + Prettier for code linting and formatting
The build script uses tsc to compile TypeScript source files to JavaScript dist files.
Also, it will copy necessary resources from source directory to dist directory, because some source files (e.g. .vue, .css files) would not be processed by tsc, but should keep the same relative path in the dist directory.
You may need to run this script first after your clone this repository, because the dist files are ignored by .gitignore.
The clean script runs clean script in all packages, cleaning all the dist files and caches. In other words, it will remove all the files that generated by build script.
It's used before you want to re-build source files from a clean / initial state.
The format script uses Prettier to format all source files.
The lint script uses ESLint to check all source files.
The test script uses Vitest to run unit testings.