manifest
manifest는 브라우저 확장의 매니페스트(Manifest)를 선언하는 데 사용되며, 최종 출력 디렉토리의 manifest.json 내용입니다.
개요
- 타입:
ManifestConfig | ManifestPathConfig | undefined - 기본값:
undefined(자동 로드) - 필수 여부: 아니오
구성 방식
1. 인라인 객체 (단일 브라우저)
가장 간단한 구성 방식으로, 하나의 브라우저만 지원하거나 두 브라우저의 구성이 동일한 경우에 적합합니다.
2. 브라우저별 분리 (chromium / firefox)
Chrome과 Firefox가 다른 구성이 필요할 때 사용합니다.
3. 파일 경로 구성
manifest를 독립적인 JSON 파일에 저장합니다.
경로는 appDir을 기준으로 합니다.
4. 자동 로드 (권장)
manifest 구성을 작성하지 않으면 프레임워크가 자동으로 찾습니다:
appDir/manifest.json,appDir/manifest.chromium.json,appDir/manifest.firefox.jsonappDir/manifest/manifest.json,appDir/manifest/manifest.chromium.json,appDir/manifest/manifest.firefox.json
찾은 모든 파일은 기본으로 사용되며, 동일한 디렉토리의 chromium/firefox 파일과 병합됩니다.
Manifest에서 Entry 소스 파일 직접 지정
addfox 1.x부터는 manifest에서 Entry의 소스 파일 경로를 직접 지정할 수 있으며, 프레임워크가 자동으로 인식하고 빌드한 후 경로를 출력물 경로로 교체합니다.
프레임워크는 다음을 수행합니다:
- 이러한 소스 파일 경로(
.ts,.tsx,.js,.jsx) 인식 - 자동으로 entry로 처리
- 빌드 후 경로를 출력물 경로로 교체 (예:
background/index.js)
지원하는 Entry 필드
manifest의 다음 필드에서 소스 파일 경로를 사용할 수 있습니다:
Entry 해석 우선순위
프레임워크의 Entry 해석 우선순위는 다음과 같습니다:
- 최고:
config.entry에 명시적으로 구성된 Entry - 둘째: manifest에 지정된 소스 파일 경로
- 셋째: 자동 발견 (파일 규칙 기반)
이는 다음을 의미합니다:
config.entry에서 Entry를 지정하면 manifest의 소스 파일 경로는 무시됩니다config.entry를 구성하지 않았지만 manifest에 소스 파일 경로가 있으면 프레임워크는 manifest의 경로를 사용합니다- 둘 다 없으면 프레임워크가 규칙에 따라 Entry를 자동 발견합니다
타입 정의
주의사항
- Entry 경로(예:
popup/index.html)는 프레임워크가entry와outDir에 따라 자동 계산합니다 - CLI
-b chrome|firefox를 사용하여 해당 브랜치를 선택하여 빌드하세요 - 프레임워크는 자동으로
background,content_scripts,action등의 Entry 경로를 manifest에 주입합니다 - manifest에서 소스 파일 경로를 사용할 때는 파일이 존재하는지 확인하세요. 그렇지 않으면 빌드가 실패합니다

