81 lines
1.7 KiB
JavaScript
81 lines
1.7 KiB
JavaScript
/**
|
|
* @fileoverview A script to export the known globals to a file.
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
// This is a non-production script.
|
|
/* eslint-disable no-console */
|
|
|
|
"use strict";
|
|
|
|
var fs = require("fs");
|
|
var path = require("path");
|
|
var helpers = require("../lib/helpers");
|
|
|
|
const eslintDir = path.join(helpers.rootDir, "tools", "lint", "eslint");
|
|
|
|
const globalsFile = path.join(
|
|
eslintDir,
|
|
"eslint-plugin-mozilla",
|
|
"lib",
|
|
"environments",
|
|
"saved-globals.json"
|
|
);
|
|
const rulesFile = path.join(
|
|
eslintDir,
|
|
"eslint-plugin-mozilla",
|
|
"lib",
|
|
"rules",
|
|
"saved-rules-data.json"
|
|
);
|
|
|
|
console.log("Copying services.json");
|
|
|
|
const env = helpers.getBuildEnvironment();
|
|
|
|
const servicesFile = path.join(
|
|
env.topobjdir,
|
|
"xpcom",
|
|
"components",
|
|
"services.json"
|
|
);
|
|
const shipServicesFile = path.join(
|
|
eslintDir,
|
|
"eslint-plugin-mozilla",
|
|
"lib",
|
|
"services.json"
|
|
);
|
|
|
|
fs.writeFileSync(shipServicesFile, fs.readFileSync(servicesFile));
|
|
|
|
console.log("Generating globals file");
|
|
|
|
// Export the environments.
|
|
let environmentGlobals = require("../lib/index.js").environments;
|
|
|
|
return fs.writeFile(
|
|
globalsFile,
|
|
JSON.stringify({ environments: environmentGlobals }),
|
|
err => {
|
|
if (err) {
|
|
console.error(err);
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log("Globals file generation complete");
|
|
|
|
console.log("Creating rules data file");
|
|
let rulesData = {};
|
|
|
|
return fs.writeFile(rulesFile, JSON.stringify({ rulesData }), err1 => {
|
|
if (err1) {
|
|
console.error(err1);
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log("Globals file generation complete");
|
|
});
|
|
}
|
|
);
|