Updates to types and tests

I’ve spent last four days addressing the various issues with tests, arcanist, linters, and files all across the Sealcode stack. It involved a lot of changes and tests behind the curtain (in jdd, sealgen, sealious), as well as some significant changes to the sealious-playground itself, and apps based on it.

It was a deep dive! Here I’ll try to recount the changes that you should know about:

  1. Linting is now part of tests. This removes reliance on Arcanist for running the linter and will be much faster;
  2. Tests are now ran with Mocha instead of Vitest. So no more browser-based GUI and problems with “sharp wasn’t loaded”. The tests now may run slightly slower (it really depends on your CPU - for some this version might be faster), but are WAY more reliable
  3. I’ve harmonized the way files are represented all across the stack. No more SealiousFile / FileDescription / file_id dillema. Now all files are represented by unpredictable string tokens. More on that later in a separate post.
  4. I’ve fixed all the test errors that I could find. A big issue was that we were using the randomized page for tests, and it caused the tests to sometimes pass, and sometimes fail

@FilipI it was impossible for me to avoid making changes to the sreact page, although I tried to keep it to minimum. I will personally resolve any merge conflicts that are a result of that

Just one question

no more browser-based GUI

Is that gonna change aspazja tests that are already written?

No, the tests API is basically the same - just the engine of the test runner is different. It’s now single-tgreaded and more stable :raised_hands:

I’m still merging some more updates to aspazja, will let you know when that’s done