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

Add parcel-link and parcel-unlink dev CLIs #8618

Merged
merged 61 commits into from
Nov 3, 2023
Merged

Conversation

lettertwo
Copy link
Member

@lettertwo lettertwo commented Nov 9, 2022

NOTE: This PR is stacked on #8857 because its tests rely on changes from that PR

This is a packaging of a very useful script that @mischnic initially created for our internal use. The script makes it easy to test a local copy of Parcel in an existing project by replacing Parcel packages with symlinks to the local copy.

In this PR, the script has been wrapped in a CLI, such that it can be installed and used to link any copy of Parcel to any project.

How to test

check out this branch and run yarn, then cd packages/dev/parcel-link && yarn link
to make the parcel-link binary globally available.

Then, you should be able to try linking into any project by cd /project/path && parcel-link.

You can also link a different copy of Parcel (default is the copy that parcel-link belongs to:

$ cd /project/path && parcel-link /path/to/parcel/packages

The README has more info, as does parcel-link -h

unlinking

Currently, parcel-link unlink attempts to do the opposite of what parcel-link did, as recorded in the .parcel-link manifest.

The idea is that parcel-link unlink should "just work", rather than taking options to match parcel-link.

TODO

  • make parcel-unlink work without arguments
  • test in a variety of projects

@parcel-benchmark
Copy link

parcel-benchmark commented Nov 9, 2022

Benchmark Results

Kitchen Sink ✅

Timings

Description Time Difference
Cold 2.16s +226.00ms ⚠️
Cached 313.00ms -32.00ms 🚀

Cold Bundles

Bundle Size Difference Time Difference
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 436.00ms +110.00ms ⚠️
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 437.00ms +110.00ms ⚠️
dist/modern/parcel.7cdb0fad.webp 102.94kb +0.00b 437.00ms +110.00ms ⚠️
dist/legacy/index.ff03421b.js 1.48kb +0.00b 771.00ms +258.00ms ⚠️
dist/legacy/index.e9bb1616.js 1.06kb +0.00b 770.00ms +259.00ms ⚠️
dist/modern/index.4a29d309.js 921.00b +0.00b 770.00ms +258.00ms ⚠️
dist/legacy/index.html 826.00b +0.00b 674.00ms +119.00ms ⚠️
dist/modern/index.html 749.00b +0.00b 674.00ms +120.00ms ⚠️
dist/legacy/index.b8ae99ba.css 94.00b +0.00b 447.00ms +108.00ms ⚠️
dist/modern/index.31cedca9.css 94.00b +0.00b 446.00ms +108.00ms ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 362.00ms +39.00ms ⚠️
dist/modern/parcel.7cdb0fad.webp 102.94kb +0.00b 361.00ms +38.00ms ⚠️

React HackerNews ✅

Timings

Description Time Difference
Cold 4.89s +39.00ms
Cached 470.00ms +1.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/PermalinkedComment.e9dc4a75.js 3.92kb +0.00b 463.00ms +30.00ms ⚠️
dist/UserProfile.8945a243.js 1.38kb +0.00b 463.00ms +31.00ms ⚠️
dist/NotFound.8b44a81d.js 269.00b +0.00b 463.00ms +31.00ms ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/index.js 459.11kb +0.00b 1.21s +79.00ms ⚠️
dist/PermalinkedComment.e9dc4a75.js 3.92kb +0.00b 594.00ms +78.00ms ⚠️
dist/UserProfile.8945a243.js 1.38kb +0.00b 600.00ms +84.00ms ⚠️
dist/NotFound.8b44a81d.js 269.00b +0.00b 601.00ms +85.00ms ⚠️
dist/logo.8dd07848.png 244.00b +0.00b 382.00ms +83.00ms ⚠️

AtlasKit Editor ✅

Timings

Description Time Difference
Cold 42.92s -617.00ms
Cached 2.57s -52.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/media-viewer.38e3999a.js 536.13kb +0.00b 13.87s +3.96s ⚠️
dist/ConfigPanelFieldsLoader.28b428a5.js 82.73kb +0.00b 13.84s +1.48s ⚠️
dist/component-lazy.51d1dec9.js 58.94kb +0.00b 6.45s -763.00ms 🚀
dist/codeViewerRenderer.51140ec8.js 2.61kb +0.00b 9.73s -4.02s 🚀
dist/ro.8d5b380a.js 482.00b +0.00b 7.30s -2.61s 🚀

Cached Bundles

Bundle Size Difference Time Difference
dist/component-lazy.51d1dec9.js 58.94kb +0.00b 6.74s +391.00ms ⚠️
dist/DatePicker.042aeb21.js 47.46kb +0.00b 7.62s +437.00ms ⚠️
dist/DatePicker.dd4c3679.js 24.96kb +0.00b 7.62s +438.00ms ⚠️
dist/ResourcedEmojiComponent.9a253c26.js 2.47kb +0.00b 7.62s +438.00ms ⚠️
dist/pl.bce591be.js 2.25kb +0.00b 7.62s +438.00ms ⚠️
dist/cs.bf42283b.js 2.23kb +0.00b 7.62s +437.00ms ⚠️
dist/de.90d5c4fa.js 2.17kb +0.00b 7.62s +438.00ms ⚠️
dist/fr.ff5d335f.js 2.13kb +0.00b 7.62s +437.00ms ⚠️
dist/es.80bf0476.js 2.12kb +0.00b 7.62s +439.00ms ⚠️
dist/hu.223c2cde.js 2.10kb +0.00b 7.62s +437.00ms ⚠️
dist/fi.98bb8fa8.js 2.09kb +0.00b 7.62s +438.00ms ⚠️
dist/ja.7d4156df.js 2.09kb +0.00b 7.62s +438.00ms ⚠️
dist/pt_BR.b9e37d37.js 2.06kb +0.00b 7.62s +430.00ms ⚠️
dist/ko.9c6bf469.js 1.98kb +0.00b 7.62s +438.00ms ⚠️
dist/it.04edb54a.js 1.97kb +0.00b 7.62s +438.00ms ⚠️
dist/nb.9bd6db78.js 1.96kb +0.00b 7.62s +438.00ms ⚠️
dist/date.139a08b0.js 1.95kb +0.00b 6.72s +384.00ms ⚠️
dist/da.d2d8303e.js 1.95kb +0.00b 7.62s +438.00ms ⚠️
dist/nl.c4d12122.js 1.94kb +0.00b 7.62s +439.00ms ⚠️
dist/images.774ef3be.js 1.90kb +0.00b 6.72s +383.00ms ⚠️
dist/feedback.4b745631.js 1.76kb +0.00b 7.62s +437.00ms ⚠️
dist/status.20808f9b.js 1.67kb +0.00b 6.73s +393.00ms ⚠️
dist/code.3ce450f8.js 1.56kb +0.00b 6.72s +385.00ms ⚠️
dist/list-number.fdc97a50.js 1.47kb +0.00b 6.72s +383.00ms ⚠️
dist/heading6.e6e03f52.js 1.36kb +0.00b 7.62s +437.00ms ⚠️
dist/heading3.73972e33.js 1.35kb +0.00b 6.73s +393.00ms ⚠️
dist/link.71e06c5e.js 1.28kb +0.00b 6.72s +383.00ms ⚠️
dist/emoji.8f9f45dc.js 1.25kb +0.00b 6.72s +384.00ms ⚠️
dist/heading5.d2f94d9d.js 1.23kb +0.00b 7.62s +437.00ms ⚠️
dist/expand.c983e90a.js 1.18kb +0.00b 7.62s +438.00ms ⚠️
dist/heading2.c27d912d.js 1.17kb +0.00b 6.73s +393.00ms ⚠️
dist/heading4.be08fc9e.js 1.12kb +0.00b 6.74s +394.00ms ⚠️
dist/mention.f4723418.js 1.09kb +0.00b 6.73s +392.00ms ⚠️
dist/layout.b5e3a7ef.js 1.05kb +0.00b 6.72s +383.00ms ⚠️
dist/divider.7bb33712.js 1.04kb +0.00b 6.72s +384.00ms ⚠️
dist/action.c407ac14.js 1.02kb +0.00b 6.72s +383.00ms ⚠️
dist/heading1.d7caae19.js 1.02kb +0.00b 6.73s +393.00ms ⚠️
dist/list.bd698aa0.js 1011.00b +0.00b 6.73s +392.00ms ⚠️
dist/quote.d6bda47a.js 1011.00b +0.00b 6.73s +393.00ms ⚠️
dist/decision.a17a0d00.js 992.00b +0.00b 6.72s +384.00ms ⚠️
dist/panel-warning.772e8569.js 968.00b +0.00b 6.73s +392.00ms ⚠️
dist/16.549c63e3.js 955.00b +0.00b 6.72s +384.00ms ⚠️
dist/table.e0e68580.js 946.00b +0.00b 6.73s +393.00ms ⚠️
dist/panel.45c00b08.js 887.00b +0.00b 6.73s +393.00ms ⚠️
dist/panel-error.bfda44fb.js 864.00b +0.00b 6.73s +392.00ms ⚠️
dist/16.bf9fb66d.js 821.00b +0.00b 6.72s +384.00ms ⚠️
dist/panel-success.4afcba7a.js 805.00b +0.00b 6.73s +392.00ms ⚠️
dist/panel-note.58ef2b52.js 795.00b +0.00b 6.73s +392.00ms ⚠️
dist/16.c715b7e1.js 746.00b +0.00b 6.72s +383.00ms ⚠️
dist/pt_PT.e211e609.js 635.00b +0.00b 7.62s +430.00ms ⚠️
dist/et.88ef7cb4.js 633.00b +0.00b 7.62s +439.00ms ⚠️
dist/is.5f045a22.js 495.00b +0.00b 7.62s +437.00ms ⚠️
dist/ro.8d5b380a.js 482.00b +0.00b 7.62s +431.00ms ⚠️
dist/en_GB.4c40e6c6.js 472.00b +0.00b 7.62s +439.00ms ⚠️
dist/en.e1d21f6d.js 469.00b +0.00b 7.62s +439.00ms ⚠️

Three.js ✅

Timings

Description Time Difference
Cold 3.53s -102.00ms
Cached 378.00ms +10.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/Three.js 572.25kb +0.00b 1.06s -126.00ms 🚀

Cached Bundles

No bundle changes detected.

Click here to view a detailed benchmark overview.

@lettertwo lettertwo force-pushed the lettertwo/parcel-link branch 2 times, most recently from cf226fb to 18cbb5e Compare January 25, 2023 01:29
@lettertwo lettertwo force-pushed the lettertwo/parcel-link branch 4 times, most recently from f52631d to f7a715f Compare February 25, 2023 00:20
@lettertwo lettertwo force-pushed the lettertwo/parcel-link branch 2 times, most recently from 939afe9 to 6f36037 Compare July 12, 2023 18:21
@lettertwo lettertwo changed the base branch from v2 to lettertwo/copy-on-write-to-memory-fs July 17, 2023 17:42
@lettertwo lettertwo force-pushed the lettertwo/copy-on-write-to-memory-fs branch from ffcd4ca to d3f08a4 Compare July 25, 2023 20:53
@lettertwo lettertwo force-pushed the lettertwo/copy-on-write-to-memory-fs branch from d3f08a4 to df59e8d Compare August 15, 2023 20:19
@lettertwo lettertwo force-pushed the lettertwo/copy-on-write-to-memory-fs branch from 6716803 to 4926544 Compare August 16, 2023 18:30
@lettertwo lettertwo marked this pull request as ready for review August 16, 2023 20:09
@lettertwo lettertwo force-pushed the lettertwo/copy-on-write-to-memory-fs branch from 4926544 to a575496 Compare August 16, 2023 23:35
@lettertwo lettertwo force-pushed the lettertwo/copy-on-write-to-memory-fs branch 3 times, most recently from c6c3fa0 to 0463c5b Compare October 4, 2023 22:29
Base automatically changed from lettertwo/copy-on-write-to-memory-fs to v2 October 5, 2023 15:46
@lettertwo lettertwo merged commit 506e762 into v2 Nov 3, 2023
15 of 16 checks passed
@lettertwo lettertwo deleted the lettertwo/parcel-link branch November 3, 2023 00:12
@alshdavid alshdavid mentioned this pull request Nov 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants