Пример #1
0
 process: function(src, path) {
   if (path.match(/\.ls$/)) {
     return dialect.compile(cjsx(src), {bare: true})
   } else {
     return ReactTools.transform(src);
   }
 }
Пример #2
0
export function preprocessSource({ filename, contents }, pluginOptions) {
  // Don't need to account for ES6, Babylon can parse it.
  if (CJSX.test(filename)) {
    return compile(transform(contents), pluginOptions)
  } else if (COFFEE.test(filename)) {
    return compile(contents, pluginOptions)
  } else return null
}
Пример #3
0
 require.extensions['.coffee'] = require.extensions['.cjsx'] = function(module, filename) {
   var src = fs.readFileSync(filename, {encoding: 'utf8'});
   try {
     src = coffee.compile(cjsx(src), { 'bare': true });
   } catch (e) {
     throw new Error('Error transforming ' + filename + ' from CJSX: ' + e.toString());
   }
   module._compile(src, filename);
 };
  function processCJSX (originalCJSX) {
    var coffee = coffeeReactTransform(originalCJSX);
    var compilerResult = CoffeeScript.compile(coffee, {
      sourceMap: true
    });
    var javascript = compilerResult.js;
    var v3SourceMap = JSON.parse(compilerResult.v3SourceMap);

    eval(javascript + sourceMapComment(originalCJSX, coffee, javascript, v3SourceMap, "cjsx" + i));
  }
Пример #5
0
 process.argv[2], (err, file) => {
   console.log(
     babel.transform(
       esnext.convert(
         decaf.compile(
           cjsxTransform(
             file.toString()
           )
         )
       ).code, {
         plugins: ['transform-react-createelement-to-jsx', 'syntax-class-properties'],
       }
     ).code
   );
 }
  function modifyFile(file, enc, callback) {
    if (file.isNull()) return callback(null, file); // pass along
    if (file.isStream()) return callback(error('Streaming not supported'));

    var data;
    var str = file.contents.toString('utf8');

    try {
      data = coffeeReact(str);
    } catch (err) {
      return callback(error(err))
    }

    file.contents = new Buffer(data);

    callback(null, file)
  };
Пример #7
0
export default function coffeeReact (options = {}) {
  options = assign({}, defaultOptions, options)
  const filter = createFilter(options.include, options.exclude)
  const { extensions } = options

  delete options.extensions
  delete options.include
  delete options.exclude

  return {
    transform (code, id) {
      if (!filter(id)) return null
      if (extensions.indexOf(extname(id)) === -1) return null

      const coffeeCode = cjsxTransform(code)
      const compiled = coffeScript.compile(coffeeCode, options)

      return {
        code: compiled.js,
        map: options.sourceMap ? compiled.sourceMap : { mappings: '' }
      }
    }
  }
}
Пример #8
0
CjsxFilter.prototype.processString = function (string) {
  var result = transform(string);

  return result;
};
Пример #9
0
module.exports = function(cjsx) {
  this.cacheable && this.cacheable();
  return transform(cjsx, loaderUtils.parseQuery(this.query));
};