mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
var fs = require("fs");
|
|
var Module = require("module").Module;
|
|
var nodePath = require("path");
|
|
|
|
var oldResolveFilename = Module._resolveFilename;
|
|
|
|
var isDebug = require("../../env").isDebug;
|
|
|
|
var rootDir = nodePath.join(__dirname, "../../");
|
|
var markoDir = isDebug
|
|
? nodePath.join(rootDir, "src")
|
|
: nodePath.join(rootDir, "dist");
|
|
|
|
try {
|
|
var markoInstalledDir = nodePath.dirname(require.resolve("marko"));
|
|
if (fs.existsSync(markoInstalledDir)) {
|
|
fs.renameSync(
|
|
markoInstalledDir,
|
|
markoInstalledDir.replace("node_modules/marko", "node_modules/~marko"),
|
|
);
|
|
}
|
|
} catch (e) {
|
|
// ignore error
|
|
}
|
|
|
|
Module._resolveFilename = function (request, parent, isMain) {
|
|
if (request.charAt(0) !== "." && parent?.filename.startsWith(rootDir)) {
|
|
if (
|
|
request === "marko/components" ||
|
|
request === "marko/env" ||
|
|
request.startsWith("marko/dist/") ||
|
|
request.startsWith("marko/src/") ||
|
|
request.startsWith("marko/helpers/")
|
|
) {
|
|
request = nodePath.join(rootDir, request.substring("marko/".length));
|
|
} else if (request === "marko") {
|
|
request = rootDir;
|
|
} else if (
|
|
request !== "marko/package.json" &&
|
|
request.startsWith("marko/")
|
|
) {
|
|
request = nodePath.join(markoDir, request.substring("marko/".length));
|
|
}
|
|
}
|
|
|
|
return oldResolveFilename.call(this, request, parent, isMain);
|
|
};
|