Skip to content

joaovieira/grunt-publish

 
 

Repository files navigation

grunt-publish

Automatically publish to NPM registry one or more modules

Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-publish --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-publish');

The "publish" task

Overview

In your project's Gruntfile, add a section named publish to the data object passed into grunt.initConfig().

grunt.initConfig({
    publish: {
        main: {
            src: [
                'test/fixtures/aFolder/another-module',
                'test/fixtures/fake-module'
            ]
        },
        regex: {
            src: ['test/fixtures/**/*']
        }
    },
});

Options

options.ignore

Type: Array Default value: '['node_modules']'

An array containing different keywords that you want to ignore for publishing. For example:

publish: {
    main: {
        options: {
            ignore: ['node_modules', 'foo']
        },
        src: [
            'test/fixtures/aFolder/another-module',
            'test/fixtures/fake-module'
        ]
    }
},

options.registry

Type: String Default value: null (default npm registry)

Modify publishing registry For example:

publish: {
    main: {
        options: {
            registry: 'https://my-own-registry.foo'
        },
        src: [
            'test/fixtures/aFolder/another-module',
            'test/fixtures/fake-module'
        ]
    }
},

Will publish your module to the specified registry instead of registry.npmjs.org. If options.registry isn't specified, https://registry.npmjs.org is used.

options.auth

Type: Object Default value: {} (empty object)

Details of npm account to be used for publishing. The auth field must provide username, password and email values. If present, will authenticate before each module is published. If not present, will try to publish with currently authenticated user.

Example:

publish: {
  options: {
    auth: {
      username: process.env.NPM_USERNAME,
      password: process.env.NPM_PASSWORD,
      email: process.env.NPM_EMAIL
    }
  },
  main: {
    src: ...
  }
}

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

(0.0.1)

About

Automatically publish to NPM registry one or more modules

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%