Libraries
A list of recommended libraries for common patterns. Each library is tagged with use cases to make it easier to find the library that is best suited for your needs.
Choosing a library
Before using an external library to solve your problem, ask yourself the following questions:
- Do I need a library for this?
- Is this project actively maintained?
- Is the package keeping up to date?
✅ Preferred libraries
Use these libraries in your projects as you seem fit.
| Library name | Description | Tags |
|---|---|---|
| Angular Material CDK | A full featured CDK to help with many use cases. | ui |
| Day.js | Work with date, datetime, times, relative times | date |
| ESLint | Use ESLint to check and fix your codebase for code issues. | code-styles |
| Lodash | Many utility functions. Use the lodash-es version since that is tree-shakeable. | utilities |
| NgxTranslate | i18n, internationalization library for Angular | translations |
| Prettier | Make your code prettier. | code-styles |
| TypeScript ESLint | TypeScript version for ESLint. | code-styles |
| tRPC | End-to-end type-safe APIs for front-end projects | types |
| ts-essentials | Create type-safe code more easily with this helper library | types |
⚠️ Use with caution
Use these libraries with caution.
| Library name | Description | Tags |
|---|---|---|
| Tailwind CSS | Controversial, inconsistent, leads to unreadable and unmaintainable class name lists | translations |
| Underscore.js | Has some limitations working with multi-level arrays/objects. Prefer Lodash. | translations |
🚫 Never use
These libraries are deprecated, or otherwise unfit for usage.
| Library name | Description | Tags |
|---|---|---|
| Moment.js | Moment.js is a legacy project in maintenance mode. Use Day.js instead. | code-styles |
| TSLint | TSLint has been deprecated since 2019. Use ESLint instead. | code-styles |