diff --git a/README.md b/README.md new file mode 100644 index 0000000..fe3baa7 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# Extollo Development Tools + +This is a wrapper package that provides scripts for setting up and working with the development environment for the Extollo framework. + +The `package.json` contains scripts for cloning and setting up all of the first-party modules, and will install them so that they are dependencies of each-other on the filesystem. This way, a change in one module is reflected in the code of the other modules on development, without having to re-install them. + +## Installation +Simply clone this repo, then run the setup command. Requires Node 14+: + +```shell +git clone https://code.garrettmills.dev/extollo/dev +cd dev +pnpm setup +``` + +Now, each of the sub-modules are available in the `modules/` directory, and the main framework is setup in `extollo/`. If you view the `package.json` for any of the projects (the main framework, e.g.), you'll notice that the "version" of the packages has changed: + +```json +{ + "name": "@extollo/extollo", + ... + "dependencies": { + "@extollo/cli": "link:../modules/cli", + "@extollo/di": "link:../modules/di", + "@extollo/i18n": "link:../modules/i18n", + "@extollo/lib": "link:../modules/lib", + "@extollo/orm": "link:../modules/orm", + "@extollo/util": "link:../modules/util", + "copyfiles": "^2.4.1", + "typescript": "^4.1.3" + }, + ... +} +``` + +This difference is because the packages are all installed from their locations on the filesystem, for ease of development. + +## Building Packages +To re-build all of the modules, you can run the `pnpm build` command. To rebuild a particular package, use `pnpm build:`. + +## Cleaning Up +To remove all of the cloned repositories, use `pnpm clean`. **WARNING** this WILL delete ALL files in the repositories, so be sure you don't have any work you want to save.