Compare commits
2 commits
544a74a340
...
09d05f53da
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09d05f53da | ||
|
|
fca67beb6b |
1 changed files with 29 additions and 1 deletions
|
|
@ -2,11 +2,39 @@ import { defineConfig } from 'vite'
|
|||
import { svelte } from '@sveltejs/vite-plugin-svelte'
|
||||
import path from 'path'
|
||||
|
||||
/**
|
||||
* Plugin: les fonts restent dans assets/fonts/, sans duplication dans dist/.
|
||||
* Vite les copie dans dist/ pendant le build — ce plugin les supprime du bundle
|
||||
* et réécrit leurs URLs dans le CSS pour pointer vers /assets/fonts/.
|
||||
*/
|
||||
function keepFontsInPlace() {
|
||||
const fontRe = /\.(woff2?|ttf|otf)$/i
|
||||
return {
|
||||
name: 'keep-fonts-in-place',
|
||||
generateBundle(_, bundle) {
|
||||
for (const [key, chunk] of Object.entries(bundle)) {
|
||||
if (fontRe.test(key)) {
|
||||
delete bundle[key]
|
||||
}
|
||||
}
|
||||
for (const chunk of Object.values(bundle)) {
|
||||
if (chunk.type === 'asset' && chunk.fileName.endsWith('.css')) {
|
||||
chunk.source = chunk.source.replace(
|
||||
/url\((['"]?)([^'")\s]*\.(woff2?|ttf|otf))\1\)/gi,
|
||||
(_, _q, p) => `url("/assets/fonts/${p.split('/').pop()}")`
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
svelte({
|
||||
configFile: './svelte.config.js'
|
||||
})
|
||||
}),
|
||||
keepFontsInPlace(),
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue