-
Notifications
You must be signed in to change notification settings - Fork 453
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
Pretty Diff v2 and NPM #881
Comments
If Pretty Diff v2 is not published to NPM then I am not sure how Atom-Beautify will go about it.
So, unfortunately, I have no immediate solution for how to use Pretty Diff v2 if it is not available on NPM. I am definitely surprised about the recent events regarding NPM and the conduct of its managers, however until there is an accepted and well adopted alternative Atom-Beautify will continue to use NPM, if only by extension through Atom's package manager, Please let me know your thoughts and potential solutions/workarounds. Thank you. |
Once I get version 2 ready for publication I will experiment with registering and publishing directly to the apm repository. |
I am ready to publish Pretty Diff v2, but I am having trouble publishing to APM. When I try:
I get:
I am working through this now, and plan to have this up on APM as soon as I can and be free from NPM. |
Quick note: apm is only for Atom packages. npm is for all Node.js packages. |
@prettydiff how about making the next Pretty Diff -- which will be distributed over biddle -- a CLI beautifier for Atom-Beautify? Thus, biddle can be the requested installer for users who wish to user Pretty Diff and Atom-Beautify does not use an alternative package manager in its build step, etc. Furthermore, if biddle can install packages globally, like npm, then maybe there is a way to still require Pretty Diff as a Node.js package instead of CLI with something similar to requireg for biddle. This implementation would reside in https://github.com/Unibeautify/beautifier-prettydiff and be released along with Unibeautify version of Atom-Beautify. |
Yep, this is the goal. I just moved biddle from alpha status to beta status. Not ready for prime time, but good enough for evaluation and to start collecting error reports. I still owe technical documentation and plan to provide it tomorrow. |
I have a variant of Pretty Diff for CLI only and the zip file is 173,476 bytes which is a pretty considerable reduction from the nearly 30mb uncompressed full application that was sent to NPM. biddle is still in beta. More work needs to be done to find defects, but the minimal viable product is there and it seems stable. |
Keeping everybody informed I have fixed biddle. Check it out now - https://github.com/prettydiff/biddle I will republish Pretty Diff using biddle in production tomorrow. I am not ready to give it to Atom Beautify just yet though. I actually need users to play around with this thing for a bit so that I can get a sense of where the pain points are and just how bad it works for fails for other people. I wrote a getting started document at https://github.com/prettydiff/biddle/blob/master/documentation/gettingstarted.md The documentation might be easier to read from the command line though as I included a markdown to CLI parser in biddle. The number at the end defines the word wrap limit:
|
Once I complete these two issues biddle will be ready for Atom Beautify: |
Any updates? |
I am working on this right now. I want to have it complete within the next two weeks. |
I think Atom-Beautify will be able to support Pretty Diff as an external beautifier (not automatically installed via |
My eventual hope would be that other packages might also use biddle so that we can collect dependencies and have everything packaged and configured before a user downloads the software. biddle is OS agnostic and language agnostic. This way things remain up to date from our end and we catch problems related to dependencies before they hit user land. It also means less risk of failure from missing packages via apm/npm. The only major external difference between Pretty Diff 1 and 2 is NPM. Although there are a lot of internal differences the API is still completely backwards compatible. Both execute from the command line in the very same way. |
Status update. Sorry for the long delay. I wrapped up (long overdue) work to write a new diff algorithm for Pretty Diff. I followed that up with writing a secondary hidden module system for biddle so that biddle itself can be enhanced with dependencies in a way that does not interfere with a user's installed application management or cause circular dependency resolution. biddle advanced to version 1.0.0 and is production ready, prettydiff/biddle#34 I am working on an enhancement to biddle right now with a new command Upon publishing this enhancement I plan to prepare a video demo using the https://asciinema.org/ tool to introduce biddle and explain how to use it with examples. I will finally begin enhancements to Pretty Diff's test/validation build to tear out git submodule support and then rely upon biddle for its one dependency. My goal is to have this work complete before end of tomorrow. If all goes well then on Sunday morning biddle/Pretty Diff will be ready for inclusion into Atom Beautify for evaluation by third parties. |
I have not finished this yet like I promised, but I am close. I believe the biddle part is done and here is a video demo: https://asciinema.org/a/118428 |
Pretty Diff 2x is ready for inclusion to Atom Beautify via biddle. |
Hold on with taking action just yet. I will mostly work this to complete for Atom-Beautify. I failed to include the one dependency with Pretty Diff, but it will be there in the next release soon. Here is how this is going to work:
Why? I believe the distribution model used by NPM favors convenience of publishers without regard for user convenience. The goal of biddle is to invert that model as much as possible.... put the risk and sweat on the publishers so the users can just download 1 application that is always stable. |
Pretty Diff v2 can be supported with the upcoming Executables+Docker installation features: #1687 Step 1. Add a Docker image to https://github.com/Unibeautify/docker-beautifiers for Pretty Diff v2 😄 Update: However, do note that this means Pretty Diff v2 will be treated as a CLI beautifier, instead of a Node.js beautifier. Therefore options will need to be passed down as CLI arguments, as well as any performance impacts because it is not run with the same Node.js process. |
Published to v0.30.6 |
Pretty Diff v2 is about 1-2 weeks away. V2 will not be published to NPM though :(
For more information please see:
Pretty Diff will continue to publish to Bower, Github, and http://prettydiff.com and additional package managers are being investigated. Due to time limitations between this enhancement, my two jobs, and preparation for attendance at WOCS v2 will be released before additional publication and package management options are supported.
The text was updated successfully, but these errors were encountered: