Files
Vanillae/utils/jex
pharpend 18be0c53f2 fixed blake issue
turned out that i was using an outdated version of vdk_aecrypt in jr. updated
2023-10-07 15:47:59 -06:00
..
2022-11-27 20:32:22 -07:00
2023-10-07 15:47:59 -06:00
2023-08-31 15:59:44 +09:00

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. Install system dependencies

    tree rsync
    
  2. git clone https://github.com/aeternity/Vanillae.git

  3. Install Erlang and zx

  4. Install NPM "How to install NPM without getting AIDS"

  5. Install TypeScript npm install -g typescript

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

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

Usage

Jex: simple JavaScript packaging system

COMMANDS:
  man             show the manual
  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