Split out of actions/toolkit (packages/io, history kept by filter-repo).
Brings the 2024 [LevK] packaging edits forward onto current upstream:
- tsconfig.json: the monorepo root's compiler options inlined, no extends
- jest.config.cjs: the root's ts-jest transform, rooted at tests/
(isolatedModules: ESM lib/ and sources run through CommonJS)
- __tests__/ -> tests/
- package.json: test = jest, build = tsc; jest/ts-jest/typescript as
devDependencies; repository, homepage, bugs on git.levk.dev
- .gitignore: node_modules/, lib/, audit.json, tests/_temp/
Not carried over from 2024: version reset to 1.0.0 (dependents' ranges
need upstream's numbering) and the Unlicense field (the code is MIT).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzGrsxfkGk8LmwrBbHNZ
* Add io lib
* io cleanup
* Run format script
* Fix lint errors with autofix
* Fix equality lint errors
* Rename ioUtil to io-util
* Add no-import-requires
* Run auto-fix lint
* Remove lint errors
* Use Boolean() to convert options
- `CopyOptions` on `cp` now defaults to empty
- Setting option values is easier now
* Rewrite packages/io to be fully async
* Move IS_WINDOWS into ioUtil
* DRY up cp/mv by moving shared code into move function
* Remove unc support, change isDirectory call to stat
* Tighter try catches
* more concise extensions search
* Allow isDirectory to be stat or lstat
* format
* Shell out to rm -rf
* Remove unc comment
* Export fs.promises from io-util
* Remove unknown error message
* Create an optimistic mkdirp
* Update io-util.ts
* Update io-util.ts
* Update io.test.ts
* Fix tests for mkdirP