Skip to content

Commit 461dae1

Browse files
Jesus David García Gomezmolant
Jesus David García Gomez
authored andcommitted
Fix: Issues found runnins sonarwhal in sonarwhal.com/scanner
* Move 3rd party dependencies locally * Add `cache-control` where missing * Add `.eslintrc` file for web JS files - - - - - - - - - - - - - - - - - - - - - - - - - - Ref #434
1 parent 3d0abff commit 461dae1

File tree

11 files changed

+3604
-5722
lines changed

11 files changed

+3604
-5722
lines changed

gulpfile.js

+39-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
const path = require('path');
2+
const fs = require('fs');
3+
14
const gulp = require('gulp');
25
const plugins = require('gulp-load-plugins')();
36
const pump = require('pump');
@@ -247,10 +250,41 @@ gulp.task('generate-service-worker', (callback) => {
247250
}, callback);
248251
});
249252

253+
const transform = (jsonResult) => {
254+
const result = {};
255+
const entries = Object.entries(jsonResult);
256+
257+
for (const [key, value] of entries) {
258+
result[key.replace(`${dirs.tmp}/source`, '')] = value;
259+
}
260+
261+
return result;
262+
};
263+
250264
gulp.task('sri', () => {
251-
return gulp.src(`${dirs.dist}/**/*.html`)
252-
.pipe(plugins.sriHash())
253-
.pipe(gulp.dest(dirs.dist));
265+
return gulp.src(`${dirs.tmp}/source/**/*.{js,css}`)
266+
.pipe(plugins.sri({ algorithms: ['sha384'], transform }))
267+
.pipe(gulp.dest(dirs.tmp));
268+
});
269+
270+
let sriList;
271+
272+
const replaceSRI = (content) => {
273+
let result = content;
274+
275+
for (const [file, value] of Object.entries(sriList)) {
276+
result = result.replace(`${file}"`, `${file}" integrity="${value}" crossorigin="anonymous"`);
277+
}
278+
279+
return result;
280+
};
281+
282+
gulp.task('add-sri', () => {
283+
sriList = JSON.parse(fs.readFileSync(path.join(__dirname, dirs.tmp, 'sri.json'), 'utf8')); //eslint-disable-line no-sync
284+
285+
return gulp.src(`${dirs.tmp}/**/*.hbs`)
286+
.pipe(plugins.transform('utf8', replaceSRI))
287+
.pipe(gulp.dest(dirs.tmp));
254288
});
255289

256290
gulp.task('build', gulp.series(
@@ -267,9 +301,10 @@ gulp.task('build', gulp.series(
267301
'revfiles',
268302
'revreplace:content',
269303
'revreplace:theme',
304+
'sri',
305+
'add-sri',
270306
'build:hexo',
271307
'generate-service-worker',
272-
'sri',
273308
'compress:zopfli',
274309
'compress:brotli'
275310
));

helpers/update-content.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const categories = {};
2121

2222
const processRule = (rule, isSummary) => {
2323
const processedRule = {
24-
/*
24+
/*
2525
* For packages with multiple rules we have a summary
2626
* file with how to install and links to all the rules.
2727
* This property is used to not take into account in

0 commit comments

Comments
 (0)