* refactor(node): check engines after file-based detection for package manager
Engines are now considered only if file-based detection keeps default npm,
so lockfiles/configs take precedence over engines as a hint.
* feat: extract yarn version from package.json > engines > yarn
* test: add bun version to bun test assertion
* test: update snapshots
* test: add engines version extraction test
* test: assert against two distinct versions
we couldn't do this before the recent testing harness improvement
* test: snapshot update
* fix: properly handle corepack version definitions
* docs: update docs on node provider detection
* docs: add docs command to claude
* fix: hard fail if railpack.json cannot be parsed
* test: add shouldFail test.json expression
helpful if we expect the build to fail. There shouldn't be too many of these, but we'll need at least
a couple to make sure cases like railpack.json syntax errors hard fail.
* test: bad json syntax failure
* test: config file abs path, relative, and DNE cases
* refactor: move hujson helper into internal helpers
* fix: support abs config file path, fail if config file path does not exist
* fix: document relative config file path, no abs config file support
* fix: invalid config json
* test: snapshot update
* test: remove abs file config test
* test: remove custom java config
I know basically nothing about Java and after I fixed the syntax error which was causing this config file to not be picked up, this started failing. The proper Zulu version check which is the main purpose of this is still working fine so I think it's fine to remove these custom commands.
* fix: typo
* test: snapshot update