ldc-groupe/vite.config.ts

98 lines
4.1 KiB
TypeScript

import { defineConfig, loadEnv } from 'vite';
import copy from "rollup-plugin-copy";
import laravel from 'laravel-vite-plugin';
import path from "path";
import react from '@vitejs/plugin-react';
import eslint from 'vite-plugin-eslint';
import stylelint from "vite-plugin-stylelint";
const env = loadEnv("r", process.cwd(), "");
const debugMode = env["APP_DEBUG"] === "true";
export default defineConfig({
plugins: [
laravel({
input: [
// BACK
'resources/ts/back/app.tsx',
'resources/sass/back/app.scss',
// FRONT
'resources/ts/front/app.ts',
],
refresh: true,
}),
react(),
debugMode &&
stylelint({
dev: false,
build: true,
cache: false,
include: ['**/resources/**/*.scss', '**/resources/**/*.css'],
exclude: ['node_modules', 'vendor', 'packages'],
lintOnStart: true,
emitError: true,
emitWarning: true,
emitErrorAsWarning: false,
emitWarningAsError: true,
}),
debugMode &&
eslint({
cache: false,
include: ['resources/ts/**/*.{ts,tsx}'],
exclude: ['node_modules', 'vendor', 'packages'],
lintOnStart: false,
emitWarning: true,
emitError: true,
failOnWarning: false,
failOnError: false,
}),
copy({
targets: [
{
src: [
path.normalize("resources/favicon/android-icon-36x36.png"),
path.normalize("resources/favicon/android-icon-48x48.png"),
path.normalize("resources/favicon/android-icon-72x72.png"),
path.normalize("resources/favicon/android-icon-96x96.png"),
path.normalize("resources/favicon/android-icon-144x144.png"),
path.normalize("resources/favicon/android-icon-192x192.png"),
path.normalize("resources/favicon/apple-icon-57x57.png"),
path.normalize("resources/favicon/apple-icon-60x60.png"),
path.normalize("resources/favicon/apple-icon-72x72.png"),
path.normalize("resources/favicon/apple-icon-76x76.png"),
path.normalize("resources/favicon/apple-icon-114x114.png"),
path.normalize("resources/favicon/apple-icon-120x120.png"),
path.normalize("resources/favicon/apple-icon-144x144.png"),
path.normalize("resources/favicon/apple-icon-152x152.png"),
path.normalize("resources/favicon/apple-icon-180x180.png"),
path.normalize("resources/favicon/browserconfig.xml"),
path.normalize("resources/favicon/favicon-16x16.png"),
path.normalize("resources/favicon/favicon-32x32.png"),
path.normalize("resources/favicon/favicon-96x96.png"),
path.normalize("resources/favicon/favicon.ico"),
path.normalize("resources/favicon/manifest.json"),
path.normalize("resources/favicon/ms-icon-70x70.png"),
path.normalize("resources/favicon/ms-icon-144x144.png"),
path.normalize("resources/favicon/ms-icon-150x150.png"),
path.normalize("resources/favicon/ms-icon-310x310.png"),
],
dest: path.normalize("public")
},
],
copyOnce: true,
verbose: true
}),
],
resolve: {
alias: [
{
find: "&",
replacement: "/resources/assets",
},
{
find: "@",
replacement: "/resources/ts",
},
],
},
});