fixes, run build script in node 0.10 with babel-node (#12)
* fixes, run build script in node 0.10 with babel-node * try node
This commit is contained in:
@@ -8,7 +8,8 @@
|
||||
"transform-es2015-block-scoped-functions": {
|
||||
"chrome": 41,
|
||||
"firefox": 46,
|
||||
"safari": 10
|
||||
"safari": 10,
|
||||
"node": 4
|
||||
},
|
||||
"transform-es2015-block-scoping": {
|
||||
"chrome": 49,
|
||||
@@ -19,13 +20,15 @@
|
||||
"chrome": 46,
|
||||
"edge": 13,
|
||||
"firefox": 45,
|
||||
"safari": 10
|
||||
"safari": 10,
|
||||
"node": 5
|
||||
},
|
||||
"transform-es2015-computed-properties": {
|
||||
"chrome": 44,
|
||||
"edge": 12,
|
||||
"firefox": 34,
|
||||
"safari": 10
|
||||
"safari": 7,
|
||||
"node": 4
|
||||
},
|
||||
"check-es2015-constants": {
|
||||
"chrome": 49,
|
||||
@@ -34,12 +37,10 @@
|
||||
},
|
||||
"transform-es2015-destructuring": {
|
||||
"chrome": 51,
|
||||
"edge": 14,
|
||||
"safari": 10
|
||||
},
|
||||
"transform-es2015-for-of": {
|
||||
"chrome": 51,
|
||||
"edge": 14,
|
||||
"safari": 10
|
||||
},
|
||||
"transform-es2015-function-name": {
|
||||
@@ -49,13 +50,15 @@
|
||||
"transform-es2015-literals": {
|
||||
"chrome": 44,
|
||||
"edge": 12,
|
||||
"safari": 9
|
||||
"safari": 9,
|
||||
"node": 4
|
||||
},
|
||||
"transform-es2015-object-super": {
|
||||
"chrome": 46,
|
||||
"edge": 13,
|
||||
"firefox": 45,
|
||||
"safari": 10
|
||||
"safari": 10,
|
||||
"node": 5
|
||||
},
|
||||
"transform-es2015-parameters": {
|
||||
"chrome": 49,
|
||||
@@ -66,13 +69,15 @@
|
||||
"chrome": 43,
|
||||
"edge": 12,
|
||||
"firefox": 33,
|
||||
"safari": 9
|
||||
"safari": 9,
|
||||
"node": 4
|
||||
},
|
||||
"transform-es2015-spread": {
|
||||
"chrome": 46,
|
||||
"edge": 13,
|
||||
"firefox": 36,
|
||||
"safari": 10
|
||||
"safari": 10,
|
||||
"node": 5
|
||||
},
|
||||
"transform-es2015-sticky-regex": {
|
||||
"chrome": 49,
|
||||
@@ -84,13 +89,15 @@
|
||||
"chrome": 41,
|
||||
"edge": 13,
|
||||
"firefox": 34,
|
||||
"safari": 9
|
||||
"safari": 9,
|
||||
"node": 4
|
||||
},
|
||||
"transform-es2015-typeof-symbol": {
|
||||
"chrome": 38,
|
||||
"edge": 12,
|
||||
"firefox": 36,
|
||||
"safari": 9
|
||||
"safari": 9,
|
||||
"node": 0.12
|
||||
},
|
||||
"transform-es2015-unicode-regex": {
|
||||
"chrome": 50,
|
||||
@@ -108,7 +115,7 @@
|
||||
"edge": 14
|
||||
},
|
||||
"transform-async-to-generator": {
|
||||
"edge": 14
|
||||
"chrome": 55
|
||||
},
|
||||
"syntax-trailing-function-commas": {
|
||||
"edge": 14,
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
"repository": "https://github.com/babel/babel-preset-env",
|
||||
"main": "lib/index.js",
|
||||
"scripts": {
|
||||
"build": "npm run build-data && babel src -d lib",
|
||||
"build-data": "node ./scripts/build-data.js",
|
||||
"build": "babel src -d lib",
|
||||
"build-data": "babel-node ./scripts/build-data.js",
|
||||
"dev": "babel -w src -d lib",
|
||||
"lint": "eslint scripts src test",
|
||||
"fix": "eslint scripts src test --fix",
|
||||
|
||||
@@ -28,32 +28,66 @@ const environments = [
|
||||
"edge",
|
||||
"firefox",
|
||||
"safari",
|
||||
"node"
|
||||
];
|
||||
|
||||
const envMap = {
|
||||
safari51: "safari5",
|
||||
safari71_8: "safari7",
|
||||
chrome: "chrome19",
|
||||
chrome19dev: "chrome19",
|
||||
chrome21dev: "chrome21",
|
||||
firefox3_5: "firefox3",
|
||||
firefox3_6: "firefox3",
|
||||
node012: "node0.12",
|
||||
node64: "node6",
|
||||
node65: "node6.5"
|
||||
};
|
||||
|
||||
const getLowestImplementedVersion = ({ features }, env) => {
|
||||
let tests = flatten(compatibilityTests
|
||||
.filter((test) => features.indexOf(test.name) >= 0)
|
||||
.map((test) => {
|
||||
return test.subtests ?
|
||||
test.subtests.map((subtest) => subtest.res) :
|
||||
test.res;
|
||||
test.subtests.map((subtest) => ({
|
||||
name: `${test.name}/${subtest.name}`,
|
||||
res: subtest.res
|
||||
})) :
|
||||
{
|
||||
name: test.name,
|
||||
res: test.res
|
||||
};
|
||||
})
|
||||
);
|
||||
|
||||
const envVersions = versions.filter((version) => version.startsWith(env));
|
||||
let envTests = tests
|
||||
.map(({ res: test, name }, i) => {
|
||||
return Object.keys(test)
|
||||
.filter((t) => t.startsWith(env))
|
||||
// TODO: make flagged/etc an options
|
||||
.filter((test) => tests[i].res[test] === true || tests[i].res[test] === "strict")
|
||||
// normalize some keys
|
||||
.map((test) => envMap[test] || test)
|
||||
.filter((test) => !isNaN(parseInt(test.replace(env, ""))))
|
||||
.shift();
|
||||
});
|
||||
|
||||
for (let i = 0; i < envVersions.length; i++) {
|
||||
const version = envVersions[i];
|
||||
tests = tests.filter((test) =>
|
||||
test[version] !== true &&
|
||||
test[version] !== "strict"
|
||||
);
|
||||
if (tests.length === 0) {
|
||||
const number = parseInt(version.replace(env, ""), 10);
|
||||
return isFinite(number) ? number : null;
|
||||
}
|
||||
let envFiltered = envTests.filter((t) => t);
|
||||
if (envTests.length > envFiltered.length) {
|
||||
// envTests.forEach((test, i) => {
|
||||
// if (!test) {
|
||||
// // print unsupported features
|
||||
// if (env === 'node') {
|
||||
// console.log(`ENV(${env}): ${tests[i].name}`);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
|
||||
return envTests
|
||||
.map((str) => Number(str.replace(env, "")))
|
||||
.reduce((a, b) => { return (a < b) ? b : a; });
|
||||
};
|
||||
|
||||
const data = {};
|
||||
|
||||
Reference in New Issue
Block a user