Feature Flags
SEED에 중요한 Lynx 플래그와 엔진·빌드 도구 버전별 유지 및 생략 조건을 안내합니다.
Lynx 플래그는 SEED의 스타일과 동작에 필요한 기능과 화면에 따라 선택하는 기능으로 나누어 설정하세요. 기능이 필요하더라도 플러그인이 이미 켜 주면 설정을 생략할 수 있습니다. 반대로 빌드 도구에서 옵션이 사라졌다고 엔진의 기능까지 제거된 것은 아닙니다.
SEED의 최소 지원 Lynx Engine은 3.6입니다. 이 문서는 엔진 버전을 올리도록 요구하는 대신, 각 플래그를 언제 유지하고 언제 지울 수 있는지 설명합니다.
최소 권장 설정
다음은 SEED의 CSS 상속, 인라인 변수, Dynamic/Static 타이포그래피, fixed 요소를 사용하는 앱의 기본 구성입니다.
Selector와 Invalidation은 pluginReactLynx의 기본값을 사용합니다.
여러 손가락의 터치 정보를 사용하는 화면에서는 enableMultiTouch: true를 추가하세요. Pull To Refresh를 쓰는 앱은 pluginReactLynx에 enableNewGesture: true도 추가해야 합니다. 테마·모션 설정의 런타임 갱신은 아래 globalPropsMode 설명을 확인하세요.
예제의 옵션과 기본값은 다음 출시 패키지 조합을 기준으로 확인했습니다. 다른 버전에서는 설치된 패키지의 타입과 changelog도 확인하세요.
@lynx-js/react-rsbuild-plugin | @lynx-js/config-rsbuild-plugin | config 플러그인이 사용하는 @lynx-js/type-config | @lynx-js/rspeedy |
|---|---|---|---|
0.18.3 | 0.2.2 | 4.1.3 | 0.16.4 |
0.20.2 | 0.2.3 | 4.2.0 | 0.17.2 |
@lynx-js/type-config는 빌드에서 허용할 설정의 타입과 키 목록입니다.
버전이 4.2.0이라고 앱이 Engine 4.2에서 실행되거나, Engine 4.2가 출시되었다는 뜻은 아닙니다.
실행 엔진의 출시 여부는 Lynx versions를 확인하세요.
설정 위치와 버전 읽는 법
| 구분 | 의미 |
|---|---|
| 실제 Lynx Engine | 앱의 네이티브 호스트가 사용하는 엔진입니다. 설정을 실제로 읽고 실행합니다. |
engineVersion / targetSdkVersion | 번들의 대상 버전입니다. 일부 기본값의 호환성 분기를 결정합니다. 엔진을 업그레이드하지 않습니다. |
| 플러그인 기본값 | 번들을 만들 때 플러그인이 넣는 값입니다. 엔진 자체의 기본값과 다를 수 있습니다. |
| 호스트 settings / native config | 일부 플래그를 생략했을 때 엔진이 읽는 앱·플랫폼 설정입니다. 앱마다 결과가 달라질 수 있습니다. |
React 플러그인 0.9.0부터 targetSdkVersion이 deprecated되었고 engineVersion의 별칭으로 유지됩니다. 확인한 0.18.3·0.20.2는 둘 다 허용하지만, 새 설정에는 engineVersion을 사용하세요. 둘을 함께 지정하면 engineVersion이 우선하며, 둘 다 생략한 플러그인 기본값은 3.2입니다. 아래에서 target SDK라고 할 때는 엔진에 전달된 이 대상 버전을 뜻합니다. 패키지 변경 이력
| 플러그인 | 설정할 항목 |
|---|---|
pluginReactLynx | enableCSSSelector, enableCSSInvalidation, enableCSSInheritance, customCSSInheritanceList, enableNewGesture 등 React 빌드에 공개된 옵션 |
pluginLynxConfig | 해당 버전의 Config·CompilerOptions에 공개된 옵션. 최소 예제의 네 항목 및 지원되는 이벤트·레이아웃 옵션 |
두 플러그인에 모두 있는 키도 있지만, 모든 플래그를 pluginLynxConfig에 모을 수는 없습니다.
확인한 React 플러그인은 공유된 config 중 자신의 기본 옵션 목록에 있는 키만 읽어 덮어씁니다. config 플러그인은 공개 키를 검증한 뒤 컴파일러·페이지 설정으로 전달하며, 목록 밖의 키는 오류로 거부합니다. 같은 키는 한 곳에서만 설정하세요. React 구현 · Config 구현
SEED에서 중요한 플래그
활성화 유지는 기능이 필요하다는 뜻이고, 명시 설정 유지는 코드에 옵션을 남겨야 한다는 뜻입니다.
다음 표는 확인한 Engine 3.6·3.7·3.8·3.9·4.0·4.1 출시 tag의 설정을 기준으로 합니다. true/false는 별도 호스트 override가 없을 때의 값이며, 예외는 아래에 설명합니다.
| 플래그 | SEED에서 중요한 이유 | Engine 3.6–3.7 | Engine 3.8–4.0 | Engine 4.1 | 설정 위치 |
|---|---|---|---|---|---|
enableCSSSelector | class, descendant/child selector 등 SEED CSS 매칭 | 활성화 유지, React 기본값으로 생략 | 동일 | 동일 | React |
enableCSSInvalidation | 상위 class 등의 변경에 따른 결합 선택자 스타일 갱신 | 활성화 유지, React 기본값으로 생략 | 동일 | 동일 | React |
enableCSSInheritance | 자식 텍스트의 색상·타이포그래피 상속 | true 명시 | true 명시 | true 명시 | Config 또는 React |
enableCSSInlineVariables | 컴포넌트가 인라인으로 전달하는 CSS 변수 | true 명시 | true 명시 | true 명시 | Config |
fontScaleEffectiveOnlyOnSp | Dynamic(sp)·Static(px) 타이포그래피 구분 | true 명시 | true 명시 | true 명시 | Config |
enableFixedNew | fixed 요소의 레이아웃·삽입 처리 | fixed 사용 시 true 권장 | 동일 | 다른 unified fixed 경로가 켜진 경우 아래 설명 참고 | Config |
enableMultiTouch | 터치 기반 컴포넌트·화면에서 여러 손가락의 이벤트 정보 사용 | 멀티터치가 필요하면 true 명시 | 동일 | 동일 | Config |
globalPropsMode | 테마·reduced motion 등 호스트 설정 변경을 SEED 훅에 전달 | 기본 "reactive" 또는 이벤트 구독 방식의 "event" 선택 | 동일 | 동일 | React |
enableTextRefactor | 텍스트 측정·baseline 등의 개선 경로 | target SDK ≥ 2.2이면 생략 | 동일 | 동일 | 최신 Config에 공개되지 않음 |
enableFlexBasisZeroPercent | 웹과 같은 flex 축약 해석을 선택할 때 | 지원 안 함 | 필요 시 true | target SDK ≥ 4.1이면 생략 가능, 그 미만이면 필요 시 true | Config |
Selector·Invalidation의 생략 조건은 React 플러그인 0.18.3·0.20.2에서 기본값 true를 확인했다는 것입니다. “Engine 3.6 이상에서 항상 켜진다”는 뜻이 아닙니다. 더 오래된 플러그인의 기본값 변경 최초 버전은 미확인입니다.
CSS 매칭과 갱신
enableCSSSelector와 enableCSSInvalidation의 엔진 컴파일러 설정 기본값은 모두 false입니다. React 플러그인이 둘 다 true를 넣으므로 최소 예제에 반복하지 않아도 됩니다. 명시할 필요가 있다면 다음 위치를 사용하세요. 엔진 설정 · React 옵션
둘 다 공통 CSS 컴파일러·스타일 엔진의 옵션이며, 설정 정의의 도입 기록은 Selector 2.8, Invalidation 2.10입니다. 이 도입 기록은 React 플러그인의 기본 활성화 시점을 뜻하지 않습니다.
Invalidation은 .a .b 같은 선택자가 있을 때 상위 요소의 class가 바뀌면 영향을 받는 하위 요소의 스타일을 다시 계산하도록 합니다. 끄면 전체 스타일을 재계산하는 것이 아니라, 결합 선택자가 처음에는 맞더라도 후속 변경에 따른 관련 스타일 갱신이 수행되지 않을 수 있습니다.
영향받는 요소를 모으고 갱신하는 데에도 비용이 있습니다. 공식 문서는 이런 선택자 사용이 없다면 성능을 위해 끌 수 있다고 설명하지만, SEED와 앱의 상태·테마 갱신에 필요한지 확인 없이 끄지 마세요. 공식 설명 · 3.6 문서 원본
이 플래그가 웹의 모든 선택자를 지원한다는 뜻은 아닙니다. SEED Lynx의 상태 스타일은 recipe variant가 만든 className을 사용합니다. 웹의 data-* attribute selector를 그대로 옮길 수 있다고 가정하지 마세요.
CSS 상속과 인라인 변수
두 옵션은 서로 다른 기능입니다. 공식 Config 설명 · 3.6 설정 정의
| 플래그 | 플랫폼·도입 기록 | 기본값과 유지 조건 |
|---|---|---|
enableCSSInheritance | Android·iOS·HarmonyOS, 설정 정의의 Since 1.6 | 엔진·React 기본값 false. SEED의 상속되는 텍스트 스타일을 위해 true 유지. 확인한 4.1까지 일괄 생략할 엔진 버전 경계 없음 |
enableCSSInlineVariables | 공통 스타일 엔진, Since 3.6 | 정의상 false, 생략 시 native/settings fallback 가능. SEED 컴포넌트가 인라인으로 넘기는 CSS 변수를 위해 true 유지. 호스트 활성화가 보장되지 않으면 생략하지 않음 |
CSS 상속은 Lynx가 지원하는 속성 범위에 적용됩니다. 웹의 모든 속성이 동일하게 상속된다는 뜻은 아닙니다.
상속 목록을 바꿔야 한다면 pluginReactLynx의 customCSSInheritanceList를 사용하세요. 기본 목록에 추가하는 방식이 아니라 목록을 지정하는 옵션이므로 SEED가 사용하는 상속 속성을 빠뜨리지 않도록 확인하세요.
enableCSSInlineVariables를 끈다고 스타일시트의 CSS 변수 자체가 없어지는 것은 아닙니다. 또한 class를 바꾸는 테마 전환과 인라인 변수 갱신을 같은 기능으로 보지 마세요.
텍스트와 레이아웃
| 플래그 | 플랫폼·도입 기록 | 언제 설정하고 언제 생략하나요? |
|---|---|---|
fontScaleEffectiveOnlyOnSp | Android·iOS·HarmonyOS, Since 2.4 | 기본값 false. SEED의 Dynamic 토큰은 sp, Static 토큰은 px이므로 true 유지. 모든 px 여백·아이콘까지 시스템 배율이 적용된다는 설명은 부정확하며, 이 옵션은 폰트 관련 길이의 배율 적용을 제어 |
enableFixedNew | Android·iOS·HarmonyOS, Since 2.10 | 기본값 false, settings fallback 가능. fixed 요소 사용 시 true 권장. 4.1에는 unified fixed 경로도 있으므로 해당 경로를 호스트가 켜는 경우는 구분하되, Engine 버전만 보고 삭제하지 않음 |
enableTextRefactor | Android·iOS, Since 2.2 | 정의상 false지만 미지정 시 target SDK ≥ 2.2에서 true. 확인한 React 플러그인의 기본 target SDK도 3.2이므로 별도 true 불필요. 웹과 동일한 글자 크기·측정 결과를 보장하는 옵션은 아님 |
enableFlexBasisZeroPercent | Android·iOS·HarmonyOS, Since 3.8 | flex: 1 등의 생략된 basis를 0 대신 0%로 처리. SEED 전체 필수 조건으로 권장하지 않음. 3.8–4.0은 기본 false, 4.1은 target SDK ≥ 4.1에서 기본 true |
3.6 정의 · 3.8 정의 · 4.1 정의 · 4.1 decoder · fixed 처리
Engine 4.1에서 실행하더라도 engineVersion: "3.6"인 번들의 flex-basis 기본값은 자동으로 바뀌지 않습니다.
이 동작만 필요하다면 지원되는 엔진에서 해당 플래그를 설정하세요. 기본값을 바꾸려고 앱의 최소 대상 버전을 올리지 마세요.
Engine 3.6에는 이 플래그가 없으므로 true를 넣어도 같은 동작을 보장할 수 없습니다.
터치와 호스트 설정 갱신
enableMultiTouch와 globalPropsMode는 SEED를 사용하는 화면의 상호작용과 설정 갱신에 중요하지만, 모든 화면에서 특정 값을 강제하는 옵션은 아닙니다.
| 설정 | 기본값과 SEED에서의 의미 | 유지·생략 조건 |
|---|---|---|
enableMultiTouch: true | 기본 false, 미지정 시 settings fallback 가능. Android·iOS·HarmonyOS의 터치 이벤트에 여러 손가락 정보를 포함합니다. 엔진 정의의 Since는 2.14이며 현재 공개 API 문서는 3.2로 표기합니다. SEED Slider 등은 touches·changedTouches를 읽지만 단일 터치 좌표 fallback도 지원합니다. | 여러 손가락 정보를 사용하는 기능에서는 true 유지. 단일 터치만 사용하는 모든 SEED 컴포넌트에 필수라고 보지는 않습니다. 확인한 3.6–4.1에서 엔진 버전만으로 일괄 생략할 근거는 없습니다. |
globalPropsMode: "event" | React 플러그인 기본값은 "reactive". "event"는 global props 변경을 이벤트 구독으로 전달합니다. SEED의 useSeedClassName, 아이콘 색상·ScaleFeedback 훅은 useGlobalProps()를 통해 theme·motion 변경을 읽습니다. | 이벤트 구독 방식이면 "event" 유지. 기본 "reactive"도 사용할 수 있으므로 "event"가 SEED의 필수 값은 아닙니다. 엔진 버전 때문에 삭제하는 플래그가 아니라 React의 갱신 방식 선택입니다. |
멀티터치 공식 설명 · 3.6 설정 정의 · globalPropsMode 공식 설명
확인한 React 0.125.0에서 useGlobalProps()는 "event" 모드의 변경 이벤트를 직접 구독합니다. 따라서 이 훅을 쓰는 SEED 컴포넌트에 별도 이벤트 리스너를 중복 추가할 필요는 없습니다. 반면 앱 코드가 lynx.__globalProps를 직접 읽기만 하면 변경을 구독하지 않으므로, 테마 등 런타임 변경에 반응해야 하는 곳에서는 훅이나 명시적인 이벤트 구독을 사용하세요. React 구현
enableMultiTouchParamsCompatible는 멀티터치 활성화와 별개의 payload 호환 옵션입니다. 공개 설정에서 빠진 이 옵션을 대신 넣지 말고, 필요한 기능에 맞춰 enableMultiTouch를 설정하세요.
기능을 사용할 때 선택하는 플래그
다음 옵션은 SEED 전체의 필수 설정이 아닙니다. 각 화면이 해당 API나 동작에 의존할 때 선택하세요. 표의 도입 기록은 엔진 설정 정의의 Since입니다. 플랫폼별 실제 지원이 불명확한 항목은 별도로 표시했습니다.
이벤트와 제스처
| 플래그 | 역할·플랫폼·도입 기록 | 기본값과 설정 조건 | 현재 설정 위치 |
|---|---|---|---|
enableNewGesture | Gesture Handler 경로. Android·iOS·HarmonyOS, Since 2.16 | 엔진·React 기본 false. SEED PullToRefresh는 @lynx-js/gesture-runtime의 NativeGesture를 사용하므로 true 필요. 일반 bindtap만 쓰는 앱에는 필수가 아님. 확인한 3.6–4.1에 일괄 생략 경계 없음 | React 권장. Config에도 공개됨 |
enableEventHandleRefactor | 이벤트 리스너 재바인딩·dispatch 경로. Android·iOS·HarmonyOS, Since 3.5 | 정의상 false, 미지정 시 settings 사용. 해당 경로가 필요하면 true 유지. 일반 React 이벤트 핸들러의 동적 변경이 전부 불가능하다는 뜻은 아님 | Config 0.2.1부터 다시 공개(type-config 4.1.2에 추가, 해당 플러그인은 4.1.3 사용) |
enablePlatformGesture | 네이티브와 Lynx의 제스처 조정 계층. Android·iOS, Since 3.6 | 기본 false. 네이티브 제스처와의 경합을 조정할 때 검토. 엔진 4.1에도 사용처가 있으므로 기능 제거로 분류하지 않음 | Config 0.2.0부터 공개 설정 제외 |
enableTransformedTouchPosition | transform을 반영한 터치 좌표. Android·HarmonyOS | 기본 false. 변형된 요소의 좌표를 사용하는 기능에서 검토. 공식 Since는 3.6이나 3.6.0 tag에는 설정 정의가 없고 3.7.0에는 존재하므로 3.6 도입 경계 미확인 | 현재 Config에 공개됨 |
enableMultiTouchParamsCompatible | 멀티터치 payload를 단일 터치 형식과 호환. Android·iOS·HarmonyOS, Since 3.2 | 정의상 false, 미지정 시 호스트의 multi-touch 환경 설정 사용. 예전 payload에 의존하면 구형 설정을 무조건 삭제하지 말고 이벤트 소비 코드를 확인. enableMultiTouch 자체와 별개 | Config 0.2.0부터 공개 설정 제외 |
공식 Config 설명 · 3.6 정의와 fallback · 4.1 정의 · Config changelog
SEED PullToRefresh를 사용하는 앱은 다음 옵션을 기존 React 플러그인 설정에 합치세요. @lynx-js/gesture-runtime이 Content의 네이티브 스크롤과 당김 제스처를 중재할 때 Gesture Handler 경로를 사용합니다. Since 2.16은 엔진 설정의 도입 기록이며, SEED의 최소 지원 엔진 3.6을 낮춘다는 뜻은 아닙니다.
PullToRefresh를 사용하지 않는 앱에는 이 플래그가 필요하지 않을 수 있으므로 위의 최소 권장 설정에는 넣지 않았습니다.
enableMultiTouch는 현재 Config에도 공개되어 있습니다. enableMultiTouchParamsCompatible가 사라졌다는 이유로 멀티터치 자체가 지원 종료되었다고 해석하지 마세요. 최신 공개 API에서 빠진 옵션을 계속 제어해야 하는 앱은 호스트의 설정 경로와 기존 동작을 확인해야 하며, 단순히 React 플러그인으로 옮기면 안 됩니다.
관찰과 렌더링
| 플래그 | 역할·플랫폼·도입 기록 | 기본값과 유지·생략 조건 | 현재 설정 위치 |
|---|---|---|---|
enableNewIntersectionObserver | scroll 이벤트 바인딩에 의존하지 않는 observer 경로. Android·iOS, Since 2.8 | 아래의 확인한 React 빌드 조합에서는 템플릿이 true를 넣으므로 생략 가능. 다른 빌드 경로에서는 엔진 버전만으로 삭제하지 않음 | Config |
enableVsyncAlignedFlush | UI 작업 flush를 VSync에 맞추는 경로. 설정 정의상 Android 2.11, iOS 3.2 | 기본 false. 업데이트 빈도가 높은 화면에서 성능·지연을 측정한 뒤 선택. 설정 정의만으로 iOS에서도 Android와 동일한 효과가 있다고 보장하지 않음 | Config 0.2.0부터 공개 설정 제외 |
unifyVWVHBehavior | 레이아웃·동적 스타일의 viewport 단위 계산 통일. Android·iOS·HarmonyOS, Since 2.3 | 정의상 false, target SDK ≥ 2.3이면 기본 true. 확인한 React 플러그인의 기본 대상 버전에서 생략 가능. 비활성화 시 모든 vw/vh가 항상 초기 값에 고정된다는 뜻은 아님 | Config |
Observer 기본값 변경 · 3.9 decoder · 3.9 settings fallback · 4.1 decoder · 4.1 settings fallback
Observer는 빌드와 엔진을 함께 확인해야 합니다.
- React 빌드: 위에서 확인한 두 조합의
@lynx-js/template-webpack-plugin0.15.0·0.16.1은 페이지 설정에enableNewIntersectionObserver: true를 넣습니다. Config나 다른 플러그인으로 덮어쓰지 않았다면 명시 설정을 생략할 수 있습니다. 이 빌드 기본값의 최초 도입 버전은 미확인입니다. 출시 템플릿 코드 - 엔진: 설정 정의 기본값은 3.8.1까지
false, 3.9.0부터true입니다. 하지만 3.9·4.1 decoder도 번들에 값이 없으면 settings를 읽으며, 그 fallback은false입니다. 다른 빌드 경로를 쓰는 앱에서 Engine 3.9 이상이라는 이유만으로 삭제하면 안 됩니다.
성능·대체 스타일 경로
아래 항목은 모두 config 플러그인 0.2.0부터 기본 공개 설정에서 제외되었습니다. 최신 예제에 추가하지 마세요.
구형 config 플러그인 0.1.1에서는 허용되지만, SEED에 필요한 일반적인 최적화 설정으로 일괄 권장하지 않습니다. Config changelog · 현재 타입
| 플래그 | 역할·플랫폼·도입 기록 | 기본값과 판단 |
|---|---|---|
enableCSSLazyImport | scoped CSS의 import 의존성을 필요할 때 처리. Android·iOS·HarmonyOS, Since 2.18 | 미지정 값에서 환경 설정으로 fallback하며 기본 fallback은 false. scoped CSS 사용·초기 비용을 확인한 뒤 선택. 확인한 4.1에도 엔진 경로 존재 |
enableTextLayoutCache | 텍스트 레이아웃·renderer 재사용. Android·iOS, Since 3.3 | 미지정 시 플랫폼 환경 설정에 따름. 모든 플랫폼에서 동일한 기본값·성능 향상을 보장하지 않음. 확인한 4.1 iOS에도 캐시 옵션 사용처 존재 |
enableCSSClassMerge | 같은 선택자의 CSS 선언을 합치는 구형 컴파일러 경로. 공통 CSS 컴파일러, Since 2.1 | 정의 기본 false. 새 Selector 경로는 자체적으로 선언을 병합하므로 React 기본 Selector 경로에서는 별도 플래그 불필요. 단순 번들 크기 최적화 옵션으로 설명하지 않음 |
enableSimpleStyling | StyleObject 기반의 별도 스타일 경로. 공통 스타일 엔진, Since 3.3 | 기본 false. 일반 SEED CSS 설정에 추가하지 않음. 설정·관련 구현이 남아 있는 사실을 기능 제거 또는 항상 활성화로 해석하지 않음 |
enablePropertyBasedSimpleStyle | SimpleStyle 갱신을 StyleObject 단위에서 속성 단위로 변경. 공통 스타일 엔진, Since 3.5 | 기본 false. 속성이 겹치는 StyleObject 처리와 성능의 선택이며, 더 빠른 일반 최적화라는 의미가 아님 |
3.6 정의 · 4.1 정의 · CSS class 병합 구현 · SimpleStyle 구현 · 텍스트 캐시 사용처
이전 설정 정리하기
먼저 빌드 패키지 버전을 확인하고, 그 다음 기존 앱의 동작 의존성을 확인하세요.
@lynx-js/config-rsbuild-plugin은 0.1.1에서 type-config 3.6.0을 사용하다가, 0.2.0에서 4.1.1의 공개 목록으로 전환했습니다. 아래 제외된 키는 별도 deprecated 유예 없이 기본 타입·검증에서 빠졌습니다. 변경 이력
| 기존 설정 | 최신 설정에서의 판단 | 구형 도구·엔진을 계속 사용할 때 |
|---|---|---|
Config의 enableCSSSelector: true·enableCSSInvalidation: true | Config에서는 제거. React 0.18.3·0.20.2의 기본값에 맡기거나 React 옵션으로 이동 | 엔진 기능은 계속 필요. 사용 중인 React 기본값이 다르거나 다른 빌드 경로이면 명시 활성화 유지 |
enableCSSStrictMode: false | Config 0.2.0부터 공개되지 않으며 최소 예제에서 제거 | 설정 정의 Since 1.6, 기본 false. 공통 CSS 파서의 strict 처리·진단 옵션이며 false가 SEED 사용의 필수 우회라는 재현 근거는 미확인 |
enableTextRefactor: true | Config 0.2.0부터 공개되지 않음. target SDK ≥ 2.2이면 명시 설정 불필요 | 엔진 3.6·4.1에 조건부 decoder와 iOS 사용처가 존재. 기능 제거·항상 활성화가 아니라 target SDK 기본값을 근거로 생략 |
enableMultiTouchParamsCompatible | Config 공개 설정에서 제거되었지만 멀티터치 기능 제거는 아님 | payload 호환성이 필요하고 구형 도구가 허용하면 유지. 미지정 시 호스트 fallback 확인 |
enablePlatformGesture·enableVsyncAlignedFlush 및 위 성능 옵션 | Config 0.2.0부터 공개되지 않음. 새 예제에서 제외 | 기존 기능이 필요하면 구형 설정의 의미를 확인. 대체 공개 옵션이나 엔진 무시 버전을 추정해서 안내하지 않음 |
enableEventHandleRefactor | Config 0.2.0에서는 제외되었지만 0.2.1부터 재공개 | 버전별 공개 목록을 확인. 계속 지원 종료된 옵션으로 분류하지 않음 |
enableCSSStrictMode는 확인한 Engine 3.6·4.1에도 파서 설정과 사용처가 남아 있습니다. 예를 들어 length 파서는 이 값에 따라 잘못된 값의 진단을 출력하지만, 그 예만으로 false이면 모든 잘못된 길이를 허용한다거나 true이면 웹과 완전히 같은 파싱이 된다고 설명할 수 없습니다. 파서 구현
근거와 확인 범위
이 문서는 출시된 패키지의 타입·기본값·설정 전달 코드, 공식 버전 문서, Engine release tag를 비교한 결과입니다. 네이티브 기기에서 각 조합을 실행한 결과는 아닙니다.
- 도입 기록: 표의 Since는 3.6 설정 정의와 4.1 설정 정의의 기록입니다. 현재 API 문서에는 일부 과거 기능이 Since 3.2로 표기되어 있어, 도입 기록과 기본 활성화 시점을 혼동하지 않도록 이전 tag를 함께 참고했습니다. 3.2 이전 항목의 최초 출시 tag와 플랫폼별 도입 시점은 별도로 확정하지 못했습니다.
- 정확한 경계 미확인:
enableTransformedTouchPosition의 3.6 도입 기록과 3.6.0 tag 사이의 차이, Selector·Invalidation이 React 기본true가 된 최초 패키지 버전, Observer의 템플릿 기본 활성화 최초 버전, VSync flush의 플랫폼별 효과·변경 경계는 미확인입니다. - 삭제 판단: 공개 설정 제외를 엔진 기능 제거로 표시하지 않았습니다. 호스트 fallback이나 다른 실행 경로가 있는 플래그는 엔진 버전만으로 “설정 불필요”라고 단정하지 않습니다. 확인하지 않은 이후 버전과
next/main의 미출시 변경도 적용하지 않습니다.
Last updated on