From a4bd463e8dfd586ddabded039d5fb046a360fe6a Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 6 Apr 2018 13:20:45 +1000 Subject: [PATCH] Start setting up the build infrastructure --- travis.yml | 3 +++ validate.js | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 travis.yml create mode 100644 validate.js diff --git a/travis.yml b/travis.yml new file mode 100644 index 0000000..6b1b763 --- /dev/null +++ b/travis.yml @@ -0,0 +1,3 @@ +language: node_js +script: + - node validate.js \ No newline at end of file diff --git a/validate.js b/validate.js new file mode 100644 index 0000000..6c8b2ab --- /dev/null +++ b/validate.js @@ -0,0 +1,29 @@ +checkRegistry(source) { + guides = JSON.parse(source); + for (var i = 0; i < out.guides.length; i++) { + var g = out.guides[i]; + if (g['npm-name'] == null) + throw "A npm package name is required"; + if (g.name == null) + throw "A name is required for guide "+g['npm-name']; + if (g.category == null) + throw "A category is required for guide "+g.name; + if (g.description == null) + throw "A description is required for guide "+g.name; + if (g.authority == null) + throw "An authority is required for guide "+g.name; + if (g.country == null) + throw "A country is required for guide "+g.name; + } + for (var i1 = 0; i1 < out.guides.length; i1++) { + var g1 = out.guides[i1]; + for (var i2 = i1+1; i2 < out.guides.length; i2++) { + var g2 = out.guides[i2]; + if (g1.name = g2.name) + throw "The name '"+g1.name+"' is duplicated"; + if (g1['npm-name'] = g2['npm-name']) + throw "The package name '"+g1['npm-name']+"' is duplicated"; + } + } +} +