1.1.4 • Published 10 months ago

node-module-collector v1.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

node-module-collector

This is a simple tool to collect all production node modules used in a project. It supports npm, yarn1, pnpm and yarn berry(with node-modules).

It is useful to collect all production node modules for a electron project, so that you can easily to package them into electron asar.

Design

  1. Get node modules tree from "npm list"(npm & yarn) or "pnpm list"
  2. Transform the tree to dependency graph
  3. Transform the graph to hoisted tree
  4. Hoisted tree to node modules array

Usage

import { getNodeModules } from 'node-module-collector'
const result = await getNodeModules(rootDir)

result is node modules array, like:

[
  {
    "name": "foo",
    "version": "1.0.0",
    "dir": "/path/fixtures/yarn-workspace-demo/node_modules/foo",
    "dependencies": [
      {
        "name": "ms",
        "version": "2.0.0",
        "dir": "/path/fixtures/yarn-workspace-demo/node_modules/ms"
      }
    ]
  },
  {
    "name": "ms",
    "version": "2.1.1",
    "dir": "/path/fixtures/yarn-workspace-demo/packages/test-app/node_modules/ms"
  }
]

Support

  • npm
  • pnpm
  • pnpm with hosited
  • yarn1
  • yarn berry(with node-modules)
1.1.4

10 months ago

1.1.3

10 months ago

1.1.2

10 months ago

1.1.1

10 months ago

1.1.0

10 months ago