라이브러리 어노테이션은 라이브러리 지시문에 달아요

라이브러리 어노테이션은 라이브러리 지시문에 달아요

라이브러리 어노테이션(annotation)은 다른 라이브러리 레벨 요소가 아니라 라이브러리 지시문(library directive)에 붙여야 한다는 규칙이에요. @TestOn 같은 어노테이션을 어디에 두느냐에 따라 컴파일러가 해석하는 위치가 달라지거든요.

출처: library_annotations — Dart linter rules

본문

라이브러리 어노테이션은 다른 라이브러리 레벨 요소가 아니라 라이브러리 지시문(library directive)에 붙이세요.

⚠️ 안 좋은 예:

@TestOn('browser')
import 'package:test/test.dart';

void main() {}

좋은 예:

@TestOn('browser')
library;

import 'package:test/test.dart';
void main() {}

참고: 위처럼 이름 없는 라이브러리(library;)는 Dart 2.19 이상에서만 지원돼요. 더 이른 버전의 Dart에서 실행될 수 있는 코드라면 library 지시문에 이름을 꼭 붙여야 한답니다.

활성화하기

library_annotations 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 library_annotations를 추가하면 돼요.

linter:
  rules:
    - library_annotations

YAML 맵(map) 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 library_annotations: true를 추가하면 됩니다.

linter:
  rules:
    library_annotations: true

더 알아보기