Introduction to archipelago.js

I'll assume if you're reading this, you're probably looking to develop a JavaScript client for Archipelago. Well congratulations, you've come to the right place. These guides will teach you things such as:

  • How to set up your developer environment for archipelago.js.
  • How to create a basic chat-based client.
  • How to create a more advanced client that can mark locations as "checked" and listens for received item events.
  • An in-depth explanation and examples for commonly performed actions (e.g., data package caching, message parsing, data storage manipulation).
  • Additional features supported by archipelago.js.
  • Common errors and "gotchas" to be expected.
  • And much more.

The archipelago.js library is developed for a JavaScript (or TypeScript) based client to run in the browser or via a server-side runtime such as Node or Bun. This will require you to have a decent grasp of JavaScript itself, including concepts such as (but not limited to):

  • How classes, objects, functions, etc. works.
  • How Promises and async/await works.
  • How ECMAScript modules (import/export) work.
  • How this binding works.

You can probably get along without being familiar with these concepts, but your developer experience will be more challenging. Don't say I didn't warn you, at least.