vite-plugin-react18-pages
Version:
<p> <a href="https://www.npmjs.com/package/vite-plugin-react-pages" target="_blank" rel="noopener"><img src="https://img.shields.io/npm/v/vite-plugin-react-pages.svg" alt="npm package" /></a> </p>
37 lines (31 loc) • 1.2 kB
text/typescript
import chalk from 'chalk'
import minimist from 'minimist'
import { resolveConfig } from 'vite'
import { ssrBuild } from './static-site-generation'
const argv: any = minimist(process.argv.slice(2))
console.log(chalk.cyan(`vite-pages v${require('../../package.json').version}`))
console.log(chalk.cyan(`vite v${require('vite/package.json').version}`))
// cli usage: vite-pages ssr [root] [vite config like --outDir or --configFile]
const [command, root] = argv._
if (root) {
argv.root = root
}
;(async () => {
if (!command || command === 'ssr') {
// user can pass in vite config like --outDir or --configFile
const viteConfig = await resolveConfig(argv, 'build')
const thisPlugin = viteConfig.plugins.find((plugin) => {
return plugin.name === 'vite-plugin-react18-pages'
})
// @ts-expect-error
const ssrConfig = thisPlugin?.vitePagesStaticSiteGeneration
await ssrBuild(viteConfig, ssrConfig, argv).catch((err: any) => {
console.error(chalk.red(`ssr error:\n`), err)
process.exit(1)
})
} else {
console.error(
`[vite-pages] Invalid command. CLI usage: vite-pages ssr [root] [vite config like --outDir or --configFile]`
)
}
})()