{"id":13780238,"url":"https://github.com/ellerbrock/npm-tutorial","last_synced_at":"2026-04-13T05:35:18.931Z","repository":{"id":71785219,"uuid":"59518234","full_name":"ellerbrock/npm-tutorial","owner":"ellerbrock","description":":tada: Publishing NPM Packages for Developers","archived":false,"fork":false,"pushed_at":"2016-10-30T16:57:02.000Z","size":36,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-11T04:34:18.900Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ellerbrock.github.io/npm-tutorial","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ellerbrock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-23T21:04:22.000Z","updated_at":"2025-01-11T00:29:14.000Z","dependencies_parsed_at":"2023-06-02T06:00:21.502Z","dependency_job_id":null,"html_url":"https://github.com/ellerbrock/npm-tutorial","commit_stats":null,"previous_names":["ellerbrock/publishing-npm-packages"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ellerbrock/npm-tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Fnpm-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Fnpm-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Fnpm-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Fnpm-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ellerbrock","download_url":"https://codeload.github.com/ellerbrock/npm-tutorial/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Fnpm-tutorial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31741541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T05:13:27.074Z","status":"ssl_error","status_checked_at":"2026-04-13T05:13:25.150Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T18:01:13.654Z","updated_at":"2026-04-13T05:35:18.906Z","avatar_url":"https://github.com/ellerbrock.png","language":null,"funding_links":[],"categories":["Other Web Development Lists"],"sub_categories":[],"readme":"![logo](https://github.frapsoft.com/top/npm-logo.png)\n\n# npm Workflow\n## Development, Build and Deployment\n\n[![Javascript](https://badges.frapsoft.com/javascript/code/javascript.svg?v=101)](https://github.com/ellerbrock/javascript-badges/) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/ellerbrock/open-source-badge/) [![Gitter Chat](https://badges.gitter.im/frapsoft/frapsoft.svg)](https://gitter.im/frapsoft/frapsoft/)\n\n\n## Status\n\n[![Deadlink Test](https://travis-ci.org/ellerbrock/publishing-npm-packages.svg?branch=master)](https://travis-ci.org/ellerbrock/publishing-npm-packages) \n\n**Info:** Greeen Build Status means there should be no Deadlinks in this List.\u003cbr\u003e\nYou can find the Testfiles on [travis-deadlink-scanner](https://github.com/ellerbrock/travis-deadlink-scanner).\n\n\n## Resources\n\n-   [Node.js for Developers](https://github.com/ellerbrock/node.js-for-developers)\n-   [NPM Developer Guide](https://docs.npmjs.com/misc/developers)\n-   [Common.js Module Specs](http://www.commonjs.org/specs/modules/1.0/)\n-   [NPM Module Best Practices](https://github.com/mattdesl/module-best-practices)\n-   [Faster \u0026 Cleaner Module Workflow](https://mattdesl.svbtle.com/faster-and-cleaner-modules)\n-   [Getting Started with Node and NPM](https://github.com/Microsoft/nodejs-guidelines/blob/master/getting-started.md)\n-   [Writing cross-platform Node.js](http://shapeshed.com/writing-cross-platform-node/)\n-   [Choosing a licence for your Open Source Project](https://github.com/ellerbrock/tutorial-choosing-open-source-licence)\n-   [Awesome NPM](https://github.com/sindresorhus/awesome-npm)\n-   [Awesome Node.js](https://github.com/sindresorhus/awesome-nodejs)\n-   [Awesome TypeScript](https://github.com/ellerbrock/awesome-typescript)\n-   [10 Cool Things You Probably didn't realize npm could do](http://blog.izs.me/post/1675072029/10-cool-things-you-probably-didnt-realize-npm-could-do)\n-   [Semantic Versioning](http://semver.org/)\n-   [Creating and Publishing a Node.js Module](https://quickleft.com/blog/creating-and-publishing-a-node-js-module/)\n-   [Creating Node.js modules](https://docs.npmjs.com/getting-started/creating-node-modules)\n-   [How to write Node.js Modules](http://www.hacksparrow.com/how-to-write-node-js-modules.html)\n-   [module-generator](https://github.com/hughsk/module-generator)\n-   [npmignore](https://www.npmjs.com/package/npmignore)\n\n## Node.js Installation\n\n### nvm\n\nFor OS X and Linux User i recommend using the Node Version Manager [nvm](https://github.com/creationix/nvm).\n\n`curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash`  \n\n### OS X\n\nwith [curl](https://curl.haxx.se/)\n\n    curl http://npmjs.org/install.sh | sh\n\nor with [Homebrew](http://brew.sh/)\n\n    `brew update \u0026\u0026 brew install node`\n\nIf you want to choose [another node version](https://github.com/Homebrew/homebrew-versions) (in this example the long-term support for node 4) you can do so:\n\n    brew tap homebrew/versions\n    brew install homebrew/versions/node4-lts\n    brew link --overwrite node4-lts\n\n### Linux\n\n    curl http://npmjs.org/install.sh | sudo sh\n\nor on a apt based linux version via\n\n    apt-get update \u0026\u0026 apt-get install npm\n\n## Configuration\n\n    npm set init.author.name \"Your Name\"\n    npm set init.author.email \"you@example.com\"\n    npm set init.author.url \"http://yourblog.com\"\n\n    npm adduser\n\n\u003chttps://docs.npmjs.com/cli/adduser\u003e\n\nThen create a `package.json` and publish it:\n\n    cd /path/to/your-project\n    npm init\n\n    npm install -g pakmanager\n    # this shows you dependencies as you `require`d them\n\n    pakmanager deps\n    # now edit `package.json` and add any deps you forgot about\n\n    npm publish ./\n\n\u003chttps://docs.npmjs.com/files/package.json\u003e\n\n## User Managment\n\n\u003chttps://docs.npmjs.com/cli/owner\u003e\n\n-   `npm owner add username package` - add user to package  \n-   `npm owner rm username package` - remove user from package\n-   `npm owner ls username package` - list users from package\n\n## Beta and Release versions\n\nIf you don't want something to install by default\n\n`npm publish ./ --tag beta` \u003chttps://docs.npmjs.com/cli/publish\u003e\n\nIf you published a bugfix as v1.0.7 and need to set v1.1.3 back to latest\n\n\u003chttps://docs.npmjs.com/cli/publish\u003e\n\n    git checkout v1.0.7\n    npm publish ./\n\n    git checkout v1.1.3\n    npm tag foobar@1.1.3 latest\n\n\u003chttps://git-scm.com/docs/git-checkout\u003e\u003cbr\u003e\n\u003chttps://docs.npmjs.com/cli/publish\u003e\u003cbr\u003e\n\u003chttps://docs.npmjs.com/cli/tag\u003e\n\n## Remove a package from the registry\n\n`npm unpublish package`\n\nIts considered bad behavior to remove versions of a library others depending ong. A better way to is to mark the package as deprecated\n\n\u003chttps://docs.npmjs.com/cli/unpublish\u003e\n\n`npm deprecate package`\n\n\u003chttps://docs.npmjs.com/cli/deprecate\u003e\n\n\n### Social Media\n\n*Get the latest News about Web Development, Open Source, Tooling, Server \u0026 Security*\n\n[![Twitter](https://github.frapsoft.com/social/twitter.png)](https://twitter.com/frapsoft/)[![Facebook](https://github.frapsoft.com/social/facebook.png)](https://www.facebook.com/frapsoft/)[![Google+](https://github.frapsoft.com/social/google-plus.png)](https://plus.google.com/116540931335841862774)[![Gitter](https://github.frapsoft.com/social/gitter.png)](https://gitter.im/frapsoft/frapsoft/)[![Github](https://github.frapsoft.com/social/github.png)](https://github.com/ellerbrock/)\n\n\n### License \n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003e\n\nThis work by \u003ca xmlns:cc=\"http://creativecommons.org/ns#\" href=\"https://github.com/ellerbrock/\" property=\"cc:attributionName\" rel=\"cc:attributionURL\"\u003eMaik Ellerbrock\u003c/a\u003e is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution 4.0 International License\u003c/a\u003e.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellerbrock%2Fnpm-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fellerbrock%2Fnpm-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellerbrock%2Fnpm-tutorial/lists"}