Actualmente, hay tres lugares donde debería configurar ignorados para las advertencias a11y de svelte:
lua
lspconfig.svelte.setup{
cmd = { "yarn", "svelteserver", "--stdio" };
on_attach = on_attach;
settings = {
svelte = {
plugin = {
svelte = {
compilerWarnings = {
["a11y-no-onchange"] = "ignore"
}
}
}
}
}
}
svelte-check , que hace que package.json
vea feo cuando se configura y este es el único lugar para configurarlo
{
"val": "svelte-check --compiler-warnings a11y-no-onchange:ignore",
"validate": "yarn val --threshold warning && yarn tsc --noEmit"
}
eslint
settings: {
'svelte3/ignore-warnings': ({ code }) => code === 'a11y-no-onchange',
// ...
},
Me encantaría configurarlo en un solo lugar: svelte.config.js
. No se puede evitar debido a svelte-preprocess
y también estas herramientas lo están leyendo de todos modos por svelte-preprocess
, ¿por qué no usarlo por onwarn
?
Además, en la situación actual, no puedo realizar configuraciones por proyecto para el servidor de idiomas.
Idealmente, me gustaría usar svelte.config.js
tanto en herramientas de lenguaje como en empaquetado y configurar todo lo relacionado con esbelto allí.
Esto también: https://github.com/sveltejs/language-tools/tree/master/packages/svelte-vscode#settings
Los machos tienen sentido para mí. Me imagino que la parte difícil será acordar el nombre / cómo se debe especificar exactamente
Tiene sentido para cosas como las advertencias. No estoy de acuerdo con que todas las configuraciones del servidor de idiomas deban leerse, que debe ser responsabilidad del IDE proporcionarlas e integrarlas con el servidor de idiomas.
Entonces, ¿usar onwarn en su forma actual es una dirección aceptable a seguir?
Para ser compatibles con las configuraciones existentes, podríamos implementar una interfaz de devolución de llamada onwarn similar para interceptar advertencias como se hace actualmente en complementos esbeltos para paquetes.
La razón para tener tal vez no todas, pero alguna configuración para el servidor de idiomas en svelte.config.js
es que al menos las opciones de formato generalmente se configuran por proyecto. :pensando:
Las opciones de formato deben colocarse en un archivo .prettierrc
ya que la extensión hace uso de más bonito en combinación con un complemento más bonito para lograr el formateo. https://www.npmjs.com/package/prettier-plugin-svelte
Lo tengo más bonito como un gancho previo al compromiso. La configuración está en package.json
.
{
"prettier": {
"singleQuote": true,
"printWidth": 80,
"plugins": [
"prettier-plugin-svelte"
]
}
}
¿Hay algo especial en una invocación más bonita del LS? ¿O debería cargar esta configuración como suele hacerlo? :pensando:
Esto también funcionará. Mi punto fue que las opciones de formato no deberían ser la preocupación de svelte.config.js
.
Estoy de acuerdo, ahora no veo nada más que onwarn
para pasar razonablemente al svelte.config.js
.
No queda mucho por decidir.
¿Hacer la devolución de llamada onwarn
en cada herramienta suena como una buena solución?
Configuración unificada compatible con la actual de los bundlers.
Estoy bastante preocupado por agregar soporte svelte.config.js
a cosas que ya tienen mecanismos de configuración bien establecidos. En ESLint, por ejemplo, a los complementos simplemente se les pasa el objeto de configuración que ESLint ya ha cargado. Esto podría ser el resultado de la fusión de varios archivos .eslintrc.js
jerárquicos (o archivos JSON, o archivos YAML, o el contenido de las claves eslintConfig
en package.json
archivos), y No creo que ESLint le diga al complemento dónde estaba alguno de estos archivos, por lo que no sé dónde debería buscar el complemento svelte.config.js
. Existe una única forma unificada de manejo de la configuración, y el núcleo de ESLint quiere ser responsable de ello.
Entonces la solución es:
svelte-vscode
.svelte.config.js
y úsela en .eslintrc.js
alguna manera. Haga una lista con ignorados y utilícela en ambas funciones o algo así.svelte-check
a cargar la configuración desde el espacio de trabajo.¿Parece que lo único que vale la pena modificar es svelte-check
entonces?
Aparte de svelte-check
, parece que es factible en el área de usuario. :pensando:
Los candidatos para la armonización de onwarn en mi opinión son: servidor de idiomas, svelte-check, plugin rollup, plugin de paquete web.
Comentario más útil
Los candidatos para la armonización de onwarn en mi opinión son: servidor de idiomas, svelte-check, plugin rollup, plugin de paquete web.