UNPKG

vuepress-plugin-netlify-functions

Version:

The Plugin for VuePress 2, Support Netlify Functions

28 lines (27 loc) 1.18 kB
import { path } from 'vuepress/utils'; import * as cpx2 from 'cpx2'; import { getOptions, netlifyFunctionsPlugin } from './plugin.js'; export function useNetlifyFunctionsPlugin(app, options) { if (typeof options === 'undefined') throw new Error('useNetlifyFunctionsPlugin [options] argument not found.'); if (typeof options.directory !== 'string' || !options.directory) { throw new Error(`useNetlifyFunctionsPlugin [options.directory] must be a string\n exp: path.join(__dirname, 'functions')`); } const plugins = app.pluginApi.plugins; if (!plugins.some((plugin) => plugin.name === 'vuepress-plugin-netlify-functions')) { app.use(netlifyFunctionsPlugin()); } const { proxyPrefix, directory } = getOptions(); const source = path.join(options.directory, '**/*.js'); function preparePluginFunctions() { if (!app.env.isBuild) { cpx2.watch(source, directory.temp, { ignore: ['!**/*.d.js'], }); } } function generatePluginFunctions() { cpx2.copy(source, directory.dest); } return { proxyPrefix, preparePluginFunctions, generatePluginFunctions }; }