Skip to content
This repository was archived by the owner on Jan 14, 2022. It is now read-only.

Commit d197b5b

Browse files
committed
Merge pull request #10 from am385/edgeExtensions
add support for edge extensions
2 parents dd360a3 + 88b3f28 commit d197b5b

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

lib/constants.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ module.exports = {
4040
BASE_MANIFEST_FORMAT: 'w3c',
4141
CHROME_MANIFEST_FORMAT: 'chromeos',
4242
FIREFOX_MANIFEST_FORMAT: 'firefox',
43-
WINDOWS10_MANIFEST_FORMAT: 'windows10',
43+
WINDOWS10_MANIFEST_FORMAT: 'windows10',
44+
EDGE_EXTENSION_FORMAT: 'edgeextension',
4445
validation: validationConstants
4546
};

lib/manifestTools/manifestValidator.js

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,18 @@ function runValidationRules(w3cManifestInfo, rules, callback) {
112112
function applyValidationRules(w3cManifestInfo, platformModules, platforms) {
113113

114114
var allResults = [];
115-
116-
// load and run validation rules for "all platforms"
117-
var validationRulesDir = path.join(__dirname, 'validationRules');
118-
return loadValidationRules(validationRulesDir).then(function (rules) {
119-
return runValidationRules(w3cManifestInfo, rules).then(function (results) {
120-
allResults.push.apply(allResults, results);
121-
});
122-
})
123-
.then(function () {
115+
116+
function validateAllPlatforms() {
117+
// load and run validation rules for "all platforms"
118+
var validationRulesDir = path.join(__dirname, 'validationRules');
119+
return loadValidationRules(validationRulesDir).then(function (rules) {
120+
return runValidationRules(w3cManifestInfo, rules).then(function (results) {
121+
allResults.push.apply(allResults, results);
122+
});
123+
})
124+
};
125+
126+
function validatePlatform() {
124127
// run platform-specific validation rules
125128
var platformTasks = platformModules.map(function (platform) {
126129
return platform.getValidationRules(platforms).then(function (rules) {
@@ -131,8 +134,17 @@ function applyValidationRules(w3cManifestInfo, platformModules, platforms) {
131134
});
132135

133136
return Q.allSettled(platformTasks);
134-
})
135-
.thenResolve(allResults);
137+
}
138+
139+
// Don't run the "All Platform" validattion for Edge Extensions since they are not w3c compliant
140+
if (platforms.length === 1 && platforms[0] === constants.EDGE_EXTENSION_FORMAT) {
141+
return validatePlatform()
142+
.thenResolve(allResults);
143+
} else {
144+
return validateAllPlatforms()
145+
.then(validatePlatform)
146+
.thenResolve(allResults);
147+
}
136148
}
137149

138150
function validateManifest(w3cManifestInfo, platforms, callback) {

0 commit comments

Comments
 (0)