Comment by zlies

Comment by zlies 2 months ago

17 replies

You should switch the default to not delete any files and modify/remove the files only with some flag (--dry-run=false, --rm, --delete, etc). I just deleted all files accidentally in a monorepo :D Luckily I didn't had any uncommitted changes and could recover using git

jamil7 2 months ago

It's maybe reasonable to change the defaults, but I think you should also be mindful of running any random cli program in your codebase, the top of the Github readme does indicate that the --check mode runs it without deleting files.

  • richardw 2 months ago

    I’d maybe recommend inverting the command so it doesn’t delete by default but only when you add the relevant flag. Far better to add a little rigmarole than deal with a sad person who wiped their code.

    • jamil7 2 months ago

      I’m not the author of the tool, I was just chiming in. But yes, inverting it probably makes sense.

      • bmelton 2 months ago

        Arguendo, having to type extra characters to enable the functionality that the tool says it will do in its very name seems backwards to me.

  • zlies 2 months ago

    You're totally right. I just quickly scanned the readme and had expected a tool that only check the files. But yes, it's a bad idea in general to run random cli programs without checking them in detail

    • kazushisan 2 months ago

      I’m sorry that it may have been unclear that the tool will make modifications without the check flag. I’m glad you didn’t loose any unstated changes :)

      I will add a cautionary note to README to make it clear!

    • diggan 2 months ago

      > had expected a tool that only check the files

      Isn't the name kind of a giveaway that it does more than just checking? "ts-remove-unused" is plastered all over the place, and you need to even type/paste the name into your terminal before you can use it.

    • mewpmewp2 2 months ago

      Don't people do that all the time? I doubt that even you check everything that you run thoroughly. There's a lot of trust we have put into all those tools.

filleokus 2 months ago

It would be kinda cool to use git status to avoid accidental data loss for tools like this.

I've never interacted with git programatically so I don't know how messy it would be to implement. But for tools that mostly operate on "whole files" rather than lines in files, I guess it shouldn't be that tricky?

  • umanwizard 2 months ago

    It’d be very easy to programmatically check which files in a repo directory are unknown to git. Git status does indeed have a machine-parseable output mode.