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

Drop Some Dependencies #54

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

RedYetiDev
Copy link
Member

@RedYetiDev RedYetiDev commented Apr 13, 2024

This PR drops a few dependencies to make this package smaller. This will help with the eventual movement to include this in NodeJS core.

This PR does NOT drop emphasize (5.5MB)

See nodejs/node#52510

@RedYetiDev RedYetiDev changed the title Drop Chalk Dependency Drop Some Dependencies Apr 13, 2024
@RedYetiDev
Copy link
Member Author

After some hard work, I managed to (in my PR):

Drop Dependencies (The main goal)

  1. Drop chalk (Replace with util.inspect.colors) Note that chalk is still pre-installed with emphasize

  2. Drop strip-ansi (Replace with basic implementation)

  3. Drop ws (Replace with inspector) Note that this change changes a lot, and may be unstable

  4. Drop child_process (Replace with inspector)

    Fixes "if the child process (which runs all the code) becomes frozen it will not be killed after the parent exits."

Little Fixes

These just came up when I was updating the codebase

  1. Fix multi-line preview

@RedYetiDev
Copy link
Member Author

/rr @devsnek
Requesting review

@VoltrexKeyva
Copy link
Member

What is the reason for removing the development dependencies (devDependencies)?

@RedYetiDev
Copy link
Member Author

What is the reason for removing the development dependencies (devDependencies)?

Oops! That must've been my bad, sorry! I'll fix it now

@devsnek
Copy link
Member

devsnek commented Apr 13, 2024

Drop child_process (Replace with inspector)

why? using child_process is very intentional, it allows the interface to recover from bad logic that blocks evaluation.

@RedYetiDev
Copy link
Member Author

Drop child_process (Replace with inspector)

why? using child_process is very intentional, it allows the interface to recover from bad logic that blocks evaluation.

As far as I could tell, child_process was only used to init the REPL, so IMO, using the inspector to init the REPL seems like a better idea, as it is what is used in the native NodeJS. If you disagree, I can add it back.

@RedYetiDev
Copy link
Member Author

RedYetiDev commented Apr 13, 2024

The latest commits allows the preview of the line to preview based on the autofill, similar to how nodejs does it.
(mo -> preview module)

@RedYetiDev
Copy link
Member Author

@devsnek, if you remember any other bugs, I can work on fixing them as well (if you don't mind)

@RedYetiDev
Copy link
Member Author

If I find any other bug fixes, would you prefer I stash them locally and wait for this PR to be resolved, or just push them into this?

@RedYetiDev
Copy link
Member Author

Hi, @devsnek; sorry for bugging you (again), but how are you feeling about this PR. I'd love some feedback so I can make it (and my other PRs) better for the future!

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.

3 participants