-
Notifications
You must be signed in to change notification settings - Fork 2k
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
meta: add output-watcher
GHA to help check output diff
#4868
Conversation
366da0a
to
d98efa3
Compare
ba0b151
to
912f9c5
Compare
912f9c5
to
c81113b
Compare
Great! Let’s merge this so we can start testing it |
I don't really understand what this would look like. But it seems we keep digging ourselves a complexity hole just to prevent running prettier once on the entire codebase, we just have to check whether the merge conflicts are manageable between I'm hesitant to introduce complexity like this. |
I think this has value regardless of Prettier. It's very easy to introduce unforeseen changes when refactoring a codebase to TS, by watching the output diff we can more easily spot it.
What's the downside though?
I ran it on the status-bar refactor branch to get an idea: https://github.com/transloadit/uppy/actions/runs/7547346713/job/20547126960 |
I still don't understand, what gives me insight? The "show diff" step? I don't know what to make of that. I don't see a commit in the PR you ran this in with changes based on it 🤔 |
This reverts commit c6775be.
Here it is in action: #4839 (comment) |
@Murderlon when refactoring js code to ts code, this new diff will show you if you accidentally introduced any changes that modify behaviour of the resulting JS code. ideally if you refactored JS to TS without changing behavior, this diff would be empty @aduh95 maybe an improvement could be to strip off comments too? then we can avoid diffs like this: ![]() |
Yes, and maybe apply a formatter so spacing changes are also not visible. Would you like to contribute that? |
created a PR #4875 |
| Package | Version | Package | Version | | ------------------------- | ------- | ------------------------- | ------- | | @uppy/audio | 1.1.5 | @uppy/remote-sources | 1.1.1 | | @uppy/aws-s3 | 3.6.1 | @uppy/status-bar | 3.2.6 | | @uppy/aws-s3-multipart | 3.10.1 | @uppy/store-default | 3.2.1 | | @uppy/companion | 4.12.1 | @uppy/store-redux | 3.0.6 | | @uppy/companion-client | 3.7.1 | @uppy/svelte | 3.1.2 | | @uppy/compressor | 1.1.0 | @uppy/thumbnail-generator | 3.0.7 | | @uppy/core | 3.9.0 | @uppy/transloadit | 3.5.0 | | @uppy/dashboard | 3.7.2 | @uppy/tus | 3.5.1 | | @uppy/drop-target | 2.0.3 | @uppy/utils | 5.7.1 | | @uppy/form | 3.1.0 | @uppy/vue | 1.1.1 | | @uppy/golden-retriever | 3.1.2 | @uppy/webcam | 3.3.5 | | @uppy/image-editor | 2.4.1 | @uppy/xhr-upload | 3.6.1 | | @uppy/locales | 3.5.1 | uppy | 3.22.0 | | @uppy/provider-views | 3.9.0 | | | - @uppy/aws-s3-multipart,@uppy/aws-s3,@uppy/companion-client,@uppy/tus,@uppy/xhr-upload: update `uppyfile` objects before emitting events (antoine du hamel / #4928) - @uppy/transloadit: add `clientname` option (marius / #4920) - @uppy/thumbnail-generator: fix broken previews after cropping (evgenia karunus / #4926) - @uppy/compressor: upgrade compressorjs (merlijn vos / #4924) - @uppy/companion: fix companion dns and allow redirects from http->https again (mikael finstad / #4895) - @uppy/dashboard: autoopenfileeditor - rename "edit file" to "edit image" (evgenia karunus / #4925) - meta: resolve jsx to preact in shared tsconfig (merlijn vos / #4923) - @uppy/image-editor: image editor: make compressor work after the image editor, too (evgenia karunus / #4918) - meta: exclude `tsconfig` files from npm bundles (antoine du hamel / #4916) - @uppy/compressor: migrate to ts (mikael finstad / #4907) - @uppy/provider-views: update uppy-providerbrowser-viewtype--list.scss (aditya patadia / #4913) - @uppy/tus: migrate to ts (merlijn vos / #4899) - meta: bump yarn version (antoine du hamel / #4906) - meta: validate `defaultoptions` for stricter option types (antoine du hamel / #4901) - @uppy/dashboard: Uncouple native camera and video buttons from the `disableLocalFiles` option (jake mcallister / #4894) - meta: put experimental ternaries in .prettierrc.js (merlijn vos / #4900) - @uppy/xhr-upload: migrate to ts (merlijn vos / #4892) - @uppy/drop-target: refactor to typescript (artur paikin / #4863) - meta: fix missing line return in js2ts script (antoine du hamel) - meta: disable `@typescript-eslint/no-empty-function` lint rule (antoine du hamel / #4891) - @uppy/companion-client: fix tests and linter (antoine du hamel / #4890) - @uppy/companion-client: migrate to ts (merlijn vos / #4864) - meta: prettier 3.0.3 -> 3.2.4 (antoine du hamel / #4889) - @uppy/image-editor: migrate to ts (merlijn vos / #4880) - meta: fix race condition in `e2e.yml` (antoine du hamel) - @uppy/core: add utility type to help define plugin option types (antoine du hamel / #4885) - meta: merge `output-watcher` and `e2e` workflows (antoine du hamel / #4886) - @uppy/status-bar: fix `statusbaroptions` type (antoine du hamel / #4883) - @uppy/core: improve types of .use() (merlijn vos / #4882) - @uppy/audio: fix `audiooptions` (antoine du hamel / #4884) - meta: upgrade vite and vitest (antoine du hamel / #4881) - meta: fix `yarn build:clean` (antoine du hamel) - @uppy/audio: refactor to typescript (antoine du hamel / #4860) - @uppy/status-bar: refactor to typescript (antoine du hamel / #4839) - @uppy/core: add `plugintarget` type and mark options as optional (antoine du hamel / #4874) - meta: improve output watcher diff (antoine du hamel / #4876) - meta: minify the output watcher diff further (antoine du hamel) - meta: remove comments from output watcher (mikael finstad / #4875) - @uppy/utils: improve types for `finddomelement` (antoine du hamel / #4873) - @uppy/code: allow plugins to type `pluginstate` (antoine du hamel / #4872) - meta: build(deps): bump follow-redirects from 1.15.1 to 1.15.4 (dependabot[bot] / #4862) - meta: add `output-watcher` gha to help check output diff (antoine du hamel / #4868) - meta: generate locale pack from output file (antoine du hamel / #4867) - meta: comment on what we want to do about close, resetprogress, clearuploadedfiles, etc in the next major (artur paikin / #4865) - meta: fix `yarn build:clean` (antoine du hamel / #4866) - meta: use `explicit-module-boundary-types` lint rule (antoine du hamel / #4858) - @uppy/form: use requestsubmit (merlijn vos / #4852) - @uppy/provider-views: add referrerpolicy to images (merlijn vos / #4853) - @uppy/core: add `debuglogger` as export in manual types (antoine du hamel / #4831) - meta: fix `js2ts` script (antoine du hamel / #4846) - @uppy/xhr-upload: show remove button (merlijn vos / #4851) - meta: upgrade `@transloadit/prettier-bytes` (antoine du hamel / #4850) - @uppy/core: add missing requiredmetafields key in restrictions (darthf1 / #4819) - @uppy/companion,@uppy/tus: bump `tus-js-client` version range (merlijn vos / #4848) - meta: build(deps): bump aws/aws-sdk-php from 3.272.1 to 3.288.1 in /examples/aws-php (dependabot[bot] / #4838) - @uppy/dashboard: fix `typeerror` when `file.remote` is nullish (antoine du hamel / #4825) - meta: fix `js2ts` script (antoine du hamel / #4844) - @uppy/locales: fix "save" button translation in hr_hr.ts (žan žlender / #4830) - meta: fix linting of `.tsx` files (antoine du hamel / #4843) - @uppy/core: fix types (antoine du hamel / #4842) - @uppy/utils: improve `preprocess` and `postprocess` types (antoine du hamel / #4841) - meta: fix `yarn build:clean` (mikael finstad / #4840) - meta: dev: remove extensions from vite aliases (antoine du hamel) - meta: fix `"e2e"` script (antoine du hamel) - @uppy/core: refactor to ts (murderlon) - meta: fix typescript ci (antoine du hamel) - meta: fix clean script (mikael finstad / #4820) - @uppy/companion-client: fix `typeerror` (antoine du hamel)
The idea is that it should help review TS refactor PRs, as it might be easier to spot breaking changes from the output (ideally TS refactor PRs should produce no changes at all)