Files
ABSDEV/vite.config.js
2026-07-23 17:23:57 +01:00

87 lines
2.2 KiB
JavaScript

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import { bunny } from 'laravel-vite-plugin/fonts';
import tailwindcss from '@tailwindcss/vite';
import { globSync } from 'glob';
import path from 'node:path';
const normalise = (file) => file.replaceAll('\\', '/');
const moduleCss = globSync([
'Modules/*/Resources/assets/css/**/*.{css,scss,sass}',
'Modules/*/Resources/assets/sass/**/*.{css,scss,sass}',
]).map(normalise);
const moduleJs = globSync([
'Modules/*/Resources/assets/js/**/*.{js,ts}',
]).map(normalise);
const stylistThemeCss = globSync([
'Modules/Stylist/Resources/themes/*/css/**/*.{css,scss,sass}',
]).map(normalise);
const inputs = [
'resources/css/app.css',
'resources/js/app.js',
/* @chisel-passkeys */
'resources/js/passkeys.js',
/* @end-chisel-passkeys */
...moduleCss,
...moduleJs,
...stylistThemeCss,
];
export default defineConfig({
plugins: [
laravel({
input: [...new Set(inputs)],
refresh: [
'app/**',
'resources/views/**',
'routes/**',
// Module templates and Livewire classes
'Modules/*/Resources/views/**',
'Modules/*/Resources/themes/**/views/**',
'Modules/*/App/Livewire/**',
'Modules/*/app/Livewire/**',
// Module PHP classes that may contain Tailwind classes
'Modules/*/Http/**',
'Modules/*/View/**',
],
fonts: [
bunny('Instrument Sans', {
weights: [400, 500, 600],
}),
],
}),
tailwindcss(),
],
resolve: {
alias: {
'@': path.resolve(__dirname, 'resources/js'),
'@modules': path.resolve(__dirname, 'Modules'),
'@stylist': path.resolve(
__dirname,
'Modules/Stylist/Resources',
),
},
},
server: {
cors: true,
watch: {
ignored: [
'**/storage/framework/views/**',
'**/vendor/**',
],
},
},
});