Early-phase compiler for Extollo projects
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 b832daf90a Bump version 2 months ago
src Fix undefined check 2 months ago
.eslintignore Initial commit 4 months ago
.eslintrc.json Initial commit 4 months ago
.gitignore Initial commit 4 months ago
LICENSE Initial commit 4 months ago
README.md readme 4 months ago
package.json Bump version 2 months ago
pnpm-lock.yaml WIP: create ts-patch tsc transformers for mapping interface -> zodified schemata 4 months ago
tsconfig.json Initial commit 4 months ago

README.md

@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