Merge remote-tracking branch 'origin/master' into RebeccaBranch

pull/2/head
Rebecca Hollis 5 years ago
commit 94b0bca777

@ -3,6 +3,8 @@ const del = require('del');
const ts = require('gulp-typescript');
const exec = require('child_process').exec;
const sass = require('gulp-sass');
const fs = require('fs');
const path = require('path');
sass.compiler = require('node-sass');
let tsSource = ts.createProject('tsconfig.json')
@ -11,19 +13,54 @@ function clean(cb) {
cb();
}
function validateConfigSources(cb) {
console.log("Validating source json files...");
let confBase = "src/assets/conf/";
let configsToCheck = ["resources-landing-page.json"];
for (let i = 0, l = configsToCheck.length; i < l; i++) {
let currConfig = configsToCheck[i];
let configContent = fs.readFileSync(path.join(confBase, currConfig));
let conf = JSON.parse(configContent.toString());
let keys = Object.keys(conf);
let fileSpecificRules = validationRules[currConfig];
for (let j = 0, m = keys.length; j < m; j++) {
let key = keys[i];
let content = conf[key];
let rules = fileSpecificRules[key];
let ruleKeys = Object.keys(rules);
for (let k = 0, n = ruleKeys.length; k < n; k++) {
let rule = ruleKeys[k];
let ruleValidator = rules[rule];
for (let x = 0, y = content.length; x < y; x++) {
let renderObj = content[x];
let ruleSubject = renderObj[rule];
let validResults = ruleValidator(ruleSubject, currConfig, rule);
if (null !== validResults) {
cb(validResults);
}
}
}
}
}
cb();
}
function conf() {
return src(['src/assets/**/*', '!src/assets/**/*.scss'], {base: 'src/assets'})
.pipe(dest('build/assets/'));
}
function style(){
function style() {
return src('node_modules/bootstrap/dist/css/bootstrap.css')
.pipe(dest('build/assets/pages/styles/'));
}
function scss(){
return src('src/assets/pages/styles/*.scss', )
function scss() {
return src('src/assets/pages/styles/*.scss',)
.pipe(sass.sync().on('error', sass.logError))
.on('error', () => {
process.exit(1)
})
.pipe(dest('build/assets/pages/styles/'));
}
@ -39,7 +76,10 @@ function pkg() {
function typescript() {
return tsSource.src()
.pipe(tsSource()).js
.pipe(tsSource()).on('error', () => {
process.exit(1)
})
.js
.pipe(dest('build/util/'));
}
@ -53,8 +93,26 @@ function dependencies(cb) {
});
}
let stringLengthRule = function (str, fileName, rulename) {
let maxLen = 124;
if (str.length > maxLen) {
return Error(`Content too long in ${fileName}:${rulename}! Expected maximum of ${maxLen} characters, got ${str.length} "${str}"`)
}
}
let validationRules = {
"resources-landing-page.json": {
"grid-container": {
"description": stringLengthRule
}
}
}
exports.clean = clean;
exports.default = series(conf, style, scss, root, pkg, typescript, dependencies);
exports.default = series(validateConfigSources, conf, style, scss, root, pkg, typescript, dependencies);
exports.runFast = series(conf, style, scss, root, pkg)
exports.runFast = series(validateConfigSources, conf, style, scss, root, pkg)

12
package-lock.json generated

@ -4582,9 +4582,9 @@
}
},
"mocha": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.0.tgz",
"integrity": "sha512-lEWEMq2LMfNJMKeuEwb5UELi+OgFDollXaytR5ggQcHpzG3NP/R7rvixAvF+9/lLsTWhWG+4yD2M70GsM06nxw==",
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz",
"integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==",
"dev": true,
"requires": {
"@ungap/promise-all-settled": "1.1.2",
@ -7844,9 +7844,9 @@
},
"dependencies": {
"camelcase": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.1.0.tgz",
"integrity": "sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
"integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
"dev": true
},
"decamelize": {

@ -56,8 +56,8 @@
"gulp-typescript": "^6.0.0-alpha.1",
"gulp-exec": "^5.0.0",
"del": "^6.0.0",
"chai": "^4.2.0",
"electron-mocha": "^9.3.1",
"chai": "^4.2.0",
"nyc": "^15.1.0",
"ts-node": "^9.0.0",
"check-for-leaks": "^1.2.1"

@ -1,8 +1,9 @@
const assert = require('assert');
describe('default', ()=>{
it('default-test', ()=>{
let res = 5+2;
assert.strictEqual(res, 7);
})
})
it('snippit', snippit)
})
function snippit(){
console.log("okay")
}
Loading…
Cancel
Save