28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
var path = require("path");
|
|
var fs = require("fs");
|
|
|
|
// We want to load Readability and JSDOMParser, which aren't set up as commonjs libraries,
|
|
// and so we need to do some hocus-pocus with 'vm' to import them on a separate scope
|
|
// (identical) scope context.
|
|
var vm = require("vm");
|
|
var readabilityPath = path.join(__dirname, "Readability.js");
|
|
var jsdomPath = path.join(__dirname, "JSDOMParser.js");
|
|
|
|
|
|
var scopeContext = {};
|
|
// We generally expect dump() and console.{whatever} to work, so make these available
|
|
// in the scope we're using:
|
|
scopeContext.dump = console.log
|
|
scopeContext.console = console;
|
|
|
|
// Actually load files. NB: if either of the files has parse errors,
|
|
// node is dumb and shows you a syntax error *at this callsite* . Don't try to find
|
|
// a syntax error on this line, there isn't one. Go look in the file it's loading instead.
|
|
vm.runInNewContext(fs.readFileSync(jsdomPath), scopeContext, jsdomPath);
|
|
vm.runInNewContext(fs.readFileSync(readabilityPath), scopeContext, readabilityPath);
|
|
|
|
module.exports = {
|
|
Readability: scopeContext.Readability,
|
|
JSDOMParser: scopeContext.JSDOMParser
|
|
};
|