30
Root
62d

Stupid javascript.
Stupid hoisting-oblivious "frontend devs."
Stupid browser-specific javascript behavior.
Stupid thrown-together javascript minifier that literally only strips out whitespace and comments.
Stupid poorly-written javascript spamming my api.

Time to rewrite it. Grumble grumble. Soo not how I wanted to spend my morning-turn-afternoon.

Leading to the last but not least:
Stupid me forgetting javascript's quirks.

Comments
  • 0
    Mind sharing what Minifier you're using?
  • 9
    Let's compare undeclared variables!
    Then set them for the next check!
    Within the wrong scope so hoisting doesn't work and they disappear immediately!
    And perform an api call when they differ!
    And then repeat it every 250ms!

    Fucking inept idiots.
  • 2
    @Root oof, so somebody didn't put time into testing? Unpleasant, indeed.
    Hoisting and object referencing are really fu(n/c)ky things, I'd say they're enemies in any supporting language if used exceedingly.
  • 6
    @olback Some homemade regex monstrosity that "works well enough" and so hasn't been touched in years. The devs here just work their way around its quirks. It looks for a specific comment, and when present, squishes all the JS in that file. so if the "minifier" breaks things too much, you can just turn it off.

    Why isn't there a real minifier with context-aware rewriting? Easy: laziness. 😓
  • 0
  • 1
    Why such excuses of minifiers ever exist... for you... just to suffer 🤔
  • 3
    @vintprox They tested it and made sure it worked; they just never looked at the network tab or server log.

    As soon as I added code to modify the form pre- and post- api response, I noticed something /fu(n|c)ky/.

    And I agree. I don't like languages doing things I don't explicitly tell them to. I don't care if it saves keystrokes; it costs headaches. Especially when someone else just "makes it work," gets credit for their haste, and I'm left to clean up their mess.

    It's the Peter principle in action!
  • 3
    That's funny, I just woke up to my own problems with browser specific behavior. I thought there was a glimmer of hope for a second when I realized the other browsers on my macbook were having some of the same issues but then while I was waiting on someone to check a more updated version of safari, I decided to open edge and found even more bugs.

    I can't blame anyone else though, I wrote every bit so this is my own doing 😔
  • 2
    eval('var a = 1') no more hoisting
  • 3
    I'm not a java script dev in any way shape or form. Now for some reason I am in charge of figuring out why the performance in this app is so bad.
  • 1
    I just had an issue with javascript last week. I'm so glad I'm not a front-end dev. Browser compatibility is such bullshit.
  • 0
    @projektaquarius if its anything like the be apps I work its function calls that stack a hand full of promise functions wrapped in new promises
  • 0
    @vorticalbox according to Google dev tools, it's a lot of queryselectorall calls in our plugin registration code.
  • 0
    Have never ran into those problems using typescript so far.
    Just sayin.
Add Comment