3.4.0 • Published 9 years ago

transfigure v3.4.0

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

NPM Version Build Status

Transfigure

Transfigure is a plug-in based transformer/transpiler for higher order languages that need to be converted to js|css|html. It provides the compile functionality for the Buddy build tool.

Plug-in transpilers

In order to add transpilation support to Buddy projects, separate transfigure- modules need to be installed alongside Buddy:

$ npm install transfigure-coffeescript transfigure-less

The following plug-ins are currently available (with version numbers tracking their underlying language versions):

js

css

html

Writing your own plug-in

Writing a plug-in for Transfigure is relatively simple. Each plun-in should conform to the following requirements:

  1. Must have a package name starting with transfigure-
  2. Must implement the correct registration and compile behaviour
  3. Must be installed in the current project's node_modules directory (or a reachable parent)

API

Modules must export a registration object with name and extensions properties (Note that a plug-in can register multiple extensions):

exports.registration = {
  name: 'myPlugin',
  extensions: {
    js: [
      'foo',
      'bar'
    ]
  }
};

Modules must export an async compile function with the following signature and behaviour:

exports.compile = function (content, options, fn) {
  try {
    content = myPlugin.api(content, options);
    fn(null, content);
  } catch (err) {
    // Attach current filepath for helpful console output
    err.filepath = options.filepath;
    fn(err);
  }
};

The passed options object has the following properties:

  • filepath: the fully resolved file path (ex: /users/alex/projects/foo/src/js/foo.js)
  • extension: the file extension (ex: js)
  • name: the file name without extension (ex: foo)
  • type: the build target type (js, css, or html)
  • includes: an array of html include/partials objects that can be precompiled/loaded before compilation
    • id: a unique dependency id
    • content: the file content
  • cache: an html template cache instance that may be used to store precompiled html templates (see transfigure-dust and transfigure-nunjucks for usage)
3.4.0

9 years ago

3.3.0

9 years ago

3.2.1

9 years ago

3.2.0

9 years ago

3.1.0

9 years ago

3.0.0

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.15.0

10 years ago

0.14.0

10 years ago

0.13.0

10 years ago

0.12.0

10 years ago

0.11.0

10 years ago

0.10.2

10 years ago

0.10.1

10 years ago

0.10.0

10 years ago

0.9.0

10 years ago

0.8.0

10 years ago

0.7.3

11 years ago

0.7.2

11 years ago

0.7.1

11 years ago

0.7.0

11 years ago

0.6.0

11 years ago

0.5.1

11 years ago

0.5.0

11 years ago

0.4.0

11 years ago

0.3.0

11 years ago

0.1.0

11 years ago