How can I grant write permission to index.html when entering js and css in gulp?

I use perforce to check the code on our private server, so after assembling the assembly (i.e. when index.html is read-only) my gulp task fails with the error below.

[INFO] [11:30:19] Error: EPERM: operation not permitted, open 'C:\MyProjectDir\index.html'

As soon as I select files or clear the read-only checkbox (using the window window), the gulp task succeeds. Is there a way to change this permission using the gulp task to avoid this manual intervention?

PS: I used chmod (777)

Gulp file (end part where injection is performed)

var gulp = require('gulp'),
    gutil = require('gulp-util'),
    uglify = require('gulp-uglify'),
    minify = require('gulp-minify-css'),
    concatVendor = require('gulp-concat-vendor'),
    concatCss = require('gulp-concat-css'),
    rev = require('gulp-rev'),
    clone = require('gulp-clone'),
    inject = require('gulp-inject'),
    del = require('del'),
    runSequence = require('run-sequence'),
    chmod = require('gulp-chmod'),
    series = require('stream-series'),
    ngAnnotate = require('gulp-ng-annotate'),
    rename = require("gulp-rename");
...
gulp.task('index', ['gulp-js-files', 'gulp-css-files'], function() {
    var target = gulp.src(mainIndexFile);
    return target.pipe(chmod(777)).pipe(inject(series(vendorCss, customCss, vendorJs), { ignorePath: ['MyProjectDir'], addRootSlash: false }))
        .pipe(gulp.dest(mainDestination));
});
...

Running cmd in admin mode

enter image description here

+4
source share
1 answer

gulp-exec, attrib -r, attrib +r ( ).

:

gulp.task('remove-readonly-attributes', function() {
    require("child_process").exec("attrib -r <dir-name>\*.* /s");
});
+4

Source: https://habr.com/ru/post/1650118/


All Articles