outwalk
Outwalk is a next generation build tool for modern JavaScript projects.
Last updated 3 days ago by jleeson .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install outwalk 
SYNC missed versions from official npm registry.

Outwalk

Outwalk is a next generation build tool for modern JavaScript projects.

License


Installation

Install using npm:

npm install -g outwalk

Install using yarn:

yarn global add outwalk

Getting Started

Getting your project up and running with outwalk only takes a few simple steps.

# Step 1 - Create a config file
outwalk init

# Step 2 - Compile your project
outwalk compile

Thats it!

Outwalk can be used through its command line interface with an optional config file, or through its JavaScript API. You can use many avalible config options to customize and extend your projects.


Commands

You can see a full list of commands and options avalible using outwalk --help.

# Create a new configuration entry
outwalk init

# Compile the source code
outwalk compile <options>

# Compile your project automatically when a file is saved
outwalk watch <options>

# Start an outwalk web server
outwalk host <options>

# Start a debug session
outwalk debug <options>

# Generate documentation using jsdoc style comments
outwalk docs <options>

# Install a package
outwalk install <url>

# Uninstall a package
outwalk uninstall <filename>

Outwalk Compiler

The Outwalk compiler takes in your JavaScript or TypeScript files and bundles and compresses them into a single application or library code bundle. Outwalk Packages that are imported into your project are also added into your compiled code bundle.

The command for compiling is outwalk compile <options>, this will run the compiler once. If you want to run the compiler everytime you save a file, the command to do so is outwalk watch <options>. To change how your code is being compiled you can pass options to it using the cli, or you can add the options in your outwalk.json file.

Outwalk determines what files to compile by using import statements. all files that are connected to your input file by import statements will be compiled. You can see what files are being compiled by using the verbose option.

Example:

/* importing print from PrintFunctions.js makes the print function get bundled with your code */
import {print} from "./PrintFunctions";

print("this is a message");

Outwalk Packages

The Outwalk package system takes the url of a web hosted ESM module file and downloads it to your outwalk_modules folder in your project directory. Outwalk will automatically make all files in outwalk_modules avalible to your code.

If you have a file called myLib.js inside outwalk_modules then to use the module in your code just import it.

import {myFunction} from "myLib";

Outwalk will automatically resolve the full path to where the file is located relative to the file its imported in.


Outwalk Docs

Outwalk uses JSDoc internally to generate documentation, so you can use your existing JSDoc style comments to generate documentation.

Example:

/**
 * a function that logs something to the console
 * @param {any} x - the value to log to the console
 */
function log(x) {
    console.log(x);
}

Outwalk Web Server

Outwalk has support for building basic web servers. The simlest way to get a server up and running is to simply run the command outwalk host <options>, but if you want something a little more involved you can use the outwalk api to create a web server.

Example:

const outwalk = require("outwalk");

// create the server
let server = outwalk.host({
    port: 3000,
    root: process.cwd(),
    file: "index.html"
});

// start the server
server.listen();

Outwalk Debugger

Outwalk has support for running your projects in a browser or a node environment. the easiest way to do this is to run the command outwalk debug <options>, but if you want to debug programatically you can use the API.

Example:

const outwalk = require("outwalk");

// debug a browser application
outwalk.debug({
    file: "test.html",
    env: "browser"
});

// debug a node application
outwalk.debug({
    file: "test.js",
    env: "node"
});

Outwalk Unit Testing

Outwalk provides a simple unit testing framework for asserting conditions.

Example:

const outwalk = require("outwalk");

/* PASSING TEST */
// checks if 5 is greater than 1, if that returns true, it will log the message to the console
outwalk.assert((5 > 1), "Should verify that 5 is greater than 1");

/* FAILING TEST */
//1 is not greater than 5 so it will throw an error instead.
outwalk.assert((1 > 5), "Should verify that 1 is greater than 5");

Why?

Outwalk was developed in order to make the setup process of JavaScript projects easy and as minimal as possible. Instead of installing a bunch of plugins and writing complex configuration files, you can let outwalk handle everything for you. Outwalk is designed to bring some similarity of native development environemnts to the web.


Support

Having trouble with Outwalk? Create a new Issue.


License

Outwalk is licensed under the terms of the MIT license.

Current Tags

  • 2.3.0                                ...           latest (3 days ago)

24 Versions

  • 2.3.0                                ...           3 days ago
  • 2.2.0                                ...           3 days ago
  • 2.1.2                                ...           3 days ago
  • 2.1.1                                ...           3 days ago
  • 2.1.0                                ...           3 days ago
  • 2.0.2                                ...           8 days ago
  • 2.0.1                                ...           9 days ago
  • 1.4.1                                ...           a month ago
  • 1.4.0                                ...           2 months ago
  • 1.3.3                                ...           3 months ago
  • 1.3.2                                ...           3 months ago
  • 1.3.1                                ...           4 months ago
  • 1.3.0                                ...           4 months ago
  • 1.2.3                                ...           4 months ago
  • 1.2.2                                ...           4 months ago
  • 1.2.1                                ...           4 months ago
  • 1.2.0                                ...           5 months ago
  • 1.1.0                                ...           6 months ago
  • 1.0.2                                ...           6 months ago
  • 1.0.1                                ...           6 months ago
  • 1.0.0                                ...           6 months ago
  • 0.1.2                                ...           6 months ago
  • 0.1.1                                ...           6 months ago
  • 0.1.0                                ...           6 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 197
Last Day 0
Last Week 183
Last Month 51
Dependencies (7)
Dev Dependencies (1)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |