| @@ -0,0 +1,17 | |||
|
|
1 | <?xml version="1.0" encoding="UTF-8"?> | |
|
|
2 | <projectDescription> | |
|
|
3 | <name>core</name> | |
|
|
4 | <comment>Project implabjs-core created by Buildship.</comment> | |
|
|
5 | <projects> | |
|
|
6 | </projects> | |
|
|
7 | <buildSpec> | |
|
|
8 | <buildCommand> | |
|
|
9 | <name>org.eclipse.buildship.core.gradleprojectbuilder</name> | |
|
|
10 | <arguments> | |
|
|
11 | </arguments> | |
|
|
12 | </buildCommand> | |
|
|
13 | </buildSpec> | |
|
|
14 | <natures> | |
|
|
15 | <nature>org.eclipse.buildship.core.gradleprojectnature</nature> | |
|
|
16 | </natures> | |
|
|
17 | </projectDescription> | |
| @@ -0,0 +1,14 | |||
|
|
1 | { | |
|
|
2 | "version": "0.2.0", | |
|
|
3 | "configurations": [ | |
|
|
4 | { | |
|
|
5 | "name": "Launch browser tests", | |
|
|
6 | "type": "node", | |
|
|
7 | "request": "launch", | |
|
|
8 | "program": "${workspaceFolder}/build/test/tests/index.js", | |
|
|
9 | "cwd": "${workspaceFolder}/build/test", | |
|
|
10 | "sourceMaps": true, | |
|
|
11 | "preLaunchTask": "Build browser test" | |
|
|
12 | } | |
|
|
13 | ] | |
|
|
14 | } No newline at end of file | |
| @@ -0,0 +1,15 | |||
|
|
1 | { | |
|
|
2 | "version": "2.0.0", | |
|
|
3 | "command": "./gradlew", | |
|
|
4 | "type": "shell", | |
|
|
5 | "tasks": [ | |
|
|
6 | { | |
|
|
7 | "label": "Build browser test", | |
|
|
8 | "args": [ | |
|
|
9 | "assembleTest", | |
|
|
10 | "-Psymbols=local", | |
|
|
11 | "-Pflavour=browser" | |
|
|
12 | ] | |
|
|
13 | } | |
|
|
14 | ] | |
|
|
15 | } No newline at end of file | |
| @@ -0,0 +1,32 | |||
|
|
1 | package org.implab.gradle.hg; | |
|
|
2 | ||
|
|
3 | import org.gradle.api.Plugin; | |
|
|
4 | import org.gradle.api.Project; | |
|
|
5 | ||
|
|
6 | public class MercurialPlugin implements Plugin<Project> { | |
|
|
7 | public void apply(Project project) { | |
|
|
8 | if (!project.version) { | |
|
|
9 | ||
|
|
10 | def rev = ["hg", "log", "-r", ".", "--template", "{latesttag('re:^v') % '{tag}-{distance}'}"].execute().text.trim(); | |
|
|
11 | ||
|
|
12 | def tagVersion; | |
|
|
13 | def tagDistance; | |
|
|
14 | ||
|
|
15 | def match = (rev =~ /^v(\d+\.\d+\.\d+).*-(\d+)$/); | |
|
|
16 | ||
|
|
17 | if (match.size()) { | |
|
|
18 | tagVersion = match[0][1]; | |
|
|
19 | tagDistance = match[0][2].toInteger(); | |
|
|
20 | } else { | |
|
|
21 | throw new Exception("A version must be specied"); | |
|
|
22 | } | |
|
|
23 | ||
|
|
24 | project.version = tagVersion; | |
|
|
25 | ||
|
|
26 | if (tagDistance > 0) | |
|
|
27 | project.version++; | |
|
|
28 | } else { | |
|
|
29 | println "explicit version: $project.version"; | |
|
|
30 | } | |
|
|
31 | } | |
|
|
32 | } No newline at end of file | |
| @@ -0,0 +1,1 | |||
|
|
1 | implementation-class=org.implab.gradle.hg.MercurialPlugin No newline at end of file | |
| @@ -0,0 +1,54 | |||
|
|
1 | import { MockActivationController } from "../mock/MockActivationController"; | |
|
|
2 | import { SimpleActivatable } from "../mock/SimpleActivatable"; | |
|
|
3 | import { test } from "./TestTraits"; | |
|
|
4 | ||
|
|
5 | test("simple activation", async t => { | |
|
|
6 | ||
|
|
7 | const a = new SimpleActivatable(); | |
|
|
8 | t.false(a.isActive()); | |
|
|
9 | ||
|
|
10 | await a.activate(); | |
|
|
11 | t.true(a.isActive()); | |
|
|
12 | ||
|
|
13 | await a.deactivate(); | |
|
|
14 | t.false(a.isActive()); | |
|
|
15 | }); | |
|
|
16 | ||
|
|
17 | test("controller activation", async t => { | |
|
|
18 | ||
|
|
19 | const a = new SimpleActivatable(); | |
|
|
20 | const c = new MockActivationController(); | |
|
|
21 | ||
|
|
22 | t.false(a.isActive(), "the component is not active by default"); | |
|
|
23 | t.assert(c.getActive() == null, "the activation controller doesn't have an active component by default"); | |
|
|
24 | t.assert(a.getActivationController() == null, "the component doesn't have an activation controller by default"); | |
|
|
25 | ||
|
|
26 | t.comment("Active the component through the controller"); | |
|
|
27 | await c.activate(a); | |
|
|
28 | t.true(a.isActive(), "The component should successfully activate"); | |
|
|
29 | t.equal(c.getActive(), a, "The controller should point to the activated component"); | |
|
|
30 | t.equal(a.getActivationController(), c, "The component should point to the controller"); | |
|
|
31 | ||
|
|
32 | t.comment("Deactive the component throug the controller"); | |
|
|
33 | await c.deactivate(); | |
|
|
34 | ||
|
|
35 | t.false(a.isActive(), "The component should successfully deactivate"); | |
|
|
36 | t.equal(c.getActive(), null, "The controller shouldn't point to any component"); | |
|
|
37 | t.equal(a.getActivationController(), c, "The componet should point to it's controller"); | |
|
|
38 | }); | |
|
|
39 | ||
|
|
40 | test("handle error in onActivating", async t => { | |
|
|
41 | const a = new SimpleActivatable(); | |
|
|
42 | ||
|
|
43 | a.onActivating = async () => { | |
|
|
44 | throw new Error("Should fail"); | |
|
|
45 | }; | |
|
|
46 | ||
|
|
47 | try { | |
|
|
48 | await a.activate(); | |
|
|
49 | t.fail("activation should fail"); | |
|
|
50 | } catch { | |
|
|
51 | } | |
|
|
52 | ||
|
|
53 | t.false(a.isActive(), "the component should remain inactive"); | |
|
|
54 | }); | |
| @@ -0,0 +1,88 | |||
|
|
1 | import { Cancellation } from "../Cancellation"; | |
|
|
2 | import { delay } from "../safe"; | |
|
|
3 | import { test } from "./TestTraits"; | |
|
|
4 | ||
|
|
5 | test("standalone cancellation", async t => { | |
|
|
6 | ||
|
|
7 | let doCancel: (e) => void; | |
|
|
8 | ||
|
|
9 | const ct = new Cancellation(cancel => { | |
|
|
10 | doCancel = cancel; | |
|
|
11 | }); | |
|
|
12 | ||
|
|
13 | let counter = 0; | |
|
|
14 | const reason = "BILL"; | |
|
|
15 | ||
|
|
16 | t.true(ct.isSupported(), "Cancellation must be supported"); | |
|
|
17 | t.false(ct.isRequested(), "Cancellation shouldn't be requested"); | |
|
|
18 | ct.throwIfRequested(); | |
|
|
19 | t.pass("The exception shouldn't be thrown unless the cancellation is requested"); | |
|
|
20 | ||
|
|
21 | ct.register(() => counter++); | |
|
|
22 | t.equals(counter, 0, "counter should be zero"); | |
|
|
23 | ||
|
|
24 | ct.register(() => counter++).destroy(); | |
|
|
25 | ||
|
|
26 | doCancel(reason); | |
|
|
27 | ||
|
|
28 | t.true(ct.isRequested(), "Cancellation should be requested"); | |
|
|
29 | t.equals(counter, 1, "The registered callback should be triggered"); | |
|
|
30 | ||
|
|
31 | ct.register(() => counter++); | |
|
|
32 | t.equals(counter, 2, "The callback should be triggered immediately"); | |
|
|
33 | ||
|
|
34 | let msg; | |
|
|
35 | ct.register(e => msg = e); | |
|
|
36 | t.equals(msg, reason, "The cancellation reason should be passed to callback"); | |
|
|
37 | ||
|
|
38 | try { | |
|
|
39 | msg = null; | |
|
|
40 | ct.throwIfRequested(); | |
|
|
41 | t.fail("The exception should be thrown"); | |
|
|
42 | } catch (e) { | |
|
|
43 | msg = e; | |
|
|
44 | } | |
|
|
45 | t.equals(msg, reason, "The cancellation reason should be catched"); | |
|
|
46 | }); | |
|
|
47 | ||
|
|
48 | test("async cancellation", async t => { | |
|
|
49 | ||
|
|
50 | const ct = new Cancellation(cancel => { | |
|
|
51 | cancel("STOP!"); | |
|
|
52 | }); | |
|
|
53 | ||
|
|
54 | try { | |
|
|
55 | await delay(0, ct); | |
|
|
56 | t.fail("Should thow the exception"); | |
|
|
57 | } catch (e) { | |
|
|
58 | t.equals(e, "STOP!", "Should throw the cancellation reason"); | |
|
|
59 | } | |
|
|
60 | }); | |
|
|
61 | ||
|
|
62 | test("cancel with external event", async t => { | |
|
|
63 | const ct = new Cancellation(cancel => { | |
|
|
64 | setTimeout(x => cancel("STOP!"), 0); | |
|
|
65 | }); | |
|
|
66 | ||
|
|
67 | try { | |
|
|
68 | await delay(10000, ct); | |
|
|
69 | t.fail("Should thow the exception"); | |
|
|
70 | } catch (e) { | |
|
|
71 | t.equals(e, "STOP!", "Should throw the cancellation reason"); | |
|
|
72 | } | |
|
|
73 | }); | |
|
|
74 | ||
|
|
75 | test("operation normal flow", async t => { | |
|
|
76 | ||
|
|
77 | let htimeout; | |
|
|
78 | const ct = new Cancellation(cancel => { | |
|
|
79 | htimeout = setTimeout(() => cancel("STOP!"), 1000); | |
|
|
80 | }); | |
|
|
81 | ||
|
|
82 | try { | |
|
|
83 | await delay(0, ct); | |
|
|
84 | t.pass("Should pass"); | |
|
|
85 | } finally { | |
|
|
86 | clearTimeout(htimeout); | |
|
|
87 | } | |
|
|
88 | }); | |
| @@ -0,0 +1,93 | |||
|
|
1 | import { test } from "./TestTraits"; | |
|
|
2 | import { Container } from "../di/Container"; | |
|
|
3 | import { ReferenceDescriptor } from "../di/ReferenceDescriptor"; | |
|
|
4 | import { AggregateDescriptor } from "../di/AggregateDescriptor"; | |
|
|
5 | import { ValueDescriptor } from "../di/ValueDescriptor"; | |
|
|
6 | import { Foo } from "../mock/Foo"; | |
|
|
7 | import { Bar } from "../mock/Bar"; | |
|
|
8 | import { isNull } from "../safe"; | |
|
|
9 | ||
|
|
10 | test("Container register/resolve tests", async t => { | |
|
|
11 | const container = new Container(); | |
|
|
12 | ||
|
|
13 | const connection1 = "db://localhost"; | |
|
|
14 | ||
|
|
15 | t.throws( | |
|
|
16 | () => container.register("bla-bla", "bla-bla"), | |
|
|
17 | "Do not allow to register anything other than descriptors" | |
|
|
18 | ); | |
|
|
19 | ||
|
|
20 | t.doesNotThrow( | |
|
|
21 | () => container.register("connection", new ValueDescriptor(connection1)), | |
|
|
22 | "register ValueDescriptor" | |
|
|
23 | ); | |
|
|
24 | ||
|
|
25 | t.equals(container.resolve("connection"), connection1, "resolve string value"); | |
|
|
26 | ||
|
|
27 | t.doesNotThrow( | |
|
|
28 | () => container.register( | |
|
|
29 | "dbParams", | |
|
|
30 | new AggregateDescriptor({ | |
|
|
31 | timeout: 10, | |
|
|
32 | connection: new ReferenceDescriptor({ name: "connection" }) | |
|
|
33 | }) | |
|
|
34 | ), | |
|
|
35 | "register AggregateDescriptor" | |
|
|
36 | ); | |
|
|
37 | ||
|
|
38 | const dbParams = container.resolve("dbParams"); | |
|
|
39 | t.equals(dbParams.connection, connection1, "should get string value 'dbParams.connection'"); | |
|
|
40 | }); | |
|
|
41 | ||
|
|
42 | test("Container configure/resolve tests", async t => { | |
|
|
43 | ||
|
|
44 | const container = new Container(); | |
|
|
45 | ||
|
|
46 | await container.configure({ | |
|
|
47 | foo: { | |
|
|
48 | $type: Foo | |
|
|
49 | }, | |
|
|
50 | ||
|
|
51 | box: { | |
|
|
52 | $type: Bar, | |
|
|
53 | params: { | |
|
|
54 | $dependency: "foo" | |
|
|
55 | } | |
|
|
56 | }, | |
|
|
57 | ||
|
|
58 | bar: { | |
|
|
59 | $type: Bar, | |
|
|
60 | params: { | |
|
|
61 | db: { | |
|
|
62 | provider: { | |
|
|
63 | $dependency: "db" | |
|
|
64 | } | |
|
|
65 | } | |
|
|
66 | } | |
|
|
67 | } | |
|
|
68 | }); | |
|
|
69 | t.pass("should configure from js object"); | |
|
|
70 | ||
|
|
71 | const f1 = container.resolve("foo"); | |
|
|
72 | ||
|
|
73 | t.assert(!isNull(f1), "foo should be not null"); | |
|
|
74 | ||
|
|
75 | t.throws(() => container.resolve("bar"), "should not resolve dependency 'db'"); | |
|
|
76 | ||
|
|
77 | }); | |
|
|
78 | ||
|
|
79 | test("Load configuration from module", async t => { | |
|
|
80 | const container = new Container(); | |
|
|
81 | ||
|
|
82 | await container.configure("../mock/config1", { contextRequire: require }); | |
|
|
83 | t.pass("The configuration should load"); | |
|
|
84 | ||
|
|
85 | const f1 = container.resolve("foo"); | |
|
|
86 | ||
|
|
87 | t.assert(!isNull(f1), "foo should be not null"); | |
|
|
88 | ||
|
|
89 | const b1 = container.resolve("bar") as Bar; | |
|
|
90 | ||
|
|
91 | t.assert(!isNull(b1), "bar should not be null"); | |
|
|
92 | t.assert(!isNull(b1.foo), "bar.foo should not be null"); | |
|
|
93 | }); | |
| @@ -0,0 +1,69 | |||
|
|
1 | import { TraceSource } from "../log/TraceSource"; | |
|
|
2 | import { Observable } from "../Observable"; | |
|
|
3 | import { IObservable } from "../interfaces"; | |
|
|
4 | import { delay } from "../safe"; | |
|
|
5 | import { test } from "./TestTraits"; | |
|
|
6 | ||
|
|
7 | const trace = TraceSource.get("ObservableTests"); | |
|
|
8 | ||
|
|
9 | test("events sequence example", async t => { | |
|
|
10 | ||
|
|
11 | let events: IObservable<number>; | |
|
|
12 | ||
|
|
13 | const done = new Promise<void>(resolve => { | |
|
|
14 | events = new Observable<number>(async (notify, fail, finish) => { | |
|
|
15 | for (let i = 0; i < 10; i++) { | |
|
|
16 | await delay(0); | |
|
|
17 | notify(i); | |
|
|
18 | } | |
|
|
19 | finish(); | |
|
|
20 | resolve(); | |
|
|
21 | }); | |
|
|
22 | }); | |
|
|
23 | ||
|
|
24 | let count = 0; | |
|
|
25 | let complete = false; | |
|
|
26 | events.on(x => count = count + x, null, () => complete = true); | |
|
|
27 | ||
|
|
28 | const first = await events.next(); | |
|
|
29 | ||
|
|
30 | t.equals(first, 0, "the first event"); | |
|
|
31 | t.false(complete, "the sequence is not complete"); | |
|
|
32 | ||
|
|
33 | await done; | |
|
|
34 | ||
|
|
35 | t.equals(count, 45, "the summ of the evetns"); | |
|
|
36 | t.true(complete, "the sequence is complete"); | |
|
|
37 | }); | |
|
|
38 | ||
|
|
39 | test("event sequence termination", async t => { | |
|
|
40 | let events: IObservable<number>; | |
|
|
41 | ||
|
|
42 | const done = new Promise<void>(resolve => { | |
|
|
43 | events = new Observable<number>(async (notify, fail, complete) => { | |
|
|
44 | await delay(0); | |
|
|
45 | notify(1); | |
|
|
46 | complete(); | |
|
|
47 | notify(2); | |
|
|
48 | complete(); | |
|
|
49 | fail("Sequence terminated"); | |
|
|
50 | resolve(); | |
|
|
51 | }); | |
|
|
52 | }); | |
|
|
53 | ||
|
|
54 | let count = 0; | |
|
|
55 | events.on(() => {}, e => count++, () => count++); | |
|
|
56 | ||
|
|
57 | const first = await events.next(); | |
|
|
58 | t.equals(first, 1, "the first message"); | |
|
|
59 | try { | |
|
|
60 | await events.next(); | |
|
|
61 | t.fail("shoud throw an exception"); | |
|
|
62 | } catch (e) { | |
|
|
63 | t.pass("the sequence is terminated"); | |
|
|
64 | } | |
|
|
65 | ||
|
|
66 | await done; | |
|
|
67 | ||
|
|
68 | t.equals(count, 1, "the sequence must be terminated once"); | |
|
|
69 | }); | |
| @@ -0,0 +1,95 | |||
|
|
1 | import { Cancellation } from "../Cancellation"; | |
|
|
2 | import { first, isPromise, firstWhere, delay, nowait } from "../safe"; | |
|
|
3 | import { test } from "./TestTraits"; | |
|
|
4 | ||
|
|
5 | test("await delay test", async t => { | |
|
|
6 | // schedule delay | |
|
|
7 | let resolved = false; | |
|
|
8 | let res = delay(0).then(() => resolved = true); | |
|
|
9 | ||
|
|
10 | t.false(resolved, "the delay should be async"); | |
|
|
11 | ||
|
|
12 | await res; | |
|
|
13 | t.pass("await delay"); | |
|
|
14 | ||
|
|
15 | // create cancellation token | |
|
|
16 | let cancel: (e?: any) => void; | |
|
|
17 | const ct = new Cancellation(c => cancel = c); | |
|
|
18 | ||
|
|
19 | // schedule delay | |
|
|
20 | resolved = false; | |
|
|
21 | res = delay(0, ct).then(() => resolved = true); | |
|
|
22 | ||
|
|
23 | t.false(resolved, "created delay with ct"); | |
|
|
24 | ||
|
|
25 | // cancel | |
|
|
26 | cancel(); | |
|
|
27 | ||
|
|
28 | try { | |
|
|
29 | await res; | |
|
|
30 | t.fail("the delay should fail when it is cancelled"); | |
|
|
31 | } catch { | |
|
|
32 | t.pass("the delay is cancelled"); | |
|
|
33 | } | |
|
|
34 | ||
|
|
35 | t.throws(() => { | |
|
|
36 | // try schedule delay after the cancellation is requested | |
|
|
37 | nowait(delay(0, ct)); | |
|
|
38 | }, "Should throw if cancelled before start"); | |
|
|
39 | }); | |
|
|
40 | ||
|
|
41 | test("sequemce test", async t => { | |
|
|
42 | const sequence = ["a", "b", "c"]; | |
|
|
43 | const empty = []; | |
|
|
44 | ||
|
|
45 | // synchronous tests | |
|
|
46 | t.equals(first(sequence), "a", "Should return the first element"); | |
|
|
47 | t.equals(firstWhere(sequence, x => x === "b"), "b", "Should get the second element"); | |
|
|
48 | ||
|
|
49 | let v: string; | |
|
|
50 | let e: Error; | |
|
|
51 | first(sequence, x => v = x); | |
|
|
52 | t.equal(v, "a", "The callback should be called for the first element"); | |
|
|
53 | firstWhere(sequence, x => x === "b", x => v = x); | |
|
|
54 | t.equal(v, "b", "The callback should be called for the second element"); | |
|
|
55 | ||
|
|
56 | t.throws(() => { | |
|
|
57 | first(empty); | |
|
|
58 | }, "Should throw when the sequence is empty"); | |
|
|
59 | ||
|
|
60 | t.throws(() => { | |
|
|
61 | firstWhere(empty, x => x === "b"); | |
|
|
62 | }, "Should throw when the sequence is empty"); | |
|
|
63 | ||
|
|
64 | t.throws(() => { | |
|
|
65 | first(empty, x => v = x); | |
|
|
66 | }, "Should throw when the sequence is empty"); | |
|
|
67 | ||
|
|
68 | t.throws(() => { | |
|
|
69 | firstWhere(empty, x => x === "b", x => v = x); | |
|
|
70 | }, "Should throw when the sequence is empty"); | |
|
|
71 | ||
|
|
72 | t.throws(() => { | |
|
|
73 | firstWhere(sequence, x => x === "z"); | |
|
|
74 | }, "Should throw when the element isn't found"); | |
|
|
75 | ||
|
|
76 | t.throws(() => { | |
|
|
77 | firstWhere(sequence, x => x === "z", x => v = x); | |
|
|
78 | }, "Should throw when the element isn't found"); | |
|
|
79 | ||
|
|
80 | first(empty, null, x => e = x); | |
|
|
81 | t.true(e, "The errorback should be called for the empty sequence"); | |
|
|
82 | ||
|
|
83 | // async tests | |
|
|
84 | const asyncSequence = Promise.resolve(sequence); | |
|
|
85 | const asyncEmptySequence = Promise.resolve(empty); | |
|
|
86 | ||
|
|
87 | const promise = first(asyncSequence); | |
|
|
88 | t.true(isPromise(promise), "Should return promise"); | |
|
|
89 | ||
|
|
90 | v = await promise; | |
|
|
91 | t.equal(v, "a", "Should return the first element"); | |
|
|
92 | ||
|
|
93 | v = await new Promise(resolve => first(asyncSequence, resolve)); | |
|
|
94 | t.equal(v, "a", "The callback should be called for the first element"); | |
|
|
95 | }); | |
| @@ -0,0 +1,74 | |||
|
|
1 | import { IObservable, ICancellation, IDestroyable } from "../interfaces"; | |
|
|
2 | import { Cancellation } from "../Cancellation"; | |
|
|
3 | import { TraceEvent, LogLevel, WarnLevel, DebugLevel, TraceSource } from "../log/TraceSource"; | |
|
|
4 | import * as tape from "tape"; | |
|
|
5 | import { argumentNotNull, destroy } from "../safe"; | |
|
|
6 | ||
|
|
7 | export class TapeWriter implements IDestroyable { | |
|
|
8 | private readonly _tape: tape.Test; | |
|
|
9 | ||
|
|
10 | private readonly _subscriptions = new Array<IDestroyable>(); | |
|
|
11 | private _destroyed; | |
|
|
12 | ||
|
|
13 | constructor(t: tape.Test) { | |
|
|
14 | argumentNotNull(t, "tape"); | |
|
|
15 | this._tape = t; | |
|
|
16 | } | |
|
|
17 | ||
|
|
18 | writeEvents(source: IObservable<TraceEvent>, ct: ICancellation = Cancellation.none) { | |
|
|
19 | if (!this._destroyed) { | |
|
|
20 | const subscription = source.on(this.writeEvent.bind(this)); | |
|
|
21 | if (ct.isSupported()) { | |
|
|
22 | ct.register(subscription.destroy.bind(subscription)); | |
|
|
23 | } | |
|
|
24 | this._subscriptions.push(subscription); | |
|
|
25 | } | |
|
|
26 | } | |
|
|
27 | ||
|
|
28 | writeEvent(next: TraceEvent) { | |
|
|
29 | if (next.level >= DebugLevel) { | |
|
|
30 | this._tape.comment(`DEBUG ${next.source.id} ${next}`); | |
|
|
31 | } else if (next.level >= LogLevel) { | |
|
|
32 | this._tape.comment(`LOG ${next.source.id} ${next}`); | |
|
|
33 | } else if (next.level >= WarnLevel) { | |
|
|
34 | this._tape.comment(`WARN ${next.source.id} ${next}`); | |
|
|
35 | } else { | |
|
|
36 | this._tape.comment(`ERROR ${next.source.id} ${next}`); | |
|
|
37 | } | |
|
|
38 | } | |
|
|
39 | ||
|
|
40 | destroy() { | |
|
|
41 | this._subscriptions.forEach(destroy); | |
|
|
42 | } | |
|
|
43 | } | |
|
|
44 | ||
|
|
45 | export function test(name: string, cb: (t: tape.Test, trace: TraceSource) => any) { | |
|
|
46 | tape(name, async t => { | |
|
|
47 | const writer = new TapeWriter(t); | |
|
|
48 | ||
|
|
49 | // this trace is not announced through the TraceSource global registry | |
|
|
50 | const trace = new TraceSource(name); | |
|
|
51 | trace.level = DebugLevel; | |
|
|
52 | writer.writeEvents(trace.events); | |
|
|
53 | ||
|
|
54 | const h = TraceSource.on(ts => { | |
|
|
55 | ts.level = DebugLevel; | |
|
|
56 | writer.writeEvents(ts.events); | |
|
|
57 | }); | |
|
|
58 | ||
|
|
59 | try { | |
|
|
60 | await cb(t, trace); | |
|
|
61 | } catch (e) { | |
|
|
62 | ||
|
|
63 | // verbose error information | |
|
|
64 | // tslint:disable-next-line | |
|
|
65 | console.error(e); | |
|
|
66 | t.fail(e); | |
|
|
67 | ||
|
|
68 | } finally { | |
|
|
69 | t.end(); | |
|
|
70 | destroy(writer); | |
|
|
71 | destroy(h); | |
|
|
72 | } | |
|
|
73 | }); | |
|
|
74 | } | |
| @@ -0,0 +1,86 | |||
|
|
1 | import { StringBuilder } from "../text/StringBuilder"; | |
|
|
2 | import { test } from "./TestTraits"; | |
|
|
3 | import { MockConsole } from "../mock/MockConsole"; | |
|
|
4 | import { ConsoleWriter } from "../log/ConsoleWriter"; | |
|
|
5 | ||
|
|
6 | test("String builder", async t => { | |
|
|
7 | const sb = new StringBuilder(); | |
|
|
8 | ||
|
|
9 | sb.write("hello"); | |
|
|
10 | t.equals(sb.toString(), "hello", "Write simple text"); | |
|
|
11 | ||
|
|
12 | sb.write(", "); | |
|
|
13 | sb.write("world!"); | |
|
|
14 | t.equals(sb.toString(), "hello, world!", "Append text"); | |
|
|
15 | ||
|
|
16 | sb.clear(); | |
|
|
17 | t.equals(sb.toString(), "", "Clear"); | |
|
|
18 | ||
|
|
19 | sb.write(1); | |
|
|
20 | t.equals(sb.toString(), "1", "Write number"); | |
|
|
21 | ||
|
|
22 | sb.clear(); | |
|
|
23 | sb.writeValue(0.123); | |
|
|
24 | t.equals(sb.toString(), "0.123", "Format number"); | |
|
|
25 | ||
|
|
26 | sb.clear(); | |
|
|
27 | sb.writeValue(new Date("2019-01-02T00:00:00.000Z")); | |
|
|
28 | t.equals(sb.toString(), "2019-01-02T00:00:00.000Z", "Format date (ISO)"); | |
|
|
29 | ||
|
|
30 | sb.clear(); | |
|
|
31 | sb.write("{0}", "hello"); | |
|
|
32 | t.equals(sb.toString(), "hello", "Simple format text"); | |
|
|
33 | ||
|
|
34 | sb.write(", {0}!", "world"); | |
|
|
35 | t.equals(sb.toString(), "hello, world!", "Append formatted text"); | |
|
|
36 | ||
|
|
37 | sb.clear(); | |
|
|
38 | sb.write("abc: {0:json}; {0.length}; {0.1} {{olo}}", ["a", "b", "c"]); | |
|
|
39 | t.equals(sb.toString(), 'abc: [\n "a",\n "b",\n "c"\n]; 3; b {olo}', "Format string with spec"); | |
|
|
40 | ||
|
|
41 | sb.clear(); | |
|
|
42 | t.throws(() => sb.write("}", 0), "Should die on bad format: '}'"); | |
|
|
43 | t.throws(() => sb.write("{", 0), "Should die on bad format: '{'"); | |
|
|
44 | t.throws(() => sb.write("{}", 0), "Should die on bad format: '{}'"); | |
|
|
45 | t.throws(() => sb.write("{:}", 0), "Should die on bad format: '{:}'"); | |
|
|
46 | t.throws(() => sb.write("{{0}", 0), "Should die on bad format: '{{0}'"); | |
|
|
47 | ||
|
|
48 | }); | |
|
|
49 | ||
|
|
50 | test("ConsoleWriter", t => { | |
|
|
51 | const mockConsole = new MockConsole(); | |
|
|
52 | const writer = new ConsoleWriter(mockConsole); | |
|
|
53 | ||
|
|
54 | writer.setLogLevel("log"); | |
|
|
55 | ||
|
|
56 | writer.writeLine("Hello, world!"); | |
|
|
57 | ||
|
|
58 | t.equals(mockConsole.getBuffer().length, 1, "One line should be written"); | |
|
|
59 | t.equals(mockConsole.getBuffer()[0].level, "log", "LogLevel should be 'log'"); | |
|
|
60 | t.deepEqual(mockConsole.getBuffer()[0].data, ["Hello, world!"], "The buffer should contain single string"); | |
|
|
61 | ||
|
|
62 | mockConsole.clear(); | |
|
|
63 | writer.setLogLevel("debug"); | |
|
|
64 | writer.write("Bring "); | |
|
|
65 | writer.write("the {0}!", "light"); | |
|
|
66 | t.equals(mockConsole.getBuffer().length, 0, "No line should be written"); | |
|
|
67 | writer.writeLine(); | |
|
|
68 | ||
|
|
69 | t.equals(mockConsole.getBuffer().length, 1, "One line should be written"); | |
|
|
70 | t.equals(mockConsole.getBuffer()[0].level, "debug", "LogLevel should be 'log'"); | |
|
|
71 | t.deepEqual(mockConsole.getBuffer()[0].data, ["Bring the light!"], "Should concatenate string parts together"); | |
|
|
72 | ||
|
|
73 | mockConsole.clear(); | |
|
|
74 | writer.writeLine("It's {0} o'clock, lets have some {1}!", { h: 5}, { title: "tee" }); | |
|
|
75 | ||
|
|
76 | t.deepEqual(mockConsole.getBuffer()[0].data, ["It's ", { h: 5}, " o'clock, lets have some ", { title: "tee" }, "!"], "Non string parts should be psassed as is"); | |
|
|
77 | ||
|
|
78 | mockConsole.clear(); | |
|
|
79 | writer.writeLine("{0} or {1} to {2}", {i: 25}, 6, 4); | |
|
|
80 | t.deepEqual(mockConsole.getBuffer()[0].data, [{i: 25}, " or 6 to 4"], "25 or 6 to 4"); | |
|
|
81 | ||
|
|
82 | mockConsole.clear(); | |
|
|
83 | writer.writeLine("{0} or {1} to {2}! Let's have some {3}", 25, 6, 4, { product: "tee" } ); | |
|
|
84 | t.deepEqual(mockConsole.getBuffer()[0].data, ["25 or 6 to 4! Let's have some ", { product: "tee" }], "Should handle many text chunks and object at the end"); | |
|
|
85 | ||
|
|
86 | }); | |
| @@ -0,0 +1,89 | |||
|
|
1 | import { TraceSource, DebugLevel } from "../log/TraceSource"; | |
|
|
2 | import * as tape from "tape"; | |
|
|
3 | import { TapeWriter, test } from "./TestTraits"; | |
|
|
4 | import { MockConsole } from "../mock/MockConsole"; | |
|
|
5 | import { ConsoleLogger } from "../log/writers/ConsoleLogger"; | |
|
|
6 | import { ConsoleWriter } from "../log/ConsoleWriter"; | |
|
|
7 | ||
|
|
8 | const sourceId = "test/TraceSourceTests"; | |
|
|
9 | ||
|
|
10 | tape("trace message", t => { | |
|
|
11 | const trace = TraceSource.get(sourceId); | |
|
|
12 | ||
|
|
13 | trace.level = DebugLevel; | |
|
|
14 | ||
|
|
15 | const h = trace.events.on(ev => { | |
|
|
16 | t.equal(ev.source, trace, "sender should be the current trace source"); | |
|
|
17 | t.equal(ev.level, DebugLevel, "level should be debug level"); | |
|
|
18 | t.equal(ev.toString(), "Hello, World!", "The message should be a formatted message"); | |
|
|
19 | ||
|
|
20 | t.end(); | |
|
|
21 | }); | |
|
|
22 | ||
|
|
23 | trace.debug("Hello, {0}!", "World"); | |
|
|
24 | ||
|
|
25 | h.destroy(); | |
|
|
26 | }); | |
|
|
27 | ||
|
|
28 | tape("trace event", t => { | |
|
|
29 | const trace = TraceSource.get(sourceId); | |
|
|
30 | ||
|
|
31 | trace.level = DebugLevel; | |
|
|
32 | ||
|
|
33 | const event = { | |
|
|
34 | name: "custom event" | |
|
|
35 | }; | |
|
|
36 | ||
|
|
37 | const h = trace.events.on(ev => { | |
|
|
38 | t.equal(ev.source, trace, "sender should be the current trace source"); | |
|
|
39 | t.equal(ev.level, DebugLevel, "level should be debug level"); | |
|
|
40 | t.equal(ev.message, event, "The message should be the specified object"); | |
|
|
41 | ||
|
|
42 | t.end(); | |
|
|
43 | }); | |
|
|
44 | ||
|
|
45 | trace.traceEvent(DebugLevel, event); | |
|
|
46 | ||
|
|
47 | h.destroy(); | |
|
|
48 | }); | |
|
|
49 | ||
|
|
50 | tape("tape comment writer", async t => { | |
|
|
51 | const writer = new TapeWriter(t); | |
|
|
52 | ||
|
|
53 | TraceSource.on(ts => { | |
|
|
54 | writer.writeEvents(ts.events); | |
|
|
55 | }); | |
|
|
56 | ||
|
|
57 | const trace = TraceSource.get(sourceId); | |
|
|
58 | trace.level = DebugLevel; | |
|
|
59 | ||
|
|
60 | trace.log("Hello, {0}!", "World"); | |
|
|
61 | trace.log("Multi\n line"); | |
|
|
62 | trace.warn("Look at me!"); | |
|
|
63 | trace.error("DIE!"); | |
|
|
64 | ||
|
|
65 | writer.destroy(); | |
|
|
66 | ||
|
|
67 | trace.log("You shouldn't see it!"); | |
|
|
68 | ||
|
|
69 | t.comment("DONE"); | |
|
|
70 | ||
|
|
71 | t.end(); | |
|
|
72 | }); | |
|
|
73 | ||
|
|
74 | test("console writer", (t, trace) => { | |
|
|
75 | ||
|
|
76 | const mockConsole = new MockConsole(); | |
|
|
77 | const writer = new ConsoleWriter(mockConsole); | |
|
|
78 | const consoleLog = new ConsoleLogger(writer); | |
|
|
79 | consoleLog.writeEvents(trace.events); | |
|
|
80 | ||
|
|
81 | trace.log("Hello, world!"); | |
|
|
82 | t.deepEqual(mockConsole.getLine(0), ["console writer: Hello, world!"], "Log one string"); | |
|
|
83 | ||
|
|
84 | trace.log({ foo: "bar" }); | |
|
|
85 | t.deepEqual(mockConsole.getLine(1), ["console writer: ", { foo: "bar" }], "Log an object"); | |
|
|
86 | ||
|
|
87 | trace.log("json: {0:json}", { foo: "bar" }); | |
|
|
88 | t.deepEqual(mockConsole.getLine(2), ['console writer: json: {\n "foo": "bar"\n}'], "should convert to string substitutions with spec"); | |
|
|
89 | }); | |
| @@ -0,0 +1,13 | |||
|
|
1 | import * as tape from "tape"; | |
|
|
2 | import { Uuid } from "../Uuid"; | |
|
|
3 | ||
|
|
4 | tape("simple", t => { | |
|
|
5 | t.pass("sync assert"); | |
|
|
6 | setTimeout(() => { | |
|
|
7 | t.pass("async assert"); | |
|
|
8 | t.comment(Uuid()); | |
|
|
9 | t.ok(Uuid() !== Uuid()); | |
|
|
10 | // end should be called after the last assertion | |
|
|
11 | t.end(); | |
|
|
12 | }, 100); | |
|
|
13 | }); | |
| @@ -0,0 +1,7 | |||
|
|
1 | define(["tape", "../Uuid"], function(tape, Uuid) { | |
|
|
2 | "use strict"; | |
|
|
3 | tape('uuid', function(t) { | |
|
|
4 | t.notEqual(Uuid(),Uuid()); | |
|
|
5 | t.end(); | |
|
|
6 | }); | |
|
|
7 | }); No newline at end of file | |
| @@ -0,0 +1,9 | |||
|
|
1 | var rjs = require('requirejs'); | |
|
|
2 | ||
|
|
3 | rjs.config({ | |
|
|
4 | baseUrl: '.', | |
|
|
5 | nodeRequire: require | |
|
|
6 | }); | |
|
|
7 | ||
|
|
8 | ||
|
|
9 | rjs(['./tests/plan']); No newline at end of file | |
| @@ -0,0 +1,10 | |||
|
|
1 | define([ | |
|
|
2 | "./ActivatableTests", | |
|
|
3 | "./trace-test", | |
|
|
4 | "./TraceSourceTests", | |
|
|
5 | "./CancellationTests", | |
|
|
6 | "./ObservableTests", | |
|
|
7 | "./ContainerTests", | |
|
|
8 | "./SafeTests", | |
|
|
9 | "./TextTests" | |
|
|
10 | ]); No newline at end of file | |
| @@ -0,0 +1,30 | |||
|
|
1 | define(["require", "tape"], function(require, tape) { | |
|
|
2 | "use strict"; | |
|
|
3 | var sourceId = '73a633f3-eab8-49b0-8601-07cae710f234'; | |
|
|
4 | var sourceId2 = '3ba9c7cd-ed77-437b-9a2f-1cbeb1226b5b'; | |
|
|
5 | tape('Load TraceSource for the module', function(t) { | |
|
|
6 | require(["../log/trace!" + sourceId, "../log/TraceSource"], function(trace, TraceSource_1) { | |
|
|
7 | var TraceSource = TraceSource_1.TraceSource; | |
|
|
8 | t.equal(trace && trace.id, sourceId, "trace should be taken from the loader plugin parameter"); | |
|
|
9 | ||
|
|
10 | var count = 0; | |
|
|
11 | ||
|
|
12 | var h = TraceSource.on(function(x) { | |
|
|
13 | if(x.id == sourceId || x.id == sourceId2) | |
|
|
14 | count++; | |
|
|
15 | }); | |
|
|
16 | ||
|
|
17 | t.equal(count, 1, "should see created channel immediatelly"); | |
|
|
18 | t.equal(trace, TraceSource.get(sourceId), "should get same TraceSource from registry"); | |
|
|
19 | t.equal(count, 1); | |
|
|
20 | ||
|
|
21 | TraceSource.get(sourceId2); | |
|
|
22 | ||
|
|
23 | t.equal(count, 2); | |
|
|
24 | ||
|
|
25 | h.destroy(); | |
|
|
26 | ||
|
|
27 | t.end(); | |
|
|
28 | }); | |
|
|
29 | }); | |
|
|
30 | }); No newline at end of file | |
| @@ -0,0 +1,1 | |||
|
|
1 | import "./plan"; | |
| @@ -0,0 +1,7 | |||
|
|
1 | import "./ActivatableTests"; | |
|
|
2 | import "./TraceSourceTests"; | |
|
|
3 | import "./CancellationTests"; | |
|
|
4 | import "./ObservableTests"; | |
|
|
5 | import "./ContainerTests"; | |
|
|
6 | import "./SafeTests"; | |
|
|
7 | import "./TextTests"; | |
| @@ -1,27 +1,27 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "env": { |
|
|
3 | 3 | "browser": true, |
|
|
4 | 4 | "commonjs": true, |
|
|
5 | 5 | "amd": true, |
|
|
6 | 6 | "node": true |
|
|
7 | 7 | }, |
|
|
8 | 8 | "parserOptions": { |
|
|
9 | 9 | "ecmaFeatures": { |
|
|
10 | 10 | "jsx": true |
|
|
11 | 11 | }, |
|
|
12 |
"sourceType": " |
|
|
|
12 | "sourceType": "script" | |
|
|
13 | 13 | }, |
|
|
14 | 14 | "extends": "eslint:recommended", |
|
|
15 | 15 | "rules": { |
|
|
16 | 16 | "no-const-assign": "warn", |
|
|
17 | 17 | "no-this-before-super": "warn", |
|
|
18 | 18 | "no-undef": "error", |
|
|
19 | 19 | "no-unreachable": "warn", |
|
|
20 | 20 | "no-unused-vars": "warn", |
|
|
21 | 21 | "constructor-super": "warn", |
|
|
22 | 22 | "valid-typeof": "warn", |
|
|
23 | 23 | "semi" : "warn", |
|
|
24 | 24 | "no-invalid-this" : "error", |
|
|
25 | 25 | "no-console": "off" |
|
|
26 | 26 | } |
|
|
27 | 27 | } No newline at end of file |
| @@ -1,5 +1,6 | |||
|
|
1 | 1 | syntax: glob |
|
|
2 | 2 | .gradle/ |
|
|
3 | 3 | build/ |
|
|
4 | 4 | node_modules/ |
|
|
5 | 5 | src/typings/ |
|
|
6 | ivy-repo/ | |
| @@ -1,15 +1,21 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "java.configuration.updateBuildConfiguration": "disabled", |
|
|
3 | 3 | "search.exclude": { |
|
|
4 | 4 | "**/node_modules": true, |
|
|
5 | 5 | "**/bower_components": true, |
|
|
6 | 6 | "/build": true |
|
|
7 | 7 | }, |
|
|
8 | 8 | "files.watcherExclude": { |
|
|
9 | 9 | "**/.git/objects/**": true, |
|
|
10 | 10 | "**/.git/subtree-cache/**": true, |
|
|
11 | 11 | "**/node_modules/**": true, |
|
|
12 | 12 | "/build": true |
|
|
13 | 13 | }, |
|
|
14 | "editor.minimap.enabled": false | |
|
|
14 | "editor.minimap.enabled": false, | |
|
|
15 | "files.exclude": { | |
|
|
16 | "**/.classpath": true, | |
|
|
17 | "**/.project": true, | |
|
|
18 | "**/.settings": true, | |
|
|
19 | "**/.factorypath": true | |
|
|
20 | } | |
|
|
15 | 21 | } No newline at end of file |
| @@ -1,278 +1,244 | |||
|
|
1 | // если версия явно не заданы вычисляем ее из тэга ревизии v.{num}*** | |
|
|
2 | // результатом будет версия '{num}.{distance}' где distance - расстояние от | |
|
|
3 | // текущей ревизии до ревизии с тэгом | |
|
|
4 | def tagDistance = 0; | |
|
|
5 | def isRelease = false; | |
|
|
6 | ||
|
|
7 | if (!version) { | |
|
|
8 | ||
|
|
9 | def rev = ["hg", "log", "-r", ".", "--template", "{latesttag('re:^v') % '{tag}-{distance}'}"].execute().text.trim(); | |
|
|
1 | plugins { | |
|
|
2 | id "org.implab.gradle-typescript" version "1.1.1" | |
|
|
3 | id "org.implab.gradle-hg" | |
|
|
4 | id "ivy-publish" | |
|
|
5 | } | |
|
|
10 | 6 | |
|
|
11 | def tagVersion; | |
|
|
12 | ||
|
|
13 | def match = (rev =~ /^v(\d+\.\d+\.\d+).*-(\d+)$/); | |
|
|
7 | if (!symbols in ['local', 'pack', 'none']) | |
|
|
8 | throw new Exception("The symbols property value is invalid: $symbols"); | |
|
|
14 | 9 | |
|
|
15 | if (match.size()) { | |
|
|
16 | tagVersion = match[0][1]; | |
|
|
17 | tagDistance = match[0][2].toInteger(); | |
|
|
18 | } else { | |
|
|
19 | throw new Exception("A version must be specied"); | |
|
|
10 | if (!flavour in ['browser', 'node']) | |
|
|
11 | throw new Exception("The flavour property value is invalid: $flavour"); | |
|
|
12 | ||
|
|
13 | ext { | |
|
|
14 | packageName = flavour == 'browser' ? "@$npmScope/$name-amd" : "@$npmScope/$name" | |
|
|
15 | lint = project.hasProperty('lint') ? project.lint ?: true : false | |
|
|
20 | 16 | } |
|
|
21 | 17 | |
|
|
22 | version = tagVersion; | |
|
|
23 | ||
|
|
24 | if (tagDistance > 0) | |
|
|
25 | version++; | |
|
|
26 | } else { | |
|
|
27 | println "explicit version: $version"; | |
|
|
18 | sources { | |
|
|
19 | amd { | |
|
|
20 | typings { | |
|
|
21 | srcDir main.output.typingsDir | |
|
|
22 | } | |
|
|
28 | 23 | } |
|
|
29 | 24 | |
|
|
30 | if (hasProperty('versionSuffix') && versionSuffix) { | |
|
|
31 | version += "-$versionSuffix" | |
|
|
25 | cjs { | |
|
|
26 | typings { | |
|
|
27 | srcDir main.output.typingsDir | |
|
|
28 | } | |
|
|
32 | 29 | } |
|
|
33 | 30 | |
|
|
34 | if(!npmName) | |
|
|
35 | npmName = name; | |
|
|
36 | ||
|
|
37 | if (hasProperty('release')) { | |
|
|
38 | isRelease = (release != 'false') | |
|
|
39 | } else { | |
|
|
40 | isRelease = (tagDistance == 0); | |
|
|
31 | testAmd { | |
|
|
32 | typings { | |
|
|
33 | srcDir main.output.typingsDir | |
|
|
34 | srcDir amd.output.typingsDir | |
|
|
35 | srcDir test.output.typingsDir | |
|
|
36 | } | |
|
|
41 | 37 | } |
|
|
42 | 38 | |
|
|
43 | if(!["amd", "commonjs", "system", "umd", "es6", "esnext"].contains(jsmodule)) | |
|
|
44 | throw new Exception("Invalid jsmodule specified: $jsmodule"); | |
|
|
45 | if(!["es3", "es5", "es6", "es2016", "es2017", "esnext"].contains(target)) | |
|
|
46 | throw new Exception("Invalid target specified: $target") | |
|
|
47 | ||
|
|
48 | def targetLibs = [ | |
|
|
49 | "es3" : "es5,es2015.promise,es2015.symbol,dom,scripthost", | |
|
|
50 | "es5" : "es5,es2015.promise,es2015.symbol,dom,scripthost" | |
|
|
51 | ]; | |
|
|
52 | ||
|
|
53 | ext.packageName="@$npmScope/$npmName"; | |
|
|
54 | ||
|
|
55 | def srcDir = "$projectDir/src" | |
|
|
56 | def typingsDir = "$srcDir/typings" | |
|
|
57 | def distDir = "$buildDir/dist" | |
|
|
58 | def testDir = "$buildDir/test" | |
|
|
59 | def lib = targetLibs[target] ?: "${target},dom"; | |
|
|
60 | ||
|
|
61 | println "lib: $lib"; | |
|
|
62 | ||
|
|
63 | def sourceSets = ["main", "amd", "cjs"]; | |
|
|
64 | def testSets = ["test", "testAmd", "testCjs"]; | |
|
|
65 | ||
|
|
66 | task beforeBuild { | |
|
|
39 | testCjs { | |
|
|
40 | typings { | |
|
|
41 | srcDir main.output.typingsDir | |
|
|
42 | srcDir cjs.output.typingsDir | |
|
|
43 | srcDir test.output.typingsDir | |
|
|
44 | } | |
|
|
45 | } | |
|
|
67 | 46 | } |
|
|
68 | 47 | |
|
|
69 | def createSoursetTasks = { String name, String outDir -> | |
|
|
70 | def setName = name.capitalize(); | |
|
|
48 | typescript { | |
|
|
49 | compilerOptions { | |
|
|
50 | types = [] | |
|
|
51 | declaration = true | |
|
|
71 | 52 | |
|
|
72 | def compileDir = "$buildDir/compile/$name" | |
|
|
73 | def declDir = "$typingsDir/$name" | |
|
|
74 | def setDir = "$projectDir/src/$name" | |
|
|
75 | def jsDir = outDir; | |
|
|
76 | ||
|
|
77 | def beforeBuildTask = task "beforeBuild$setName"(dependsOn: beforeBuild) { | |
|
|
78 | } | |
|
|
79 | ||
|
|
80 | def copyJsTask = task "copyJs$setName"(dependsOn: beforeBuildTask, type: Copy) { | |
|
|
81 | from "$setDir/js" | |
|
|
82 | into jsDir | |
|
|
53 | if(symbols != 'none') { | |
|
|
54 | sourceMap = true | |
|
|
55 | sourceRoot = "_src" | |
|
|
83 | 56 | } |
|
|
84 | 57 | |
|
|
85 | def lintJsTask = task "lintJs$setName"(dependsOn: beforeBuildTask, type: Exec) { | |
|
|
86 | inputs.dir("$setDir/js/").skipWhenEmpty(); | |
|
|
87 | commandLine "eslint", '--format', 'stylish', "$setDir/js/" | |
|
|
58 | if (flavour == 'node') { | |
|
|
59 | module = "commonjs" | |
|
|
60 | target = "es2017" | |
|
|
61 | lib = ["es2017", "dom", "scripthost"] | |
|
|
62 | } else if (flavour == 'browser') { | |
|
|
63 | module = "amd" | |
|
|
64 | target = "es5" | |
|
|
65 | lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable" ] | |
|
|
66 | } | |
|
|
67 | } | |
|
|
68 | tscCmd = "$projectDir/node_modules/.bin/tsc" | |
|
|
69 | tsLintCmd = "$projectDir/node_modules/.bin/tslint" | |
|
|
70 | esLintCmd = "$projectDir/node_modules/.bin/eslint" | |
|
|
88 | 71 | } |
|
|
89 | 72 | |
|
|
90 | def compileTsTask = task "compileTs$setName"(dependsOn: beforeBuildTask, type: Exec) { | |
|
|
91 | inputs.dir("$setDir/ts").skipWhenEmpty() | |
|
|
92 | inputs.file("$srcDir/tsconfig.json") | |
|
|
93 | inputs.file("$setDir/tsconfig.json") | |
|
|
94 | outputs.dir(compileDir) | |
|
|
95 | outputs.dir(declDir) | |
|
|
96 | ||
|
|
97 | commandLine 'node_modules/.bin/tsc', | |
|
|
98 | '-p', "$setDir/tsconfig.json", | |
|
|
99 | '-t', target, | |
|
|
100 | '-m', jsmodule, | |
|
|
101 | '-d', | |
|
|
102 | '--sourceMap', | |
|
|
103 | '--sourceRoot', "file://$setDir/ts", | |
|
|
104 | '--outDir', compileDir, | |
|
|
105 | '--declarationDir', declDir | |
|
|
106 | ||
|
|
107 | if (lib) | |
|
|
108 | args '--lib', lib | |
|
|
73 | npm { | |
|
|
74 | npmCmd = "npm" | |
|
|
109 | 75 | } |
|
|
110 | 76 | |
|
|
111 | def copyTsOutputTask = task "copyTsOutput$setName"(dependsOn: compileTsTask, type: Copy) { | |
|
|
112 | from compileDir | |
|
|
113 | into jsDir | |
|
|
114 | } | |
|
|
115 | ||
|
|
116 | def copyTypingsTask = task "copyTypings$setName"(dependsOn: compileTsTask, type: Copy) { | |
|
|
117 | from declDir | |
|
|
118 | into jsDir | |
|
|
77 | tasks.matching{ it.name =~ /^lint/ }.configureEach { | |
|
|
78 | onlyIf { lint } | |
|
|
119 | 79 | } |
|
|
120 | 80 | |
|
|
121 | def copyResourcesTask = task "copyResources$setName"(dependsOn: beforeBuildTask, type: Copy) { | |
|
|
122 | from "$setDir/resources" | |
|
|
123 | into outDir | |
|
|
81 | if (symbols == 'local') { | |
|
|
82 | tasks.matching{ it.name =~ /^configureTs/ }.configureEach { | |
|
|
83 | compilerOptions { | |
|
|
84 | sourceRoot = "file://" + it.rootDir | |
|
|
124 | 85 | } |
|
|
125 | ||
|
|
126 | task "build$setName" { | |
|
|
127 | dependsOn copyTypingsTask, | |
|
|
128 | copyTsOutputTask, | |
|
|
129 | copyJsTask, | |
|
|
130 | copyResourcesTask, | |
|
|
131 | lintJsTask | |
|
|
132 | 86 | } |
|
|
133 | 87 | } |
|
|
134 | 88 | |
|
|
135 | 89 | task printVersion { |
|
|
136 | 90 | doLast { |
|
|
91 | println "packageName: $packageName"; | |
|
|
137 | 92 | println "version: $version"; |
|
|
138 | println "isRelease: $isRelease, tagDistance: $tagDistance"; | |
|
|
139 | println "packageName: $packageName"; | |
|
|
140 |
println " |
|
|
|
141 |
println " |
|
|
|
142 |
println " |
|
|
|
93 | println "flavour: $flavour"; | |
|
|
94 | println "target: $typescript.compilerOptions.target"; | |
|
|
95 | println "module: $typescript.compilerOptions.module"; | |
|
|
96 | println "lint: $lint"; | |
|
|
97 | println "symbols: $symbols"; | |
|
|
143 | 98 | } |
|
|
144 | 99 | } |
|
|
145 | 100 | |
|
|
146 | 101 | task clean { |
|
|
147 | 102 | doLast { |
|
|
148 | 103 | delete buildDir |
|
|
149 | delete typingsDir | |
|
|
104 | } | |
|
|
105 | } | |
|
|
106 | ||
|
|
107 | npmPackMeta { | |
|
|
108 | meta { | |
|
|
109 | name = packageName | |
|
|
110 | } | |
|
|
111 | } | |
|
|
112 | ||
|
|
113 | configureTsCjs { | |
|
|
114 | dependsOn sources.main.output | |
|
|
115 | compilerOptions { | |
|
|
116 | types += [ "node" ] | |
|
|
117 | } | |
|
|
118 | } | |
|
|
119 | ||
|
|
120 | configureTsAmd { | |
|
|
121 | dependsOn sources.main.output | |
|
|
122 | compilerOptions { | |
|
|
123 | types += [ "requirejs", "dojo-typings" ] | |
|
|
124 | } | |
|
|
125 | } | |
|
|
126 | ||
|
|
127 | test { | |
|
|
128 | workingDir layout.buildDirectory.dir("test"); | |
|
|
129 | commandLine "node", "tests/index.js" | |
|
|
130 | } | |
|
|
131 | ||
|
|
132 | assemble { | |
|
|
133 | if (flavour == 'browser') { | |
|
|
134 | dependsOn sources.amd.output | |
|
|
135 | from sources.amd.output.compiledDir | |
|
|
136 | from sources.amd.resources | |
|
|
137 | } | |
|
|
138 | if (flavour == 'node') { | |
|
|
139 | dependsOn sources.cjs.output | |
|
|
140 | from sources.cjs.output.compiledDir | |
|
|
141 | from sources.cjs.resources | |
|
|
142 | } | |
|
|
143 | } | |
|
|
144 | ||
|
|
145 | assembleTest { | |
|
|
146 | if (flavour == 'browser') { | |
|
|
147 | dependsOn sources.amd.output, sources.testAmd.output | |
|
|
148 | ||
|
|
149 | from sources.amd.output.compiledDir | |
|
|
150 | from sources.testAmd.output.compiledDir | |
|
|
151 | from sources.amd.resources | |
|
|
152 | from sources.testAmd.resources | |
|
|
153 | } | |
|
|
154 | if (flavour == 'node') { | |
|
|
155 | dependsOn sources.cjs.output, sources.testCjs.output | |
|
|
156 | ||
|
|
157 | from sources.cjs.output.compiledDir | |
|
|
158 | from sources.testCjs.output.compiledDir | |
|
|
159 | from sources.cjs.resources | |
|
|
160 | from sources.testCjs.resources | |
|
|
150 | 161 | } |
|
|
151 | 162 | } |
|
|
152 | 163 | |
|
|
153 | task _initBuild { | |
|
|
154 | mustRunAfter clean | |
|
|
155 | ||
|
|
156 | def buildInfoFile = "$buildDir/platform"; | |
|
|
157 | inputs.property('target',target); | |
|
|
158 | inputs.property('jsmodule',jsmodule); | |
|
|
159 | outputs.file(buildInfoFile); | |
|
|
160 | ||
|
|
161 | doLast { | |
|
|
162 | delete buildDir | |
|
|
163 | mkdir buildDir | |
|
|
164 | ||
|
|
165 | def f = new File(buildInfoFile); | |
|
|
166 | f << "$target-$jsmodule"; | |
|
|
164 | typings { | |
|
|
165 | if (flavour == 'browser') { | |
|
|
166 | dependsOn sources.amd.output | |
|
|
167 | from sources.amd.output.typingsDir | |
|
|
168 | } | |
|
|
169 | if (flavour == 'node') { | |
|
|
170 | dependsOn sources.cjs.output | |
|
|
171 | from sources.cjs.output.typingsDir | |
|
|
167 | 172 | } |
|
|
168 | 173 | } |
|
|
169 | 174 | |
|
|
170 | task cleanNpm { | |
|
|
175 | task npmPackTypings(type: Copy) { | |
|
|
176 | npmPackContents.dependsOn it | |
|
|
177 | dependsOn sources.main.output | |
|
|
178 | ||
|
|
179 | from sources.main.output.typingsDir | |
|
|
180 | ||
|
|
181 | if (flavour == 'browser') { | |
|
|
182 | dependsOn sources.amd.output | |
|
|
183 | from sources.amd.output.typingsDir | |
|
|
184 | } | |
|
|
185 | if (flavour == 'node') { | |
|
|
186 | dependsOn sources.cjs.output | |
|
|
187 | from sources.cjs.output.typingsDir | |
|
|
188 | } | |
|
|
189 | ||
|
|
190 | into npm.packageDir | |
|
|
191 | } | |
|
|
192 | ||
|
|
193 | task npmPackSources(type: Copy) { | |
|
|
194 | from sources.main.ts | |
|
|
195 | if (symbols == 'pack') { | |
|
|
196 | npmPackContents.dependsOn npmPackSources | |
|
|
197 | } | |
|
|
198 | ||
|
|
199 | if (flavour == 'browser') { | |
|
|
200 | from sources.amd.ts | |
|
|
201 | } | |
|
|
202 | if (flavour == 'node') { | |
|
|
203 | from sources.cjs.ts | |
|
|
204 | } | |
|
|
205 | ||
|
|
206 | into npm.packageDir.dir("_src") | |
|
|
207 | } | |
|
|
208 | ||
|
|
209 | ||
|
|
210 | ||
|
|
211 | task packJsTar(type: Tar) { | |
|
|
212 | dependsOn assemble; | |
|
|
213 | ||
|
|
214 | archiveBaseName = provider { packageName } | |
|
|
215 | ||
|
|
216 | destinationDirectory = buildDir | |
|
|
217 | archiveClassifier = provider { typescript.compilerOptions.module } | |
|
|
218 | compression = Compression.GZIP | |
|
|
219 | ||
|
|
220 | from(assemble.outputs) | |
|
|
221 | ||
|
|
171 | 222 | doLast { |
|
|
172 | delete 'node_modules' | |
|
|
223 | println archiveName; | |
|
|
173 | 224 | } |
|
|
174 | 225 | } |
|
|
175 | 226 | |
|
|
176 | task _npmInstall() { | |
|
|
177 | inputs.file("package.json") | |
|
|
178 | outputs.dir("node_modules") | |
|
|
179 | doLast { | |
|
|
180 | exec { | |
|
|
181 | commandLine 'npm', 'install' | |
|
|
227 | task packTypingsTar(type: Tar) { | |
|
|
228 | } | |
|
|
229 | ||
|
|
230 | publishing { | |
|
|
231 | publications { | |
|
|
232 | local(IvyPublication) { | |
|
|
233 | artifact(packJsTar) { | |
|
|
234 | type = "js" | |
|
|
182 | 235 | } |
|
|
183 | 236 | } |
|
|
184 | 237 | } |
|
|
185 | 238 | |
|
|
186 | beforeBuild { | |
|
|
187 | dependsOn _initBuild | |
|
|
188 | dependsOn _npmInstall | |
|
|
189 | } | |
|
|
190 | ||
|
|
191 | sourceSets.each { createSoursetTasks(it, distDir) } | |
|
|
192 | ||
|
|
193 | testSets.each { createSoursetTasks(it, testDir) } | |
|
|
194 | ||
|
|
195 | compileTsAmd { | |
|
|
196 | dependsOn compileTsMain | |
|
|
197 | } | |
|
|
198 | ||
|
|
199 | compileTsCjs { | |
|
|
200 | dependsOn compileTsMain | |
|
|
201 | } | |
|
|
202 | ||
|
|
203 | task build(dependsOn: buildMain) { | |
|
|
204 | if (jsmodule == "amd") | |
|
|
205 | dependsOn buildAmd | |
|
|
206 | if (jsmodule == "commonjs") | |
|
|
207 | dependsOn buildCjs | |
|
|
208 | } | |
|
|
209 | ||
|
|
210 | compileTsTest { | |
|
|
211 | dependsOn build | |
|
|
212 | } | |
|
|
213 | ||
|
|
214 | compileTsTestAmd { | |
|
|
215 | dependsOn compileTsTest | |
|
|
216 | } | |
|
|
217 | ||
|
|
218 | compileTsTestCjs { | |
|
|
219 | dependsOn compileTsTest | |
|
|
220 | } | |
|
|
221 | ||
|
|
222 | task _installLocalCjsDependency(dependsOn: [buildTestCjs, "_packageMeta"], type: Exec) { | |
|
|
223 | inputs.file("$distDir/package.json") | |
|
|
224 | outputs.upToDateWhen { | |
|
|
225 | new File("$testDir/$packageName").exists() | |
|
|
226 | } | |
|
|
227 | ||
|
|
228 | workingDir testDir | |
|
|
229 | ||
|
|
230 | commandLine 'npm', 'install', '--no-save', '--force', distDir | |
|
|
239 | repositories { | |
|
|
240 | ivy { | |
|
|
241 | url "ivy-repo" | |
|
|
231 | 242 | } |
|
|
232 | ||
|
|
233 | task test(dependsOn: [buildTest], type: Exec) { | |
|
|
234 | if (jsmodule == "amd") | |
|
|
235 | dependsOn buildTestAmd | |
|
|
236 | if (jsmodule == "commonjs") { | |
|
|
237 | dependsOn buildTestCjs | |
|
|
238 | dependsOn _installLocalCjsDependency | |
|
|
239 | 243 | } |
|
|
240 | ||
|
|
241 | commandLine 'node', "$testDir/run-tests.js" | |
|
|
242 | } | |
|
|
243 | ||
|
|
244 | task _packageMeta(type: Copy) { | |
|
|
245 | mustRunAfter build | |
|
|
246 | ||
|
|
247 | inputs.property("version", version) | |
|
|
248 | from('.') { | |
|
|
249 | include '.npmignore', 'readme.md', 'license', 'history.md' | |
|
|
250 | } | |
|
|
251 | from("$srcDir/package.${jsmodule}.tmpl.json") { | |
|
|
252 | expand project.properties | |
|
|
253 | rename { "package.json" } | |
|
|
254 | } | |
|
|
255 | into distDir | |
|
|
256 | } | |
|
|
257 | ||
|
|
258 | task pack(dependsOn: [build, _packageMeta], type: Exec) { | |
|
|
259 | workingDir distDir | |
|
|
260 | outputs.file("$npmScope-$npmName-${version}.tgz") | |
|
|
261 | ||
|
|
262 | commandLine 'npm', 'pack' | |
|
|
263 | } | |
|
|
264 | ||
|
|
265 | task publish(dependsOn: [build, _packageMeta], type: Exec) { | |
|
|
266 | doFirst { | |
|
|
267 | if (!isRelease) | |
|
|
268 | throw new Exception("Can't publish an unreleased version"); | |
|
|
269 | } | |
|
|
270 | workingDir distDir | |
|
|
271 | ||
|
|
272 | commandLine 'npm', 'publish', '--access', 'public' | |
|
|
273 | } | |
|
|
274 | ||
|
|
275 | task markRelease(type: Exec) { | |
|
|
276 | onlyIf { tagDistance > 1 } | |
|
|
277 | commandLine "hg", "tag", "v$version"; | |
|
|
278 | 244 | } No newline at end of file |
| @@ -1,9 +1,9 | |||
|
|
1 | group=org.implab | |
|
|
1 | 2 | version= |
|
|
2 | 3 | author=Implab team |
|
|
3 | jsmodule=amd | |
|
|
4 | target=es5 | |
|
|
5 | description=Dependency injection, logging, simple and fast text template engine | |
|
|
4 | description=Dependency injection, logging, simple and fast text processing tools | |
|
|
6 | 5 | license=BSD-2-Clause |
|
|
7 | 6 | repository=https://bitbucket.org/implab/implabjs-core |
|
|
8 | 7 | npmScope=implab |
|
|
9 | npmName=core-amd No newline at end of file | |
|
|
8 | flavour=browser | |
|
|
9 | symbols=pack No newline at end of file | |
| @@ -1,5 +1,5 | |||
|
|
1 | 1 | distributionBase=GRADLE_USER_HOME |
|
|
2 | 2 | distributionPath=wrapper/dists |
|
|
3 |
distributionUrl=https\://services.gradle.org/distributions/gradle- |
|
|
|
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-bin.zip | |
|
|
4 | 4 | zipStoreBase=GRADLE_USER_HOME |
|
|
5 | 5 | zipStorePath=wrapper/dists |
| This diff has been collapsed as it changes many lines, (1095 lines changed) Show them Hide them | |||
| @@ -1,471 +1,1314 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "name": "@implab/core", |
|
|
3 | 3 | "version": "0.0.1-dev", |
|
|
4 | 4 | "lockfileVersion": 1, |
|
|
5 | 5 | "requires": true, |
|
|
6 | 6 | "dependencies": { |
|
|
7 | "@babel/code-frame": { | |
|
|
8 | "version": "7.5.5", | |
|
|
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", | |
|
|
10 | "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", | |
|
|
11 | "dev": true, | |
|
|
12 | "requires": { | |
|
|
13 | "@babel/highlight": "^7.0.0" | |
|
|
14 | } | |
|
|
15 | }, | |
|
|
16 | "@babel/highlight": { | |
|
|
17 | "version": "7.5.0", | |
|
|
18 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", | |
|
|
19 | "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", | |
|
|
20 | "dev": true, | |
|
|
21 | "requires": { | |
|
|
22 | "chalk": "^2.0.0", | |
|
|
23 | "esutils": "^2.0.2", | |
|
|
24 | "js-tokens": "^4.0.0" | |
|
|
25 | } | |
|
|
26 | }, | |
|
|
27 | "@types/chai": { | |
|
|
28 | "version": "4.2.3", | |
|
|
29 | "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.3.tgz", | |
|
|
30 | "integrity": "sha512-VRw2xEGbll3ZiTQ4J02/hUjNqZoue1bMhoo2dgM2LXjDdyaq4q80HgBDHwpI0/VKlo4Eg+BavyQMv/NYgTetzA==", | |
|
|
31 | "dev": true | |
|
|
32 | }, | |
|
|
7 | 33 | "@types/node": { |
|
|
8 |
"version": " |
|
|
|
9 |
"resolved": "https://registry.npmjs.org/@types/node/-/node- |
|
|
|
10 | "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==", | |
|
|
34 | "version": "8.10.55", | |
|
|
35 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.55.tgz", | |
|
|
36 | "integrity": "sha512-iZeh1EgupfmAAOASk580R1SL5lWF3CsBVgVH0395qyNF8fhO16xy1UwAav2PdGxIIsYRn7RzJgMGjdsvam6YYg==", | |
|
|
11 | 37 | "dev": true |
|
|
12 | 38 | }, |
|
|
13 | 39 | "@types/requirejs": { |
|
|
14 | 40 | "version": "2.1.31", |
|
|
15 | 41 | "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz", |
|
|
16 | 42 | "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==", |
|
|
17 | 43 | "dev": true |
|
|
18 | 44 | }, |
|
|
19 | 45 | "@types/tape": { |
|
|
20 | 46 | "version": "4.2.33", |
|
|
21 | 47 | "resolved": "https://registry.npmjs.org/@types/tape/-/tape-4.2.33.tgz", |
|
|
22 | 48 | "integrity": "sha512-ltfyuY5BIkYlGuQfwqzTDT8f0q8Z5DGppvUnWGs39oqDmMd6/UWhNpX3ZMh/VYvfxs3rFGHMrLC/eGRdLiDGuw==", |
|
|
23 | 49 | "dev": true, |
|
|
24 | 50 | "requires": { |
|
|
25 | 51 | "@types/node": "*" |
|
|
26 | 52 | } |
|
|
27 | 53 | }, |
|
|
54 | "acorn": { | |
|
|
55 | "version": "7.1.0", | |
|
|
56 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", | |
|
|
57 | "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", | |
|
|
58 | "dev": true | |
|
|
59 | }, | |
|
|
60 | "acorn-jsx": { | |
|
|
61 | "version": "5.1.0", | |
|
|
62 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", | |
|
|
63 | "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", | |
|
|
64 | "dev": true | |
|
|
65 | }, | |
|
|
66 | "ajv": { | |
|
|
67 | "version": "6.10.2", | |
|
|
68 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", | |
|
|
69 | "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", | |
|
|
70 | "dev": true, | |
|
|
71 | "requires": { | |
|
|
72 | "fast-deep-equal": "^2.0.1", | |
|
|
73 | "fast-json-stable-stringify": "^2.0.0", | |
|
|
74 | "json-schema-traverse": "^0.4.1", | |
|
|
75 | "uri-js": "^4.2.2" | |
|
|
76 | } | |
|
|
77 | }, | |
|
|
78 | "ansi-escapes": { | |
|
|
79 | "version": "3.2.0", | |
|
|
80 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", | |
|
|
81 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", | |
|
|
82 | "dev": true | |
|
|
83 | }, | |
|
|
84 | "ansi-regex": { | |
|
|
85 | "version": "3.0.0", | |
|
|
86 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", | |
|
|
87 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", | |
|
|
88 | "dev": true | |
|
|
89 | }, | |
|
|
90 | "ansi-styles": { | |
|
|
91 | "version": "3.2.1", | |
|
|
92 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | |
|
|
93 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | |
|
|
94 | "dev": true, | |
|
|
95 | "requires": { | |
|
|
96 | "color-convert": "^1.9.0" | |
|
|
97 | } | |
|
|
98 | }, | |
|
|
99 | "argparse": { | |
|
|
100 | "version": "1.0.10", | |
|
|
101 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", | |
|
|
102 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", | |
|
|
103 | "dev": true, | |
|
|
104 | "requires": { | |
|
|
105 | "sprintf-js": "~1.0.2" | |
|
|
106 | } | |
|
|
107 | }, | |
|
|
108 | "astral-regex": { | |
|
|
109 | "version": "1.0.0", | |
|
|
110 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", | |
|
|
111 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", | |
|
|
112 | "dev": true | |
|
|
113 | }, | |
|
|
28 | 114 | "balanced-match": { |
|
|
29 | 115 | "version": "1.0.0", |
|
|
30 | 116 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", |
|
|
31 | 117 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", |
|
|
32 | 118 | "dev": true |
|
|
33 | 119 | }, |
|
|
34 | 120 | "brace-expansion": { |
|
|
35 | 121 | "version": "1.1.11", |
|
|
36 | 122 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", |
|
|
37 | 123 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", |
|
|
38 | 124 | "dev": true, |
|
|
39 | 125 | "requires": { |
|
|
40 | 126 | "balanced-match": "^1.0.0", |
|
|
41 | 127 | "concat-map": "0.0.1" |
|
|
42 | 128 | } |
|
|
43 | 129 | }, |
|
|
130 | "builtin-modules": { | |
|
|
131 | "version": "1.1.1", | |
|
|
132 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", | |
|
|
133 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", | |
|
|
134 | "dev": true | |
|
|
135 | }, | |
|
|
136 | "callsites": { | |
|
|
137 | "version": "3.1.0", | |
|
|
138 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", | |
|
|
139 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", | |
|
|
140 | "dev": true | |
|
|
141 | }, | |
|
|
142 | "chalk": { | |
|
|
143 | "version": "2.4.2", | |
|
|
144 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | |
|
|
145 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | |
|
|
146 | "dev": true, | |
|
|
147 | "requires": { | |
|
|
148 | "ansi-styles": "^3.2.1", | |
|
|
149 | "escape-string-regexp": "^1.0.5", | |
|
|
150 | "supports-color": "^5.3.0" | |
|
|
151 | } | |
|
|
152 | }, | |
|
|
153 | "chardet": { | |
|
|
154 | "version": "0.7.0", | |
|
|
155 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", | |
|
|
156 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", | |
|
|
157 | "dev": true | |
|
|
158 | }, | |
|
|
159 | "cli-cursor": { | |
|
|
160 | "version": "2.1.0", | |
|
|
161 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", | |
|
|
162 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", | |
|
|
163 | "dev": true, | |
|
|
164 | "requires": { | |
|
|
165 | "restore-cursor": "^2.0.0" | |
|
|
166 | } | |
|
|
167 | }, | |
|
|
168 | "cli-width": { | |
|
|
169 | "version": "2.2.0", | |
|
|
170 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", | |
|
|
171 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", | |
|
|
172 | "dev": true | |
|
|
173 | }, | |
|
|
174 | "color-convert": { | |
|
|
175 | "version": "1.9.3", | |
|
|
176 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | |
|
|
177 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | |
|
|
178 | "dev": true, | |
|
|
179 | "requires": { | |
|
|
180 | "color-name": "1.1.3" | |
|
|
181 | } | |
|
|
182 | }, | |
|
|
183 | "color-name": { | |
|
|
184 | "version": "1.1.3", | |
|
|
185 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | |
|
|
186 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | |
|
|
187 | "dev": true | |
|
|
188 | }, | |
|
|
189 | "commander": { | |
|
|
190 | "version": "2.20.3", | |
|
|
191 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", | |
|
|
192 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", | |
|
|
193 | "dev": true | |
|
|
194 | }, | |
|
|
44 | 195 | "concat-map": { |
|
|
45 | 196 | "version": "0.0.1", |
|
|
46 | 197 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
|
|
47 | 198 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", |
|
|
48 | 199 | "dev": true |
|
|
49 | 200 | }, |
|
|
50 |
"c |
|
|
|
51 |
"version": " |
|
|
|
52 |
"resolved": "https://registry.npmjs.org/c |
|
|
|
53 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", | |
|
|
201 | "cross-spawn": { | |
|
|
202 | "version": "6.0.5", | |
|
|
203 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", | |
|
|
204 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", | |
|
|
205 | "dev": true, | |
|
|
206 | "requires": { | |
|
|
207 | "nice-try": "^1.0.4", | |
|
|
208 | "path-key": "^2.0.1", | |
|
|
209 | "semver": "^5.5.0", | |
|
|
210 | "shebang-command": "^1.2.0", | |
|
|
211 | "which": "^1.2.9" | |
|
|
212 | }, | |
|
|
213 | "dependencies": { | |
|
|
214 | "semver": { | |
|
|
215 | "version": "5.7.1", | |
|
|
216 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | |
|
|
217 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | |
|
|
54 | 218 | "dev": true |
|
|
219 | } | |
|
|
220 | } | |
|
|
55 | 221 | }, |
|
|
56 |
"de |
|
|
|
57 |
"version": " |
|
|
|
58 |
"resolved": "https://registry.npmjs.org/de |
|
|
|
59 | "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=", | |
|
|
222 | "debug": { | |
|
|
223 | "version": "4.1.1", | |
|
|
224 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", | |
|
|
225 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", | |
|
|
226 | "dev": true, | |
|
|
227 | "requires": { | |
|
|
228 | "ms": "^2.1.1" | |
|
|
229 | } | |
|
|
230 | }, | |
|
|
231 | "deep-is": { | |
|
|
232 | "version": "0.1.3", | |
|
|
233 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | |
|
|
234 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", | |
|
|
60 | 235 | "dev": true |
|
|
61 | 236 | }, |
|
|
62 | 237 | "define-properties": { |
|
|
63 | 238 | "version": "1.1.3", |
|
|
64 | 239 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", |
|
|
65 | 240 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", |
|
|
66 | 241 | "dev": true, |
|
|
67 | 242 | "requires": { |
|
|
68 | 243 | "object-keys": "^1.0.12" |
|
|
69 | 244 | }, |
|
|
70 | 245 | "dependencies": { |
|
|
71 | 246 | "object-keys": { |
|
|
72 |
"version": "1. |
|
|
|
73 |
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1. |
|
|
|
74 | "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", | |
|
|
247 | "version": "1.1.1", | |
|
|
248 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | |
|
|
249 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | |
|
|
75 | 250 | "dev": true |
|
|
76 | 251 | } |
|
|
77 | 252 | } |
|
|
78 | 253 | }, |
|
|
79 |
"d |
|
|
|
80 |
"version": " |
|
|
|
81 |
"resolved": "https://registry.npmjs.org/d |
|
|
|
82 | "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", | |
|
|
254 | "diff": { | |
|
|
255 | "version": "3.5.0", | |
|
|
256 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", | |
|
|
257 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", | |
|
|
83 | 258 | "dev": true |
|
|
84 | 259 | }, |
|
|
260 | "doctrine": { | |
|
|
261 | "version": "3.0.0", | |
|
|
262 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", | |
|
|
263 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", | |
|
|
264 | "dev": true, | |
|
|
265 | "requires": { | |
|
|
266 | "esutils": "^2.0.2" | |
|
|
267 | } | |
|
|
268 | }, | |
|
|
85 | 269 | "dojo": { |
|
|
86 |
"version": "1.1 |
|
|
|
87 |
"resolved": "https://registry.npmjs.org/dojo/-/dojo-1.1 |
|
|
|
88 | "integrity": "sha512-TI+Ytgfh/VfmHWERp45Jte6NFMdoJTPsvUP/uzJUvAXET8FP2h442LePWWJ/q/xZ4V0V8OtdJhx8It/GB+Zbxg==", | |
|
|
270 | "version": "1.10.10", | |
|
|
271 | "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.10.10.tgz", | |
|
|
272 | "integrity": "sha512-kg79C8Yyd317cG3MgXGMH4AeQ8TgNr8H/PpA3BRms7DTfl0CJCRAgGE/C6d9Nw55s1ID/fEsfS+P3bj1s7dWgA==", | |
|
|
89 | 273 | "dev": true |
|
|
90 | 274 | }, |
|
|
91 | "duplexer": { | |
|
|
92 |
"version": " |
|
|
|
93 |
"resolved": "https://registry.npmjs.org/d |
|
|
|
94 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", | |
|
|
275 | "dojo-typings": { | |
|
|
276 | "version": "1.11.9", | |
|
|
277 | "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz", | |
|
|
278 | "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==", | |
|
|
279 | "dev": true, | |
|
|
280 | "requires": { | |
|
|
281 | "@types/chai": "^4.0.4" | |
|
|
282 | } | |
|
|
283 | }, | |
|
|
284 | "emoji-regex": { | |
|
|
285 | "version": "7.0.3", | |
|
|
286 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | |
|
|
287 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | |
|
|
95 | 288 | "dev": true |
|
|
96 | 289 | }, |
|
|
97 | 290 | "es-abstract": { |
|
|
98 |
"version": "1.1 |
|
|
|
99 |
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.1 |
|
|
|
100 | "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", | |
|
|
291 | "version": "1.15.0", | |
|
|
292 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", | |
|
|
293 | "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", | |
|
|
101 | 294 | "dev": true, |
|
|
102 | 295 | "requires": { |
|
|
103 | 296 | "es-to-primitive": "^1.2.0", |
|
|
104 | 297 | "function-bind": "^1.1.1", |
|
|
105 | 298 | "has": "^1.0.3", |
|
|
299 | "has-symbols": "^1.0.0", | |
|
|
106 | 300 | "is-callable": "^1.1.4", |
|
|
107 | 301 | "is-regex": "^1.0.4", |
|
|
108 |
"object- |
|
|
|
302 | "object-inspect": "^1.6.0", | |
|
|
303 | "object-keys": "^1.1.1", | |
|
|
304 | "string.prototype.trimleft": "^2.1.0", | |
|
|
305 | "string.prototype.trimright": "^2.1.0" | |
|
|
109 | 306 | }, |
|
|
110 | 307 | "dependencies": { |
|
|
111 | 308 | "object-keys": { |
|
|
112 |
"version": "1. |
|
|
|
113 |
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1. |
|
|
|
114 | "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", | |
|
|
309 | "version": "1.1.1", | |
|
|
310 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | |
|
|
311 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | |
|
|
115 | 312 | "dev": true |
|
|
116 | 313 | } |
|
|
117 | 314 | } |
|
|
118 | 315 | }, |
|
|
119 | 316 | "es-to-primitive": { |
|
|
120 | 317 | "version": "1.2.0", |
|
|
121 | 318 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", |
|
|
122 | 319 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", |
|
|
123 | 320 | "dev": true, |
|
|
124 | 321 | "requires": { |
|
|
125 | 322 | "is-callable": "^1.1.4", |
|
|
126 | 323 | "is-date-object": "^1.0.1", |
|
|
127 | 324 | "is-symbol": "^1.0.2" |
|
|
128 | 325 | } |
|
|
129 | 326 | }, |
|
|
130 | "faucet": { | |
|
|
131 |
"version": " |
|
|
|
132 |
"resolved": "https://registry.npmjs.org/ |
|
|
|
133 |
"integrity": "sha1- |
|
|
|
327 | "escape-string-regexp": { | |
|
|
328 | "version": "1.0.5", | |
|
|
329 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | |
|
|
330 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", | |
|
|
331 | "dev": true | |
|
|
332 | }, | |
|
|
333 | "eslint": { | |
|
|
334 | "version": "6.1.0", | |
|
|
335 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.1.0.tgz", | |
|
|
336 | "integrity": "sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ==", | |
|
|
337 | "dev": true, | |
|
|
338 | "requires": { | |
|
|
339 | "@babel/code-frame": "^7.0.0", | |
|
|
340 | "ajv": "^6.10.0", | |
|
|
341 | "chalk": "^2.1.0", | |
|
|
342 | "cross-spawn": "^6.0.5", | |
|
|
343 | "debug": "^4.0.1", | |
|
|
344 | "doctrine": "^3.0.0", | |
|
|
345 | "eslint-scope": "^5.0.0", | |
|
|
346 | "eslint-utils": "^1.3.1", | |
|
|
347 | "eslint-visitor-keys": "^1.0.0", | |
|
|
348 | "espree": "^6.0.0", | |
|
|
349 | "esquery": "^1.0.1", | |
|
|
350 | "esutils": "^2.0.2", | |
|
|
351 | "file-entry-cache": "^5.0.1", | |
|
|
352 | "functional-red-black-tree": "^1.0.1", | |
|
|
353 | "glob-parent": "^5.0.0", | |
|
|
354 | "globals": "^11.7.0", | |
|
|
355 | "ignore": "^4.0.6", | |
|
|
356 | "import-fresh": "^3.0.0", | |
|
|
357 | "imurmurhash": "^0.1.4", | |
|
|
358 | "inquirer": "^6.4.1", | |
|
|
359 | "is-glob": "^4.0.0", | |
|
|
360 | "js-yaml": "^3.13.1", | |
|
|
361 | "json-stable-stringify-without-jsonify": "^1.0.1", | |
|
|
362 | "levn": "^0.3.0", | |
|
|
363 | "lodash": "^4.17.14", | |
|
|
364 | "minimatch": "^3.0.4", | |
|
|
365 | "mkdirp": "^0.5.1", | |
|
|
366 | "natural-compare": "^1.4.0", | |
|
|
367 | "optionator": "^0.8.2", | |
|
|
368 | "progress": "^2.0.0", | |
|
|
369 | "regexpp": "^2.0.1", | |
|
|
370 | "semver": "^6.1.2", | |
|
|
371 | "strip-ansi": "^5.2.0", | |
|
|
372 | "strip-json-comments": "^3.0.1", | |
|
|
373 | "table": "^5.2.3", | |
|
|
374 | "text-table": "^0.2.0", | |
|
|
375 | "v8-compile-cache": "^2.0.3" | |
|
|
376 | } | |
|
|
377 | }, | |
|
|
378 | "eslint-scope": { | |
|
|
379 | "version": "5.0.0", | |
|
|
380 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", | |
|
|
381 | "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", | |
|
|
382 | "dev": true, | |
|
|
383 | "requires": { | |
|
|
384 | "esrecurse": "^4.1.0", | |
|
|
385 | "estraverse": "^4.1.1" | |
|
|
386 | } | |
|
|
387 | }, | |
|
|
388 | "eslint-utils": { | |
|
|
389 | "version": "1.4.2", | |
|
|
390 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", | |
|
|
391 | "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", | |
|
|
392 | "dev": true, | |
|
|
393 | "requires": { | |
|
|
394 | "eslint-visitor-keys": "^1.0.0" | |
|
|
395 | } | |
|
|
396 | }, | |
|
|
397 | "eslint-visitor-keys": { | |
|
|
398 | "version": "1.1.0", | |
|
|
399 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", | |
|
|
400 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", | |
|
|
401 | "dev": true | |
|
|
402 | }, | |
|
|
403 | "espree": { | |
|
|
404 | "version": "6.1.1", | |
|
|
405 | "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", | |
|
|
406 | "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", | |
|
|
134 | 407 | "dev": true, |
|
|
135 | 408 | "requires": { |
|
|
136 |
" |
|
|
|
137 |
" |
|
|
|
138 |
" |
|
|
|
139 | "sprintf": "~0.1.3", | |
|
|
140 | "tap-parser": "~0.4.0", | |
|
|
141 | "tape": "~2.3.2", | |
|
|
142 |
|
|
|
|
409 | "acorn": "^7.0.0", | |
|
|
410 | "acorn-jsx": "^5.0.2", | |
|
|
411 | "eslint-visitor-keys": "^1.1.0" | |
|
|
412 | } | |
|
|
413 | }, | |
|
|
414 | "esprima": { | |
|
|
415 | "version": "4.0.1", | |
|
|
416 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | |
|
|
417 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | |
|
|
418 | "dev": true | |
|
|
419 | }, | |
|
|
420 | "esquery": { | |
|
|
421 | "version": "1.0.1", | |
|
|
422 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", | |
|
|
423 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", | |
|
|
424 | "dev": true, | |
|
|
425 | "requires": { | |
|
|
426 | "estraverse": "^4.0.0" | |
|
|
427 | } | |
|
|
143 | 428 |
|
|
|
144 | "dependencies": { | |
|
|
145 | "tape": { | |
|
|
146 | "version": "2.3.3", | |
|
|
147 | "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz", | |
|
|
148 | "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", | |
|
|
429 | "esrecurse": { | |
|
|
430 | "version": "4.2.1", | |
|
|
431 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", | |
|
|
432 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", | |
|
|
433 | "dev": true, | |
|
|
434 | "requires": { | |
|
|
435 | "estraverse": "^4.1.0" | |
|
|
436 | } | |
|
|
437 | }, | |
|
|
438 | "estraverse": { | |
|
|
439 | "version": "4.3.0", | |
|
|
440 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | |
|
|
441 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | |
|
|
442 | "dev": true | |
|
|
443 | }, | |
|
|
444 | "esutils": { | |
|
|
445 | "version": "2.0.3", | |
|
|
446 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | |
|
|
447 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", | |
|
|
448 | "dev": true | |
|
|
449 | }, | |
|
|
450 | "external-editor": { | |
|
|
451 | "version": "3.1.0", | |
|
|
452 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", | |
|
|
453 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", | |
|
|
149 | 454 |
|
|
|
150 | 455 |
|
|
|
151 |
|
|
|
|
152 | "defined": "~0.0.0", | |
|
|
153 |
|
|
|
|
154 | "jsonify": "~0.0.0", | |
|
|
155 | "resumer": "~0.0.0", | |
|
|
156 | "through": "~2.3.4" | |
|
|
456 | "chardet": "^0.7.0", | |
|
|
457 | "iconv-lite": "^0.4.24", | |
|
|
458 | "tmp": "^0.0.33" | |
|
|
157 | 459 |
|
|
|
460 | }, | |
|
|
461 | "fast-deep-equal": { | |
|
|
462 | "version": "2.0.1", | |
|
|
463 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", | |
|
|
464 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", | |
|
|
465 | "dev": true | |
|
|
466 | }, | |
|
|
467 | "fast-json-stable-stringify": { | |
|
|
468 | "version": "2.0.0", | |
|
|
469 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", | |
|
|
470 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", | |
|
|
471 | "dev": true | |
|
|
472 | }, | |
|
|
473 | "fast-levenshtein": { | |
|
|
474 | "version": "2.0.6", | |
|
|
475 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", | |
|
|
476 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", | |
|
|
477 | "dev": true | |
|
|
478 | }, | |
|
|
479 | "figures": { | |
|
|
480 | "version": "2.0.0", | |
|
|
481 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", | |
|
|
482 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", | |
|
|
483 | "dev": true, | |
|
|
484 | "requires": { | |
|
|
485 | "escape-string-regexp": "^1.0.5" | |
|
|
158 | 486 |
|
|
|
487 | }, | |
|
|
488 | "file-entry-cache": { | |
|
|
489 | "version": "5.0.1", | |
|
|
490 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", | |
|
|
491 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", | |
|
|
492 | "dev": true, | |
|
|
493 | "requires": { | |
|
|
494 | "flat-cache": "^2.0.1" | |
|
|
159 | 495 | } |
|
|
160 | 496 | }, |
|
|
497 | "flat-cache": { | |
|
|
498 | "version": "2.0.1", | |
|
|
499 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", | |
|
|
500 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", | |
|
|
501 | "dev": true, | |
|
|
502 | "requires": { | |
|
|
503 | "flatted": "^2.0.0", | |
|
|
504 | "rimraf": "2.6.3", | |
|
|
505 | "write": "1.0.3" | |
|
|
506 | } | |
|
|
507 | }, | |
|
|
508 | "flatted": { | |
|
|
509 | "version": "2.0.1", | |
|
|
510 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", | |
|
|
511 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", | |
|
|
512 | "dev": true | |
|
|
513 | }, | |
|
|
161 | 514 | "for-each": { |
|
|
162 | 515 | "version": "0.3.3", |
|
|
163 | 516 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", |
|
|
164 | 517 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", |
|
|
165 | 518 | "dev": true, |
|
|
166 | 519 | "requires": { |
|
|
167 | 520 | "is-callable": "^1.1.3" |
|
|
168 | 521 | } |
|
|
169 | 522 | }, |
|
|
170 | 523 | "fs.realpath": { |
|
|
171 | 524 | "version": "1.0.0", |
|
|
172 | 525 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |
|
|
173 | 526 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", |
|
|
174 | 527 | "dev": true |
|
|
175 | 528 | }, |
|
|
176 | 529 | "function-bind": { |
|
|
177 | 530 | "version": "1.1.1", |
|
|
178 | 531 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", |
|
|
179 | 532 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", |
|
|
180 | 533 | "dev": true |
|
|
181 | 534 | }, |
|
|
535 | "functional-red-black-tree": { | |
|
|
536 | "version": "1.0.1", | |
|
|
537 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", | |
|
|
538 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", | |
|
|
539 | "dev": true | |
|
|
540 | }, | |
|
|
182 | 541 | "glob": { |
|
|
183 |
"version": "7.1. |
|
|
|
184 |
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1. |
|
|
|
185 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", | |
|
|
542 | "version": "7.1.4", | |
|
|
543 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", | |
|
|
544 | "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", | |
|
|
186 | 545 | "dev": true, |
|
|
187 | 546 | "requires": { |
|
|
188 | 547 | "fs.realpath": "^1.0.0", |
|
|
189 | 548 | "inflight": "^1.0.4", |
|
|
190 | 549 | "inherits": "2", |
|
|
191 | 550 | "minimatch": "^3.0.4", |
|
|
192 | 551 | "once": "^1.3.0", |
|
|
193 | 552 | "path-is-absolute": "^1.0.0" |
|
|
194 | 553 | } |
|
|
195 | 554 | }, |
|
|
555 | "glob-parent": { | |
|
|
556 | "version": "5.1.0", | |
|
|
557 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", | |
|
|
558 | "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", | |
|
|
559 | "dev": true, | |
|
|
560 | "requires": { | |
|
|
561 | "is-glob": "^4.0.1" | |
|
|
562 | } | |
|
|
563 | }, | |
|
|
564 | "globals": { | |
|
|
565 | "version": "11.12.0", | |
|
|
566 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", | |
|
|
567 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", | |
|
|
568 | "dev": true | |
|
|
569 | }, | |
|
|
196 | 570 | "has": { |
|
|
197 | 571 | "version": "1.0.3", |
|
|
198 | 572 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", |
|
|
199 | 573 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", |
|
|
200 | 574 | "dev": true, |
|
|
201 | 575 | "requires": { |
|
|
202 | 576 | "function-bind": "^1.1.1" |
|
|
203 | 577 | } |
|
|
204 | 578 | }, |
|
|
579 | "has-flag": { | |
|
|
580 | "version": "3.0.0", | |
|
|
581 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | |
|
|
582 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | |
|
|
583 | "dev": true | |
|
|
584 | }, | |
|
|
205 | 585 | "has-symbols": { |
|
|
206 | 586 | "version": "1.0.0", |
|
|
207 | 587 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", |
|
|
208 | 588 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", |
|
|
209 | 589 | "dev": true |
|
|
210 | 590 | }, |
|
|
591 | "iconv-lite": { | |
|
|
592 | "version": "0.4.24", | |
|
|
593 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | |
|
|
594 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | |
|
|
595 | "dev": true, | |
|
|
596 | "requires": { | |
|
|
597 | "safer-buffer": ">= 2.1.2 < 3" | |
|
|
598 | } | |
|
|
599 | }, | |
|
|
600 | "ignore": { | |
|
|
601 | "version": "4.0.6", | |
|
|
602 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", | |
|
|
603 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", | |
|
|
604 | "dev": true | |
|
|
605 | }, | |
|
|
606 | "import-fresh": { | |
|
|
607 | "version": "3.1.0", | |
|
|
608 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", | |
|
|
609 | "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", | |
|
|
610 | "dev": true, | |
|
|
611 | "requires": { | |
|
|
612 | "parent-module": "^1.0.0", | |
|
|
613 | "resolve-from": "^4.0.0" | |
|
|
614 | } | |
|
|
615 | }, | |
|
|
616 | "imurmurhash": { | |
|
|
617 | "version": "0.1.4", | |
|
|
618 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", | |
|
|
619 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", | |
|
|
620 | "dev": true | |
|
|
621 | }, | |
|
|
211 | 622 | "inflight": { |
|
|
212 | 623 | "version": "1.0.6", |
|
|
213 | 624 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", |
|
|
214 | 625 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", |
|
|
215 | 626 | "dev": true, |
|
|
216 | 627 | "requires": { |
|
|
217 | 628 | "once": "^1.3.0", |
|
|
218 | 629 | "wrappy": "1" |
|
|
219 | 630 | } |
|
|
220 | 631 | }, |
|
|
221 | 632 | "inherits": { |
|
|
222 | 633 | "version": "2.0.3", |
|
|
223 | 634 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", |
|
|
224 | 635 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", |
|
|
225 | 636 | "dev": true |
|
|
226 | 637 | }, |
|
|
638 | "inquirer": { | |
|
|
639 | "version": "6.5.2", | |
|
|
640 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", | |
|
|
641 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", | |
|
|
642 | "dev": true, | |
|
|
643 | "requires": { | |
|
|
644 | "ansi-escapes": "^3.2.0", | |
|
|
645 | "chalk": "^2.4.2", | |
|
|
646 | "cli-cursor": "^2.1.0", | |
|
|
647 | "cli-width": "^2.0.0", | |
|
|
648 | "external-editor": "^3.0.3", | |
|
|
649 | "figures": "^2.0.0", | |
|
|
650 | "lodash": "^4.17.12", | |
|
|
651 | "mute-stream": "0.0.7", | |
|
|
652 | "run-async": "^2.2.0", | |
|
|
653 | "rxjs": "^6.4.0", | |
|
|
654 | "string-width": "^2.1.0", | |
|
|
655 | "strip-ansi": "^5.1.0", | |
|
|
656 | "through": "^2.3.6" | |
|
|
657 | } | |
|
|
658 | }, | |
|
|
227 | 659 | "is-callable": { |
|
|
228 | 660 | "version": "1.1.4", |
|
|
229 | 661 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", |
|
|
230 | 662 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", |
|
|
231 | 663 | "dev": true |
|
|
232 | 664 | }, |
|
|
233 | 665 | "is-date-object": { |
|
|
234 | 666 | "version": "1.0.1", |
|
|
235 | 667 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", |
|
|
236 | 668 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", |
|
|
237 | 669 | "dev": true |
|
|
238 | 670 | }, |
|
|
671 | "is-extglob": { | |
|
|
672 | "version": "2.1.1", | |
|
|
673 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | |
|
|
674 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", | |
|
|
675 | "dev": true | |
|
|
676 | }, | |
|
|
677 | "is-fullwidth-code-point": { | |
|
|
678 | "version": "2.0.0", | |
|
|
679 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | |
|
|
680 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | |
|
|
681 | "dev": true | |
|
|
682 | }, | |
|
|
683 | "is-glob": { | |
|
|
684 | "version": "4.0.1", | |
|
|
685 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", | |
|
|
686 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", | |
|
|
687 | "dev": true, | |
|
|
688 | "requires": { | |
|
|
689 | "is-extglob": "^2.1.1" | |
|
|
690 | } | |
|
|
691 | }, | |
|
|
692 | "is-promise": { | |
|
|
693 | "version": "2.1.0", | |
|
|
694 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", | |
|
|
695 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", | |
|
|
696 | "dev": true | |
|
|
697 | }, | |
|
|
239 | 698 | "is-regex": { |
|
|
240 | 699 | "version": "1.0.4", |
|
|
241 | 700 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", |
|
|
242 | 701 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", |
|
|
243 | 702 | "dev": true, |
|
|
244 | 703 | "requires": { |
|
|
245 | 704 | "has": "^1.0.1" |
|
|
246 | 705 | } |
|
|
247 | 706 | }, |
|
|
248 | 707 | "is-symbol": { |
|
|
249 | 708 | "version": "1.0.2", |
|
|
250 | 709 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", |
|
|
251 | 710 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", |
|
|
252 | 711 | "dev": true, |
|
|
253 | 712 | "requires": { |
|
|
254 | 713 | "has-symbols": "^1.0.0" |
|
|
255 | 714 | } |
|
|
256 | 715 | }, |
|
|
257 |
"is |
|
|
|
258 |
"version": "0.0 |
|
|
|
259 |
"resolved": "https://registry.npmjs.org/is |
|
|
|
260 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", | |
|
|
716 | "isexe": { | |
|
|
717 | "version": "2.0.0", | |
|
|
718 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | |
|
|
719 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", | |
|
|
720 | "dev": true | |
|
|
721 | }, | |
|
|
722 | "js-tokens": { | |
|
|
723 | "version": "4.0.0", | |
|
|
724 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | |
|
|
725 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", | |
|
|
261 | 726 | "dev": true |
|
|
262 | 727 | }, |
|
|
263 |
"js |
|
|
|
264 |
"version": " |
|
|
|
265 |
"resolved": "https://registry.npmjs.org/js |
|
|
|
266 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", | |
|
|
728 | "js-yaml": { | |
|
|
729 | "version": "3.13.1", | |
|
|
730 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", | |
|
|
731 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", | |
|
|
732 | "dev": true, | |
|
|
733 | "requires": { | |
|
|
734 | "argparse": "^1.0.7", | |
|
|
735 | "esprima": "^4.0.0" | |
|
|
736 | } | |
|
|
737 | }, | |
|
|
738 | "json-schema-traverse": { | |
|
|
739 | "version": "0.4.1", | |
|
|
740 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | |
|
|
741 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", | |
|
|
742 | "dev": true | |
|
|
743 | }, | |
|
|
744 | "json-stable-stringify-without-jsonify": { | |
|
|
745 | "version": "1.0.1", | |
|
|
746 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", | |
|
|
747 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", | |
|
|
748 | "dev": true | |
|
|
749 | }, | |
|
|
750 | "levn": { | |
|
|
751 | "version": "0.3.0", | |
|
|
752 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", | |
|
|
753 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", | |
|
|
754 | "dev": true, | |
|
|
755 | "requires": { | |
|
|
756 | "prelude-ls": "~1.1.2", | |
|
|
757 | "type-check": "~0.3.2" | |
|
|
758 | } | |
|
|
759 | }, | |
|
|
760 | "lodash": { | |
|
|
761 | "version": "4.17.15", | |
|
|
762 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | |
|
|
763 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", | |
|
|
764 | "dev": true | |
|
|
765 | }, | |
|
|
766 | "mimic-fn": { | |
|
|
767 | "version": "1.2.0", | |
|
|
768 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", | |
|
|
769 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | |
|
|
267 | 770 | "dev": true |
|
|
268 | 771 | }, |
|
|
269 | 772 | "minimatch": { |
|
|
270 | 773 | "version": "3.0.4", |
|
|
271 | 774 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", |
|
|
272 | 775 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", |
|
|
273 | 776 | "dev": true, |
|
|
274 | 777 | "requires": { |
|
|
275 | 778 | "brace-expansion": "^1.1.7" |
|
|
276 | 779 | } |
|
|
277 | 780 | }, |
|
|
278 | 781 | "minimist": { |
|
|
279 |
"version": "0.0. |
|
|
|
280 |
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0. |
|
|
|
281 | "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=", | |
|
|
782 | "version": "0.0.8", | |
|
|
783 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | |
|
|
784 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", | |
|
|
785 | "dev": true | |
|
|
786 | }, | |
|
|
787 | "mkdirp": { | |
|
|
788 | "version": "0.5.1", | |
|
|
789 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", | |
|
|
790 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", | |
|
|
791 | "dev": true, | |
|
|
792 | "requires": { | |
|
|
793 | "minimist": "0.0.8" | |
|
|
794 | } | |
|
|
795 | }, | |
|
|
796 | "ms": { | |
|
|
797 | "version": "2.1.2", | |
|
|
798 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | |
|
|
799 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | |
|
|
800 | "dev": true | |
|
|
801 | }, | |
|
|
802 | "mute-stream": { | |
|
|
803 | "version": "0.0.7", | |
|
|
804 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", | |
|
|
805 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", | |
|
|
806 | "dev": true | |
|
|
807 | }, | |
|
|
808 | "natural-compare": { | |
|
|
809 | "version": "1.4.0", | |
|
|
810 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", | |
|
|
811 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | |
|
|
812 | "dev": true | |
|
|
813 | }, | |
|
|
814 | "nice-try": { | |
|
|
815 | "version": "1.0.5", | |
|
|
816 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", | |
|
|
817 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", | |
|
|
282 | 818 | "dev": true |
|
|
283 | 819 | }, |
|
|
284 | 820 | "object-inspect": { |
|
|
285 | 821 | "version": "1.6.0", |
|
|
286 | 822 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", |
|
|
287 | 823 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", |
|
|
288 | 824 | "dev": true |
|
|
289 | 825 | }, |
|
|
290 | "object-keys": { | |
|
|
291 | "version": "0.4.0", | |
|
|
292 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", | |
|
|
293 | "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", | |
|
|
294 | "dev": true | |
|
|
295 | }, | |
|
|
296 | 826 | "once": { |
|
|
297 | 827 | "version": "1.4.0", |
|
|
298 | 828 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", |
|
|
299 | 829 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", |
|
|
300 | 830 | "dev": true, |
|
|
301 | 831 | "requires": { |
|
|
302 | 832 | "wrappy": "1" |
|
|
303 | 833 | } |
|
|
304 | 834 | }, |
|
|
835 | "onetime": { | |
|
|
836 | "version": "2.0.1", | |
|
|
837 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", | |
|
|
838 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", | |
|
|
839 | "dev": true, | |
|
|
840 | "requires": { | |
|
|
841 | "mimic-fn": "^1.0.0" | |
|
|
842 | } | |
|
|
843 | }, | |
|
|
844 | "optionator": { | |
|
|
845 | "version": "0.8.2", | |
|
|
846 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", | |
|
|
847 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", | |
|
|
848 | "dev": true, | |
|
|
849 | "requires": { | |
|
|
850 | "deep-is": "~0.1.3", | |
|
|
851 | "fast-levenshtein": "~2.0.4", | |
|
|
852 | "levn": "~0.3.0", | |
|
|
853 | "prelude-ls": "~1.1.2", | |
|
|
854 | "type-check": "~0.3.2", | |
|
|
855 | "wordwrap": "~1.0.0" | |
|
|
856 | } | |
|
|
857 | }, | |
|
|
858 | "os-tmpdir": { | |
|
|
859 | "version": "1.0.2", | |
|
|
860 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", | |
|
|
861 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", | |
|
|
862 | "dev": true | |
|
|
863 | }, | |
|
|
864 | "parent-module": { | |
|
|
865 | "version": "1.0.1", | |
|
|
866 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | |
|
|
867 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", | |
|
|
868 | "dev": true, | |
|
|
869 | "requires": { | |
|
|
870 | "callsites": "^3.0.0" | |
|
|
871 | } | |
|
|
872 | }, | |
|
|
305 | 873 | "path-is-absolute": { |
|
|
306 | 874 | "version": "1.0.1", |
|
|
307 | 875 | "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |
|
|
308 | 876 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", |
|
|
309 | 877 | "dev": true |
|
|
310 | 878 | }, |
|
|
879 | "path-key": { | |
|
|
880 | "version": "2.0.1", | |
|
|
881 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", | |
|
|
882 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", | |
|
|
883 | "dev": true | |
|
|
884 | }, | |
|
|
311 | 885 | "path-parse": { |
|
|
312 | 886 | "version": "1.0.6", |
|
|
313 | 887 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", |
|
|
314 | 888 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", |
|
|
315 | 889 | "dev": true |
|
|
316 | 890 | }, |
|
|
317 |
" |
|
|
|
318 |
"version": "1.1. |
|
|
|
319 |
"resolved": "https://registry.npmjs.org/ |
|
|
|
320 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | |
|
|
321 |
"dev": true |
|
|
|
322 | "requires": { | |
|
|
323 | "core-util-is": "~1.0.0", | |
|
|
324 |
|
|
|
|
325 | "isarray": "0.0.1", | |
|
|
326 | "string_decoder": "~0.10.x" | |
|
|
327 | } | |
|
|
891 | "prelude-ls": { | |
|
|
892 | "version": "1.1.2", | |
|
|
893 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", | |
|
|
894 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", | |
|
|
895 | "dev": true | |
|
|
896 | }, | |
|
|
897 | "progress": { | |
|
|
898 | "version": "2.0.3", | |
|
|
899 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", | |
|
|
900 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", | |
|
|
901 | "dev": true | |
|
|
902 | }, | |
|
|
903 | "punycode": { | |
|
|
904 | "version": "2.1.1", | |
|
|
905 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | |
|
|
906 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", | |
|
|
907 | "dev": true | |
|
|
908 | }, | |
|
|
909 | "regexpp": { | |
|
|
910 | "version": "2.0.1", | |
|
|
911 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", | |
|
|
912 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", | |
|
|
913 | "dev": true | |
|
|
328 | 914 | }, |
|
|
329 | 915 | "requirejs": { |
|
|
330 | 916 | "version": "2.3.6", |
|
|
331 | 917 | "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", |
|
|
332 | 918 | "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", |
|
|
333 | 919 | "dev": true |
|
|
334 | 920 | }, |
|
|
335 | 921 | "resolve": { |
|
|
336 |
"version": "1. |
|
|
|
337 |
"resolved": "http://registry.npmjs.org/resolve/-/resolve-1. |
|
|
|
338 | "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", | |
|
|
922 | "version": "1.11.1", | |
|
|
923 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", | |
|
|
924 | "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", | |
|
|
339 | 925 | "dev": true, |
|
|
340 | 926 | "requires": { |
|
|
341 |
"path-parse": "^1.0. |
|
|
|
927 | "path-parse": "^1.0.6" | |
|
|
928 | } | |
|
|
929 | }, | |
|
|
930 | "resolve-from": { | |
|
|
931 | "version": "4.0.0", | |
|
|
932 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", | |
|
|
933 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", | |
|
|
934 | "dev": true | |
|
|
935 | }, | |
|
|
936 | "restore-cursor": { | |
|
|
937 | "version": "2.0.0", | |
|
|
938 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", | |
|
|
939 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", | |
|
|
940 | "dev": true, | |
|
|
941 | "requires": { | |
|
|
942 | "onetime": "^2.0.0", | |
|
|
943 | "signal-exit": "^3.0.2" | |
|
|
342 | 944 | } |
|
|
343 | 945 | }, |
|
|
344 | 946 | "resumer": { |
|
|
345 | 947 | "version": "0.0.0", |
|
|
346 | 948 | "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", |
|
|
347 | 949 | "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", |
|
|
348 | 950 | "dev": true, |
|
|
349 | 951 | "requires": { |
|
|
350 | 952 | "through": "~2.3.4" |
|
|
351 | 953 | } |
|
|
352 | 954 | }, |
|
|
353 |
" |
|
|
|
354 |
"version": " |
|
|
|
355 |
"resolved": "https://registry.npmjs.org/ |
|
|
|
356 | "integrity": "sha1-j4PjmpMXwaUCy324BQ5Rxnn27c8=", | |
|
|
955 | "rimraf": { | |
|
|
956 | "version": "2.6.3", | |
|
|
957 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", | |
|
|
958 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", | |
|
|
959 | "dev": true, | |
|
|
960 | "requires": { | |
|
|
961 | "glob": "^7.1.3" | |
|
|
962 | } | |
|
|
963 | }, | |
|
|
964 | "run-async": { | |
|
|
965 | "version": "2.3.0", | |
|
|
966 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", | |
|
|
967 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", | |
|
|
968 | "dev": true, | |
|
|
969 | "requires": { | |
|
|
970 | "is-promise": "^2.1.0" | |
|
|
971 | } | |
|
|
972 | }, | |
|
|
973 | "rxjs": { | |
|
|
974 | "version": "6.5.3", | |
|
|
975 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", | |
|
|
976 | "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", | |
|
|
977 | "dev": true, | |
|
|
978 | "requires": { | |
|
|
979 | "tslib": "^1.9.0" | |
|
|
980 | } | |
|
|
981 | }, | |
|
|
982 | "safer-buffer": { | |
|
|
983 | "version": "2.1.2", | |
|
|
984 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | |
|
|
985 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", | |
|
|
986 | "dev": true | |
|
|
987 | }, | |
|
|
988 | "semver": { | |
|
|
989 | "version": "6.3.0", | |
|
|
990 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | |
|
|
991 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | |
|
|
357 | 992 | "dev": true |
|
|
358 | 993 | }, |
|
|
994 | "shebang-command": { | |
|
|
995 | "version": "1.2.0", | |
|
|
996 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", | |
|
|
997 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", | |
|
|
998 | "dev": true, | |
|
|
999 | "requires": { | |
|
|
1000 | "shebang-regex": "^1.0.0" | |
|
|
1001 | } | |
|
|
1002 | }, | |
|
|
1003 | "shebang-regex": { | |
|
|
1004 | "version": "1.0.0", | |
|
|
1005 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", | |
|
|
1006 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", | |
|
|
1007 | "dev": true | |
|
|
1008 | }, | |
|
|
1009 | "signal-exit": { | |
|
|
1010 | "version": "3.0.2", | |
|
|
1011 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", | |
|
|
1012 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", | |
|
|
1013 | "dev": true | |
|
|
1014 | }, | |
|
|
1015 | "slice-ansi": { | |
|
|
1016 | "version": "2.1.0", | |
|
|
1017 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", | |
|
|
1018 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", | |
|
|
1019 | "dev": true, | |
|
|
1020 | "requires": { | |
|
|
1021 | "ansi-styles": "^3.2.0", | |
|
|
1022 | "astral-regex": "^1.0.0", | |
|
|
1023 | "is-fullwidth-code-point": "^2.0.0" | |
|
|
1024 | } | |
|
|
1025 | }, | |
|
|
1026 | "sprintf-js": { | |
|
|
1027 | "version": "1.0.3", | |
|
|
1028 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | |
|
|
1029 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | |
|
|
1030 | "dev": true | |
|
|
1031 | }, | |
|
|
1032 | "string-width": { | |
|
|
1033 | "version": "2.1.1", | |
|
|
1034 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", | |
|
|
1035 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", | |
|
|
1036 | "dev": true, | |
|
|
1037 | "requires": { | |
|
|
1038 | "is-fullwidth-code-point": "^2.0.0", | |
|
|
1039 | "strip-ansi": "^4.0.0" | |
|
|
1040 | }, | |
|
|
1041 | "dependencies": { | |
|
|
1042 | "strip-ansi": { | |
|
|
1043 | "version": "4.0.0", | |
|
|
1044 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", | |
|
|
1045 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", | |
|
|
1046 | "dev": true, | |
|
|
1047 | "requires": { | |
|
|
1048 | "ansi-regex": "^3.0.0" | |
|
|
1049 | } | |
|
|
1050 | } | |
|
|
1051 | } | |
|
|
1052 | }, | |
|
|
359 | 1053 | "string.prototype.trim": { |
|
|
360 | 1054 | "version": "1.1.2", |
|
|
361 | 1055 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", |
|
|
362 | 1056 | "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", |
|
|
363 | 1057 | "dev": true, |
|
|
364 | 1058 | "requires": { |
|
|
365 | 1059 | "define-properties": "^1.1.2", |
|
|
366 | 1060 | "es-abstract": "^1.5.0", |
|
|
367 | 1061 | "function-bind": "^1.0.2" |
|
|
368 | 1062 | } |
|
|
369 | 1063 | }, |
|
|
370 | "string_decoder": { | |
|
|
371 |
"version": " |
|
|
|
372 |
"resolved": "https://registry.npmjs.org/string |
|
|
|
373 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", | |
|
|
1064 | "string.prototype.trimleft": { | |
|
|
1065 | "version": "2.1.0", | |
|
|
1066 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", | |
|
|
1067 | "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", | |
|
|
1068 | "dev": true, | |
|
|
1069 | "requires": { | |
|
|
1070 | "define-properties": "^1.1.3", | |
|
|
1071 | "function-bind": "^1.1.1" | |
|
|
1072 | } | |
|
|
1073 | }, | |
|
|
1074 | "string.prototype.trimright": { | |
|
|
1075 | "version": "2.1.0", | |
|
|
1076 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", | |
|
|
1077 | "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", | |
|
|
1078 | "dev": true, | |
|
|
1079 | "requires": { | |
|
|
1080 | "define-properties": "^1.1.3", | |
|
|
1081 | "function-bind": "^1.1.1" | |
|
|
1082 | } | |
|
|
1083 | }, | |
|
|
1084 | "strip-ansi": { | |
|
|
1085 | "version": "5.2.0", | |
|
|
1086 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | |
|
|
1087 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | |
|
|
1088 | "dev": true, | |
|
|
1089 | "requires": { | |
|
|
1090 | "ansi-regex": "^4.1.0" | |
|
|
1091 | }, | |
|
|
1092 | "dependencies": { | |
|
|
1093 | "ansi-regex": { | |
|
|
1094 | "version": "4.1.0", | |
|
|
1095 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | |
|
|
1096 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | |
|
|
1097 | "dev": true | |
|
|
1098 | } | |
|
|
1099 | } | |
|
|
1100 | }, | |
|
|
1101 | "strip-json-comments": { | |
|
|
1102 | "version": "3.0.1", | |
|
|
1103 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", | |
|
|
1104 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", | |
|
|
374 | 1105 | "dev": true |
|
|
375 | 1106 | }, |
|
|
376 | "tap-parser": { | |
|
|
377 |
"version": " |
|
|
|
378 |
"resolved": "https://registry.npmjs.org/ |
|
|
|
379 | "integrity": "sha1-pOrhkMENdsehEZIf84u+TVjwnuo=", | |
|
|
1107 | "supports-color": { | |
|
|
1108 | "version": "5.5.0", | |
|
|
1109 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | |
|
|
1110 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | |
|
|
1111 | "dev": true, | |
|
|
1112 | "requires": { | |
|
|
1113 | "has-flag": "^3.0.0" | |
|
|
1114 | } | |
|
|
1115 | }, | |
|
|
1116 | "table": { | |
|
|
1117 | "version": "5.4.6", | |
|
|
1118 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", | |
|
|
1119 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", | |
|
|
380 | 1120 | "dev": true, |
|
|
381 | 1121 | "requires": { |
|
|
382 |
" |
|
|
|
383 |
" |
|
|
|
1122 | "ajv": "^6.10.2", | |
|
|
1123 | "lodash": "^4.17.14", | |
|
|
1124 | "slice-ansi": "^2.1.0", | |
|
|
1125 | "string-width": "^3.0.0" | |
|
|
1126 | }, | |
|
|
1127 | "dependencies": { | |
|
|
1128 | "string-width": { | |
|
|
1129 | "version": "3.1.0", | |
|
|
1130 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | |
|
|
1131 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | |
|
|
1132 | "dev": true, | |
|
|
1133 | "requires": { | |
|
|
1134 | "emoji-regex": "^7.0.1", | |
|
|
1135 | "is-fullwidth-code-point": "^2.0.0", | |
|
|
1136 | "strip-ansi": "^5.1.0" | |
|
|
1137 | } | |
|
|
1138 | } | |
|
|
384 | 1139 | } |
|
|
385 | 1140 | }, |
|
|
386 | 1141 | "tape": { |
|
|
387 |
"version": "4. |
|
|
|
388 |
"resolved": "https://registry.npmjs.org/tape/-/tape-4. |
|
|
|
389 | "integrity": "sha512-lPXKRKILZ1kZaUy5ynWKs8ATGSUO7HAFHCFnBam6FaGSqPdOwMWbxXHq4EXFLE8WRTleo/YOMXkaUTRmTB1Fiw==", | |
|
|
1142 | "version": "4.11.0", | |
|
|
1143 | "resolved": "https://registry.npmjs.org/tape/-/tape-4.11.0.tgz", | |
|
|
1144 | "integrity": "sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA==", | |
|
|
390 | 1145 | "dev": true, |
|
|
391 | 1146 | "requires": { |
|
|
392 | 1147 | "deep-equal": "~1.0.1", |
|
|
393 | 1148 | "defined": "~1.0.0", |
|
|
394 | 1149 | "for-each": "~0.3.3", |
|
|
395 | 1150 | "function-bind": "~1.1.1", |
|
|
396 |
"glob": "~7.1. |
|
|
|
1151 | "glob": "~7.1.4", | |
|
|
397 | 1152 | "has": "~1.0.3", |
|
|
398 |
"inherits": "~2.0. |
|
|
|
1153 | "inherits": "~2.0.4", | |
|
|
399 | 1154 | "minimist": "~1.2.0", |
|
|
400 | 1155 | "object-inspect": "~1.6.0", |
|
|
401 |
"resolve": "~1. |
|
|
|
1156 | "resolve": "~1.11.1", | |
|
|
402 | 1157 | "resumer": "~0.0.0", |
|
|
403 | 1158 | "string.prototype.trim": "~1.1.2", |
|
|
404 | 1159 | "through": "~2.3.8" |
|
|
405 | 1160 | }, |
|
|
406 | 1161 | "dependencies": { |
|
|
407 | 1162 | "deep-equal": { |
|
|
408 | 1163 | "version": "1.0.1", |
|
|
409 | 1164 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", |
|
|
410 | 1165 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", |
|
|
411 | 1166 | "dev": true |
|
|
412 | 1167 | }, |
|
|
413 | 1168 | "defined": { |
|
|
414 | 1169 | "version": "1.0.0", |
|
|
415 | 1170 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", |
|
|
416 | 1171 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", |
|
|
417 | 1172 | "dev": true |
|
|
418 | 1173 | }, |
|
|
1174 | "inherits": { | |
|
|
1175 | "version": "2.0.4", | |
|
|
1176 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | |
|
|
1177 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | |
|
|
1178 | "dev": true | |
|
|
1179 | }, | |
|
|
419 | 1180 | "minimist": { |
|
|
420 | 1181 | "version": "1.2.0", |
|
|
421 | 1182 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", |
|
|
422 | 1183 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", |
|
|
423 | 1184 | "dev": true |
|
|
424 | 1185 | } |
|
|
425 | 1186 | } |
|
|
426 | 1187 | }, |
|
|
1188 | "text-table": { | |
|
|
1189 | "version": "0.2.0", | |
|
|
1190 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", | |
|
|
1191 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", | |
|
|
1192 | "dev": true | |
|
|
1193 | }, | |
|
|
427 | 1194 | "through": { |
|
|
428 | 1195 | "version": "2.3.8", |
|
|
429 | 1196 | "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", |
|
|
430 | 1197 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", |
|
|
431 | 1198 | "dev": true |
|
|
432 | 1199 | }, |
|
|
433 |
"t |
|
|
|
434 |
"version": "0. |
|
|
|
435 |
"resolved": "https://registry.npmjs.org/t |
|
|
|
436 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", | |
|
|
1200 | "tmp": { | |
|
|
1201 | "version": "0.0.33", | |
|
|
1202 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", | |
|
|
1203 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", | |
|
|
437 | 1204 | "dev": true, |
|
|
438 | 1205 | "requires": { |
|
|
439 | "readable-stream": "~1.1.9", | |
|
|
440 | "xtend": "~2.1.1" | |
|
|
1206 | "os-tmpdir": "~1.0.2" | |
|
|
441 | 1207 | } |
|
|
442 | 1208 | }, |
|
|
443 | 1209 | "tslib": { |
|
|
444 |
"version": "1. |
|
|
|
445 |
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1. |
|
|
|
446 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", | |
|
|
1210 | "version": "1.10.0", | |
|
|
1211 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", | |
|
|
1212 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", | |
|
|
447 | 1213 | "dev": true |
|
|
448 | 1214 | }, |
|
|
1215 | "tslint": { | |
|
|
1216 | "version": "5.18.0", | |
|
|
1217 | "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.18.0.tgz", | |
|
|
1218 | "integrity": "sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==", | |
|
|
1219 | "dev": true, | |
|
|
1220 | "requires": { | |
|
|
1221 | "@babel/code-frame": "^7.0.0", | |
|
|
1222 | "builtin-modules": "^1.1.1", | |
|
|
1223 | "chalk": "^2.3.0", | |
|
|
1224 | "commander": "^2.12.1", | |
|
|
1225 | "diff": "^3.2.0", | |
|
|
1226 | "glob": "^7.1.1", | |
|
|
1227 | "js-yaml": "^3.13.1", | |
|
|
1228 | "minimatch": "^3.0.4", | |
|
|
1229 | "mkdirp": "^0.5.1", | |
|
|
1230 | "resolve": "^1.3.2", | |
|
|
1231 | "semver": "^5.3.0", | |
|
|
1232 | "tslib": "^1.8.0", | |
|
|
1233 | "tsutils": "^2.29.0" | |
|
|
1234 | }, | |
|
|
1235 | "dependencies": { | |
|
|
1236 | "semver": { | |
|
|
1237 | "version": "5.7.1", | |
|
|
1238 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | |
|
|
1239 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | |
|
|
1240 | "dev": true | |
|
|
1241 | } | |
|
|
1242 | } | |
|
|
1243 | }, | |
|
|
1244 | "tsutils": { | |
|
|
1245 | "version": "2.29.0", | |
|
|
1246 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", | |
|
|
1247 | "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", | |
|
|
1248 | "dev": true, | |
|
|
1249 | "requires": { | |
|
|
1250 | "tslib": "^1.8.1" | |
|
|
1251 | } | |
|
|
1252 | }, | |
|
|
1253 | "type-check": { | |
|
|
1254 | "version": "0.3.2", | |
|
|
1255 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", | |
|
|
1256 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", | |
|
|
1257 | "dev": true, | |
|
|
1258 | "requires": { | |
|
|
1259 | "prelude-ls": "~1.1.2" | |
|
|
1260 | } | |
|
|
1261 | }, | |
|
|
449 | 1262 | "typescript": { |
|
|
450 |
"version": "3. |
|
|
|
451 |
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3. |
|
|
|
452 | "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==", | |
|
|
1263 | "version": "3.6.4", | |
|
|
1264 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz", | |
|
|
1265 | "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", | |
|
|
1266 | "dev": true | |
|
|
1267 | }, | |
|
|
1268 | "uri-js": { | |
|
|
1269 | "version": "4.2.2", | |
|
|
1270 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", | |
|
|
1271 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", | |
|
|
1272 | "dev": true, | |
|
|
1273 | "requires": { | |
|
|
1274 | "punycode": "^2.1.0" | |
|
|
1275 | } | |
|
|
1276 | }, | |
|
|
1277 | "v8-compile-cache": { | |
|
|
1278 | "version": "2.1.0", | |
|
|
1279 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", | |
|
|
1280 | "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", | |
|
|
1281 | "dev": true | |
|
|
1282 | }, | |
|
|
1283 | "which": { | |
|
|
1284 | "version": "1.3.1", | |
|
|
1285 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", | |
|
|
1286 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", | |
|
|
1287 | "dev": true, | |
|
|
1288 | "requires": { | |
|
|
1289 | "isexe": "^2.0.0" | |
|
|
1290 | } | |
|
|
1291 | }, | |
|
|
1292 | "wordwrap": { | |
|
|
1293 | "version": "1.0.0", | |
|
|
1294 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", | |
|
|
1295 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", | |
|
|
453 | 1296 | "dev": true |
|
|
454 | 1297 | }, |
|
|
455 | 1298 | "wrappy": { |
|
|
456 | 1299 | "version": "1.0.2", |
|
|
457 | 1300 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |
|
|
458 | 1301 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", |
|
|
459 | 1302 | "dev": true |
|
|
460 | 1303 | }, |
|
|
461 |
" |
|
|
|
462 |
"version": " |
|
|
|
463 |
"resolved": "https://registry.npmjs.org/ |
|
|
|
464 | "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", | |
|
|
1304 | "write": { | |
|
|
1305 | "version": "1.0.3", | |
|
|
1306 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", | |
|
|
1307 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", | |
|
|
465 | 1308 | "dev": true, |
|
|
466 | 1309 | "requires": { |
|
|
467 |
" |
|
|
|
1310 | "mkdirp": "^0.5.1" | |
|
|
468 | 1311 | } |
|
|
469 | 1312 | } |
|
|
470 | 1313 | } |
|
|
471 | 1314 | } |
| @@ -1,35 +1,34 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "name": "@implab/core", |
|
|
3 | 3 | "version": "0.0.1-dev", |
|
|
4 | 4 | "description": "Dependency injection, logging, simple and fast text template engine", |
|
|
5 | 5 | "main": "main.js", |
|
|
6 | 6 | "keywords": [ |
|
|
7 | 7 | "di", |
|
|
8 | 8 | "ioc", |
|
|
9 | 9 | "logging", |
|
|
10 | 10 | "template engine", |
|
|
11 | 11 | "dependency injection" |
|
|
12 | 12 | ], |
|
|
13 | 13 | "author": "Implab team", |
|
|
14 | 14 | "license": "BSD-2-Clause", |
|
|
15 | 15 | "repository": "https://bitbucket.org/implab/implabjs", |
|
|
16 | 16 | "publishConfig": { |
|
|
17 | 17 | "access": "public" |
|
|
18 | 18 | }, |
|
|
19 | 19 | "peerDependencies": { |
|
|
20 |
"dojo": "^1.10.0" |
|
|
|
21 | "tslib": "latest" | |
|
|
20 | "dojo": "^1.10.0" | |
|
|
22 | 21 | }, |
|
|
23 | 22 | "devDependencies": { |
|
|
24 |
"@types/node": " |
|
|
|
25 |
"@types/requirejs": " |
|
|
|
26 |
"@types/tape": " |
|
|
|
27 |
"dojo": " |
|
|
|
28 | "faucet": "latest", | |
|
|
23 | "@types/node": "^8.0.0", | |
|
|
24 | "@types/requirejs": "~2.1.31", | |
|
|
25 | "@types/tape": "~4.2.33", | |
|
|
26 | "dojo": "~1.10.0", | |
|
|
27 | "dojo-typings": "^1.11.9", | |
|
|
29 | 28 | "requirejs": "latest", |
|
|
30 |
"tape": " |
|
|
|
31 | "tslib": "latest", | |
|
|
32 | "typescript": "latest" | |
|
|
33 | }, | |
|
|
34 | "types": "main.d.ts" | |
|
|
29 | "tape": "~4.11.0", | |
|
|
30 | "typescript": "~3.6.4", | |
|
|
31 | "eslint": "6.1.0", | |
|
|
32 | "tslint": "5.18.0" | |
|
|
35 | 33 | } |
|
|
34 | } | |
| @@ -1,45 +1,45 | |||
|
|
1 | 1 | import { Uuid } from "../Uuid"; |
|
|
2 | 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 | define(sandboxId, ["require"], r => r); | |
|
|
7 | define(sandboxId, ["require"], (r: any) => r); | |
|
|
8 | 8 | |
|
|
9 | 9 | const globalRequire = getGlobal().require as Require || requirejs; |
|
|
10 | 10 | |
|
|
11 | 11 | const trace = TraceSource.get(m.id); |
|
|
12 | 12 | trace.debug("globalRequire = {0}", globalRequire); |
|
|
13 | 13 | |
|
|
14 | 14 | class ModuleResolver { |
|
|
15 | 15 | _base: string; |
|
|
16 | 16 | _require: Require; |
|
|
17 | 17 | |
|
|
18 | 18 | constructor(req: Require, base?: string) { |
|
|
19 | 19 | this._base = base; |
|
|
20 | 20 | this._require = req; |
|
|
21 | 21 | } |
|
|
22 | 22 | |
|
|
23 | 23 | resolve(moduleName: string) { |
|
|
24 | 24 | argumentNotEmptyString(moduleName, "moduleName"); |
|
|
25 | 25 | const resolvedName = moduleName[0] === "." && this._base ? [this._base, moduleName].join("/") : moduleName; |
|
|
26 | 26 | trace.debug(`${moduleName} -> ${resolvedName}`); |
|
|
27 | 27 | |
|
|
28 | 28 | const req = this._require; |
|
|
29 | 29 | |
|
|
30 | 30 | return new Promise<any>((cb, eb) => { |
|
|
31 | 31 | req([resolvedName], cb, eb); |
|
|
32 | 32 | }); |
|
|
33 | 33 | } |
|
|
34 | 34 | } |
|
|
35 | 35 | |
|
|
36 | 36 | export function makeResolver(moduleName: string, contextRequire: Require) { |
|
|
37 | 37 | const base = moduleName && moduleName.split("/").slice(0, -1).join("/"); |
|
|
38 | 38 | |
|
|
39 | 39 | const req = contextRequire || globalRequire; |
|
|
40 | 40 | if (!req) |
|
|
41 | 41 | throw new Error("A global require isn't defined, the contextRequire parameter is mandatory"); |
|
|
42 | 42 | |
|
|
43 | 43 | const resolver = new ModuleResolver(req, base); |
|
|
44 | 44 | return (id: string) => resolver.resolve(id); |
|
|
45 | 45 | } |
| @@ -1,16 +1,14 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "extends": "../tsconfig", |
|
|
3 | 3 | "compilerOptions": { |
|
|
4 | 4 | "types": [ |
|
|
5 | "requirejs" | |
|
|
5 | "requirejs", | |
|
|
6 | "dojo-typings" | |
|
|
6 | 7 | ], |
|
|
7 | 8 | "rootDir": "ts", |
|
|
8 | 9 | "rootDirs": [ |
|
|
9 | 10 | "ts", |
|
|
10 |
"../ |
|
|
|
11 | "../main/ts" | |
|
|
11 | 12 | ] |
|
|
12 |
} |
|
|
|
13 | "include": [ | |
|
|
14 | "ts/**/*.ts" | |
|
|
15 | ] | |
|
|
13 | } | |
|
|
16 | 14 | } No newline at end of file |
| @@ -1,43 +1,43 | |||
|
|
1 |
import { IActivatable, ICancellation, IActivationController } from " |
|
|
|
2 |
import { Cancellation } from " |
|
|
|
1 | import { IActivatable, ICancellation, IActivationController } from "../interfaces"; | |
|
|
2 | import { Cancellation } from "../Cancellation"; | |
|
|
3 | 3 | |
|
|
4 | 4 | export class MockActivationController implements IActivationController { |
|
|
5 | 5 | |
|
|
6 | 6 | _active: IActivatable = null; |
|
|
7 | 7 | |
|
|
8 | 8 | getActive(): IActivatable { |
|
|
9 | 9 | return this._active; |
|
|
10 | 10 | } |
|
|
11 | 11 | |
|
|
12 | 12 | async deactivate() { |
|
|
13 | 13 | if (this._active) |
|
|
14 | 14 | await this._active.deactivate(); |
|
|
15 | 15 | this._active = null; |
|
|
16 | 16 | } |
|
|
17 | 17 | |
|
|
18 | 18 | async activate(component: IActivatable) { |
|
|
19 | 19 | if (!component || component.isActive()) |
|
|
20 | 20 | return; |
|
|
21 | 21 | component.setActivationController(this); |
|
|
22 | 22 | |
|
|
23 | 23 | await component.activate(); |
|
|
24 | 24 | } |
|
|
25 | 25 | |
|
|
26 | 26 | async activating(component: IActivatable, ct: ICancellation = Cancellation.none) { |
|
|
27 | 27 | if (component !== this._active) |
|
|
28 | 28 | await this.deactivate(); |
|
|
29 | 29 | } |
|
|
30 | 30 | |
|
|
31 | 31 | async activated(component: IActivatable, ct: ICancellation = Cancellation.none) { |
|
|
32 | 32 | this._active = component; |
|
|
33 | 33 | } |
|
|
34 | 34 | |
|
|
35 | 35 | async deactivating(component: IActivatable, ct: ICancellation = Cancellation.none) { |
|
|
36 | 36 | |
|
|
37 | 37 | } |
|
|
38 | 38 | |
|
|
39 | 39 | async deactivated(component: IActivatable, ct: ICancellation = Cancellation.none) { |
|
|
40 | 40 | if (this._active === component) |
|
|
41 | 41 | this._active = null; |
|
|
42 | 42 | } |
|
|
43 | 43 | } |
| @@ -1,52 +1,52 | |||
|
|
1 |
import {NullConsole} from " |
|
|
|
1 | import {NullConsole} from "../log/NullConsole"; | |
|
|
2 | 2 | |
|
|
3 | 3 | interface ConsoleLineData { |
|
|
4 | 4 | level: string; |
|
|
5 | 5 | data: any[]; |
|
|
6 | 6 | } |
|
|
7 | 7 | |
|
|
8 | 8 | export class MockConsole extends NullConsole { |
|
|
9 | 9 | _buffer: ConsoleLineData[] = []; |
|
|
10 | 10 | |
|
|
11 | 11 | debug(...args: any[]) { |
|
|
12 | 12 | this._buffer.push({ |
|
|
13 | 13 | level: "debug", |
|
|
14 | 14 | data: args |
|
|
15 | 15 | }); |
|
|
16 | 16 | } |
|
|
17 | 17 | |
|
|
18 | 18 | log(...args: any[]) { |
|
|
19 | 19 | this._buffer.push({ |
|
|
20 | 20 | level: "log", |
|
|
21 | 21 | data: args |
|
|
22 | 22 | }); |
|
|
23 | 23 | } |
|
|
24 | 24 | |
|
|
25 | 25 | warn(...args: any[]) { |
|
|
26 | 26 | this._buffer.push({ |
|
|
27 | 27 | level: "warn", |
|
|
28 | 28 | data: args |
|
|
29 | 29 | }); |
|
|
30 | 30 | } |
|
|
31 | 31 | |
|
|
32 | 32 | error(...args: any[]) { |
|
|
33 | 33 | this._buffer.push({ |
|
|
34 | 34 | level: "error", |
|
|
35 | 35 | data: args |
|
|
36 | 36 | }); |
|
|
37 | 37 | } |
|
|
38 | 38 | |
|
|
39 | 39 | getBuffer() { |
|
|
40 | 40 | return this._buffer; |
|
|
41 | 41 | } |
|
|
42 | 42 | |
|
|
43 | 43 | getLine(i: number) { |
|
|
44 | 44 | if (i >= this._buffer.length) |
|
|
45 | 45 | throw new Error(`Line number ${i} is out of range, buffer.length = ${this._buffer.length}`); |
|
|
46 | 46 | return this._buffer[i].data; |
|
|
47 | 47 | } |
|
|
48 | 48 | |
|
|
49 | 49 | clear() { |
|
|
50 | 50 | this._buffer = []; |
|
|
51 | 51 | } |
|
|
52 | 52 | } |
| @@ -1,6 +1,6 | |||
|
|
1 |
import { AsyncComponent } from " |
|
|
|
2 |
import { ActivatableMixin } from " |
|
|
|
1 | import { AsyncComponent } from "../components/AsyncComponent"; | |
|
|
2 | import { ActivatableMixin } from "../components/ActivatableMixin"; | |
|
|
3 | 3 | |
|
|
4 | 4 | export class SimpleActivatable extends ActivatableMixin(AsyncComponent) { |
|
|
5 | 5 | |
|
|
6 | 6 | } |
| @@ -1,15 +1,14 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "extends": "../tsconfig", |
|
|
3 | 3 | "compilerOptions": { |
|
|
4 | 4 | "rootDir": "ts", |
|
|
5 | 5 | "baseUrl": ".", |
|
|
6 |
" |
|
|
|
7 | "@implab/core/*": [ | |
|
|
8 |
|
|
|
|
6 | "rootDirs": [ | |
|
|
7 | "ts", | |
|
|
8 | "../main/ts" | |
|
|
9 | 9 |
|
|
|
10 | } | |
|
|
11 | 10 | }, |
|
|
12 | 11 | "include" : [ |
|
|
13 | 12 | "ts/**/*.ts" |
|
|
14 | 13 | ] |
|
|
15 | 14 | } No newline at end of file |
| @@ -1,10 +1,9 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "compilerOptions": { |
|
|
3 | 3 | "moduleResolution": "node", |
|
|
4 | 4 | "noEmitOnError": true, |
|
|
5 | 5 | "listFiles": true, |
|
|
6 | 6 | "types": [], |
|
|
7 | "lib": ["es5", "es2015.promise", "es2015.symbol", "dom", "scripthost"] | |
|
|
8 |
} |
|
|
|
9 | "files": [] | |
|
|
7 | "lib": ["es5", "es2015.promise", "es2015.symbol", "es2015.iterable", "dom", "scripthost"] | |
|
|
8 | } | |
|
|
10 | 9 | } No newline at end of file |
| @@ -1,42 +1,43 | |||
|
|
1 | 1 | { |
|
|
2 | 2 | "extends": "tslint:recommended", |
|
|
3 | "defaultSeverity": "warn", | |
|
|
3 | 4 | "rules": { |
|
|
4 | 5 | "align": [ |
|
|
5 | 6 | true, |
|
|
6 | 7 | "parameters", |
|
|
7 | 8 | "statements" |
|
|
8 | 9 | ], |
|
|
9 | 10 | "interface-name": [false], |
|
|
10 | 11 | "max-line-length": [ true, 185 ], |
|
|
11 | 12 | "member-access": false, |
|
|
12 | 13 | "member-ordering": [ |
|
|
13 | 14 | false, |
|
|
14 | 15 | "variables-before-functions" |
|
|
15 | 16 | ], |
|
|
16 | 17 | "no-bitwise": false, |
|
|
17 | 18 | "no-empty": false, |
|
|
18 | 19 | "no-namespace": false, |
|
|
19 | 20 | "ordered-imports": false, |
|
|
20 | 21 | "no-return-await": true, |
|
|
21 | 22 | "no-floating-promises": true, |
|
|
22 | 23 | "prefer-for-of": false, |
|
|
23 | 24 | "one-line": [ |
|
|
24 | 25 | true, |
|
|
25 | 26 | "check-open-brace", |
|
|
26 | 27 | "check-catch", |
|
|
27 | 28 | "check-whitespace" |
|
|
28 | 29 | ], |
|
|
29 | 30 | "object-literal-sort-keys": false, |
|
|
30 | 31 | "trailing-comma": [ |
|
|
31 | 32 | true, |
|
|
32 | 33 | { |
|
|
33 | 34 | "singleline": "never", |
|
|
34 | 35 | "multiline": "never" |
|
|
35 | 36 | } |
|
|
36 | 37 | ], |
|
|
37 | 38 | "variable-name": false, |
|
|
38 | 39 | "curly": false, |
|
|
39 | 40 | "array-type": false, |
|
|
40 | 41 | "arrow-parens": [true, "ban-single-arg-parens"] |
|
|
41 | 42 | } |
|
|
42 | 43 | } No newline at end of file |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
|
|
1 | NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now
