The Liskov Substitution Principle (LSP) states that objects of a superclass should be replaceable with objects of a subclass without affecting program correctness. Subtypes must honor the contract defined by the base type.
In NestJS, LSP is foundational to the dependency injection system — any provider registered under an injection token must be substitutable for any other provider registered under the same token, enabling seamless swapping of implementations.