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/JS.js

24 lines
511 B

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