0.1.0 • Published 9 years ago
gulp-chflags v0.1.0
gulp-chflags
Change permissions of Vinyl files
Install
$ npm install --save-dev gulp-chflags
Usage
var gulp = require('gulp');
var chmod = require('gulp-chflags');
gulp.task('default', function () {
return gulp.src('src/app.js')
.pipe(chflags(23))
.pipe(gulp.dest('dist'));
});
or
var gulp = require('gulp');
var chmod = require('gulp-chflags');
gulp.task('default', function () {
return gulp.src('src/app.js')
.pipe(chflags({
uchg: true,
uunlnk: true
}))
.pipe(gulp.dest('dist'));
});
API
chflags(mode)
mode
Type: number
, object
Can either be a chflags octal number or an object with the individual flags specified.
Values depends on the current file, but these are the possible keys:
{
hidden: true,
opaque: true,
nodump: true,
uappnd: true,
uappend: true,
uchg: true,
uchange: true,
uimmutable: true,
uunlnk: true,
uunlink: true,
arch: true,
archived: true,
sappnd: true,
sappend: true,
schg: true,
schange: true,
simmutable: true,
sunlnk: true,
sunlink: true
}
Tip
Combine it with gulp-filter to only change permissions on a subset of the files.
var gulp = require('gulp');
var gFilter = require('gulp-filter');
var chmod = require('gulp-chmod');
var filter = gFilter('src/cli.js');
gulp.task('default', function () {
return gulp.src('src/*.js')
// filter a subset of the files
.pipe(filter)
// make them immutable
.pipe(chflags({ uchg: true }))
// bring back the previously filtered out files
.pipe(filter.restore())
.pipe(gulp.dest('dist'));
});
0.1.0
9 years ago