Develop#47
Merged
Merged
Conversation
Fixes #35 test failures by addressing version detection and extractor logic issues. **Issues Fixed:** 1. QTI 3.0 version detection not recognizing fragment elements 2. Broken canHandle methods after refactoring 3. Missing QTI 3.0 element name checks in extractors 4. Registry API not converting element types to canonical form **Changes:** Version Detection (detectQtiVersion.ts): - Enhanced to recognize any qti- prefixed element as QTI 3.0 - Added regex pattern for kebab-case QTI 3.0 elements in string detection Extractor canHandle Methods: - Reverted 14 extractors to check element.rawTagName (proper validation) - Added QTI 3.0 kebab-case element name checks for 3 extractors: - textEntryExtractor: checks both 'textEntryInteraction' and 'qti-text-entry-interaction' - extendedTextExtractor: checks both camelCase and kebab-case - matchExtractor: checks both camelCase and kebab-case Registry API (ExtractionRegistry.ts): - Fixed getExtractorsForType() to convert input to canonical form Tests (qti3-attribute-extraction.test.ts): - Fixed querySelector calls to use lowercase for HTML parser compatibility **Test Results:** ✅ All 1568 tests passing (previously 10 failures) Co-Authored-By: Claude <noreply@anthropic.com>
Qti3 extractors
Remove unnecessary Svelte/SvelteKit/DaisyUI dependencies from non-UI packages, align package manifests/helpers/types, and include the related workspace housekeeping updates. Co-authored-by: Cursor <cursoragent@cursor.com>
Bring across high-value PR #39 fixes for matching/media/hottext behavior and drawing file handling, and add targeted regression tests plus ts-check hardening to keep CI stable. Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid triggering publish-mode release runs on metadata-only package.json edits by detecting real version field changes. Co-authored-by: Cursor <cursoragent@cursor.com>
Enforce workspace fixed-versioning checks during release and harden manual release workflow intent/auth handling while aligning package and docs metadata for Node 20.19 and related version bumps. Made-with: Cursor
Reorganize demo, docs, and transform applications under apps/ with updated package scopes and references to simplify workspace structure. Stabilize dev startup by using deterministic dependency prebuilds and a single shared app launcher that keeps local workflows reliable. Made-with: Cursor
Replace invented names with QTI spec equivalents across the codebase: - ParsedQuestionRef / questionRefs → ParsedAssessmentItemRef / assessmentItemRefs - QuestionRef (UI type) / questionRef prop → ItemRef / itemRef - FlatQuestion / questions / getCurrentQuestion() / flattenQuestions() → FlatItem / items / getCurrentItem() / flattenItems() - SecureSection.items → SecureSection.assessmentItemRefs - SecureTestPart.rubrics / SecureSection.rubrics → rubricBlocks No behavioural changes; purely a naming alignment to match QTI 2.x spec terms.
- Add npm-auth-env.mjs: temp .npmrc from NPM_TOKEN for CI and local publish - Add changeset-publish-resolved-workspaces.mjs: resolves workspace:* to real versions before changeset publish (required by npm), restores after, retries once - Add restore-workspace-ranges.mjs: standalone workspace range restoration - Add create-temporary-release-changeset.mjs: synthetic patch changeset for all publishable packages (enables one-command local release) - Add check-npm-auth.mjs: pre-flight npm auth + org access check - Add pack-local.mjs: produce local tarballs for testing without publishing - Add check-published-closure.mjs: post-publish check for leaked workspace ranges - Upgrade release.mjs to delegate to changeset-publish-resolved-workspaces - Upgrade check-fixed-versioning.mjs with npm version sequence check (local must be exactly one patch ahead of published; skippable via SKIP_NPM_VERSION_SEQUENCE_CHECK=1) - Fix .changeset/config.json: remove nonexistent @pie-qti/transform-cli entry (package lives in tools/cli and is correctly discovered at runtime) - Add .env.example documenting NPM_TOKEN for local publishing - Add @dotenvx/dotenvx devDependency for .env loading - Add release:with-version, restore:workspace-ranges, check:npm-auth, pack:local scripts to package.json - Update CI workflow: skip heavy jobs on changeset-release/* PRs and [skip-heavy-ci] PRs; upload build artifacts - Update release workflow: use workspace-range-resolved publish, add check-published-closure post-publish, improve version-bump detection
…e deps - Move assignProps, touchDrag helpers into packages/qti-common/src/dom/ so item-player and default-components share one implementation - Refactor logger: consolidate server.ts, remove duplicated utils in core - Consolidate ims-cp parsing into ims-cp-core; slim down to-pie's local copy - Add tests for eventHelpers and webComponentHelpers in default-components - Add dom-utils tests in qti-common - Minor updates to demo/transform app fixtures and playwright tests
Strengthen CI/release checks for deployability and package publishability, and align lockstep patch release workflow with automated changeset preparation on master. 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.