Open jason-capsule42 opened 2 months ago
I was recently looking at the new Deno 2.0 release (created by Ryan Dahl, the creator of Node.js):
https://docs.deno.com/runtime/getting_started/command_line_interface/
https://www.youtube.com/watch?v=sgXr6iGT71Y
deno run
bypasses the need for a tsconfig
)lint
subcommand (replace ESLint, etc)format
- replaces Prettier, etcTest comment
Please verify the version of wc-generator you have installed
No response
Please describe the work
All Auro repositories need to follow a consistent build and release process. Currently, this process is slightly different from one component to the next.
Task Breakdown
Thoughts and opinions
Overall this process is okay but it glosses over the fact that there's almost a dozen
build
andbuild:*
scripts in the package json that are all very important for each component. This is really hard to understand for me as a new-ish engineer to the Auro space, and seems fairly unmaintainable moving forward.There's a couple instances of duplicated efforts/processing but overall it's not too bad. The BIGGEST issue I see here is the conditional check for merging to main is only ever run once on main by default. This could cause major headaches managing large changes since there could be many things that remain uncaught until they're already in main.
Finally, the convention in almost every JavaScript packages these days is to have maybe 5 scripts a developer should care about. Again following convention, these are
dev
,serve/start
(for production mode locally),build
,test
, andlint
- optionally a sixth could betypecheck
if TypeScript is present and a separate check is desired. Having multiplebuild
scripts can create confusion since a new developer doesn't immediately know which one they need to care about.Proposals
wireit
tool to run workflows that have dependencies on multiple package json scripts - https://github.com/google/wireitauro-library
to seed repositories with "macro" style scripts that automatically handle build steps like generating documentation somehowExit criteria
No response