Check plugin/built-in data on travis
This commit is contained in:
@@ -25,13 +25,16 @@ install:
|
||||
- $PKG_CMD install
|
||||
script:
|
||||
- 'if [ -n "${LINT-}" ]; then $PKG_CMD run lint ; fi'
|
||||
- 'if [ -z "${LINT-}" ]; then $PKG_CMD run test-ci ; fi'
|
||||
- 'if [ -n "${DATA_CHECK-}" ]; then $PKG_CMD run build-data -- --check ; fi'
|
||||
- 'if [ -z "${LINT-}" ] && [ -z "${DATA_CHECK-}" ]; then $PKG_CMD run test-ci ; fi'
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
- node_js: "node"
|
||||
env: LINT=true PKG_CMD="npm"
|
||||
- node_js: "node"
|
||||
env: DATA_CHECK=true PKG_CMD="npm"
|
||||
exclude:
|
||||
- node_js: "4"
|
||||
env: PKG_CMD="yarn"
|
||||
after_success: 'if [ -z "${LINT-}" ]; then npm run coverage-ci ; fi'
|
||||
after_success: 'if [ -z "${LINT-}" ] && [ -z "${DATA_CHECK-}" ]; then npm run coverage-ci ; fi'
|
||||
|
||||
@@ -5,6 +5,7 @@ const path = require("path");
|
||||
|
||||
const flatten = require("lodash/flatten");
|
||||
const flattenDeep = require("lodash/flattenDeep");
|
||||
const isEqual = require("lodash/isEqual");
|
||||
const mapValues = require("lodash/mapValues");
|
||||
const pluginFeatures = require("../data/plugin-features");
|
||||
const builtInFeatures = require("../data/built-in-features");
|
||||
@@ -197,12 +198,36 @@ const generateData = (environments, features) => {
|
||||
});
|
||||
};
|
||||
|
||||
const pluginsDataPath = path.join(__dirname, "../data/plugins.json");
|
||||
const builtInsDataPath = path.join(__dirname, "../data/built-ins.json");
|
||||
|
||||
const newPluginData = generateData(environments, pluginFeatures);
|
||||
const newBuiltInsData = generateData(environments, builtInFeatures);
|
||||
|
||||
if (process.argv[2] === "--check") {
|
||||
const currentPluginData = require(pluginsDataPath);
|
||||
const currentBuiltInsData = require(builtInsDataPath);
|
||||
|
||||
if (
|
||||
!isEqual(currentPluginData, newPluginData) ||
|
||||
!isEqual(currentBuiltInsData, newBuiltInsData)
|
||||
) {
|
||||
console.error(
|
||||
"The newly generated plugin/built-in data does not match the current " +
|
||||
"files. Re-run `npm run build-data`.",
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(__dirname, "../data/plugins.json"),
|
||||
JSON.stringify(generateData(environments, pluginFeatures), null, 2) + "\n",
|
||||
pluginsDataPath,
|
||||
JSON.stringify(newPluginData, null, 2) + "\n",
|
||||
);
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(__dirname, "../data/built-ins.json"),
|
||||
JSON.stringify(generateData(environments, builtInFeatures), null, 2) + "\n",
|
||||
builtInsDataPath,
|
||||
JSON.stringify(newBuiltInsData, null, 2) + "\n",
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user