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

Include release package in npm registry #50

Closed
steveerfalot opened this issue Jul 11, 2016 · 3 comments
Closed

Include release package in npm registry #50

steveerfalot opened this issue Jul 11, 2016 · 3 comments

Comments

@steveerfalot
Copy link

I like that you include your source in your published npm package, but could you also include the same release files that you include in your bower package for those of us who no longer want to depend on bower?

I appreciate your consideration! Thanks!

@bendrucker
Copy link
Owner

Hi, I don't publish the release files to npm. Basically I was willing to publish build files to bower since it doesn't support deep dependencies. WIth npm I want people dynamically downloading the dependencies so when I (or another dev) release a bug fix on a dependency new downloads receive it automatically. Build files make extra work for me and eventually I intend to eliminate them entirely. When I do that I'll probably add a wzrd.in button and some instructions on how to download and save if desired.

@JWess
Copy link

JWess commented Sep 5, 2017

This basically means that anyone not using a module loader cannot use your npm package. I'm a little confused why this would be the case. An NPM package is for others to refer to and use/depend on. If you npm install angularjs, you don't end up with a bunch of source code. You get just a folder with a handful of files, including angular.js, angular.min.js, index.js, and package.json.

You said above that you want people dynamically downloading your new bug fixes as you release them, but this is not something that real life production systems want to happen. If I'm running an ecommerce site that depends on npm packages, I will likely be using npm-shrinkwrap so that I can be certain my production environment will be using the exact versions of npm packages (and their dependencies) that were tested all the way up the pipeline (dev, test, staging, etc.). I wouldn't want any of my dependencies to change without me choosing to update my package.json to point to the new version and then re-test before pushing to prod.

Please help me if I'm missing your point. I'm not trying to sound snooty, I'm just trying to understand why you wouldn't want to do this.

Repository owner locked and limited conversation to collaborators Sep 5, 2017
@bendrucker
Copy link
Owner

bendrucker commented Sep 5, 2017

Locking this because I'm not interested in a discussion but I can give you a quick answer:

This basically means that anyone not using a module loader cannot use your npm package

Not really, I'm just not concerned with people using npm without a module loader. npm is full of JavaScript packages meant to be used with require. Most of them need a module loader to be useful. Angular isn't composed of modules to begin with so they just chose to treat npm as a generic artifact store. This project is composed of true modules and so I want to use npm's dependency features.

I will likely be using npm-shrinkwrap

As you should be. People who install for the first time should get the latest version of dependencies. If I update a dependency I should not be obligated to run a build here to get that change out to users.

npm + bundler users get the best experience with full control over their modules (locked down if they want but with updates when they want). The release/ file is just there for novice users/simple projects.

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

No branches or pull requests

3 participants