| @@ -1,6 +1,11 | |||
|
|
1 | 1 | HISTORY |
|
|
2 | 2 | ======= |
|
|
3 | 3 | |
|
|
4 | 1.2.17 | |
|
|
5 | ------ | |
|
|
6 | ||
|
|
7 | Bug fixes | |
|
|
8 | ||
|
|
4 | 9 | 1.2.16 |
|
|
5 | 10 | ------ |
|
|
6 | 11 | |
| @@ -1,15 +1,15 | |||
|
|
1 | 1 | import { Uuid } from "../Uuid"; |
|
|
2 |
import { argumentNotEmptyString, getGlobal |
|
|
|
2 | import { argumentNotEmptyString, getGlobal } from "../safe"; | |
|
|
3 | 3 | import { TraceSource } from "../log/TraceSource"; |
|
|
4 | 4 | import m = require("module"); |
|
|
5 | 5 | |
|
|
6 | 6 | const sandboxId = Uuid(); |
|
|
7 | 7 | define(sandboxId, ["require"], r => r); |
|
|
8 | 8 | |
|
|
9 | // tslint:disable-next-line:no-var-requires | |
|
|
10 | const globalRequire = getGlobal().require as Require; | |
|
|
9 | const globalRequire = getGlobal().require as Require || requirejs; | |
|
|
11 | 10 | |
|
|
12 | 11 | const trace = TraceSource.get(m.id); |
|
|
12 | trace.debug("globalRequire = {0}", globalRequire); | |
|
|
13 | 13 | |
|
|
14 | 14 | class ModuleResolver { |
|
|
15 | 15 | _base: string; |
| @@ -36,6 +36,10 class ModuleResolver { | |||
|
|
36 | 36 | export function makeResolver(moduleName: string, contextRequire: Require) { |
|
|
37 | 37 | const base = moduleName && moduleName.split("/").slice(0, -1).join("/"); |
|
|
38 | 38 | |
|
|
39 |
const re |
|
|
|
39 | const req = contextRequire || globalRequire; | |
|
|
40 | if (!req) | |
|
|
41 | throw new Error("A global require isn't defined, the contextRequire parameter is mandatory"); | |
|
|
42 | ||
|
|
43 | const resolver = new ModuleResolver(req, base); | |
|
|
40 | 44 | return (id: string) => resolver.resolve(id); |
|
|
41 | 45 | } |
General Comments 0
You need to be logged in to leave comments.
Login now
