Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

filter build directory from browserify output #149

Closed
wants to merge 1 commit into from

Conversation

ryancdotorg
Copy link

See

cdnjs/cdnjs#3039 cdnjs/cdnjs#3043

for why this is helpful.

@terinjokes
Copy link

If you use a recent version of browserify, you shouldn't have paths.

@ryancdotorg
Copy link
Author

Is 3.44.2 not recent?

@terinjokes
Copy link

I just ran the command here, and there's no build output path. Browserify replaced them with index numbers several months ago

@ryancdotorg
Copy link
Author

bitcoinjs-lib$ ./node_modules/.bin/browserify -v
3.44.2
bitcoinjs-lib$ ./node_modules/.bin/browserify ./src/index.js -s Bitcoin | grep ryanc | head -n1
}).call(this,_dereq_("/home/ryanc/code/bitcoinjs-lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})

I just did an rm -rf node_modules and npm install about an hour ago.

(edit: if I've somehow got something screwed up on my end, would love to know what/how to fix, I'm not super familiar with node)

@terinjokes
Copy link

Please update the dependencies and the script command like I stated on your other PR.

bitcoinjs-lib$ cat package.json|grep compile
    "compile": "browserify ./src/index.js -s Bitcoin | ./node_modules/.bin/uglifyjs > bitcoinjs-min.js"

bitcoinjs-lib$ npm run compile

> bitcoinjs-lib@0.2.0 compile /Users/terin/Development/bitcoinjs-lib
> browserify ./src/index.js -s Bitcoin | ./node_modules/.bin/uglifyjs > bitcoinjs-min.js

bitcoinjs-lib$ cat bitcoinjs-min.js|grep bitcoinjs

bitcoinjs-lib$

@ryancdotorg
Copy link
Author

That does not work for me.

bitcoinjs-lib$ cat package.json|grep compile
    "compile": "browserify ./src/index.js -s Bitcoin | ./node_modules/.bin/uglifyjs > bitcoinjs-min.js"
bitcoinjs-lib$ npm run compile

> bitcoinjs-lib@0.2.0 compile /home/ryanc/code/bitcoinjs-lib
> browserify ./src/index.js -s Bitcoin | ./node_modules/.bin/uglifyjs > bitcoinjs-min.js

bitcoinjs-lib$ grep -c bitcoinjs bitcoinjs-min.js 
3

@terinjokes
Copy link

Asking substack to figure out what we're doing wrong.

@ryancdotorg
Copy link
Author

one sec, forgot to update the dependencies, trying that.

Update: nope, that wasn't it. Just updated the dependency, did rm -rf node_modules and npm install and tried again, still has embedded paths.

@ryancdotorg
Copy link
Author

Is there maybe a config file somewhere that's changing the behavior?

http://stackoverflow.com/questions/21993073/browserify-with-paths-to-folders-in-my-system

@terinjokes
Copy link

According to substack, the issue might be due to dependency resolution. If one dependency resolves to a path different than the rest, commondir could resolve to "/" as the most common path, causing the issue described here.

Can you run without the uglify step and paste each match here?

I did a clean git, npm install, and ran npm run compile and had no paths in the output here.

@terinjokes
Copy link

Actually, can you search for each instance of _dereq_(, sorry.

@ryancdotorg
Copy link
Author

How about this?

$ ./node_modules/.bin/browserify ./src/index.js -s Bitcoin | fgrep '_dereq_('
var util = _dereq_('util/');
exports.isBuffer = _dereq_('./support/isBuffer');
exports.inherits = _dereq_('inherits');
}).call(this,_dereq_("/home/ryanc/code/bitcoinjs-lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
var base64 = _dereq_('base64-js')
var ieee754 = _dereq_('ieee754')
var Buffer = _dereq_('buffer').Buffer;
var Buffer = _dereq_('buffer').Buffer
var sha = _dereq_('./sha')
var sha256 = _dereq_('./sha256')
var rng = _dereq_('./rng')
var md5 = _dereq_('./md5')
var helpers = _dereq_('./helpers');
var helpers = _dereq_('./helpers');
var helpers = _dereq_('./helpers');
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./enc-base64"), _dereq_("./md5"), _dereq_("./evpkdf"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./sha1"), _dereq_("./hmac"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./sha256"), _dereq_("./hmac"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./x64-core"), _dereq_("./lib-typedarrays"), _dereq_("./enc-utf16"), _dereq_("./enc-base64"), _dereq_("./md5"), _dereq_("./sha1"), _dereq_("./sha256"), _dereq_("./sha224"), _dereq_("./sha512"), _dereq_("./sha384"), _dereq_("./sha3"), _dereq_("./ripemd160"), _dereq_("./hmac"), _dereq_("./pbkdf2"), _dereq_("./evpkdf"), _dereq_("./cipher-core"), _dereq_("./mode-cfb"), _dereq_("./mode-ctr"), _dereq_("./mode-ctr-gladman"), _dereq_("./mode-ofb"), _dereq_("./mode-ecb"), _dereq_("./pad-ansix923"), _dereq_("./pad-iso10126"), _dereq_("./pad-iso97971"), _dereq_("./pad-zeropadding"), _dereq_("./pad-nopadding"), _dereq_("./format-hex"), _dereq_("./aes"), _dereq_("./tripledes"), _dereq_("./rc4"), _dereq_("./rabbit"), _dereq_("./rabbit-legacy"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./sha1"), _dereq_("./hmac"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./enc-base64"), _dereq_("./md5"), _dereq_("./evpkdf"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./enc-base64"), _dereq_("./md5"), _dereq_("./evpkdf"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./enc-base64"), _dereq_("./md5"), _dereq_("./evpkdf"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./sha256"));
        module.exports = exports = factory(_dereq_("./core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./x64-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./x64-core"), _dereq_("./sha512"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./x64-core"));
        module.exports = exports = factory(_dereq_("./core"), _dereq_("./enc-base64"), _dereq_("./md5"), _dereq_("./evpkdf"), _dereq_("./cipher-core"));
        module.exports = exports = factory(_dereq_("./core"));
  var crypto = _dereq_('crypto')
}).call(this,_dereq_("/home/ryanc/code/bitcoinjs-lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))
var assert = _dereq_('assert')
var base58check = _dereq_('./base58check')
}).call(this,_dereq_("buffer").Buffer)
var BigInteger = _dereq_('./bigi')
}).call(this,_dereq_("buffer").Buffer)
var assert = _dereq_('assert')
var base58 = _dereq_('./base58')
var crypto = _dereq_('./crypto')
}).call(this,_dereq_("buffer").Buffer)
var assert = _dereq_('assert')
var BigInteger = _dereq_('bigi')
}).call(this,_dereq_("buffer").Buffer)
var Crypto = _dereq_('crypto-js')
}).call(this,_dereq_("buffer").Buffer)
var CryptoJS = _dereq_('crypto-js')
var crypto = _dereq_('crypto')
var convert = _dereq_('./convert')
}).call(this,_dereq_("buffer").Buffer)
var BigInteger = _dereq_('./bigi')
var BigInteger = _dereq_('./bigi')
var ECPointFp = _dereq_('./ec').ECPointFp
var convert = _dereq_('./convert')
var BigInteger = _dereq_('./bigi')
var ECPointFp = _dereq_('./ec').ECPointFp
}).call(this,_dereq_("buffer").Buffer)
var assert = _dereq_('assert')
var base58 = _dereq_('./base58')
var convert = _dereq_('./convert')
var Address = _dereq_('./address')
var BigInteger = _dereq_('./bigi')
var CJS = _dereq_('crypto-js')
var crypto = _dereq_('./crypto')
var ECKey = _dereq_('./eckey').ECKey
var ECPubKey = _dereq_('./eckey').ECPubKey
var Network = _dereq_('./network')
var sec = _dereq_('./sec')
}).call(this,_dereq_("buffer").Buffer)
var ec = _dereq_('./ec')
var Key = _dereq_('./eckey')
var T = _dereq_('./transaction')
  Address: _dereq_('./address'),
  base58: _dereq_('./base58'),
  base58check: _dereq_('./base58check'),
  BigInteger: _dereq_('./bigi'),
  convert: _dereq_('./convert'),
  crypto: _dereq_('./crypto'),
  ecdsa: _dereq_('./ecdsa'),
  Message: _dereq_('./message'),
  Opcode: _dereq_('./opcode'),
  HDWallet: _dereq_('./hdwallet'),
  Script: _dereq_('./script'),
  sec: _dereq_('./sec'),
  network: _dereq_('./network'),
  Wallet: _dereq_('./wallet')
