Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

npm-cli-app

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

npm-cli-app

Creating and publishing cli apps with npm

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Creating and publishing cli apps with npm

  • Create project

    npm init
    
  • Create exectuable script

    mkdir bin
    
  • Create file cli.js

    module.exports = {  
    	run : (args) => {    
    		console.log("running command with ", args);  
    	}
    };
    
  • Create file bin/npm-cli-app.js

    #!/usr/bin/env node
    
    require('../cli').run(process.argv);
    
  • Run and check the script file

    node bin/npm-cli-app.js hello
    # running command with  [
    #   '/Users/me/.nvm/versions/node/v14.5.0/bin/node',
    #   '/Users/me/projects/npm-cli-app/bin/npm-cli-app.js',
    #   'hello'
    # ]
    
  • Update pakcage.json to include the bin file :

    "bin": {
    	"npm-cli-app": "bin/npm-cli-app.js"
    },
    
  • Install project locally for testing

    npm link
    # /Users/me/.nvm/versions/node/v14.5.0/bin/npm-cli-app -> /Users/me/.nvm/versions/node/v14.5.0/lib/node_modules/npm-cli-app/bin/npm-cli-app.js
    
    # /Users/me/.nvm/versions/node/v14.5.0/lib/node_modules/npm-cli-app -> /Users/me/projects/npm-cli-app
    
  • Now run and test your command :

    npm-cli-app hello
    
    # running command with  [
    #   '/Users/dawn/.nvm/versions/node/v14.5.0/bin/node',
    #   '/Users/dawn/.nvm/versions/node/v14.5.0/bin/npm-cli-app',
    #   'hello'
    # ]
    
  • Create file src/app.js

    module.exports = {
    	run : (parameters) => {
    		console.log("running app with : ", parameters)
    	}
    };
    
  • Update cli.js to run app and pass only user provided data

    const app = require('./src/app');
    
    module.exports = {  
    	run : (args) => {    
    		app.run(args.slice(2));
    	}
    };
    
  • Now run out comamnd again

    npm-cli-app hello
    
    # running app with :  [ 'hello' ]
    
  • publish to npm

    npm login 
    # Enter you username/password
    
    npm publish
    

Keywords

FAQs

Package last updated on 05 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc