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

Add support for fork-ts-checker-webpack-plugin #165

Merged
merged 6 commits into from
Nov 27, 2017
Merged

Add support for fork-ts-checker-webpack-plugin #165

merged 6 commits into from
Nov 27, 2017

Conversation

johnnyreilly
Copy link

Like #161 but hopefully right first time!

@DorianGrey
Copy link
Collaborator

Just one thing:
You have to add the path resolution for tslint.json additionally somewhere around here:
https://github.com/johnnyreilly/create-react-app-typescript/blob/99a55a9272cbaad205b8d3cdba84ded09b268ee0/packages/react-scripts/config/paths.js#L63 (equiv. to the resolution of the tsconfig.json)

The part where you have added the resolution will work only for non-ejected projects, since it will be removed on ejection (see the markers: https://github.com/johnnyreilly/create-react-app-typescript/blob/99a55a9272cbaad205b8d3cdba84ded09b268ee0/packages/react-scripts/config/paths.js#L68 resp. https://github.com/johnnyreilly/create-react-app-typescript/blob/99a55a9272cbaad205b8d3cdba84ded09b268ee0/packages/react-scripts/config/paths.js#L126).

@johnnyreilly
Copy link
Author

Thanks @DorianGrey - made adjustments accordingly

@DorianGrey
Copy link
Collaborator

@wmonk :
This PR looks good technically.
Merging this would supersede #140, since the forked process already executes tslint with support for rules that require type-checking.
However, it would also conflict with the PR that request to replace ts-loader with awesome-typescript-loader (#74).

From my personal experience, I'd recommend to pick this version instead of atl. In every project I've worked with this setup yet, it always resulted in a better performance than using atl, and it also performs linting with type checks, which would otherwise be extremely expensive when used via tslint-loader.

@johnnyreilly
Copy link
Author

@DorianGrey / @wmonk - I've just fixed the merge conflict.

@wmonk
Copy link
Owner

wmonk commented Oct 30, 2017

What should the versioning look like for this do you think? Is this likely to cause issue for existing users?

@johnnyreilly
Copy link
Author

Sorry, could you clarify what you mean please @wmonk? I don't think this should cause an issue for existing users - should be like for like replacement. Not breaking changes.

@wmonk
Copy link
Owner

wmonk commented Oct 30, 2017

Ok cool, that's all I wanted to check.

@wmonk wmonk merged commit 923b627 into wmonk:master Nov 27, 2017
wmonk added a commit that referenced this pull request Jan 11, 2018
Add support for fork-ts-checker-webpack-plugin
@caghand
Copy link

caghand commented Jan 22, 2018

Hi Johnny and Will,

Thanks for working on this. However, I've noticed that this PR did not get merged properly to master.

In particular, the tslint-loader rule has not been removed from webpack.config.prod.js, as intended.

This causes "type information" warnings (like in #126) to be emitted during npm run build (or yarn build), which uses webpack.config.prod.js.

Could you take a look? Thanks!

-Caghan

@caghand
Copy link

caghand commented Jan 22, 2018

Thanks for the quick fix and the publish! I was able to confirm that it works perfectly now. The warnings are gone for good.
By the way, the 2.13.0 release needs upgrade/migration instructions: The user must manually add "typescript" as a dev dependency to existing projects. Otherwise, there will be build errors.

-Caghan

suutari-ai added a commit to andersinno/create-react-app-ai that referenced this pull request Jan 25, 2018
…pescript

* 'master' of https://github.com/wmonk/create-react-app-typescript: (265 commits)
  fix typo in changelog
  Update README For 2.13.0
  v2.13.0
  Remove tslint-loader from prod build (again)
  Include TypeScript as devDependency in boilerplate output
  Documented how to define custom module formats for the TypeScript compiler so that you can import images and other files (references wmonk#172)
  v2.12.0
  Update README For 2.12.0
  Update typescript to 2.6.2
  v2.11.0
  Update changelog for 2.11.0
  Fixed problem with tsconfig.json baseUrl and paths
  Update createJestConfig.js
  Update changelog for 2.10.0
  v2.10.0
  Readd transformIgnorePatterns
  Update react-dev-utils
  Update package.json dependencies
  Readd Missing raf Package
  Update JestConfig Creation
  Fix
  Fix Missing Variable
  Fix package.json
  Merge pull request wmonk#204 from StefanSchoof/patch-1
  Merge pull request wmonk#201 from StefanSchoof/patch-1
  Merge pull request wmonk#199 from DorianGrey/master
  Merge pull request wmonk#165 from johnnyreilly/master
  Publish
  Add 1.0.17 changelog (#3402)
  Use new WebpackDevServer option (#3401)
  Fix grammar in README (#3394)
  Add link to VS Code troubleshooting guide (#3399)
  Update VS Code debug configuration (#3400)
  Update README.md (#3392)
  Publish
  Reorder publishing instructions
  Changelog for 1.0.16 (#3376)
  Update favicon description (#3374)
  Changelog for 1.0.15 (#3357)
  Replace template literal; fixes #3367 (#3368)
  [email protected]
  Publish
  Add preflight CWD check for npm (#3355)
  Stop using `npm link` in tests (#3345)
  Fix for add .gitattributes file #3080 (#3122)
  Mention that start_url needs to be "." for client side routing
  start using npm-run-all to build scss and js (#2957)
  Updating the Service Worker opt-out documentation (#3108)
  Remove an useless negation in registerServiceWorker.js (#3150)
  Remove output.path from dev webpack config (#3158)
  Add `.mjs` support (#3239)
  Add documentation for Enzyme 3 integration (#3286)
  Make uglify work in Safari 10.0 - fixes #3280 (#3281)
  Fix favicon sizes value in manifest (#3287)
  Bump dependencies (#3342)
  recommend react-snap; react-snapshot isn't upgraded for React 16 (#3328)
  Update appveyor.cleanup-cache.txt
  Polyfill rAF in test environment (#3340)
  Use React 16 in development
  Use a simpler string replacement for the overlay
  Clarify the npm precompilation advice
  --no-edit
  Update `eslint-plugin-react` (#3146)
  Add jest coverage configuration docs (#3279)
  Update link to Jest Expect docs (#3303)
  Update README.md
  Fix dead link to Jest "expect" docs (#3289)
  v2.8.0
  Use production React version for bundled overlay (#3267)
  Add warning when using `react-error-overlay` in production (#3264)
  Add external links to deployment services (#3265)
  `react-error-overlay` has no dependencies now (#3263)
  Add click-to-open support for build errors (#3100)
  Update style-loader and disable inclusion of its HMR code in builds (#3236)
  Update url-loader to 0.6.2 for mime ReDoS vuln (#3246)
  Make error overlay to run in the context of the iframe (#3142)
  Upgrade to typescript 2.5.3
  Fix Windows compatibility (#3232)
  Fix package management link in README (#3227)
  Watch for changes in `src/**/node_modules` (#3230)
  More spec compliant HTML template (#2914)
  Minor change to highlight dev proxy behaviour (#3075)
  Correct manual proxy documentation (#3185)
  Improve grammar in README (#3211)
  Publish
  Fix license comments
  Changelog for 1.0.14
  BSD+Patents -> MIT (#3189)
  Add link to active CSS modules discussion (#3163)
  Update webpack-dev-server to 2.8.2 (#3157)
  Part of class fields to stage 3 (#2908)
  Update unclear wording in webpack config docs (#3160)
  Display pid in already running message (#3131)
  Link local react-error-overlay package in kitchensink test
  Resolved issue #2971 (#2989)
  Revert "run npm 5.4.0 in CI (#3026)" (#3107)
  Updated react-error-overlay to latest Flow (0.54.0) (#3065)
  Auto-detect running editor on Linux for error overlay (#3077)
  Clean target directory before compiling overlay (#3102)
  Rerun prettier and pin version (#3058)
  ...
@vire
Copy link

vire commented Mar 30, 2018

tslint: paths.appTsLint, in

new ForkTsCheckerWebpackPlugin({
      async: false,
      watch: paths.appSrc,
      tsconfig: paths.appTsConfig,
      tslint: paths.appTsLint,
    }),

is causing re-build failure, it says it can't find some node_modules module

I think this issue is related to TSLint

@mukeshkamboj
Copy link

@vire did you find the solution of cannot fine module problem?

@mukeshkamboj
Copy link

@vire Please ignore. setting the no-unused-variable to false in tslint solved the issue.

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

Successfully merging this pull request may close these issues.

6 participants