grunt-publish

Automatically publish to NPM registry one or more modules

grunt-publish

Automatically publish to NPM registry one or more modules

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');

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/**/*']
        }
    },
});

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'
        ]
    }
},

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.

Type: boolean Default value: false

Will install module dependencies if set to true. Otherwise, it will only publish the module. For example:

publish: {
    main: {
        options: {
            installBefore: true
        },
        src: [
            'test/fixtures/aFolder/another-module',
            'test/fixtures/fake-module'
        ]
    }
},

Type: boolean Default value: false

Will force module dependencies reinstallation if set to true. This option is useless if installBefore is set to false. For example:

publish: {
    main: {
        options: {
            installBefore: true,
            forceInstall: true // will remove node_modules and reinstall all the dependencies 
        },
        src: [
            'test/fixtures/aFolder/another-module',
            'test/fixtures/fake-module'
        ]
    }
},

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.

(0.0.1)