Skip to content

Latest commit

 

History

History
46 lines (34 loc) · 1.32 KB

README.md

File metadata and controls

46 lines (34 loc) · 1.32 KB

Galactus

A JS implementation of prune --production

Installation

npm i --save-dev galactus

API

Class: DestroyerOfModules

import { DestroyerOfModules } from 'galactus';

// modulePath is the root folder of your module
const destroyer = new DestroyerOfModules({
  rootDirectory: __dirname,
  // Optionally provide your own walker from 'flora-colossus'
  walker: myWalker,
  // Optionally provide a method to override the default
  // keep or destroy test
  shouldKeepModuleTest: (module, isDepDep) => true,
});

destroyer.destroy()

Returns a Promise that resolves once the destruction is complete. By default it will destroy all dependencies that aren't required for production or optional dependencies. You can override this behavior by providing a shouldKeepModuleTest function in the constructor.

destroyer.collectKeptModules()

Returns a Promise of a ModuleMap (a Map of paths to Modules). The Promise resolves when the walker finishes walking the module tree. The ModuleMap only contains the Modules that would be kept by a call to destroy().

There is one optional keyword argument, relativePaths. By default, the paths in the ModuleMap are absolute. If relativePaths is true, they are relative to the rootDirectory specified in the constructor.