You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

bare-union-bundle

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bare-union-bundle - npm Package Compare versions

Comparing version
1.0.0
to
1.0.1
+0
-1
index.js

@@ -89,3 +89,2 @@ const traverse = require('bare-module-traverse')

const p = url.pathname
console.log(p)
return b.read(p)

@@ -92,0 +91,0 @@ }

+1
-1
{
"name": "bare-union-bundle",
"version": "1.0.0",
"version": "1.0.1",
"description": "Union bundle",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -26,4 +26,64 @@ # bare-union-bundle

## API
#### `const b = new UnionBundle(bundles)`
Create a union of the `bundles`, an array of [Bundles](https://github.com/holepunchto/bare-bundle).
#### `const b = UnionBundle.require(files)`
Shortcut for creating a `UnionBundle` from file paths (`files`) automatically reading them as Bundles.
#### `const layer = await b.add(root, entrypoint, opts = {})`
Create a new layer bundle for an `entrypoint` skipping modules referenced in the existing bundles in the `UnionBundle`. `root` is a `URL` for the root of the `entrypoint`, aka it contains the `node_modules` directory where dependencies are installed.
`opts` includes:
```
{
skipModules: true // skip bundling dependencies in `node_modules` in `root`
}
```
A layer bundle can be loaded by creating the union with the previous layer bundles via the `UnionBundle` constructor and loading via the union's `load()`. For example:
```js
// Creating
const b = UnionBundle.require('./0.bundle', './1.bundle', './2.bundle')
const layer = b.add(new URL('file://root-of-project'), 'entrypoint.js')
await fs.writeFile('./3.bundle', layer.toBuffer())
// Loading
const b = UnionBundle.require('./0.bundle', './1.bundle', './2.bundle', './3.bundle')
const mod = b.load(new URL('file://root-of-project'), 'entrypoint.js')
```
#### `const bundle = b.checkout(index)`
Create a Bundle resolving all dependencies at the provided `index`.
Example:
```
const past = UnionBundle.require('./0.bundle', './1.bundle', './2.bundle')
const mod1 = past.checkout(1) // returns a resolved bundle combining `1.bundle` & `0.bundle`
```
#### `const mod = b.load(root, entrypoint, index, opts = {})`
Load `entrypoint` (relative to `root`) from the bundle at the provided checkout `index`.
`opts` includes:
```
{
cache: require.cache, // the module cache to load the entrypoint with
skipModules: true // skip loading dependencies from `node_modules` in bundle if they are in the cache
}
```
## License
Apache-2.0