@extollo/cc

Early-phase compiler for Extollo projects

Usage no npm install needed!

<script type="module">
  import extolloCc from 'https://cdn.skypack.dev/@extollo/cc';
</script>

README

@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