UNPKG

fuse-box

Version:

Fuse-Box a bundler that does it right

22 lines (20 loc) 774 B
import { File, ScriptTarget } from "../../core/File"; export class LanguageLevel { public static onNode(file: File, node: any, parent: any) { if (node.async === true) { file.setLanguageLevel(ScriptTarget.ES2017); } else if (node.kind === "const") { file.setLanguageLevel(ScriptTarget.ES2015); } else if (node.kind === "let") { file.setLanguageLevel(ScriptTarget.ES2015); } else if (node.type === "ArrowFunctionExpression") { file.setLanguageLevel(ScriptTarget.ES2015); } } public static onEnd(file: File) { const target = file.context.languageLevel if (file.languageLevel > target) { file.analysis.requiresTranspilation = true } } }