From 5046bf0c1672823456d78e971603260f76a3a225 Mon Sep 17 00:00:00 2001 From: Hannah Tsukamoto Date: Wed, 29 Jul 2026 16:11:56 -0400 Subject: [PATCH 1/2] chore: vendor prebuilt multiplayer bundles for CDN pinning The @jspsych-multiplayer packages cannot currently be loaded from npm: plugin-multiplayer-reference-game is unpublished (404), and the published 0.1.0 builds of the local adapter, sync and role plugins predate the jsPsych.multiplayer namespace migration, so they are incompatible with the #3694 preview core these experiments pin. Vendor all four browser bundles (built from jspsych-multiplayer@69c0d7b) so both experiment files load from a plain URL with no build step. See vendor/README.md for provenance and removal steps once PR #35 publishes. Co-Authored-By: Claude Opus 5 --- vendor/README.md | 42 +++++++ vendor/adapter-multiplayer-local.js | 2 + vendor/plugin-multiplayer-reference-game.js | 127 ++++++++++++++++++++ vendor/plugin-multiplayer-role.js | 2 + vendor/plugin-multiplayer-sync.js | 2 + 5 files changed, 175 insertions(+) create mode 100644 vendor/README.md create mode 100644 vendor/adapter-multiplayer-local.js create mode 100644 vendor/plugin-multiplayer-reference-game.js create mode 100644 vendor/plugin-multiplayer-role.js create mode 100644 vendor/plugin-multiplayer-sync.js diff --git a/vendor/README.md b/vendor/README.md new file mode 100644 index 0000000..3c6d729 --- /dev/null +++ b/vendor/README.md @@ -0,0 +1,42 @@ +# vendor/ — temporary pinned builds + +These are **prebuilt browser bundles** of the `@jspsych-multiplayer/*` packages, +committed here so the experiment files in this repo are runnable from a plain URL +(via jsDelivr) without a local build step. + +## Why these exist + +At the time of writing, these packages cannot be loaded from npm: + +| package | npm status | +| --- | --- | +| `plugin-multiplayer-reference-game` | **not published** (404) | +| `adapter-multiplayer-local` | published `0.1.0`, but **pre-namespace-migration** | +| `plugin-multiplayer-sync` | published `0.1.0`, but **pre-namespace-migration** | +| `plugin-multiplayer-role` | published `0.1.0`, but **pre-namespace-migration** | + +The experiment files pin jsPsych core to a preview build of +[jspsych/jsPsych#3694](https://github.com/jspsych/jsPsych/pull/3694), which moved +the multiplayer API to the `jsPsych.multiplayer` namespace. The published `0.1.0` +bundles predate that migration and still call the old core API, so mixing them +with the pinned core does not work. + +Vendoring all four keeps the plugin bundles and the pinned core consistent. + +## Provenance + +Built with `npm run build` from `jspsych/jspsych-multiplayer` at commit +[`69c0d7b`](https://github.com/jspsych/jspsych-multiplayer/commit/69c0d7b). +Each file is that package's `dist/index.browser.min.js`, renamed. + +## Removing this directory + +Once [PR #35 ("Version Packages")](https://github.com/jspsych/jspsych-multiplayer/pull/35) +merges and republishes the packages, this directory should go away: + +1. Repoint the four ` - - - + + + + + - - - - - + + + + +