UNPKG

telefunc

Version:

Remote functions. Instead of API.

41 lines (40 loc) 1.48 kB
export { pluginTransformTelefuncFiles }; import { transformTelefuncFileClientSide } from '../../shared/transformer/transformTelefuncFileClientSide.js'; import { transformTelefuncFileServerSide } from '../../shared/transformer/transformTelefuncFileServerSide.js'; import { assert, toPosixPath } from '../utils.js'; function pluginTransformTelefuncFiles() { let root; let isDev = false; return [ { name: 'telefunc:pluginTransformTelefuncFiles', enforce: 'pre', configResolved: { handler(config) { root = toPosixPath(config.root); assert(root); }, }, configureServer: { handler() { isDev = true; }, }, transform: { filter: { id: '**/*.telefunc.*', }, async handler(code, id, options) { assert(id.includes('.telefunc')); 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); } }, }, }, ]; }