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

`target` is not used in an inherited TypeScript config.

Open ajcrites opened this issue 6 years ago • 3 comments

I'm not sure if this is specific to target or other options, but it's easiest to reproduce this way. I'm also not 100% sure that it's this transformer that's not using the target from an extended config, so I apologize if this wastes anyone's time, but I think I've narrowed it down.

For example, you may have a base config that looks like

{
  "compilerOptions": { "target": "es5" }
}

Then your tsconfig.json as { "extends": "./tsconfig.base.json" }.

If you use import { default as X } from 'lib'; ... <X /> then this gets transpiled to <lib_1['default'] /> which is an error.

If you update tsconfig.json to use target directly then it works as expected (<lib_1.default />).

ajcrites avatar Feb 27 '18 18:02 ajcrites

Ah, yes, we can see that the tsconfig loading strategy is embarrassingly naïve.

I'll switch to TypeStrong/tsconfig asap.

Thanks for the report!

ds300 avatar Feb 27 '18 21:02 ds300

Hmm, didn't realise that TypeStrong/tsconfig also doesn't support the "extends" option. https://github.com/TypeStrong/tsconfig/issues/21

Will have to do some more digging. Maybe I can use whatever TS itself uses to load config files.

ds300 avatar Feb 28 '18 15:02 ds300

+1 for extends. Thanks for the lib! I'll add a PR if I can get around to it.

seanadkinson avatar May 15 '18 17:05 seanadkinson