@getmicdrop/venue-calendar 4.0.110 → 4.0.111
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/dist/{CartView-bMHSoj75.js → CartView-DiSdmuA_.js} +9 -9
- package/dist/{CartView-bMHSoj75.js.map → CartView-DiSdmuA_.js.map} +1 -1
- package/dist/{Checkout-DDXZc-yj.js → Checkout-DBaNrRya.js} +9 -9
- package/dist/{Checkout-DDXZc-yj.js.map → Checkout-DBaNrRya.js.map} +1 -1
- package/dist/{Checkout-DG2iHmHC.js → Checkout-DwJr030c.js} +5 -5
- package/dist/{Checkout-DG2iHmHC.js.map → Checkout-DwJr030c.js.map} +1 -1
- package/dist/{CheckoutTimer-Bwq6a_Hl.js → CheckoutTimer-DPFVh7QG.js} +5 -5
- package/dist/{CheckoutTimer-Bwq6a_Hl.js.map → CheckoutTimer-DPFVh7QG.js.map} +1 -1
- package/dist/{ClockIcon-ZgeMNNI1.js → ClockIcon-BoEIfS3d.js} +2 -2
- package/dist/{ClockIcon-ZgeMNNI1.js.map → ClockIcon-BoEIfS3d.js.map} +1 -1
- package/dist/{CollectionView-1pf2C4kX.js → CollectionView-DM3WLpLu.js} +5 -5
- package/dist/{CollectionView-1pf2C4kX.js.map → CollectionView-DM3WLpLu.js.map} +1 -1
- package/dist/{Event-D3o0fguY.js → Event-DymZpajQ.js} +8 -8
- package/dist/{Event-D3o0fguY.js.map → Event-DymZpajQ.js.map} +1 -1
- package/dist/{EventPage-DqO-AV8i.js → EventPage-D7GG_BWH.js} +8 -8
- package/dist/{EventPage-DqO-AV8i.js.map → EventPage-D7GG_BWH.js.map} +1 -1
- package/dist/{Heading-pURRwiIC.js → Heading-C8oOcA05.js} +2 -2
- package/dist/{Heading-pURRwiIC.js.map → Heading-C8oOcA05.js.map} +1 -1
- package/dist/{ScarcityBadge-ykz32KS9.js → ScarcityBadge-BqJHRkab.js} +2 -2
- package/dist/{ScarcityBadge-ykz32KS9.js.map → ScarcityBadge-BqJHRkab.js.map} +1 -1
- package/dist/{SeriesPage-BmNk80cF.js → SeriesPage-DsJ9zGPQ.js} +5 -5
- package/dist/{SeriesPage-BmNk80cF.js.map → SeriesPage-DsJ9zGPQ.js.map} +1 -1
- package/dist/{Spinner-OGA1hrc5.js → Spinner-DPzuHWU6.js} +2 -2
- package/dist/{Spinner-OGA1hrc5.js.map → Spinner-DPzuHWU6.js.map} +1 -1
- package/dist/{Success-DLlQ54_-.js → Success-C0D_INAc.js} +8 -8
- package/dist/{Success-DLlQ54_-.js.map → Success-C0D_INAc.js.map} +1 -1
- package/dist/{Text-DMpMLgcU.js → Text-DOd8068v.js} +2 -2
- package/dist/{Text-DMpMLgcU.js.map → Text-DOd8068v.js.map} +1 -1
- package/dist/{VenueCalendar-ClSRsS6u.js → VenueCalendar-B809Hecp.js} +4308 -4315
- package/dist/{VenueCalendar-ClSRsS6u.js.map → VenueCalendar-B809Hecp.js.map} +1 -1
- package/dist/{ViewTicketsEmbed-5LMG2xwn.js → ViewTicketsEmbed-BPMp4JM0.js} +5 -5
- package/dist/{ViewTicketsEmbed-5LMG2xwn.js.map → ViewTicketsEmbed-BPMp4JM0.js.map} +1 -1
- package/dist/{labels-Ws4MJjH5.js → labels-wFEhrJkb.js} +3 -3
- package/dist/{labels-Ws4MJjH5.js.map → labels-wFEhrJkb.js.map} +1 -1
- package/dist/{modalManager.svelte-BPA2JF6c.js → modalManager.svelte-DjiZPIja.js} +2 -2
- package/dist/{modalManager.svelte-BPA2JF6c.js.map → modalManager.svelte-DjiZPIja.js.map} +1 -1
- package/dist/{promo-vXx1bxQm.js → promo-DK6Hxogl.js} +2 -2
- package/dist/{promo-vXx1bxQm.js.map → promo-DK6Hxogl.js.map} +1 -1
- package/dist/{showcase-state-options-9SoS5WuT.js → showcase-state-options-BuPnUf0V.js} +2 -2
- package/dist/{showcase-state-options-9SoS5WuT.js.map → showcase-state-options-BuPnUf0V.js.map} +1 -1
- package/dist/{transform-BD9xXAq7.js → transform-C6LCkao6.js} +2 -2
- package/dist/{transform-BD9xXAq7.js.map → transform-C6LCkao6.js.map} +1 -1
- package/dist/{utm-rT0TPh8G.js → utm-DYGTGbVA.js} +2 -2
- package/dist/{utm-rT0TPh8G.js.map → utm-DYGTGbVA.js.map} +1 -1
- package/dist/venue-calendar.css +1 -1
- package/dist/venue-calendar.es.js +2 -2
- package/dist/venue-calendar.iife.js +47 -47
- package/dist/venue-calendar.iife.js.map +1 -1
- package/dist/venue-calendar.umd.js +44 -44
- package/dist/venue-calendar.umd.js.map +1 -1
- package/package.json +199 -199
- package/dist/api/api/client.d.ts +0 -17
- package/dist/api/api/cta.d.ts +0 -34
- package/dist/api/api/events.d.ts +0 -183
- package/dist/api/api/gift-cards.d.ts +0 -108
- package/dist/api/api/index.d.ts +0 -46
- package/dist/api/api/orders.d.ts +0 -149
- package/dist/api/api/promo.d.ts +0 -45
- package/dist/api/api/result.d.ts +0 -78
- package/dist/api/api/route-manifest.d.ts +0 -179
- package/dist/api/api/transformers/address.d.ts +0 -18
- package/dist/api/api/transformers/cart.d.ts +0 -19
- package/dist/api/api/transformers/collection.d.ts +0 -12
- package/dist/api/api/transformers/event.d.ts +0 -173
- package/dist/api/api/transformers/giftCard.d.ts +0 -11
- package/dist/api/api/transformers/index.d.ts +0 -27
- package/dist/api/api/transformers/order.d.ts +0 -44
- package/dist/api/api/transformers/performer.d.ts +0 -8
- package/dist/api/api/transformers/series.d.ts +0 -12
- package/dist/api/api/transformers/venue.d.ts +0 -39
- package/dist/api/api/venues.d.ts +0 -33
- package/dist/api/api/waitlist.d.ts +0 -49
- package/dist/api/api.cjs +0 -2
- package/dist/api/api.cjs.map +0 -1
- package/dist/api/api.mjs +0 -1302
- package/dist/api/api.mjs.map +0 -1
- package/dist/api/types.d.ts +0 -483
- package/dist/seo/HostSeoController.d.ts +0 -68
- package/dist/seo/buildCollectionJsonLd.d.ts +0 -8
- package/dist/seo/buildEventJsonLd.d.ts +0 -9
- package/dist/seo/buildSeriesJsonLd.d.ts +0 -6
- package/dist/seo/helpers.d.ts +0 -88
- package/dist/seo/index.d.ts +0 -10
- package/dist/seo/seo.cjs +0 -2
- package/dist/seo/seo.cjs.map +0 -1
- package/dist/seo/seo.mjs +0 -688
- package/dist/seo/seo.mjs.map +0 -1
- package/dist/seo/types.d.ts +0 -149
package/package.json
CHANGED
|
@@ -1,199 +1,199 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@getmicdrop/venue-calendar",
|
|
3
|
-
"version": "4.0.
|
|
4
|
-
"description": "A customizable Svelte calendar component for displaying comedy events",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"types": "./dist/types/index.d.ts",
|
|
7
|
-
"main": "./dist/venue-calendar.umd.js",
|
|
8
|
-
"module": "./dist/venue-calendar.es.js",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"types": "./dist/types/index.d.ts",
|
|
12
|
-
"svelte": "./dist/venue-calendar.es.js",
|
|
13
|
-
"import": "./dist/venue-calendar.es.js",
|
|
14
|
-
"require": "./dist/venue-calendar.umd.js",
|
|
15
|
-
"default": "./dist/venue-calendar.es.js"
|
|
16
|
-
},
|
|
17
|
-
"./api": {
|
|
18
|
-
"types": "./dist/api/index.d.ts",
|
|
19
|
-
"import": "./dist/api/api.mjs",
|
|
20
|
-
"require": "./dist/api/api.cjs",
|
|
21
|
-
"default": "./dist/api/api.mjs"
|
|
22
|
-
},
|
|
23
|
-
"./seo": {
|
|
24
|
-
"types": "./dist/seo/index.d.ts",
|
|
25
|
-
"import": "./dist/seo/seo.mjs",
|
|
26
|
-
"require": "./dist/seo/seo.cjs",
|
|
27
|
-
"default": "./dist/seo/seo.mjs"
|
|
28
|
-
},
|
|
29
|
-
"./theme": {
|
|
30
|
-
"import": "./src/lib/theme.js",
|
|
31
|
-
"default": "./src/lib/theme.js"
|
|
32
|
-
},
|
|
33
|
-
"./dist/venue-calendar.css": "./dist/venue-calendar.css"
|
|
34
|
-
},
|
|
35
|
-
"files": [
|
|
36
|
-
"dist",
|
|
37
|
-
"src/lib/theme.js",
|
|
38
|
-
"README.md"
|
|
39
|
-
],
|
|
40
|
-
"scripts": {
|
|
41
|
-
"dev": "vite dev",
|
|
42
|
-
"build": "vite build",
|
|
43
|
-
"build:lib": "cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js",
|
|
44
|
-
"build:api": "vite build --config vite.config.api.js",
|
|
45
|
-
"build:seo": "vite build --config vite.config.seo.js",
|
|
46
|
-
"build:all": "npm run build:lib && npm run build:api && npm run build:seo",
|
|
47
|
-
"preview": "vite preview",
|
|
48
|
-
"prepare": "node ./scripts/prepare.js",
|
|
49
|
-
"prepublishOnly": "npm run build:all",
|
|
50
|
-
"_lint_comment": "Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.",
|
|
51
|
-
"lint": "eslint src --max-warnings 0",
|
|
52
|
-
"gate": "sh scripts/gate.sh",
|
|
53
|
-
"lint:fix": "eslint src --fix",
|
|
54
|
-
"lint:css": "stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input",
|
|
55
|
-
"lint:css:fix": "stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix",
|
|
56
|
-
"knip": "knip",
|
|
57
|
-
"depcruise": "dependency-cruiser src --config .dependency-cruiser.cjs",
|
|
58
|
-
"design-system:check": "node scripts/design-system-check.mjs --report-only",
|
|
59
|
-
"design-system:check:strict": "node scripts/design-system-check.mjs --fail-on-new",
|
|
60
|
-
"design-system:baseline": "node scripts/design-system-check.mjs --baseline",
|
|
61
|
-
"cleanup-check": "node scripts/cleanup-on-destroy-check.mjs --report-only",
|
|
62
|
-
"cleanup-check:strict": "node scripts/cleanup-on-destroy-check.mjs --fail-on-new",
|
|
63
|
-
"cleanup-baseline": "node scripts/cleanup-on-destroy-check.mjs --baseline",
|
|
64
|
-
"checkout-lifecycle-check": "node scripts/checkout-lifecycle-check.mjs --report-only",
|
|
65
|
-
"checkout-lifecycle-check:strict": "node scripts/checkout-lifecycle-check.mjs --fail-on-new",
|
|
66
|
-
"checkout-lifecycle-baseline": "node scripts/checkout-lifecycle-check.mjs --baseline",
|
|
67
|
-
"quantity-clamp-check": "node scripts/quantity-clamp-check.mjs --report-only",
|
|
68
|
-
"quantity-clamp-check:strict": "node scripts/quantity-clamp-check.mjs --fail-on-new",
|
|
69
|
-
"quantity-clamp-baseline": "node scripts/quantity-clamp-check.mjs --baseline",
|
|
70
|
-
"no-new-skips-check": "node scripts/no-new-skips-check.mjs --report-only",
|
|
71
|
-
"no-new-skips-check:strict": "node scripts/no-new-skips-check.mjs --fail-on-new",
|
|
72
|
-
"no-new-skips-baseline": "node scripts/no-new-skips-check.mjs --baseline",
|
|
73
|
-
"no-sc-toast-check": "node scripts/no-sc-toast-check.mjs",
|
|
74
|
-
"no-sc-toast-check:report": "node scripts/no-sc-toast-check.mjs --report-only",
|
|
75
|
-
"lockfile-sync-check": "node scripts/lockfile-sync-check.mjs",
|
|
76
|
-
"lockfile-sync-check:report": "node scripts/lockfile-sync-check.mjs --report-only",
|
|
77
|
-
"failopen-loader-check": "node scripts/failopen-loader-check.mjs --report-only",
|
|
78
|
-
"failopen-loader-check:strict": "node scripts/failopen-loader-check.mjs --fail-on-new",
|
|
79
|
-
"voice:check": "node scripts/vc-copy-voice-ratchet.mjs --report-only",
|
|
80
|
-
"voice:check:strict": "node scripts/vc-copy-voice-ratchet.mjs",
|
|
81
|
-
"voice:baseline": "node scripts/vc-copy-voice-ratchet.mjs --baseline",
|
|
82
|
-
"voice:vendor": "node scripts/gen-voice-rules-vendored.mjs",
|
|
83
|
-
"voice:vendor:check": "node scripts/gen-voice-rules-vendored.mjs --check",
|
|
84
|
-
"failopen-loader-baseline": "node scripts/failopen-loader-check.mjs --baseline",
|
|
85
|
-
"detectors:check": "node scripts/detectors/detectors-wired.mjs",
|
|
86
|
-
"class-emits-css-check": "node scripts/class-emits-css-check.mjs",
|
|
87
|
-
"token-resolves-check": "node scripts/token-resolves-check.mjs",
|
|
88
|
-
"check": "svelte-check --diagnostic-sources \"js,svelte\"",
|
|
89
|
-
"check:all": "svelte-check",
|
|
90
|
-
"test": "vitest run",
|
|
91
|
-
"test:ci-mute-guard": "vitest run scripts/ci-needs-graph.test.js",
|
|
92
|
-
"test:routes": "VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts",
|
|
93
|
-
"test:watch": "vitest",
|
|
94
|
-
"test:ui": "vitest --ui",
|
|
95
|
-
"test:e2e": "playwright test",
|
|
96
|
-
"test:e2e:build": "npm run build:lib && playwright test",
|
|
97
|
-
"test:e2e:route": "playwright test --config playwright.route.config.js",
|
|
98
|
-
"test:e2e:route:build": "npm run build && playwright test --config playwright.route.config.js",
|
|
99
|
-
"size": "size-limit",
|
|
100
|
-
"size:why": "size-limit --why"
|
|
101
|
-
},
|
|
102
|
-
"size-limit": [
|
|
103
|
-
{
|
|
104
|
-
"name": "iife (CDN bundle)",
|
|
105
|
-
"path": "dist/venue-calendar.iife.js",
|
|
106
|
-
"limit": "660 KB",
|
|
107
|
-
"gzip": true
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"name": "es (npm bundle)",
|
|
111
|
-
"path": "dist/venue-calendar.es.js",
|
|
112
|
-
"limit": "60 KB",
|
|
113
|
-
"gzip": true
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"name": "css",
|
|
117
|
-
"path": "dist/venue-calendar.css",
|
|
118
|
-
"limit": "50 KB",
|
|
119
|
-
"gzip": true
|
|
120
|
-
}
|
|
121
|
-
],
|
|
122
|
-
"keywords": [
|
|
123
|
-
"svelte",
|
|
124
|
-
"calendar",
|
|
125
|
-
"events",
|
|
126
|
-
"comedy",
|
|
127
|
-
"venue",
|
|
128
|
-
"component",
|
|
129
|
-
"micdrop"
|
|
130
|
-
],
|
|
131
|
-
"author": "MicDrop",
|
|
132
|
-
"license": "MIT",
|
|
133
|
-
"repository": {
|
|
134
|
-
"type": "git",
|
|
135
|
-
"url": "git+https://github.com/get-micdrop/venue-calendar.git"
|
|
136
|
-
},
|
|
137
|
-
"bugs": {
|
|
138
|
-
"url": "https://github.com/get-micdrop/venue-calendar/issues"
|
|
139
|
-
},
|
|
140
|
-
"homepage": "https://github.com/get-micdrop/venue-calendar#readme",
|
|
141
|
-
"peerDependencies": {
|
|
142
|
-
"svelte": ">=5.56.0"
|
|
143
|
-
},
|
|
144
|
-
"devDependencies": {
|
|
145
|
-
"@eslint/js": "^9.39.1",
|
|
146
|
-
"@getmicdrop/svelte-components": "^6.24.138",
|
|
147
|
-
"@playwright/test": "^1.60.0",
|
|
148
|
-
"@size-limit/file": "^11.1.0",
|
|
149
|
-
"@sveltejs/adapter-auto": "^6.1.0",
|
|
150
|
-
"@sveltejs/kit": "^2.49.4",
|
|
151
|
-
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
152
|
-
"@tailwindcss/vite": "^4.0.0",
|
|
153
|
-
"@tanstack/svelte-query": "^6.1.34",
|
|
154
|
-
"@testing-library/jest-dom": "^6.9.1",
|
|
155
|
-
"@testing-library/svelte": "^5.3.1",
|
|
156
|
-
"@typescript-eslint/parser": "^8.59.2",
|
|
157
|
-
"@vitest/coverage-v8": "^4.0.16",
|
|
158
|
-
"cross-env": "^10.1.0",
|
|
159
|
-
"dependency-cruiser": "^17.4.0",
|
|
160
|
-
"eslint": "^9.7.0",
|
|
161
|
-
"eslint-plugin-svelte": "^3.19.0",
|
|
162
|
-
"fast-check": "^4.8.0",
|
|
163
|
-
"globals": "^16.5.0",
|
|
164
|
-
"husky": "^9.1.7",
|
|
165
|
-
"jsdom": "^28.0.0",
|
|
166
|
-
"knip": "^6.12.1",
|
|
167
|
-
"lint-staged": "^16.4.0",
|
|
168
|
-
"postcss": "^8.5.15",
|
|
169
|
-
"postcss-html": "^1.7.0",
|
|
170
|
-
"prettier": "^3.8.3",
|
|
171
|
-
"prettier-plugin-svelte": "^3.5.1",
|
|
172
|
-
"size-limit": "^11.1.0",
|
|
173
|
-
"stylelint": "^16.16.0",
|
|
174
|
-
"stylelint-config-standard": "^36.0.1",
|
|
175
|
-
"svelte": "^5.56.0",
|
|
176
|
-
"svelte-check": "^4.3.5",
|
|
177
|
-
"tailwindcss": "^4.0.0",
|
|
178
|
-
"typescript": "^5.9.3",
|
|
179
|
-
"vite": "^7.0.0",
|
|
180
|
-
"vite-plugin-dts": "^4.5.0",
|
|
181
|
-
"vitest": "^4.0.16",
|
|
182
|
-
"yaml": "2.8.2"
|
|
183
|
-
},
|
|
184
|
-
"dependencies": {
|
|
185
|
-
"@stripe/stripe-js": "^8.0.0",
|
|
186
|
-
"js-cookie": "^3.0.5",
|
|
187
|
-
"qrcode": "^1.5.4",
|
|
188
|
-
"svelte-stripe": "^2.0.0"
|
|
189
|
-
},
|
|
190
|
-
"lint-staged": {
|
|
191
|
-
"*.{js,ts,svelte}": [
|
|
192
|
-
"eslint --fix",
|
|
193
|
-
"prettier --write"
|
|
194
|
-
],
|
|
195
|
-
"*.{json,css,md}": [
|
|
196
|
-
"prettier --write"
|
|
197
|
-
]
|
|
198
|
-
}
|
|
199
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@getmicdrop/venue-calendar",
|
|
3
|
+
"version": "4.0.111",
|
|
4
|
+
"description": "A customizable Svelte calendar component for displaying comedy events",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"types": "./dist/types/index.d.ts",
|
|
7
|
+
"main": "./dist/venue-calendar.umd.js",
|
|
8
|
+
"module": "./dist/venue-calendar.es.js",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"svelte": "./dist/venue-calendar.es.js",
|
|
13
|
+
"import": "./dist/venue-calendar.es.js",
|
|
14
|
+
"require": "./dist/venue-calendar.umd.js",
|
|
15
|
+
"default": "./dist/venue-calendar.es.js"
|
|
16
|
+
},
|
|
17
|
+
"./api": {
|
|
18
|
+
"types": "./dist/api/index.d.ts",
|
|
19
|
+
"import": "./dist/api/api.mjs",
|
|
20
|
+
"require": "./dist/api/api.cjs",
|
|
21
|
+
"default": "./dist/api/api.mjs"
|
|
22
|
+
},
|
|
23
|
+
"./seo": {
|
|
24
|
+
"types": "./dist/seo/index.d.ts",
|
|
25
|
+
"import": "./dist/seo/seo.mjs",
|
|
26
|
+
"require": "./dist/seo/seo.cjs",
|
|
27
|
+
"default": "./dist/seo/seo.mjs"
|
|
28
|
+
},
|
|
29
|
+
"./theme": {
|
|
30
|
+
"import": "./src/lib/theme.js",
|
|
31
|
+
"default": "./src/lib/theme.js"
|
|
32
|
+
},
|
|
33
|
+
"./dist/venue-calendar.css": "./dist/venue-calendar.css"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist",
|
|
37
|
+
"src/lib/theme.js",
|
|
38
|
+
"README.md"
|
|
39
|
+
],
|
|
40
|
+
"scripts": {
|
|
41
|
+
"dev": "vite dev",
|
|
42
|
+
"build": "vite build",
|
|
43
|
+
"build:lib": "cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js",
|
|
44
|
+
"build:api": "vite build --config vite.config.api.js",
|
|
45
|
+
"build:seo": "vite build --config vite.config.seo.js",
|
|
46
|
+
"build:all": "npm run build:lib && npm run build:api && npm run build:seo",
|
|
47
|
+
"preview": "vite preview",
|
|
48
|
+
"prepare": "node ./scripts/prepare.js",
|
|
49
|
+
"prepublishOnly": "npm run build:all",
|
|
50
|
+
"_lint_comment": "Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.",
|
|
51
|
+
"lint": "eslint src --max-warnings 0",
|
|
52
|
+
"gate": "sh scripts/gate.sh",
|
|
53
|
+
"lint:fix": "eslint src --fix",
|
|
54
|
+
"lint:css": "stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input",
|
|
55
|
+
"lint:css:fix": "stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix",
|
|
56
|
+
"knip": "knip",
|
|
57
|
+
"depcruise": "dependency-cruiser src --config .dependency-cruiser.cjs",
|
|
58
|
+
"design-system:check": "node scripts/design-system-check.mjs --report-only",
|
|
59
|
+
"design-system:check:strict": "node scripts/design-system-check.mjs --fail-on-new",
|
|
60
|
+
"design-system:baseline": "node scripts/design-system-check.mjs --baseline",
|
|
61
|
+
"cleanup-check": "node scripts/cleanup-on-destroy-check.mjs --report-only",
|
|
62
|
+
"cleanup-check:strict": "node scripts/cleanup-on-destroy-check.mjs --fail-on-new",
|
|
63
|
+
"cleanup-baseline": "node scripts/cleanup-on-destroy-check.mjs --baseline",
|
|
64
|
+
"checkout-lifecycle-check": "node scripts/checkout-lifecycle-check.mjs --report-only",
|
|
65
|
+
"checkout-lifecycle-check:strict": "node scripts/checkout-lifecycle-check.mjs --fail-on-new",
|
|
66
|
+
"checkout-lifecycle-baseline": "node scripts/checkout-lifecycle-check.mjs --baseline",
|
|
67
|
+
"quantity-clamp-check": "node scripts/quantity-clamp-check.mjs --report-only",
|
|
68
|
+
"quantity-clamp-check:strict": "node scripts/quantity-clamp-check.mjs --fail-on-new",
|
|
69
|
+
"quantity-clamp-baseline": "node scripts/quantity-clamp-check.mjs --baseline",
|
|
70
|
+
"no-new-skips-check": "node scripts/no-new-skips-check.mjs --report-only",
|
|
71
|
+
"no-new-skips-check:strict": "node scripts/no-new-skips-check.mjs --fail-on-new",
|
|
72
|
+
"no-new-skips-baseline": "node scripts/no-new-skips-check.mjs --baseline",
|
|
73
|
+
"no-sc-toast-check": "node scripts/no-sc-toast-check.mjs",
|
|
74
|
+
"no-sc-toast-check:report": "node scripts/no-sc-toast-check.mjs --report-only",
|
|
75
|
+
"lockfile-sync-check": "node scripts/lockfile-sync-check.mjs",
|
|
76
|
+
"lockfile-sync-check:report": "node scripts/lockfile-sync-check.mjs --report-only",
|
|
77
|
+
"failopen-loader-check": "node scripts/failopen-loader-check.mjs --report-only",
|
|
78
|
+
"failopen-loader-check:strict": "node scripts/failopen-loader-check.mjs --fail-on-new",
|
|
79
|
+
"voice:check": "node scripts/vc-copy-voice-ratchet.mjs --report-only",
|
|
80
|
+
"voice:check:strict": "node scripts/vc-copy-voice-ratchet.mjs",
|
|
81
|
+
"voice:baseline": "node scripts/vc-copy-voice-ratchet.mjs --baseline",
|
|
82
|
+
"voice:vendor": "node scripts/gen-voice-rules-vendored.mjs",
|
|
83
|
+
"voice:vendor:check": "node scripts/gen-voice-rules-vendored.mjs --check",
|
|
84
|
+
"failopen-loader-baseline": "node scripts/failopen-loader-check.mjs --baseline",
|
|
85
|
+
"detectors:check": "node scripts/detectors/detectors-wired.mjs",
|
|
86
|
+
"class-emits-css-check": "node scripts/class-emits-css-check.mjs",
|
|
87
|
+
"token-resolves-check": "node scripts/token-resolves-check.mjs",
|
|
88
|
+
"check": "svelte-check --diagnostic-sources \"js,svelte\"",
|
|
89
|
+
"check:all": "svelte-check",
|
|
90
|
+
"test": "vitest run",
|
|
91
|
+
"test:ci-mute-guard": "vitest run scripts/ci-needs-graph.test.js",
|
|
92
|
+
"test:routes": "VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts",
|
|
93
|
+
"test:watch": "vitest",
|
|
94
|
+
"test:ui": "vitest --ui",
|
|
95
|
+
"test:e2e": "playwright test",
|
|
96
|
+
"test:e2e:build": "npm run build:lib && playwright test",
|
|
97
|
+
"test:e2e:route": "playwright test --config playwright.route.config.js",
|
|
98
|
+
"test:e2e:route:build": "npm run build && playwright test --config playwright.route.config.js",
|
|
99
|
+
"size": "size-limit",
|
|
100
|
+
"size:why": "size-limit --why"
|
|
101
|
+
},
|
|
102
|
+
"size-limit": [
|
|
103
|
+
{
|
|
104
|
+
"name": "iife (CDN bundle)",
|
|
105
|
+
"path": "dist/venue-calendar.iife.js",
|
|
106
|
+
"limit": "660 KB",
|
|
107
|
+
"gzip": true
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "es (npm bundle)",
|
|
111
|
+
"path": "dist/venue-calendar.es.js",
|
|
112
|
+
"limit": "60 KB",
|
|
113
|
+
"gzip": true
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "css",
|
|
117
|
+
"path": "dist/venue-calendar.css",
|
|
118
|
+
"limit": "50 KB",
|
|
119
|
+
"gzip": true
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"keywords": [
|
|
123
|
+
"svelte",
|
|
124
|
+
"calendar",
|
|
125
|
+
"events",
|
|
126
|
+
"comedy",
|
|
127
|
+
"venue",
|
|
128
|
+
"component",
|
|
129
|
+
"micdrop"
|
|
130
|
+
],
|
|
131
|
+
"author": "MicDrop",
|
|
132
|
+
"license": "MIT",
|
|
133
|
+
"repository": {
|
|
134
|
+
"type": "git",
|
|
135
|
+
"url": "git+https://github.com/get-micdrop/venue-calendar.git"
|
|
136
|
+
},
|
|
137
|
+
"bugs": {
|
|
138
|
+
"url": "https://github.com/get-micdrop/venue-calendar/issues"
|
|
139
|
+
},
|
|
140
|
+
"homepage": "https://github.com/get-micdrop/venue-calendar#readme",
|
|
141
|
+
"peerDependencies": {
|
|
142
|
+
"svelte": ">=5.56.0"
|
|
143
|
+
},
|
|
144
|
+
"devDependencies": {
|
|
145
|
+
"@eslint/js": "^9.39.1",
|
|
146
|
+
"@getmicdrop/svelte-components": "^6.24.138",
|
|
147
|
+
"@playwright/test": "^1.60.0",
|
|
148
|
+
"@size-limit/file": "^11.1.0",
|
|
149
|
+
"@sveltejs/adapter-auto": "^6.1.0",
|
|
150
|
+
"@sveltejs/kit": "^2.49.4",
|
|
151
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
152
|
+
"@tailwindcss/vite": "^4.0.0",
|
|
153
|
+
"@tanstack/svelte-query": "^6.1.34",
|
|
154
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
155
|
+
"@testing-library/svelte": "^5.3.1",
|
|
156
|
+
"@typescript-eslint/parser": "^8.59.2",
|
|
157
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
158
|
+
"cross-env": "^10.1.0",
|
|
159
|
+
"dependency-cruiser": "^17.4.0",
|
|
160
|
+
"eslint": "^9.7.0",
|
|
161
|
+
"eslint-plugin-svelte": "^3.19.0",
|
|
162
|
+
"fast-check": "^4.8.0",
|
|
163
|
+
"globals": "^16.5.0",
|
|
164
|
+
"husky": "^9.1.7",
|
|
165
|
+
"jsdom": "^28.0.0",
|
|
166
|
+
"knip": "^6.12.1",
|
|
167
|
+
"lint-staged": "^16.4.0",
|
|
168
|
+
"postcss": "^8.5.15",
|
|
169
|
+
"postcss-html": "^1.7.0",
|
|
170
|
+
"prettier": "^3.8.3",
|
|
171
|
+
"prettier-plugin-svelte": "^3.5.1",
|
|
172
|
+
"size-limit": "^11.1.0",
|
|
173
|
+
"stylelint": "^16.16.0",
|
|
174
|
+
"stylelint-config-standard": "^36.0.1",
|
|
175
|
+
"svelte": "^5.56.0",
|
|
176
|
+
"svelte-check": "^4.3.5",
|
|
177
|
+
"tailwindcss": "^4.0.0",
|
|
178
|
+
"typescript": "^5.9.3",
|
|
179
|
+
"vite": "^7.0.0",
|
|
180
|
+
"vite-plugin-dts": "^4.5.0",
|
|
181
|
+
"vitest": "^4.0.16",
|
|
182
|
+
"yaml": "2.8.2"
|
|
183
|
+
},
|
|
184
|
+
"dependencies": {
|
|
185
|
+
"@stripe/stripe-js": "^8.0.0",
|
|
186
|
+
"js-cookie": "^3.0.5",
|
|
187
|
+
"qrcode": "^1.5.4",
|
|
188
|
+
"svelte-stripe": "^2.0.0"
|
|
189
|
+
},
|
|
190
|
+
"lint-staged": {
|
|
191
|
+
"*.{js,ts,svelte}": [
|
|
192
|
+
"eslint --fix",
|
|
193
|
+
"prettier --write"
|
|
194
|
+
],
|
|
195
|
+
"*.{json,css,md}": [
|
|
196
|
+
"prettier --write"
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
}
|
package/dist/api/api/client.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ApiConfig, ApiResponse } from './types.js';
|
|
2
|
-
export declare function configureApi(config: Partial<ApiConfig>): void;
|
|
3
|
-
export declare function getApiConfig(): Required<ApiConfig>;
|
|
4
|
-
export declare function getPublicBaseUrl(): string;
|
|
5
|
-
export declare function getLegacyPublicUrl(): string;
|
|
6
|
-
export declare function getOrdersV2Url(): string;
|
|
7
|
-
/** @deprecated IP is now resolved server-side via request headers. */
|
|
8
|
-
export declare function getClientIP(): Promise<string>;
|
|
9
|
-
export declare function apiGet<T>(endpoint: string, options?: RequestInit): Promise<ApiResponse<T>>;
|
|
10
|
-
export declare function apiPost<T>(endpoint: string, body?: unknown, options?: RequestInit): Promise<ApiResponse<T>>;
|
|
11
|
-
export declare function apiPut<T>(endpoint: string, body?: unknown, options?: RequestInit): Promise<ApiResponse<T>>;
|
|
12
|
-
export declare function apiDelete<T>(endpoint: string, options?: RequestInit): Promise<ApiResponse<T>>;
|
|
13
|
-
/**
|
|
14
|
-
* Simple fetch wrapper that returns parsed JSON or null on error.
|
|
15
|
-
* Inherits the global timeout + retry policy for GETs.
|
|
16
|
-
*/
|
|
17
|
-
export declare function simpleFetch<T>(url: string, options?: RequestInit): Promise<T | null>;
|
package/dist/api/api/cta.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { isHiddenTicketPurchasable } from '@getmicdrop/svelte-components/transforms';
|
|
2
|
-
export interface CtaStateOptions {
|
|
3
|
-
cancelled?: boolean;
|
|
4
|
-
isRegistration?: boolean;
|
|
5
|
-
waitlistEnabled?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface CtaState {
|
|
8
|
-
text: string;
|
|
9
|
-
disabled: boolean;
|
|
10
|
-
reason: 'cancelled' | 'event_past' | 'no_tickets' | 'available' | 'coming_soon' | 'sold_out_waitlist' | 'sold_out' | 'sales_ended' | 'hidden_only';
|
|
11
|
-
}
|
|
12
|
-
interface CtaEvent {
|
|
13
|
-
startDateTime?: string | null;
|
|
14
|
-
endDateTime?: string | null;
|
|
15
|
-
hasPurchasableHiddenTickets?: boolean;
|
|
16
|
-
}
|
|
17
|
-
interface CtaTicket {
|
|
18
|
-
salesChannel?: number;
|
|
19
|
-
salesBegin?: string | null;
|
|
20
|
-
salesStart?: string | null;
|
|
21
|
-
saleBegin?: string | null;
|
|
22
|
-
onSaleStart?: string | null;
|
|
23
|
-
salesEnd?: string | null;
|
|
24
|
-
saleEnd?: string | null;
|
|
25
|
-
onSaleEnd?: string | null;
|
|
26
|
-
remainingCapacity?: number | null;
|
|
27
|
-
quantityRemaining?: number | null;
|
|
28
|
-
quantity?: number | null;
|
|
29
|
-
soldOut?: boolean;
|
|
30
|
-
isHidden?: boolean;
|
|
31
|
-
visibility?: number;
|
|
32
|
-
}
|
|
33
|
-
export { isHiddenTicketPurchasable };
|
|
34
|
-
export declare function computeCtaState(event: CtaEvent, tickets: CtaTicket[] | undefined, options?: CtaStateOptions): CtaState;
|
package/dist/api/api/events.d.ts
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { Result } from './result.js';
|
|
2
|
-
import { Event, AvailableTicket, EventPerformersResponse, SeriesOccurrencesResponse, PublicCollectionData, ResolvedEntity } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Fetch event details, discriminating a real 404 from a transient failure.
|
|
5
|
-
*
|
|
6
|
-
* The SSR loader (`[id]/[slug]/+page.js`) gates its HTTP status on this: only an
|
|
7
|
-
* upstream 404 (`errNotFound`) becomes a page 404. A 5xx, a network error, or a
|
|
8
|
-
* timeout is `err(...)` (transient) so the loader can answer 503/retry instead
|
|
9
|
-
* of rendering a permanent-looking 404 to a buyer or crawler on a backend blip.
|
|
10
|
-
*
|
|
11
|
-
* @param eventId - The event ID
|
|
12
|
-
* @param customFetch - Optional custom fetch function (for SSR)
|
|
13
|
-
* @param password - Optional password for gated events
|
|
14
|
-
* @returns `ok(event)`, `errNotFound(...)` for a real 404, or `err(...)` transient
|
|
15
|
-
*/
|
|
16
|
-
export declare function fetchEventDetailsResult(eventId: string | number, customFetch?: typeof fetch, password?: string): Promise<Result<Event>>;
|
|
17
|
-
/**
|
|
18
|
-
* Fetch event details
|
|
19
|
-
*
|
|
20
|
-
* Gets full event information including venue and ticket data.
|
|
21
|
-
*
|
|
22
|
-
* Fail-open adapter over {@link fetchEventDetailsResult}: existing in-widget
|
|
23
|
-
* callers (Checkout, CartView, EventPage) keep degrading to `null` on any
|
|
24
|
-
* failure. SSR loaders that need to answer 404-vs-503 use the Result variant.
|
|
25
|
-
*
|
|
26
|
-
* @param eventId - The event ID
|
|
27
|
-
* @param customFetch - Optional custom fetch function (for SSR)
|
|
28
|
-
* @returns Event details or null on error
|
|
29
|
-
*/
|
|
30
|
-
export declare function fetchEventDetails(eventId: string | number, customFetch?: typeof fetch, password?: string): Promise<Event | null>;
|
|
31
|
-
/**
|
|
32
|
-
* Fetch available tickets for an event
|
|
33
|
-
*
|
|
34
|
-
* Returns all ticket types that are currently available for sale.
|
|
35
|
-
*
|
|
36
|
-
* @param eventId - The event ID
|
|
37
|
-
* @returns Array of available tickets
|
|
38
|
-
*/
|
|
39
|
-
export declare function fetchEventTicketsResult(eventId: string | number): Promise<Result<AvailableTicket[]>>;
|
|
40
|
-
export declare function fetchEventTickets(eventId: string | number): Promise<AvailableTicket[]>;
|
|
41
|
-
/**
|
|
42
|
-
* Fetch performers for an event
|
|
43
|
-
*
|
|
44
|
-
* Returns the lineup with pre-resolved avatar URLs.
|
|
45
|
-
*
|
|
46
|
-
* @param eventId - The event ID
|
|
47
|
-
* @returns Performers list and visibility flag
|
|
48
|
-
*/
|
|
49
|
-
export declare function fetchEventPerformersResult(eventId: string | number): Promise<Result<EventPerformersResponse>>;
|
|
50
|
-
export declare function fetchEventPerformers(eventId: string | number): Promise<EventPerformersResponse>;
|
|
51
|
-
/**
|
|
52
|
-
* Fetch all venues for an organization
|
|
53
|
-
*
|
|
54
|
-
* @param orgId - The organization ID
|
|
55
|
-
* @returns Array of venues
|
|
56
|
-
*/
|
|
57
|
-
export declare function fetchAllVenuesResult(orgId: string | number): Promise<Result<any[]>>;
|
|
58
|
-
export declare function fetchAllVenues(orgId: string | number): Promise<any[]>;
|
|
59
|
-
/**
|
|
60
|
-
* Fetch events for a venue
|
|
61
|
-
*
|
|
62
|
-
* @param venueId - The venue ID
|
|
63
|
-
* @returns Array of events
|
|
64
|
-
*/
|
|
65
|
-
export declare function fetchVenueEventsResult(venueId: string | number): Promise<Result<Event[]>>;
|
|
66
|
-
export declare function fetchVenueEvents(venueId: string | number): Promise<Event[]>;
|
|
67
|
-
export declare function getMonthEventsResult(venueId: string | number, year: number, month: number): Promise<Result<Event[]>>;
|
|
68
|
-
export declare function getMonthEvents(venueId: string | number, year: number, month: number): Promise<Event[]>;
|
|
69
|
-
/**
|
|
70
|
-
* Get events for an organization for a specific month
|
|
71
|
-
*
|
|
72
|
-
* @param orgId - The organization ID
|
|
73
|
-
* @param year - The year (e.g., 2024)
|
|
74
|
-
* @param month - The month (1-12)
|
|
75
|
-
* @returns Array of events for the month
|
|
76
|
-
*/
|
|
77
|
-
export declare function getOrgMonthEventsResult(orgId: string | number, year: number, month: number): Promise<Result<Event[]>>;
|
|
78
|
-
export declare function getOrgMonthEvents(orgId: string | number, year: number, month: number): Promise<Event[]>;
|
|
79
|
-
/**
|
|
80
|
-
* Get series occurrences for date selector
|
|
81
|
-
*
|
|
82
|
-
* Returns all instances of a recurring event series.
|
|
83
|
-
*
|
|
84
|
-
* @param eventSeriesId - The series ID
|
|
85
|
-
* @returns Series occurrences
|
|
86
|
-
*/
|
|
87
|
-
export declare function getSeriesOccurrencesResult(eventSeriesId: number): Promise<Result<SeriesOccurrencesResponse>>;
|
|
88
|
-
export declare function getSeriesOccurrences(eventSeriesId: number): Promise<SeriesOccurrencesResponse | null>;
|
|
89
|
-
/**
|
|
90
|
-
* Fetch series occurrences with CTA state
|
|
91
|
-
*
|
|
92
|
-
* Returns full series data including availability status.
|
|
93
|
-
*
|
|
94
|
-
* @param eventSeriesId - The series ID
|
|
95
|
-
* @param venueId - The venue ID
|
|
96
|
-
* @returns Series occurrences with CTA state
|
|
97
|
-
*/
|
|
98
|
-
export declare function fetchSeriesOccurrencesResult(eventSeriesId: number, venueId: string | number): Promise<Result<SeriesOccurrencesResponse>>;
|
|
99
|
-
export declare function fetchSeriesOccurrences(eventSeriesId: number, venueId: string | number): Promise<SeriesOccurrencesResponse | null>;
|
|
100
|
-
/**
|
|
101
|
-
* Resolve an entity-agnostic public id to its concrete type + data.
|
|
102
|
-
*
|
|
103
|
-
* The embed deep-link (`#{id}-{slug}`) carries no type prefix, so a cold
|
|
104
|
-
* deep link (the show isn't in the loaded calendar month) needs the backend
|
|
105
|
-
* to say whether the id is an event, series, or collection before the widget
|
|
106
|
-
* can render the right view. This is the same `/api/v2/public/resolve/{id}`
|
|
107
|
-
* endpoint get-micdrop.com's `/e/{slugId}` page resolves server-side; here we
|
|
108
|
-
* call it cross-origin from the venue's page (the public API already serves
|
|
109
|
-
* the calendar cross-origin, so CORS is in place).
|
|
110
|
-
*
|
|
111
|
-
* @param id - The entity id (numeric, type-agnostic)
|
|
112
|
-
* @param slug - Optional slug hint (lets the backend canonicalize)
|
|
113
|
-
* @returns `{ type, id, title, data }` or null on failure
|
|
114
|
-
*/
|
|
115
|
-
export declare function resolvePublicEntity(id: string | number, slug?: string): Promise<ResolvedEntity | null>;
|
|
116
|
-
/**
|
|
117
|
-
* Fetch public collection data
|
|
118
|
-
*
|
|
119
|
-
* Returns collection info including events list.
|
|
120
|
-
* For password-protected collections, pass the password to authenticate.
|
|
121
|
-
*
|
|
122
|
-
* @param collectionId - The collection ID
|
|
123
|
-
* @param password - Optional password for protected collections
|
|
124
|
-
* @returns Collection data or null on error
|
|
125
|
-
*/
|
|
126
|
-
export declare function fetchPublicCollection(collectionId: string | number, password?: string): Promise<PublicCollectionData | null>;
|
|
127
|
-
/**
|
|
128
|
-
* Check collection password
|
|
129
|
-
*
|
|
130
|
-
* Validates password for password-protected collections.
|
|
131
|
-
*
|
|
132
|
-
* @param collectionId - The collection ID
|
|
133
|
-
* @param password - The password to check
|
|
134
|
-
* @returns Whether the password is valid
|
|
135
|
-
*/
|
|
136
|
-
export declare function checkCollectionPassword(collectionId: string | number, password: string): Promise<boolean>;
|
|
137
|
-
/**
|
|
138
|
-
* Check event password
|
|
139
|
-
*
|
|
140
|
-
* Validates password for password-protected events.
|
|
141
|
-
*
|
|
142
|
-
* @param eventId - The event ID
|
|
143
|
-
* @param password - The password to check
|
|
144
|
-
* @returns Whether the password is valid
|
|
145
|
-
*/
|
|
146
|
-
export declare function checkEventPassword(eventId: string | number, password: string): Promise<{
|
|
147
|
-
valid: boolean;
|
|
148
|
-
}>;
|
|
149
|
-
/**
|
|
150
|
-
* Test network connection
|
|
151
|
-
*
|
|
152
|
-
* Asks whether the public API is reachable.
|
|
153
|
-
*
|
|
154
|
-
* THE QUESTION IS "DID THE ROUTER ANSWER", NOT "DID THE RESOURCE EXIST" — the
|
|
155
|
-
* same distinction route-manifest.ts is built on. Under the old `response.ok`
|
|
156
|
-
* rule this probe reported the API DOWN on a healthy backend on EVERY branch,
|
|
157
|
-
* for EVERY input, always. Measured against production: HEAD answers 405 on
|
|
158
|
-
* every route the backend serves — including `HEAD /events/venue/42` for a venue
|
|
159
|
-
* that EXISTS — and the old `HEAD /health` branch answered 404, because the
|
|
160
|
-
* router does not serve /health at all. None of those are `ok`. A liveness check
|
|
161
|
-
* that always fails is worse than none.
|
|
162
|
-
*
|
|
163
|
-
* Two changes fix two different things, and they are separable:
|
|
164
|
-
*
|
|
165
|
-
* 1. THE STATUS RULE is what fixes liveness. Reachable means ANSWERED, not
|
|
166
|
-
* `response.ok`. A 400, a 404 or a 405 is the backend talking: it is up.
|
|
167
|
-
* Only a transport failure (DNS, TLS, CORS, offline) or a 5xx means it is
|
|
168
|
-
* not serving. This rule alone would have made liveness report up, even on
|
|
169
|
-
* the old /health probe (404 < 500).
|
|
170
|
-
* 2. THE REPOINT is what stops this naming a route the router does not serve —
|
|
171
|
-
* the name-resolution gate, and #444. Every branch now names a route the
|
|
172
|
-
* backend actually SERVES. There is no id-free public route, so the no-ids
|
|
173
|
-
* branch asks a served route about an id that cannot exist: we do not care
|
|
174
|
-
* what it says about the venue, only that it said anything at all. This is
|
|
175
|
-
* not what fixes liveness.
|
|
176
|
-
*
|
|
177
|
-
* Do not "simplify" `status < 500` back to `response.ok`. That is the bug.
|
|
178
|
-
*
|
|
179
|
-
* @param orgId - Optional org ID
|
|
180
|
-
* @param venueId - Optional venue ID
|
|
181
|
-
* @returns Whether the API answered
|
|
182
|
-
*/
|
|
183
|
-
export declare function testNetworkConnection(orgId?: string | number, venueId?: string | number): Promise<boolean>;
|