@markforster/heroquest-card-creator 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/index.txt CHANGED
@@ -1,11 +1,11 @@
1
1
  2:I[9107,[],"ClientPageRoot"]
2
- 3:I[310,["689","static/chunks/b536a0f1-15fcb22ec48614b3.js","97","static/chunks/cb7556af-5873e8e79b279109.js","905","static/chunks/905-e50cd628660b83ec.js","17","static/chunks/17-500f7d535bcf4606.js","78","static/chunks/78-20d7dfe56eb879a8.js","931","static/chunks/app/page-0751bccfe861da74.js"],"default",1]
3
- 4:I[4888,["905","static/chunks/905-e50cd628660b83ec.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-20d7dfe56eb879a8.js","185","static/chunks/app/layout-83a07e4e956306c6.js"],"GoogleAnalytics"]
4
- 5:I[8003,["905","static/chunks/905-e50cd628660b83ec.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-20d7dfe56eb879a8.js","185","static/chunks/app/layout-83a07e4e956306c6.js"],""]
5
- 7:I[6318,["905","static/chunks/905-e50cd628660b83ec.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-20d7dfe56eb879a8.js","185","static/chunks/app/layout-83a07e4e956306c6.js"],"AnalyticsProvider"]
6
- 8:I[6032,["905","static/chunks/905-e50cd628660b83ec.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-20d7dfe56eb879a8.js","185","static/chunks/app/layout-83a07e4e956306c6.js"],"default"]
7
- 9:I[2672,["905","static/chunks/905-e50cd628660b83ec.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-20d7dfe56eb879a8.js","185","static/chunks/app/layout-83a07e4e956306c6.js"],"default"]
8
- a:I[4709,["905","static/chunks/905-e50cd628660b83ec.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-20d7dfe56eb879a8.js","185","static/chunks/app/layout-83a07e4e956306c6.js"],"UpdateNoticeProvider"]
2
+ 3:I[8452,["689","static/chunks/b536a0f1-15fcb22ec48614b3.js","97","static/chunks/cb7556af-09dea4d6aa6606ba.js","315","static/chunks/315-7d0c6c19cd998998.js","470","static/chunks/470-f4093940b23b4005.js","78","static/chunks/78-a0d1b28fa720d8c8.js","931","static/chunks/app/page-08b2fe5702248cbe.js"],"default",1]
3
+ 4:I[4888,["315","static/chunks/315-7d0c6c19cd998998.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-a0d1b28fa720d8c8.js","185","static/chunks/app/layout-a407b7d5f0f75f95.js"],"GoogleAnalytics"]
4
+ 5:I[8003,["315","static/chunks/315-7d0c6c19cd998998.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-a0d1b28fa720d8c8.js","185","static/chunks/app/layout-a407b7d5f0f75f95.js"],""]
5
+ 7:I[6318,["315","static/chunks/315-7d0c6c19cd998998.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-a0d1b28fa720d8c8.js","185","static/chunks/app/layout-a407b7d5f0f75f95.js"],"AnalyticsProvider"]
6
+ 8:I[6032,["315","static/chunks/315-7d0c6c19cd998998.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-a0d1b28fa720d8c8.js","185","static/chunks/app/layout-a407b7d5f0f75f95.js"],"default"]
7
+ 9:I[2672,["315","static/chunks/315-7d0c6c19cd998998.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-a0d1b28fa720d8c8.js","185","static/chunks/app/layout-a407b7d5f0f75f95.js"],"default"]
8
+ a:I[4709,["315","static/chunks/315-7d0c6c19cd998998.js","11","static/chunks/11-78f479f14159541f.js","78","static/chunks/78-a0d1b28fa720d8c8.js","185","static/chunks/app/layout-a407b7d5f0f75f95.js"],"UpdateNoticeProvider"]
9
9
  b:I[4707,[],""]
10
10
  c:I[6423,[],""]
11
11
  6:T445,
@@ -41,6 +41,6 @@ c:I[6423,[],""]
41
41
  window.URL = PatchedURL;
42
42
  } catch (_err) {}
43
43
  })();
