TS1354
TypeScriptERRORNotableSyntaxHIGH confidence

'readonly' type modifier is only permitted on array and tuple literal types.

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1354): 'readonly' type modifier is only permitted on array and tuple literal types.. This diagnostic is emitted by the TypeScript compiler when 'readonly' type modifier is only permitted on array and tuple literal types..

Why it happens
  1. 1Attempting to modify a property or variable declared as readonly
How to reproduce

TypeScript compiler reports TS1354 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1354
// 'readonly' type modifier is only permitted on array and tuple literal types.

expected output

error TS1354: 'readonly' type modifier is only permitted on array and tuple literal types.

Fix

Remove the readonly modifier or create a mutable copy

WHEN When you need to mutate a readonly property

Remove the readonly modifier or create a mutable copy
// Create a mutable copy
const mutable = { ...readonlyObject };
mutable.property = newValue;
// Or remove readonly from the type definition
type MyType = { property: string }; // not readonly

Why this works

readonly properties enforce immutability at the type level; create a copy to modify.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors