From 015fc3518da157cb1c222039dda61b2b27e5e3b7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 12 Jul 2026 17:56:05 +0000 Subject: [PATCH] Replace react-native-svg web-check shim with a patch deleting its web types react-native-svg publishes ReactNativeSVG.web.d.ts / elements.web.d.ts declarations whose API surface diverges from the native one the app is written against (no SvgProps/PathProps, react-native-web style types), even though the web runtime accepts the same props. Instead of mirroring the native type surface in an ambient shim, extend the existing react-native-svg patch to delete the divergent web declarations so the web typecheck pass falls through to the native ones. To be raised with Software Mansion upstream. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01BCuMKXWHuyGoNhTVAHBMyk --- patches/react-native-svg@15.12.1.patch | 12 + pnpm-lock.yaml | 20 +- src/platform/misc.web-check.d.ts | 12 +- src/platform/react-native-svg.web-check.d.ts | 285 ------------------- 4 files changed, 30 insertions(+), 299 deletions(-) delete mode 100644 src/platform/react-native-svg.web-check.d.ts diff --git a/patches/react-native-svg@15.12.1.patch b/patches/react-native-svg@15.12.1.patch index 299ac13106..25dbc13e8c 100644 --- a/patches/react-native-svg@15.12.1.patch +++ b/patches/react-native-svg@15.12.1.patch @@ -55,3 +55,15 @@ index 06829bd00dbded262e1871aaf6db3ae0cfa9d1b1..1b158185a6d7e907aa18ddc806902fcc invalidate(); } +diff --git a/lib/typescript/ReactNativeSVG.web.d.ts b/lib/typescript/ReactNativeSVG.web.d.ts +deleted file mode 100644 +index e2001975fa97398fb159d2f85f45d067200f575b..0000000000000000000000000000000000000000 +diff --git a/lib/typescript/ReactNativeSVG.web.d.ts.map b/lib/typescript/ReactNativeSVG.web.d.ts.map +deleted file mode 100644 +index c81af4416af5ee3eaca77b51bfc2952b30d49c8a..0000000000000000000000000000000000000000 +diff --git a/lib/typescript/elements.web.d.ts b/lib/typescript/elements.web.d.ts +deleted file mode 100644 +index cf4083fbf749b2b002fb649d80b33ac74763847b..0000000000000000000000000000000000000000 +diff --git a/lib/typescript/elements.web.d.ts.map b/lib/typescript/elements.web.d.ts.map +deleted file mode 100644 +index 29602aa47ad903bc7aaa111462a61dd862c4476d..0000000000000000000000000000000000000000 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe409d6149..15251ed524 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -231,7 +231,7 @@ patchedDependencies: react-native-keyboard-controller@1.21.8: ac52bf7502ff3ad34a8594b5e1a916b96bf87a2523b6abc87c31f03607d52271 react-native-pager-view@6.8.0: 0979d6fe1e2fa43b2784cc0b5e0ff0117d53b53423e85ee5855eefdc41a00108 react-native-reanimated@3.19.1: 97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6 - react-native-svg@15.12.1: 31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9 + react-native-svg@15.12.1: ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310 react-native-uitextview@1.4.0: 62de26caadfc39d1bdff204cdc03a705c0cd343999825e06d8c0c120de06cc99 react-native-view-shot@4.0.3: a2457dc30a82cc8c21f371a6f860d9396d450a2a1b4265b1a4ee13bdb24d3268 react-native@0.81.5: 2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194 @@ -642,10 +642,10 @@ importers: version: 6.8.0(patch_hash=0979d6fe1e2fa43b2784cc0b5e0ff0117d53b53423e85ee5855eefdc41a00108)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-progress: specifier: bluesky-social/react-native-progress - version: https://codeload.github.com/bluesky-social/react-native-progress/tar.gz/5a372f4f2ce5feb26f4f47b6a4d187ab9b923ab4(react-native-svg@15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)) + version: https://codeload.github.com/bluesky-social/react-native-progress/tar.gz/5a372f4f2ce5feb26f4f47b6a4d187ab9b923ab4(react-native-svg@15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)) react-native-qrcode-styled: specifier: ^0.3.3 - version: 0.3.3(react-native-svg@15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + version: 0.3.3(react-native-svg@15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-reanimated: specifier: 3.19.1 version: 3.19.1(patch_hash=97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6)(@babel/core@7.29.0)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) @@ -657,7 +657,7 @@ importers: version: 4.24.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-svg: specifier: 15.12.1 - version: 15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + version: 15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-uitextview: specifier: ^1.4.0 version: 1.4.0(patch_hash=62de26caadfc39d1bdff204cdc03a705c0cd343999825e06d8c0c120de06cc99)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) @@ -17082,18 +17082,18 @@ snapshots: react: 19.1.0 react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) - react-native-progress@https://codeload.github.com/bluesky-social/react-native-progress/tar.gz/5a372f4f2ce5feb26f4f47b6a4d187ab9b923ab4(react-native-svg@15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)): + react-native-progress@https://codeload.github.com/bluesky-social/react-native-progress/tar.gz/5a372f4f2ce5feb26f4f47b6a4d187ab9b923ab4(react-native-svg@15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)): dependencies: prop-types: 15.8.1 - react-native-svg: 15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + react-native-svg: 15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) - react-native-qrcode-styled@0.3.3(react-native-svg@15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): + react-native-qrcode-styled@0.3.3(react-native-svg@15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: qrcode: 1.5.4 react: 19.1.0 react-fast-compare: 3.2.2 react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) - react-native-svg: 15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + react-native-svg: 15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-reanimated@3.19.1(patch_hash=97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6)(@babel/core@7.29.0)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: @@ -17127,7 +17127,7 @@ snapshots: react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) warn-once: 0.1.1 - react-native-svg@15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): + react-native-svg@15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: css-select: 5.2.2 css-tree: 1.1.3 @@ -17685,7 +17685,7 @@ snapshots: react-native-reanimated: 3.19.1(patch_hash=97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6)(@babel/core@7.29.0)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-safe-area-context: 5.6.2(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-screens: 4.24.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) - react-native-svg: 15.12.1(patch_hash=31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + react-native-svg: 15.12.1(patch_hash=ae309e9542214f5ae54935e253dedd236765feedac7be343f81d532d7fe09310)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) sonner@2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: diff --git a/src/platform/misc.web-check.d.ts b/src/platform/misc.web-check.d.ts index d21fb93603..a592015d56 100644 --- a/src/platform/misc.web-check.d.ts +++ b/src/platform/misc.web-check.d.ts @@ -1,9 +1,13 @@ /* * Used ONLY by the web typecheck pass (tsconfig.check.web.json) - it is - * excluded from the other passes and has no runtime effect. See - * react-native-svg.web-check.d.ts for the full background on why some - * packages need to be pinned to their native declarations under - * `moduleSuffixes: [".web", ""]`. + * excluded from the other passes and has no runtime effect. + * + * Some packages publish .web.d.ts declarations that diverge from the API + * the app is written against (or, worse, raw TypeScript sources that break + * under `moduleSuffixes: [".web", ""]`), so this pins them to their native + * declarations. react-native-svg has the same problem, handled by deleting + * its divergent web declarations in patches/react-native-svg@15.12.1.patch + * so resolution falls through to the native ones. */ /* diff --git a/src/platform/react-native-svg.web-check.d.ts b/src/platform/react-native-svg.web-check.d.ts deleted file mode 100644 index c969d0fe7a..0000000000 --- a/src/platform/react-native-svg.web-check.d.ts +++ /dev/null @@ -1,285 +0,0 @@ -/* - * Used ONLY by the web typecheck pass (tsconfig.check.web.json) - it is - * excluded from the other passes and has no runtime effect. - * - * Under `moduleSuffixes: [".web", ""]`, react-native-svg's type entry - * resolves to its DOM-flavored `ReactNativeSVG.web.d.ts`, a different API - * surface (no SvgProps/PathProps, react-native-web style types) than the - * native one the app is written against. At runtime the web build accepts - * the same props, so this ambient declaration pins the package to its - * native declarations for one coherent type surface across all passes. - * - * moduleSuffixes remaps even explicit `.d.ts` specifiers, so this mirrors - * the package's ReactNativeSVG.d.ts + elements.d.ts via deep module paths - * that have no `.web` siblings. Generated from react-native-svg 15.12.1. - */ -declare module 'react-native-svg' { - import Shape from 'react-native-svg/lib/typescript/elements/Shape' - import { - RNSVGCircle, - RNSVGClipPath, - RNSVGDefs, - RNSVGEllipse, - RNSVGFeColorMatrix, - RNSVGFeComposite, - RNSVGFeGaussianBlur, - RNSVGFeMerge, - RNSVGFeOffset, - RNSVGFilter, - RNSVGForeignObject, - RNSVGGroup, - RNSVGImage, - RNSVGLine, - RNSVGLinearGradient, - RNSVGMarker, - RNSVGMask, - RNSVGPath, - RNSVGPattern, - RNSVGRadialGradient, - RNSVGRect, - RNSVGSvgAndroid, - RNSVGSvgIOS, - RNSVGSymbol, - RNSVGText, - RNSVGTextPath, - RNSVGTSpan, - RNSVGUse, - } from 'react-native-svg/lib/typescript/fabric' - import {fetchText} from 'react-native-svg/lib/typescript/utils/fetchData' - import { - type AstProps, - camelCase, - type JsxAST, - type Middleware, - parse, - type Styles, - SvgAst, - SvgFromUri, - SvgFromXml, - SvgUri, - SvgXml, - type UriProps, - type UriState, - type XmlAST, - type XmlProps, - type XmlState, - } from 'react-native-svg/lib/typescript/xml' - export { - inlineStyles, - loadLocalRawResource, - LocalSvg, - SvgCss, - SvgCssUri, - SvgWithCss, - SvgWithCssUri, - WithLocalSvg, - } from 'react-native-svg/lib/typescript/deprecated' - export type {CircleProps} from 'react-native-svg/lib/typescript/elements/Circle' - export type {ClipPathProps} from 'react-native-svg/lib/typescript/elements/ClipPath' - export type {EllipseProps} from 'react-native-svg/lib/typescript/elements/Ellipse' - export type {FeBlendProps} from 'react-native-svg/lib/typescript/elements/filters/FeBlend' - export type {FeColorMatrixProps} from 'react-native-svg/lib/typescript/elements/filters/FeColorMatrix' - export type {FeComponentTransferProps} from 'react-native-svg/lib/typescript/elements/filters/FeComponentTransfer' - export type { - FeFuncAProps, - FeFuncBProps, - FeFuncGProps, - FeFuncRProps, - } from 'react-native-svg/lib/typescript/elements/filters/FeComponentTransferFunction' - export type {FeCompositeProps} from 'react-native-svg/lib/typescript/elements/filters/FeComposite' - export type {FeConvolveMatrixProps} from 'react-native-svg/lib/typescript/elements/filters/FeConvolveMatrix' - export type {FeDiffuseLightingProps} from 'react-native-svg/lib/typescript/elements/filters/FeDiffuseLighting' - export type {FeDisplacementMapProps} from 'react-native-svg/lib/typescript/elements/filters/FeDisplacementMap' - export type {FeDistantLightProps} from 'react-native-svg/lib/typescript/elements/filters/FeDistantLight' - export type {FeDropShadowProps} from 'react-native-svg/lib/typescript/elements/filters/FeDropShadow' - export type {FeFloodProps} from 'react-native-svg/lib/typescript/elements/filters/FeFlood' - export type {FeGaussianBlurProps} from 'react-native-svg/lib/typescript/elements/filters/FeGaussianBlur' - export type {FeImageProps} from 'react-native-svg/lib/typescript/elements/filters/FeImage' - export type {FeMergeProps} from 'react-native-svg/lib/typescript/elements/filters/FeMerge' - export type {FeMergeNodeProps} from 'react-native-svg/lib/typescript/elements/filters/FeMergeNode' - export type {FeMorphologyProps} from 'react-native-svg/lib/typescript/elements/filters/FeMorphology' - export type {FeOffsetProps} from 'react-native-svg/lib/typescript/elements/filters/FeOffset' - export type {FePointLightProps} from 'react-native-svg/lib/typescript/elements/filters/FePointLight' - export type {FeSpecularLightingProps} from 'react-native-svg/lib/typescript/elements/filters/FeSpecularLighting' - export type {FeSpotLightProps} from 'react-native-svg/lib/typescript/elements/filters/FeSpotLight' - export type {FeTileProps} from 'react-native-svg/lib/typescript/elements/filters/FeTile' - export type {FeTurbulenceProps} from 'react-native-svg/lib/typescript/elements/filters/FeTurbulence' - export type {FilterProps} from 'react-native-svg/lib/typescript/elements/filters/Filter' - export type {FilterPrimitiveCommonProps} from 'react-native-svg/lib/typescript/elements/filters/FilterPrimitive' - export type {ForeignObjectProps} from 'react-native-svg/lib/typescript/elements/ForeignObject' - export type {GProps} from 'react-native-svg/lib/typescript/elements/G' - export type {ImageProps} from 'react-native-svg/lib/typescript/elements/Image' - export type {LineProps} from 'react-native-svg/lib/typescript/elements/Line' - export type {LinearGradientProps} from 'react-native-svg/lib/typescript/elements/LinearGradient' - export type {MarkerProps} from 'react-native-svg/lib/typescript/elements/Marker' - export type {MaskProps} from 'react-native-svg/lib/typescript/elements/Mask' - export type {PathProps} from 'react-native-svg/lib/typescript/elements/Path' - export type {PatternProps} from 'react-native-svg/lib/typescript/elements/Pattern' - export type {PolygonProps} from 'react-native-svg/lib/typescript/elements/Polygon' - export type {PolylineProps} from 'react-native-svg/lib/typescript/elements/Polyline' - export type {RadialGradientProps} from 'react-native-svg/lib/typescript/elements/RadialGradient' - export type {RectProps} from 'react-native-svg/lib/typescript/elements/Rect' - export type {StopProps} from 'react-native-svg/lib/typescript/elements/Stop' - export type {SvgProps} from 'react-native-svg/lib/typescript/elements/Svg' - export type {SymbolProps} from 'react-native-svg/lib/typescript/elements/Symbol' - export type {TextProps} from 'react-native-svg/lib/typescript/elements/Text' - export type {TextPathProps} from 'react-native-svg/lib/typescript/elements/TextPath' - export type {TSpanProps} from 'react-native-svg/lib/typescript/elements/TSpan' - export type {UseProps} from 'react-native-svg/lib/typescript/elements/Use' - export * from 'react-native-svg/lib/typescript/lib/extract/types' - export { - camelCase, - fetchText, - parse, - RNSVGCircle, - RNSVGClipPath, - RNSVGDefs, - RNSVGEllipse, - RNSVGFeColorMatrix, - RNSVGFeComposite, - RNSVGFeGaussianBlur, - RNSVGFeMerge, - RNSVGFeOffset, - RNSVGFilter, - RNSVGForeignObject, - RNSVGGroup, - RNSVGImage, - RNSVGLine, - RNSVGLinearGradient, - RNSVGMarker, - RNSVGMask, - RNSVGPath, - RNSVGPattern, - RNSVGRadialGradient, - RNSVGRect, - RNSVGSvgAndroid, - RNSVGSvgIOS, - RNSVGSymbol, - RNSVGText, - RNSVGTextPath, - RNSVGTSpan, - RNSVGUse, - Shape, - SvgAst, - SvgFromUri, - SvgFromXml, - SvgUri, - SvgXml, - } - export type { - AstProps, - JsxAST, - Middleware, - Styles, - UriProps, - UriState, - XmlAST, - XmlProps, - XmlState, - } - import Circle from 'react-native-svg/lib/typescript/elements/Circle' - import ClipPath from 'react-native-svg/lib/typescript/elements/ClipPath' - import Defs from 'react-native-svg/lib/typescript/elements/Defs' - import Ellipse from 'react-native-svg/lib/typescript/elements/Ellipse' - import FeBlend from 'react-native-svg/lib/typescript/elements/filters/FeBlend' - import FeColorMatrix from 'react-native-svg/lib/typescript/elements/filters/FeColorMatrix' - import FeComponentTransfer from 'react-native-svg/lib/typescript/elements/filters/FeComponentTransfer' - import { - FeFuncA, - FeFuncB, - FeFuncG, - FeFuncR, - } from 'react-native-svg/lib/typescript/elements/filters/FeComponentTransferFunction' - import FeComposite from 'react-native-svg/lib/typescript/elements/filters/FeComposite' - import FeConvolveMatrix from 'react-native-svg/lib/typescript/elements/filters/FeConvolveMatrix' - import FeDiffuseLighting from 'react-native-svg/lib/typescript/elements/filters/FeDiffuseLighting' - import FeDisplacementMap from 'react-native-svg/lib/typescript/elements/filters/FeDisplacementMap' - import FeDistantLight from 'react-native-svg/lib/typescript/elements/filters/FeDistantLight' - import FeDropShadow from 'react-native-svg/lib/typescript/elements/filters/FeDropShadow' - import FeFlood from 'react-native-svg/lib/typescript/elements/filters/FeFlood' - import FeGaussianBlur from 'react-native-svg/lib/typescript/elements/filters/FeGaussianBlur' - import FeImage from 'react-native-svg/lib/typescript/elements/filters/FeImage' - import FeMerge from 'react-native-svg/lib/typescript/elements/filters/FeMerge' - import FeMergeNode from 'react-native-svg/lib/typescript/elements/filters/FeMergeNode' - import FeMorphology from 'react-native-svg/lib/typescript/elements/filters/FeMorphology' - import FeOffset from 'react-native-svg/lib/typescript/elements/filters/FeOffset' - import FePointLight from 'react-native-svg/lib/typescript/elements/filters/FePointLight' - import FeSpecularLighting from 'react-native-svg/lib/typescript/elements/filters/FeSpecularLighting' - import FeSpotLight from 'react-native-svg/lib/typescript/elements/filters/FeSpotLight' - import FeTile from 'react-native-svg/lib/typescript/elements/filters/FeTile' - import FeTurbulence from 'react-native-svg/lib/typescript/elements/filters/FeTurbulence' - import Filter from 'react-native-svg/lib/typescript/elements/filters/Filter' - import ForeignObject from 'react-native-svg/lib/typescript/elements/ForeignObject' - import G from 'react-native-svg/lib/typescript/elements/G' - import Image from 'react-native-svg/lib/typescript/elements/Image' - import Line from 'react-native-svg/lib/typescript/elements/Line' - import LinearGradient from 'react-native-svg/lib/typescript/elements/LinearGradient' - import Marker from 'react-native-svg/lib/typescript/elements/Marker' - import Mask from 'react-native-svg/lib/typescript/elements/Mask' - import Path from 'react-native-svg/lib/typescript/elements/Path' - import Pattern from 'react-native-svg/lib/typescript/elements/Pattern' - import Polygon from 'react-native-svg/lib/typescript/elements/Polygon' - import Polyline from 'react-native-svg/lib/typescript/elements/Polyline' - import RadialGradient from 'react-native-svg/lib/typescript/elements/RadialGradient' - import Rect from 'react-native-svg/lib/typescript/elements/Rect' - import Stop from 'react-native-svg/lib/typescript/elements/Stop' - import Svg from 'react-native-svg/lib/typescript/elements/Svg' - import Symbol from 'react-native-svg/lib/typescript/elements/Symbol' - import Text from 'react-native-svg/lib/typescript/elements/Text' - import TextPath from 'react-native-svg/lib/typescript/elements/TextPath' - import TSpan from 'react-native-svg/lib/typescript/elements/TSpan' - import Use from 'react-native-svg/lib/typescript/elements/Use' - export { - Circle, - ClipPath, - Defs, - Ellipse, - FeBlend, - FeColorMatrix, - FeComponentTransfer, - FeComposite, - FeConvolveMatrix, - FeDiffuseLighting, - FeDisplacementMap, - FeDistantLight, - FeDropShadow, - FeFlood, - FeFuncA, - FeFuncB, - FeFuncG, - FeFuncR, - FeGaussianBlur, - FeImage, - FeMerge, - FeMergeNode, - FeMorphology, - FeOffset, - FePointLight, - FeSpecularLighting, - FeSpotLight, - FeTile, - FeTurbulence, - Filter, - ForeignObject, - G, - Image, - Line, - LinearGradient, - Marker, - Mask, - Path, - Pattern, - Polygon, - Polyline, - RadialGradient, - Rect, - Stop, - Svg, - Symbol, - Text, - TextPath, - TSpan, - Use, - } - export default Svg -}