User directive: 'update the plan. v14 only'. Implementation: **scope change (Foundry v14 only):** - registered-hooks.js: renderChatInput entry drops the v13 renderChatLog name. Single subscription to the v14 name. - anti-corruption.js: combatRound arg-normalization no longer detects the v13 round-num position. v14's updateOptions.round is the only path. Removed the v13 comments from the other arg shapes (combatEnd, combatTurn). - module.json: compatibility.minimum is now 14 (was 13). verified stays 14. - package.json: version 0.3.0 -> 0.4.0 (semver-breaking: dropping v13 support is a breaking change for v13 consumers). - package.json description: 'Foundry VTT v14-only module' prefix. **test plan:** - tests/PLAN.md: v14-only scope documented at the top of the file and in Section E. Status line bumps 554 to 546 assertions (v13-only assertions dropped). Test files table re-scoped to v0.4.0. - tests/verify-hooks-lib.mjs: dropped the v13-only assertions (E.2 'renderChatLog in installed', E.3's 'both v13 and v14 produce' check, E.4's v13 round shape). Kept the v14-only assertions + added an inverse assertion: 'renderChatLog is NOT in installed raw hooks' to lock the v14-only scope. - tests/verify-hooks-lib.mjs: stub table at line ~520 drops renderChatLog (dead in production now). **doc updates:** - README.md: new 'v0.4.0 — Foundry v14 only' section explaining the change + migration note for v13 consumers. - docs/HOOK_CONTRACT.md: v0.3.0 header. §9 marks the v13 column as historical. §10 example uses the v14 shape only. **artifact:** - foundry-hooks-lib-0.4.0.zip built (82KB, 46 entries, inner version 0.4.0, inner compatibility.minimum 14). **verified:** - npm test: 546/546 assertions passed - npm run test:foundry: 30/30 assertions passed - npm run test:perf: 6/6 assertions passed (median 0.0003ms/fire) - battle-focus E2E (consumer): 125/125 still green - its-achievable smoke (consumer): 75/75 still green **consumer follow-up (separate commits in their own repos):** - battle-focus/module.json: relationships.requires[0].version bumped to ^0.4.0 - its-achievable/module.json: relationships.requires[0].minimum bumped to 0.4.0
25 lines
973 B
JSON
25 lines
973 B
JSON
{
|
|
"name": "foundry-hooks-lib",
|
|
"version": "0.4.0",
|
|
"private": true,
|
|
"description": "Foundry VTT v14-only module: generic Foundry hook facade. Library-only — no UI, no settings, no domain interpretation. v0.4.0 implements HOOK_CONTRACT.md and tests/PLAN.md.",
|
|
"main": "scripts/main.js",
|
|
"type": "module",
|
|
"scripts": {
|
|
"test": "node tests/verify-hooks-lib.mjs",
|
|
"test:foundry": "node tests/verify-hooks-lib-foundry.mjs",
|
|
"test:perf": "node --expose-gc tests/perf.mjs",
|
|
"test:all": "node tests/verify-hooks-lib.mjs && node tests/verify-hooks-lib-foundry.mjs && node --expose-gc tests/perf.mjs",
|
|
"test:verbose": "TEST_VERBOSE=1 node tests/verify-hooks-lib.mjs"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"author": "kaykayyali",
|
|
"license": "UNLICENSED",
|
|
"comment": "This package.json is for test/CI tooling only — Foundry VTT modules are loaded by Foundry, not by npm.",
|
|
"devDependencies": {
|
|
"playwright-core": "^1.61.0"
|
|
}
|
|
}
|