GoCommerce ↔ Svelte Commerce connector
This page exists so the answer is one link rather than an inference: what the connector does, what it does not, and how to try it.
Install it
In a Svelte Commerce checkout, with a GoCommerce instance running somewhere the storefront can reach.
Swap the connector, point it at GoCommerce
# one connector at a time — remove the two Svelte Commerce ships with
npm uninstall @misiki/litekart-connector @misiki/vendure-connector
npm i @misiki/gocommerce-connector
# tell the storefront where GoCommerce answers
echo PUBLIC_GOCOMMERCE_API_URL=http://127.0.0.1:8080 >> .env Install one connector at a time: the backend is whichever @misiki/*-connector package.json has, and two would fight over the same alias. The package’s README is the authority on its details; the package itself is on npm.
Current architecture
Both halves exist and are solid. The piece between them exists too, and it is the early one.
Svelte Commerce
Calls a connector package. Imports none by name — $connector resolves from package.json.
@misiki/gocommerce-connector 0.1.0 — early
GoCommerce
Serves 342 documented operations over REST, published as OpenAPI.
Svelte Commerce reaches every backend through a connector implementing a shared 43-service surface — product, cart, checkout, order, auth, address and the rest. The backends page measures 26 of them; the GoCommerce connector is not in that set. It implements the commerce path and refuses the rest by name. The two halves are described on the architecture page.
What exists, what does not
- Works — in 0.1.0 today
- Early — not yet proven in production
- Not covered in 0.1.0
-
Works: Published to npm — @misiki/gocommerce-connector 0.1.0, since 2 September 2026. The source is under connectors/svelte-commerce in the GoCommerce repository.
-
Works: Catalogue — productService lists, filters, sorts and paginates, and fetches by slug, id or SKU, with variants. categoryService walks the tree a level at a time; collectionService serves curated lists and a collection page.
-
Works: Cart — open, add, change quantity, remove, apply a discount code, set the email.
-
Works: Checkout — payment methods, shipping rates, and placing the order.
-
Works: Order lookup — one order, by its number and the access token checkout returned.
-
Works: Money and missing fields — prices are converted from the engine’s minor units per currency, not by a constant 100. Fields the engine lacks are not invented: popularity is 0, and mrp equals the price.
-
Early: Production use — none known. No store is known to run Svelte Commerce on GoCommerce in production; the tests run against a real engine, not a real shop.
-
Not covered: Customer accounts — GoCommerce checkout is guest checkout, so there is no sign-in, address book or order history. orderService has getOne and no list.
-
Not covered: A search index — a search term goes through the engine’s own filter — fine for a few thousand products, not a relevance ranking. There is no Meilisearch.
-
Not covered: Everything else Svelte Commerce asks for — blogs, reels, banners, CMS pages, wishlists, reviews, chat, warranties and vendor commissions throw UnsupportedByGoCommerce, naming the service, rather than returning empty.
Known limitations
What is true of 0.1.0 as published.
A stable contract, not a proven one
GoCommerce is 1.0, so the API the connector binds to will not move without a major version. What that does not supply is production mileage: no store is known to run GoCommerce in production yet, let alone the pair, so the connector will meet whatever the first real catalogue exposes.
Partial, and loud about it
The connector covers what a shop needs to take an order and refuses the rest with an error that names the service. It has no score on the backends page, because the script that measures the 26 has not measured it, so its coverage is described here rather than numbered.
No benchmarks either way
Nothing has been published about GoCommerce’s performance, so nothing can honestly be said about the pair’s. That stays true until somebody measures it.
How to help
- Run it against a real store. Put it in front of a real GoCommerce catalogue and report what breaks. The standing weakness of every Svelte Commerce connector is that none has been run against a live production store; being the first would matter more than new code.
- Start from the tests. They run against a running GoCommerce, not a mock, and skip loudly when there is nothing to talk to. A mock would test the connector against an idea of the engine rather than the engine.
- Keep refusals loud. A service the connector does not map throws
UnsupportedByGoCommerce. Making one return an empty list instead turns a missing feature into a heading with nothing under it. - Do not stub auth. The convention across every connector is to throw rather than mint a session — a stub that logs anyone in is an auth bypass, not a placeholder.
The backend carries 1,036 tests and a documented contract for every route, so the connector has something precise to build against.
GoCommerce issues Svelte Commerce discussions DiscordFAQ
Connector questions
Can I connect Svelte Commerce to GoCommerce today?
Yes, through an early connector. @misiki/gocommerce-connector 0.1.0 has been on npm since 2 September 2026. Install it in a Svelte Commerce checkout, set PUBLIC_GOCOMMERCE_API_URL to your GoCommerce instance, and the storefront can browse the catalogue, fill a cart, check out and look up an order. Customer accounts and a search index are not covered, and no store is known to run the pair in production.
What does “early” mean here?
It is 0.1.0, the first release. The path from a shelf to a placed order works, and its tests run against a real GoCommerce engine rather than a mock. What it lacks is production mileage: no store is known to run Svelte Commerce on GoCommerce in production, so nothing has yet met a real catalogue or real shoppers. Build on it deliberately, and place test orders before real ones.
What does it not do?
Two absences change what you can build. There are no customer accounts, because GoCommerce checkout is guest checkout — an order is read back with the access token checkout returned, which is why orderService has getOne and no list. And there is no search index: product search is the engine’s own filter, not a Meilisearch relevance ranking. The services the connector does not map — blogs, reels, banners, CMS pages, wishlists, reviews, chat, warranties, vendor commissions — throw UnsupportedByGoCommerce, naming the service, rather than returning empty.
How do I install it?
Run npm i @misiki/gocommerce-connector in your Svelte Commerce checkout and set PUBLIC_GOCOMMERCE_API_URL to where GoCommerce answers, for example http://127.0.0.1:8080. Install one connector at a time: the backend is whichever @misiki/*-connector package.json has, so remove the Litekart and Vendure connectors Svelte Commerce ships with.
Is GoCommerce one of the 26 backends?
No. The 26 are the connectors whose coverage the backends page measures with a script, and the GoCommerce connector is not in that set. It lives in the GoCommerce repository, under connectors/svelte-commerce, and this page describes it instead.
Does this mean the two packages are now one wired stack?
They are two packages of one platform with an early connector between them. Both are still useful on their own — GoCommerce behind any client, Svelte Commerce in front of 26 other backends — and the connector is the newest and least proven of the three.
Either package is useful on its own
The connector is early, and this page says what it does not do. GoCommerce and Svelte Commerce are each useful without it.