Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 1346b0a

Browse files
chore(GruntFile): move validate-angular-files task into its own file
Closes #13569
1 parent 5fec3da commit 1346b0a

File tree

2 files changed

+58
-50
lines changed

2 files changed

+58
-50
lines changed

Gruntfile.js

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ var files = require('./angularFiles').files;
44
var util = require('./lib/grunt/utils.js');
55
var versionInfo = require('./lib/versions/version-info');
66
var path = require('path');
7-
var fs = require('fs');
8-
var glob = require("glob");
97

108
module.exports = function(grunt) {
119
//grunt plugins
@@ -295,55 +293,7 @@ module.exports = function(grunt) {
295293
});
296294

297295

298-
grunt.registerTask('validate-angular-files', function() {
299-
var combinedFiles = Object.assign({}, files.angularModules);
300-
combinedFiles.ng = files.angularSrc;
301-
combinedFiles.angularLoader = files.angularLoader;
302296

303-
var errorsDetected = false;
304-
var directories = [];
305-
var detectedFiles = {
306-
"src/ng/rootElement.js": true
307-
};
308-
309-
for (var section in combinedFiles) {
310-
var sectionFiles = combinedFiles[section];
311-
312-
if (section != "angularLoader") {
313-
directories.push("src/" + section);
314-
}
315-
316-
console.log("Validating " + sectionFiles.length + " files from the \"" + section + "\" module");
317-
318-
sectionFiles.forEach(function(file) {
319-
detectedFiles[file] = true;
320-
321-
if (!fs.existsSync(file)) {
322-
grunt.log.error(file + " does not exist in the local file structure");
323-
errorsDetected = true;
324-
}
325-
});
326-
}
327-
328-
directories.forEach(function(directory) {
329-
glob.sync(directory + "/**/*").forEach(function(filePath) {
330-
if (!fs.lstatSync(filePath).isDirectory()) {
331-
var fileName = path.basename(filePath);
332-
var isHiddenFile = fileName[0] == ".";
333-
if (!isHiddenFile && !detectedFiles[filePath]) {
334-
grunt.log.error(filePath + " exists in the local file structure but isn't used by any module");
335-
errorsDetected = true;
336-
}
337-
}
338-
});
339-
});
340-
341-
if (errorsDetected) {
342-
throw new Error("Not all files were properly detected the local file structure");
343-
} else {
344-
console.log("All files were detected successfully!");
345-
}
346-
});
347297

348298
//alias tasks
349299
grunt.registerTask('test', 'Run unit, docs and e2e tests with Karma', ['jshint', 'jscs', 'package','test:unit','test:promises-aplus', 'tests:docs', 'test:protractor']);

lib/grunt/validate-angular-files.js

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
'use strict';
2+
3+
var path = require('path');
4+
var fs = require('fs');
5+
var glob = require("glob");
6+
var _ = require('lodash');
7+
var files = require('../../angularFiles').files;
8+
9+
module.exports = function(grunt) {
10+
11+
grunt.registerTask('validate-angular-files', function() {
12+
var combinedFiles = _.clone(files.angularModules);
13+
combinedFiles.ng = files.angularSrc;
14+
combinedFiles.angularLoader = files.angularLoader;
15+
16+
var errorsDetected = false;
17+
var directories = [];
18+
var detectedFiles = {};
19+
20+
for (var section in combinedFiles) {
21+
var sectionFiles = combinedFiles[section];
22+
23+
if (section != 'angularLoader') {
24+
directories.push('src/' + section);
25+
}
26+
27+
grunt.log.debug('Validating ' + sectionFiles.length + ' files from the "' + section + '" module.');
28+
29+
sectionFiles.forEach(function(file) {
30+
detectedFiles[file] = true;
31+
32+
if (!fs.existsSync(file)) {
33+
grunt.log.error(file + ' does not exist in the local file structure.');
34+
errorsDetected = true;
35+
}
36+
});
37+
}
38+
39+
directories.forEach(function(directory) {
40+
glob.sync(directory + '/**/*').forEach(function(filePath) {
41+
if (!fs.lstatSync(filePath).isDirectory()) {
42+
var fileName = path.basename(filePath);
43+
var isHiddenFile = fileName[0] == '.';
44+
if (!isHiddenFile && !detectedFiles[filePath]) {
45+
grunt.log.error(filePath + ' exists in the local file structure but isn\'t used by any module.');
46+
errorsDetected = true;
47+
}
48+
}
49+
});
50+
});
51+
52+
if (errorsDetected) {
53+
throw new Error('Not all files were properly detected in the local file structure.');
54+
} else {
55+
grunt.log.ok('All files were detected successfully!');
56+
}
57+
});
58+
};

0 commit comments

Comments
 (0)