νμ¬ svelteμ 11y κ²½κ³ μ λν 무μλ₯Ό ꡬμ±ν΄μΌ νλ μΈ κ³³μ΄ μμ΅λλ€.
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"
}
μμ¬λ¦°νΈ
settings: {
'svelte3/ignore-warnings': ({ code }) => code === 'a11y-no-onchange',
// ...
},
svelte.config.js
ν κ³³μμ ꡬμ±νκ³ μΆμ΅λλ€. svelte-preprocess
λλ¬Έμ νΌν μ μμΌλ©° μ΄ λꡬλ μ΄μ¨λ svelte-preprocess
λν΄ μ½κ³ μμ΅λλ€. onwarn
μκ² μ΅λκΉ?
λν νμ¬ μν©μμλ μΈμ΄ μλ²μ λν νλ‘μ νΈλ³ ꡬμ±μ λ§λ€ μ μμ΅λλ€.
μ΄μμ μΌλ‘λ μΈμ΄ λꡬμ λ²λ€λ¬ λͺ¨λμμ svelte.config.js
μ¬μ©νκ³ κ±°κΈ°μμ λͺ¨λ svelte κ΄λ ¨μ ꡬμ±νκ³ μΆμ΅λλ€.
μ΄ λ¬Όκ±΄λ : https://github.com/sveltejs/language-tools/tree/master/packages/svelte-vscode#settings
λ¨μλ€μ λμκ² κ°κ°μ΄ μλ€. λλ μ΄λ €μ΄ λΆλΆμ΄ λͺ λͺ μ λμν κ²μ΄λΌκ³ μμν©λλ€ / κ·Έκ²μ΄ μΌλ§λ μ ννκ² μ§μ λμ΄μΌ νλμ§
κ²½κ³ μ κ°μ μΌμλ μλ―Έκ° μμ΅λλ€. λλ λͺ¨λ μΈμ΄ μλ² μ€μ μ μ½μ΄μΌ νλ€λ λ° λμνμ§ μμ΅λλ€. μ΄ μ€μ μ μ 곡νκ³ μΈμ΄ μλ²μ ν΅ν©νλ κ²μ IDEμ μ± μμ΄μ΄μΌ ν©λλ€.
λ°λΌμ νμ¬ νμμΌλ‘ onwarnμ μ¬μ©νλ κ²μ΄ νμ©λλ λ°©ν₯μ
λκΉ?
κΈ°μ‘΄ ꡬμ±κ³Ό νΈνλλλ‘ νμ¬ λ²λ€λ¬μ© svelte νλ¬κ·ΈμΈμμ μνλλ κ²μ²λΌ κ²½κ³ λ₯Ό κ°λ‘μ±κΈ° μν΄ μ μ¬ν onwarn μ½λ°± μΈν°νμ΄μ€λ₯Ό ꡬνν μ μμ΅λλ€.
λͺ¨λλ μλμ§λ§ svelte.config.js
μ μΈμ΄ μλ²μ λν μΌλΆ ꡬμ±μ΄ μλ μ΄μ λ μ΅μν νμ μ΅μ
μ΄ μΌλ°μ μΌλ‘ νλ‘μ νΈλ³λ‘ ꡬμ±λκΈ° λλ¬Έμ
λλ€. :μκ°:
νμ₯ νλ‘κ·Έλ¨μ λ μμ νλ¬κ·ΈμΈκ³Ό ν¨κ» λ μμ νλ¬κ·ΈμΈμ μ¬μ©νμ¬ ν¬λ§·μ μννλ―λ‘ ν¬λ§· μ΅μ
μ .prettierrc
νμΌμ λ£μ΄μΌ ν©λλ€. https://www.npmjs.com/package/prettier-plugin-svelte
λλ pre-commit hookμΌλ‘ λ μμλ€. ꡬμ±μ 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
μ²λΌ ꡬμ±μ LSμ μ λ¬νλλ‘ κ°λ₯΄μΉ©λλ€.svelte.config.js
μμ ꡬμ±μ κ°μ Έμμ .eslintrc.js
μ΄λ»κ²λ μ¬μ©νμμμ€. 무μλ‘ λͺ©λ‘μ λ§λ€κ³ λ κΈ°λ₯ λλ 무μΈκ°μμ μ¬μ©νμμμ€.svelte-check
μκ² μμ
곡κ°μμ ꡬμ±μ λ‘λνλλ‘ κ°λ₯΄μΉ©λλ€.μμ ν κ°μΉκ° μλ κ²μ svelte-check
λΏμΈ κ² κ°μ΅λλ€. κ·Έλ¬λ©΄ ?
svelte-check
μΈμλ μ¬μ©μ μμμμ κ°λ₯ν κ² κ°μ΅λλ€. :μκ°:
λ΄ μκ°μ onwarnμ μ‘°νλ₯Ό μν ν보λ μΈμ΄ μλ², svelte-check, λ‘€μ νλ¬κ·ΈμΈ, μΉν© νλ¬κ·ΈμΈμ λλ€.
κ°μ₯ μ μ©ν λκΈ
λ΄ μκ°μ onwarnμ μ‘°νλ₯Ό μν ν보λ μΈμ΄ μλ², svelte-check, λ‘€μ νλ¬κ·ΈμΈ, μΉν© νλ¬κ·ΈμΈμ λλ€.