Reproduction: https://esbuild.github.io/try/#dAAwLjI1LjQALS1sb2FkZXI9dHMAbGV0IGRlY2xDYW5kaWRhdGU6IFtkZWNsYXJhdGlvbjogRGVjbGFyYXRpb24sIHJlYWRvbmx5PzogYm9vbGVhbl0gfCB1bmRlZmluZWQ
Discovered this quite randomly by having a tuple with a label of "readonly". Since tuple labels cannot have a modifier keyword of readonly, TypeScript thinks this is perfectly fine. (Basically, any valid object JS identifiers should be valid tuple labels AFAIK.) ESBuild, however, fails on this valid TS syntax.
Note, the ESBuild code should probably have tests for other keyword identifiers which are valid in a tuple.