目前,我应该在三个地方为 svelte 的 a11y 警告配置忽略:
lua
lspconfig.svelte.setup{
cmd = { "yarn", "svelteserver", "--stdio" };
on_attach = on_attach;
settings = {
svelte = {
plugin = {
svelte = {
compilerWarnings = {
["a11y-no-onchange"] = "ignore"
}
}
}
}
}
}
svelte-check ,这使得package.json
在配置时看起来很难看,这只是配置它的地方
{
"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',
// ...
},
我想在一个地方配置它: svelte.config.js
。 由于svelte-preprocess
无法避免,而且这些工具无论如何都在为svelte-preprocess
读取它,为什么不将它用于onwarn
?
同样在当前情况下,我无法为语言服务器进行每个项目的配置。
理想情况下,我想在语言工具和捆绑器中使用svelte.config.js
并在那里配置与 svelte 相关的所有内容。
这东西也是: https :
男性对我来说很有意义。 我想困难的部分将是就命名/应该如何指定达成一致
这对于警告之类的事情是有意义的。 我不同意所有语言服务器设置都应该从中读取,这应该是 IDE 的责任来提供这些设置并与语言服务器集成。
那么以目前的形式使用 onwarn 是可以接受的方向吗?
为了与现有配置兼容,我们可以实现类似的 onwarn 回调接口来拦截警告,就像目前在捆绑器的 svelte 插件中所做的那样。
可能不是全部,但是svelte.config.js
语言服务器的一些配置的原因是至少通常在每个项目的基础上配置格式选项。 :思维:
格式化选项应该放在.prettierrc
文件中,因为扩展使用 prettier 和 prettier 插件来完成格式化。 https://www.npmjs.com/package/prettier-plugin-svelte
我有更漂亮的预提交钩子。 配置在package.json
。
{
"prettier": {
"singleQuote": true,
"printWidth": 80,
"plugins": [
"prettier-plugin-svelte"
]
}
}
来自 LS 的漂亮调用有什么特别之处吗? 或者它应该像往常一样加载这个配置? :思维:
这也会起作用。 我的观点是格式选项不应该是svelte.config.js
。
我同意,现在除了onwarn
之外,我看不到其他任何东西可以合理地转移到svelte.config.js
。
剩下的决定不多了。
在每个工具中制作onwarn
回调听起来是一个很好的解决方案吗?
与捆绑器中的当前配置兼容的统一配置。
我很担心为已经有完善的配置机制的东西添加svelte.config.js
支持。 例如,在 ESLint 中,插件只是传递 ESLint 已经加载的配置对象。 这可能是多个分层.eslintrc.js
文件(或 JSON 文件、YAML 文件,或package.json
文件中eslintConfig
键的内容)合并的结果,以及我不认为 ESLint 会告诉插件这些文件在哪里,所以我不知道插件应该在哪里寻找svelte.config.js
。 有一种统一的方式来处理配置,ESLint 核心希望对此负责。
所以解决办法是:
svelte-vscode
那样。svelte.config.js
导入配置并以某种方式在.eslintrc.js
使用它。 制作一个带有忽略的列表,并在两个函数或其他东西中使用它。svelte-check
从工作区加载配置。看起来唯一值得修改的是svelte-check
那么?
除了svelte-check
,感觉它在用户空间中是可行的。 :思维:
在我看来,协调 onwarn 的候选者是:language-server、svelte-check、rollup 插件、webpack 插件。
最有用的评论
在我看来,协调 onwarn 的候选者是:language-server、svelte-check、rollup 插件、webpack 插件。