Badges and printed views need a PDF writer, an embedded font whose metrics the tests can measure, and the paper the machine prints on. pdf-lib with fontkit writes the sheet; Noto Sans (OFL) ships with its provenance and SHA-256, and travels into www/ with every third-party notice that the minified bundle drops. The paper is kept per machine in reglages_locaux.json. A4 and Letter derive the A6 grid from their dimensions; the PDF libraries load in two deferred chunks, each under the 1000 kB threshold. Checked: 3048 node, 639 browser and 67 long tests green from the index. --- FR --- [ADD] sorties : pdf-lib, Noto Sans, formats de papier, imposition Les badges et les vues imprimables exigent un producteur de PDF, une police embarquée que les épreuves mesurent, et le papier de la machine. pdf-lib et fontkit écrivent la planche ; Noto Sans (OFL) arrive avec sa provenance et son SHA-256, et voyage dans www/ avec chaque avis de tiers que le paquet minifié retire. Le papier se garde par machine dans reglages_locaux.json. A4 et Lettre dérivent la grille A6 de leurs dimensions ; les bibliothèques PDF se chargent en deux morceaux différés, chacun sous le seuil de 1000 ko. Vérifié : 3048 node, 639 navigateur et 67 longues vertes depuis l'index. Assisted-by: Claude Opus 5.5
45 lines
1.8 KiB
JavaScript
45 lines
1.8 KiB
JavaScript
// © 2026 TechnoLibre (http://www.technolibre.ca)
|
|
// License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
|
|
|
|
// Construit la page que servent la plateforme web de Capacitor et la coquille
|
|
// Electron. La base relative fait commencer chaque chemin d'actif par « ./ » :
|
|
// la coquille charge la page par file://, où un chemin absolu « /assets/… »
|
|
// désigne la racine du disque.
|
|
//
|
|
// Le seuil d'avertissement d'un morceau vaut 1 000 ko, et non les 500 ko de
|
|
// Vite : la page se lit sur le disque local, hors ligne, une fois au
|
|
// lancement, et un seul morceau porte l'application entière, travailleur de
|
|
// génération incrusté compris. Le seuil n'avertit donc que d'une croissance
|
|
// anormale du paquet ; test/construction.long.test.js tombe au-delà.
|
|
//
|
|
// La production de la planche se charge à part, par un import différé, et
|
|
// jamais au lancement. pdf-lib et fontkit y pèsent ensemble plus d'un
|
|
// morceau : deux groupes les séparent, fontkit seul d'un côté, pdf-lib et ce
|
|
// qu'il tire — pako, tslib, les polices standard, upng — de l'autre. La
|
|
// police embarquée, elle, forme deux morceaux différés sans groupe : un par
|
|
// graisse, puisque chacune a son module (src/polices).
|
|
import { defineConfig } from 'vite';
|
|
import { svelte } from '@sveltejs/vite-plugin-svelte';
|
|
|
|
export default defineConfig({
|
|
base: './',
|
|
plugins: [svelte()],
|
|
build: {
|
|
outDir: 'www',
|
|
emptyOutDir: true,
|
|
chunkSizeWarningLimit: 1000,
|
|
rolldownOptions: {
|
|
output: {
|
|
codeSplitting: {
|
|
groups: [
|
|
{ name: 'fontkit', test: /[\\/]node_modules[\\/]@pdf-lib[\\/]fontkit[\\/]/ },
|
|
{
|
|
name: 'pdf-lib',
|
|
test: /[\\/]node_modules[\\/](?:pdf-lib|pako|tslib|@pdf-lib[\\/](?:standard-fonts|upng))[\\/]/,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|