From d1b02154e3fbc605302447874a2f87a1a7c5d60f Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Wed, 3 Jan 2024 15:46:49 +0100 Subject: [PATCH] Fix type exports and enable `isolatedModules` setting to catch it in `tsc` (#2197) This is the same issue as the one I fixed last year in #1874 To prevent this from occurring again, I enabled the `isolatedModules` Typescript option which will warn when you export non-value identifiers without using `export type`, which will break transpilation processes what work on a per-file basis. You can find a [more detailed explanation in Typescript's doc](https://www.typescriptlang.org/tsconfig#isolatedModules) --- src/ReactNativeSVG.ts | 21 ++++++++++++--------- tsconfig.json | 5 +++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/ReactNativeSVG.ts b/src/ReactNativeSVG.ts index 00d67c9a..99fbf3c7 100644 --- a/src/ReactNativeSVG.ts +++ b/src/ReactNativeSVG.ts @@ -141,15 +141,6 @@ export { camelCase, err, fetchText, - JsxAST, - Middleware, - Styles, - UriProps, - UriState, - XmlAST, - XmlProps, - XmlState, - AstProps, Shape, RNSVGMarker, RNSVGMask, @@ -175,4 +166,16 @@ export { RNSVGForeignObject, }; +export type { + JsxAST, + Middleware, + Styles, + UriProps, + UriState, + XmlAST, + XmlProps, + XmlState, + AstProps, +}; + export default Svg; diff --git a/tsconfig.json b/tsconfig.json index ec7a29f6..435a148a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,7 @@ "declaration": true, "paths": { "react-native-svg": ["./src"], - "react-native-svg/css": ["./src/css/index.tsx"], + "react-native-svg/css": ["./src/css/index.tsx"] }, "preserveSymlinks": true, "target": "es6", @@ -17,7 +17,8 @@ "esModuleInterop": true, "strict": true, "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "isolatedModules": true }, "include": ["src"] }