Develop merge#6
Merged
Merged
Conversation
Add optional includeControllers support to emit pie-api-aws compatible controller outputs and stats, while keeping existing bundle behavior unchanged by default. Co-authored-by: Cursor <cursoragent@cursor.com>
Consolidate the math input/mathquill migration across React/Svelte libs, delivery players, shared math packages, and docs so ESM demos and keypad rendering behave consistently with improved accessibility and maintainability. Co-authored-by: Cursor <cursoragent@cursor.com>
Bundle the current demo/player reliability fixes together with dependency integrity verification updates and supporting package/config changes across the workspace. Co-authored-by: Cursor <cursoragent@cursor.com>
Include automatic formatting and lint rewrites produced by pre-commit checks after the workspace commit. Co-authored-by: Cursor <cursoragent@cursor.com>
Merge the recovered upstream hardening work with the latest sync output into a single coherent baseline. This captures full MathQuill package retirement, sync transform upgrades for strict ESM/import interop, demo IIFE stabilization, and stronger dependency-integrity enforcement so future upstream:update runs stay reproducible. Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve a bundler-shared source maps regression and add missing direct dependencies so dependency integrity and test hooks pass reliably before push. Co-authored-by: Cursor <cursoragent@cursor.com>
Harden upstream package.json generation so known peer dependency gaps are re-added deterministically for element and pie-lib packages, preventing post-sync regressions and pre-push integrity failures. Co-authored-by: Cursor <cursoragent@cursor.com>
Capture the latest upstream sync output while fixing IIFE player/session refresh loops and strengthening React interop transforms so number-line and related delivery views stay stable after upstream:update runs. Co-authored-by: Cursor <cursoragent@cursor.com>
Install git hooks automatically on dependency install and document the manual reinstall command so hook behavior is consistent across contributor machines. Co-authored-by: Cursor <cursoragent@cursor.com>
Determine publish-mode release runs from non-private package version bumps rather than broad package.json file changes. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove shared theming bridge dependencies from the element player package so it no longer pulls MUI-related peer requirements it does not use. This keeps dependency integrity checks clean without changing runtime behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
Add an explicit @mui/material peer declaration so dependency integrity checks pass when consuming shared-theming through the DaisyUI adapter package. Co-authored-by: Cursor <cursoragent@cursor.com>
- Remove shared math-engine package and related CLI/docs - Update math-inline, math-templated, graphing packages and lib math-input - Refresh element controllers, categorize, placement-ordering, MC, etc. - Editable HTML TipTap: div-node, helpers, response areas, math extension - CI workflow and bundler-shared test doc updates - Add Atlassian MCP routing Cursor rule Made-with: Cursor
- Remove fraction/synthetic-backspace workarounds and ignoreNextMousedown refresh - Rename SSR require transform to transformSsrRequireToEsmImport; update SYNC_TRANSFORMS - Print player: options.mode only; update print components and docs - Graphing: ArrowMarker uses disabled/correctness props only - Math inline/templated: register answerBlock embed from constructor - Misc: drag prompt helper, rubric warn, extended-text-entry DOMParser guard, config-ui comments Made-with: Cursor
Complete the dependency/config updates for the Vite 8 migration and codify the upstream-sync rule so synced React packages are no longer edited directly in this repository. Made-with: Cursor
Introduce an adapter-driven all-elements baseline Playwright suite and capture current failure inventory to guide incremental element-by-element remediation. Made-with: Cursor
Apply adapter-based element fixes and shared interaction improvements, temporarily exclude rubric variants, and update findings after a full rerun to focus follow-up work on the remaining gather-specific failures. Made-with: Cursor
Consolidate delivery/gather baseline behavior into shared helpers so element-specific adapters stay minimal, and capture that the full included baseline matrix is now green. Made-with: Cursor
Preserve .js import specifiers and exports.development conditions during upstream sync, and enforce true no-write behavior for dry-run to prevent unintended workspace churn. Made-with: Cursor
Update the generated compatibility report after upstream:update so tracked diagnostics reflect the latest analysis run. Made-with: Cursor
Catch critical runtime console/page errors in baseline checks, include rubric/complex-rubric with instructor delivery behavior, and normalize charting autosize input interop so ESM delivery does not crash. Made-with: Cursor
Rename the Svelte styling package to a publishable npm scope and release dependent Svelte packages with updated runtime imports so external installs resolve correctly. Made-with: Cursor
Make mc-populated-blank follow common PIE delivery/controller contract patterns and ensure evaluate mode marks missed correct choices as incorrect by default, including unanswered attempts. Made-with: Cursor
Export a plain controller object from the Svelte package entrypoints so IIFE and root consumers consistently receive callable controller.model/outcome functions. Made-with: Cursor
Retain the root entrypoint controller re-export pattern and scope the controller-shape hardening to the IIFE entrypoint. Made-with: Cursor
Replace lodash-based empty checks with native object guards and align package exports to load the controller from the dedicated ./controller entrypoint so ESM output remains lean. Made-with: Cursor
…ing. Update mc-populated-blank/simple-cloze metadata and changelogs, remove legacy lodash controller dependency, tighten element-player delivery controller contract checks, and add release script support for env-token publishing. Made-with: Cursor
Standardize manual publishing instructions to always use scripts/publish-with-env-token.sh so package targeting and npm token auth are handled consistently. Made-with: Cursor
… 0.2.9 Add a root controller shim for alias-based builder resolution and document the pattern in Cursor/Claude project guidance. Bump and publish @pie-element/mc-populated-blank to 0.2.9 so pie-api-aws client/editor bundles resolve controller imports reliably. Made-with: Cursor
Bundle per-variant Learnosity-derived CSS in mc-populated-blank and wire customType through delivery so visual behavior matches CQT references more closely. Remove demo state caching to keep parity checks deterministic and update sample payloads/docs for the new variant-driven styling workflow. Made-with: Cursor
Record the patch version bump and changelog entry for the published mc-populated-blank release. Made-with: Cursor
Make publish and CI flows use explicit branch-aware npm tags (stable/latest, next, beta) with guardrails, and add a dry-run-first backfill tool plus docs to repair and verify stale latest tags. Made-with: Cursor
Switch docs generation to HTML artifacts consumed by element-demo docs routes, add per-element docs navigation in the demo UI, and enforce deterministic verify checks against the new static output location. Made-with: Cursor
Update generated docs manifest timestamps and metadata after the final HTML escaping pass so the static docs output is fully in sync. Made-with: Cursor
Made-with: Cursor
Enable on/off runtime-support probing in element-player, keep loading non-blocking when metadata is missing, and add verification/tests plus demo opt-in wiring. Made-with: Cursor
Include pre-commit formatting adjustments generated during the runtime-support implementation so the branch is clean and fully pushed. Made-with: Cursor
Add docs/prds with README, _template, heading-accessibility and venn-classification PRDs plus diagrams and wireframes. Update .cursorrules and Claude instructions for PRD-only workflow (no external discovery links). Trim mc-populated-blank README to element-local content. Svelte element packages, delivery-events, player wiring, demo registry, and e2e changes are intentionally not included in this commit. Made-with: Cursor
- Add venn-classification delivery/author/controller with optional tile images, live author preview with resizable split, generated static docs, and samples. - Add @pie/delivery-events session bridge; extend player-events and core events. - Update PieElementPlayer and runtime checks; align mc-populated-blank and simple-cloze delivery exports with delivery-events. - Extend e2e helpers/specs (venn round-trip, matrix, DnD, IIFE) and registry. - Update venn PRD; add verify-no-svelte-custom-element-tag script. Made-with: Cursor
Apply the "unsafe" biome fixes that --write skipped during the upstream update pre-commit hook: optional chaining, Date.now(), and removal of non-null assertions in venn-classification tests. Made-with: Cursor
…uild through turbo - Add vite, @vitejs/plugin-react, typescript, and @types/react(-dom) as devDependencies to every packages/lib-react/* package so `bun install` (no hoisting) can resolve the plugin when turbo runs `vite build` per package. Previously only two of 23 packages (test-utils, categorize) were getting scheduled before turbo's first failure in CI, so the symptom was intermittent but the bug affected all lib-react packages. - Add ensureBuildToolDependencies() call to ensurePieLibPackageJson so future upstream:update runs regenerate these devDependencies deterministically instead of drifting them back out. Bump BUILD_TOOLS.VITE to ^8.0.1 and VITE_REACT_PLUGIN to ^6.0.1 so synced pie-lib packages stay aligned with elements-react/* and the workspace root. - Route the root `cli` / `cli:dev` scripts through `turbo run build --filter=@pie-element/cli`. This picks up the `^build` edge in turbo.json, so @pie-element/element-bundler (the workspace package imported from tools/cli/src/commands/dev/test-bundler.ts) is compiled to dist/ before the CLI's own `tsc` runs. Fixes the `dependency-integrity` job on clean runners where the CLI's tsc previously failed with TS2307 because element-bundler's declarations were not yet emitted. Made-with: Cursor
…rant of json formatting The follow-up CI on develop surfaced two remaining red checks after the previous hoist fixes: 1. `test` job — vitest.config.ts at the repo root imports @sveltejs/vite-plugin-svelte, which is only declared in individual svelte element/lib packages. With bun's non-hoisting install, the root vitest.config.ts could not resolve it and vitest aborted at startup. Add it to the root devDependencies so the root config loads on a clean runner. 2. `Release / Release to NPM` -> `docs:verify` — the check compared generated manifest.json candidates to checked-in artifacts using purely textual normalization. The committed manifests are formatted slightly differently from `JSON.stringify(manifest, null, 2)` (short arrays are rendered inline, likely after a biome pass), which produced 30 spurious "drift" files. Switch normalizeForCheck to a path-aware comparison: for .json files parse both sides and compare by structural equality; for everything else keep the timestamp-stripped text compare. Also change the timestamp placeholder to a valid ISO-8601 value so JSON.parse still works after normalization. No generated doc outputs were touched — only the comparison logic. Made-with: Cursor
…et README in release detect After the previous CI fixes, two pre-existing failures became visible: 1. tests/esm-output.test.ts — asserts every non-private workspace package has a built ./dist output. The root build script explicitly skips @pie-element/math-inline and @pie-element/math-templated (`bun run build` runs `turbo run build --filter=!...` for both), so the test always reported missing build outputs once the build itself was succeeding. Mirror that exclusion in the test via a BUILD_EXCLUDED_PACKAGES set so the two views stay in sync, with a comment pointing back to package.json. 2. .github/workflows/release.yml — the "Detect release intent" step used `ls .changeset/*.md` to decide whether changesets exist. That match always succeeds because `.changeset/README.md` ships with the bootstrap, so `has_changesets=true` was effectively a constant. The downstream changesets/action then ran `bun run release:publish` on every push, and the publish guard `changeset-publish-resolved-workspaces.mjs` rightfully rejected "publish all packages" with no real version bumps. Switch the check to `find .changeset -maxdepth 1 -type f -name '*.md' ! -name 'README.md'` so only actual changeset entries trigger `has_changesets=true`. The publish path still fires correctly when real .changeset/*.md files are present or when a version-bump push lands. Made-with: Cursor
Make ensureBuildToolDependencies always overwrite vite, @vitejs/plugin-react,
typescript, and @types/react{,-dom} with the versions from BUILD_TOOLS / REACT
rather than only filling them in when absent. This way upstream:update can
never silently downgrade the pie-lib build toolchain when an upstream
package.json starts shipping its own pins.
Made-with: Cursor
Keep changesets versioning PRs, but omit the changesets/action publish input and gate publish-only steps behind ENABLE_CICD_NPM_PUBLISH. Manual workflow publish is rejected until the flag is flipped and publish is wired back in. Made-with: Cursor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.