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

Fix project infrastructure or find new tooling (especially testing) #2

Open
martypdx opened this issue Mar 4, 2024 · 0 comments
Open

Comments

@martypdx
Copy link
Collaborator

martypdx commented Mar 4, 2024

Probably just me, but...

Biggest pain points:

  • Not able to get stable, repeatable results. Seriously, reopening vscode can be enough to break things.
  • Not able to get scripted publishing working. Changesets and Rush don't work.
  • pnpm is still a mystery. see point above. I think the goal is to run things from the root, but pnpm doesn't think my project is a workspace when I try and work with root package.json.
  • General:
    • Lack of cohesive information. Plenty of low-level reference docs and mega-project examples. Not much in-between
    • Configuration DSLs. That's not design

Vitest is the most concerning as it regularly produces false positives and negatives:

  • The watch system can lose track of files that need to be rerun if it involves intra-package dependencies.
  • Changing the config to restarts the tests but doesn't actually apply the setting (so update: false won't stop it from updating the snapshots)
  • Certain file structures can cause snapshots to break. Snapshots can't handle /html/ comments.
  • Throw in the VSCode extension and let the nightmares begin! Stale results (false positives and negatives) tests that won't rerun (yep, they get "stuck" in the UI).
  • Apparently Vitest requires a workspace file, but the example show in the docs throws an error that it is the wrong type

At this point, probably best step is to build up an empty workspace from scratch, step-by-step checking each outcome. And that says a lot about the state of modern js tooling. Why the F do we have to dissect and become an expert at each piece of tooling just to get it work?

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

No branches or pull requests

1 participant