#!/usr/bin/env node const path = require('path') const fs = require('fs') const glob = require('glob') const babel = require('@babel/core') const babelPresetTS = require('@babel/preset-typescript') // Compiles away all TS from TS(X) files and renames them to .js glob .sync('src/**/*.+(ts|tsx)', { ignore: ['*.d.ts'], }) .forEach(filepath => { const fullFilepath = path.join(process.cwd(), filepath) const contents = fs.readFileSync(fullFilepath, {encoding: 'utf-8'}) const result = babel.transformSync(contents, { babelrc: false, presets: [babelPresetTS], filename: fullFilepath, }) fs.writeFileSync(fullFilepath, result.code) fs.renameSync(fullFilepath, fullFilepath.replace(/\.tsx?$/, '.js')) })