Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Make two files instead of three

Open
#80 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript

Research direction

Start with the factor-bundle command shown in the issue and reproduce it using lib.js, main.js, and checkout.js. Trace how the command handles the shared and entry bundles; completion means generating the requested site and checkout bundles without requiring ./main or producing junk.js.

Written by the indexing model from the issue text.

Description

Hey!

I effectively want to split out part of a file, instead of splitting out the common parts of two files.

Currently I have bundle.js, which contains everything used on the site. There is some checkout specific logic there that I only want on the checkout, so I want to split that stuff out into bundle-checkout.js, but then run both bundle.js and bundle-checkout.js in the checkout.

With factor-bundle by default, I would be running these files on the main site:

  • bundle-common.js
  • bundle.js

And these on the checkout:

  • bundle-common.js
  • bundle.js
  • bundle-checkout.js

It's pointless for me to have both bundle-common.js and bundle.js!

The best solution I've found so far is to add require('./main') to the top of the input bundle-checkout.js, which would mean that bundle.js is effectively an empty file and I can include bundle-common.js by itself, but then that generates a junk file.


lib.js:

module.exports = 'lib';

main.js:

var lib = require('./lib');
console.log(lib);

checkout.js:

require('./main');
console.log('special checkout logic');

And then the command:

browserify main.js checkout.js -p [ factor-bundle -o junk.js -o bundle-checkout.js ] -o bundle.js

Is there any way to do this without the require('./main') and the useless junk.js file?

Thanks, and sorry for the long question! I'll turn this into an article once it's been figured out so that nobody asks it again :)

Dominant language
JavaScript
Stars
397
Forks
24
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from browserify/factor-bundle

All issues in browserify/factor-bundle

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.