Scripts to aid development of first-party Extollo modules and the framework itself
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.
Garrett Mills 331039e762
Include modules/ dir in gitkeep
3 years ago
modules Include modules/ dir in gitkeep 3 years ago
.gitignore Include modules/ dir in gitkeep 3 years ago
README.md README 3 years ago
package.json Initial setup 3 years ago

README.md

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+:

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:

{
  "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.