0.2.2 • Published 3 years ago
monoduck v0.2.2
Monoduck
What is it?
- Monoduck is a Typescript-first, monolithic repository of subpackages.
- To avoid bloat, it has absolutely no
dependencies, and allpeerDependenciesare optional. - And to keep things tree-shakable, only named exports are used.
Production Readiness
- Monoduck is not generally ready for production use, but it's getting there.
- However, it should be stable enough for use in internal apps, and POCs.
What's included?
- Lookduck: React state manager with automatic dependency management for derived state.
- Tapiduck: End-to-end type-safe APIs with fullstack intillisense. Simple and restful-ish.
- Patchduck: TS-first, React-friendly utility for deep-patching (deep-spreading) objects.
- Utilduck: Commonly used, Underscore-style, typed utils like
_.map,_.deepClone, etc. - Sqlduck: A thin Sequelize wrapper. Plays well with Zod. Prioritizes simplicity & type-safety.
- Roqsduck: Intentionally simple, query-string based, client-side routing for React apps.
Code Style & Preferences
Monoduck uses ts-standard for code-styling and linting. This way, one needn't manually configure lint rules. The codebase also has a few additional conventions, listed below. While most of these conventions are not strict requirements, the codebase tries to follow all of them.
- Prefer functions over classes.
- Mildly prefer interfaces over types, but prefer types for functions.
- Avoid
this. If unavoidable, go withconst self = thisand useself. - Prefer
functionover=>. (Latter is OK for one-liners likex => x + 1) - Prefer named exports over default exports, and avoid
*imports. - Prefer
unknownoverany. For return types, prefervoidoverunknown. - Prefer
constoverlet, and don't usevar. - Bool vars should begin with
is,has, etc. (eg.isAdmin,hasAccess) - Functions that return bools should end with
is,has, etc. (eg.oddIs) - Strictly prefer
===over==. Never use==, not even== null. - Prefer
if..elseoverswitch. (Latter is OK if eachcasejust returns.)
0.2.1
3 years ago
0.2.0
3 years ago
0.1.8
3 years ago
0.2.2
3 years ago
0.1.7
3 years ago
0.1.0
4 years ago
0.1.2
4 years ago
0.1.1
4 years ago
0.1.4
4 years ago
0.1.3
4 years ago
0.1.6
4 years ago
0.1.5
4 years ago
0.0.9
4 years ago
0.0.8
4 years ago
0.0.7
4 years ago
0.0.6
4 years ago
0.0.5
4 years ago
0.0.4
4 years ago
0.0.3
4 years ago
0.0.2
4 years ago
0.0.1
4 years ago
0.0.0
4 years ago