telefunc
Version:
Remote functions. Instead of API.
32 lines (31 loc) • 1.09 kB
JavaScript
export { transform };
import { transformTelefuncFileClientSide } from '../../transformer/transformTelefuncFileClientSide.js';
import { transformTelefuncFileServerSide } from '../../transformer/transformTelefuncFileServerSide.js';
import { assert, toPosixPath } from '../utils.js';
function transform() {
let root;
let isDev = false;
return {
name: 'telefunc:transform',
enforce: 'pre',
configResolved: (config) => {
root = toPosixPath(config.root);
assert(root);
},
configureServer() {
isDev = true;
},
async transform(code, id, options) {
if (!id.includes('.telefunc.')) {
return;
}
const isClientSide = !(options === null || options === void 0 ? void 0 : options.ssr);
if (isClientSide) {
return await transformTelefuncFileClientSide(code, id, root);
}
else {
return await transformTelefuncFileServerSide(code, id, root, isDev);
}
},
};
}