Skip to content

docs: README quick-start ports table is out of date in v0.5.0 #94

@tysmmsy

Description

@tysmmsy

Problem

The README's Quick Start lists default ports for 7 services up to AWS at 4006, but emulate@0.5.0 actually starts 12 services and shifts AWS to 4007 (Okta lands on 4006).

The mismatch is silent: copy-pasting the AWS endpoint from the README points the AWS SDK at the Okta service, which returns a JSON 404 ({"message":"Not Found","documentation_url":"https://emulate.dev/okta"}). The SDK's XML deserializer then fails on the JSON body, producing a cryptic error that doesn't hint at the misrouted endpoint:

ERROR NAME: Error
ERROR MESSAGE: char '{' is not expected.:1:1
HTTP STATUS: 404

Reproduction

$ npx emulate@0.5.0 start
emulate v0.5.0

  vercel      http://localhost:4000
  github      http://localhost:4001
  google      http://localhost:4002
  slack       http://localhost:4003
  apple       http://localhost:4004
  microsoft   http://localhost:4005
  okta        http://localhost:4006   # README says AWS here
  aws         http://localhost:4007   # actual AWS port
  resend      http://localhost:4008
  stripe      http://localhost:4009
  mongoatlas  http://localhost:4010
  clerk       http://localhost:4011

README on main (lines 11–19) still lists only Vercel through AWS@4006.

Scope

Suggested fixes

Three options, listed in increasing scope:

  1. Update the table to list all 12 current services. Minimal change but will need re-updating each time a new service lands.

  2. Replace the static table with a generic explanation, e.g.

    Each enabled service binds to a port starting from 4000 (configurable with -p) in registration order. Run emulate list or check the startup log for the current mapping.

    This stops the README drifting per release.

  3. (Optional, separate issue if preferred.) Stabilize the port assignment so aws always resolves to the same port regardless of newly added services — e.g. reserve a contiguous block per service. This protects users who hard-code endpoints.

Happy to send a PR for (1) or (2) once a direction is preferred. (3) feels like a design discussion that belongs in its own issue.

Environment

  • emulate: 0.5.0
  • Node.js: 24
  • OS: macOS 15

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions