Skip to content
This repository has been archived by the owner on Jan 26, 2019. It is now read-only.

Add documentation detailing differences between CRA 2.0 and CRA-TS #438

Open
hassankhan opened this issue Oct 31, 2018 · 10 comments
Open

Add documentation detailing differences between CRA 2.0 and CRA-TS #438

hassankhan opened this issue Oct 31, 2018 · 10 comments

Comments

@hassankhan
Copy link

hassankhan commented Oct 31, 2018

It would be nice to list the main differences between the two projects, since there is quite a lot of overlapping functionality and can be somewhat confusing to developers who need to make a decision.

Here's what I have so far:

CRA-TS CRA 2.1.1
Namespaces
baseUrl/paths
Casting with <Type>expression
Type-Checking Same process Separate process
Transpilation TypeScript Babel
@ghost
Copy link

ghost commented Oct 31, 2018

I believe the correct CRA version is 2.1. Also one more difference to add could be that in CRA 2.1 you can't use <Type>expression to cast, only expression as Type. Which is a super minor thing as you can't use it in TSX anyway so it only applies to TS files which I believe are usually in a minority in React based TS projects.

@hassankhan
Copy link
Author

Thanks @tomashubelbauermicrosoft, I've updated the table above. Do you think its worth mentioning the differences from here too?

@ghost
Copy link

ghost commented Oct 31, 2018

Decorators won' bet supported until CRA 2.1.1: facebook/create-react-app#5642

EDIT: Now fixed and released as CRA 2.1.1.

@doxxx
Copy link

doxxx commented Nov 1, 2018

What are the implications of using Babel vs tsc for transpilation?

@dkozickis
Copy link

@doxxx Namespaces and casting

@danielkcz
Copy link

I think we should include babel-loader for typescript files as well because of the super handy babel-plugin-macros. Or perhaps do it opt-in somehow.

@doxxx
Copy link

doxxx commented Nov 4, 2018

@dkozickis After doing some reading, it would seem that one of the other implications is that Babel 7 doesn't actually do any type-checking of Typescript code, it just transpiles it down to Javascript. If you want type-checking, you still have to run tsc.

@shobhitg
Copy link

shobhitg commented Nov 4, 2018

Just tried out CRA 2.1.0.
Looks like linting is based on eslint. And there is too much mismatch between vscode dev environment and linting errors. There is no eslint config file created to customize anything. And I felt documentation was lacking wrt linting in general.

CRA-TS does it perfectly for me. If the console shows an error, vscode shows it too.

@hassankhan
Copy link
Author

@doxxx I thought I'd read that somewhere too, but can't seem to find any links 😕. If you could post one, that would be awesome 👍

@doxxx
Copy link

doxxx commented Nov 4, 2018

@hassankhan https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript-and-babel-7/

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants