browserify / browserify/wzrd.in

Package multiple modules together

Open
#57 6 comments 0 reactions 0 assignees View on GitHub
help wanted nice-to-have
Dominant language
JavaScript
Stars
637
Forks
79
PR merge metrics
No merged PRs in 30d

Description

Would be nice if we could do something like:

```
//wzrd.in/bundle/query-engine@1.5.7/backbone@1.1.0
```

Which would permanently redirect to the alphabetically sorted URL:

```
//wzrd.in/bundle/backbone@1.1.0/query-engine@1.5.7
```

Which would then serve the combined package of those two modules, as if we did:

```
browserify -r backbone -r query-engine
```

This would be amazingly cool, as it would reduce duplication of modules that are included in separate packages, instead, all modules only get bundled once.

It'll also get super super cool when jQuery v2.1 is officially out with npm support. That way we could then do things like:

```
//wzrd.in/bundle/jquery@2.1.0/miniview@1.2.0/pointers@1.1.3
```

Of which, miniview and pointers both include this line in their source:

```
$ = @$ or window?.$ or (try require?('jquery'))
```

Allowing us to finally have a world where global dependencies are abolished!

---

Implementation wise, this seems like a nicer API for the `POST /multi` functionality: https://github.com/jesusabdullah/browserify-cdn#post-multi

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing POST /multi functionality referenced in the issue and trace how package names and versions are handled. Compare the requested bundle URL examples with the current API behavior; done means sorted multi-package URLs permanently redirect and serve one combined bundle without duplicate module packaging.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.