UNPKG

quasqui

Version:

The meta-framework suite designed from scratch for frontend-focused modern web development.

45 lines (38 loc) 1.36 kB
import path from 'path'; import { AppContext, manager, createAsyncWorkflow } from '@modern-js/core'; import { fs } from '@modern-js/utils'; import plugin from '../src'; import { getPluginsCode, getRequireCode } from '../src/utils'; describe('plugin-multiprocess', () => { const distDirectory = path.join(__dirname, './fixtures/ssr-bff'); afterAll(() => { fs.removeSync(path.join(distDirectory, 'api-server')); fs.removeSync(path.join(distDirectory, 'ssr-server')); fs.removeSync(path.join(distDirectory, 'web-server')); }); it('default', async () => { expect(plugin).toBeDefined(); const afterBuild = createAsyncWorkflow<any, any>(); manager.registe({ afterBuild, }); manager.usePlugin(plugin); manager.run(() => { AppContext.set({ distDirectory, plugins: [], } as any); }); const runner = await manager.init(); runner.afterBuild(); }); it('should generate code correctly', () => { const pluginCode = getPluginsCode(['pluginA', 'pluginB']); expect(pluginCode).toBe('[plugin_0,plugin_1]'); const requireCode = getRequireCode(['pluginA', 'pluginB']); expect(requireCode).toBe(`const mod_0 = require('pluginA'); const plugin_0 = mod_0.default || mod_0; const mod_1 = require('pluginB'); const plugin_1 = mod_1.default || mod_1;`); }); });