var Address = _dereq_('./address')
var convert = _dereq_('./convert')
var crypto = _dereq_('./crypto')
var ecdsa = _dereq_('./ecdsa')
var ECPubKey = _dereq_('./eckey').ECPubKey
}).call(this,_dereq_("buffer").Buffer)
var assert = _dereq_('assert')
var Address = _dereq_('./address')
var crypto = _dereq_('./crypto')
var convert = _dereq_('./convert')
var Network = _dereq_('./network')
var Opcode = _dereq_('./opcode')
}).call(this,_dereq_("buffer").Buffer)
var BigInteger = _dereq_('./bigi')
var ECCurveFp = _dereq_('./ec')
var assert = _dereq_('assert')
var Address = _dereq_('./address')
var BigInteger = _dereq_('./bigi')
var Script = _dereq_('./script')
var convert = _dereq_('./convert')
var crypto = _dereq_('./crypto')
var ECKey = _dereq_('./eckey').ECKey
var ecdsa = _dereq_('./ecdsa')
var Network = _dereq_('./network')
var convert = _dereq_('./convert')
var Transaction = _dereq_('./transaction').Transaction
var HDNode = _dereq_('./hdwallet.js')
var rng = _dereq_('secure-random')
}).call(this,_dereq_("/home/ryanc/code/bitcoinjs-lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))

@pyramids
Copy link

The fact that @ryancdotorg has some of the arguments to _dereq_ being absolute paths cannot explain this issue. I had the same problem, but for me, the only absolute paths point to node modules under /usr/local/lib/ (abbreviated, full path is longer).

EDIT (2):
The (omitted) argument: The original problem was paths into our /home directories appearing in the build. These cannot come from these _dereq_ paths alone; but they may indirectly come from them if indeed the mere fact of having any absolute paths triggers inclusion of the build path.

EDIT:
However, I am also still running version 3.44.2 of browserify.

@terinjokes
Copy link

possibility fixed with browserify/insert-module-globals#31

@terinjokes
Copy link

@pyramids edit number 2 seems to describe the issue.

@pyramids
Copy link

@terinjokes yeah, my mistake, you described it well before but I guess I only started to understand whilst editing. Thanks.

@ryancdotorg
Copy link
Author

this seems to actually be caused by a bug in browserify, so closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants