Extract all development dependencies to /tools, same as we do for Go.
Why do we need this?
The same tools are vendored and installed twice currently - if we only do it once:
a. Less maintenance required (only one tool version to maintain)
b. Faster builds and CI
c. Less space required on disk
Root module depends on JS SDK, hence we need to build the JS SDK before we even start resolving depencies in the root module - that makes no sense and e.g. in CI means that we have to resolve JS SDK dependencies, then build JS SDK, then resolve root module depencies and only then we can e.g. run version:files
Simpler build process, since then we can just run all commands from the same directory.
What is already there? What do you see now?
Currently we have a JS package at root and JS package at js/sdk vendoring the same tools.
What is missing? What do you want to see?
Node package at tools module, which vendors all the development-related dependencies.
Environment
All, especially CI
How do you propose to implement this?
Introduce tools package
Move all dev tools there
Fix mage stuff
How do you propose to test this?
CI, locally run mage
Can you do this yourself and submit a Pull Request?
Summary
Extract all development dependencies to
/tools
, same as we do for Go.Why do we need this?
version:files
What is already there? What do you see now?
Currently we have a JS package at root and JS package at
js/sdk
vendoring the same tools.What is missing? What do you want to see?
Node package at
tools
module, which vendors all the development-related dependencies.Environment
All, especially CI
How do you propose to implement this?
tools
packageHow do you propose to test this?
CI, locally run
mage
Can you do this yourself and submit a Pull Request?
yes