Comment by zlies

Comment by zlies 10 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 10 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 10 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 10 months ago

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

      • bmelton 10 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 10 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 10 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 10 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 10 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 10 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 10 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.