You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create @manypkg/tools and refactor find-root and get-packages (#151)
* Create sample core package
* Initial round of feedback
* eliminate index-based zip
* Add BoltTool
* Add PnpmTool
* Add Yarn and None tools, update findroot unit tests
* Implement sync methods for all Tools, fixing findRootSync tests
* wip: 90% of get-packages converted to use Tools
* revert back to original snaps
* Small tool fixes
* add latest content
* Rename NoneTool to SinglePackageTool, it is never the root of a monorepo
* Swap references to SinglePackageTool
* Remove errant comment
* Implement core type changes for Packages and Package
* Suggested feedback
* Mass prettier update after pull from main
* additional PR feedback
* errant console.log
* Type fixes
* Rename manypkg/core -> manypkg/tools
* fix unit tests, snapshots
* snapshot updates
* Fixed the `PackagesWithConfig` type
* Adjust checks implementations after changes
* Support both dir and relativeDir
* pr feedback
* unused importrs
* Fix prettier config, add changeset
* Introduce `getRootWs` test helper
* Exports only tools from `/tools` and handle default order in `/find-root`
* Fix suggested path.join
* Make root tool last
* Split up changesets
* Cleanup `/find-root`
* Update .changeset/frozen-yogurt.md
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* Fix some test and type issues, feedback
* Refactor all try-catch blocks to assert positive instead of negative
* Revert change to jest default test timeout
* Update packages/tools/package.json
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* Update packages/get-packages/package.json
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
The `find-root` package now returns a new `MonorepoRoot` interface, instead of a string. This interface provides a `rootDir` for the discovered monorepo, and a `tool` object, which is an object using the new `Tool` interface provided by `@manypkg/tools`.
Introduces a new `Tool` API that provides key functions related to a specific implementation of a monorepo, like `isMonorepoRoot` and `getPackages`. Existing tool implementations in manypkg have been converted to use this new interface.
The `get-packages` package now returns a slightly different structure. The old `tool` string has been replaced with a `tool` object, using the new `Tool` interface provided by `@manypkg/tools`. Each `Package` now contains both the absolute directory and relative directory path. Last, the `root` package has been renamed `rootPackage` and is optional, to support monorepos that do not contain a root package.
0 commit comments