cursedbelt 4.7.0 → 5.0.1
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/README.md +36 -0
- package/dist/react/chat/index.d.ts +1 -0
- package/dist/react/chat/index.d.ts.map +1 -1
- package/dist/react/chat/index.js +1 -0
- package/dist/react/chat/index.js.map +1 -1
- package/dist/react/chat/usePresence.d.ts +75 -0
- package/dist/react/chat/usePresence.d.ts.map +1 -0
- package/dist/react/chat/usePresence.js +109 -0
- package/dist/react/chat/usePresence.js.map +1 -0
- package/dist/react/components/SecretInput.d.ts +7 -2
- package/dist/react/components/SecretInput.d.ts.map +1 -1
- package/dist/react/components/SecretInput.js +5 -2
- package/dist/react/components/SecretInput.js.map +1 -1
- package/dist/react/components/TooltipImpl.d.ts.map +1 -1
- package/dist/react/components/TooltipImpl.js +52 -3
- package/dist/react/components/TooltipImpl.js.map +1 -1
- package/dist/react/emoji/EmojiPicker.d.ts.map +1 -1
- package/dist/react/emoji/EmojiPicker.js +49 -8
- package/dist/react/emoji/EmojiPicker.js.map +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/lib/form.d.ts +2 -2
- package/dist/react/lib/form.d.ts.map +1 -1
- package/dist/react/lib/form.js +4 -41
- package/dist/react/lib/form.js.map +1 -1
- package/dist/react/lib/zodResolver.d.ts +9 -0
- package/dist/react/lib/zodResolver.d.ts.map +1 -0
- package/dist/react/lib/zodResolver.js +105 -0
- package/dist/react/lib/zodResolver.js.map +1 -0
- package/dist/react/master-lock/MasterLockDialog.d.ts.map +1 -1
- package/dist/react/master-lock/MasterLockDialog.js +2 -1
- package/dist/react/master-lock/MasterLockDialog.js.map +1 -1
- package/dist/react/master-lock/MasterLockProvider.d.ts +12 -18
- package/dist/react/master-lock/MasterLockProvider.d.ts.map +1 -1
- package/dist/react/master-lock/MasterLockProvider.js +14 -20
- package/dist/react/master-lock/MasterLockProvider.js.map +1 -1
- package/dist/react/media/MediaUploadControl.d.ts +3 -7
- package/dist/react/media/MediaUploadControl.d.ts.map +1 -1
- package/dist/react/media/MediaUploadControl.js +4 -13
- package/dist/react/media/MediaUploadControl.js.map +1 -1
- package/dist/react/media/fileUploadClient.d.ts +0 -8
- package/dist/react/media/fileUploadClient.d.ts.map +1 -1
- package/dist/react/media/fileUploadClient.js +0 -8
- package/dist/react/media/fileUploadClient.js.map +1 -1
- package/dist/react/media/hlsSource.d.ts.map +1 -1
- package/dist/react/media/hlsSource.js +4 -2
- package/dist/react/media/hlsSource.js.map +1 -1
- package/dist/react/media/index.d.ts +0 -4
- package/dist/react/media/index.d.ts.map +1 -1
- package/dist/react/media/index.js +0 -4
- package/dist/react/media/index.js.map +1 -1
- package/dist/react/sessionAuth.d.ts +1 -2
- package/dist/react/sessionAuth.d.ts.map +1 -1
- package/dist/react/sessionAuth.js +2 -3
- package/dist/react/sessionAuth.js.map +1 -1
- package/dist/scripts/guardrailsEnforce.d.ts.map +1 -1
- package/dist/styles-areas/activity-bar.css +1 -1
- package/dist/styles-areas/analytics.css +1 -1
- package/dist/styles-areas/auth.css +1 -1
- package/dist/styles-areas/charts.css +1 -1
- package/dist/styles-areas/chat.css +1 -1
- package/dist/styles-areas/core.css +1 -1
- package/dist/styles-areas/dashboard-grid.css +1 -1
- package/dist/styles-areas/data-table.css +1 -1
- package/dist/styles-areas/deep-link.css +1 -1
- package/dist/styles-areas/disk-usage.css +1 -1
- package/dist/styles-areas/emoji.css +1 -1
- package/dist/styles-areas/fields.css +1 -1
- package/dist/styles-areas/file-tree.css +1 -1
- package/dist/styles-areas/keep-awake.css +1 -1
- package/dist/styles-areas/layout-engine.css +1 -1
- package/dist/styles-areas/markdown.css +1 -1
- package/dist/styles-areas/master-detail.css +1 -1
- package/dist/styles-areas/master-lock.css +108 -2
- package/dist/styles-areas/media-gallery.css +1 -1
- package/dist/styles-areas/media.css +1 -17
- package/dist/styles-areas/nav.css +1 -1
- package/dist/styles-areas/notifications.css +1 -1
- package/dist/styles-areas/overlays.css +1 -1
- package/dist/styles-areas/palette.css +1 -1
- package/dist/styles-areas/spreadsheet.css +1 -1
- package/dist/styles-areas/virtual.css +1 -1
- package/dist/styles-areas/wizard.css +1 -1
- package/dist/styles-areas/workbench.css +1 -1
- package/dist/styles-areas/workbook-viewer.css +1 -1
- package/dist/styles-utilities.css +0 -16
- package/dist/testing/_noBun.d.ts +2 -0
- package/dist/testing/_noBun.d.ts.map +1 -0
- package/dist/testing/_noBun.js +10 -0
- package/dist/testing/_noBun.js.map +1 -0
- package/package.json +54 -20
- package/scripts/checkAreaStyles.spec.ts +71 -0
- package/scripts/checkAreaStyles.ts +150 -0
- package/scripts/guardrailsEnforce.spec.ts +43 -0
- package/scripts/guardrailsEnforce.ts +46 -1
- package/scripts/styleAreas.ts +1 -2
- package/src/barrelsReachNoOptionalPeer.spec.ts +6 -3
- package/src/bundlerOnlyEntries.spec.ts +101 -0
- package/src/declaredImports.spec.ts +4 -0
- package/src/optionalPeersTable.spec.ts +127 -0
- package/src/react/chat/index.ts +8 -0
- package/src/react/chat/usePresence.spec.tsx +138 -0
- package/src/react/chat/usePresence.ts +185 -0
- package/src/react/components/SecretInput.tsx +12 -1
- package/src/react/components/TooltipImpl.tsx +54 -5
- package/src/react/emoji/EmojiPicker.tsx +70 -19
- package/src/react/index.ts +8 -0
- package/src/react/lib/form.ts +5 -48
- package/src/react/lib/zodResolver.spec.ts +82 -0
- package/src/react/lib/zodResolver.ts +136 -0
- package/src/react/master-lock/MasterLockDialog.tsx +13 -9
- package/src/react/master-lock/MasterLockProvider.spec.tsx +17 -0
- package/src/react/master-lock/MasterLockProvider.tsx +16 -19
- package/src/react/media/MediaUploadControl.tsx +8 -29
- package/src/react/media/fileUploadClient.ts +7 -17
- package/src/react/media/hlsSource.ts +4 -1
- package/src/react/media/index.ts +0 -16
- package/src/react/sessionAuth.ts +2 -3
- package/src/scriptsResolve.spec.ts +66 -0
- package/src/styles-areas/activity-bar.css +1 -1
- package/src/styles-areas/analytics.css +1 -1
- package/src/styles-areas/auth.css +1 -1
- package/src/styles-areas/charts.css +1 -1
- package/src/styles-areas/chat.css +1 -1
- package/src/styles-areas/core.css +1 -1
- package/src/styles-areas/dashboard-grid.css +1 -1
- package/src/styles-areas/data-table.css +1 -1
- package/src/styles-areas/deep-link.css +1 -1
- package/src/styles-areas/disk-usage.css +1 -1
- package/src/styles-areas/emoji.css +1 -1
- package/src/styles-areas/fields.css +1 -1
- package/src/styles-areas/file-tree.css +1 -1
- package/src/styles-areas/keep-awake.css +1 -1
- package/src/styles-areas/layout-engine.css +1 -1
- package/src/styles-areas/markdown.css +1 -1
- package/src/styles-areas/master-detail.css +1 -1
- package/src/styles-areas/master-lock.css +108 -2
- package/src/styles-areas/media-gallery.css +1 -1
- package/src/styles-areas/media.css +1 -17
- package/src/styles-areas/nav.css +1 -1
- package/src/styles-areas/notifications.css +1 -1
- package/src/styles-areas/overlays.css +1 -1
- package/src/styles-areas/palette.css +1 -1
- package/src/styles-areas/spreadsheet.css +1 -1
- package/src/styles-areas/virtual.css +1 -1
- package/src/styles-areas/wizard.css +1 -1
- package/src/styles-areas/workbench.css +1 -1
- package/src/styles-areas/workbook-viewer.css +1 -1
- package/src/styles-utilities.css +0 -16
- package/src/testing/_noBun.ts +12 -0
- package/src/unpeeredStaysOffTheBarrel.spec.ts +99 -0
- package/src/verifyGraph.spec.ts +11 -0
- package/dist/react/media/PrivateIndexView.d.ts +0 -6
- package/dist/react/media/PrivateIndexView.d.ts.map +0 -1
- package/dist/react/media/PrivateIndexView.js +0 -44
- package/dist/react/media/PrivateIndexView.js.map +0 -1
- package/dist/react/media/PrivateModeBadge.d.ts +0 -17
- package/dist/react/media/PrivateModeBadge.d.ts.map +0 -1
- package/dist/react/media/PrivateModeBadge.js +0 -24
- package/dist/react/media/PrivateModeBadge.js.map +0 -1
- package/dist/react/media/privateClient.d.ts +0 -34
- package/dist/react/media/privateClient.d.ts.map +0 -1
- package/dist/react/media/privateClient.js +0 -36
- package/dist/react/media/privateClient.js.map +0 -1
- package/dist/react/media/usePrivateUnlock.d.ts +0 -25
- package/dist/react/media/usePrivateUnlock.d.ts.map +0 -1
- package/dist/react/media/usePrivateUnlock.js +0 -68
- package/dist/react/media/usePrivateUnlock.js.map +0 -1
- package/src/react/media/PrivateIndexView.tsx +0 -113
- package/src/react/media/PrivateModeBadge.tsx +0 -50
- package/src/react/media/privateClient.spec.ts +0 -113
- package/src/react/media/privateClient.ts +0 -82
- package/src/react/media/usePrivateUnlock.ts +0 -132
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 1317 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 302 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 464 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 390 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
15
15
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
16
|
-
* when this file is stale.
|
|
16
|
+
* when this file is stale. 5214 candidate(s) scanned.
|
|
17
17
|
*
|
|
18
18
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
19
19
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 209 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 1355 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 190 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 289 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 103 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 619 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 573 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 155 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 245 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 112 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 198 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,12 +15,118 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 189 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
22
22
|
* import closures rather than a hand-written list, is scripts/styleAreas.ts.
|
|
23
23
|
*/
|
|
24
24
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
25
|
+
@layer properties;
|
|
25
26
|
@layer theme, base, components, utilities;
|
|
26
|
-
@layer utilities
|
|
27
|
+
@layer utilities {
|
|
28
|
+
.self-stretch {
|
|
29
|
+
align-self: stretch;
|
|
30
|
+
}
|
|
31
|
+
.focus-within\:border-field-ring:focus-within {
|
|
32
|
+
border-color: var(--field-ring);
|
|
33
|
+
}
|
|
34
|
+
.focus-within\:ring-2:focus-within {
|
|
35
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
36
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
37
|
+
}
|
|
38
|
+
.focus-within\:ring-field-ring\/30:focus-within {
|
|
39
|
+
--tw-ring-color: var(--field-ring);
|
|
40
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
41
|
+
--tw-ring-color: color-mix(in oklab, var(--field-ring) 30%, transparent);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
.has-\[\[aria-invalid\=true\]\]\:border-field-error:has(:is([aria-invalid=true])) {
|
|
45
|
+
border-color: var(--field-error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
@property --tw-shadow {
|
|
49
|
+
syntax: "*";
|
|
50
|
+
inherits: false;
|
|
51
|
+
initial-value: 0 0 #0000;
|
|
52
|
+
}
|
|
53
|
+
@property --tw-shadow-color {
|
|
54
|
+
syntax: "*";
|
|
55
|
+
inherits: false;
|
|
56
|
+
}
|
|
57
|
+
@property --tw-shadow-alpha {
|
|
58
|
+
syntax: "<percentage>";
|
|
59
|
+
inherits: false;
|
|
60
|
+
initial-value: 100%;
|
|
61
|
+
}
|
|
62
|
+
@property --tw-inset-shadow {
|
|
63
|
+
syntax: "*";
|
|
64
|
+
inherits: false;
|
|
65
|
+
initial-value: 0 0 #0000;
|
|
66
|
+
}
|
|
67
|
+
@property --tw-inset-shadow-color {
|
|
68
|
+
syntax: "*";
|
|
69
|
+
inherits: false;
|
|
70
|
+
}
|
|
71
|
+
@property --tw-inset-shadow-alpha {
|
|
72
|
+
syntax: "<percentage>";
|
|
73
|
+
inherits: false;
|
|
74
|
+
initial-value: 100%;
|
|
75
|
+
}
|
|
76
|
+
@property --tw-ring-color {
|
|
77
|
+
syntax: "*";
|
|
78
|
+
inherits: false;
|
|
79
|
+
}
|
|
80
|
+
@property --tw-ring-shadow {
|
|
81
|
+
syntax: "*";
|
|
82
|
+
inherits: false;
|
|
83
|
+
initial-value: 0 0 #0000;
|
|
84
|
+
}
|
|
85
|
+
@property --tw-inset-ring-color {
|
|
86
|
+
syntax: "*";
|
|
87
|
+
inherits: false;
|
|
88
|
+
}
|
|
89
|
+
@property --tw-inset-ring-shadow {
|
|
90
|
+
syntax: "*";
|
|
91
|
+
inherits: false;
|
|
92
|
+
initial-value: 0 0 #0000;
|
|
93
|
+
}
|
|
94
|
+
@property --tw-ring-inset {
|
|
95
|
+
syntax: "*";
|
|
96
|
+
inherits: false;
|
|
97
|
+
}
|
|
98
|
+
@property --tw-ring-offset-width {
|
|
99
|
+
syntax: "<length>";
|
|
100
|
+
inherits: false;
|
|
101
|
+
initial-value: 0px;
|
|
102
|
+
}
|
|
103
|
+
@property --tw-ring-offset-color {
|
|
104
|
+
syntax: "*";
|
|
105
|
+
inherits: false;
|
|
106
|
+
initial-value: #fff;
|
|
107
|
+
}
|
|
108
|
+
@property --tw-ring-offset-shadow {
|
|
109
|
+
syntax: "*";
|
|
110
|
+
inherits: false;
|
|
111
|
+
initial-value: 0 0 #0000;
|
|
112
|
+
}
|
|
113
|
+
@layer properties {
|
|
114
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
115
|
+
*, ::before, ::after, ::backdrop {
|
|
116
|
+
--tw-shadow: 0 0 #0000;
|
|
117
|
+
--tw-shadow-color: initial;
|
|
118
|
+
--tw-shadow-alpha: 100%;
|
|
119
|
+
--tw-inset-shadow: 0 0 #0000;
|
|
120
|
+
--tw-inset-shadow-color: initial;
|
|
121
|
+
--tw-inset-shadow-alpha: 100%;
|
|
122
|
+
--tw-ring-color: initial;
|
|
123
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
124
|
+
--tw-inset-ring-color: initial;
|
|
125
|
+
--tw-inset-ring-shadow: 0 0 #0000;
|
|
126
|
+
--tw-ring-inset: initial;
|
|
127
|
+
--tw-ring-offset-width: 0px;
|
|
128
|
+
--tw-ring-offset-color: #fff;
|
|
129
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 2157 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 2775 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -156,9 +156,6 @@
|
|
|
156
156
|
border-block-style: var(--tw-border-style);
|
|
157
157
|
border-block-width: 2px;
|
|
158
158
|
}
|
|
159
|
-
.border-\[color\:var\(--border-strong\)\] {
|
|
160
|
-
border-color: var(--border-strong);
|
|
161
|
-
}
|
|
162
159
|
.border-accent {
|
|
163
160
|
border-color: var(--accent);
|
|
164
161
|
}
|
|
@@ -171,12 +168,6 @@
|
|
|
171
168
|
border-color: color-mix(in oklab, var(--color-white) 90%, transparent);
|
|
172
169
|
}
|
|
173
170
|
}
|
|
174
|
-
.bg-\[color\:color-mix\(in_srgb\,var\(--accent-solid\)_8\%\,transparent\)\] {
|
|
175
|
-
background-color: var(--accent-solid);
|
|
176
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
177
|
-
background-color: color-mix(in srgb,var(--accent-solid) 8%,transparent);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
171
|
.bg-accent\/15 {
|
|
181
172
|
background-color: var(--accent);
|
|
182
173
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -283,9 +274,6 @@
|
|
|
283
274
|
.text-\[color\:var\(--accent\)\] {
|
|
284
275
|
color: var(--accent);
|
|
285
276
|
}
|
|
286
|
-
.text-\[color\:var\(--muted-foreground\)\] {
|
|
287
|
-
color: var(--muted-foreground);
|
|
288
|
-
}
|
|
289
277
|
.accent-white {
|
|
290
278
|
accent-color: var(--color-white);
|
|
291
279
|
}
|
|
@@ -322,10 +310,6 @@
|
|
|
322
310
|
.group-focus-within\:opacity-100:is(:where(.group):focus-within *) {
|
|
323
311
|
opacity: 100%;
|
|
324
312
|
}
|
|
325
|
-
.last\:border-b-0:last-child {
|
|
326
|
-
border-bottom-style: var(--tw-border-style);
|
|
327
|
-
border-bottom-width: 0px;
|
|
328
|
-
}
|
|
329
313
|
.focus-within\:opacity-100:focus-within {
|
|
330
314
|
opacity: 100%;
|
|
331
315
|
}
|
package/src/styles-areas/nav.css
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 801 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 231 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 119 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 213 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 165 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 160 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 395 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 776 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* An app that imports every area gets exactly what `cursedbelt/styles-utilities.css`
|
|
17
17
|
* emits — proved rule by rule in src/stylesAreas.spec.ts, which is also what fails
|
|
18
|
-
* when this file is stale.
|
|
18
|
+
* when this file is stale. 246 candidate(s) scanned.
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
package/src/styles-utilities.css
CHANGED
|
@@ -1591,9 +1591,6 @@
|
|
|
1591
1591
|
--tw-border-style: solid;
|
|
1592
1592
|
border-style: solid;
|
|
1593
1593
|
}
|
|
1594
|
-
.border-\[color\:var\(--border-strong\)\] {
|
|
1595
|
-
border-color: var(--border-strong);
|
|
1596
|
-
}
|
|
1597
1594
|
.border-\[var\(--border\)\] {
|
|
1598
1595
|
border-color: var(--border);
|
|
1599
1596
|
}
|
|
@@ -1741,12 +1738,6 @@
|
|
|
1741
1738
|
.border-l-warning {
|
|
1742
1739
|
border-left-color: var(--warning);
|
|
1743
1740
|
}
|
|
1744
|
-
.bg-\[color\:color-mix\(in_srgb\,var\(--accent-solid\)_8\%\,transparent\)\] {
|
|
1745
|
-
background-color: var(--accent-solid);
|
|
1746
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
1747
|
-
background-color: color-mix(in srgb,var(--accent-solid) 8%,transparent);
|
|
1748
|
-
}
|
|
1749
|
-
}
|
|
1750
1741
|
.bg-\[var\(--accent\)\]\/12 {
|
|
1751
1742
|
background-color: var(--accent);
|
|
1752
1743
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2626,9 +2617,6 @@
|
|
|
2626
2617
|
.text-\[color\:var\(--accent\)\] {
|
|
2627
2618
|
color: var(--accent);
|
|
2628
2619
|
}
|
|
2629
|
-
.text-\[color\:var\(--muted-foreground\)\] {
|
|
2630
|
-
color: var(--muted-foreground);
|
|
2631
|
-
}
|
|
2632
2620
|
.text-\[var\(--danger\)\] {
|
|
2633
2621
|
color: var(--danger);
|
|
2634
2622
|
}
|
|
@@ -3299,10 +3287,6 @@
|
|
|
3299
3287
|
border-right-style: var(--tw-border-style);
|
|
3300
3288
|
border-right-width: 0px;
|
|
3301
3289
|
}
|
|
3302
|
-
.last\:border-b-0:last-child {
|
|
3303
|
-
border-bottom-style: var(--tw-border-style);
|
|
3304
|
-
border-bottom-width: 0px;
|
|
3305
|
-
}
|
|
3306
3290
|
.last\:pr-1:last-child {
|
|
3307
3291
|
padding-right: var(--spacing);
|
|
3308
3292
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Loaded only on non-Bun runtimes (task 2087). The `cursedbelt/testing` export map routes the
|
|
2
|
+
// real module to Bun (the `bun` condition) and everything else here, so importing these helpers
|
|
3
|
+
// from Node fails with a sentence instead of `Named export 'waitFor' not found` — which is what
|
|
4
|
+
// Node said about `@testing-library/react`, a CommonJS module its ESM loader cannot name-import.
|
|
5
|
+
// Same shape as `cwip/testing`'s `_noBun`, and `tools/proveInstall.ts` excuses exactly this: a
|
|
6
|
+
// `bun` condition plus a plain `Error` of the package's own making.
|
|
7
|
+
throw new Error(
|
|
8
|
+
'cursedbelt/testing requires the Bun runtime — it drives @testing-library/react under bun:test + happy-dom. ' +
|
|
9
|
+
'Import it only from specs run with `bun test`.',
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🔴 Nothing the `cursedbelt/react` barrel reaches may import an `unpeered` package — not
|
|
3
|
+
* statically, and not through a literal `import()` either.
|
|
4
|
+
*
|
|
5
|
+
* `unpeered` (task 2087) lists packages some subpaths use that are kept out of
|
|
6
|
+
* `peerDependencies` because npm cannot resolve their own peer ranges beside ours. That keeps
|
|
7
|
+
* `npm install cursedbelt` clean, and it has a price that `barrelsReachNoOptionalPeer.spec.ts`
|
|
8
|
+
* could not see: **a bundler resolves a literal `import()` at BUILD time, and Vite stubs a
|
|
9
|
+
* missing import only when it is a DECLARED optional peer.** 5.0.0 listed `@hookform/resolvers`
|
|
10
|
+
* and `@emoji-mart/react` there while `react/lib/form.ts` and `react/emoji/EmojiPicker.tsx`
|
|
11
|
+
* lazily imported them — lazy, so the static-only check above passed — and every app's
|
|
12
|
+
* clean-install `vite build` failed: `Rollup failed to resolve import "@hookform/resolvers/zod"`.
|
|
13
|
+
* Primary checkouts hid it for a day, because their `node_modules` still held the 4.x copies.
|
|
14
|
+
*
|
|
15
|
+
* 5.0.1 depends on neither (its own zod resolver; emoji-mart's `Picker` mounted directly). This
|
|
16
|
+
* spec is what keeps a third from arriving. The barrel is the subject because it is what every
|
|
17
|
+
* app imports; an opt-in subpath that needs glide (`./react/spreadsheet` and its two siblings) is
|
|
18
|
+
* named in `docs/API-REFERENCE.md`'s install table, and its consumer installs it on purpose.
|
|
19
|
+
* `tools/proveInstall.ts`'s consumer-bundle step is the same rule, proved against the PUBLISHED
|
|
20
|
+
* tarball in an empty directory.
|
|
21
|
+
*/
|
|
22
|
+
import { describe, expect, it } from 'bun:test';
|
|
23
|
+
import { mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
24
|
+
import { fileURLToPath } from 'node:url';
|
|
25
|
+
import pkg from '../package.json';
|
|
26
|
+
|
|
27
|
+
const REPO = fileURLToPath(new URL('..', import.meta.url));
|
|
28
|
+
const UNPEERED = Object.keys((pkg as { unpeered?: { packages?: Record<string, string> } }).unpeered?.packages ?? {});
|
|
29
|
+
|
|
30
|
+
/** `import x from "p"`, `export … from "p"`, `import "p"`, and — the 5.0.0 shape — `import("p")`. */
|
|
31
|
+
const ANY_SPECIFIER = /\bfrom\s*["']([^"'\n]+)["']|^\s*import\s*["']([^"'\n]+)["']|\bimport\(\s*["']([^"'\n]+)["']\s*\)/gm;
|
|
32
|
+
|
|
33
|
+
const packageOf = (specifier: string): string => {
|
|
34
|
+
const parts = specifier.split('/');
|
|
35
|
+
return (specifier.startsWith('@') ? parts.slice(0, 2).join('/') : parts[0]) ?? specifier;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/** Every package an entry's bundle names, static or dynamic, with all packages left external. */
|
|
39
|
+
function packagesReachedBy(entry: string, label: string): Set<string> {
|
|
40
|
+
const outdir = `${process.env.TMPDIR ?? '/tmp'}/cursedbelt-unpeered-scan-${process.pid}/${label}`;
|
|
41
|
+
rmSync(outdir, { recursive: true, force: true });
|
|
42
|
+
const build = Bun.spawnSync(['bun', 'build', entry, '--target=browser', '--packages=external', '--outdir', outdir], {
|
|
43
|
+
cwd: REPO,
|
|
44
|
+
stdout: 'pipe',
|
|
45
|
+
stderr: 'pipe',
|
|
46
|
+
});
|
|
47
|
+
const emitted = [...new Bun.Glob('**/*.js').scanSync({ cwd: outdir, onlyFiles: true })];
|
|
48
|
+
const bundle = emitted.map((f) => readFileSync(`${outdir}/${f}`, 'utf8')).join('\n');
|
|
49
|
+
if (build.exitCode !== 0 || bundle.trim() === '') {
|
|
50
|
+
throw new Error(`could not bundle ${entry} (exit ${build.exitCode}) — a check that cannot measure is not a passing check:\n${build.stderr.toString()}`);
|
|
51
|
+
}
|
|
52
|
+
const found = new Set<string>();
|
|
53
|
+
for (const m of bundle.matchAll(ANY_SPECIFIER)) {
|
|
54
|
+
const specifier = m[1] ?? m[2] ?? m[3];
|
|
55
|
+
if (specifier && !specifier.startsWith('.') && !specifier.startsWith('/')) found.add(packageOf(specifier));
|
|
56
|
+
}
|
|
57
|
+
return found;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
describe('unpeered packages stay off the cursedbelt/react barrel', () => {
|
|
61
|
+
it('🔴 the barrel names no unpeered package, even lazily', () => {
|
|
62
|
+
const source = (pkg.exports as Record<string, { source?: string }>)['./react']?.source;
|
|
63
|
+
expect(source, 'package.json has no ./react source entry').toBeString();
|
|
64
|
+
const reached = packagesReachedBy(`${REPO}${(source as string).slice(2)}`, 'barrel');
|
|
65
|
+
expect(reached.size, 'the scan found no packages at all — it is not measuring').toBeGreaterThan(0);
|
|
66
|
+
expect(
|
|
67
|
+
UNPEERED.filter((name) => reached.has(name)),
|
|
68
|
+
'the barrel imports an `unpeered` package. A consumer who did not install it cannot even BUILD: ' +
|
|
69
|
+
'Vite stubs only declared optional peers. Make it a declared optional peer, own the code, or ' +
|
|
70
|
+
'move the component to an opt-in subpath named in docs/API-REFERENCE.md.',
|
|
71
|
+
).toEqual([]);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('`unpeered.subpaths` names only real opt-in subpaths, never the barrel, and only unpeered packages', () => {
|
|
75
|
+
// `tools/proveInstall.ts` excuses a fresh-install bundle failure ONLY for these pairs.
|
|
76
|
+
const subpaths = (pkg as { unpeered?: { subpaths?: Record<string, string[]> } }).unpeered?.subpaths ?? {};
|
|
77
|
+
expect(Object.keys(subpaths)).not.toContain('./react');
|
|
78
|
+
for (const [subpath, names] of Object.entries(subpaths)) {
|
|
79
|
+
expect(Object.keys(pkg.exports), `${subpath} is not an export`).toContain(subpath);
|
|
80
|
+
expect(names.filter((n) => !UNPEERED.includes(n)), `${subpath} names a package that is not unpeered`).toEqual([]);
|
|
81
|
+
}
|
|
82
|
+
// And every unpeered package is needed by at least one named subpath — or it is not needed.
|
|
83
|
+
const named = new Set(Object.values(subpaths).flat());
|
|
84
|
+
expect(UNPEERED.filter((n) => !named.has(n))).toEqual([]);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it('the scan sees a lazy import — 5.0.0 reproduced, so this check can go red', () => {
|
|
88
|
+
const dir = `${process.env.TMPDIR ?? '/tmp'}/cursedbelt-unpeered-fixture-${process.pid}`;
|
|
89
|
+
mkdirSync(dir, { recursive: true });
|
|
90
|
+
const entry = `${dir}/lazy.ts`;
|
|
91
|
+
writeFileSync(entry, "export const Picker = () => import('@emoji-mart/react');\nexport const zod = () => import('@hookform/resolvers/zod');\n");
|
|
92
|
+
try {
|
|
93
|
+
const reached = packagesReachedBy(entry, 'fixture');
|
|
94
|
+
expect([...reached].sort()).toEqual(['@emoji-mart/react', '@hookform/resolvers']);
|
|
95
|
+
} finally {
|
|
96
|
+
rmSync(dir, { recursive: true, force: true });
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
package/src/verifyGraph.spec.ts
CHANGED
|
@@ -67,6 +67,17 @@ const MUST_RUN = [
|
|
|
67
67
|
// added, removing it argues with this list.
|
|
68
68
|
'typecheck:scripts',
|
|
69
69
|
'demo:check',
|
|
70
|
+
// 🔴 Added 2026-09-23 (task 102). `biome lint` was in no command at all — `done:serial`
|
|
71
|
+
// called a `lint` script that did not exist, so the 31 errors it would have shown sat
|
|
72
|
+
// unseen. They were cleared in the same landing (29 were in Tailwind's generated output,
|
|
73
|
+
// now excluded in `biome.jsonc`), so the stage landed green.
|
|
74
|
+
'lint',
|
|
75
|
+
// 🔴 Added 2026-09-23 with `no-raw-password` (task 077). This repo's own guardrails scan was
|
|
76
|
+
// in no command a gate ran, and it had been RED since task 269 gave every relative specifier
|
|
77
|
+
// its `.js`: `no-native-dialog` stopped recognising DeleteButton's `'../confirm.js'` import
|
|
78
|
+
// as the belt's own `confirm`. The rules this package ships to five apps were not being
|
|
79
|
+
// applied to the package itself.
|
|
80
|
+
'guardrails:report',
|
|
70
81
|
'styles',
|
|
71
82
|
'build',
|
|
72
83
|
'test',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateIndexView.d.ts","sourceRoot":"","sources":["../../../src/react/media/PrivateIndexView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAS5E,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,qBAmGrE"}
|