Giter Club home page Giter Club logo

imba's Introduction

Imba

Join the chat at https://gitter.im/somebee/imba

if ruby and react had an indentation-based child, what would it look like? Imba is a new programming language for the web that compiles to performant and readable JavaScript. It has language level support for defining, extending, subclassing, instantiating and rendering dom nodes.

Documentation

To get started with Imba, we recommend reading through the official guide. If you just want to get going, clone hello-world-imba and follow the readme. Check out the awesome-imba list for more resources.

Questions

For questions and support please use our community chat.

Plugins

  • Atom: language-imba can be installed through Atom Package Manager. File icon support is available via the File Icons package.
  • Sublime Text: sublime-imba can be installed through Sublime Package Manager.
  • VSCode: vscode-imba can be installed through VSCode / Marketplace.

Installation

Get Node.js and npm, or Yarn, then:

  • npm install -g imba
  • yarn global add imba

Usage

imba

Imba ships with a basic node wrapper for running imba-scripts. Use imba the same way you would use node. Call imba without arguments to see available options.

imba app.imba will compile and execute app.imba

imbapack

The imbapack utility is a convenient wrapper around webpack, which preprocesses your config to include the necessary configurations for loading .imba files. It supports all the same options as webpack and will work with webpack.config.js files directly. When you use imbapack you do not need to declare an imba-loader and resolveExtensions in your configs.

imbapack app.imba bundle.js compiles the file app.imba, and all required files into a webpack bundle named bundle.js. This file can be included in a html page like any other js-file. See webpack for more details.

imbapack --watch app.imba bundle.js same as above, but recompiles whenever app.imba or any related files change.

Webpack Config

The following should be sufficient in most cases:

{
  test: /\.imba$/,
  loader: 'imba/loader'
}

imbac

The imbac utility is for compiling your scripts to js. When working on client-side projects you should rather use imbapack (see above). Call imbac without arguments to see available options. If you are not able to use imba to run your project, or you really need to precompile the code (for running on node), you can use imbac.

License

MIT

imba's People

Contributors

somebee avatar judofyr avatar gavinray97 avatar lukeed avatar madmaniak avatar shreeve avatar alhadis avatar allain avatar ericvida avatar isaksundesingh avatar russ avatar sleewoo avatar gitter-badger avatar ismail-codar avatar

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.