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