1.1.0 • Published 3 years ago

jetpp-wasm v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Jetpack.js

Build Status npm version

| 中文版 | WASM Online Demo

jetpack.js is an extremely fast js bundler and minifier written in C++.

Features

Parser

  • Can be used standalone
  • Implemented in C++ with excellent performance
  • Full support for ECMAScript 2017(ECMA-262 8th Edition)
  • JSON output of sensible syntax tree format as standardized by ESTree project
  • Experimental support for JSX, a syntax extension for React
  • Syntax node location (index-based and line-column)
  • Friendly error message

Bundler

  • Module resolution.
  • Bundle a ES project into a single file.
  • Scope hoisting.
  • Constant folding.
  • Minify the code.
  • Sourcemap generation

Installation & Usage

Binary Distribution

Download the binary from the release page.

Usage:

jetpack-cli --help

Node.js CLI

npm install -g jetpp

Use command line to bundle a js module.

jetpp main.js --out bundle.js

Help command:

$ jetpp --help

Jetpack command line
Usage:
  Jetpack [OPTION...] positional parameters

      --tolerant            tolerant parsing error
      --jsx                 support jsx syntax
      --library             bundle as library, do not bundle node_modules
      --help                produce help message
      --analyze-module arg  analyze a module and print result
      --no-trace            do not trace ref file when analyze module
      --minify              minify the code
      --out arg             output filename of bundle
      --sourcemap           generate sourcemaps

Node.js Program

const jetpp = require('jetpp');

console.log(jetpp.minify('let hello = "world";'));

WebAssembly User

WASM gives you the power of running Jetpack.js in the browser environment.

Install the WASM version

yarn add jetpp-wasm

Include Jetpack.js in your project

import loadJetpack from 'jetpp-wasm';

async function main(code) {
    const jetpack = await loadJetpack();
    console.log(jetpack.minify(code));  // minify
    console.log(jetpack.parse(code));  // parse
}

Platform

jetpack.js supports all popular system including:

  • macOS x64/arm64
  • Windows 64bit
  • Linux 64bit
  • WebAssembly

Build Dependencies

  • jemalloc 5.2.1
  • cxxopts
  • fmt
  • nlohmann_json
  • robin-hood-hashing 3.11.1
  • xxHash
  • boost(Header-only) 1.76
1.1.0

3 years ago

1.0.4

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.3

3 years ago

1.0.0

3 years ago