Number of watchers on Github | 1941 |
Number of open issues | 25 |
Average time to close an issue | 26 days |
Main language | JavaScript |
Average time to merge a PR | 1 day |
Open pull requests | 2+ |
Closed pull requests | 1+ |
Last commit | over 1 year ago |
Repo Created | over 5 years ago |
Repo Last Updated | over 1 year ago |
Size | 14.6 MB |
Homepage | http://imba.io |
Organization / Author | somebee |
Latest Release | 1.1.1 |
Contributors | 5 |
Page Updated | 2018-03-12 |
Do you use imba? Leave a review! | |
View open issues (25) | |
View imba activity | |
View on github | |
Fresh, new opensource launches 🚀🚀🚀 | |
Trendy new open source projects in your inbox!
View examples
|
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.
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.
For questions and support please use our community chat.
Get Node.js and npm, or Yarn, then:
npm install -g imba
yarn add --global 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
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.
The following should be sufficient in most cases:
{
test: /\.imba$/,
loader: 'imba/loader'
}
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
.
Lots of exciting things coming in Imba 1.3.
Inspired by Vue, we have now added support for event modifiers, which makes it much easier to decouple your actions from the events triggering them. The modifiers supported thus far are;
We also added support for keydown/keyup modifiers:
And mouse modifiers
Proper documentation will follow when we move towards final release.
Also inspired by Vue, we're adding basic support for binding form input values to the data, using the 'model' property on the input. It currently has most of the same functionality provided in Vue, so until we have docs in place you can learn about it in their guide :)
<div :keydown.enter.halt=...>
)<input[data] model='myField'>
)imbapack input.imba output.js
work without a configmodule
keyword for singleton classesimport x as y from ...