Update dependencies, build, and testing for Spina.

Review Request #14638 — Created Oct. 16, 2025 and updated

Information

Spina
master

Reviewers

This change accomplishes several tasks towards unifying our JavaScript
build infrastructure:

  • Replace many specific dependencies with new dependencies on our
    metapackages (@beanbag/js-buildkit and
    @beanbag/frontend-buildkit).
  • Update package.json scripts to be more consistent with our other
    packages (build, clean, full-build, lint, and test).
  • Use @babel/register for transpiling during jasmine testing rather
    than ts-node. It seems like the ts-node one was broken on modern
    jasmine and/or node as it was, and using babel instead keeps our
    unit tests running in a much closer mode to how the code is built
    for packaging anyway.
  • Base tsconfig.json on our shared config.
  • Update for eslint 9.
  • Did builds and installed both in isolation as well as in a workspace
    with a bunch of our other JS packages.
  • Ran unit tests.
  • Ran eslint (there are a bunch of existing errors that it's showing).
  • Ran npm pack and verified that the resulting tarball included all
    the expected files.
Summary ID
Update dependencies, build, and testing for Spina.
This change accomplishes several tasks towards unifying our JavaScript build infrastructure: * Replace many specific dependencies with new dependencies on our metapackages (`@beanbag/js-buildkit` and `@beanbag/frontend-buildkit`). * Update package.json scripts to be more consistent with our other packages (`build`, `clean`, `full-build`, `lint`, and `test`). * Use `@babel/register` for transpiling during jasmine testing rather than `ts-node`. It seems like the `ts-node` one was broken on modern jasmine and/or node as it was, and using babel instead keeps our unit tests running in a much closer mode to how the code is built for packaging anyway. * Base tsconfig.json on our shared config. * Update for eslint 9. Testing Done: - Did builds and installed both in isolation as well as in a workspace with a bunch of our other JS packages. - Ran unit tests. - Ran eslint (there are a bunch of existing errors that it's showing). - Ran `npm pack` and verified that the resulting tarball included all the expected files.
pqykrxpuxotrkksutylxoxuxrsvnuwnx
Description From Last Updated

Can you generate a source dist with this and a source dist before this and diff them, make sure no …

chipx86chipx86

Can you add module docs with a Version Added to this file?

chipx86chipx86
david
david
maubin
  1. Ship It!
  2. 
      
chipx86
  1. 
      
  2. Show all issues

    Can you generate a source dist with this and a source dist before this and diff them, make sure no files are missing and the results look as expected?

  3. eslint.config.mjs (Diff revision 3)
     
     
    Show all issues

    Can you add module docs with a Version Added to this file?

  4. 
      
david
Review request changed
Testing Done:
   
  • Did builds and installed both in isolation as well as in a workspace
    with a bunch of our other JS packages.
   
  • Ran unit tests.
   
  • Ran eslint (there are a bunch of existing errors that it's showing).
  +
  • Ran npm pack and verified that the resulting tarball included all
    the expected files.
Commits:
Summary ID
Update dependencies, build, and testing for Spina.
This change accomplishes several tasks towards unifying our JavaScript build infrastructure: * Replace many specific dependencies with new dependencies on our metapackages (`@beanbag/js-buildkit` and `@beanbag/frontend-buildkit`). * Update package.json scripts to be more consistent with our other packages (`build`, `clean`, `full-build`, `lint`, and `test`). * Use `@babel/register` for transpiling during jasmine testing rather than `ts-node`. It seems like the `ts-node` one was broken on modern jasmine and/or node as it was, and using babel instead keeps our unit tests running in a much closer mode to how the code is built for packaging anyway. * Base tsconfig.json on our shared config. * Update for eslint 9. Testing Done: - Did builds and installed both in isolation as well as in a workspace with a bunch of our other JS packages. - Ran unit tests. - Ran eslint (there are a bunch of existing errors that it's showing).
pqykrxpuxotrkksutylxoxuxrsvnuwnx
Update dependencies, build, and testing for Spina.
This change accomplishes several tasks towards unifying our JavaScript build infrastructure: * Replace many specific dependencies with new dependencies on our metapackages (`@beanbag/js-buildkit` and `@beanbag/frontend-buildkit`). * Update package.json scripts to be more consistent with our other packages (`build`, `clean`, `full-build`, `lint`, and `test`). * Use `@babel/register` for transpiling during jasmine testing rather than `ts-node`. It seems like the `ts-node` one was broken on modern jasmine and/or node as it was, and using babel instead keeps our unit tests running in a much closer mode to how the code is built for packaging anyway. * Base tsconfig.json on our shared config. * Update for eslint 9. Testing Done: - Did builds and installed both in isolation as well as in a workspace with a bunch of our other JS packages. - Ran unit tests. - Ran eslint (there are a bunch of existing errors that it's showing). - Ran `npm pack` and verified that the resulting tarball included all the expected files.
pqykrxpuxotrkksutylxoxuxrsvnuwnx

Checks run (2 succeeded)

flake8 passed.
JSHint passed.