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

Commit a164873

Browse files
chore(GruntFile): move validate-angular-files task into its own file
Closes #13569
1 parent 420586b commit a164873

File tree

2 files changed

+58
-50
lines changed

2 files changed

+58
-50
lines changed

Gruntfile.js

-50
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ 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');
87
var e2e = require('./test/e2e/tools');
9-
var glob = require("glob");
108

119
module.exports = function(grunt) {
1210
//grunt plugins
@@ -341,55 +339,7 @@ module.exports = function(grunt) {
341339
grunt.task.run('shell:npm-install');
342340
}
343341

344-
grunt.registerTask('validate-angular-files', function() {
345-
var combinedFiles = Object.assign({}, files.angularModules);
346-
combinedFiles.ng = files.angularSrc;
347-
combinedFiles.angularLoader = files.angularLoader;
348342

349-
var errorsDetected = false;
350-
var directories = [];
351-
var detectedFiles = {
352-
"src/ng/rootElement.js": true
353-
};
354-
355-
for (var section in combinedFiles) {
356-
var sectionFiles = combinedFiles[section];
357-
358-
if (section != "angularLoader") {
359-
directories.push("src/" + section);
360-
}
361-
362-
console.log("Validating " + sectionFiles.length + " files from the \"" + section + "\" module");
363-
364-
sectionFiles.forEach(function(file) {
365-
detectedFiles[file] = true;
366-
367-
if (!fs.existsSync(file)) {
368-
grunt.log.error(file + " does not exist in the local file structure");
369-
errorsDetected = true;
370-
}
371-
});
372-
}
373-
374-
directories.forEach(function(directory) {
375-
glob.sync(directory + "/**/*").forEach(function(filePath) {
376-
if (!fs.lstatSync(filePath).isDirectory()) {
377-
var fileName = path.basename(filePath);
378-
var isHiddenFile = fileName[0] == ".";
379-
if (!isHiddenFile && !detectedFiles[filePath]) {
380-
grunt.log.error(filePath + " exists in the local file structure but isn't used by any module");
381-
errorsDetected = true;
382-
}
383-
}
384-
});
385-
});
386-
387-
if (errorsDetected) {
388-
throw new Error("Not all files were properly detected the local file structure");
389-
} else {
390-
console.log("All files were detected successfully!");
391-
}
392-
});
393343

394344
//alias tasks
395345
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

+58
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)