Coder Social home page Coder Social logo

mirai's Introduction

mirai

run the future of javascript today. write and use ES6 and ES7 code within node.

mirai was previously called es6inode.

deprecation notice

mirai is deprecated. instead, use babel's require hook, which is functionally equivalent to requiring mirai, and supports the latest javascript features.

getting started

npm install mirai

activating mirai is as simple as requiring the module. mirai will then alter the module loading system to transpile new .js and .es6 files.

example

/* bootstrap.js */

require("mirai");
require("./program");
/* program.es6 */

import { announce, read } from "./actions";

announce("mirai is a success!");
announce("greetings!", "foxy");
read("greetings.txt");
/* actions.es6 */

import fs from "fs";

export var announce = function(text, author = "system") {
    let message = `[announcement] ${text} -- ${author}`;
    console.log(message);
}

export var read = function(path) {
    let text = fs.readFileSync(path, "utf8");
    console.log(text);
}
node bootstrap.js
=> [announcement] mirai is a success! -- system
=> [announcement] greetings! -- foxy
=> greetings, commoner.

configuration

simply requiring mirai will activate it with the default parameters found in options.js. however, you can manually activate mirai with customized parameters.

instead of calling require("mirai") which automatically activates mirai, we can require a version that can be configured before activation:

var mirai = require("mirai/configure");

mirai.configure({
    // which extensions we should transpile for. by default, this is .js
    // and .es6
    extensions: [".js", ".es6"],

    // the transpilation engine to use. currently, only traceur is
    // supported.
    engine: "traceur",

    // options to pass to the transpiler. for traceur options, see
    // https://github.com/google/traceur-compiler/blob/master/src/options.js
    engineOptions: { },

    // determine if we should transpile this file or whether to pass it to
    // the existing handler. by default, we do not transpile any files
    // that contain `/node_modules/` in its file path
    shouldCompile: function(path) {
        return /\/node_modules\//.test(path);
    } 
});

// the default options are displayed above. the full reference can be found at https://github.com/astralfoxy/mirai/blob/master/src/options.js

require() importing

you can also access an es6 module's exports from es5 code with require - named exports by their name, the default export by "default".

/* program.js */

var foxy = require("./foxy");

foxy
// => [object]

foxy.default
// => function

foxy.version
// => "infinity"

foxy.boolean
// => true
/* foxy.es6 */

export default function awesome() {
    return "definitely awesome";
}

export var boolean = true;

export var version = "infinity";

license

mit licensed. use it however you want.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.