44
- 0:["6L6jMZaPsBFKQWW48U7cM",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"./_next/static/css/d914dcad9d2056de.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"./_next/static/css/a5e7cbab14a9f3ff.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"./_next/static/css/d071dca61fbb01bf.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"./_next/static/css/d6dddef76a07e8e1.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n(function () {\n try {\n var stored = null;\n try {\n stored = window.localStorage.getItem(\"hqcc.theme\");\n } catch (_err) {\n stored = null;\n }\n var systemDark = false;\n if (window.matchMedia) {\n systemDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n }\n var resolved = \"dark\";\n if (stored === \"light\" || stored === \"dark\") {\n resolved = stored;\n } else if (stored === \"system\") {\n resolved = systemDark ? \"dark\" : \"light\";\n } else {\n resolved = \"dark\";\n }\n document.documentElement.dataset.theme = resolved;\n document.documentElement.style.colorScheme = resolved;\n } catch (_err) {}\n})();\n "}}],["$","$L4",null,{"gaId":"G-KSVRMQ5CPG"}],["$","$L5",null,{"src":"https://static.itch.io/api.js","strategy":"afterInteractive"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$6"}}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n@font-face {\n font-family: \"Carter Sans W04\";\n src: url(\"./fonts/Carter Sans W04 Regular.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n}\n\n@font-face {\n font-family: \"Carter Sans W04\";\n src: url(\"./fonts/Carter Sans W04 Medium.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 550;\n font-display: swap;\n}\n\n@font-face {\n font-family: \"Carter Sans W04\";\n src: url(\"./fonts/Carter Sans W04 Bold.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n}\n\n@font-face {\n font-family: \"HeroQuest\";\n src: url(\"./fonts/HeroQuest.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n}\n "}}],["$","$L7",null,{"gaId":"G-KSVRMQ5CPG","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$Lb",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lc",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]]}]}]],null],null],["$Ld",null]]]]
44
+ 0:["3aTEh4dDeqfON2qaXlzzM",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"./_next/static/css/83dce68ef19674c6.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"./_next/static/css/349a5194958ca88d.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"./_next/static/css/d071dca61fbb01bf.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"./_next/static/css/d6dddef76a07e8e1.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n(function () {\n try {\n var stored = null;\n try {\n stored = window.localStorage.getItem(\"hqcc.theme\");\n } catch (_err) {\n stored = null;\n }\n var systemDark = false;\n if (window.matchMedia) {\n systemDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n }\n var resolved = \"dark\";\n if (stored === \"light\" || stored === \"dark\") {\n resolved = stored;\n } else if (stored === \"system\") {\n resolved = systemDark ? \"dark\" : \"light\";\n } else {\n resolved = \"dark\";\n }\n document.documentElement.dataset.theme = resolved;\n document.documentElement.style.colorScheme = resolved;\n } catch (_err) {}\n})();\n "}}],["$","$L4",null,{"gaId":"G-KSVRMQ5CPG"}],["$","$L5",null,{"src":"https://static.itch.io/api.js","strategy":"afterInteractive"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$6"}}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n@font-face {\n font-family: \"Carter Sans W04\";\n src: url(\"./fonts/Carter Sans W04 Regular.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n}\n\n@font-face {\n font-family: \"Carter Sans W04\";\n src: url(\"./fonts/Carter Sans W04 Medium.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 550;\n font-display: swap;\n}\n\n@font-face {\n font-family: \"Carter Sans W04\";\n src: url(\"./fonts/Carter Sans W04 Bold.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n}\n\n@font-face {\n font-family: \"HeroQuest\";\n src: url(\"./fonts/HeroQuest.ttf\") format(\"truetype\");\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n}\n "}}],["$","$L7",null,{"gaId":"G-KSVRMQ5CPG","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$Lb",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lc",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]]}]}]],null],null],["$Ld",null]]]]
45
45
  d:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"name":"theme-color","content":"#375f8a"}],["$","meta","2",{"name":"color-scheme","content":"light dark"}],["$","meta","3",{"charSet":"utf-8"}],["$","title","4",{"children":"HeroQuest Card Creator"}],["$","meta","5",{"name":"description","content":"A browser-based tool for creating custom HeroQuest-style cards."}],["$","meta","6",{"name":"author","content":"HeroQuest Card Creator"}],["$","meta","7",{"name":"keywords","content":"HeroQuest,card creator,card maker,tabletop,board game,print and play"}],["$","link","8",{"rel":"canonical","href":"https://public.markforster.info/Heroquest/Tools/card-maker/"}],["$","meta","9",{"property":"og:title","content":"HeroQuest Card Creator"}],["$","meta","10",{"property":"og:description","content":"Create and export custom HeroQuest-style cards directly in your browser."}],["$","meta","11",{"property":"og:url","content":"https://public.markforster.info/Heroquest/Tools/card-maker/"}],["$","meta","12",{"property":"og:site_name","content":"HeroQuest Card Creator"}],["$","meta","13",{"property":"og:locale","content":"en_GB"}],["$","meta","14",{"property":"og:image","content":"https://public.markforster.info/Heroquest/Tools/card-maker/images/IMG_2912.jpg"}],["$","meta","15",{"property":"og:type","content":"website"}],["$","meta","16",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","17",{"name":"twitter:title","content":"HeroQuest Card Creator"}],["$","meta","18",{"name":"twitter:description","content":"Create and export custom HeroQuest-style cards directly in your browser."}],["$","meta","19",{"name":"twitter:image","content":"https://public.markforster.info/Heroquest/Tools/card-maker/images/IMG_2912.jpg"}],["$","link","20",{"rel":"shortcut icon","href":"./favicon.ico"}],["$","link","21",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"48x48"}],["$","link","22",{"rel":"icon","href":"./favicon.ico"}],["$","link","23",{"rel":"apple-touch-icon","href":"./favicon.ico"}]]
46
46
  1:null
package/out/sitemap.xml CHANGED
@@ -2,7 +2,7 @@
2
2
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3
3
  <url>
4
4
  <loc>https://public.markforster.info/Heroquest/Tools/card-maker/</loc>
5
- <lastmod>2026-06-13T16:35:53.673Z</lastmod>
5
+ <lastmod>2026-06-22T12:48:16.937Z</lastmod>
6
6
  <changefreq>monthly</changefreq>
7
7
  <priority>1</priority>
8
8
  </url>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markforster/heroquest-card-creator",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Browser-based tool to design HeroQuest-style cards with accurate layouts, asset library, and PNG export — runs locally.",
5
5
  "author": "Mark Forster (markforster)",
6
6
  "license": "GPL-3.0",
@@ -71,8 +71,11 @@
71
71
  "test:watch": "jest --watch",
72
72
  "test:coverage": "jest --coverage",
73
73
  "test:report": "jest --coverage --reporters=default --reporters=jest-html-reporter",
74
- "typecheck": "tsc --noEmit",
75
- "typecheck:watch": "tsc --noEmit --watch",
74
+ "typecheck": "tsc --noEmit -p tsconfig.json",
75
+ "typecheck:tests": "NODE_OPTIONS=--max-old-space-size=8192 tsc --noEmit -p tsconfig.tests.json",
76
+ "typecheck:all": "npm run typecheck && npm run typecheck:tests",
77
+ "typecheck:watch": "tsc --noEmit -p tsconfig.json --watch",
78
+ "typecheck:tests:watch": "NODE_OPTIONS=--max-old-space-size=8192 tsc --noEmit -p tsconfig.tests.json --watch",
76
79
  "i18n:audit": "node scripts/i18n-audit.cjs",
77
80
  "i18n:check-raw": "node scripts/i18n-check-raw-locales.cjs",
78
81
  "i18n:sync-raw-keys": "node scripts/i18n-sync-raw-keys.cjs",
@@ -106,11 +109,13 @@
106
109
  "@zodios/react": "^10.3.1",
107
110
  "axios": "^1.7.7",
108
111
  "chalk": "^4.1.2",
112
+ "dexie": "^4.4.3",
109
113
  "i18next": "^26.3.1",
110
114
  "inquirer": "^9.3.7",
111
115
  "jscpd": "^4.0.8",
112
116
  "mime": "^3.0.0",
113
117
  "pica": "^9.0.1",
118
+ "react-bootstrap": "^2.10.10",
114
119
  "react-device-detect": "^2.2.3",
115
120
  "react-i18next": "^17.0.8",
116
121
  "react-select": "^5.10.2",
@@ -133,13 +138,14 @@
133
138
  "@types/react": "^18",
134
139
  "@types/react-dom": "^18",
135
140
  "@types/three": "^0.182.0",
136
- "bootstrap": "^5.3.3",
141
+ "bootstrap": "^5.3.8",
137
142
  "eslint": "^8",
138
143
  "eslint-config-next": "14.2.15",
139
144
  "eslint-config-prettier": "^10.1.8",
140
145
  "eslint-import-resolver-node": "^0.3.9",
141
146
  "eslint-import-resolver-typescript": "^4.4.4",
142
147
  "eslint-plugin-import": "^2.32.0",
148
+ "fake-indexeddb": "^6.2.5",
143
149
  "fallow": "^2.74.0",
144
150
  "jest": "^29.7.0",
145
151
  "jest-environment-jsdom": "^29.7.0",
@@ -154,6 +160,7 @@
154
160
  "react-hook-form": "^7.68.0",
155
161
  "react-router-dom": "^7.13.0",
156
162
  "three": "^0.167.1",
163
+ "ts-morph": "^28.0.0",
157
164
  "typescript": "^5"
158
165
  },
159
166
  "jest-html-reporter": {