Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

221
Views
How to avoid vite build deleting inside of "dist" directory?

I want to create multiple libraries by vite, so I try "rollupOptions" first. Like,

import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    rollupOptions: {
      input: {
        "qy-viewer": 'src/qy-viewer.ts',
        "qy-swiper": 'src/qy-swiper.ts'
      }
    }
  }
})

But this create funny results including hash-like string, like qy-swiper.f3fc032d.js.
This is useless, so I gave up this approach.

Next I try preparing multiple vite config files. Like,

vite.qy-swiper.config.ts

import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    lib: {
      entry: 'src/qy-swiper.ts',
      name: 'QySwiper',
      fileName: (format) => `qy-swiper.${format}.js`
    },
    rollupOptions: {
    }
  }
})

vite.qy-viewer.config.ts

import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    lib: {
      entry: 'src/qy-viewer.ts',
      name: 'QyViewer',
      fileName: (format) => `qy-viewer.${format}.js`
    },
    rollupOptions: {
    }
  }
})

package.json

{
  "scripts": {
    "build:swiper": "tsc && vite build --config vite.qy-swiper.config.ts",
    "build:viewer": "tsc && vite build --config vite.qy-viewer.config.ts",
    "build:lib": "npm run build:swiper && npm run build:viewer"
  },
}

This works very fine when I execute npm run build:swiper or npm run build:viewer independently, but once I execute npm run build:lib, only qy-viewer is created.
Are there any way to avoid deleting files in dist directory by vite build ?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Set build.emptyOutDir to false:

import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    emptyOutDir: false,
  },
  ⋮
})
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!