UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

59 lines (58 loc) 2.69 kB
export default plugin; export { plugin }; // TODO/v1-release: remove export { plugin as ssr }; export { getVikeConfigPublic as getVikeConfig } from './plugins/commonConfig.js'; export { PROJECT_VERSION as version } from './utils.js'; import { assertUsage } from './utils.js'; import { build } from './plugins/build.js'; import { previewConfig } from './plugins/previewConfig.js'; import { devConfig } from './plugins/devConfig/index.js'; import { importUserCode } from './plugins/importUserCode/index.js'; import { extractAssetsPlugin } from './plugins/extractAssetsPlugin.js'; import { extractExportNamesPlugin } from './plugins/extractExportNamesPlugin.js'; import { setGlobalContext } from './plugins/setGlobalContext.js'; import { commonConfig } from './plugins/commonConfig.js'; import { baseUrls } from './plugins/baseUrls.js'; import { envVarsPlugin } from './plugins/envVars.js'; import pc from '@brillout/picocolors'; import { fileEnv } from './plugins/fileEnv.js'; import { setResolveClientEntriesDev } from '../runtime/renderPage/getPageAssets.js'; import { resolveClientEntriesDev } from './shared/resolveClientEntriesDev.js'; import { workaroundCssModuleHmr } from './plugins/workaroundCssModuleHmr.js'; import { workaroundVite6HmrRegression } from './plugins/workaroundVite6HmrRegression.js'; // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts setResolveClientEntriesDev(resolveClientEntriesDev); // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions function plugin(vikeVitePluginOptions = {}) { const plugins = [ ...commonConfig(vikeVitePluginOptions), importUserCode(), ...devConfig(), ...build(), previewConfig(), ...extractAssetsPlugin(), extractExportNamesPlugin(), ...setGlobalContext(), baseUrls(), envVarsPlugin(), fileEnv(), workaroundCssModuleHmr(), workaroundVite6HmrRegression() ]; Object.assign(plugins, { __vikeVitePluginOptions: vikeVitePluginOptions }); return plugins; } // Error upon wrong usage Object.defineProperty(plugin, 'apply', { enumerable: true, get: () => { assertUsage(false, `Add ${pc.cyan('vike()')} instead of ${pc.cyan('vike')} to vite.config.js#plugins (i.e. call the function and add the return value instead of adding the function itself)`, { showStackTrace: true }); } }); // CJS default export `const vike = require('vike/plugin')` // - It needs to live at the end of this file, in order to ensure we do it after all assignments to `exports`. try { module.exports = Object.assign(exports.default, exports); } catch { }