Skip to content

Commit

Permalink
fix: skip static dir if not exists
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Dec 7, 2020
1 parent e47b266 commit 3b87c28
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 9 deletions.
21 changes: 12 additions & 9 deletions src/build.ts
Expand Up @@ -5,7 +5,7 @@ import ora from 'ora'
import { readFile, emptyDir, copy } from 'fs-extra'
import { printFSTree } from './utils/tree'
import { getRollupConfig } from './rollup/config'
import { hl, prettyPath, serializeTemplate, writeFile } from './utils'
import { hl, prettyPath, serializeTemplate, writeFile, isDirectory } from './utils'
import { SigmaContext } from './context'

export async function prepare (sigmaContext: SigmaContext) {
Expand All @@ -30,14 +30,17 @@ async function cleanupDir (dir: string) {
export async function generate (sigmaContext: SigmaContext) {
const spinner = ora()
spinner.start('Generating public...')
await copy(
resolve(sigmaContext._nuxt.buildDir, 'dist/client'),
join(sigmaContext.output.publicDir, sigmaContext._nuxt.publicPath)
)
await copy(
resolve(sigmaContext._nuxt.srcDir, sigmaContext._nuxt.staticDir),
sigmaContext.output.publicDir
)

const clientDist = resolve(sigmaContext._nuxt.buildDir, 'dist/client')
if (await isDirectory(clientDist)) {
await copy(clientDist, join(sigmaContext.output.publicDir, sigmaContext._nuxt.publicPath))
}

const staticDir = resolve(sigmaContext._nuxt.srcDir, sigmaContext._nuxt.staticDir)
if (await isDirectory(staticDir)) {
await copy(staticDir, sigmaContext.output.publicDir)
}

spinner.succeed('Generated public ' + prettyPath(sigmaContext.output.publicDir))
}

Expand Down
8 changes: 8 additions & 0 deletions src/utils/index.ts
Expand Up @@ -74,6 +74,14 @@ export function detectTarget () {
}
}

export async function isDirectory (path: string) {
try {
return (await fse.stat(path)).isDirectory()
} catch (_err) {
return false
}
}

export function extendPreset (base: SigmaPreset, preset: SigmaPreset): SigmaPreset {
return (config: SigmaInput) => {
if (typeof preset === 'function') {
Expand Down

0 comments on commit 3b87c28

Please sign in to comment.