2025-07-03
- étoffe le fichier `JOURNAL` avec les nouveaux changements majeurs. - propose une tâche _Justfile_ pour un rechargement à chaud primitif lors de changements CSS. - ne précompresse pas et ne propose plus de versions « legacy » des scripts JS en methodes développement. - appose correctement `aria-current` sur le lien de la page courante dans les deux menus de navigation. - remplace une image statique « Scroll down » avec une animation SVG reposant sur du texte et des chemins. - renomme moultes choses.
This commit is contained in:
parent
b85a03a141
commit
d30b83d093
49 changed files with 830 additions and 359 deletions
|
|
@ -17,13 +17,40 @@ const SRC_TYPESCRIPT_PATHS = new fdir()
|
|||
.crawl(`web/app/themes/${SLUG_THEME}/src/scripts`)
|
||||
.withPromise();
|
||||
|
||||
/* Voir le fichier vite.env.d.ts */
|
||||
// Voir le fichier vite.env.d.ts.
|
||||
const SCHEMA_ENVIRONNEMENT = v.object({
|
||||
VITE_GLITCHTIP_NSD: v.pipe(v.string(), v.url(), v.readonly()),
|
||||
VITE_MODE: v.pipe(v.string(), v.readonly()),
|
||||
VITE_URL: v.pipe(v.string(), v.nonEmpty(), v.url(), v.readonly()),
|
||||
});
|
||||
|
||||
const basePlugins = [
|
||||
// Permet de valider les variables d'environnements définies à partir d'un schéma Valibot
|
||||
valibot(SCHEMA_ENVIRONNEMENT),
|
||||
manifestSRI({ algorithms: ["sha512"] }),
|
||||
nodePolyfills({
|
||||
include: [],
|
||||
protocolImports: true,
|
||||
}),
|
||||
];
|
||||
// Les extensions activées en production.
|
||||
const prodPlugins = [
|
||||
legacy({
|
||||
modernPolyfills: true,
|
||||
modernTargets:
|
||||
"chrome >0 and last 3 years, edge >0 and last 3 years, safari >0 and last 3 years, firefox >0 and last 3 years, and_chr >0 and last 3 years, and_ff >0 and last 3 years, ios >0 and last 3 years",
|
||||
renderLegacyChunks: true,
|
||||
}),
|
||||
compression({
|
||||
algorithms: [
|
||||
"brotliCompress",
|
||||
"gzip",
|
||||
"zstandard",
|
||||
],
|
||||
threshold: 1000,
|
||||
}),
|
||||
];
|
||||
|
||||
export default defineConfig(async ({ mode }) => {
|
||||
const env = loadEnv(mode, process.cwd(), "VITE");
|
||||
|
||||
|
|
@ -32,9 +59,9 @@ export default defineConfig(async ({ mode }) => {
|
|||
build: {
|
||||
assetsDir: ".",
|
||||
emptyOutDir: true,
|
||||
/* Génère un fichier manifeste dans outDir */
|
||||
// Génère un fichier manifeste dans outDir.
|
||||
manifest: true,
|
||||
minify: env.VITE_MODE === "production",
|
||||
minify: env["VITE_MODE"] === "production",
|
||||
outDir: resolve("./web/app/themes/haiku-atelier-2024/assets/js"),
|
||||
reportCompressedSize: true,
|
||||
rollupOptions: {
|
||||
|
|
@ -42,39 +69,17 @@ export default defineConfig(async ({ mode }) => {
|
|||
output: {
|
||||
assetFileNames: "[name].[hash].[extname]",
|
||||
chunkFileNames: "[name].[hash].js",
|
||||
compact: env.VITE_MODE === "production",
|
||||
compact: env["VITE_MODE"] === "production",
|
||||
entryFileNames: "[name].js",
|
||||
validate: true,
|
||||
},
|
||||
treeshake: true,
|
||||
},
|
||||
sourcemap: env.VITE_MODE === "production",
|
||||
sourcemap: env["VITE_MODE"] === "production",
|
||||
target: "es2020",
|
||||
write: true,
|
||||
},
|
||||
mode: env.VITE_MODE ?? "production",
|
||||
plugins: [
|
||||
// Permet de valider les variables d'environnements définies à partir d'un schéma Valibot
|
||||
valibot(SCHEMA_ENVIRONNEMENT),
|
||||
manifestSRI({ algorithms: ["sha512"] }),
|
||||
nodePolyfills({
|
||||
include: [],
|
||||
protocolImports: true,
|
||||
}),
|
||||
legacy({
|
||||
modernPolyfills: true,
|
||||
modernTargets:
|
||||
"chrome >0 and last 3 years, edge >0 and last 3 years, safari >0 and last 3 years, firefox >0 and last 3 years, and_chr >0 and last 3 years, and_ff >0 and last 3 years, ios >0 and last 3 years",
|
||||
renderLegacyChunks: true,
|
||||
}),
|
||||
compression({
|
||||
algorithms: [
|
||||
"brotliCompress",
|
||||
"gzip",
|
||||
"zstandard",
|
||||
],
|
||||
threshold: 1000,
|
||||
}),
|
||||
],
|
||||
mode: env["VITE_MODE"] ?? "production",
|
||||
plugins: env["VITE_MODE"] === "production" ? [...basePlugins, ...prodPlugins] : [...basePlugins],
|
||||
};
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue