InstallHow-toFor authorsApplies from 4.2.5
Install from npm, once published
Cette page en françaisThis page on the GitHub wiki
The engine is not published on npm. On 23 Oct 2026, npm view answers 404 Not Found for quest-n-click,
create-quest-n-click, quest-n-click-bridge, quest-n-click-connectors and quest-n-click-studio-server. Until a
release's notes say otherwise, install from the release archive: Install from the release archive.
This page says how to tell when npm is ready, and what the commands will be then.
What you get
Today: a way to check, in one command, whether a quest-n-click package on npm is the project's. Once the packages are
published: a game project created and upgraded with npm's usual commands, without an archive URL.
Context and versions
- A created project, on your machine.
- Nothing has ever been published to npm, up to and including 4.4.0. 4.2.0 went to GitHub Releases only (D38): publishing needs the maintainer's two-factor authentication at each step, and 4.2.0 did not wait for it. The README says npm publishing comes in a later release; no version is promised.
- Until the first publication, the names are only watched: a job of the nightly workflow (
npm-names, never gating) checks that each name, the current ones and the formerweb-scumm…ones, is still free or published by the maintainer's npm user, and warns otherwise. Someone else taking a name first is a risk the project accepted (D34).
Prerequisites
- The Requirements of any game project: Node.js 22.12 or newer, Python 3 for the art.
- A release whose notes announce the npm publication.
Where to run the commands
On your machine, from the folder that will contain the project; then inside the created project.
Steps
-
Check that the package exists and is the project's. Its maintainer must be
wanooand its repositorygithub.com/wanoo/quest-n-click:# anywhere npm view quest-n-click maintainers repository.urlToday this prints
npm error 404 Not Found: stop here and use the release archive.
-
Create the project. Either command does the same thing (
create-quest-n-clickrunsquest-n-click createfrom the engine it depends on):# in the folder that will contain the project npx create-quest-n-click my-game "My Game" # or: npx quest-n-click create my-game "My Game"Without
--engine,createwrites the dependency"quest-n-click": "^<version>", which npm resolves from the registry.
-
Install, prepare the art and play, as from the archive:
# from the folder that contains the project, then inside it cd my-game npm install python3 -m pip install -r node_modules/quest-n-click/requirements.txt npm run assets && npm run dev
Expected result, and how to check it
Once published, step 1 prints the maintainer and the repository; step 2 ends with
my-game: "My Game" created (quest-n-click ^<version>). A project made from an archive moves to the registry with
npm install quest-n-click@<version>, which replaces the archive's URL in its package.json by a version range.
Common errors
| Symptom | Cause | Fix |
|---|---|---|
npm error 404 Not Found - GET https://registry.npmjs.org/quest-n-click | Not published yet | Install from the release archive |
npm view shows a maintainer other than wanoo | A name taken by someone else | Do not install it; report it on the project's issues |
Files or data changed
Step 1 changes nothing. Steps 2 and 3 write the same project as from the archive;
only the dependency in package.json differs (a range instead of a URL).
Recovery or going back
A project created from npm goes back to an archive with npm install <archive URL>, as
Upgrade describes.
How the publication is prepared
The procedure was written in 4.1.20 and is played by the maintainer in a later release; the details are on npm packages. What a user can rely on:
- Staged publishing with a person's approval. The release run stages each package through GitHub's OIDC (trusted
publishing, configured stage-only: CI may stage, never publish), and the maintainer promotes each one with
two-factor authentication (
npm stage approve <id>, or on npmjs.com). A version of the product never comes from a local publication, which would carry no OIDC provenance; only a reservation version0.0.0-bootstrap.0may, once per package, to create it. - Exact tools. Staged publishing needs npm 11.15.0 and Node 22.14.0 at least.
release.ymlpins the publishing step's versions exactly,NPM_PUBLISH_NODE: 22.23.3andNPM_PUBLISH_NPM: 11.21.0, and a test refuses a range. Node 22.23.3 ships npm 10.9.9, so the step will install npm 11.21.0 itself. At 4.4.0 only the pins exist: the publishing step itself is not written yet. - The connectors are not declared dual-use. npm's dual-use policy covers tools that can resemble malicious
software (penetration testing, security research, obfuscation); the connectors are servers a game runs (an SSH and a
Telnet front, an email webhook and IMAP reader, an Open Badge verifier), scanning, attacking and hiding nothing.
They go through the same staged publishing and two-factor promotion as the other packages. If npm's scan holds or
flags the package, it gets
"contentPolicy": { "class": "dual-use" }and aDISCLOSUREfile.
References
- Install from the release archive, Package reference
- npm packages (the maintainer's procedure), Releasing
- npm's documentation: staged publishing, dual-use policy
.github/workflows/nightly.yml(thenpm-namesjob),.github/workflows/release.yml(the pins)