| @@ -0,0 +1,46 | |||||
|
|
1 | import { Uuid } from "../Uuid"; | |||
|
|
2 | import { argumentNotEmptyString } from "../safe"; | |||
|
|
3 | import { TraceSource } from "../log/TraceSource"; | |||
|
|
4 | ||||
|
|
5 | export interface RequireFn { | |||
|
|
6 | (module: string): any; | |||
|
|
7 | (modules: string[], cb?: (...args: any[]) => any): void; | |||
|
|
8 | } | |||
|
|
9 | ||||
|
|
10 | declare const require: RequireFn; | |||
|
|
11 | ||||
|
|
12 | export const rjs = require; | |||
|
|
13 | ||||
|
|
14 | declare function define(name: string, modules: string[], cb?: (...args: any[]) => any, eb?: (e) => any): void; | |||
|
|
15 | declare function define(modules: string[], cb?: (...args: any[]) => any, eb?: (e) => any): void; | |||
|
|
16 | ||||
|
|
17 | interface RequireJsResolverParams { | |||
|
|
18 | contextRequire: RequireFn; | |||
|
|
19 | } | |||
|
|
20 | ||||
|
|
21 | const trace = TraceSource.get("@implab/core/di/RequireJsHelper"); | |||
|
|
22 | ||||
|
|
23 | export async function createContextRequire(moduleName: string): Promise<RequireFn> { | |||
|
|
24 | argumentNotEmptyString(moduleName, "moduleName"); | |||
|
|
25 | ||||
|
|
26 | const parts = moduleName.split("/"); | |||
|
|
27 | if (parts[0] === ".") | |||
|
|
28 | throw new Error("An absolute module path is required"); | |||
|
|
29 | ||||
|
|
30 | if (parts.length > 1) | |||
|
|
31 | parts.splice(-1, 1, Uuid()); | |||
|
|
32 | else | |||
|
|
33 | parts.push(Uuid()); | |||
|
|
34 | ||||
|
|
35 | const shim = parts.join("/"); | |||
|
|
36 | ||||
|
|
37 | trace.debug(`define shim ${shim}`); | |||
|
|
38 | ||||
|
|
39 | return new Promise<RequireFn>(fulfill => { | |||
|
|
40 | define(shim, ["require"], r => { | |||
|
|
41 | trace.debug("shim resolved"); | |||
|
|
42 | return r; | |||
|
|
43 | }); | |||
|
|
44 | require([shim], fulfill); | |||
|
|
45 | }); | |||
|
|
46 | } | |||
| @@ -12,10 +12,12 def distDir = "$packageDir/$platform" | |||||
| 12 | def testDir = "$packageDir/$platform" |
|
12 | def testDir = "$packageDir/$platform" | |
| 13 |
|
13 | |||
| 14 | task printVersion { |
|
14 | task printVersion { | |
|
|
15 | doLast { | |||
| 15 | println "version: $version" |
|
16 | println "version: $version" | |
| 16 | println "packageName: $packageName" |
|
17 | println "packageName: $packageName" | |
| 17 | println "platform: $platform" |
|
18 | println "platform: $platform" | |
| 18 | } |
|
19 | } | |
|
|
20 | } | |||
| 19 |
|
21 | |||
| 20 |
|
22 | |||
| 21 | task clean { |
|
23 | task clean { | |
| @@ -48,10 +50,14 task _legacyJs(type:Copy) { | |||||
| 48 |
|
50 | |||
| 49 | task _buildTs(dependsOn: _npmInstall, type:Exec) { |
|
51 | task _buildTs(dependsOn: _npmInstall, type:Exec) { | |
| 50 | inputs.dir('src/ts') |
|
52 | inputs.dir('src/ts') | |
| 51 | inputs.file('tsconfig.json') |
|
53 | inputs.file('src/tsconfig.json') | |
| 52 | outputs.dir(distDir) |
|
54 | outputs.dir(distDir) | |
| 53 |
|
55 | |||
| 54 |
commandLine 'node_modules/.bin/tsc', |
|
56 | commandLine 'node_modules/.bin/tsc', | |
|
|
57 | '-p', 'src/tsconfig.json', | |||
|
|
58 | '--outDir', distDir, | |||
|
|
59 | '--listFiles', | |||
|
|
60 | '--traceResolution' | |||
| 55 | } |
|
61 | } | |
| 56 |
|
62 | |||
| 57 | task _packageMeta(type: Copy) { |
|
63 | task _packageMeta(type: Copy) { | |
| @@ -84,7 +84,7 | |||||
| 84 | }, |
|
84 | }, | |
| 85 | "duplexer": { |
|
85 | "duplexer": { | |
| 86 | "version": "0.1.1", |
|
86 | "version": "0.1.1", | |
| 87 | "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", |
|
87 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", | |
| 88 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", |
|
88 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", | |
| 89 | "dev": true |
|
89 | "dev": true | |
| 90 | }, |
|
90 | }, | |
| @@ -129,7 +129,7 | |||||
| 129 | "dependencies": { |
|
129 | "dependencies": { | |
| 130 | "tape": { |
|
130 | "tape": { | |
| 131 | "version": "2.3.3", |
|
131 | "version": "2.3.3", | |
| 132 | "resolved": "http://registry.npmjs.org/tape/-/tape-2.3.3.tgz", |
|
132 | "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz", | |
| 133 | "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", |
|
133 | "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", | |
| 134 | "dev": true, |
|
134 | "dev": true, | |
| 135 | "requires": { |
|
135 | "requires": { | |
| @@ -289,7 +289,7 | |||||
| 289 | }, |
|
289 | }, | |
| 290 | "path-is-absolute": { |
|
290 | "path-is-absolute": { | |
| 291 | "version": "1.0.1", |
|
291 | "version": "1.0.1", | |
| 292 | "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |
|
292 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | |
| 293 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", |
|
293 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", | |
| 294 | "dev": true |
|
294 | "dev": true | |
| 295 | }, |
|
295 | }, | |
| @@ -301,7 +301,7 | |||||
| 301 | }, |
|
301 | }, | |
| 302 | "readable-stream": { |
|
302 | "readable-stream": { | |
| 303 | "version": "1.1.14", |
|
303 | "version": "1.1.14", | |
| 304 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", |
|
304 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | |
| 305 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", |
|
305 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | |
| 306 | "dev": true, |
|
306 | "dev": true, | |
| 307 | "requires": { |
|
307 | "requires": { | |
| @@ -354,7 +354,7 | |||||
| 354 | }, |
|
354 | }, | |
| 355 | "string_decoder": { |
|
355 | "string_decoder": { | |
| 356 | "version": "0.10.31", |
|
356 | "version": "0.10.31", | |
| 357 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", |
|
357 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", | |
| 358 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", |
|
358 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", | |
| 359 | "dev": true |
|
359 | "dev": true | |
| 360 | }, |
|
360 | }, | |
| @@ -411,13 +411,13 | |||||
| 411 | }, |
|
411 | }, | |
| 412 | "through": { |
|
412 | "through": { | |
| 413 | "version": "2.3.8", |
|
413 | "version": "2.3.8", | |
| 414 | "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", |
|
414 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", | |
| 415 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", |
|
415 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", | |
| 416 | "dev": true |
|
416 | "dev": true | |
| 417 | }, |
|
417 | }, | |
| 418 | "through2": { |
|
418 | "through2": { | |
| 419 | "version": "0.2.3", |
|
419 | "version": "0.2.3", | |
| 420 | "resolved": "http://registry.npmjs.org/through2/-/through2-0.2.3.tgz", |
|
420 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", | |
| 421 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", |
|
421 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", | |
| 422 | "dev": true, |
|
422 | "dev": true, | |
| 423 | "requires": { |
|
423 | "requires": { | |
| @@ -6,7 +6,9 | |||||
| 6 | // Copyright (c) 2010-2012 Robert Kieffer |
|
6 | // Copyright (c) 2010-2012 Robert Kieffer | |
| 7 | // MIT License - http://opensource.org/licenses/mit-license.php |
|
7 | // MIT License - http://opensource.org/licenses/mit-license.php | |
| 8 |
|
8 | |||
| 9 |
declare |
|
9 | declare const window: any; | |
|
|
10 | declare const require; | |||
|
|
11 | declare const Buffer; | |||
| 10 |
|
12 | |||
| 11 | const _window: any = "undefined" !== typeof window ? window : null; |
|
13 | const _window: any = "undefined" !== typeof window ? window : null; | |
| 12 |
|
14 | |||
| @@ -20,7 +20,7 import { Container } from "./Container"; | |||||
| 20 | import { ReferenceDescriptor } from "./ReferenceDescriptor"; |
|
20 | import { ReferenceDescriptor } from "./ReferenceDescriptor"; | |
| 21 | import { TypeServiceDescriptor } from "./TypeServiceDescriptor"; |
|
21 | import { TypeServiceDescriptor } from "./TypeServiceDescriptor"; | |
| 22 | import { FactoryServiceDescriptor } from "./FactoryServiceDescriptor"; |
|
22 | import { FactoryServiceDescriptor } from "./FactoryServiceDescriptor"; | |
| 23 | import { rjs, createContextRequire, RequireFn } from "./RequireJsHelper"; |
|
23 | import { rjs, createContextRequire, RequireFn } from "../../amd/ts/RequireJsHelper"; | |
| 24 | import { TraceSource } from "../log/TraceSource"; |
|
24 | import { TraceSource } from "../log/TraceSource"; | |
| 25 | import { ConfigError } from "./ConfigError"; |
|
25 | import { ConfigError } from "./ConfigError"; | |
| 26 | import { Cancellation } from "../Cancellation"; |
|
26 | import { Cancellation } from "../Cancellation"; | |
| @@ -7,10 +7,16 | |||||
| 7 | "lib": [ |
|
7 | "lib": [ | |
| 8 | "es5", |
|
8 | "es5", | |
| 9 | "es2015.promise", |
|
9 | "es2015.promise", | |
| 10 | "es2015.symbol" |
|
10 | "es2015.symbol", | |
| 11 |
|
|
11 | "dom" | |
|
|
12 | ], | |||
|
|
13 | "rootDirs": [ | |||
|
|
14 | "ts", | |||
|
|
15 | "amd/ts" | |||
|
|
16 | ], | |||
|
|
17 | "types": [] | |||
| 12 | }, |
|
18 | }, | |
| 13 | "include" : [ |
|
19 | "include" : [ | |
| 14 | "ts/**/*.ts" |
|
20 | "ts/**/*.ts", "amd/ts/**/*.ts" | |
| 15 | ] |
|
21 | ] | |
| 16 | } No newline at end of file |
|
22 | } | |
| 1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now
