Problem encountered while developing an application. This issue was written and opened by Claude Code, after review by the author.
Heads-up: meteor-blaze never mentions jQuery, and its "Current scaffold" package list omits it, while meteor create --blaze on Meteor 3.5.1 adds the jquery Meteor package and the jquery npm dependency. The dependency is a hard runtime requirement up to Blaze 3.0.3 and becomes optional from blaze@3.1.0-alpha.0. This is a version boundary in the sense of AGENTS.md (Versioning: "Independently released Atmosphere and npm packages use their package version, not the Meteor release, as the capability floor", and "Add case coverage for both the supported version and an earlier-version near miss when a skill spans the capability boundary"), and it is missing.
Blaze 3.0.3 (what the scaffold resolves today)
meteor remove jquery plus meteor npm uninstall jquery on an app that never calls $() directly: the client dies at boot.
Error: jQuery not found (packages/blaze.js)
TypeError: Cannot read properties of undefined (reading 'Blaze') (app/global-imports.js)
ReferenceError: meteorInstall is not defined
TypeError: require is not a function (__rspack__/client-rspack.js)
Only the first line is the cause; the three others are the cascade the console shows next.
blaze@3.1.0-alpha.0 (Atmosphere, June 2026, meteor/blaze#493 dual DOM backend)
Same app, blaze-html-templates@3.1.0-alpha.0 and blaze@3.1.0-alpha.0 pinned, jQuery removed: the app boots, Blaze._DOMBackend._hasJQuery === false, subscriptions and events work. When jQuery is still present, the alpha logs at boot:
[Blaze] jQuery 3.7.1 detected as DOM backend. Native DOM backend is available — remove jquery to enable native DOM backend. jQuery support will be removed in Blaze 4.0.
A second line follows it, [Blaze] jQuery was loaded via <global scope|Meteor packages>. That pair is the verification marker: present while jQuery is loaded, gone once removal succeeded. Removal order that works: upgrade Meteor, pin the alpha, then remove jquery (Meteor package and npm). Removing first reproduces the 3.0.3 crash.
Known limitation of the prerelease: meteor/blaze#512 (delegated event selector scope in native mode), fix meteor/blaze#513 still open. HISTORY.md has no 3.1.0 entry and the repository has no tag for it yet, so the published Atmosphere version (blaze@3.1.0-alpha.0, 25 June 2026) and PR #493 are the only version evidence for now.
Suggested change
- List
jquery in the scaffold package list and state the 3.0.x requirement.
- Add the 3.1.0-alpha.0 boundary with the marker and the order above, flagged as prerelease.
- Two eval cases: an app on Blaze 3.0.3 asking to remove jQuery (pass if the agent refuses and proposes the upgrade first); an app pinned on the alpha asking the same (pass if the agent gives the order and checks the console marker).
Problem encountered while developing an application. This issue was written and opened by Claude Code, after review by the author.
Heads-up:
meteor-blazenever mentions jQuery, and its "Current scaffold" package list omits it, whilemeteor create --blazeon Meteor 3.5.1 adds thejqueryMeteor package and thejquerynpm dependency. The dependency is a hard runtime requirement up to Blaze 3.0.3 and becomes optional from blaze@3.1.0-alpha.0. This is a version boundary in the sense ofAGENTS.md(Versioning: "Independently released Atmosphere and npm packages use their package version, not the Meteor release, as the capability floor", and "Add case coverage for both the supported version and an earlier-version near miss when a skill spans the capability boundary"), and it is missing.Blaze 3.0.3 (what the scaffold resolves today)
meteor remove jqueryplusmeteor npm uninstall jqueryon an app that never calls$()directly: the client dies at boot.Only the first line is the cause; the three others are the cascade the console shows next.
blaze@3.1.0-alpha.0 (Atmosphere, June 2026, meteor/blaze#493 dual DOM backend)
Same app,
blaze-html-templates@3.1.0-alpha.0andblaze@3.1.0-alpha.0pinned, jQuery removed: the app boots,Blaze._DOMBackend._hasJQuery === false, subscriptions and events work. When jQuery is still present, the alpha logs at boot:A second line follows it,
[Blaze] jQuery was loaded via <global scope|Meteor packages>. That pair is the verification marker: present while jQuery is loaded, gone once removal succeeded. Removal order that works: upgrade Meteor, pin the alpha, then removejquery(Meteor package and npm). Removing first reproduces the 3.0.3 crash.Known limitation of the prerelease: meteor/blaze#512 (delegated event selector scope in native mode), fix meteor/blaze#513 still open. HISTORY.md has no 3.1.0 entry and the repository has no tag for it yet, so the published Atmosphere version (
blaze@3.1.0-alpha.0, 25 June 2026) and PR #493 are the only version evidence for now.Suggested change
jqueryin the scaffold package list and state the 3.0.x requirement.