mirror of https://github.com/vizality/vizality
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.
29 lines
802 B
29 lines
802 B
const { extname } = require('path');
|
|
|
|
const SCSSCompiler = require('./SCSS');
|
|
const CSSCompiler = require('./CSS');
|
|
const JSXCompiler = require('./JSX');
|
|
const TSXCompiler = require('./TSX');
|
|
const JSCompiler = require('./JS');
|
|
const TSCompiler = require('./TS');
|
|
|
|
module.exports = {
|
|
scss: SCSSCompiler,
|
|
css: CSSCompiler,
|
|
jsx: JSXCompiler,
|
|
tsx: TSXCompiler,
|
|
js: JSCompiler,
|
|
ts: TSCompiler,
|
|
resolveCompiler: file => {
|
|
const extension = extname(file).substr(1);
|
|
switch (extension) {
|
|
case 'scss': return new SCSSCompiler(file);
|
|
case 'css': return new CSSCompiler(file);
|
|
case 'jsx': return new JSXCompiler(file);
|
|
case 'tsx': return new TSXCompiler(file);
|
|
case 'js': return new JSCompiler(file);
|
|
case 'ts': return new TSCompiler(file);
|
|
}
|
|
}
|
|
};
|