## 事象
以下のようにclass以外をimportしたとき
```ts
import { TaskService } from "./app/TaskService";
```
TS1371エラーが出る。
```
TS1371: This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'.
```
## 原因
[[importsNotUsedAsValues]]が`error`にセットされているため。通常の`import`で`type`や`interface`を指定すると、値としては利用されていないためエラーになる
[[Svelte]]を利用するプロジェクトで[[tsconfig.json]]にて`extends`に指定する以下にこの設定が含まれる。
`tsconfig.json`
```json
"extends": "@tsconfig/svelte/tsconfig.json",
```
`@tsconfig/svelte/tsconfig.json`
```ts
/**
Svelte Preprocess cannot figure out whether you have a value or a type, so tell TypeScript
to enforce using `import type` instead of `import` for Types.
*/
"importsNotUsedAsValues": "error",
```
[[Svelte]]単独では値と型の判断ができないため、[[TypeScript]]のコードで[[Type-Only Imports and Export]]を使う必要がある。ただ、`import Hoge`を`import type Hoge`と書くのは忘れてしまうことも多いため、この設定が推奨されているはず。
## 解決方法
[[Type-Only Imports and Export]]を使う。
```diff
- import { TaskService } from "./app/TaskService";
+ import type { TaskService } from "./app/TaskService";
```