Skip to content

Commit

Permalink
Merge pull request #137 from nebulon42/generate
Browse files Browse the repository at this point in the history
add generated index.js to version control
  • Loading branch information
nebulon42 authored May 31, 2017
2 parents 1f34bf7 + e9b9841 commit 426bb66
Show file tree
Hide file tree
Showing 5 changed files with 136 additions and 5 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
node_modules
npm-debug.log
index.js
7 changes: 6 additions & 1 deletion contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

We welcome contributions. Please provide pull requests and notify @springmeyer for review.

### Changing index.js

Do not change index.js directly as it is generated. Modify index._ instead and run
`node generate.js` instead. If the node binary is differently named on your operating
system (e.g. nodejs) use that instead.

### Releasing

1) Create a milestone for the upcoming release
Expand Down Expand Up @@ -50,4 +56,3 @@ NOTE: make sure your git checkout is clean first: `git status` should show no ch
```bash
npm publish
```

5 changes: 5 additions & 0 deletions index._
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/*
THIS FILE IS GENERATED PROGAMMATICALLY. DO NOT MODIFIY DIRECTLY.
Modify index._ instead and run node generate.js
*/

var path = require('path');
var semver = require('semver');

Expand Down
124 changes: 124 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
/*
THIS FILE IS GENERATED PROGAMMATICALLY. DO NOT MODIFIY DIRECTLY.
Modify index._ instead and run node generate.js
*/

var path = require('path');
var semver = require('semver');


var versions = [
'2.0.0',
'2.0.1',
'2.0.2',
'2.1.0',
'2.1.1',
'2.2.0',
'2.3.0',
'3.0.0',
'3.0.3',
'3.0.6'
];

// These older versions don't have the datasource info
var no_datasources = [
'2.0.0',
'2.0.1',
'2.0.2',
'2.1.0',
'2.1.1',
'2.2.0'
];
module.exports.versions = versions;
module.exports.latest = versions[versions.length - 1];

var getSatisfyingVersion = function (wanted) {
var version = semver.maxSatisfying(versions, wanted), parsed;
if (!version) {
try {
parsed = semver(wanted);
parsed.patch = 'x';
version = semver.maxSatisfying(versions, parsed.format());
} catch (err) {
version = null;
}
}
return version;
};

var loadBrowser = function (version) {
var versionRefs = {
'2.0.0': {
'ref': require('./2.0.0/reference.json'),
'datasources': null
},
'2.0.1': {
'ref': require('./2.0.1/reference.json'),
'datasources': null
},
'2.0.2': {
'ref': require('./2.0.2/reference.json'),
'datasources': null
},
'2.1.0': {
'ref': require('./2.1.0/reference.json'),
'datasources': null
},
'2.1.1': {
'ref': require('./2.1.1/reference.json'),
'datasources': null
},
'2.2.0': {
'ref': require('./2.2.0/reference.json'),
'datasources': null
},
'2.3.0': {
'ref': require('./2.3.0/reference.json'),
'datasources': require('./2.3.0/datasources.json').datasources
},
'3.0.0': {
'ref': require('./3.0.0/reference.json'),
'datasources': require('./3.0.0/datasources.json').datasources
},
'3.0.3': {
'ref': require('./3.0.3/reference.json'),
'datasources': require('./3.0.3/datasources.json').datasources
},
'3.0.6': {
'ref': require('./3.0.6/reference.json'),
'datasources': require('./3.0.6/datasources.json').datasources
}
};

var ref = versionRefs[version].ref;
if (no_datasources.indexOf(version) <= -1) {
ref.datasources = versionRefs[version].datasources;
}

return ref;
};

var load = function (version) {
var ref = require(path.join(__dirname, version, 'reference.json'));
if (no_datasources.indexOf(version) <= -1) {
ref.datasources = require(path.join(__dirname, version, 'datasources.json')).datasources;
}

return ref;
};

module.exports.load = function(wanted) {
var version = getSatisfyingVersion(wanted),
ref;
if (!version) {
throw new Error("Unknown mapnik-reference version: '" + wanted + "'");
}
if (process.browser) {
ref = loadBrowser(version);
}
else {
ref = load(version);
}

return ref;
}
4 changes: 1 addition & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@
"url": "git://github.com/mapnik/mapnik-reference.git"
},
"scripts": {
"test": "mocha -R spec --timeout 50000",
"prepublish": "node generate.js",
"postinstall": "node generate.js"
"test": "mocha -R spec --timeout 50000"
},
"devDependencies": {
"glob": "4.x",
Expand Down

0 comments on commit 426bb66

Please sign in to comment.