speccing out what an oro.kdl aka orogene package.json would look like, when using orogene's workspaces feature I'm poking at now. Is this anything? Credit to pnpm for the dependencies/dependency-groups thing, which it calls "catalogs".

I'm making things work a little different than they work in both NPM and pnpm, but I think doing things this way is WAY more intuitive in the end? Just one hard-working workspace: protocol that can pull in centrally-specified dependency versions, workspace members, or named dependency groups.

// Example for workspaces
package {
    name my-pkg
    private
}

workspace {
    members {
        // A sub-package at this location will be accessible as
        // `dependencies { my-subpkg workspace: }` (or `"dependencies": {
        // "my-subpkg": "workspace:" }` if you're using `package.json`
        //
        // You can also specify what version it will bind to by using a
        // specifier prefix, such at `workspace:^` (the default if nothing is
        // specified), `workspace:*` (the equivalent of `foo *`), `workspace:~`
        // (the equivalent of `foo ~1.2.3`, where `1.2.3` is the current version
        // in the member's `package.json` or `oro.kdl` file.
        "./packages/my-subpkg"
    }
    dependencies {
        // Each of these dependencies will also be accessible as `workspace:`
        // dependencies, as if they were members, but their version only needs
        // to be specified once.
        react ^18.2.0
        react-dom ^18.2.0
    }
    dependency-groups {
        // This allows you to specify deps in a named group, allowing you to do
        // `workspace:react17`, for example.
        react17 {
            react ^17.0.2
            react-dom ^17.0.2
        }
    }
}
0

If you have a fediverse account, you can quote this note from your own instance. Search https://toot.cat/users/zkat/statuses/116141236499641809 on your instance and quote it. (Note that quoting is not supported in Mastodon.)