generated from garrettmills/template-npm-typescript
Early-phase compiler for Extollo projects
src | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
LICENSE | ||
package.json | ||
pnpm-lock.yaml | ||
README.md | ||
tsconfig.json |
@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 augmentedtsconfig.json
.ZodifyPhase
- provides support for Extollo's form validation by generating Zod schemata from TypeScript interfaces specified by the application configCompilePhase
- invokestsc
on the augmented build directoryNonSourcePhase
- copies non-source (read: non-TypeScript) files into the builtlib
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 projectextollo.cc.zodify: string[]
- array of directories whose files should have Zod schemata generated for their interfacesextollo.cc.non-source: string[]
- array of non-source compile-paths to be copied into the compiled distribution directory