##// END OF EJS Templates
fixed regression with requirejs loader
cin -
r73:e8c4a032c7bd v1.2.17 default
parent child
Show More
@@ -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, isNullOrEmptyString } from "../safe";
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 resolver = new ModuleResolver(contextRequire, base);
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