Skip to content

Decide the npm naming for the Miakapp 4 packages #9

Description

@Mathieu2301

The @miakapp npm scope is now owned by the project, so the names four packages already use internally can become real. Recording the decision here before the release workflow starts publishing anything.

What exists today

Package Where npm state
miakapi MiakAPI published, latest = 3.0.31; version 4 unpublished
node-red-contrib-miakapi node-red-contrib-MiakAPI published, 3.0.31, depends on miakapi@^3.0.31
@miakapp/coordinator-contract Miakapp-V3 private: true, 0.0.0
@miakapp/control-plane-emulator Miakapp-V3 private: true, 0.0.0
@miakapp/component-runtime-contract Miakapp-V3 private: true, 0.0.0
@miakapp/synthetic-home-conformance Miakapp-V3 private: true, 0.0.0

Recommendation

Keep the SDK on miakapi, unscoped. It carries the version 3 history, node-red-contrib-miakapi already depends on that name, and bun add miakapi@next is what the README and the migration guide tell people to run. Version 4 is a major bump of an existing package, not a new one.

Use @miakapp/* for everything that is not the SDK — the contracts, the conformance corpus, the emulator. Those names are already written in their package.json files and only ever have to be resolvable, not memorable.

Nothing forces this now: all four scoped packages are private: true and no @miakapp/* name is reachable on the registry. The decision only has to be made before the first one is unpublished-from-private.

If the SDK should move to the scope instead

@miakapp/miakapi (or @miakapp/sdk) would mean publishing miakapi@4 as a deprecation stub pointing at the new name, updating the README, the migration guide, and node-red-contrib-miakapi. Worth doing only if the unscoped name is a problem in itself.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions