summaryrefslogtreecommitdiff
path: root/desktop/node_modules/galactus/README.md
blob: c536e5cdc9b90dfb31c4ae82e49c08f2aa3cd400 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Galactus
-----------

> A JS implementation of `prune --production`

## Installation

```bash
npm i --save-dev galactus
```

## API

### Class: `DestroyerOfModules`

```js
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 `Module`s). The
`Promise` resolves when the walker finishes walking the module tree. The
`ModuleMap` only contains the `Module`s 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.