asmcrypto / asmcrypto.js

JavaScript Cryptographic Library with performance in mind.
MIT License
659 stars 182 forks source link

Publishing on npm #95

Closed nhaesler closed 6 years ago

nhaesler commented 8 years ago

Could you please consider publishing this library on npm? More and more people are using npm as their front-end package manager. Thanks!

tanx commented 8 years ago

:+1: We are integrating your lib in OpenPGP.js and an npm release would be highly appreciated!

vibornoff commented 8 years ago

Quite convincing.

tanx commented 8 years ago

Hey @vibornoff thanks for the quick response and of course thanks for your awesome lib :)

If you need any help I can also do the initial publishing on npm and then add you as an owner. That way you only need to bump the version number in the package.json and do an npm publish when you want to push an update:

https://docs.npmjs.com/getting-started/publishing-npm-packages

It would probably make sense to rename the npm module asmcrypto in the package.json and start with semantic versioning starting with a 1.0.0 release:

https://docs.npmjs.com/getting-started/semantic-versioning

Also, since we use only AES-CFB and SHA hashes we would not use the prebuilt bundle but rather include those modules seperately. I'm not sure how to achieve that with your current build.

We use browserify which lets us require('./dep.js') dependancies seperately from our dependency tree. This is how we build a UMD module with just common.js syntax internally:

https://github.com/openpgpjs/openpgpjs/blob/master/Gruntfile.js#L16-L27

And this is our release script which automates builds, git tagging and publishing on npm:

https://github.com/openpgpjs/openpgpjs/blob/master/release.sh

If you like I can port some of these things in seperate pull requests for asmCrypto?

vibornoff commented 8 years ago

Take a look to https://www.npmjs.com/package/asmcrypto.js

Regarding prebuilt asmcrypto.js file, it is aimed to be a quick-start bundle with reasonable defaults. For your needs OFC you can build your own bundle with everything you need turned on and other stuff turned off, just take a look into Guntfile.js. Including modules directly is also a good way for experienced developers and projects like openpgpjs requiring tight integration w/ asmcrypto.

tanx commented 8 years ago

Thanks for publishing pn npm!

Yeah I took a look at the gruntfile and we currently build a minimal subset:

https://github.com/openpgpjs/asmcrypto-lite

Published on npm as asmcrypto-lite:

https://www.npmjs.com/package/asmcrypto-lite