Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

gulp-chmod

2.0.0 • Public • Published

gulp-chmod Build Status

Change permissions of Vinyl files

Install

$ npm install --save-dev gulp-chmod

Usage

const gulp = require('gulp');
const chmod = require('gulp-chmod');
 
gulp.task('default', () =>
    gulp.src('src/app.js')
        .pipe(chmod(0o755))
        .pipe(gulp.dest('dist'))
);

or

const gulp = require('gulp');
const chmod = require('gulp-chmod');
 
gulp.task('default', () =>
    gulp.src('src/app.js')
        .pipe(chmod({
            owner: {
                read: true,
                write: true,
                execute: true
            },
            group: {
                execute: true
            },
            others: {
                execute: true
            }
        }))
        .pipe(gulp.dest('dist'))
);

API

chmod(mode, [dirMode])

mode

Type: number Object

Can either be a chmod octal number or an object with the individual permissions specified.

Values depends on the current file, but these are the possible keys:

{
    owner: {
        read: true,
        write: true,
        execute: true
    },
    group: {
        read: true,
        write: true,
        execute: true
    },
    others: {
        read: true,
        write: true,
        execute: true
    }
}

When read, write, and execute are same, you can simplify the object:

{
    read: true
}

Pass null to not set permissions on files. Useful if you only want to set permissions on directories.

dirMode

Type: true number Object

Same as mode, but applies to directories. Specify true to use the same value as mode.

Tip

Combine it with gulp-filter to only change permissions on a subset of the files.

const gulp = require('gulp');
const gFilter = require('gulp-filter');
const chmod = require('gulp-chmod');
 
const filter = gFilter('src/cli.js', {restore: true});
 
gulp.task('default', () =>
    gulp.src('src/*.js')
        // filter a subset of the files
        .pipe(filter)
        // make them executable
        .pipe(chmod(0o755))
        // bring back the previously filtered out files
        .pipe(filter.restore)
        .pipe(gulp.dest('dist'))
);

Related

License

MIT © Sindre Sorhus

install

npm i gulp-chmod

Downloadsweekly downloads

43,162

version

2.0.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability