You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.7 KiB
43 lines
1.7 KiB
3 years ago
|
# 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:<package name>`.
|
||
|
|
||
|
## 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.
|