When creating a react app via "npx create-react-app [app_name]" I noticed the console log something like [#############] idealTree:[package-name]... and then the same thing with "reify" instead of "idealTree". When I search what these terms mean I only see questions relating to package installations failing.
Asked
Active
Viewed 7,248 times
21
-
And you searched the web for... what terms? Because if I [google for this](https://www.google.com/search?q=npm+what+does+reify+mean), I find plenty of sites (and even other SO posts) that explain what those two terms mean. Also remember that npm itself is open source, and searching the repo for those two terms will give you quite a bit of solid clues to work with. – Mike 'Pomax' Kamermans Sep 16 '22 at 22:06
-
1I can't find anything about what "idealTree" or "reify" mean in regards to npm specifically. I am assuming "idealTree" is some kind of dependency graph and "reify" actually installs the dependencies in the graph. – Zakareya Alatoli Sep 16 '22 at 22:30
-
1If you don't want to go code/commit diving, then I'd recommend asking the npm folks to document what those mean in the official NPM docs, so that _everyone_ can learn about them in the most obvious spot. – Mike 'Pomax' Kamermans Sep 17 '22 at 00:20
-
Comments are used to ask for clarification or to point out problems in the post. Outdated comments may get deleted. – Crimson_Hawk Sep 23 '22 at 11:18
1 Answers
18
The idealTree
meaning is explained in the npm source code file validate-lockfile.js:
// compares the inventory of package items in the tree
// that is about to be installed (idealTree) with the inventory
// of items stored in the package-lock file (virtualTree)
An idealTree
is just the tree that is about to be installed.
In common language reify means:
make (something abstract) more concrete or real.
Reification is then the process or result of reifying.
In the context of npm, we can deduce the meaning from the npm source code file tree-types.md:
During reification, the
idealTree
is diffed against the actual tree, and then the nodes from the ideal tree are extracted onto disk.
In the context of npm, we can say that reify means making the idealTree concrete.

Ortomala Lokni
- 56,620
- 24
- 188
- 240
-
2This explains a lot, but why do they take so much time? It doesn't seem to me it'd need this huge amount to time to accomplish. – Nianyi Wang Jan 14 '23 at 03:02
-
3