0.2.2 • Published 1 year 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 allpeerDependencies
are 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 = this
and useself
. - Prefer
function
over=>
. (Latter is OK for one-liners likex => x + 1
) - Prefer named exports over default exports, and avoid
*
imports. - Prefer
unknown
overany
. For return types, prefervoid
overunknown
. - Prefer
const
overlet
, 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
..else
overswitch
. (Latter is OK if eachcase
just returns.)
0.2.1
1 year ago
0.2.0
1 year ago
0.1.8
1 year ago
0.2.2
1 year ago
0.1.7
2 years ago
0.1.0
2 years ago
0.1.2
2 years ago
0.1.1
2 years ago
0.1.4
2 years ago
0.1.3
2 years ago
0.1.6
2 years ago
0.1.5
2 years ago
0.0.9
2 years ago
0.0.8
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.3
2 years ago
0.0.2
2 years ago
0.0.1
2 years ago
0.0.0
2 years ago