What is this?
Normalizr is an open-source JavaScript library that normalizes nested JSON according to a schema you define: hand it a deeply nested API response and it returns a flat, normalized structure. It is typically used in React, Redux and Flux apps.
So is it a library I add to my code, or some hosted service?
A library, plain and simple: you install the npm package and call it on JSON objects inside your own code — there is no server or hosted API involved.
How do I add it to a project?
Install it from npm (npm install normalizr) and import it like any other JavaScript package.
Does it pull in a pile of other packages?
No — it has zero runtime dependencies, so you are bundling exactly one small library.
The repo is archived — is it still safe to build on?
It is officially unmaintained: no invested maintainer could be found. The README still says that if you need it, yes — it has been at a stable release for a very long time; for fixes or new features you would have to fork it.
Is it tied to React or Redux, or can I use it anywhere?
It is framework-agnostic plain JavaScript — React, Redux and Flux are just the ecosystem it is most associated with, not requirements.
Is it written in TypeScript?
No — it is plain JavaScript, with Flow used for type checking (the repo ships flow and flow:ci scripts).
What are similar projects?
immer, redux-form, zustand, nuqs, Recoil, PapaParse, redux-thunk, reselect
Which topics is it in?
flux, data-processing, schema, redux, no-dependencies, reactjs, state-management, npm-package, javascript-library, json, deprecated, react