* Add TypeScript app creation
* Actually specify new extension
* Check for ts and tsx
* Fix types in default service worker file
* Mirror changes in JS version of SW
* Separate templates
* Use separate template directory
* Remove unused function
* Add a tsconfig file to the template
* Test install of typescript
* Add e2e for TypeScript
* Check for index.tsx to make sure we're not in the JS template
* Ensure TypeScript doesn't leak into normal installs
* Ignore some files
* Print version of CRA
* Fix script
* Add new template
* Move test to correct location
* Use `verifyTypeScriptSetup` routine to populate files
* Ensure tsconfig is created
* Implemented a version check of npm to give a soft tip during the install procedure
and fixed gitignore
* Moved NPM check to method, it is only executed when you use NPM and the version is < 3.
* Minor formatting tweaks
* Simplify the code
* Remove unnecessary change
The Contributing instructions in the README give my-app as the sample
app name when running `npm run create-react-app my-app`. This just adds
those directories to the .gitignore so they don't accidentally get
committed.
Test Plan:
```
npm pack
node global-cli/index.js testing --scripts-version /Users/vjeux/random/react-getting-started/create-react-app-scripts-0.0.1.tgz
```
make sure it shows
```
Creating the app testing at /Users/vjeux/random/react-getting-started/testing
```