Language-tools: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ onwarn ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ· svelte.config.js для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ инструмСнта

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 3 ΠΌΠ°Ρ€. 2021  Β·  10ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: sveltejs/language-tools

Π’ настоящСС врСмя Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ мСста, Π³Π΄Π΅ я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ svelte a11y:

  1. языковой сСрвСр
    lua lspconfig.svelte.setup{ cmd = { "yarn", "svelteserver", "--stdio" }; on_attach = on_attach; settings = { svelte = { plugin = { svelte = { compilerWarnings = { ["a11y-no-onchange"] = "ignore" } } } } } }
  2. svelte-check , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заставляСт package.json Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ нСкрасиво ΠΏΡ€ΠΈ настройкС, ΠΈ это СдинствСнноС мСсто для Π΅Π³ΠΎ настройки

    {
      "val": "svelte-check --compiler-warnings a11y-no-onchange:ignore",
      "validate": "yarn val --threshold warning && yarn tsc --noEmit"
    }
    
  3. eslint

    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

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

На ΠΌΠΎΠΉ взгляд, ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ Π½Π° согласованиС onwarn ΡΠ²Π»ΡΡŽΡ‚ΡΡ: language-server, svelte-check, rollup plugin, webpack plugin.

ВсС 10 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠœΡƒΠΆΡ‡ΠΈΠ½Ρ‹ мСня ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚. Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ слоТная Ρ‡Π°ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ / ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ

Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ смысл для Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠ°ΠΊ прСдупрСТдСния. Π― Π½Π΅ согласСн с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всС настройки языкового сСрвСра Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ с Π½Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ IDE Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с языковым сСрвСром.

Π—Π½Π°Ρ‡ΠΈΡ‚, использованиС onwarn Π² Π΅Π³ΠΎ Π½Ρ‹Π½Π΅ΡˆΠ½Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ - ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅?
Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ совмСстимыми с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ конфигурациями, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ интСрфСйс ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° onwarn для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ это дСлаСтся сСйчас Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ… для сборщиков.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° наличия, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ всСх, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для языкового сСрвСра Π² svelte.config.js Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. : ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅:

https://github.com/sveltejs/language-tools/tree/master/packages/svelte-vscode#sveltepluginsvelteformatenable

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ форматирования Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ» .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 Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ содСрТимоС eslintConfig ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² package.json Ρ„Π°ΠΉΠ»ΠΎΠ²) ΠΈ Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ESLint сообщаСт ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ, Π³Π΄Π΅ находится ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· этих Ρ„Π°ΠΉΠ»ΠΎΠ², поэтому я Π½Π΅ знаю, Π³Π΄Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΊΠ°Ρ‚ΡŒ svelte.config.js . БущСствуСт Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈ ядро ​​ESLint Ρ…ΠΎΡ‡Π΅Ρ‚ нСсти Π·Π° это ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

Π˜Ρ‚Π°ΠΊ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

  1. НаучитС ΠΌΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ LS Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² LS, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ svelte-vscode .
  2. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· svelte.config.js ΠΈ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π΅ Π² .eslintrc.js . Π‘ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ список с ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΎΠ±Π΅ΠΈΡ… функциях ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² этом Ρ€ΠΎΠ΄Π΅.
  3. НаучитС svelte-check Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области.

ΠŸΠΎΡ…ΠΎΠΆΠ΅, СдинствСнноС, Ρ‡Ρ‚ΠΎ стоит ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, - это svelte-check Ρ‚ΠΎΠ³Π΄Π°?

Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ svelte-check , каТСтся, Ρ‡Ρ‚ΠΎ это Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠΎ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ срСдС. : ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅:

На ΠΌΠΎΠΉ взгляд, ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ Π½Π° согласованиС onwarn ΡΠ²Π»ΡΡŽΡ‚ΡΡ: language-server, svelte-check, rollup plugin, webpack plugin.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