Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests and improvements to babel config invalidation #5256

Merged
merged 7 commits into from Nov 22, 2020
Merged

Conversation

devongovett
Copy link
Member

@devongovett devongovett commented Oct 19, 2020

Fixes #1359. Closes T-652.

This improves babel config invalidation and adds cache tests. Most of this depends on babel/babel#11907 which was released in Babel v7.12. This gives us a full list of all files that affected a babel config, including extended configs and ignore files. If we detect an earlier version of babel core, we invalidate on startup and log a warning to let the user know to upgrade. This also implements invalidation on startup for symlinked babel plugins.

The warnings we previously had in the babel transformer weren't really visible to most users because they were logged as verbose. I've changed these to actual warnings so people will be more likely to see them. I've also implemented warning deduplication in the CLI reporter so that the same warning won't be logged for every single file in a build. I think this is probably ok because the number of distinct warnings we actually emit is pretty low.

@height
Copy link

height bot commented Oct 19, 2020

This pull request has been linked to and will mark 1 task as "Done" when merged:

💡Tip: You can link multiple Height tasks to a pull request.

@parcel-benchmark
Copy link

parcel-benchmark commented Oct 19, 2020

Benchmark Results

Kitchen Sink ✅

Timings

Description Time Difference
Cold 9.69s +774.00ms ⚠️
Cached 2.44s +470.00ms ⚠️

Cold Bundles

Bundle Size Difference Time Difference
dist/legacy/parcel.d5807e82.webp 102.94kb +0.00b 237.00ms -27.00ms 🚀
dist/modern/parcel.d5807e82.webp 102.94kb +0.00b 280.00ms -50.00ms 🚀
dist/legacy/index.dc3d7ad2.js 1.10kb +0.00b 2.52s -222.00ms 🚀
dist/modern/index.9c5edbbf.js 1.10kb +0.00b 2.63s -369.00ms 🚀
dist/legacy/index.html 701.00b +0.00b 2.66s -225.00ms 🚀
dist/modern/index.html 701.00b +0.00b 2.75s -369.00ms 🚀
dist/legacy/index.afdbda6b.css 77.00b +0.00b 2.37s -210.00ms 🚀
dist/modern/index.ef3960f9.css 77.00b +0.00b 2.48s -375.00ms 🚀

Cached Bundles

Bundle Size Difference Time Difference
dist/legacy/parcel.d5807e82.webp 102.94kb +0.00b 2.01s +420.00ms ⚠️
dist/modern/parcel.d5807e82.webp 102.94kb +0.00b 1.92s +419.00ms ⚠️
dist/legacy/index.dc3d7ad2.js 1.10kb +0.00b 2.09s +408.00ms ⚠️
dist/modern/index.9c5edbbf.js 1.10kb +0.00b 2.14s +451.00ms ⚠️
dist/legacy/index.html 701.00b +0.00b 2.10s +454.00ms ⚠️
dist/modern/index.html 701.00b +0.00b 1.98s +378.00ms ⚠️
dist/legacy/index.afdbda6b.css 77.00b +0.00b 2.10s +454.00ms ⚠️
dist/modern/index.ef3960f9.css 77.00b +0.00b 2.10s +504.00ms ⚠️

React HackerNews ✅

Timings

Description Time Difference
Cold 32.32s -414.00ms
Cached 2.40s +490.00ms ⚠️

Cold Bundles

Bundle Size Difference Time Difference
dist/NotFound.0b6210fa.js 532.00b +0.00b 1.15s -146.00ms 🚀
dist/logo.24c8bf9e.png 274.00b +0.00b 173.00ms +66.00ms ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/index.js 478.31kb +0.00b 1.65s +413.00ms ⚠️
dist/PermalinkedComment.db77afbe.js 4.22kb +0.00b 1.65s +412.00ms ⚠️
dist/UserProfile.ef6d6d51.js 1.70kb +0.00b 1.65s +412.00ms ⚠️
dist/NotFound.0b6210fa.js 532.00b +0.00b 1.65s +412.00ms ⚠️
dist/logo.24c8bf9e.png 274.00b +0.00b 1.58s +417.00ms ⚠️

AtlasKit Editor ✅

Timings

Description Time Difference
Cold 3.38m +5.99s
Cached 6.19s +384.00ms ⚠️

Cold Bundles

