You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vizality/renderer/src/compilers/JSX.js

24 lines
515 B

const { readFileSync } = require('fs');
const sucrase = require('sucrase');
const Compiler = require('./Compiler');
/**
* JSX compiler
* @extends {Compiler}
*/
module.exports = class JSX extends Compiler {
_compile () {
const jsx = readFileSync(this.file, 'utf8');
return sucrase.transform(jsx, {
transforms: [ 'jsx', 'imports' ],
enableLegacyBabel5ModuleInterop: true,
filePath: this.file
}).code;
}
get _metadata () {
return `sucrase ${sucrase.getVersion()}`;
}
};