react-native-svg-transformer icon indicating copy to clipboard operation
react-native-svg-transformer copied to clipboard

Dont exists support to Expo v5 (typescript)

Open ericktucto opened this issue 3 years ago • 2 comments

My version expo imagen

Steps:

  1. Create new expo project (use typescript) imagen
  2. Add SVGR and transformer with commands npm install react-navite-svg and npm install -D react-native-svg-transformer
  3. Create file metro.config.js and use next config:
const { getDefaultConfig } = require("expo/metro-config");

module.exports = (() => {
  const config = getDefaultConfig(__dirname);

  const { transformer, resolver } = config;

  config.transformer = {
    ...transformer,
    babelTransformerPath: require.resolve("react-native-svg-transformer"),
  };
  config.resolver = {
    ...resolver,
    assetExts: resolver.assetExts.filter((ext) => ext !== "svg"),
    sourceExts: [...resolver.sourceExts, "svg"],
  };

  return config;
})();
  1. Create declarations.d.ts file with next content:
declare module "*.svg" {
  import React from 'react';
  import { SvgProps } from "react-native-svg";
  const content: React.FC<SvgProps>;
  export default content;
}
  1. Import svg on App.tsx
import { StatusBar } from 'expo-status-bar';
import { View } from 'react-native';
import LogoEmber from "./assets/ember.svg"; // IMPORT SVG FILE

export default function App() {
  return (
    <View>
      <LogoEmber />
      <StatusBar style="auto" />
    </View>
  );
}
  1. Run app with expo start command

Error on web

imagen

ericktucto avatar Feb 05 '22 23:02 ericktucto

Same for me

Fuchsoria avatar Feb 06 '22 16:02 Fuchsoria

Thanks, I'll try it out and see if I can reproduce the error.

kristerkari avatar Feb 14 '22 17:02 kristerkari