8
0
Просмотр исходного кода

Added updating .jshintrc file.

Maksymilian Barnaś 9 лет назад
Родитель
Сommit
3b03537e81
1 измененных файлов с 31 добавлено и 2 удалено
  1. 31 2
      dev/tasks/exec/functions/remove-use-strict.js

+ 31 - 2
dev/tasks/exec/functions/remove-use-strict.js

@@ -8,6 +8,7 @@
 const gulp = require( 'gulp' );
 const gulp = require( 'gulp' );
 const path = require( 'path' );
 const path = require( 'path' );
 const replace = require( 'gulp-replace' );
 const replace = require( 'gulp-replace' );
+const mergeStream = require( 'merge-stream' );
 const filterGitignore = require( '../utils/filtergitignore' );
 const filterGitignore = require( '../utils/filtergitignore' );
 
 
 /**
 /**
@@ -21,8 +22,36 @@ const filterGitignore = require( '../utils/filtergitignore' );
  * @returns {Stream}
  * @returns {Stream}
  */
  */
 module.exports = function executeRemoveUseStrict( workdir ) {
 module.exports = function executeRemoveUseStrict( workdir ) {
-	const useStrictRegex = /^\s*'use strict';\s*$/gm;
+	return mergeStream(
+		updateJshintrc( workdir ),
+		removeUseStrict( workdir )
+	);
+};
+
+// Updates .jshintrc file's `strict` option with `implied` value.
+//
+// @param {String} workdir Path of directory to be processed.
+// @returns {Stream}
+function updateJshintrc( workdir ) {
+	const jshintrcPath = path.join( workdir, '.jshintrc' );
+	const strictRegex = /("strict":.*?").*?(".*)/;
+	const replaceWith = 'implied';
+
+	return gulp.src( jshintrcPath )
+		.pipe( replace(
+			strictRegex,
+			`$1${ replaceWith }$2`
+		) )
+		.pipe( gulp.dest( workdir ) );
+}
+
+// Removes `'use strict';` directive from project's source files. Omits files listed in `.gitignore`.
+//
+// @param {String} workdir Path of directory to be processed.
+// @returns {Stream}
+function removeUseStrict( workdir ) {
 	const glob = path.join( workdir, '**/*' );
 	const glob = path.join( workdir, '**/*' );
+	const useStrictRegex = /^\s*'use strict';\s*$/gm;
 
 
 	return gulp.src( glob )
 	return gulp.src( glob )
 		.pipe( filterGitignore() )
 		.pipe( filterGitignore() )
@@ -32,4 +61,4 @@ module.exports = function executeRemoveUseStrict( workdir ) {
 			{ skipBinary: true }
 			{ skipBinary: true }
 		) )
 		) )
 		.pipe( gulp.dest( workdir ) );
 		.pipe( gulp.dest( workdir ) );
-};
+}