19
netikras
52d

You've got to be a masochist to be a javascript/typescript developer.

Each time I come back to the npm-related parts of my project, the application won't start because of some dependencies nonsense. And I know for sure I left the project working perfectly last time.

Every time... every fucking time! Just leave the project unattended for a week and be sure you'll find it dead next time.

I mean I as a developer don't really have to do ANYTHING for my code to break.

How can people love javascript is a mystery to me.

Comments
  • 0
    So much fun isn't it๐Ÿ™ˆ
  • 5
    Node.js is fine. It's NPM that is a complete and utter shitfire.
  • 3
    It is what it is. What I prefer will never lead the market. I just have to accept that. At least typescript and purescript make the work more bearable and easier to tool.
  • 4
    Because what better whay to look busy then to be constantly fixing the application.
  • 6
    @SortOfTested I get it, but it kind of doesn't make sense that NOT touching the code breaks it.

    Usually, it's the other way around.

    It's like.. npm projects rot if untouched, like potatoes in my cellar
  • 0
    @netikras or youcan do it the old fashioned way. bundle your deoendancies locally.
  • 1
    @Wisecrack

    Like how you can run python project on virtual environment (vitenv) to get the same dependencies ?
  • 2
    Get your deps right, don’t install random npm packages. Make use of proper package-lock.

    Alternatively, try using the npm ci command, npm install always has some headroom to install a different version.

    This rarely happens to my personal projects which are on hold most of the time.
  • 1
    You should start commiting your package-lock file, this hasn't happened to me in 2 years and I continually work on multiple projects per week and sometimes per day
  • 1
    As a masochist, I prefer PHP for server side code.
  • 0
    IMO, Deno encourages to understand the integrity of dependencies without package manager. Built-in TypeScript support is nice to have. Plain HTTP on entry, one JS on output.
    Once your dependencies' versions are tested out, you are confident that project will last long, you can get on track very fast and update them if need be.
  • 0
    This is why you should be pinning your dependencies. Dont use semver ranges.
  • 0
    Somebody's project depends on a lot of unnecessary shit.

    Srsly tho, it sucks that we have to do this but don't depend on anything if you don't have to.
  • 1
    one of deno's purposes is to replace that dependency system that ryan dohl admits is horrible. Use yarn in the meantime
  • 2
    @netikras
    That's just dependency hell.
  • 1
    PLEASE

    NEVER put TypeScript in the same shit as JavaScript

    TypeScript is actually not bad at using.

    Blame the whole ":node is PoWeR" Zoomers

    I had a case where a developer imported… trim library. REALLY ? (Which, as you can guess, just called build in trim with a polymorph for IE6. But we don't even support IE)
Add Comment