Repository navigation
Commit ce5bf75
committed
ci: verify the packed package with publint, attw and size-limit
Replaces the bespoke 700-line release gate with off-the-shelf tooling,
keeping only the one check nothing off-the-shelf covers.
Two new jobs run against the packed tarball the publish job uploads
verbatim, so they check the exact bytes that ship:
Verify package publint --strict, attw, size-limit
Verify package loads entry-load.mjs on React 18 and 19
publint and attw cannot see the #759 class: their output is identical
across 4.2.3 through 4.2.6, because that regression was a require call
inlined into the body of a structurally valid ESM file. Loading the
package is the only thing that catches it, which is why entry-load.mjs
survives.
They do catch two live consumer-facing bugs the bespoke gate never did.
Published 4.2.6 gives TypeScript CJS consumers under node16 resolution
no type declarations at all, and the package declared no sideEffects.
Both are fixed here: types conditions on both exports branches, a
duplicated .d.cts, and sideEffects false.
Also repoints the size-limit config, which named TSDX-era filenames the
vite build stopped emitting, so npm run size was checking nothing.
publint runs with --strict because it exits 0 on warnings, and the
missing types condition is a warning. attw ignores
internal-resolution-error via .attw.json: the emitted .d.ts use
extensionless relative imports, which is a real pre-existing bug with
its own fix, and ignoring the one rule keeps every other resolution
check enforcing.
Addresses #765 items 1 to 5. Item 6 is #749 and lands separately.1 parent 67c6780 commit ce5bf75
7 files changed
Lines changed: 689 additions & 10 deletions
File tree
- .github/workflows
- scripts
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
26 | 42 | | |
27 | 43 | | |
28 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
49 | 111 | | |
50 | 112 | | |
51 | 113 | | |
| |||
116 | 178 | | |
117 | 179 | | |
118 | 180 | | |
119 | | - | |
| 181 | + | |
120 | 182 | | |
121 | 183 | | |
122 | 184 | | |
| |||
0 commit comments