-
Notifications
You must be signed in to change notification settings - Fork 260
/
vite.config.build.locales.ts
53 lines (48 loc) · 1.07 KB
/
vite.config.build.locales.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { defineConfig } from 'vite'
import dts from 'vite-plugin-dts'
import path from 'path'
import { globSync } from 'glob'
import config from './package.json'
const banner = `/*!
* ${config.name} v${config.version} ${new Date()}
* (c) 2023 @jdf2e.
* Released under the MIT License.
*/`
interface Entries {
[key: string]: string
}
const entries: Entries = {}
const locales = globSync(`./src/locales/*.ts`)
locales.forEach((item: string) => {
entries[item.replace('.ts', '').replace('src/locales/', '')] = path.join(
__dirname,
item
)
})
export default defineConfig({
plugins: [
dts({
include: './src/locales/*.ts',
outDir: './dist/locales',
beforeWriteFile(filePath, content) {
return { filePath: filePath.replace('src/locales', ''), content }
},
}),
],
build: {
emptyOutDir: false,
lib: {
entry: '',
name: 'index',
formats: ['es'],
},
rollupOptions: {
input: entries,
output: {
banner,
dir: './dist/locales',
entryFileNames: '[name].js',
},
},
},
})