Bundle Size Difference Time Difference
dist/index.bdbe5bb0.js 2.33mb +0.00b 1.88m +9.11s ⚠️
dist/pdfRenderer.33445710.js 1.11mb +0.00b 1.10m +4.36s ⚠️
dist/popup.243bc0ff.js 169.35kb +0.00b 42.28s -21.57s 🚀
dist/media-viewer.6060fcaa.js 72.97kb +0.00b 22.30s +2.46s ⚠️
dist/card.7ec5f265.js 53.67kb +0.00b 19.09s +2.49s ⚠️
dist/Modal.54b01f5d.js 39.02kb +0.00b 7.96s +835.00ms ⚠️
dist/component.3f6c5fd5.js 30.87kb +0.00b 4.29s +733.00ms ⚠️
dist/esm.c2ff13dc.js 27.74kb +0.00b 17.26s +2.48s ⚠️
dist/component.1f0a13fd.js 22.40kb +0.00b 7.96s +832.00ms ⚠️
dist/js.6b81b350.js 16.55kb +0.00b 7.96s +841.00ms ⚠️
dist/ui.70abaf10.js 14.11kb +0.00b 19.09s +2.49s ⚠️
dist/workerHasher.9a1bcc26.js 11.90kb +0.00b 17.26s -1.44m 🚀
dist/component.887889bd.js 6.27kb +0.00b 9.27s -485.00ms 🚀
dist/card.15458479.js 5.76kb +0.00b 19.19s +2.59s ⚠️
dist/media-viewer.df48eec6.js 4.01kb +0.00b 22.30s +2.44s ⚠️
dist/EmojiPickerComponent.fc1dc3f2.js 3.68kb +0.00b 17.33s -1.44m 🚀
dist/png-chunks-extract.543658a5.js 3.55kb +0.00b 7.96s +835.00ms ⚠️
dist/dropzone.e88efb33.js 3.44kb +0.00b 39.73s -21.71s 🚀
dist/Modal.6d0dd03d.js 3.15kb +0.00b 4.29s +731.00ms ⚠️
dist/clipboard.b61602ee.js 2.97kb +0.00b 1.11m -37.22s 🚀
dist/16.c290a944.js 2.49kb +0.00b 5.44s +1.06s ⚠️
dist/ResourcedEmojiComponent.a210a7cf.js 2.15kb +0.00b 19.09s +2.50s ⚠️
dist/card.1eac63ce.js 2.15kb +0.00b 22.34s +2.47s ⚠️
dist/date.e4800c83.js 1.96kb +0.00b 9.10s +636.00ms ⚠️
dist/images.5857a694.js 1.90kb +0.00b 9.10s +636.00ms ⚠️
dist/feedback.6a6b2f29.js 1.86kb +0.00b 15.53s +6.41s ⚠️
dist/16.337c4a69.js 1.86kb +0.00b 8.58s +541.00ms ⚠️
dist/16.341477eb.js 1.79kb +0.00b 1.10m +9.91s ⚠️
dist/workerHasher.f0b9c348.js 1.75kb +0.00b 17.26s +2.49s ⚠️
dist/workerHasher.1a180cb0.js 1.75kb +0.00b 1.88m +47.22s ⚠️
dist/list-number.36609b0a.js 1.68kb +0.00b 9.28s +689.00ms ⚠️
dist/status.9da75e40.js 1.68kb +0.00b 9.47s +573.00ms ⚠️
dist/code.bc8fb460.js 1.61kb +0.00b 8.87s +568.00ms ⚠️
dist/link.bb422cb1.js 1.53kb +0.00b 9.28s +689.00ms ⚠️
dist/heading6.238921eb.js 1.53kb +0.00b 15.53s +6.41s ⚠️
dist/heading3.6497f7aa.js 1.51kb +0.00b 9.89s +777.00ms ⚠️
dist/16.ba59f551.js 1.51kb +0.00b 8.29s +712.00ms ⚠️
dist/16.800e2eff.js 1.46kb +0.00b 9.28s -481.00ms 🚀
dist/16.dc943e90.js 1.46kb +0.00b 8.29s +715.00ms ⚠️
dist/emoji.fa7e2dd9.js 1.45kb +0.00b 9.10s +636.00ms ⚠️
dist/16.65ce2e2d.js 1.45kb +0.00b 4.29s +734.00ms ⚠️
dist/16.f4d9f154.js 1.44kb +0.00b 8.86s +561.00ms ⚠️
dist/16.a2715aa7.js 1.40kb +0.00b 8.86s +561.00ms ⚠️
dist/heading5.6377da4c.js 1.40kb +0.00b 9.89s +777.00ms ⚠️
dist/16.ca13f983.js 1.36kb +0.00b 8.58s +540.00ms ⚠️
dist/16.fccb8e14.js 1.34kb +0.00b 4.29s +734.00ms ⚠️
dist/heading2.6fdab736.js 1.33kb +0.00b 9.89s +996.00ms ⚠️
dist/16.2bcd6143.js 1.32kb +0.00b 8.58s +539.00ms ⚠️
dist/16.4d03606f.js 1.31kb +0.00b 8.86s +561.00ms ⚠️
dist/media-card-analytics-error-boundary.1ab2b068.js 1.30kb +0.00b 39.73s -21.68s 🚀
dist/mention.e55162e6.js 1.29kb +0.00b 9.29s +690.00ms ⚠️
dist/heading4.85958aa7.js 1.29kb +0.00b 9.89s +777.00ms ⚠️
dist/Modal.c2e84576.js 1.28kb +0.00b 7.96s +841.00ms ⚠️
dist/16.39730f48.js 1.27kb +0.00b 4.29s +734.00ms ⚠️
dist/layout.cc7c5789.js 1.27kb +0.00b 9.28s +689.00ms ⚠️
dist/16.b3d19690.js 1.27kb +0.00b 8.58s +541.00ms ⚠️
dist/16.2a859487.js 1.26kb +0.00b 8.29s +705.00ms ⚠️
dist/16.8b45a9b4.js 1.26kb +0.00b 8.29s +713.00ms ⚠️
dist/16.12b6f2f5.js 1.26kb +0.00b 8.29s +712.00ms ⚠️
dist/16.d0ab6e68.js 1.26kb +0.00b 9.28s -481.00ms 🚀
dist/divider.dfbacd71.js 1.25kb +0.00b 9.10s +636.00ms ⚠️
dist/quote.3cc0c5b3.js 1.25kb +0.00b 9.47s +573.00ms ⚠️
dist/component.191770ee.js 1.23kb +0.00b 5.44s +1.06s ⚠️
dist/action.6beade63.js 1.23kb +0.00b 8.86s +559.00ms ⚠️
dist/16.05bc118a.js 1.23kb +0.00b 5.44s +1.06s ⚠️
dist/decision.06aab825.js 1.21kb +0.00b 9.10s +636.00ms ⚠️
dist/panel-warning.5d04948a.js 1.21kb +0.00b 9.47s +751.00ms ⚠️
dist/16.9f329251.js 1.18kb +0.00b 8.58s +538.00ms ⚠️
dist/list.81b616df.js 1.18kb +0.00b 9.29s +690.00ms ⚠️
dist/heading1.7a872529.js 1.18kb +0.00b 9.89s +996.00ms ⚠️
dist/panel-error.500bfa4c.js 1.11kb +0.00b 1.88m +1.74m ⚠️
dist/panel.3dc2993d.js 1.10kb +0.00b 9.47s +750.00ms ⚠️
dist/table.2080431e.js 1.09kb +0.00b 9.47s +574.00ms ⚠️
dist/media-picker-analytics-error-boundary.c3443c80.js 1.05kb +0.00b 42.28s -19.19s 🚀
dist/panel-success.00b7ca1a.js 1.05kb +0.00b 1.88m +1.74m ⚠️
dist/media-card-analytics-error-boundary.c959d6fe.js 1.05kb +0.00b 19.09s +2.49s ⚠️
dist/panel-note.2720f000.js 1.05kb +0.00b 1.88m +1.74m ⚠️
dist/media-viewer-analytics-error-boundary.8af0cb6d.js 995.00b +0.00b 22.30s +2.44s ⚠️
dist/simpleHasher.96471d3f.js 755.00b +0.00b 17.26s -1.44m 🚀
dist/index.html 119.00b +0.00b 7.21s +1.02s ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/index.c7a3810f.js 2.30mb +0.00b 592.00ms -156.00ms 🚀
dist/pdfRenderer.33445710.js 1.11mb +0.00b 933.00ms -63.00ms 🚀
dist/editorView.2e79df9e.js 587.39kb +0.00b 963.00ms -67.00ms 🚀
dist/popup.ef732d5e.js 169.21kb +0.00b 955.00ms -55.00ms 🚀
dist/EmojiPickerComponent.0d4c4f30.js 139.08kb +0.00b 917.00ms -48.00ms 🚀
dist/Toolbar.f07e85fe.js 92.41kb +0.00b 963.00ms -67.00ms 🚀
dist/media-viewer.aeef35d4.js 72.87kb +0.00b 933.00ms -62.00ms 🚀
dist/card.7a269eed.js 53.81kb +0.00b 933.00ms -63.00ms 🚀
dist/card.f615d4b5.js 51.57kb +0.00b 956.00ms -74.00ms 🚀
dist/Modal.c9cf25e7.js 38.79kb +0.00b 858.00ms +109.00ms ⚠️
dist/esm.c2ff13dc.js 27.74kb +0.00b 917.00ms -48.00ms 🚀
dist/component.1f0a13fd.js 22.40kb +0.00b 648.00ms -126.00ms 🚀
dist/DatePicker.e2c8c08b.js 21.03kb +0.00b 898.00ms -67.00ms 🚀
dist/smartMediaEditor.0b0fded3.js 16.93kb +0.00b 963.00ms -67.00ms 🚀
dist/js.6b81b350.js 16.55kb +0.00b 648.00ms -126.00ms 🚀
dist/dropzone.a875e989.js 16.12kb +0.00b 956.00ms -74.00ms 🚀
dist/ui.70abaf10.js 14.11kb +0.00b 933.00ms -63.00ms 🚀
dist/workerHasher.9a1bcc26.js 11.90kb +0.00b 917.00ms -48.00ms 🚀
dist/component.887889bd.js 6.27kb +0.00b 648.00ms -126.00ms 🚀
dist/card.15458479.js 5.76kb +0.00b 933.00ms -62.00ms 🚀
dist/media-viewer.df48eec6.js 4.01kb +0.00b 933.00ms -63.00ms 🚀
dist/EmojiPickerComponent.4b0a8e28.js 3.56kb +0.00b 933.00ms -63.00ms 🚀
dist/png-chunks-extract.543658a5.js 3.55kb +0.00b 648.00ms -126.00ms 🚀
dist/index.6d011607.css 3.46kb +0.00b 1.02s -68.00ms 🚀
dist/dropzone.e88efb33.js 3.44kb +0.00b 957.00ms -53.00ms 🚀
dist/Modal.6d0dd03d.js 3.15kb +0.00b 613.00ms -273.00ms 🚀
dist/clipboard.b61602ee.js 2.97kb +0.00b 954.00ms -76.00ms 🚀
dist/16.c290a944.js 2.49kb +0.00b 593.00ms -155.00ms 🚀
dist/ResourcedEmojiComponent.a210a7cf.js 2.15kb +0.00b 933.00ms -63.00ms 🚀
dist/card.1eac63ce.js 2.15kb +0.00b 955.00ms -55.00ms 🚀
dist/date.e4800c83.js 1.96kb +0.00b 768.00ms -118.00ms 🚀
dist/images.5857a694.js 1.90kb +0.00b 790.00ms -116.00ms 🚀
dist/feedback.6a6b2f29.js 1.86kb +0.00b 898.00ms -67.00ms 🚀
dist/16.337c4a69.js 1.86kb +0.00b 708.00ms -122.00ms 🚀
dist/browser.7b377034.js 1.82kb +0.00b 955.00ms -75.00ms 🚀
dist/16.341477eb.js 1.79kb +0.00b 678.00ms -116.00ms 🚀
dist/workerHasher.f0b9c348.js 1.75kb +0.00b 917.00ms -48.00ms 🚀
dist/workerHasher.1a180cb0.js 1.75kb +0.00b 964.00ms -66.00ms 🚀
dist/list-number.36609b0a.js 1.68kb +0.00b 826.00ms -80.00ms 🚀
dist/status.9da75e40.js 1.68kb +0.00b 859.00ms -75.00ms 🚀
dist/code.bc8fb460.js 1.61kb +0.00b 768.00ms -118.00ms 🚀
dist/link.bb422cb1.js 1.53kb +0.00b 790.00ms -116.00ms 🚀
dist/heading6.238921eb.js 1.53kb +0.00b 898.00ms -67.00ms 🚀
dist/heading3.6497f7aa.js 1.51kb +0.00b 870.00ms -64.00ms 🚀
dist/16.ba59f551.js 1.51kb +0.00b 708.00ms -122.00ms 🚀
dist/16.800e2eff.js 1.46kb +0.00b 678.00ms -116.00ms 🚀
dist/16.dc943e90.js 1.46kb +0.00b 678.00ms -116.00ms 🚀
dist/emoji.fa7e2dd9.js 1.45kb +0.00b 790.00ms -116.00ms 🚀
dist/16.f4d9f154.js 1.44kb +0.00b 741.00ms -109.00ms 🚀
dist/16.a2715aa7.js 1.40kb +0.00b 741.00ms -109.00ms 🚀
dist/heading5.6377da4c.js 1.40kb +0.00b 898.00ms -67.00ms 🚀
dist/expand.b1a7b9be.js 1.38kb +0.00b 898.00ms -67.00ms 🚀
dist/16.ca13f983.js 1.36kb +0.00b 740.00ms -110.00ms 🚀
dist/heading2.6fdab736.js 1.33kb +0.00b 870.00ms -64.00ms 🚀
dist/16.2bcd6143.js 1.32kb +0.00b 740.00ms -110.00ms 🚀
dist/16.4d03606f.js 1.31kb +0.00b 766.00ms -120.00ms 🚀
dist/media-card-analytics-error-boundary.1ab2b068.js 1.30kb +0.00b 955.00ms -55.00ms 🚀
dist/mention.e55162e6.js 1.29kb +0.00b 826.00ms -80.00ms 🚀
dist/heading4.85958aa7.js 1.29kb +0.00b 870.00ms -66.00ms 🚀
dist/Modal.c2e84576.js 1.28kb +0.00b 648.00ms -126.00ms 🚀
dist/layout.cc7c5789.js 1.27kb +0.00b 790.00ms -116.00ms 🚀
dist/16.b3d19690.js 1.27kb +0.00b 708.00ms -122.00ms 🚀
dist/16.2a859487.js 1.26kb +0.00b 678.00ms -116.00ms 🚀
dist/16.8b45a9b4.js 1.26kb +0.00b 708.00ms -122.00ms 🚀
dist/16.12b6f2f5.js 1.26kb +0.00b 708.00ms -122.00ms 🚀
dist/16.d0ab6e68.js 1.26kb +0.00b 678.00ms -116.00ms 🚀
dist/divider.dfbacd71.js 1.25kb +0.00b 784.00ms -122.00ms 🚀
dist/quote.3cc0c5b3.js 1.25kb +0.00b 859.00ms -75.00ms 🚀
dist/component.191770ee.js 1.23kb +0.00b 593.00ms -155.00ms 🚀
dist/action.6beade63.js 1.23kb +0.00b 768.00ms -118.00ms 🚀
dist/16.05bc118a.js 1.23kb +0.00b 593.00ms -155.00ms 🚀
dist/decision.06aab825.js 1.21kb +0.00b 768.00ms -118.00ms 🚀
dist/panel-warning.5d04948a.js 1.21kb +0.00b 859.00ms -75.00ms 🚀
dist/16.9f329251.js 1.18kb +0.00b 740.00ms -110.00ms 🚀
dist/list.81b616df.js 1.18kb +0.00b 826.00ms -80.00ms 🚀
dist/heading1.7a872529.js 1.18kb +0.00b 870.00ms -64.00ms 🚀
dist/panel-error.500bfa4c.js 1.11kb +0.00b 826.00ms -80.00ms 🚀
dist/panel.3dc2993d.js 1.10kb +0.00b 859.00ms -75.00ms 🚀
dist/table.2080431e.js 1.09kb +0.00b 870.00ms -64.00ms 🚀
dist/media-picker-analytics-error-boundary.c3443c80.js 1.05kb +0.00b 957.00ms -56.00ms 🚀
dist/panel-success.00b7ca1a.js 1.05kb +0.00b 858.00ms -76.00ms 🚀
dist/media-card-analytics-error-boundary.c959d6fe.js 1.05kb +0.00b 933.00ms -61.00ms 🚀
dist/media-card-analytics-error-boundary.bb339f2e.js 1.05kb +0.00b 956.00ms -75.00ms 🚀
dist/panel-note.2720f000.js 1.05kb +0.00b 826.00ms -84.00ms 🚀
dist/media-viewer-analytics-error-boundary.8af0cb6d.js 995.00b +0.00b 933.00ms -77.00ms 🚀
dist/simpleHasher.96471d3f.js 755.00b +0.00b 917.00ms -50.00ms 🚀
dist/simpleHasher.e9f76c50.js 755.00b +0.00b 964.00ms -66.00ms 🚀
dist/index.html 119.00b +0.00b 391.00ms -208.00ms 🚀

Three.js x4 🚨

Timings

Description Time Difference
Cold FAILED -0.00ms
Cached FAILED -0.00ms

Cold Bundles

No bundles found, this is probably a failed build...

Cached Bundles

No bundles found, this is probably a failed build...

Click here to view a detailed benchmark overview.

Base automatically changed from parcel-options-invalidation to entry-target-invalidations October 28, 2020 17:32
Base automatically changed from entry-target-invalidations to v2 November 22, 2020 01:08
@devongovett devongovett merged commit da12643 into v2 Nov 22, 2020
@devongovett devongovett deleted the babel-invalidation branch November 22, 2020 21:13
AGawrys pushed a commit to AGawrys/parcel that referenced this pull request Dec 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cache is not invalidated after babelrc is created
3 participants