UNPKG

vite-plugin-symfony

Version:

A Vite plugin to integrate easily Vite in your Symfony application

36 lines (34 loc) 1.27 kB
import { VitePluginSymfonyStimulusOptions } from "~/types"; export function resolvePluginStimulusOptions( userConfig?: boolean | string | Partial<VitePluginSymfonyStimulusOptions>, ): false | VitePluginSymfonyStimulusOptions { let config: false | VitePluginSymfonyStimulusOptions; if (userConfig === true) { config = { controllersDir: "./assets/controllers", controllersFilePath: "./assets/controllers.json", hmr: true, fetchMode: "eager", identifierResolutionMethod: "snakeCase", }; } else if (typeof userConfig === "string") { config = { controllersDir: "./assets/controllers", controllersFilePath: userConfig, hmr: true, fetchMode: "eager", identifierResolutionMethod: "snakeCase", }; } else if (typeof userConfig === "object") { config = { controllersDir: userConfig.controllersDir ?? "./assets/controllers", controllersFilePath: userConfig.controllersFilePath ?? "./assets/controllers.json", hmr: userConfig.hmr !== false ? true : false, fetchMode: userConfig.fetchMode === "lazy" ? "lazy" : "eager", identifierResolutionMethod: userConfig.identifierResolutionMethod ?? "snakeCase", }; } else { config = false; } return config; }