diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..8bf96f5 --- /dev/null +++ b/.babelrc @@ -0,0 +1,9 @@ +{ + "presets": [ + ["env", { + "targets": { + "node": "4" + } + }] + ] +} diff --git a/.eslintignore b/.eslintignore index de153db..ca34586 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,2 @@ -artifacts +/artifacts +/semver-intersect.js diff --git a/.gitignore b/.gitignore index 1ec7489..22636fb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .nyc_output artifacts node_modules +semver-intersect.js diff --git a/.npmignore b/.npmignore index 2a5fcec..1de7a02 100644 --- a/.npmignore +++ b/.npmignore @@ -6,4 +6,5 @@ .nyc_output .travis.yml artifacts +src tests diff --git a/.travis.yml b/.travis.yml index 41480cd..c5eba4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ language: node_js node_js: - "node" + - 4 + - 6 + - 8 + - 9 diff --git a/README.md b/README.md index 4b05e34..b1e73e5 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,13 @@ Get the intersection of multiple semver ranges const { intersect } = require('semver-intersect'); // ^4.1.0 -intersect('^4.0.0', '^4.1.0'); +intersect('^4.0.0', '^4.1.0'); // ~4.3.0 -intersect('^4.0.0', '~4.3.0'); +intersect('^4.0.0', '~4.3.0'); // ~4.3.89 -intersect('^4.0.0', '~4.3.89', '~4.3.24', '~4.3.63'); +intersect('^4.0.0', '~4.3.89', '~4.3.24', '~4.3.63'); // throws "Range >=4.5.0 is not compatible with <4.4.0" intersect('^4.0.0', '~4.3.0', '^4.5.0') diff --git a/package.json b/package.json index 2e86abd..1c68609 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,9 @@ }, "description": "Get the intersection of multiple semver ranges", "devDependencies": { + "babel-cli": "^6.26.0", + "babel-preset-env": "^1.6.1", + "babel-register": "^6.26.0", "chai": "^4.0.0", "eslint": "^4.0.0", "jenkins-mocha": "^4.0.0" @@ -22,8 +25,11 @@ "url": "git@github.com:snyamathi/semver-intersect.git" }, "scripts": { + "build": "babel src -d .", "lint": "eslint .", - "test": "jenkins-mocha tests/unit --recursive" + "prepublish": "npm run build", + "pretest": "npm run build", + "test": "jenkins-mocha tests/unit --recursive --compilers js:babel-register" }, "version": "1.1.2" } diff --git a/semver-intersect.js b/src/semver-intersect.js similarity index 98% rename from semver-intersect.js rename to src/semver-intersect.js index a0868d9..12f09fa 100644 --- a/semver-intersect.js +++ b/src/semver-intersect.js @@ -132,7 +132,7 @@ function parseRange (range) { function union (a, b) { return b.reduce((result, value) => { - if (!result.includes(value)) { + if (result.indexOf(value) === -1) { result.push(value); } return result; diff --git a/tests/unit/semver-intersect.js b/tests/unit/semver-intersect.js index 5195982..e791c0f 100644 --- a/tests/unit/semver-intersect.js +++ b/tests/unit/semver-intersect.js @@ -1,5 +1,4 @@ const expect = require('chai').expect; -const semver = require('semver'); const { createShorthand, ensureCompatible,