Commit Graph

94 Commits

Author SHA1 Message Date
bradfordlemley
b43ad04b88 Add support for yarn and lerna monorepos. (#3741)
* Support for multiple source paths via package.json srcPaths entry.

Initial support for yarn workspace.

Support lerna workspace, fix for when to use template files.

Remove support for specifying srcPaths in package.json.

Re-enable transpilation caching.

* Clean up, use file matching (similar to original) in webpack configs instead of matching function.

* Remove package lock files.

* Fix for eject.
Note: monorepos won't work after eject.
Can be fixed easily with JEST 22.0.?+ which has file pattern matches against realpaths.

* Filter tests to run only tests in monorepo components included by the app.
(Not sure this is desireable, might be cool to be able to easily run all tests in monorepo from one app.)

* Fix conditions for when to use template.

* Fix eject.

* Remove code that is not needed w/ Jest 22.

* Include all cra-comp tests in monorepo instead of trying to include only tests that are dependencies of app.
(tests can be easily filtered via jest cli if desired, e.g. 'npm test -- myapp comp1')

* Pin find-pkg version.

* Hopefully fix jest test file matching on windows by removing first slash.

* E2E tests for monorepo.

* Run monorepo tests in CI.

* Fix and test post-eject build.

* Fix e2e test.

* Fix test suite names in appveyor.

* Include individual package dirs as srcPaths instead of top-level monorepo root.
Fixes build/start after eject.

* Fix running tests after eject.

* Clean up test workspace, add some verifcations.

* Cleanup.

* Try to fix hang when running test on appveyor.

* Don't write babel or lint config to package.json when ejecting.

* Incorporate review comments.
* Simply monorepo pkg finder
* Only include monorepo pkgs if app itself is included in monorepo
* Check for specific tests in e2e

* Fixes for windows.

* Fix for kitchensink mocha tests compiling.

* Add lerna monorepo test.

* Fix lerna bootstrap on windows.

* Incorporate more review comments:
* remove support for lerna w/o yarn workspace
* add react and react-dom as devDeps to comp1 and comp2

* Add monorepo info to user guide.
2018-02-01 20:58:18 +00:00
Michaël De Boey
25184c4e91 Fix links to package (#3898) 2018-01-22 22:16:22 +00:00
Dan Abramov
1cf2248c46 Don't use app node_modules folder as a resolve fallback (#3884) 2018-01-21 19:05:24 +00:00
Joe Haddad
713eec417d Babel 7 disabled code highlighting by default 😢 (#3849) 2018-01-17 22:05:45 -05:00
Andrew
c9b289b64d fix small grammatical typo in webpack config documentation (#3842) 2018-01-17 21:34:08 +00:00
Ian Sutherland
82907fd23c Import SVGs as React components (#1388) (#3718)
* Import SVGs as React components (#1388)

* Updated webpack production config and fixed tests

* Improved Jest SVG file transform

* Improved SVG tests

* Add a comment

* Update webpack.config.prod.js
2018-01-17 19:40:56 +00:00
Joe Haddad
f4988e224a Update comments for accuracy 2018-01-17 10:30:45 -05:00
Ro Savage
fc7c9915b0 Add support for CSS Modules with explicit filename (#2285)
* Add css modules with [name].modules.css file convention

* Add e2e for CSS Modules

* Updated based on feedback

* Change css modules class name to be deterministic and fix licences

* Update css modules class naming convention
2018-01-17 10:20:57 -05:00
Joe Haddad
1013927a38 Allow parsing of ecma 8 2018-01-15 00:08:14 -05:00
Joe Haddad
2ed4a7034f Compile code in parallel (#3778)
* Cheap perf gains

* Whoopsie
2018-01-15 00:08:14 -05:00
Dan Abramov
3d4440812c Compile dependencies with babel-preset-env (#3776) 2018-01-15 00:08:14 -05:00
Clement Hoang
1552949a3b Switch to Babel 7 (#3522)
* Update dependencies in react-scripts

* Add first pass of working dependencies for babel-preset-react-app and react-scripts

* Bump more dependency versions

* Adjust more versions and edit fix options

* Restore functionality of old preset

* Disable Uglify in iframe webpack

* Apply prettier

* Re-enable cache in dev and clean deps

* Lock packages and move babel/core to dep in preset

* Bump babel-jest

* Re-enable uglify

* Nest forceAllTransforms correctly in webpack config

* Install babel-core bridge for jest

* Add jest-cli and babel-core bridge to make tests in react-error-overlay pass

* Re-enable transform-dynamic-import

* Add dynamic import syntax support back

* Use new babel in kitchensink

* Transform modules in test

* Revert "Transform modules in test"

This reverts commit 539e46a1d77259898b7e70d778a5e43fc25edc2a.

* Attempt fix for ejected tests

* try this

* Add regenerator back

* Bump babel deps to beta.34

* Remove bad files

* Use default when requiring babel transform plugin

* Bump deps

* Try the fix?

* Oopsie

* Remove some weird things

* Run Babel on react-error-overlay tests

* Try fixing kitchensink

* Use new API for codeFrame

* Add missing (?) babelrc

* Maybe this helps?

* Maybe fix mocha

* I shouldn't have deleted this 🤦
2018-01-15 00:07:57 -05:00
Jeffrey Posnick
b6aebb9e8f Remove the navigateFallback behavior from the generated service worker (#3419)
* Disables navigateFallback and updates the README

* Typos

* Updated a URL in a comment.
2018-01-15 00:06:24 -05:00
everdimension
813584ff35 Redisable require.ensure() (#3121) 2018-01-15 00:06:24 -05:00
Andrey Sitnik
0a331710aa Move browsers to cross-tool config (#3644) 2018-01-15 00:06:24 -05:00
Joe Haddad
1f18ab7879 Specify ecma version (#3743) 2018-01-15 00:06:24 -05:00
Ade Viankakrisna Fadlil
ff544949b9 Use uglifyjs-webpack-plugin v1 (#3618) 2018-01-15 00:06:24 -05:00
Ian Sutherland
af291f3cb6 Add mjs and jsx filename extensions to file-loader exclude pattern (#3537) 2017-12-07 13:20:45 -05:00
Joe Lim
36cd35d684 Refactor extra watch options regex to react-dev-utils (#3362)
* extra watch options regex to react-dev-utils

* fix regex

* add test

* fix eslint error

* include react-dev-utils test in CI script

* attempt to fix import error

* attempt to fix error on CI

* Update .eslintrc
2017-11-03 22:23:31 -04:00
Joe Haddad
5c8000f300 Add .mjs support (#3239) 2017-10-28 21:48:42 +01:00
Satya van Heummen
1fa16ace5f Make uglify work in Safari 10.0 - fixes #3280 (#3281)
Implement settings as suggested here:
https://github.com/mishoo/UglifyJS2/tree/harmony#mangle-options

To solve this Safari bug:
https://bugs.webkit.org/show_bug.cgi?id=171041
2017-10-28 21:42:41 +01:00
Jonny Buchanan
a0030fcf2d Update style-loader and disable inclusion of its HMR code in builds (#3236) 2017-10-05 20:02:32 -04:00
Sophie Alpert
2e82ebb337 BSD+Patents -> MIT (#3189)
* File headers BSD+Patents -> MIT

* BSD+Patents -> MIT
2017-09-26 10:30:05 +01:00
Kristie Howard
b67ef01ade Update unclear wording in webpack config docs (#3160) 2017-09-19 22:00:44 -04:00
Anthony
6644054fc3 provide empty mock for child_process so importing libraries with it works (#3033) 2017-09-02 13:41:40 -07:00
Ade Viankakrisna Fadlil
1e3a64fa43 Use env variable to disable source maps (#2818)
* use env variable to disable source maps

* Rename to use SOURCE_MAP with explicit value

* Update webpack.config.prod.js
2017-08-08 21:53:37 -04:00
iamdoron
24b18aedd9 Allow importing package.json (#2468)
* Allow importing package.json

* Remove package.json import from App.js template

* fix importing package.json

* Rename variable to reflect path is relative to root

* Check for both package & package.json in ModuleScopePlugin

* Use regex to check relative path to package.json

* Strictly enforce package.json extension on scope plugin

* Add allowedPaths to ModuleScopePlugin ctor and use it to allow app package.json

* Remove package.json import from App.js template

* Add package.json to react-scripts/template, show package version and name in the template

* Remove import package.json from template

* Remove template/package.json and its references in code

* Update ModuleScopePlugin.js

* Update README.md
2017-08-01 22:50:58 -04:00
Andreas Hoffmann
a08eb3b44b Use Rule.oneOf to resolve correct loader (#2747)
* Use oneOf to resolve correct loader

* Add html and json fallthrough again

* Use oneOf to resolve correct loader in dev

* Document file-loaders `js` exclusion

* Remove `jsx` from exclusion in prod config
2017-07-09 21:59:19 +01:00
Đinh Quang Trung
bbbc15dc8e ESLint 4 (#2735)
* Update eslint-loader 1.7.1 -> 1.9.0

* Add eslintPath option

* Update eslint 3.19.0 -> 4.1.1

* Update peer dependencies

* Move eslintPath config to outside @remove-on-eject
2017-07-07 11:40:29 +01:00
Dan Abramov
567d981ee2 Fix external CSS imports (#2680)
* Fix external CSS imports

* Add external CSS import to integration test

* Fix assertion
2017-06-29 12:59:49 +01:00
Evan Jones
6ab0ec0075 Better React Native Web support (#2511)
* Better React Native Web support

* Adding better react-native-web support for jest testing
2017-06-28 15:29:58 +01:00
Dan Abramov
91064a1c7f Ignore "Skipping static resource" message from SW precache (#2645) 2017-06-27 22:28:00 +01:00
Daniel Ciao
a9ac78996b Fix sourcemap directory organizing on Windows (#2456) (#2610)
* Fix sourcemap directory organizing on Windows

* Update comments
2017-06-27 16:55:28 +01:00
Ade Viankakrisna Fadlil
41f2013260 turn on ascii_only for issue with emoji and regex (#2596) 2017-06-27 14:05:15 +01:00
Dan Abramov
7a0fb4c62b Use Babel compact mode in production (#2389) 2017-06-26 17:35:18 +01:00
Andy Kenward
43d0307bc1 webpack no need for ident if using complex options anymore (#2430)
Since `v2.2.1` of webpack the need for `ident` for complex options is no longer required. See

https://webpack.js.org/guides/migrating/#complex-options
2017-06-26 17:31:25 +01:00
Will Farley
3e9955ddb6 Update sw-precache-webpack-plugin to lastest version (#2429)
* Update sw-precache-webpack-plugin to v0.11.3

* Pin the version
2017-06-26 17:29:52 +01:00
Mico Piira
6e2898e596 Add empty mock for dgram (#2600) 2017-06-26 16:48:21 +01:00
David Ascher
f6d8544033 Disable comparisons feature in uglify compression in production (#2379)
* Disable a micro-option in uglify that appears to be buggy

See https://github.com/facebookincubator/create-react-app/issues/2376

* wrong plugin

* Add a comment
2017-05-27 12:36:42 +01:00
Zac Kwan
c1ba38dbf5 Removed the overriding of reduce_vars to false since webpack v2.6.0 included the fixed for Uglify bug (#2351) 2017-05-27 12:33:13 +01:00
Ryan Sullivan
55fe1369d7 Add navigateFallbackWhitelist /__* to SW Precache config (#2347)
* Add navigateFallbackWhitelist /__* to SW Precache config

* Add comments
2017-05-24 13:07:45 +01:00
Dan Abramov
3a3be7478b Fix a bug on empty NODE_PATH (#2264) 2017-05-19 20:06:15 +01:00
Dan Abramov
d24311ea79 Always resolve NODE_PATH (#2261)
* Always resolve NODE_PATH

* Update env.js
2017-05-19 19:55:57 +01:00
Dan Abramov
3cd2267256 Additional fix to service worker config for "homepage" field (#2262) 2017-05-19 19:41:59 +01:00
Dan Abramov
22ca584b2b Work around Windows path issue in SWPrecacheWebpackPlugin (#2255) 2017-05-19 17:57:58 +01:00
Dan Abramov
fd2a800f76 Disable Uglify reduce_vars (#2200) 2017-05-17 23:24:07 +01:00
Dan Abramov
d9a2974574 Tidy up some build logs (#2197) 2017-05-17 20:10:17 +01:00
Jeffrey Posnick
c7c3a521e2 PWA-ification, via SWPrecacheWebpackPlugin + manifest.json (#1728)
* sw-precache-webpack-plugin, SW registration, manifest.json

* Documentation + a few SW tweaks.

* Added an unregister method, too, just in case.

* More info for the READMEs.

* Add minify to SWPrecacheWebpackPlugin config

* Fix SWPrecacheWebpackPlugin typo

* Fix file references in READMEmd

* Add instructions for testing service-worker locally

* Review feedback

* Some additional PWA metadata

* Use sw-precache-webpack-plugin v0.9.1 for node >=4.0.0 support

* Review feedback.

* Add manifest.json context in a comment.

* Fix typo

* Downgrade to sw-precache-webpack-plugin 0.9.1

* Hide changes in README until 1.0

* Hide changes in User Guide until 1.0

* Hide more docs
2017-05-17 19:28:27 +01:00
Kant
e7c113eb15 Webpack config typo (#2193)
* Webpack config typo

* Webpack config more typo
2017-05-17 14:30:07 +01:00
Joe Haddad
a61be9c619 Add module scope plugin (#2189)
* Add module scope plugin

* Oops

* Add comments

* Check windows seps too

* More descriptive error

* Document it
2017-05-17 12:19:52 +01:00