The Standard Library that ought to exist for JavaScript/TypeScript.
JavaScript/TypeScript is missing a lot of fundamental, consistent tooling that other languages take for granted. This monorepo contains the core libraries that provide these essential tools:
- art-core-ts-types - Runtime typing: consistent way to identify types at runtime
- art-core-ts-containers - Containers and iteration
- Full comprehensions support (powerfully create new containers from other containers)
- Common container tools: merge, compact, flatten, compactFlatten...
- art-core-ts-json - JSON tooling and TypeScript types
- art-core-ts-string-case - String case conversion with proper acronym handling
- art-core-ts-time - Time and Date utilities
- Convert between string, integer and Date representations of dates seamlessly
- Time presenters: format-date, "time ago", "time duration"
- art-core-ts-comprehensions - Unified interface for working with arrays, objects, and other iterables
- art-core-ts-communication-status - A simple, consistent library for handling communication status in client-server applications.
- art-core-ts - A single package that imports all the above libraries. With tree-shaking support, only the portions you actually use will be included in your bundle.
- Node.js (v22 or higher)
- npm (v10 or higher)
# Install dependencies
npm install
# Build all packages
npm run build
# Run tests
npm testEach package in the packages/ directory is a standalone npm package that can be used independently. They are designed to work together seamlessly but can be used separately to minimize bundle size.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT