All files / src/loaders vue2-server-render.ts

0% Statements 0/8
0% Branches 0/1
0% Functions 0/1
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                                 
import { fileURLToPath } from 'node:url';
import type { rspack } from '@esmx/rspack';
 
const ADD_IMPORT = `
function initImport () {
    const mixins = Array.isArray(component.options.mixins) ? component.options.mixins : [];
    mixins.push({
        serverPrefetch () {
            this.$ssrContext?.importMetaSet?.add(import.meta);
        }
    });
    component.options.mixins = mixins;
}
initImport();
export default component.exports
`;
 
export default function (this: rspack.LoaderContext, text: string) {
    return text.replaceAll('export default component.exports', ADD_IMPORT);
}
 
export const vue2ServerRenderLoader = fileURLToPath(
    import.meta.resolve(import.meta.url)
);