/* 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/>. */ /* globals process, __filename, __dirname */
/* Usage: node build.js [LIST_OF_SOURCE_FILES...] OUTPUT_DIR * Compiles all source files and places the results of the compilation in * OUTPUT_DIR.
*/
function transform(filePath) { // Use the extra plugins only for the debugger const plugins = filePath.includes("devtools/client/debugger")
? require("./build-debugger")(filePath)
: defaultPlugins;
const doc = fs.readFileSync(filePath, "utf8");
let out; try {
out = Babel.transform(doc, { plugins });
} catch (err) { thrownew Error(`
========================
NODE COMPILATION ERROR!
File: ${filePath}
Stack:
${err.stack}
========================
`);
}
return out.code;
}
// fs.mkdirSync's "recursive" option appears not to work, so I'm writing a // simple version of the function myself. function mkdirs(filePath) { if (fs.existsSync(filePath)) { return;
}
mkdirs(_path.dirname(filePath)); try {
fs.mkdirSync(filePath);
} catch (err) { // Ignore any errors resulting from the directory already existing. if (err.code != "EEXIST") { throw err;
}
}
}
for (let i = 2; i < process.argv.length - 1; i++) { const srcPath = process.argv[i]; const code = transform(srcPath); const fullPath = _path.join(outputDir, _path.basename(srcPath));
fs.writeFileSync(fullPath, code);
deps.push(srcPath);
}
// Print all dependencies prefixed with 'dep:' in order to help node.py, the script that // calls this module, to report back the precise list of all dependencies.
console.log(deps.map(file => "dep:" + file).join("\n"));
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.