| @@ -1,6 +1,11 | |||||
| 1 | HISTORY |
|
1 | HISTORY | |
| 2 | ======= |
|
2 | ======= | |
| 3 |
|
3 | |||
|
|
4 | 1.2.17 | |||
|
|
5 | ------ | |||
|
|
6 | ||||
|
|
7 | Bug fixes | |||
|
|
8 | ||||
| 4 | 1.2.16 |
|
9 | 1.2.16 | |
| 5 | ------ |
|
10 | ------ | |
| 6 |
|
11 | |||
| @@ -1,15 +1,15 | |||||
| 1 | import { Uuid } from "../Uuid"; |
|
1 | import { Uuid } from "../Uuid"; | |
| 2 |
import { argumentNotEmptyString, getGlobal |
|
2 | import { argumentNotEmptyString, getGlobal } from "../safe"; | |
| 3 | import { TraceSource } from "../log/TraceSource"; |
|
3 | import { TraceSource } from "../log/TraceSource"; | |
| 4 | import m = require("module"); |
|
4 | import m = require("module"); | |
| 5 |
|
5 | |||
| 6 | const sandboxId = Uuid(); |
|
6 | const sandboxId = Uuid(); | |
| 7 | define(sandboxId, ["require"], r => r); |
|
7 | define(sandboxId, ["require"], r => r); | |
| 8 |
|
8 | |||
| 9 | // tslint:disable-next-line:no-var-requires |
|
9 | const globalRequire = getGlobal().require as Require || requirejs; | |
| 10 | const globalRequire = getGlobal().require as Require; |
|
|||
| 11 |
|
10 | |||
| 12 | const trace = TraceSource.get(m.id); |
|
11 | const trace = TraceSource.get(m.id); | |
|
|
12 | trace.debug("globalRequire = {0}", globalRequire); | |||
| 13 |
|
13 | |||
| 14 | class ModuleResolver { |
|
14 | class ModuleResolver { | |
| 15 | _base: string; |
|
15 | _base: string; | |
| @@ -36,6 +36,10 class ModuleResolver { | |||||
| 36 | export function makeResolver(moduleName: string, contextRequire: Require) { |
|
36 | export function makeResolver(moduleName: string, contextRequire: Require) { | |
| 37 | const base = moduleName && moduleName.split("/").slice(0, -1).join("/"); |
|
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 | return (id: string) => resolver.resolve(id); |
|
44 | return (id: string) => resolver.resolve(id); | |
| 41 | } |
|
45 | } | |
General Comments 0
You need to be logged in to leave comments.
Login now
