memserver
Version:
in-memory database/ORM and http mock server you can run in-browser and node environments. Built for large frontend teams, fast tests and rapid prototyping
26 lines (21 loc) • 662 B
JavaScript
import fs from 'fs/promises';
import { transformAsync } from '@babel/core';
let index = 0;
export default async function transpileImport(importPath) {
let codeBuffer = await fs.readFile(importPath);
let output = await transformAsync(codeBuffer.toString(), {
filename: importPath,
inputSourceMap: false,
presets: [
'@babel/preset-typescript',
],
plugins: [
'babel-plugin-module-extension-resolver'
]
});
let targetFile = importPath.slice(0, importPath.length - 3) + '.js';
index++;
await fs.writeFile(targetFile, output.code);
let result = (await import(`${targetFile}?${index}`)).default;
return result;
}