Skip to content

Browserify transform for converting Mithril view templates based on msx

License

Notifications You must be signed in to change notification settings

sectore/mithrilify

Repository files navigation

mithrilify

Browserify transform for converting Mithril view templates using MSX

NPM version Build Status Dependency Status

Install

$ npm install --save-dev mithrilify

Usage

Example of a Mithril view template.

It can be defined within a *.js or *.msx file and should include /** @jsx m */ at the top.

'use strict';

var View = function (ctrl) {
  return <div>
      hello
    </div>;
};

module.exports = View;

Command line:

$ browserify -t mithrilify ./view.js > ./bundle.js
var gulp = require('gulp');
  browserify = require('gulp-browserify'),
  rename = require('gulp-rename');

gulp.task('bundle', function() {
  gulp.src('app/scripts/view.js')
    .pipe(browserify({
      transform: ['mithrilify']
    }))
    .pipe(rename('bundle.js'))
    .pipe(gulp.dest('build/'))
});
browserify: {
  dist: {
    files: {
      'build/bundle.js': 'app/scripts/view.js',
    },
    options: {
      transform: ['mithrilify']
    }
  }
}

Output:

'use strict';

var View = function (ctrl) {
  return {tag: "div", attrs: {}, children: [
      "hello"
    ]};
};
module.exports = View;

Test

Clone project:

$ git clone https://github.com/sectore/mithrilify.git && cd $_

Install dependencies (only once):

$ npm install

Run tests:

$ gulp test

Credits:

  • MSX for supporting JSX to Mithril
  • generator-node-gulp to create a Node.js module with yo, including gulp and Mocha unit tests.

Contributors

Release History

History

License

Copyright (c) 2015 Jens Krause. Licensed under the MIT license.

About

Browserify transform for converting Mithril view templates based on msx

Resources

License

Stars

Watchers

Forks

Packages

No packages published