@extollo/cc
The Extollo project compiler, excc.
The excc command provides additional compile-time support required by the Extollo framework through the application of various pre- and post-compilation phases:
PreparePhase - copies the source files into a separate build directory and writes an augmented tsconfig.json.
ZodifyPhase - provides support for Extollo's form validation by generating Zod schemata from TypeScript interfaces specified by the application config
CompilePhase - invokes tsc on the augmented build directory
NonSourcePhase - copies non-source (read: non-TypeScript) files into the built lib dir
Usage
usage: excc.js [-h] -c CONFIG -t TSCONFIG [-v]
Early-phase compiler for Extollo projects
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
path to the package.json of the project to compile
-t TSCONFIG, --tsconfig TSCONFIG
path to the tsconfig.json for the project to compile
-v, --verbose output more verbose and debugging output
Configuration
Aside from the normal tsconfig.json, excc reads its configuration from the extollo section of the project's package.json:
extollo.cc.compileDir: string - relative path to the folder to be created and used to compile the project
extollo.cc.zodify: string[] - array of directories whose files should have Zod schemata generated for their interfaces
extollo.cc.non-source: string[] - array of non-source compile-paths to be copied into the compiled distribution directory