/** * @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"); }); } );