Files
Vanillae/utils/jex/README.md
T

1.9 KiB

Jex: simple TypeScript/JavaScript packaging system

Jex is a simple packaging/dependency system for TypeScript/JavaScript projects.

Jex is very much a work in progress, so these instructions are subject to change.

As of now, Jex is a glorified shell script that automates a lot of the tedium in building sidekick, JR, etc.

The long-term goal is to completely remove any dependency on NPM. NPM comes with a lot of unfixable security issues that present an unacceptable risk in a business context, which is the focus of the Vanillae project.

Installation

  1. git clone https://github.com/aeternity/Vanillae.git

  2. Install Erlang and zx

  3. Edit ~/.bashrc (or ~/.zshrc or whatever) and add

    alias jex="zx rundir ~/path/to/Vanillae/utils/jex"
    

Usage

Jex: simple JavaScript packaging system

COMMANDS:
  dwim-           init, pull, build
  dwim+           init, pull, build, mindist, push
  cfgbarf         barf out the jex.eterms file (mostly to make sure it parses correctly)
  echo home       echo $HOME
  echo jexdir     echo $HOME/.jex
  echo devdir     echo $HOME/.jex/dev
  echo pkgname    name of current package
  echo pkgdir     echo $HOME/.jex/dev/realm-name-X.Y.Z
  echo deps       list dependencies of current package
  echo pathof PKG list the path to PKG or
  init            mkdir -p $HOME/.jex/dev
  build           tsc && cp -r ./src/jex_include ./dist/
      -w, --weak      continue building even if tsc fails
      -f, --force     use cp -rf instead of cp -r
  mindist         mkdir jex_mindist && cp -r src jex_mindist && cp -r dist jex_mindist && rm -r jex_mindist/src/jex_include
      -f, --force     use cp -rf instead of cp -r
  push            rsync -a jex_mindist/ PKGDIR
  ls              ls $HOME/.jex/dev
  tree            tree $HOME/.jex/
  rmpkg PKG       rm -r $HOME/.jex/dev/PKG
  pull            pull each dependency into src/jx_include