// deps
require('dentist')
const code = `
import { dedent } from 'dentist';
export const str = dedent(\`
Hi, check out the following line:
it's indented!
Crazy!
\`);
`
const babelCore = require('@babel/core');
require("@babel/plugin-proposal-export-namespace-from");
require("@babel/plugin-transform-modules-commonjs");
function transpile(code) {
return babelCore.transformSync(code, {
plugins: [
require.resolve("@babel/plugin-proposal-export-namespace-from"),
require.resolve("@babel/plugin-transform-modules-commonjs")
]
});
}
function requireFromString(src, filename) {
const Module = module.constructor;
const m = new Module();
m._compile(src, filename);
return m.exports;
}
const exported = requireFromString(transpile(code).code, '')
console.log("Check this out!", exported.str)