From 3df72ec06ab0697989bbde789cae805bc495193b Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Mon, 20 Jul 2026 11:41:31 -0500 Subject: [PATCH 1/5] fix: make `boxel parse` type-check card code in npm installs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Under an `npm install` of the published CLI, `boxel parse` reported no errors while type-checking nothing: glint aborted before it started. The parse workspace symlinked its `node_modules` at the CLI's own nested `node_modules`, which is populated under pnpm but empty under npm's hoisted layout — so `@glint/ember-tsc/-private/dsl` (imported by every compiled template) and the forced `qunit-dom` type lib never resolved, and ember-tsc exited "with errors but produced no TS diagnostics". - Resolve the deps `node_modules` by where `@glint/ember-tsc` actually is (nested under pnpm, hoisted root under npm) instead of assuming the nested dir. - Drop `types: ['qunit-dom']`: card code is application code, never a test, so it needs no ambient test-helper type lib — and forcing one that isn't shipped was the first thing to fail. - Add the `@cardstack/boxel-host/tools/*` path alias and bundle `host/app/tools`, so current card imports of the post-rename host tools resolve. Restructures tests/integration/parse.test.ts around what this fixes: glint now runs (a deliberate type error yields a real diagnostic, not the "no diagnostics" masking message) and host-tools imports resolve. Four card patterns still fail to type-check in a published install and are marked `it.fails` with the root cause documented, as tracked follow-ups: runtime-common resolution (and the field-value mapping that depends on its `primitive` symbol), `@tracked` beside `