##// END OF EJS Templates
Слияние
cin -
r92:43e5b8181346 merge default
parent child
Show More
@@ -0,0 +1,25
1 {
2 "env": {
3 "browser": true,
4 "amd": true
5 },
6 "parserOptions": {
7 "ecmaFeatures": {
8 "jsx": true
9 },
10 "sourceType": "script"
11 },
12 "extends": "eslint:recommended",
13 "rules": {
14 "no-const-assign": "warn",
15 "no-this-before-super": "warn",
16 "no-undef": "error",
17 "no-unreachable": "warn",
18 "no-unused-vars": "warn",
19 "constructor-super": "warn",
20 "valid-typeof": "warn",
21 "semi" : "warn",
22 "no-invalid-this" : "error",
23 "no-console": "off"
24 }
25 } No newline at end of file
@@ -0,0 +1,48
1 {
2 "extends": "tslint:recommended",
3 "defaultSeverity": "warn",
4 "rules": {
5 "align": [
6 true,
7 "parameters",
8 "statements"
9 ],
10 "interface-name": [
11 false
12 ],
13 "max-line-length": [
14 true,
15 185
16 ],
17 "quotemark": [true, "double", "avoid-escape"],
18 "member-access": false,
19 "semicolon": [true, "always", "ignore-bound-class-methods"],
20 "no-bitwise": false,
21 "no-empty": false,
22 "no-namespace": false,
23 "ordered-imports": false,
24 "no-return-await": true,
25 "no-floating-promises": true,
26 "one-line": [
27 true,
28 "check-open-brace",
29 "check-catch",
30 "check-whitespace"
31 ],
32 "object-literal-sort-keys": false,
33 "trailing-comma": [
34 true,
35 {
36 "singleline": "never",
37 "multiline": "never"
38 }
39 ],
40 "variable-name": false,
41 "curly": false,
42 "array-type": false,
43 "arrow-parens": [
44 true,
45 "ban-single-arg-parens"
46 ]
47 }
48 } No newline at end of file
@@ -1,27 +1,36
1 fc9f82c082ef432137da086a1fe9c37a12ba16a2 v1.0.0-rc2
1 fc9f82c082ef432137da086a1fe9c37a12ba16a2 v1.0.0-rc2
2 6d80d7901b4c8ffe8728e4a7bf5f4b7e7a669bb5 v1.0.0-rc3
2 6d80d7901b4c8ffe8728e4a7bf5f4b7e7a669bb5 v1.0.0-rc3
3 5a2c44d8e1f34dd30c2b50f92b7dc2e8f3247c43 v1.0.0-rc5
3 5a2c44d8e1f34dd30c2b50f92b7dc2e8f3247c43 v1.0.0-rc5
4 6c01fabe9ea9fb5e753fbeae8b0d2664e7072a66 v1.0.0-rc6
4 6c01fabe9ea9fb5e753fbeae8b0d2664e7072a66 v1.0.0-rc6
5 9e546fe36fdddc8324f1098ee950fa1a7ba19b93 v1.0.0-rc7
5 9e546fe36fdddc8324f1098ee950fa1a7ba19b93 v1.0.0-rc7
6 8f4d5e2c719a20ae6d65f1f4b5e2141ed765e975 v1.0.0-rc8
6 8f4d5e2c719a20ae6d65f1f4b5e2141ed765e975 v1.0.0-rc8
7 a1ab2b5975ad4b19599fb61538e7aaf329fb528c v1.0.0-rc10
7 a1ab2b5975ad4b19599fb61538e7aaf329fb528c v1.0.0-rc10
8 9b77ac3bf8f200876450ad50c308a9441a7f39c7 v1.0.0-rc11
8 9b77ac3bf8f200876450ad50c308a9441a7f39c7 v1.0.0-rc11
9 32b72f33756d3d10553b743f0b9f4504148cf97d v1.0.0-rc12
9 32b72f33756d3d10553b743f0b9f4504148cf97d v1.0.0-rc12
10 b88fac0e76c0e61e397e2995f468f7cf342afbc9 v1.0.0-rc13
10 b88fac0e76c0e61e397e2995f468f7cf342afbc9 v1.0.0-rc13
11 a46488b209e8aac583c1634043147d87740c63b4 v1.0.0-rc14
11 a46488b209e8aac583c1634043147d87740c63b4 v1.0.0-rc14
12 1174538197f6796384e643f62100292f1377b137 v1.0.0-rc15
12 1174538197f6796384e643f62100292f1377b137 v1.0.0-rc15
13 e8012fdf09ae442094f3831abe70649f8520659e 1.0.0-rc16
13 e8012fdf09ae442094f3831abe70649f8520659e 1.0.0-rc16
14 a1a1ef050ecc9d2a780e308cbffc2ad915a5c13d 1.0.0-rc17
14 a1a1ef050ecc9d2a780e308cbffc2ad915a5c13d 1.0.0-rc17
15 5c6c7e16919cff4019a55661725789d287439b75 v1.0.0-rc18
15 5c6c7e16919cff4019a55661725789d287439b75 v1.0.0-rc18
16 3b6c4159c66cecf6c5957d33ad474919608489c6 v1.0.0
16 3b6c4159c66cecf6c5957d33ad474919608489c6 v1.0.0
17 18383b2dcc1ae97fe3673242c84fe8d4b50a55f0 v1.0.1
17 18383b2dcc1ae97fe3673242c84fe8d4b50a55f0 v1.0.1
18 ed3c20c09b000386b5204b483955eb61ee662eff v1.0.2
18 ed3c20c09b000386b5204b483955eb61ee662eff v1.0.2
19 030ea350f98bb7a06e636251ea5cad403217e868 v1.0.3
19 030ea350f98bb7a06e636251ea5cad403217e868 v1.0.3
20 346ba910a5425ed95f7a67ef4db1dbbf599e2cab v1.0.5
20 346ba910a5425ed95f7a67ef4db1dbbf599e2cab v1.0.5
21 deb0ed6fb68015d89ba1287f6b766d1f80b6e4ff v1.0.7
21 deb0ed6fb68015d89ba1287f6b766d1f80b6e4ff v1.0.7
22 dd0d589acfbbe938a5630547e83ad934ab597b64 v1.0.8
22 dd0d589acfbbe938a5630547e83ad934ab597b64 v1.0.8
23 f2499237b5bf0ac2d73a8e437b8f15fa8a6306a5 v1.0.9
23 f2499237b5bf0ac2d73a8e437b8f15fa8a6306a5 v1.0.9
24 d4f0cdae9577caa605d9317d0ceb93f7b67895f3 v1.0.10
24 d4f0cdae9577caa605d9317d0ceb93f7b67895f3 v1.0.10
25 1a0018655d1c3dafc16ae50971cb535b8555e246 v1.1.0
25 1a0018655d1c3dafc16ae50971cb535b8555e246 v1.1.0
26 ff3695b0a48f00155ad6c3d7e000fe185ee6f95a v1.1.1
26 ff3695b0a48f00155ad6c3d7e000fe185ee6f95a v1.1.1
27 c276b9b7fa833242d1bf75eeeaae9924feee51e8 v1.1.2
27 c276b9b7fa833242d1bf75eeeaae9924feee51e8 v1.1.2
28 fdde09e66c009f4950ec69a393a8e789725da758 v1.2.0
29 16678c6055f20ce1a49bdca5e6dabce88ee8deed v1.2.1
30 bc7556143fe536e3df374bc0070146311884284e v1.2.2
31 e5bb5e80ce96fc4ca0fbbf0b5390443a616e99fa v1.2.3
32 cc5be30e84f8a0d9a8e25447651576d9e46ab154 v1.2.4
33 2807ab11174c7446830d91d5f1b652a18c6ecae5 v1.2.5
34 35a7b6319ebe24973fe10b8d82c19d3d86857b4e v1.2.6
35 70058deb750dc18fcd9be83c28cb8371530fffd8 v1.2.7
36 367f8caa5bf8fd2d4a56a6cff40be31ab82a2727 v1.2.8
@@ -1,77 +1,78
1 plugins {
1 plugins {
2 id "org.implab.gradle-typescript" version "1.3.3"
2 id "org.implab.gradle-typescript" version "1.3.3"
3 id "ivy-publish"
3 id "ivy-publish"
4 }
4 }
5
5
6 typescript {
6 typescript {
7 compilerOptions {
7 compilerOptions {
8 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
8 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
9 //listFiles = true
9 //listFiles = true
10 declaration = true
10 declaration = true
11 strict = true
11 strict = true
12 types = []
12 types = []
13 module = "amd"
13 module = "amd"
14 it.target = "es5"
14 it.target = "es5"
15 experimentalDecorators = true
15 experimentalDecorators = true
16 noUnusedLocals = true
16 jsx = "react"
17 jsx = "react"
17 jsxFactory = "createElement"
18 jsxFactory = "createElement"
18 moduleResolution = "node"
19 moduleResolution = "node"
19 // dojo-typings are sick
20 // dojo-typings are sick
20 skipLibCheck = true
21 skipLibCheck = true
21 // traceResolution = true
22 // traceResolution = true
22 // baseUrl = "./"
23 // baseUrl = "./"
23 // paths = [ "*": [ "$projectDir/src/typings/*" ] ]
24 // paths = [ "*": [ "$projectDir/src/typings/*" ] ]
24 // baseUrl = "$projectDir/src/typings"
25 // baseUrl = "$projectDir/src/typings"
25 // typeRoots = ["$projectDir/src/typings"]
26 // typeRoots = ["$projectDir/src/typings"]
26 }
27 }
27
28
28 tscCmd = "$projectDir/node_modules/.bin/tsc"
29 tscCmd = "$projectDir/node_modules/.bin/tsc"
29 tsLintCmd = "$projectDir/node_modules/.bin/tslint"
30 tsLintCmd = "$projectDir/node_modules/.bin/tslint"
30 esLintCmd = "$projectDir/node_modules/.bin/eslint"
31 esLintCmd = "$projectDir/node_modules/.bin/eslint"
31 }
32 }
32
33
33 configureTsMain {
34 configureTsMain {
34 sourceFiles {
35 sourceFiles {
35 from sources.main.typings
36 from sources.main.typings
36 }
37 }
37 compilerOptions {
38 compilerOptions {
38 // baseUrl = "$projectDir/src"
39 // baseUrl = "$projectDir/src"
39 /*paths = [
40 /*paths = [
40 "dojo/*" : [ "typings/dojo/*" ],
41 "dojo/*" : [ "typings/dojo/*" ],
41 "dijit/*" : [ "typings/dijit/*" ]
42 "dijit/*" : [ "typings/dijit/*" ]
42 ]*/
43 ]*/
43 types = ["requirejs", "dojo-typings"]
44 types = ["requirejs", "@implab/dojo-typings"]
44 }
45 }
45 }
46 }
46
47
47 configureTsTest {
48 configureTsTest {
48 compilerOptions {
49 compilerOptions {
49 typeRoots = []
50 typeRoots = []
50 types = ["requirejs", sources.main.output.typingsDir.get().toString() ]
51 types = ["requirejs", sources.main.output.typingsDir.get().toString() ]
51 }
52 }
52 }
53 }
53
54
54 npmPackMeta {
55 npmPackMeta {
55 meta {
56 meta {
56 name = "@$npmScope/$project.name"
57 name = "@$npmScope/$project.name"
57 }
58 }
58 }
59 }
59
60
60 task npmPackTypings(type: Copy) {
61 task npmPackTypings(type: Copy) {
61 dependsOn typings
62 dependsOn typings
62
63
63 npmPackContents.dependsOn it
64 npmPackContents.dependsOn it
64
65
65 from typescript.typingsDir
66 from typescript.typingsDir
66 into npm.packageDir
67 into npm.packageDir
67 }
68 }
68
69
69 task printVersion {
70 task printVersion {
70 doLast {
71 doLast {
71 println "packageName: ${npmPackMeta.metadata.get().name}";
72 println "packageName: ${npmPackMeta.metadata.get().name}";
72 println "version: $version";
73 println "version: $version";
73 println "target: $typescript.compilerOptions.target";
74 println "target: $typescript.compilerOptions.target";
74 println "module: $typescript.compilerOptions.module";
75 println "module: $typescript.compilerOptions.module";
75 println "symbols: $symbols";
76 println "symbols: $symbols";
76 }
77 }
77 } No newline at end of file
78 }
@@ -1,2744 +1,2610
1 {
1 {
2 "name": "@implab/djx",
2 "name": "@implab/djx",
3 "version": "0.0.1-dev",
3 "version": "0.0.1-dev",
4 "lockfileVersion": 2,
4 "lockfileVersion": 2,
5 "requires": true,
5 "requires": true,
6 "packages": {
6 "packages": {
7 "": {
7 "": {
8 "name": "@implab/djx",
8 "name": "@implab/djx",
9 "version": "0.0.1-dev",
9 "version": "0.0.1-dev",
10 "license": "BSD-2-Clause",
10 "license": "BSD-2-Clause",
11 "devDependencies": {
11 "devDependencies": {
12 "@implab/core-amd": "^1.4.0",
12 "@implab/core-amd": "^1.4.0",
13 "@implab/dojo-typings": "1.0.0",
13 "@types/chai": "4.1.3",
14 "@types/chai": "4.1.3",
14 "@types/requirejs": "2.1.31",
15 "@types/requirejs": "2.1.31",
15 "@types/yaml": "1.2.0",
16 "@types/yaml": "1.2.0",
16 "chai": "4.2.0",
17 "dojo": "1.16.0",
17 "dojo": "1.16.0",
18 "dojo-typings": "~1.11.9",
19 "eslint": "6.8.0",
18 "eslint": "6.8.0",
20 "requirejs": "2.3.6",
19 "requirejs": "2.3.6",
21 "tslint": "^6.1.3",
20 "tslint": "^6.1.3",
22 "typescript": "4.2.4",
21 "typescript": "4.2.4",
23 "yaml": "~1.7.2"
22 "yaml": "~1.7.2"
24 },
23 },
25 "peerDependencies": {
24 "peerDependencies": {
26 "@implab/core-amd": "^1.4.0",
25 "@implab/core-amd": "^1.4.0",
27 "dojo": "^1.10.0"
26 "dojo": "^1.10.0"
28 }
27 }
29 },
28 },
30 "node_modules/@babel/code-frame": {
29 "node_modules/@babel/code-frame": {
31 "version": "7.8.3",
30 "version": "7.8.3",
32 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
31 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
33 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
32 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
34 "dev": true,
33 "dev": true,
35 "dependencies": {
34 "dependencies": {
36 "@babel/highlight": "^7.8.3"
35 "@babel/highlight": "^7.8.3"
37 }
36 }
38 },
37 },
39 "node_modules/@babel/highlight": {
38 "node_modules/@babel/highlight": {
40 "version": "7.8.3",
39 "version": "7.8.3",
41 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
40 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
42 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
41 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
43 "dev": true,
42 "dev": true,
44 "dependencies": {
43 "dependencies": {
45 "chalk": "^2.0.0",
44 "chalk": "^2.0.0",
46 "esutils": "^2.0.2",
45 "esutils": "^2.0.2",
47 "js-tokens": "^4.0.0"
46 "js-tokens": "^4.0.0"
48 }
47 }
49 },
48 },
50 "node_modules/@babel/runtime": {
49 "node_modules/@babel/runtime": {
51 "version": "7.8.3",
50 "version": "7.8.3",
52 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
51 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
53 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
52 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
54 "dev": true,
53 "dev": true,
55 "dependencies": {
54 "dependencies": {
56 "regenerator-runtime": "^0.13.2"
55 "regenerator-runtime": "^0.13.2"
57 }
56 }
58 },
57 },
59 "node_modules/@implab/core-amd": {
58 "node_modules/@implab/core-amd": {
60 "version": "1.4.0",
59 "version": "1.4.0",
61 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
60 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
62 "integrity": "sha512-gaJX1mhri7YpmXDTAYELZnmTznzXYpk2AI7Decsttdi6xY+bqGgH24q0AFcKrx8RY2jfsFXxDdf0fITz2HpBbw==",
61 "integrity": "sha512-gaJX1mhri7YpmXDTAYELZnmTznzXYpk2AI7Decsttdi6xY+bqGgH24q0AFcKrx8RY2jfsFXxDdf0fITz2HpBbw==",
63 "dev": true
62 "dev": true
64 },
63 },
64 "node_modules/@implab/dojo-typings": {
65 "version": "1.0.0",
66 "resolved": "https://registry.npmjs.org/@implab/dojo-typings/-/dojo-typings-1.0.0.tgz",
67 "integrity": "sha512-B2kvlKJgvyIQAl/k1pVyNmtp4ADvBDCs4Lw/qfBC+Sz/ft4c7EuRXmN/+2dhWrd6A5SMjEgex5oeq6Ja2ntrig==",
68 "dev": true
69 },
65 "node_modules/@types/chai": {
70 "node_modules/@types/chai": {
66 "version": "4.1.3",
71 "version": "4.1.3",
67 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
72 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
68 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
73 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
69 "dev": true
74 "dev": true
70 },
75 },
71 "node_modules/@types/requirejs": {
76 "node_modules/@types/requirejs": {
72 "version": "2.1.31",
77 "version": "2.1.31",
73 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
78 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
74 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
79 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
75 "dev": true
80 "dev": true
76 },
81 },
77 "node_modules/@types/yaml": {
82 "node_modules/@types/yaml": {
78 "version": "1.2.0",
83 "version": "1.2.0",
79 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
84 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
80 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
85 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
81 "dev": true
86 "dev": true
82 },
87 },
83 "node_modules/acorn": {
88 "node_modules/acorn": {
84 "version": "7.4.0",
89 "version": "7.4.0",
85 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
90 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
86 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
91 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
87 "dev": true,
92 "dev": true,
88 "bin": {
93 "bin": {
89 "acorn": "bin/acorn"
94 "acorn": "bin/acorn"
90 },
95 },
91 "engines": {
96 "engines": {
92 "node": ">=0.4.0"
97 "node": ">=0.4.0"
93 }
98 }
94 },
99 },
95 "node_modules/acorn-jsx": {
100 "node_modules/acorn-jsx": {
96 "version": "5.1.0",
101 "version": "5.1.0",
97 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
102 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
98 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
103 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
99 "dev": true
104 "dev": true
100 },
105 },
101 "node_modules/ajv": {
106 "node_modules/ajv": {
102 "version": "6.11.0",
107 "version": "6.11.0",
103 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
108 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
104 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
109 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
105 "dev": true,
110 "dev": true,
106 "dependencies": {
111 "dependencies": {
107 "fast-deep-equal": "^3.1.1",
112 "fast-deep-equal": "^3.1.1",
108 "fast-json-stable-stringify": "^2.0.0",
113 "fast-json-stable-stringify": "^2.0.0",
109 "json-schema-traverse": "^0.4.1",
114 "json-schema-traverse": "^0.4.1",
110 "uri-js": "^4.2.2"
115 "uri-js": "^4.2.2"
111 }
116 }
112 },
117 },
113 "node_modules/ansi-escapes": {
118 "node_modules/ansi-escapes": {
114 "version": "4.3.0",
119 "version": "4.3.0",
115 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
120 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
116 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
121 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
117 "dev": true,
122 "dev": true,
118 "dependencies": {
123 "dependencies": {
119 "type-fest": "^0.8.1"
124 "type-fest": "^0.8.1"
120 },
125 },
121 "engines": {
126 "engines": {
122 "node": ">=8"
127 "node": ">=8"
123 }
128 }
124 },
129 },
125 "node_modules/ansi-regex": {
130 "node_modules/ansi-regex": {
126 "version": "5.0.0",
131 "version": "5.0.0",
127 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
132 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
128 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
133 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
129 "dev": true,
134 "dev": true,
130 "engines": {
135 "engines": {
131 "node": ">=8"
136 "node": ">=8"
132 }
137 }
133 },
138 },
134 "node_modules/ansi-styles": {
139 "node_modules/ansi-styles": {
135 "version": "3.2.1",
140 "version": "3.2.1",
136 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
141 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
137 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
142 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
138 "dev": true,
143 "dev": true,
139 "dependencies": {
144 "dependencies": {
140 "color-convert": "^1.9.0"
145 "color-convert": "^1.9.0"
141 },
146 },
142 "engines": {
147 "engines": {
143 "node": ">=4"
148 "node": ">=4"
144 }
149 }
145 },
150 },
146 "node_modules/argparse": {
151 "node_modules/argparse": {
147 "version": "1.0.10",
152 "version": "1.0.10",
148 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
153 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
149 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
154 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
150 "dev": true,
155 "dev": true,
151 "dependencies": {
156 "dependencies": {
152 "sprintf-js": "~1.0.2"
157 "sprintf-js": "~1.0.2"
153 }
158 }
154 },
159 },
155 "node_modules/assertion-error": {
156 "version": "1.1.0",
157 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
158 "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
159 "dev": true,
160 "engines": {
161 "node": "*"
162 }
163 },
164 "node_modules/astral-regex": {
160 "node_modules/astral-regex": {
165 "version": "1.0.0",
161 "version": "1.0.0",
166 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
162 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
167 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
163 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
168 "dev": true,
164 "dev": true,
169 "engines": {
165 "engines": {
170 "node": ">=4"
166 "node": ">=4"
171 }
167 }
172 },
168 },
173 "node_modules/balanced-match": {
169 "node_modules/balanced-match": {
174 "version": "1.0.0",
170 "version": "1.0.0",
175 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
171 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
176 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
172 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
177 "dev": true
173 "dev": true
178 },
174 },
179 "node_modules/brace-expansion": {
175 "node_modules/brace-expansion": {
180 "version": "1.1.11",
176 "version": "1.1.11",
181 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
177 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
182 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
178 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
183 "dev": true,
179 "dev": true,
184 "dependencies": {
180 "dependencies": {
185 "balanced-match": "^1.0.0",
181 "balanced-match": "^1.0.0",
186 "concat-map": "0.0.1"
182 "concat-map": "0.0.1"
187 }
183 }
188 },
184 },
189 "node_modules/builtin-modules": {
185 "node_modules/builtin-modules": {
190 "version": "1.1.1",
186 "version": "1.1.1",
191 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
187 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
192 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
188 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
193 "dev": true,
189 "dev": true,
194 "engines": {
190 "engines": {
195 "node": ">=0.10.0"
191 "node": ">=0.10.0"
196 }
192 }
197 },
193 },
198 "node_modules/callsites": {
194 "node_modules/callsites": {
199 "version": "3.1.0",
195 "version": "3.1.0",
200 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
196 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
201 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
197 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
202 "dev": true,
198 "dev": true,
203 "engines": {
199 "engines": {
204 "node": ">=6"
200 "node": ">=6"
205 }
201 }
206 },
202 },
207 "node_modules/chai": {
208 "version": "4.2.0",
209 "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
210 "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
211 "dev": true,
212 "dependencies": {
213 "assertion-error": "^1.1.0",
214 "check-error": "^1.0.2",
215 "deep-eql": "^3.0.1",
216 "get-func-name": "^2.0.0",
217 "pathval": "^1.1.0",
218 "type-detect": "^4.0.5"
219 },
220 "engines": {
221 "node": ">=4"
222 }
223 },
224 "node_modules/chalk": {
203 "node_modules/chalk": {
225 "version": "2.4.2",
204 "version": "2.4.2",
226 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
205 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
227 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
206 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
228 "dev": true,
207 "dev": true,
229 "dependencies": {
208 "dependencies": {
230 "ansi-styles": "^3.2.1",
209 "ansi-styles": "^3.2.1",
231 "escape-string-regexp": "^1.0.5",
210 "escape-string-regexp": "^1.0.5",
232 "supports-color": "^5.3.0"
211 "supports-color": "^5.3.0"
233 },
212 },
234 "engines": {
213 "engines": {
235 "node": ">=4"
214 "node": ">=4"
236 }
215 }
237 },
216 },
238 "node_modules/chardet": {
217 "node_modules/chardet": {
239 "version": "0.7.0",
218 "version": "0.7.0",
240 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
219 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
241 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
220 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
242 "dev": true
221 "dev": true
243 },
222 },
244 "node_modules/check-error": {
245 "version": "1.0.2",
246 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
247 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
248 "dev": true,
249 "engines": {
250 "node": "*"
251 }
252 },
253 "node_modules/cli-cursor": {
223 "node_modules/cli-cursor": {
254 "version": "3.1.0",
224 "version": "3.1.0",
255 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
225 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
256 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
226 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
257 "dev": true,
227 "dev": true,
258 "dependencies": {
228 "dependencies": {
259 "restore-cursor": "^3.1.0"
229 "restore-cursor": "^3.1.0"
260 },
230 },
261 "engines": {
231 "engines": {
262 "node": ">=8"
232 "node": ">=8"
263 }
233 }
264 },
234 },
265 "node_modules/cli-width": {
235 "node_modules/cli-width": {
266 "version": "2.2.0",
236 "version": "2.2.0",
267 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
237 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
268 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
238 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
269 "dev": true
239 "dev": true
270 },
240 },
271 "node_modules/color-convert": {
241 "node_modules/color-convert": {
272 "version": "1.9.3",
242 "version": "1.9.3",
273 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
243 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
274 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
244 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
275 "dev": true,
245 "dev": true,
276 "dependencies": {
246 "dependencies": {
277 "color-name": "1.1.3"
247 "color-name": "1.1.3"
278 }
248 }
279 },
249 },
280 "node_modules/color-name": {
250 "node_modules/color-name": {
281 "version": "1.1.3",
251 "version": "1.1.3",
282 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
252 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
283 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
253 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
284 "dev": true
254 "dev": true
285 },
255 },
286 "node_modules/commander": {
256 "node_modules/commander": {
287 "version": "2.20.3",
257 "version": "2.20.3",
288 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
258 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
289 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
259 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
290 "dev": true
260 "dev": true
291 },
261 },
292 "node_modules/concat-map": {
262 "node_modules/concat-map": {
293 "version": "0.0.1",
263 "version": "0.0.1",
294 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
264 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
295 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
265 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
296 "dev": true
266 "dev": true
297 },
267 },
298 "node_modules/cross-spawn": {
268 "node_modules/cross-spawn": {
299 "version": "6.0.5",
269 "version": "6.0.5",
300 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
270 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
301 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
271 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
302 "dev": true,
272 "dev": true,
303 "dependencies": {
273 "dependencies": {
304 "nice-try": "^1.0.4",
274 "nice-try": "^1.0.4",
305 "path-key": "^2.0.1",
275 "path-key": "^2.0.1",
306 "semver": "^5.5.0",
276 "semver": "^5.5.0",
307 "shebang-command": "^1.2.0",
277 "shebang-command": "^1.2.0",
308 "which": "^1.2.9"
278 "which": "^1.2.9"
309 },
279 },
310 "engines": {
280 "engines": {
311 "node": ">=4.8"
281 "node": ">=4.8"
312 }
282 }
313 },
283 },
314 "node_modules/cross-spawn/node_modules/semver": {
284 "node_modules/cross-spawn/node_modules/semver": {
315 "version": "5.7.1",
285 "version": "5.7.1",
316 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
286 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
317 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
287 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
318 "dev": true,
288 "dev": true,
319 "bin": {
289 "bin": {
320 "semver": "bin/semver"
290 "semver": "bin/semver"
321 }
291 }
322 },
292 },
323 "node_modules/debug": {
293 "node_modules/debug": {
324 "version": "4.1.1",
294 "version": "4.1.1",
325 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
295 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
326 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
296 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
327 "dev": true,
297 "dev": true,
328 "dependencies": {
298 "dependencies": {
329 "ms": "^2.1.1"
299 "ms": "^2.1.1"
330 }
300 }
331 },
301 },
332 "node_modules/deep-eql": {
333 "version": "3.0.1",
334 "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
335 "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
336 "dev": true,
337 "dependencies": {
338 "type-detect": "^4.0.0"
339 },
340 "engines": {
341 "node": ">=0.12"
342 }
343 },
344 "node_modules/deep-is": {
302 "node_modules/deep-is": {
345 "version": "0.1.3",
303 "version": "0.1.3",
346 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
304 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
347 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
305 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
348 "dev": true
306 "dev": true
349 },
307 },
350 "node_modules/diff": {
308 "node_modules/diff": {
351 "version": "4.0.2",
309 "version": "4.0.2",
352 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
310 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
353 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
311 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
354 "dev": true,
312 "dev": true,
355 "engines": {
313 "engines": {
356 "node": ">=0.3.1"
314 "node": ">=0.3.1"
357 }
315 }
358 },
316 },
359 "node_modules/doctrine": {
317 "node_modules/doctrine": {
360 "version": "3.0.0",
318 "version": "3.0.0",
361 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
319 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
362 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
320 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
363 "dev": true,
321 "dev": true,
364 "dependencies": {
322 "dependencies": {
365 "esutils": "^2.0.2"
323 "esutils": "^2.0.2"
366 },
324 },
367 "engines": {
325 "engines": {
368 "node": ">=6.0.0"
326 "node": ">=6.0.0"
369 }
327 }
370 },
328 },
371 "node_modules/dojo": {
329 "node_modules/dojo": {
372 "version": "1.16.0",
330 "version": "1.16.0",
373 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
331 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
374 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
332 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
375 "dev": true
333 "dev": true
376 },
334 },
377 "node_modules/dojo-typings": {
378 "version": "1.11.9",
379 "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz",
380 "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==",
381 "dev": true,
382 "dependencies": {
383 "@types/chai": "^4.0.4"
384 }
385 },
386 "node_modules/emoji-regex": {
335 "node_modules/emoji-regex": {
387 "version": "8.0.0",
336 "version": "8.0.0",
388 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
337 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
389 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
338 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
390 "dev": true
339 "dev": true
391 },
340 },
392 "node_modules/escape-string-regexp": {
341 "node_modules/escape-string-regexp": {
393 "version": "1.0.5",
342 "version": "1.0.5",
394 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
343 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
395 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
344 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
396 "dev": true,
345 "dev": true,
397 "engines": {
346 "engines": {
398 "node": ">=0.8.0"
347 "node": ">=0.8.0"
399 }
348 }
400 },
349 },
401 "node_modules/eslint": {
350 "node_modules/eslint": {
402 "version": "6.8.0",
351 "version": "6.8.0",
403 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
352 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
404 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
353 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
405 "dev": true,
354 "dev": true,
406 "dependencies": {
355 "dependencies": {
407 "@babel/code-frame": "^7.0.0",
356 "@babel/code-frame": "^7.0.0",
408 "ajv": "^6.10.0",
357 "ajv": "^6.10.0",
409 "chalk": "^2.1.0",
358 "chalk": "^2.1.0",
410 "cross-spawn": "^6.0.5",
359 "cross-spawn": "^6.0.5",
411 "debug": "^4.0.1",
360 "debug": "^4.0.1",
412 "doctrine": "^3.0.0",
361 "doctrine": "^3.0.0",
413 "eslint-scope": "^5.0.0",
362 "eslint-scope": "^5.0.0",
414 "eslint-utils": "^1.4.3",
363 "eslint-utils": "^1.4.3",
415 "eslint-visitor-keys": "^1.1.0",
364 "eslint-visitor-keys": "^1.1.0",
416 "espree": "^6.1.2",
365 "espree": "^6.1.2",
417 "esquery": "^1.0.1",
366 "esquery": "^1.0.1",
418 "esutils": "^2.0.2",
367 "esutils": "^2.0.2",
419 "file-entry-cache": "^5.0.1",
368 "file-entry-cache": "^5.0.1",
420 "functional-red-black-tree": "^1.0.1",
369 "functional-red-black-tree": "^1.0.1",
421 "glob-parent": "^5.0.0",
370 "glob-parent": "^5.0.0",
422 "globals": "^12.1.0",
371 "globals": "^12.1.0",
423 "ignore": "^4.0.6",
372 "ignore": "^4.0.6",
424 "import-fresh": "^3.0.0",
373 "import-fresh": "^3.0.0",
425 "imurmurhash": "^0.1.4",
374 "imurmurhash": "^0.1.4",
426 "inquirer": "^7.0.0",
375 "inquirer": "^7.0.0",
427 "is-glob": "^4.0.0",
376 "is-glob": "^4.0.0",
428 "js-yaml": "^3.13.1",
377 "js-yaml": "^3.13.1",
429 "json-stable-stringify-without-jsonify": "^1.0.1",
378 "json-stable-stringify-without-jsonify": "^1.0.1",
430 "levn": "^0.3.0",
379 "levn": "^0.3.0",
431 "lodash": "^4.17.14",
380 "lodash": "^4.17.14",
432 "minimatch": "^3.0.4",
381 "minimatch": "^3.0.4",
433 "mkdirp": "^0.5.1",
382 "mkdirp": "^0.5.1",
434 "natural-compare": "^1.4.0",
383 "natural-compare": "^1.4.0",
435 "optionator": "^0.8.3",
384 "optionator": "^0.8.3",
436 "progress": "^2.0.0",
385 "progress": "^2.0.0",
437 "regexpp": "^2.0.1",
386 "regexpp": "^2.0.1",
438 "semver": "^6.1.2",
387 "semver": "^6.1.2",
439 "strip-ansi": "^5.2.0",
388 "strip-ansi": "^5.2.0",
440 "strip-json-comments": "^3.0.1",
389 "strip-json-comments": "^3.0.1",
441 "table": "^5.2.3",
390 "table": "^5.2.3",
442 "text-table": "^0.2.0",
391 "text-table": "^0.2.0",
443 "v8-compile-cache": "^2.0.3"
392 "v8-compile-cache": "^2.0.3"
444 },
393 },
445 "bin": {
394 "bin": {
446 "eslint": "bin/eslint.js"
395 "eslint": "bin/eslint.js"
447 },
396 },
448 "engines": {
397 "engines": {
449 "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
398 "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
450 }
399 }
451 },
400 },
452 "node_modules/eslint-scope": {
401 "node_modules/eslint-scope": {
453 "version": "5.0.0",
402 "version": "5.0.0",
454 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
403 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
455 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
404 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
456 "dev": true,
405 "dev": true,
457 "dependencies": {
406 "dependencies": {
458 "esrecurse": "^4.1.0",
407 "esrecurse": "^4.1.0",
459 "estraverse": "^4.1.1"
408 "estraverse": "^4.1.1"
460 },
409 },
461 "engines": {
410 "engines": {
462 "node": ">=8.0.0"
411 "node": ">=8.0.0"
463 }
412 }
464 },
413 },
465 "node_modules/eslint-utils": {
414 "node_modules/eslint-utils": {
466 "version": "1.4.3",
415 "version": "1.4.3",
467 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
416 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
468 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
417 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
469 "dev": true,
418 "dev": true,
470 "dependencies": {
419 "dependencies": {
471 "eslint-visitor-keys": "^1.1.0"
420 "eslint-visitor-keys": "^1.1.0"
472 },
421 },
473 "engines": {
422 "engines": {
474 "node": ">=6"
423 "node": ">=6"
475 }
424 }
476 },
425 },
477 "node_modules/eslint-visitor-keys": {
426 "node_modules/eslint-visitor-keys": {
478 "version": "1.1.0",
427 "version": "1.1.0",
479 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
428 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
480 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
429 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
481 "dev": true,
430 "dev": true,
482 "engines": {
431 "engines": {
483 "node": ">=4"
432 "node": ">=4"
484 }
433 }
485 },
434 },
486 "node_modules/espree": {
435 "node_modules/espree": {
487 "version": "6.1.2",
436 "version": "6.1.2",
488 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
437 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
489 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
438 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
490 "dev": true,
439 "dev": true,
491 "dependencies": {
440 "dependencies": {
492 "acorn": "^7.1.0",
441 "acorn": "^7.1.0",
493 "acorn-jsx": "^5.1.0",
442 "acorn-jsx": "^5.1.0",
494 "eslint-visitor-keys": "^1.1.0"
443 "eslint-visitor-keys": "^1.1.0"
495 },
444 },
496 "engines": {
445 "engines": {
497 "node": ">=6.0.0"
446 "node": ">=6.0.0"
498 }
447 }
499 },
448 },
500 "node_modules/esprima": {
449 "node_modules/esprima": {
501 "version": "4.0.1",
450 "version": "4.0.1",
502 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
451 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
503 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
452 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
504 "dev": true,
453 "dev": true,
505 "bin": {
454 "bin": {
506 "esparse": "bin/esparse.js",
455 "esparse": "bin/esparse.js",
507 "esvalidate": "bin/esvalidate.js"
456 "esvalidate": "bin/esvalidate.js"
508 },
457 },
509 "engines": {
458 "engines": {
510 "node": ">=4"
459 "node": ">=4"
511 }
460 }
512 },
461 },
513 "node_modules/esquery": {
462 "node_modules/esquery": {
514 "version": "1.0.1",
463 "version": "1.0.1",
515 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
464 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
516 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
465 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
517 "dev": true,
466 "dev": true,
518 "dependencies": {
467 "dependencies": {
519 "estraverse": "^4.0.0"
468 "estraverse": "^4.0.0"
520 },
469 },
521 "engines": {
470 "engines": {
522 "node": ">=0.6"
471 "node": ">=0.6"
523 }
472 }
524 },
473 },
525 "node_modules/esrecurse": {
474 "node_modules/esrecurse": {
526 "version": "4.2.1",
475 "version": "4.2.1",
527 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
476 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
528 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
477 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
529 "dev": true,
478 "dev": true,
530 "dependencies": {
479 "dependencies": {
531 "estraverse": "^4.1.0"
480 "estraverse": "^4.1.0"
532 },
481 },
533 "engines": {
482 "engines": {
534 "node": ">=4.0"
483 "node": ">=4.0"
535 }
484 }
536 },
485 },
537 "node_modules/estraverse": {
486 "node_modules/estraverse": {
538 "version": "4.3.0",
487 "version": "4.3.0",
539 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
488 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
540 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
489 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
541 "dev": true,
490 "dev": true,
542 "engines": {
491 "engines": {
543 "node": ">=4.0"
492 "node": ">=4.0"
544 }
493 }
545 },
494 },
546 "node_modules/esutils": {
495 "node_modules/esutils": {
547 "version": "2.0.3",
496 "version": "2.0.3",
548 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
497 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
549 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
498 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
550 "dev": true,
499 "dev": true,
551 "engines": {
500 "engines": {
552 "node": ">=0.10.0"
501 "node": ">=0.10.0"
553 }
502 }
554 },
503 },
555 "node_modules/external-editor": {
504 "node_modules/external-editor": {
556 "version": "3.1.0",
505 "version": "3.1.0",
557 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
506 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
558 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
507 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
559 "dev": true,
508 "dev": true,
560 "dependencies": {
509 "dependencies": {
561 "chardet": "^0.7.0",
510 "chardet": "^0.7.0",
562 "iconv-lite": "^0.4.24",
511 "iconv-lite": "^0.4.24",
563 "tmp": "^0.0.33"
512 "tmp": "^0.0.33"
564 },
513 },
565 "engines": {
514 "engines": {
566 "node": ">=4"
515 "node": ">=4"
567 }
516 }
568 },
517 },
569 "node_modules/fast-deep-equal": {
518 "node_modules/fast-deep-equal": {
570 "version": "3.1.1",
519 "version": "3.1.1",
571 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
520 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
572 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
521 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
573 "dev": true
522 "dev": true
574 },
523 },
575 "node_modules/fast-json-stable-stringify": {
524 "node_modules/fast-json-stable-stringify": {
576 "version": "2.1.0",
525 "version": "2.1.0",
577 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
526 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
578 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
527 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
579 "dev": true
528 "dev": true
580 },
529 },
581 "node_modules/fast-levenshtein": {
530 "node_modules/fast-levenshtein": {
582 "version": "2.0.6",
531 "version": "2.0.6",
583 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
532 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
584 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
533 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
585 "dev": true
534 "dev": true
586 },
535 },
587 "node_modules/figures": {
536 "node_modules/figures": {
588 "version": "3.1.0",
537 "version": "3.1.0",
589 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
538 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
590 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
539 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
591 "dev": true,
540 "dev": true,
592 "dependencies": {
541 "dependencies": {
593 "escape-string-regexp": "^1.0.5"
542 "escape-string-regexp": "^1.0.5"
594 },
543 },
595 "engines": {
544 "engines": {
596 "node": ">=8"
545 "node": ">=8"
597 }
546 }
598 },
547 },
599 "node_modules/file-entry-cache": {
548 "node_modules/file-entry-cache": {
600 "version": "5.0.1",
549 "version": "5.0.1",
601 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
550 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
602 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
551 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
603 "dev": true,
552 "dev": true,
604 "dependencies": {
553 "dependencies": {
605 "flat-cache": "^2.0.1"
554 "flat-cache": "^2.0.1"
606 },
555 },
607 "engines": {
556 "engines": {
608 "node": ">=4"
557 "node": ">=4"
609 }
558 }
610 },
559 },
611 "node_modules/flat-cache": {
560 "node_modules/flat-cache": {
612 "version": "2.0.1",
561 "version": "2.0.1",
613 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
562 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
614 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
563 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
615 "dev": true,
564 "dev": true,
616 "dependencies": {
565 "dependencies": {
617 "flatted": "^2.0.0",
566 "flatted": "^2.0.0",
618 "rimraf": "2.6.3",
567 "rimraf": "2.6.3",
619 "write": "1.0.3"
568 "write": "1.0.3"
620 },
569 },
621 "engines": {
570 "engines": {
622 "node": ">=4"
571 "node": ">=4"
623 }
572 }
624 },
573 },
625 "node_modules/flatted": {
574 "node_modules/flatted": {
626 "version": "2.0.1",
575 "version": "2.0.1",
627 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
576 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
628 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
577 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
629 "dev": true
578 "dev": true
630 },
579 },
631 "node_modules/fs.realpath": {
580 "node_modules/fs.realpath": {
632 "version": "1.0.0",
581 "version": "1.0.0",
633 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
582 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
634 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
583 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
635 "dev": true
584 "dev": true
636 },
585 },
637 "node_modules/functional-red-black-tree": {
586 "node_modules/functional-red-black-tree": {
638 "version": "1.0.1",
587 "version": "1.0.1",
639 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
588 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
640 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
589 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
641 "dev": true
590 "dev": true
642 },
591 },
643 "node_modules/get-func-name": {
644 "version": "2.0.0",
645 "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
646 "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
647 "dev": true,
648 "engines": {
649 "node": "*"
650 }
651 },
652 "node_modules/glob": {
592 "node_modules/glob": {
653 "version": "7.1.6",
593 "version": "7.1.6",
654 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
594 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
655 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
595 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
656 "dev": true,
596 "dev": true,
657 "dependencies": {
597 "dependencies": {
658 "fs.realpath": "^1.0.0",
598 "fs.realpath": "^1.0.0",
659 "inflight": "^1.0.4",
599 "inflight": "^1.0.4",
660 "inherits": "2",
600 "inherits": "2",
661 "minimatch": "^3.0.4",
601 "minimatch": "^3.0.4",
662 "once": "^1.3.0",
602 "once": "^1.3.0",
663 "path-is-absolute": "^1.0.0"
603 "path-is-absolute": "^1.0.0"
664 },
604 },
665 "engines": {
605 "engines": {
666 "node": "*"
606 "node": "*"
667 }
607 }
668 },
608 },
669 "node_modules/glob-parent": {
609 "node_modules/glob-parent": {
670 "version": "5.1.0",
610 "version": "5.1.0",
671 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
611 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
672 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
612 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
673 "dev": true,
613 "dev": true,
674 "dependencies": {
614 "dependencies": {
675 "is-glob": "^4.0.1"
615 "is-glob": "^4.0.1"
676 },
616 },
677 "engines": {
617 "engines": {
678 "node": ">= 6"
618 "node": ">= 6"
679 }
619 }
680 },
620 },
681 "node_modules/globals": {
621 "node_modules/globals": {
682 "version": "12.3.0",
622 "version": "12.3.0",
683 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
623 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
684 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
624 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
685 "dev": true,
625 "dev": true,
686 "dependencies": {
626 "dependencies": {
687 "type-fest": "^0.8.1"
627 "type-fest": "^0.8.1"
688 },
628 },
689 "engines": {
629 "engines": {
690 "node": ">=8"
630 "node": ">=8"
691 }
631 }
692 },
632 },
693 "node_modules/has-flag": {
633 "node_modules/has-flag": {
694 "version": "3.0.0",
634 "version": "3.0.0",
695 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
635 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
696 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
636 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
697 "dev": true,
637 "dev": true,
698 "engines": {
638 "engines": {
699 "node": ">=4"
639 "node": ">=4"
700 }
640 }
701 },
641 },
702 "node_modules/iconv-lite": {
642 "node_modules/iconv-lite": {
703 "version": "0.4.24",
643 "version": "0.4.24",
704 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
644 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
705 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
645 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
706 "dev": true,
646 "dev": true,
707 "dependencies": {
647 "dependencies": {
708 "safer-buffer": ">= 2.1.2 < 3"
648 "safer-buffer": ">= 2.1.2 < 3"
709 },
649 },
710 "engines": {
650 "engines": {
711 "node": ">=0.10.0"
651 "node": ">=0.10.0"
712 }
652 }
713 },
653 },
714 "node_modules/ignore": {
654 "node_modules/ignore": {
715 "version": "4.0.6",
655 "version": "4.0.6",
716 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
656 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
717 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
657 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
718 "dev": true,
658 "dev": true,
719 "engines": {
659 "engines": {
720 "node": ">= 4"
660 "node": ">= 4"
721 }
661 }
722 },
662 },
723 "node_modules/import-fresh": {
663 "node_modules/import-fresh": {
724 "version": "3.2.1",
664 "version": "3.2.1",
725 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
665 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
726 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
666 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
727 "dev": true,
667 "dev": true,
728 "dependencies": {
668 "dependencies": {
729 "parent-module": "^1.0.0",
669 "parent-module": "^1.0.0",
730 "resolve-from": "^4.0.0"
670 "resolve-from": "^4.0.0"
731 },
671 },
732 "engines": {
672 "engines": {
733 "node": ">=6"
673 "node": ">=6"
734 }
674 }
735 },
675 },
736 "node_modules/imurmurhash": {
676 "node_modules/imurmurhash": {
737 "version": "0.1.4",
677 "version": "0.1.4",
738 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
678 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
739 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
679 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
740 "dev": true,
680 "dev": true,
741 "engines": {
681 "engines": {
742 "node": ">=0.8.19"
682 "node": ">=0.8.19"
743 }
683 }
744 },
684 },
745 "node_modules/inflight": {
685 "node_modules/inflight": {
746 "version": "1.0.6",
686 "version": "1.0.6",
747 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
687 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
748 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
688 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
749 "dev": true,
689 "dev": true,
750 "dependencies": {
690 "dependencies": {
751 "once": "^1.3.0",
691 "once": "^1.3.0",
752 "wrappy": "1"
692 "wrappy": "1"
753 }
693 }
754 },
694 },
755 "node_modules/inherits": {
695 "node_modules/inherits": {
756 "version": "2.0.4",
696 "version": "2.0.4",
757 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
697 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
758 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
698 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
759 "dev": true
699 "dev": true
760 },
700 },
761 "node_modules/inquirer": {
701 "node_modules/inquirer": {
762 "version": "7.0.3",
702 "version": "7.0.3",
763 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
703 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
764 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
704 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
765 "dev": true,
705 "dev": true,
766 "dependencies": {
706 "dependencies": {
767 "ansi-escapes": "^4.2.1",
707 "ansi-escapes": "^4.2.1",
768 "chalk": "^2.4.2",
708 "chalk": "^2.4.2",
769 "cli-cursor": "^3.1.0",
709 "cli-cursor": "^3.1.0",
770 "cli-width": "^2.0.0",
710 "cli-width": "^2.0.0",
771 "external-editor": "^3.0.3",
711 "external-editor": "^3.0.3",
772 "figures": "^3.0.0",
712 "figures": "^3.0.0",
773 "lodash": "^4.17.15",
713 "lodash": "^4.17.15",
774 "mute-stream": "0.0.8",
714 "mute-stream": "0.0.8",
775 "run-async": "^2.2.0",
715 "run-async": "^2.2.0",
776 "rxjs": "^6.5.3",
716 "rxjs": "^6.5.3",
777 "string-width": "^4.1.0",
717 "string-width": "^4.1.0",
778 "strip-ansi": "^5.1.0",
718 "strip-ansi": "^5.1.0",
779 "through": "^2.3.6"
719 "through": "^2.3.6"
780 },
720 },
781 "engines": {
721 "engines": {
782 "node": ">=6.0.0"
722 "node": ">=6.0.0"
783 }
723 }
784 },
724 },
785 "node_modules/is-extglob": {
725 "node_modules/is-extglob": {
786 "version": "2.1.1",
726 "version": "2.1.1",
787 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
727 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
788 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
728 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
789 "dev": true,
729 "dev": true,
790 "engines": {
730 "engines": {
791 "node": ">=0.10.0"
731 "node": ">=0.10.0"
792 }
732 }
793 },
733 },
794 "node_modules/is-fullwidth-code-point": {
734 "node_modules/is-fullwidth-code-point": {
795 "version": "3.0.0",
735 "version": "3.0.0",
796 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
736 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
797 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
737 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
798 "dev": true,
738 "dev": true,
799 "engines": {
739 "engines": {
800 "node": ">=8"
740 "node": ">=8"
801 }
741 }
802 },
742 },
803 "node_modules/is-glob": {
743 "node_modules/is-glob": {
804 "version": "4.0.1",
744 "version": "4.0.1",
805 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
745 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
806 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
746 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
807 "dev": true,
747 "dev": true,
808 "dependencies": {
748 "dependencies": {
809 "is-extglob": "^2.1.1"
749 "is-extglob": "^2.1.1"
810 },
750 },
811 "engines": {
751 "engines": {
812 "node": ">=0.10.0"
752 "node": ">=0.10.0"
813 }
753 }
814 },
754 },
815 "node_modules/is-promise": {
755 "node_modules/is-promise": {
816 "version": "2.1.0",
756 "version": "2.1.0",
817 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
757 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
818 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
758 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
819 "dev": true
759 "dev": true
820 },
760 },
821 "node_modules/isexe": {
761 "node_modules/isexe": {
822 "version": "2.0.0",
762 "version": "2.0.0",
823 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
763 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
824 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
764 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
825 "dev": true
765 "dev": true
826 },
766 },
827 "node_modules/js-tokens": {
767 "node_modules/js-tokens": {
828 "version": "4.0.0",
768 "version": "4.0.0",
829 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
769 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
830 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
770 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
831 "dev": true
771 "dev": true
832 },
772 },
833 "node_modules/js-yaml": {
773 "node_modules/js-yaml": {
834 "version": "3.13.1",
774 "version": "3.13.1",
835 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
775 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
836 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
776 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
837 "dev": true,
777 "dev": true,
838 "dependencies": {
778 "dependencies": {
839 "argparse": "^1.0.7",
779 "argparse": "^1.0.7",
840 "esprima": "^4.0.0"
780 "esprima": "^4.0.0"
841 },
781 },
842 "bin": {
782 "bin": {
843 "js-yaml": "bin/js-yaml.js"
783 "js-yaml": "bin/js-yaml.js"
844 }
784 }
845 },
785 },
846 "node_modules/json-schema-traverse": {
786 "node_modules/json-schema-traverse": {
847 "version": "0.4.1",
787 "version": "0.4.1",
848 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
788 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
849 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
789 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
850 "dev": true
790 "dev": true
851 },
791 },
852 "node_modules/json-stable-stringify-without-jsonify": {
792 "node_modules/json-stable-stringify-without-jsonify": {
853 "version": "1.0.1",
793 "version": "1.0.1",
854 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
794 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
855 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
795 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
856 "dev": true
796 "dev": true
857 },
797 },
858 "node_modules/levn": {
798 "node_modules/levn": {
859 "version": "0.3.0",
799 "version": "0.3.0",
860 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
800 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
861 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
801 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
862 "dev": true,
802 "dev": true,
863 "dependencies": {
803 "dependencies": {
864 "prelude-ls": "~1.1.2",
804 "prelude-ls": "~1.1.2",
865 "type-check": "~0.3.2"
805 "type-check": "~0.3.2"
866 },
806 },
867 "engines": {
807 "engines": {
868 "node": ">= 0.8.0"
808 "node": ">= 0.8.0"
869 }
809 }
870 },
810 },
871 "node_modules/lodash": {
811 "node_modules/lodash": {
872 "version": "4.17.20",
812 "version": "4.17.20",
873 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
813 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
874 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
814 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
875 "dev": true
815 "dev": true
876 },
816 },
877 "node_modules/mimic-fn": {
817 "node_modules/mimic-fn": {
878 "version": "2.1.0",
818 "version": "2.1.0",
879 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
819 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
880 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
820 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
881 "dev": true,
821 "dev": true,
882 "engines": {
822 "engines": {
883 "node": ">=6"
823 "node": ">=6"
884 }
824 }
885 },
825 },
886 "node_modules/minimatch": {
826 "node_modules/minimatch": {
887 "version": "3.0.4",
827 "version": "3.0.4",
888 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
828 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
889 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
829 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
890 "dev": true,
830 "dev": true,
891 "dependencies": {
831 "dependencies": {
892 "brace-expansion": "^1.1.7"
832 "brace-expansion": "^1.1.7"
893 },
833 },
894 "engines": {
834 "engines": {
895 "node": "*"
835 "node": "*"
896 }
836 }
897 },
837 },
898 "node_modules/mkdirp": {
838 "node_modules/mkdirp": {
899 "version": "0.5.5",
839 "version": "0.5.5",
900 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
840 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
901 "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
841 "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
902 "dev": true,
842 "dev": true,
903 "dependencies": {
843 "dependencies": {
904 "minimist": "^1.2.5"
844 "minimist": "^1.2.5"
905 },
845 },
906 "bin": {
846 "bin": {
907 "mkdirp": "bin/cmd.js"
847 "mkdirp": "bin/cmd.js"
908 }
848 }
909 },
849 },
910 "node_modules/mkdirp/node_modules/minimist": {
850 "node_modules/mkdirp/node_modules/minimist": {
911 "version": "1.2.5",
851 "version": "1.2.5",
912 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
852 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
913 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
853 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
914 "dev": true
854 "dev": true
915 },
855 },
916 "node_modules/ms": {
856 "node_modules/ms": {
917 "version": "2.1.2",
857 "version": "2.1.2",
918 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
858 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
919 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
859 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
920 "dev": true
860 "dev": true
921 },
861 },
922 "node_modules/mute-stream": {
862 "node_modules/mute-stream": {
923 "version": "0.0.8",
863 "version": "0.0.8",
924 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
864 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
925 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
865 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
926 "dev": true
866 "dev": true
927 },
867 },
928 "node_modules/natural-compare": {
868 "node_modules/natural-compare": {
929 "version": "1.4.0",
869 "version": "1.4.0",
930 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
870 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
931 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
871 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
932 "dev": true
872 "dev": true
933 },
873 },
934 "node_modules/nice-try": {
874 "node_modules/nice-try": {
935 "version": "1.0.5",
875 "version": "1.0.5",
936 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
876 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
937 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
877 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
938 "dev": true
878 "dev": true
939 },
879 },
940 "node_modules/once": {
880 "node_modules/once": {
941 "version": "1.4.0",
881 "version": "1.4.0",
942 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
882 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
943 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
883 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
944 "dev": true,
884 "dev": true,
945 "dependencies": {
885 "dependencies": {
946 "wrappy": "1"
886 "wrappy": "1"
947 }
887 }
948 },
888 },
949 "node_modules/onetime": {
889 "node_modules/onetime": {
950 "version": "5.1.0",
890 "version": "5.1.0",
951 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
891 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
952 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
892 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
953 "dev": true,
893 "dev": true,
954 "dependencies": {
894 "dependencies": {
955 "mimic-fn": "^2.1.0"
895 "mimic-fn": "^2.1.0"
956 },
896 },
957 "engines": {
897 "engines": {
958 "node": ">=6"
898 "node": ">=6"
959 }
899 }
960 },
900 },
961 "node_modules/optionator": {
901 "node_modules/optionator": {
962 "version": "0.8.3",
902 "version": "0.8.3",
963 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
903 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
964 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
904 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
965 "dev": true,
905 "dev": true,
966 "dependencies": {
906 "dependencies": {
967 "deep-is": "~0.1.3",
907 "deep-is": "~0.1.3",
968 "fast-levenshtein": "~2.0.6",
908 "fast-levenshtein": "~2.0.6",
969 "levn": "~0.3.0",
909 "levn": "~0.3.0",
970 "prelude-ls": "~1.1.2",
910 "prelude-ls": "~1.1.2",
971 "type-check": "~0.3.2",
911 "type-check": "~0.3.2",
972 "word-wrap": "~1.2.3"
912 "word-wrap": "~1.2.3"
973 },
913 },
974 "engines": {
914 "engines": {
975 "node": ">= 0.8.0"
915 "node": ">= 0.8.0"
976 }
916 }
977 },
917 },
978 "node_modules/os-tmpdir": {
918 "node_modules/os-tmpdir": {
979 "version": "1.0.2",
919 "version": "1.0.2",
980 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
920 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
981 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
921 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
982 "dev": true,
922 "dev": true,
983 "engines": {
923 "engines": {
984 "node": ">=0.10.0"
924 "node": ">=0.10.0"
985 }
925 }
986 },
926 },
987 "node_modules/parent-module": {
927 "node_modules/parent-module": {
988 "version": "1.0.1",
928 "version": "1.0.1",
989 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
929 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
990 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
930 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
991 "dev": true,
931 "dev": true,
992 "dependencies": {
932 "dependencies": {
993 "callsites": "^3.0.0"
933 "callsites": "^3.0.0"
994 },
934 },
995 "engines": {
935 "engines": {
996 "node": ">=6"
936 "node": ">=6"
997 }
937 }
998 },
938 },
999 "node_modules/path-is-absolute": {
939 "node_modules/path-is-absolute": {
1000 "version": "1.0.1",
940 "version": "1.0.1",
1001 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
941 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1002 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
942 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1003 "dev": true,
943 "dev": true,
1004 "engines": {
944 "engines": {
1005 "node": ">=0.10.0"
945 "node": ">=0.10.0"
1006 }
946 }
1007 },
947 },
1008 "node_modules/path-key": {
948 "node_modules/path-key": {
1009 "version": "2.0.1",
949 "version": "2.0.1",
1010 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
950 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1011 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
951 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1012 "dev": true,
952 "dev": true,
1013 "engines": {
953 "engines": {
1014 "node": ">=4"
954 "node": ">=4"
1015 }
955 }
1016 },
956 },
1017 "node_modules/path-parse": {
957 "node_modules/path-parse": {
1018 "version": "1.0.6",
958 "version": "1.0.6",
1019 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
959 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1020 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
960 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1021 "dev": true
961 "dev": true
1022 },
962 },
1023 "node_modules/pathval": {
1024 "version": "1.1.0",
1025 "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
1026 "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
1027 "dev": true,
1028 "engines": {
1029 "node": "*"
1030 }
1031 },
1032 "node_modules/prelude-ls": {
963 "node_modules/prelude-ls": {
1033 "version": "1.1.2",
964 "version": "1.1.2",
1034 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
965 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
1035 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
966 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
1036 "dev": true,
967 "dev": true,
1037 "engines": {
968 "engines": {
1038 "node": ">= 0.8.0"
969 "node": ">= 0.8.0"
1039 }
970 }
1040 },
971 },
1041 "node_modules/progress": {
972 "node_modules/progress": {
1042 "version": "2.0.3",
973 "version": "2.0.3",
1043 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
974 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1044 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
975 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1045 "dev": true,
976 "dev": true,
1046 "engines": {
977 "engines": {
1047 "node": ">=0.4.0"
978 "node": ">=0.4.0"
1048 }
979 }
1049 },
980 },
1050 "node_modules/punycode": {
981 "node_modules/punycode": {
1051 "version": "2.1.1",
982 "version": "2.1.1",
1052 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
983 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1053 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
984 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1054 "dev": true,
985 "dev": true,
1055 "engines": {
986 "engines": {
1056 "node": ">=6"
987 "node": ">=6"
1057 }
988 }
1058 },
989 },
1059 "node_modules/regenerator-runtime": {
990 "node_modules/regenerator-runtime": {
1060 "version": "0.13.3",
991 "version": "0.13.3",
1061 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
992 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
1062 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
993 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
1063 "dev": true
994 "dev": true
1064 },
995 },
1065 "node_modules/regexpp": {
996 "node_modules/regexpp": {
1066 "version": "2.0.1",
997 "version": "2.0.1",
1067 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
998 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
1068 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
999 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
1069 "dev": true,
1000 "dev": true,
1070 "engines": {
1001 "engines": {
1071 "node": ">=6.5.0"
1002 "node": ">=6.5.0"
1072 }
1003 }
1073 },
1004 },
1074 "node_modules/requirejs": {
1005 "node_modules/requirejs": {
1075 "version": "2.3.6",
1006 "version": "2.3.6",
1076 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
1007 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
1077 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
1008 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
1078 "dev": true,
1009 "dev": true,
1079 "bin": {
1010 "bin": {
1080 "r_js": "bin/r.js",
1011 "r_js": "bin/r.js",
1081 "r.js": "bin/r.js"
1012 "r.js": "bin/r.js"
1082 },
1013 },
1083 "engines": {
1014 "engines": {
1084 "node": ">=0.4.0"
1015 "node": ">=0.4.0"
1085 }
1016 }
1086 },
1017 },
1087 "node_modules/resolve": {
1018 "node_modules/resolve": {
1088 "version": "1.17.0",
1019 "version": "1.17.0",
1089 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
1020 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
1090 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
1021 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
1091 "dev": true,
1022 "dev": true,
1092 "dependencies": {
1023 "dependencies": {
1093 "path-parse": "^1.0.6"
1024 "path-parse": "^1.0.6"
1094 }
1025 }
1095 },
1026 },
1096 "node_modules/resolve-from": {
1027 "node_modules/resolve-from": {
1097 "version": "4.0.0",
1028 "version": "4.0.0",
1098 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1029 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1099 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1030 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1100 "dev": true,
1031 "dev": true,
1101 "engines": {
1032 "engines": {
1102 "node": ">=4"
1033 "node": ">=4"
1103 }
1034 }
1104 },
1035 },
1105 "node_modules/restore-cursor": {
1036 "node_modules/restore-cursor": {
1106 "version": "3.1.0",
1037 "version": "3.1.0",
1107 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
1038 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
1108 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
1039 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
1109 "dev": true,
1040 "dev": true,
1110 "dependencies": {
1041 "dependencies": {
1111 "onetime": "^5.1.0",
1042 "onetime": "^5.1.0",
1112 "signal-exit": "^3.0.2"
1043 "signal-exit": "^3.0.2"
1113 },
1044 },
1114 "engines": {
1045 "engines": {
1115 "node": ">=8"
1046 "node": ">=8"
1116 }
1047 }
1117 },
1048 },
1118 "node_modules/rimraf": {
1049 "node_modules/rimraf": {
1119 "version": "2.6.3",
1050 "version": "2.6.3",
1120 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1051 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1121 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1052 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1122 "dev": true,
1053 "dev": true,
1123 "dependencies": {
1054 "dependencies": {
1124 "glob": "^7.1.3"
1055 "glob": "^7.1.3"
1125 },
1056 },
1126 "bin": {
1057 "bin": {
1127 "rimraf": "bin.js"
1058 "rimraf": "bin.js"
1128 }
1059 }
1129 },
1060 },
1130 "node_modules/run-async": {
1061 "node_modules/run-async": {
1131 "version": "2.3.0",
1062 "version": "2.3.0",
1132 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
1063 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
1133 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
1064 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
1134 "dev": true,
1065 "dev": true,
1135 "dependencies": {
1066 "dependencies": {
1136 "is-promise": "^2.1.0"
1067 "is-promise": "^2.1.0"
1137 },
1068 },
1138 "engines": {
1069 "engines": {
1139 "node": ">=0.12.0"
1070 "node": ">=0.12.0"
1140 }
1071 }
1141 },
1072 },
1142 "node_modules/rxjs": {
1073 "node_modules/rxjs": {
1143 "version": "6.5.4",
1074 "version": "6.5.4",
1144 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
1075 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
1145 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
1076 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
1146 "dev": true,
1077 "dev": true,
1147 "dependencies": {
1078 "dependencies": {
1148 "tslib": "^1.9.0"
1079 "tslib": "^1.9.0"
1149 },
1080 },
1150 "engines": {
1081 "engines": {
1151 "npm": ">=2.0.0"
1082 "npm": ">=2.0.0"
1152 }
1083 }
1153 },
1084 },
1154 "node_modules/safer-buffer": {
1085 "node_modules/safer-buffer": {
1155 "version": "2.1.2",
1086 "version": "2.1.2",
1156 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1087 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1157 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1088 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1158 "dev": true
1089 "dev": true
1159 },
1090 },
1160 "node_modules/semver": {
1091 "node_modules/semver": {
1161 "version": "6.3.0",
1092 "version": "6.3.0",
1162 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1093 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1163 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1094 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1164 "dev": true,
1095 "dev": true,
1165 "bin": {
1096 "bin": {
1166 "semver": "bin/semver.js"
1097 "semver": "bin/semver.js"
1167 }
1098 }
1168 },
1099 },
1169 "node_modules/shebang-command": {
1100 "node_modules/shebang-command": {
1170 "version": "1.2.0",
1101 "version": "1.2.0",
1171 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1102 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1172 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1103 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1173 "dev": true,
1104 "dev": true,
1174 "dependencies": {
1105 "dependencies": {
1175 "shebang-regex": "^1.0.0"
1106 "shebang-regex": "^1.0.0"
1176 },
1107 },
1177 "engines": {
1108 "engines": {
1178 "node": ">=0.10.0"
1109 "node": ">=0.10.0"
1179 }
1110 }
1180 },
1111 },
1181 "node_modules/shebang-regex": {
1112 "node_modules/shebang-regex": {
1182 "version": "1.0.0",
1113 "version": "1.0.0",
1183 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1114 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1184 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1115 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1185 "dev": true,
1116 "dev": true,
1186 "engines": {
1117 "engines": {
1187 "node": ">=0.10.0"
1118 "node": ">=0.10.0"
1188 }
1119 }
1189 },
1120 },
1190 "node_modules/signal-exit": {
1121 "node_modules/signal-exit": {
1191 "version": "3.0.2",
1122 "version": "3.0.2",
1192 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1123 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1193 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
1124 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
1194 "dev": true
1125 "dev": true
1195 },
1126 },
1196 "node_modules/slice-ansi": {
1127 "node_modules/slice-ansi": {
1197 "version": "2.1.0",
1128 "version": "2.1.0",
1198 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1129 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1199 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1130 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1200 "dev": true,
1131 "dev": true,
1201 "dependencies": {
1132 "dependencies": {
1202 "ansi-styles": "^3.2.0",
1133 "ansi-styles": "^3.2.0",
1203 "astral-regex": "^1.0.0",
1134 "astral-regex": "^1.0.0",
1204 "is-fullwidth-code-point": "^2.0.0"
1135 "is-fullwidth-code-point": "^2.0.0"
1205 },
1136 },
1206 "engines": {
1137 "engines": {
1207 "node": ">=6"
1138 "node": ">=6"
1208 }
1139 }
1209 },
1140 },
1210 "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
1141 "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
1211 "version": "2.0.0",
1142 "version": "2.0.0",
1212 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1143 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1213 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1144 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1214 "dev": true,
1145 "dev": true,
1215 "engines": {
1146 "engines": {
1216 "node": ">=4"
1147 "node": ">=4"
1217 }
1148 }
1218 },
1149 },
1219 "node_modules/sprintf-js": {
1150 "node_modules/sprintf-js": {
1220 "version": "1.0.3",
1151 "version": "1.0.3",
1221 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1152 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1222 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1153 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1223 "dev": true
1154 "dev": true
1224 },
1155 },
1225 "node_modules/string-width": {
1156 "node_modules/string-width": {
1226 "version": "4.2.0",
1157 "version": "4.2.0",
1227 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
1158 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
1228 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
1159 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
1229 "dev": true,
1160 "dev": true,
1230 "dependencies": {
1161 "dependencies": {
1231 "emoji-regex": "^8.0.0",
1162 "emoji-regex": "^8.0.0",
1232 "is-fullwidth-code-point": "^3.0.0",
1163 "is-fullwidth-code-point": "^3.0.0",
1233 "strip-ansi": "^6.0.0"
1164 "strip-ansi": "^6.0.0"
1234 },
1165 },
1235 "engines": {
1166 "engines": {
1236 "node": ">=8"
1167 "node": ">=8"
1237 }
1168 }
1238 },
1169 },
1239 "node_modules/string-width/node_modules/strip-ansi": {
1170 "node_modules/string-width/node_modules/strip-ansi": {
1240 "version": "6.0.0",
1171 "version": "6.0.0",
1241 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1172 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1242 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1173 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1243 "dev": true,
1174 "dev": true,
1244 "dependencies": {
1175 "dependencies": {
1245 "ansi-regex": "^5.0.0"
1176 "ansi-regex": "^5.0.0"
1246 },
1177 },
1247 "engines": {
1178 "engines": {
1248 "node": ">=8"
1179 "node": ">=8"
1249 }
1180 }
1250 },
1181 },
1251 "node_modules/strip-ansi": {
1182 "node_modules/strip-ansi": {
1252 "version": "5.2.0",
1183 "version": "5.2.0",
1253 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1184 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1254 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1185 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1255 "dev": true,
1186 "dev": true,
1256 "dependencies": {
1187 "dependencies": {
1257 "ansi-regex": "^4.1.0"
1188 "ansi-regex": "^4.1.0"
1258 },
1189 },
1259 "engines": {
1190 "engines": {
1260 "node": ">=6"
1191 "node": ">=6"
1261 }
1192 }
1262 },
1193 },
1263 "node_modules/strip-ansi/node_modules/ansi-regex": {
1194 "node_modules/strip-ansi/node_modules/ansi-regex": {
1264 "version": "4.1.0",
1195 "version": "4.1.0",
1265 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1196 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1266 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1197 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1267 "dev": true,
1198 "dev": true,
1268 "engines": {
1199 "engines": {
1269 "node": ">=6"
1200 "node": ">=6"
1270 }
1201 }
1271 },
1202 },
1272 "node_modules/strip-json-comments": {
1203 "node_modules/strip-json-comments": {
1273 "version": "3.0.1",
1204 "version": "3.0.1",
1274 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1205 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1275 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
1206 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
1276 "dev": true,
1207 "dev": true,
1277 "engines": {
1208 "engines": {
1278 "node": ">=8"
1209 "node": ">=8"
1279 }
1210 }
1280 },
1211 },
1281 "node_modules/supports-color": {
1212 "node_modules/supports-color": {
1282 "version": "5.5.0",
1213 "version": "5.5.0",
1283 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1214 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1284 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1215 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1285 "dev": true,
1216 "dev": true,
1286 "dependencies": {
1217 "dependencies": {
1287 "has-flag": "^3.0.0"
1218 "has-flag": "^3.0.0"
1288 },
1219 },
1289 "engines": {
1220 "engines": {
1290 "node": ">=4"
1221 "node": ">=4"
1291 }
1222 }
1292 },
1223 },
1293 "node_modules/table": {
1224 "node_modules/table": {
1294 "version": "5.4.6",
1225 "version": "5.4.6",
1295 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1226 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1296 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1227 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1297 "dev": true,
1228 "dev": true,
1298 "dependencies": {
1229 "dependencies": {
1299 "ajv": "^6.10.2",
1230 "ajv": "^6.10.2",
1300 "lodash": "^4.17.14",
1231 "lodash": "^4.17.14",
1301 "slice-ansi": "^2.1.0",
1232 "slice-ansi": "^2.1.0",
1302 "string-width": "^3.0.0"
1233 "string-width": "^3.0.0"
1303 },
1234 },
1304 "engines": {
1235 "engines": {
1305 "node": ">=6.0.0"
1236 "node": ">=6.0.0"
1306 }
1237 }
1307 },
1238 },
1308 "node_modules/table/node_modules/emoji-regex": {
1239 "node_modules/table/node_modules/emoji-regex": {
1309 "version": "7.0.3",
1240 "version": "7.0.3",
1310 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1241 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1311 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1242 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1312 "dev": true
1243 "dev": true
1313 },
1244 },
1314 "node_modules/table/node_modules/is-fullwidth-code-point": {
1245 "node_modules/table/node_modules/is-fullwidth-code-point": {
1315 "version": "2.0.0",
1246 "version": "2.0.0",
1316 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1247 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1317 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1248 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1318 "dev": true,
1249 "dev": true,
1319 "engines": {
1250 "engines": {
1320 "node": ">=4"
1251 "node": ">=4"
1321 }
1252 }
1322 },
1253 },
1323 "node_modules/table/node_modules/string-width": {
1254 "node_modules/table/node_modules/string-width": {
1324 "version": "3.1.0",
1255 "version": "3.1.0",
1325 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1256 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1326 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1257 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1327 "dev": true,
1258 "dev": true,
1328 "dependencies": {
1259 "dependencies": {
1329 "emoji-regex": "^7.0.1",
1260 "emoji-regex": "^7.0.1",
1330 "is-fullwidth-code-point": "^2.0.0",
1261 "is-fullwidth-code-point": "^2.0.0",
1331 "strip-ansi": "^5.1.0"
1262 "strip-ansi": "^5.1.0"
1332 },
1263 },
1333 "engines": {
1264 "engines": {
1334 "node": ">=6"
1265 "node": ">=6"
1335 }
1266 }
1336 },
1267 },
1337 "node_modules/text-table": {
1268 "node_modules/text-table": {
1338 "version": "0.2.0",
1269 "version": "0.2.0",
1339 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1270 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1340 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1271 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1341 "dev": true
1272 "dev": true
1342 },
1273 },
1343 "node_modules/through": {
1274 "node_modules/through": {
1344 "version": "2.3.8",
1275 "version": "2.3.8",
1345 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1276 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1346 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1277 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1347 "dev": true
1278 "dev": true
1348 },
1279 },
1349 "node_modules/tmp": {
1280 "node_modules/tmp": {
1350 "version": "0.0.33",
1281 "version": "0.0.33",
1351 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1282 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1352 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1283 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1353 "dev": true,
1284 "dev": true,
1354 "dependencies": {
1285 "dependencies": {
1355 "os-tmpdir": "~1.0.2"
1286 "os-tmpdir": "~1.0.2"
1356 },
1287 },
1357 "engines": {
1288 "engines": {
1358 "node": ">=0.6.0"
1289 "node": ">=0.6.0"
1359 }
1290 }
1360 },
1291 },
1361 "node_modules/tslib": {
1292 "node_modules/tslib": {
1362 "version": "1.10.0",
1293 "version": "1.10.0",
1363 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
1294 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
1364 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
1295 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
1365 "dev": true
1296 "dev": true
1366 },
1297 },
1367 "node_modules/tslint": {
1298 "node_modules/tslint": {
1368 "version": "6.1.3",
1299 "version": "6.1.3",
1369 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
1300 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
1370 "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
1301 "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
1371 "dev": true,
1302 "dev": true,
1372 "dependencies": {
1303 "dependencies": {
1373 "@babel/code-frame": "^7.0.0",
1304 "@babel/code-frame": "^7.0.0",
1374 "builtin-modules": "^1.1.1",
1305 "builtin-modules": "^1.1.1",
1375 "chalk": "^2.3.0",
1306 "chalk": "^2.3.0",
1376 "commander": "^2.12.1",
1307 "commander": "^2.12.1",
1377 "diff": "^4.0.1",
1308 "diff": "^4.0.1",
1378 "glob": "^7.1.1",
1309 "glob": "^7.1.1",
1379 "js-yaml": "^3.13.1",
1310 "js-yaml": "^3.13.1",
1380 "minimatch": "^3.0.4",
1311 "minimatch": "^3.0.4",
1381 "mkdirp": "^0.5.3",
1312 "mkdirp": "^0.5.3",
1382 "resolve": "^1.3.2",
1313 "resolve": "^1.3.2",
1383 "semver": "^5.3.0",
1314 "semver": "^5.3.0",
1384 "tslib": "^1.13.0",
1315 "tslib": "^1.13.0",
1385 "tsutils": "^2.29.0"
1316 "tsutils": "^2.29.0"
1386 },
1317 },
1387 "bin": {
1318 "bin": {
1388 "tslint": "bin/tslint"
1319 "tslint": "bin/tslint"
1389 },
1320 },
1390 "engines": {
1321 "engines": {
1391 "node": ">=4.8.0"
1322 "node": ">=4.8.0"
1392 }
1323 }
1393 },
1324 },
1394 "node_modules/tslint/node_modules/semver": {
1325 "node_modules/tslint/node_modules/semver": {
1395 "version": "5.7.1",
1326 "version": "5.7.1",
1396 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1327 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1397 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1328 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1398 "dev": true,
1329 "dev": true,
1399 "bin": {
1330 "bin": {
1400 "semver": "bin/semver"
1331 "semver": "bin/semver"
1401 }
1332 }
1402 },
1333 },
1403 "node_modules/tslint/node_modules/tslib": {
1334 "node_modules/tslint/node_modules/tslib": {
1404 "version": "1.13.0",
1335 "version": "1.13.0",
1405 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
1336 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
1406 "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
1337 "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
1407 "dev": true
1338 "dev": true
1408 },
1339 },
1409 "node_modules/tsutils": {
1340 "node_modules/tsutils": {
1410 "version": "2.29.0",
1341 "version": "2.29.0",
1411 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
1342 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
1412 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
1343 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
1413 "dev": true,
1344 "dev": true,
1414 "dependencies": {
1345 "dependencies": {
1415 "tslib": "^1.8.1"
1346 "tslib": "^1.8.1"
1416 }
1347 }
1417 },
1348 },
1418 "node_modules/type-check": {
1349 "node_modules/type-check": {
1419 "version": "0.3.2",
1350 "version": "0.3.2",
1420 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
1351 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
1421 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
1352 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
1422 "dev": true,
1353 "dev": true,
1423 "dependencies": {
1354 "dependencies": {
1424 "prelude-ls": "~1.1.2"
1355 "prelude-ls": "~1.1.2"
1425 },
1356 },
1426 "engines": {
1357 "engines": {
1427 "node": ">= 0.8.0"
1358 "node": ">= 0.8.0"
1428 }
1359 }
1429 },
1360 },
1430 "node_modules/type-detect": {
1431 "version": "4.0.8",
1432 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
1433 "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
1434 "dev": true,
1435 "engines": {
1436 "node": ">=4"
1437 }
1438 },
1439 "node_modules/type-fest": {
1361 "node_modules/type-fest": {
1440 "version": "0.8.1",
1362 "version": "0.8.1",
1441 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
1363 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
1442 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
1364 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
1443 "dev": true,
1365 "dev": true,
1444 "engines": {
1366 "engines": {
1445 "node": ">=8"
1367 "node": ">=8"
1446 }
1368 }
1447 },
1369 },
1448 "node_modules/typescript": {
1370 "node_modules/typescript": {
1449 "version": "4.2.4",
1371 "version": "4.2.4",
1450 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
1372 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
1451 "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
1373 "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
1452 "dev": true,
1374 "dev": true,
1453 "bin": {
1375 "bin": {
1454 "tsc": "bin/tsc",
1376 "tsc": "bin/tsc",
1455 "tsserver": "bin/tsserver"
1377 "tsserver": "bin/tsserver"
1456 },
1378 },
1457 "engines": {
1379 "engines": {
1458 "node": ">=4.2.0"
1380 "node": ">=4.2.0"
1459 }
1381 }
1460 },
1382 },
1461 "node_modules/uri-js": {
1383 "node_modules/uri-js": {
1462 "version": "4.2.2",
1384 "version": "4.2.2",
1463 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1385 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1464 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1386 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1465 "dev": true,
1387 "dev": true,
1466 "dependencies": {
1388 "dependencies": {
1467 "punycode": "^2.1.0"
1389 "punycode": "^2.1.0"
1468 }
1390 }
1469 },
1391 },
1470 "node_modules/v8-compile-cache": {
1392 "node_modules/v8-compile-cache": {
1471 "version": "2.1.0",
1393 "version": "2.1.0",
1472 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
1394 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
1473 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
1395 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
1474 "dev": true
1396 "dev": true
1475 },
1397 },
1476 "node_modules/which": {
1398 "node_modules/which": {
1477 "version": "1.3.1",
1399 "version": "1.3.1",
1478 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1400 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1479 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1401 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1480 "dev": true,
1402 "dev": true,
1481 "dependencies": {
1403 "dependencies": {
1482 "isexe": "^2.0.0"
1404 "isexe": "^2.0.0"
1483 },
1405 },
1484 "bin": {
1406 "bin": {
1485 "which": "bin/which"
1407 "which": "bin/which"
1486 }
1408 }
1487 },
1409 },
1488 "node_modules/word-wrap": {
1410 "node_modules/word-wrap": {
1489 "version": "1.2.3",
1411 "version": "1.2.3",
1490 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1412 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1491 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1413 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1492 "dev": true,
1414 "dev": true,
1493 "engines": {
1415 "engines": {
1494 "node": ">=0.10.0"
1416 "node": ">=0.10.0"
1495 }
1417 }
1496 },
1418 },
1497 "node_modules/wrappy": {
1419 "node_modules/wrappy": {
1498 "version": "1.0.2",
1420 "version": "1.0.2",
1499 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1421 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1500 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1422 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1501 "dev": true
1423 "dev": true
1502 },
1424 },
1503 "node_modules/write": {
1425 "node_modules/write": {
1504 "version": "1.0.3",
1426 "version": "1.0.3",
1505 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
1427 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
1506 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
1428 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
1507 "dev": true,
1429 "dev": true,
1508 "dependencies": {
1430 "dependencies": {
1509 "mkdirp": "^0.5.1"
1431 "mkdirp": "^0.5.1"
1510 },
1432 },
1511 "engines": {
1433 "engines": {
1512 "node": ">=4"
1434 "node": ">=4"
1513 }
1435 }
1514 },
1436 },
1515 "node_modules/yaml": {
1437 "node_modules/yaml": {
1516 "version": "1.7.2",
1438 "version": "1.7.2",
1517 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
1439 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
1518 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
1440 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
1519 "dev": true,
1441 "dev": true,
1520 "dependencies": {
1442 "dependencies": {
1521 "@babel/runtime": "^7.6.3"
1443 "@babel/runtime": "^7.6.3"
1522 },
1444 },
1523 "engines": {
1445 "engines": {
1524 "node": ">= 6"
1446 "node": ">= 6"
1525 }
1447 }
1526 }
1448 }
1527 },
1449 },
1528 "dependencies": {
1450 "dependencies": {
1529 "@babel/code-frame": {
1451 "@babel/code-frame": {
1530 "version": "7.8.3",
1452 "version": "7.8.3",
1531 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
1453 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
1532 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
1454 "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
1533 "dev": true,
1455 "dev": true,
1534 "requires": {
1456 "requires": {
1535 "@babel/highlight": "^7.8.3"
1457 "@babel/highlight": "^7.8.3"
1536 }
1458 }
1537 },
1459 },
1538 "@babel/highlight": {
1460 "@babel/highlight": {
1539 "version": "7.8.3",
1461 "version": "7.8.3",
1540 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
1462 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
1541 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
1463 "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
1542 "dev": true,
1464 "dev": true,
1543 "requires": {
1465 "requires": {
1544 "chalk": "^2.0.0",
1466 "chalk": "^2.0.0",
1545 "esutils": "^2.0.2",
1467 "esutils": "^2.0.2",
1546 "js-tokens": "^4.0.0"
1468 "js-tokens": "^4.0.0"
1547 }
1469 }
1548 },
1470 },
1549 "@babel/runtime": {
1471 "@babel/runtime": {
1550 "version": "7.8.3",
1472 "version": "7.8.3",
1551 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
1473 "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
1552 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
1474 "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
1553 "dev": true,
1475 "dev": true,
1554 "requires": {
1476 "requires": {
1555 "regenerator-runtime": "^0.13.2"
1477 "regenerator-runtime": "^0.13.2"
1556 }
1478 }
1557 },
1479 },
1558 "@implab/core-amd": {
1480 "@implab/core-amd": {
1559 "version": "1.4.0",
1481 "version": "1.4.0",
1560 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
1482 "resolved": "https://registry.npmjs.org/@implab/core-amd/-/core-amd-1.4.0.tgz",
1561 "integrity": "sha512-gaJX1mhri7YpmXDTAYELZnmTznzXYpk2AI7Decsttdi6xY+bqGgH24q0AFcKrx8RY2jfsFXxDdf0fITz2HpBbw==",
1483 "integrity": "sha512-gaJX1mhri7YpmXDTAYELZnmTznzXYpk2AI7Decsttdi6xY+bqGgH24q0AFcKrx8RY2jfsFXxDdf0fITz2HpBbw==",
1562 "dev": true
1484 "dev": true
1563 },
1485 },
1486 "@implab/dojo-typings": {
1487 "version": "1.0.0",
1488 "resolved": "https://registry.npmjs.org/@implab/dojo-typings/-/dojo-typings-1.0.0.tgz",
1489 "integrity": "sha512-B2kvlKJgvyIQAl/k1pVyNmtp4ADvBDCs4Lw/qfBC+Sz/ft4c7EuRXmN/+2dhWrd6A5SMjEgex5oeq6Ja2ntrig==",
1490 "dev": true
1491 },
1564 "@types/chai": {
1492 "@types/chai": {
1565 "version": "4.1.3",
1493 "version": "4.1.3",
1566 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
1494 "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.3.tgz",
1567 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
1495 "integrity": "sha512-f5dXGzOJycyzSMdaXVhiBhauL4dYydXwVpavfQ1mVCaGjR56a9QfklXObUxlIY9bGTmCPHEEZ04I16BZ/8w5ww==",
1568 "dev": true
1496 "dev": true
1569 },
1497 },
1570 "@types/requirejs": {
1498 "@types/requirejs": {
1571 "version": "2.1.31",
1499 "version": "2.1.31",
1572 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
1500 "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.31.tgz",
1573 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
1501 "integrity": "sha512-b2soeyuU76rMbcRJ4e0hEl0tbMhFwZeTC0VZnfuWlfGlk6BwWNsev6kFu/twKABPX29wkX84wU2o+cEJoXsiTw==",
1574 "dev": true
1502 "dev": true
1575 },
1503 },
1576 "@types/yaml": {
1504 "@types/yaml": {
1577 "version": "1.2.0",
1505 "version": "1.2.0",
1578 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
1506 "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz",
1579 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
1507 "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==",
1580 "dev": true
1508 "dev": true
1581 },
1509 },
1582 "acorn": {
1510 "acorn": {
1583 "version": "7.4.0",
1511 "version": "7.4.0",
1584 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
1512 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
1585 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
1513 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
1586 "dev": true
1514 "dev": true
1587 },
1515 },
1588 "acorn-jsx": {
1516 "acorn-jsx": {
1589 "version": "5.1.0",
1517 "version": "5.1.0",
1590 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
1518 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
1591 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
1519 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
1592 "dev": true
1520 "dev": true
1593 },
1521 },
1594 "ajv": {
1522 "ajv": {
1595 "version": "6.11.0",
1523 "version": "6.11.0",
1596 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
1524 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
1597 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
1525 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
1598 "dev": true,
1526 "dev": true,
1599 "requires": {
1527 "requires": {
1600 "fast-deep-equal": "^3.1.1",
1528 "fast-deep-equal": "^3.1.1",
1601 "fast-json-stable-stringify": "^2.0.0",
1529 "fast-json-stable-stringify": "^2.0.0",
1602 "json-schema-traverse": "^0.4.1",
1530 "json-schema-traverse": "^0.4.1",
1603 "uri-js": "^4.2.2"
1531 "uri-js": "^4.2.2"
1604 }
1532 }
1605 },
1533 },
1606 "ansi-escapes": {
1534 "ansi-escapes": {
1607 "version": "4.3.0",
1535 "version": "4.3.0",
1608 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
1536 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
1609 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
1537 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
1610 "dev": true,
1538 "dev": true,
1611 "requires": {
1539 "requires": {
1612 "type-fest": "^0.8.1"
1540 "type-fest": "^0.8.1"
1613 }
1541 }
1614 },
1542 },
1615 "ansi-regex": {
1543 "ansi-regex": {
1616 "version": "5.0.0",
1544 "version": "5.0.0",
1617 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1545 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1618 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
1546 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
1619 "dev": true
1547 "dev": true
1620 },
1548 },
1621 "ansi-styles": {
1549 "ansi-styles": {
1622 "version": "3.2.1",
1550 "version": "3.2.1",
1623 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1551 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1624 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1552 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1625 "dev": true,
1553 "dev": true,
1626 "requires": {
1554 "requires": {
1627 "color-convert": "^1.9.0"
1555 "color-convert": "^1.9.0"
1628 }
1556 }
1629 },
1557 },
1630 "argparse": {
1558 "argparse": {
1631 "version": "1.0.10",
1559 "version": "1.0.10",
1632 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
1560 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
1633 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
1561 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
1634 "dev": true,
1562 "dev": true,
1635 "requires": {
1563 "requires": {
1636 "sprintf-js": "~1.0.2"
1564 "sprintf-js": "~1.0.2"
1637 }
1565 }
1638 },
1566 },
1639 "assertion-error": {
1640 "version": "1.1.0",
1641 "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
1642 "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
1643 "dev": true
1644 },
1645 "astral-regex": {
1567 "astral-regex": {
1646 "version": "1.0.0",
1568 "version": "1.0.0",
1647 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
1569 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
1648 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
1570 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
1649 "dev": true
1571 "dev": true
1650 },
1572 },
1651 "balanced-match": {
1573 "balanced-match": {
1652 "version": "1.0.0",
1574 "version": "1.0.0",
1653 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1575 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1654 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1576 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1655 "dev": true
1577 "dev": true
1656 },
1578 },
1657 "brace-expansion": {
1579 "brace-expansion": {
1658 "version": "1.1.11",
1580 "version": "1.1.11",
1659 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1581 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1660 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1582 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1661 "dev": true,
1583 "dev": true,
1662 "requires": {
1584 "requires": {
1663 "balanced-match": "^1.0.0",
1585 "balanced-match": "^1.0.0",
1664 "concat-map": "0.0.1"
1586 "concat-map": "0.0.1"
1665 }
1587 }
1666 },
1588 },
1667 "builtin-modules": {
1589 "builtin-modules": {
1668 "version": "1.1.1",
1590 "version": "1.1.1",
1669 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
1591 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
1670 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
1592 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
1671 "dev": true
1593 "dev": true
1672 },
1594 },
1673 "callsites": {
1595 "callsites": {
1674 "version": "3.1.0",
1596 "version": "3.1.0",
1675 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1597 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1676 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1598 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1677 "dev": true
1599 "dev": true
1678 },
1600 },
1679 "chai": {
1680 "version": "4.2.0",
1681 "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
1682 "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
1683 "dev": true,
1684 "requires": {
1685 "assertion-error": "^1.1.0",
1686 "check-error": "^1.0.2",
1687 "deep-eql": "^3.0.1",
1688 "get-func-name": "^2.0.0",
1689 "pathval": "^1.1.0",
1690 "type-detect": "^4.0.5"
1691 }
1692 },
1693 "chalk": {
1601 "chalk": {
1694 "version": "2.4.2",
1602 "version": "2.4.2",
1695 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1603 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1696 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1604 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1697 "dev": true,
1605 "dev": true,
1698 "requires": {
1606 "requires": {
1699 "ansi-styles": "^3.2.1",
1607 "ansi-styles": "^3.2.1",
1700 "escape-string-regexp": "^1.0.5",
1608 "escape-string-regexp": "^1.0.5",
1701 "supports-color": "^5.3.0"
1609 "supports-color": "^5.3.0"
1702 }
1610 }
1703 },
1611 },
1704 "chardet": {
1612 "chardet": {
1705 "version": "0.7.0",
1613 "version": "0.7.0",
1706 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
1614 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
1707 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
1615 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
1708 "dev": true
1616 "dev": true
1709 },
1617 },
1710 "check-error": {
1711 "version": "1.0.2",
1712 "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
1713 "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
1714 "dev": true
1715 },
1716 "cli-cursor": {
1618 "cli-cursor": {
1717 "version": "3.1.0",
1619 "version": "3.1.0",
1718 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
1620 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
1719 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
1621 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
1720 "dev": true,
1622 "dev": true,
1721 "requires": {
1623 "requires": {
1722 "restore-cursor": "^3.1.0"
1624 "restore-cursor": "^3.1.0"
1723 }
1625 }
1724 },
1626 },
1725 "cli-width": {
1627 "cli-width": {
1726 "version": "2.2.0",
1628 "version": "2.2.0",
1727 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
1629 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
1728 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
1630 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
1729 "dev": true
1631 "dev": true
1730 },
1632 },
1731 "color-convert": {
1633 "color-convert": {
1732 "version": "1.9.3",
1634 "version": "1.9.3",
1733 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1635 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1734 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1636 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1735 "dev": true,
1637 "dev": true,
1736 "requires": {
1638 "requires": {
1737 "color-name": "1.1.3"
1639 "color-name": "1.1.3"
1738 }
1640 }
1739 },
1641 },
1740 "color-name": {
1642 "color-name": {
1741 "version": "1.1.3",
1643 "version": "1.1.3",
1742 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1644 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1743 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1645 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1744 "dev": true
1646 "dev": true
1745 },
1647 },
1746 "commander": {
1648 "commander": {
1747 "version": "2.20.3",
1649 "version": "2.20.3",
1748 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1650 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1749 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1651 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1750 "dev": true
1652 "dev": true
1751 },
1653 },
1752 "concat-map": {
1654 "concat-map": {
1753 "version": "0.0.1",
1655 "version": "0.0.1",
1754 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1656 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1755 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1657 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1756 "dev": true
1658 "dev": true
1757 },
1659 },
1758 "cross-spawn": {
1660 "cross-spawn": {
1759 "version": "6.0.5",
1661 "version": "6.0.5",
1760 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1662 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1761 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1663 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1762 "dev": true,
1664 "dev": true,
1763 "requires": {
1665 "requires": {
1764 "nice-try": "^1.0.4",
1666 "nice-try": "^1.0.4",
1765 "path-key": "^2.0.1",
1667 "path-key": "^2.0.1",
1766 "semver": "^5.5.0",
1668 "semver": "^5.5.0",
1767 "shebang-command": "^1.2.0",
1669 "shebang-command": "^1.2.0",
1768 "which": "^1.2.9"
1670 "which": "^1.2.9"
1769 },
1671 },
1770 "dependencies": {
1672 "dependencies": {
1771 "semver": {
1673 "semver": {
1772 "version": "5.7.1",
1674 "version": "5.7.1",
1773 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1675 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1774 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1676 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1775 "dev": true
1677 "dev": true
1776 }
1678 }
1777 }
1679 }
1778 },
1680 },
1779 "debug": {
1681 "debug": {
1780 "version": "4.1.1",
1682 "version": "4.1.1",
1781 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1683 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1782 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1684 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1783 "dev": true,
1685 "dev": true,
1784 "requires": {
1686 "requires": {
1785 "ms": "^2.1.1"
1687 "ms": "^2.1.1"
1786 }
1688 }
1787 },
1689 },
1788 "deep-eql": {
1789 "version": "3.0.1",
1790 "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
1791 "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
1792 "dev": true,
1793 "requires": {
1794 "type-detect": "^4.0.0"
1795 }
1796 },
1797 "deep-is": {
1690 "deep-is": {
1798 "version": "0.1.3",
1691 "version": "0.1.3",
1799 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
1692 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
1800 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
1693 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
1801 "dev": true
1694 "dev": true
1802 },
1695 },
1803 "diff": {
1696 "diff": {
1804 "version": "4.0.2",
1697 "version": "4.0.2",
1805 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
1698 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
1806 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
1699 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
1807 "dev": true
1700 "dev": true
1808 },
1701 },
1809 "doctrine": {
1702 "doctrine": {
1810 "version": "3.0.0",
1703 "version": "3.0.0",
1811 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
1704 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
1812 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
1705 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
1813 "dev": true,
1706 "dev": true,
1814 "requires": {
1707 "requires": {
1815 "esutils": "^2.0.2"
1708 "esutils": "^2.0.2"
1816 }
1709 }
1817 },
1710 },
1818 "dojo": {
1711 "dojo": {
1819 "version": "1.16.0",
1712 "version": "1.16.0",
1820 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
1713 "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.16.0.tgz",
1821 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
1714 "integrity": "sha512-DUiXyoLK6vMF5BPr/qiMLTxDMfiM9qlzN1jxfDsVfuvB/CwhYpNxA/M4mbqKN8PCVGLmccXBJbfmFJPP5+zmzw==",
1822 "dev": true
1715 "dev": true
1823 },
1716 },
1824 "dojo-typings": {
1825 "version": "1.11.9",
1826 "resolved": "https://registry.npmjs.org/dojo-typings/-/dojo-typings-1.11.9.tgz",
1827 "integrity": "sha512-mh8w+Mau2Y1QfTEszEAdO7j6ycNhYxF/Ing6nAk1eUg6NxjeT0viVHjICMd9sU3U463vM2G+KfBBK5grk3/Mlw==",
1828 "dev": true,
1829 "requires": {
1830 "@types/chai": "^4.0.4"
1831 }
1832 },
1833 "emoji-regex": {
1717 "emoji-regex": {
1834 "version": "8.0.0",
1718 "version": "8.0.0",
1835 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1719 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1836 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1720 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1837 "dev": true
1721 "dev": true
1838 },
1722 },
1839 "escape-string-regexp": {
1723 "escape-string-regexp": {
1840 "version": "1.0.5",
1724 "version": "1.0.5",
1841 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1725 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1842 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1726 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1843 "dev": true
1727 "dev": true
1844 },
1728 },
1845 "eslint": {
1729 "eslint": {
1846 "version": "6.8.0",
1730 "version": "6.8.0",
1847 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
1731 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
1848 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
1732 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
1849 "dev": true,
1733 "dev": true,
1850 "requires": {
1734 "requires": {
1851 "@babel/code-frame": "^7.0.0",
1735 "@babel/code-frame": "^7.0.0",
1852 "ajv": "^6.10.0",
1736 "ajv": "^6.10.0",
1853 "chalk": "^2.1.0",
1737 "chalk": "^2.1.0",
1854 "cross-spawn": "^6.0.5",
1738 "cross-spawn": "^6.0.5",
1855 "debug": "^4.0.1",
1739 "debug": "^4.0.1",
1856 "doctrine": "^3.0.0",
1740 "doctrine": "^3.0.0",
1857 "eslint-scope": "^5.0.0",
1741 "eslint-scope": "^5.0.0",
1858 "eslint-utils": "^1.4.3",
1742 "eslint-utils": "^1.4.3",
1859 "eslint-visitor-keys": "^1.1.0",
1743 "eslint-visitor-keys": "^1.1.0",
1860 "espree": "^6.1.2",
1744 "espree": "^6.1.2",
1861 "esquery": "^1.0.1",
1745 "esquery": "^1.0.1",
1862 "esutils": "^2.0.2",
1746 "esutils": "^2.0.2",
1863 "file-entry-cache": "^5.0.1",
1747 "file-entry-cache": "^5.0.1",
1864 "functional-red-black-tree": "^1.0.1",
1748 "functional-red-black-tree": "^1.0.1",
1865 "glob-parent": "^5.0.0",
1749 "glob-parent": "^5.0.0",
1866 "globals": "^12.1.0",
1750 "globals": "^12.1.0",
1867 "ignore": "^4.0.6",
1751 "ignore": "^4.0.6",
1868 "import-fresh": "^3.0.0",
1752 "import-fresh": "^3.0.0",
1869 "imurmurhash": "^0.1.4",
1753 "imurmurhash": "^0.1.4",
1870 "inquirer": "^7.0.0",
1754 "inquirer": "^7.0.0",
1871 "is-glob": "^4.0.0",
1755 "is-glob": "^4.0.0",
1872 "js-yaml": "^3.13.1",
1756 "js-yaml": "^3.13.1",
1873 "json-stable-stringify-without-jsonify": "^1.0.1",
1757 "json-stable-stringify-without-jsonify": "^1.0.1",
1874 "levn": "^0.3.0",
1758 "levn": "^0.3.0",
1875 "lodash": "^4.17.14",
1759 "lodash": "^4.17.14",
1876 "minimatch": "^3.0.4",
1760 "minimatch": "^3.0.4",
1877 "mkdirp": "^0.5.1",
1761 "mkdirp": "^0.5.1",
1878 "natural-compare": "^1.4.0",
1762 "natural-compare": "^1.4.0",
1879 "optionator": "^0.8.3",
1763 "optionator": "^0.8.3",
1880 "progress": "^2.0.0",
1764 "progress": "^2.0.0",
1881 "regexpp": "^2.0.1",
1765 "regexpp": "^2.0.1",
1882 "semver": "^6.1.2",
1766 "semver": "^6.1.2",
1883 "strip-ansi": "^5.2.0",
1767 "strip-ansi": "^5.2.0",
1884 "strip-json-comments": "^3.0.1",
1768 "strip-json-comments": "^3.0.1",
1885 "table": "^5.2.3",
1769 "table": "^5.2.3",
1886 "text-table": "^0.2.0",
1770 "text-table": "^0.2.0",
1887 "v8-compile-cache": "^2.0.3"
1771 "v8-compile-cache": "^2.0.3"
1888 }
1772 }
1889 },
1773 },
1890 "eslint-scope": {
1774 "eslint-scope": {
1891 "version": "5.0.0",
1775 "version": "5.0.0",
1892 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
1776 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
1893 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
1777 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
1894 "dev": true,
1778 "dev": true,
1895 "requires": {
1779 "requires": {
1896 "esrecurse": "^4.1.0",
1780 "esrecurse": "^4.1.0",
1897 "estraverse": "^4.1.1"
1781 "estraverse": "^4.1.1"
1898 }
1782 }
1899 },
1783 },
1900 "eslint-utils": {
1784 "eslint-utils": {
1901 "version": "1.4.3",
1785 "version": "1.4.3",
1902 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
1786 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
1903 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
1787 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
1904 "dev": true,
1788 "dev": true,
1905 "requires": {
1789 "requires": {
1906 "eslint-visitor-keys": "^1.1.0"
1790 "eslint-visitor-keys": "^1.1.0"
1907 }
1791 }
1908 },
1792 },
1909 "eslint-visitor-keys": {
1793 "eslint-visitor-keys": {
1910 "version": "1.1.0",
1794 "version": "1.1.0",
1911 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
1795 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
1912 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
1796 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
1913 "dev": true
1797 "dev": true
1914 },
1798 },
1915 "espree": {
1799 "espree": {
1916 "version": "6.1.2",
1800 "version": "6.1.2",
1917 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
1801 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
1918 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
1802 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
1919 "dev": true,
1803 "dev": true,
1920 "requires": {
1804 "requires": {
1921 "acorn": "^7.1.0",
1805 "acorn": "^7.1.0",
1922 "acorn-jsx": "^5.1.0",
1806 "acorn-jsx": "^5.1.0",
1923 "eslint-visitor-keys": "^1.1.0"
1807 "eslint-visitor-keys": "^1.1.0"
1924 }
1808 }
1925 },
1809 },
1926 "esprima": {
1810 "esprima": {
1927 "version": "4.0.1",
1811 "version": "4.0.1",
1928 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1812 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1929 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1813 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1930 "dev": true
1814 "dev": true
1931 },
1815 },
1932 "esquery": {
1816 "esquery": {
1933 "version": "1.0.1",
1817 "version": "1.0.1",
1934 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
1818 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
1935 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
1819 "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
1936 "dev": true,
1820 "dev": true,
1937 "requires": {
1821 "requires": {
1938 "estraverse": "^4.0.0"
1822 "estraverse": "^4.0.0"
1939 }
1823 }
1940 },
1824 },
1941 "esrecurse": {
1825 "esrecurse": {
1942 "version": "4.2.1",
1826 "version": "4.2.1",
1943 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
1827 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
1944 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
1828 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
1945 "dev": true,
1829 "dev": true,
1946 "requires": {
1830 "requires": {
1947 "estraverse": "^4.1.0"
1831 "estraverse": "^4.1.0"
1948 }
1832 }
1949 },
1833 },
1950 "estraverse": {
1834 "estraverse": {
1951 "version": "4.3.0",
1835 "version": "4.3.0",
1952 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1836 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1953 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1837 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1954 "dev": true
1838 "dev": true
1955 },
1839 },
1956 "esutils": {
1840 "esutils": {
1957 "version": "2.0.3",
1841 "version": "2.0.3",
1958 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1842 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1959 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1843 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1960 "dev": true
1844 "dev": true
1961 },
1845 },
1962 "external-editor": {
1846 "external-editor": {
1963 "version": "3.1.0",
1847 "version": "3.1.0",
1964 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
1848 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
1965 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
1849 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
1966 "dev": true,
1850 "dev": true,
1967 "requires": {
1851 "requires": {
1968 "chardet": "^0.7.0",
1852 "chardet": "^0.7.0",
1969 "iconv-lite": "^0.4.24",
1853 "iconv-lite": "^0.4.24",
1970 "tmp": "^0.0.33"
1854 "tmp": "^0.0.33"
1971 }
1855 }
1972 },
1856 },
1973 "fast-deep-equal": {
1857 "fast-deep-equal": {
1974 "version": "3.1.1",
1858 "version": "3.1.1",
1975 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
1859 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
1976 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
1860 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
1977 "dev": true
1861 "dev": true
1978 },
1862 },
1979 "fast-json-stable-stringify": {
1863 "fast-json-stable-stringify": {
1980 "version": "2.1.0",
1864 "version": "2.1.0",
1981 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1865 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1982 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1866 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1983 "dev": true
1867 "dev": true
1984 },
1868 },
1985 "fast-levenshtein": {
1869 "fast-levenshtein": {
1986 "version": "2.0.6",
1870 "version": "2.0.6",
1987 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1871 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1988 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
1872 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
1989 "dev": true
1873 "dev": true
1990 },
1874 },
1991 "figures": {
1875 "figures": {
1992 "version": "3.1.0",
1876 "version": "3.1.0",
1993 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
1877 "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
1994 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
1878 "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
1995 "dev": true,
1879 "dev": true,
1996 "requires": {
1880 "requires": {
1997 "escape-string-regexp": "^1.0.5"
1881 "escape-string-regexp": "^1.0.5"
1998 }
1882 }
1999 },
1883 },
2000 "file-entry-cache": {
1884 "file-entry-cache": {
2001 "version": "5.0.1",
1885 "version": "5.0.1",
2002 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
1886 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
2003 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
1887 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
2004 "dev": true,
1888 "dev": true,
2005 "requires": {
1889 "requires": {
2006 "flat-cache": "^2.0.1"
1890 "flat-cache": "^2.0.1"
2007 }
1891 }
2008 },
1892 },
2009 "flat-cache": {
1893 "flat-cache": {
2010 "version": "2.0.1",
1894 "version": "2.0.1",
2011 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
1895 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
2012 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
1896 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
2013 "dev": true,
1897 "dev": true,
2014 "requires": {
1898 "requires": {
2015 "flatted": "^2.0.0",
1899 "flatted": "^2.0.0",
2016 "rimraf": "2.6.3",
1900 "rimraf": "2.6.3",
2017 "write": "1.0.3"
1901 "write": "1.0.3"
2018 }
1902 }
2019 },
1903 },
2020 "flatted": {
1904 "flatted": {
2021 "version": "2.0.1",
1905 "version": "2.0.1",
2022 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
1906 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
2023 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
1907 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
2024 "dev": true
1908 "dev": true
2025 },
1909 },
2026 "fs.realpath": {
1910 "fs.realpath": {
2027 "version": "1.0.0",
1911 "version": "1.0.0",
2028 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1912 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2029 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1913 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2030 "dev": true
1914 "dev": true
2031 },
1915 },
2032 "functional-red-black-tree": {
1916 "functional-red-black-tree": {
2033 "version": "1.0.1",
1917 "version": "1.0.1",
2034 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
1918 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
2035 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
1919 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
2036 "dev": true
1920 "dev": true
2037 },
1921 },
2038 "get-func-name": {
2039 "version": "2.0.0",
2040 "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
2041 "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
2042 "dev": true
2043 },
2044 "glob": {
1922 "glob": {
2045 "version": "7.1.6",
1923 "version": "7.1.6",
2046 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1924 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
2047 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1925 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
2048 "dev": true,
1926 "dev": true,
2049 "requires": {
1927 "requires": {
2050 "fs.realpath": "^1.0.0",
1928 "fs.realpath": "^1.0.0",
2051 "inflight": "^1.0.4",
1929 "inflight": "^1.0.4",
2052 "inherits": "2",
1930 "inherits": "2",
2053 "minimatch": "^3.0.4",
1931 "minimatch": "^3.0.4",
2054 "once": "^1.3.0",
1932 "once": "^1.3.0",
2055 "path-is-absolute": "^1.0.0"
1933 "path-is-absolute": "^1.0.0"
2056 }
1934 }
2057 },
1935 },
2058 "glob-parent": {
1936 "glob-parent": {
2059 "version": "5.1.0",
1937 "version": "5.1.0",
2060 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
1938 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
2061 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
1939 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
2062 "dev": true,
1940 "dev": true,
2063 "requires": {
1941 "requires": {
2064 "is-glob": "^4.0.1"
1942 "is-glob": "^4.0.1"
2065 }
1943 }
2066 },
1944 },
2067 "globals": {
1945 "globals": {
2068 "version": "12.3.0",
1946 "version": "12.3.0",
2069 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
1947 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
2070 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
1948 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
2071 "dev": true,
1949 "dev": true,
2072 "requires": {
1950 "requires": {
2073 "type-fest": "^0.8.1"
1951 "type-fest": "^0.8.1"
2074 }
1952 }
2075 },
1953 },
2076 "has-flag": {
1954 "has-flag": {
2077 "version": "3.0.0",
1955 "version": "3.0.0",
2078 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1956 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2079 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1957 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
2080 "dev": true
1958 "dev": true
2081 },
1959 },
2082 "iconv-lite": {
1960 "iconv-lite": {
2083 "version": "0.4.24",
1961 "version": "0.4.24",
2084 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1962 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
2085 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1963 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
2086 "dev": true,
1964 "dev": true,
2087 "requires": {
1965 "requires": {
2088 "safer-buffer": ">= 2.1.2 < 3"
1966 "safer-buffer": ">= 2.1.2 < 3"
2089 }
1967 }
2090 },
1968 },
2091 "ignore": {
1969 "ignore": {
2092 "version": "4.0.6",
1970 "version": "4.0.6",
2093 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
1971 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
2094 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
1972 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
2095 "dev": true
1973 "dev": true
2096 },
1974 },
2097 "import-fresh": {
1975 "import-fresh": {
2098 "version": "3.2.1",
1976 "version": "3.2.1",
2099 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
1977 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
2100 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
1978 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
2101 "dev": true,
1979 "dev": true,
2102 "requires": {
1980 "requires": {
2103 "parent-module": "^1.0.0",
1981 "parent-module": "^1.0.0",
2104 "resolve-from": "^4.0.0"
1982 "resolve-from": "^4.0.0"
2105 }
1983 }
2106 },
1984 },
2107 "imurmurhash": {
1985 "imurmurhash": {
2108 "version": "0.1.4",
1986 "version": "0.1.4",
2109 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1987 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2110 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
1988 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
2111 "dev": true
1989 "dev": true
2112 },
1990 },
2113 "inflight": {
1991 "inflight": {
2114 "version": "1.0.6",
1992 "version": "1.0.6",
2115 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1993 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2116 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1994 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2117 "dev": true,
1995 "dev": true,
2118 "requires": {
1996 "requires": {
2119 "once": "^1.3.0",
1997 "once": "^1.3.0",
2120 "wrappy": "1"
1998 "wrappy": "1"
2121 }
1999 }
2122 },
2000 },
2123 "inherits": {
2001 "inherits": {
2124 "version": "2.0.4",
2002 "version": "2.0.4",
2125 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2003 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2126 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2004 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2127 "dev": true
2005 "dev": true
2128 },
2006 },
2129 "inquirer": {
2007 "inquirer": {
2130 "version": "7.0.3",
2008 "version": "7.0.3",
2131 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
2009 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
2132 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
2010 "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
2133 "dev": true,
2011 "dev": true,
2134 "requires": {
2012 "requires": {
2135 "ansi-escapes": "^4.2.1",
2013 "ansi-escapes": "^4.2.1",
2136 "chalk": "^2.4.2",
2014 "chalk": "^2.4.2",
2137 "cli-cursor": "^3.1.0",
2015 "cli-cursor": "^3.1.0",
2138 "cli-width": "^2.0.0",
2016 "cli-width": "^2.0.0",
2139 "external-editor": "^3.0.3",
2017 "external-editor": "^3.0.3",
2140 "figures": "^3.0.0",
2018 "figures": "^3.0.0",
2141 "lodash": "^4.17.15",
2019 "lodash": "^4.17.15",
2142 "mute-stream": "0.0.8",
2020 "mute-stream": "0.0.8",
2143 "run-async": "^2.2.0",
2021 "run-async": "^2.2.0",
2144 "rxjs": "^6.5.3",
2022 "rxjs": "^6.5.3",
2145 "string-width": "^4.1.0",
2023 "string-width": "^4.1.0",
2146 "strip-ansi": "^5.1.0",
2024 "strip-ansi": "^5.1.0",
2147 "through": "^2.3.6"
2025 "through": "^2.3.6"
2148 }
2026 }
2149 },
2027 },
2150 "is-extglob": {
2028 "is-extglob": {
2151 "version": "2.1.1",
2029 "version": "2.1.1",
2152 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2030 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2153 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2031 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2154 "dev": true
2032 "dev": true
2155 },
2033 },
2156 "is-fullwidth-code-point": {
2034 "is-fullwidth-code-point": {
2157 "version": "3.0.0",
2035 "version": "3.0.0",
2158 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2036 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2159 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
2037 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
2160 "dev": true
2038 "dev": true
2161 },
2039 },
2162 "is-glob": {
2040 "is-glob": {
2163 "version": "4.0.1",
2041 "version": "4.0.1",
2164 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
2042 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
2165 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
2043 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
2166 "dev": true,
2044 "dev": true,
2167 "requires": {
2045 "requires": {
2168 "is-extglob": "^2.1.1"
2046 "is-extglob": "^2.1.1"
2169 }
2047 }
2170 },
2048 },
2171 "is-promise": {
2049 "is-promise": {
2172 "version": "2.1.0",
2050 "version": "2.1.0",
2173 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
2051 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
2174 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
2052 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
2175 "dev": true
2053 "dev": true
2176 },
2054 },
2177 "isexe": {
2055 "isexe": {
2178 "version": "2.0.0",
2056 "version": "2.0.0",
2179 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2057 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2180 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2058 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2181 "dev": true
2059 "dev": true
2182 },
2060 },
2183 "js-tokens": {
2061 "js-tokens": {
2184 "version": "4.0.0",
2062 "version": "4.0.0",
2185 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2063 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2186 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2064 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2187 "dev": true
2065 "dev": true
2188 },
2066 },
2189 "js-yaml": {
2067 "js-yaml": {
2190 "version": "3.13.1",
2068 "version": "3.13.1",
2191 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
2069 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
2192 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
2070 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
2193 "dev": true,
2071 "dev": true,
2194 "requires": {
2072 "requires": {
2195 "argparse": "^1.0.7",
2073 "argparse": "^1.0.7",
2196 "esprima": "^4.0.0"
2074 "esprima": "^4.0.0"
2197 }
2075 }
2198 },
2076 },
2199 "json-schema-traverse": {
2077 "json-schema-traverse": {
2200 "version": "0.4.1",
2078 "version": "0.4.1",
2201 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2079 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2202 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2080 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2203 "dev": true
2081 "dev": true
2204 },
2082 },
2205 "json-stable-stringify-without-jsonify": {
2083 "json-stable-stringify-without-jsonify": {
2206 "version": "1.0.1",
2084 "version": "1.0.1",
2207 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2085 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2208 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
2086 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
2209 "dev": true
2087 "dev": true
2210 },
2088 },
2211 "levn": {
2089 "levn": {
2212 "version": "0.3.0",
2090 "version": "0.3.0",
2213 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
2091 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
2214 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
2092 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
2215 "dev": true,
2093 "dev": true,
2216 "requires": {
2094 "requires": {
2217 "prelude-ls": "~1.1.2",
2095 "prelude-ls": "~1.1.2",
2218 "type-check": "~0.3.2"
2096 "type-check": "~0.3.2"
2219 }
2097 }
2220 },
2098 },
2221 "lodash": {
2099 "lodash": {
2222 "version": "4.17.20",
2100 "version": "4.17.20",
2223 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
2101 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
2224 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
2102 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
2225 "dev": true
2103 "dev": true
2226 },
2104 },
2227 "mimic-fn": {
2105 "mimic-fn": {
2228 "version": "2.1.0",
2106 "version": "2.1.0",
2229 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
2107 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
2230 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
2108 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
2231 "dev": true
2109 "dev": true
2232 },
2110 },
2233 "minimatch": {
2111 "minimatch": {
2234 "version": "3.0.4",
2112 "version": "3.0.4",
2235 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2113 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2236 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2114 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2237 "dev": true,
2115 "dev": true,
2238 "requires": {
2116 "requires": {
2239 "brace-expansion": "^1.1.7"
2117 "brace-expansion": "^1.1.7"
2240 }
2118 }
2241 },
2119 },
2242 "mkdirp": {
2120 "mkdirp": {
2243 "version": "0.5.5",
2121 "version": "0.5.5",
2244 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2122 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2245 "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
2123 "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
2246 "dev": true,
2124 "dev": true,
2247 "requires": {
2125 "requires": {
2248 "minimist": "^1.2.5"
2126 "minimist": "^1.2.5"
2249 },
2127 },
2250 "dependencies": {
2128 "dependencies": {
2251 "minimist": {
2129 "minimist": {
2252 "version": "1.2.5",
2130 "version": "1.2.5",
2253 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2131 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2254 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2132 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2255 "dev": true
2133 "dev": true
2256 }
2134 }
2257 }
2135 }
2258 },
2136 },
2259 "ms": {
2137 "ms": {
2260 "version": "2.1.2",
2138 "version": "2.1.2",
2261 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2139 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2262 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2140 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2263 "dev": true
2141 "dev": true
2264 },
2142 },
2265 "mute-stream": {
2143 "mute-stream": {
2266 "version": "0.0.8",
2144 "version": "0.0.8",
2267 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
2145 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
2268 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
2146 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
2269 "dev": true
2147 "dev": true
2270 },
2148 },
2271 "natural-compare": {
2149 "natural-compare": {
2272 "version": "1.4.0",
2150 "version": "1.4.0",
2273 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2151 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2274 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
2152 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
2275 "dev": true
2153 "dev": true
2276 },
2154 },
2277 "nice-try": {
2155 "nice-try": {
2278 "version": "1.0.5",
2156 "version": "1.0.5",
2279 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
2157 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
2280 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2158 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2281 "dev": true
2159 "dev": true
2282 },
2160 },
2283 "once": {
2161 "once": {
2284 "version": "1.4.0",
2162 "version": "1.4.0",
2285 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2163 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2286 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2164 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2287 "dev": true,
2165 "dev": true,
2288 "requires": {
2166 "requires": {
2289 "wrappy": "1"
2167 "wrappy": "1"
2290 }
2168 }
2291 },
2169 },
2292 "onetime": {
2170 "onetime": {
2293 "version": "5.1.0",
2171 "version": "5.1.0",
2294 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
2172 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
2295 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
2173 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
2296 "dev": true,
2174 "dev": true,
2297 "requires": {
2175 "requires": {
2298 "mimic-fn": "^2.1.0"
2176 "mimic-fn": "^2.1.0"
2299 }
2177 }
2300 },
2178 },
2301 "optionator": {
2179 "optionator": {
2302 "version": "0.8.3",
2180 "version": "0.8.3",
2303 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
2181 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
2304 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
2182 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
2305 "dev": true,
2183 "dev": true,
2306 "requires": {
2184 "requires": {
2307 "deep-is": "~0.1.3",
2185 "deep-is": "~0.1.3",
2308 "fast-levenshtein": "~2.0.6",
2186 "fast-levenshtein": "~2.0.6",
2309 "levn": "~0.3.0",
2187 "levn": "~0.3.0",
2310 "prelude-ls": "~1.1.2",
2188 "prelude-ls": "~1.1.2",
2311 "type-check": "~0.3.2",
2189 "type-check": "~0.3.2",
2312 "word-wrap": "~1.2.3"
2190 "word-wrap": "~1.2.3"
2313 }
2191 }
2314 },
2192 },
2315 "os-tmpdir": {
2193 "os-tmpdir": {
2316 "version": "1.0.2",
2194 "version": "1.0.2",
2317 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2195 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2318 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2196 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2319 "dev": true
2197 "dev": true
2320 },
2198 },
2321 "parent-module": {
2199 "parent-module": {
2322 "version": "1.0.1",
2200 "version": "1.0.1",
2323 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2201 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2324 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2202 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2325 "dev": true,
2203 "dev": true,
2326 "requires": {
2204 "requires": {
2327 "callsites": "^3.0.0"
2205 "callsites": "^3.0.0"
2328 }
2206 }
2329 },
2207 },
2330 "path-is-absolute": {
2208 "path-is-absolute": {
2331 "version": "1.0.1",
2209 "version": "1.0.1",
2332 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2210 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2333 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2211 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2334 "dev": true
2212 "dev": true
2335 },
2213 },
2336 "path-key": {
2214 "path-key": {
2337 "version": "2.0.1",
2215 "version": "2.0.1",
2338 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
2216 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
2339 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
2217 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
2340 "dev": true
2218 "dev": true
2341 },
2219 },
2342 "path-parse": {
2220 "path-parse": {
2343 "version": "1.0.6",
2221 "version": "1.0.6",
2344 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
2222 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
2345 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
2223 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
2346 "dev": true
2224 "dev": true
2347 },
2225 },
2348 "pathval": {
2349 "version": "1.1.0",
2350 "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
2351 "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
2352 "dev": true
2353 },
2354 "prelude-ls": {
2226 "prelude-ls": {
2355 "version": "1.1.2",
2227 "version": "1.1.2",
2356 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
2228 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
2357 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
2229 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
2358 "dev": true
2230 "dev": true
2359 },
2231 },
2360 "progress": {
2232 "progress": {
2361 "version": "2.0.3",
2233 "version": "2.0.3",
2362 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
2234 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
2363 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
2235 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
2364 "dev": true
2236 "dev": true
2365 },
2237 },
2366 "punycode": {
2238 "punycode": {
2367 "version": "2.1.1",
2239 "version": "2.1.1",
2368 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2240 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2369 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2241 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2370 "dev": true
2242 "dev": true
2371 },
2243 },
2372 "regenerator-runtime": {
2244 "regenerator-runtime": {
2373 "version": "0.13.3",
2245 "version": "0.13.3",
2374 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
2246 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
2375 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
2247 "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
2376 "dev": true
2248 "dev": true
2377 },
2249 },
2378 "regexpp": {
2250 "regexpp": {
2379 "version": "2.0.1",
2251 "version": "2.0.1",
2380 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
2252 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
2381 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
2253 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
2382 "dev": true
2254 "dev": true
2383 },
2255 },
2384 "requirejs": {
2256 "requirejs": {
2385 "version": "2.3.6",
2257 "version": "2.3.6",
2386 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
2258 "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
2387 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
2259 "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
2388 "dev": true
2260 "dev": true
2389 },
2261 },
2390 "resolve": {
2262 "resolve": {
2391 "version": "1.17.0",
2263 "version": "1.17.0",
2392 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
2264 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
2393 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
2265 "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
2394 "dev": true,
2266 "dev": true,
2395 "requires": {
2267 "requires": {
2396 "path-parse": "^1.0.6"
2268 "path-parse": "^1.0.6"
2397 }
2269 }
2398 },
2270 },
2399 "resolve-from": {
2271 "resolve-from": {
2400 "version": "4.0.0",
2272 "version": "4.0.0",
2401 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2273 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2402 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2274 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2403 "dev": true
2275 "dev": true
2404 },
2276 },
2405 "restore-cursor": {
2277 "restore-cursor": {
2406 "version": "3.1.0",
2278 "version": "3.1.0",
2407 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
2279 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
2408 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
2280 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
2409 "dev": true,
2281 "dev": true,
2410 "requires": {
2282 "requires": {
2411 "onetime": "^5.1.0",
2283 "onetime": "^5.1.0",
2412 "signal-exit": "^3.0.2"
2284 "signal-exit": "^3.0.2"
2413 }
2285 }
2414 },
2286 },
2415 "rimraf": {
2287 "rimraf": {
2416 "version": "2.6.3",
2288 "version": "2.6.3",
2417 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
2289 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
2418 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
2290 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
2419 "dev": true,
2291 "dev": true,
2420 "requires": {
2292 "requires": {
2421 "glob": "^7.1.3"
2293 "glob": "^7.1.3"
2422 }
2294 }
2423 },
2295 },
2424 "run-async": {
2296 "run-async": {
2425 "version": "2.3.0",
2297 "version": "2.3.0",
2426 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
2298 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
2427 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
2299 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
2428 "dev": true,
2300 "dev": true,
2429 "requires": {
2301 "requires": {
2430 "is-promise": "^2.1.0"
2302 "is-promise": "^2.1.0"
2431 }
2303 }
2432 },
2304 },
2433 "rxjs": {
2305 "rxjs": {
2434 "version": "6.5.4",
2306 "version": "6.5.4",
2435 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
2307 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
2436 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
2308 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
2437 "dev": true,
2309 "dev": true,
2438 "requires": {
2310 "requires": {
2439 "tslib": "^1.9.0"
2311 "tslib": "^1.9.0"
2440 }
2312 }
2441 },
2313 },
2442 "safer-buffer": {
2314 "safer-buffer": {
2443 "version": "2.1.2",
2315 "version": "2.1.2",
2444 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2316 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2445 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2317 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2446 "dev": true
2318 "dev": true
2447 },
2319 },
2448 "semver": {
2320 "semver": {
2449 "version": "6.3.0",
2321 "version": "6.3.0",
2450 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2322 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2451 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2323 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2452 "dev": true
2324 "dev": true
2453 },
2325 },
2454 "shebang-command": {
2326 "shebang-command": {
2455 "version": "1.2.0",
2327 "version": "1.2.0",
2456 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
2328 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
2457 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
2329 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
2458 "dev": true,
2330 "dev": true,
2459 "requires": {
2331 "requires": {
2460 "shebang-regex": "^1.0.0"
2332 "shebang-regex": "^1.0.0"
2461 }
2333 }
2462 },
2334 },
2463 "shebang-regex": {
2335 "shebang-regex": {
2464 "version": "1.0.0",
2336 "version": "1.0.0",
2465 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
2337 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
2466 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
2338 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
2467 "dev": true
2339 "dev": true
2468 },
2340 },
2469 "signal-exit": {
2341 "signal-exit": {
2470 "version": "3.0.2",
2342 "version": "3.0.2",
2471 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
2343 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
2472 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
2344 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
2473 "dev": true
2345 "dev": true
2474 },
2346 },
2475 "slice-ansi": {
2347 "slice-ansi": {
2476 "version": "2.1.0",
2348 "version": "2.1.0",
2477 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
2349 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
2478 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
2350 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
2479 "dev": true,
2351 "dev": true,
2480 "requires": {
2352 "requires": {
2481 "ansi-styles": "^3.2.0",
2353 "ansi-styles": "^3.2.0",
2482 "astral-regex": "^1.0.0",
2354 "astral-regex": "^1.0.0",
2483 "is-fullwidth-code-point": "^2.0.0"
2355 "is-fullwidth-code-point": "^2.0.0"
2484 },
2356 },
2485 "dependencies": {
2357 "dependencies": {
2486 "is-fullwidth-code-point": {
2358 "is-fullwidth-code-point": {
2487 "version": "2.0.0",
2359 "version": "2.0.0",
2488 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2360 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2489 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2361 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2490 "dev": true
2362 "dev": true
2491 }
2363 }
2492 }
2364 }
2493 },
2365 },
2494 "sprintf-js": {
2366 "sprintf-js": {
2495 "version": "1.0.3",
2367 "version": "1.0.3",
2496 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2368 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2497 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
2369 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
2498 "dev": true
2370 "dev": true
2499 },
2371 },
2500 "string-width": {
2372 "string-width": {
2501 "version": "4.2.0",
2373 "version": "4.2.0",
2502 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
2374 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
2503 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
2375 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
2504 "dev": true,
2376 "dev": true,
2505 "requires": {
2377 "requires": {
2506 "emoji-regex": "^8.0.0",
2378 "emoji-regex": "^8.0.0",
2507 "is-fullwidth-code-point": "^3.0.0",
2379 "is-fullwidth-code-point": "^3.0.0",
2508 "strip-ansi": "^6.0.0"
2380 "strip-ansi": "^6.0.0"
2509 },
2381 },
2510 "dependencies": {
2382 "dependencies": {
2511 "strip-ansi": {
2383 "strip-ansi": {
2512 "version": "6.0.0",
2384 "version": "6.0.0",
2513 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
2385 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
2514 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
2386 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
2515 "dev": true,
2387 "dev": true,
2516 "requires": {
2388 "requires": {
2517 "ansi-regex": "^5.0.0"
2389 "ansi-regex": "^5.0.0"
2518 }
2390 }
2519 }
2391 }
2520 }
2392 }
2521 },
2393 },
2522 "strip-ansi": {
2394 "strip-ansi": {
2523 "version": "5.2.0",
2395 "version": "5.2.0",
2524 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
2396 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
2525 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2397 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2526 "dev": true,
2398 "dev": true,
2527 "requires": {
2399 "requires": {
2528 "ansi-regex": "^4.1.0"
2400 "ansi-regex": "^4.1.0"
2529 },
2401 },
2530 "dependencies": {
2402 "dependencies": {
2531 "ansi-regex": {
2403 "ansi-regex": {
2532 "version": "4.1.0",
2404 "version": "4.1.0",
2533 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
2405 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
2534 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2406 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2535 "dev": true
2407 "dev": true
2536 }
2408 }
2537 }
2409 }
2538 },
2410 },
2539 "strip-json-comments": {
2411 "strip-json-comments": {
2540 "version": "3.0.1",
2412 "version": "3.0.1",
2541 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
2413 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
2542 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
2414 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
2543 "dev": true
2415 "dev": true
2544 },
2416 },
2545 "supports-color": {
2417 "supports-color": {
2546 "version": "5.5.0",
2418 "version": "5.5.0",
2547 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2419 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2548 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2420 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2549 "dev": true,
2421 "dev": true,
2550 "requires": {
2422 "requires": {
2551 "has-flag": "^3.0.0"
2423 "has-flag": "^3.0.0"
2552 }
2424 }
2553 },
2425 },
2554 "table": {
2426 "table": {
2555 "version": "5.4.6",
2427 "version": "5.4.6",
2556 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
2428 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
2557 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
2429 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
2558 "dev": true,
2430 "dev": true,
2559 "requires": {
2431 "requires": {
2560 "ajv": "^6.10.2",
2432 "ajv": "^6.10.2",
2561 "lodash": "^4.17.14",
2433 "lodash": "^4.17.14",
2562 "slice-ansi": "^2.1.0",
2434 "slice-ansi": "^2.1.0",
2563 "string-width": "^3.0.0"
2435 "string-width": "^3.0.0"
2564 },
2436 },
2565 "dependencies": {
2437 "dependencies": {
2566 "emoji-regex": {
2438 "emoji-regex": {
2567 "version": "7.0.3",
2439 "version": "7.0.3",
2568 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
2440 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
2569 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
2441 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
2570 "dev": true
2442 "dev": true
2571 },
2443 },
2572 "is-fullwidth-code-point": {
2444 "is-fullwidth-code-point": {
2573 "version": "2.0.0",
2445 "version": "2.0.0",
2574 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2446 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2575 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2447 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2576 "dev": true
2448 "dev": true
2577 },
2449 },
2578 "string-width": {
2450 "string-width": {
2579 "version": "3.1.0",
2451 "version": "3.1.0",
2580 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
2452 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
2581 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
2453 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
2582 "dev": true,
2454 "dev": true,
2583 "requires": {
2455 "requires": {
2584 "emoji-regex": "^7.0.1",
2456 "emoji-regex": "^7.0.1",
2585 "is-fullwidth-code-point": "^2.0.0",
2457 "is-fullwidth-code-point": "^2.0.0",
2586 "strip-ansi": "^5.1.0"
2458 "strip-ansi": "^5.1.0"
2587 }
2459 }
2588 }
2460 }
2589 }
2461 }
2590 },
2462 },
2591 "text-table": {
2463 "text-table": {
2592 "version": "0.2.0",
2464 "version": "0.2.0",
2593 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
2465 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
2594 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
2466 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
2595 "dev": true
2467 "dev": true
2596 },
2468 },
2597 "through": {
2469 "through": {
2598 "version": "2.3.8",
2470 "version": "2.3.8",
2599 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2471 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2600 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
2472 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
2601 "dev": true
2473 "dev": true
2602 },
2474 },
2603 "tmp": {
2475 "tmp": {
2604 "version": "0.0.33",
2476 "version": "0.0.33",
2605 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
2477 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
2606 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
2478 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
2607 "dev": true,
2479 "dev": true,
2608 "requires": {
2480 "requires": {
2609 "os-tmpdir": "~1.0.2"
2481 "os-tmpdir": "~1.0.2"
2610 }
2482 }
2611 },
2483 },
2612 "tslib": {
2484 "tslib": {
2613 "version": "1.10.0",
2485 "version": "1.10.0",
2614 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
2486 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
2615 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
2487 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
2616 "dev": true
2488 "dev": true
2617 },
2489 },
2618 "tslint": {
2490 "tslint": {
2619 "version": "6.1.3",
2491 "version": "6.1.3",
2620 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
2492 "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
2621 "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
2493 "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
2622 "dev": true,
2494 "dev": true,
2623 "requires": {
2495 "requires": {
2624 "@babel/code-frame": "^7.0.0",
2496 "@babel/code-frame": "^7.0.0",
2625 "builtin-modules": "^1.1.1",
2497 "builtin-modules": "^1.1.1",
2626 "chalk": "^2.3.0",
2498 "chalk": "^2.3.0",
2627 "commander": "^2.12.1",
2499 "commander": "^2.12.1",
2628 "diff": "^4.0.1",
2500 "diff": "^4.0.1",
2629 "glob": "^7.1.1",
2501 "glob": "^7.1.1",
2630 "js-yaml": "^3.13.1",
2502 "js-yaml": "^3.13.1",
2631 "minimatch": "^3.0.4",
2503 "minimatch": "^3.0.4",
2632 "mkdirp": "^0.5.3",
2504 "mkdirp": "^0.5.3",
2633 "resolve": "^1.3.2",
2505 "resolve": "^1.3.2",
2634 "semver": "^5.3.0",
2506 "semver": "^5.3.0",
2635 "tslib": "^1.13.0",
2507 "tslib": "^1.13.0",
2636 "tsutils": "^2.29.0"
2508 "tsutils": "^2.29.0"
2637 },
2509 },
2638 "dependencies": {
2510 "dependencies": {
2639 "semver": {
2511 "semver": {
2640 "version": "5.7.1",
2512 "version": "5.7.1",
2641 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2513 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2642 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2514 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2643 "dev": true
2515 "dev": true
2644 },
2516 },
2645 "tslib": {
2517 "tslib": {
2646 "version": "1.13.0",
2518 "version": "1.13.0",
2647 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
2519 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
2648 "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
2520 "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
2649 "dev": true
2521 "dev": true
2650 }
2522 }
2651 }
2523 }
2652 },
2524 },
2653 "tsutils": {
2525 "tsutils": {
2654 "version": "2.29.0",
2526 "version": "2.29.0",
2655 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
2527 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
2656 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
2528 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
2657 "dev": true,
2529 "dev": true,
2658 "requires": {
2530 "requires": {
2659 "tslib": "^1.8.1"
2531 "tslib": "^1.8.1"
2660 }
2532 }
2661 },
2533 },
2662 "type-check": {
2534 "type-check": {
2663 "version": "0.3.2",
2535 "version": "0.3.2",
2664 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
2536 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
2665 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
2537 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
2666 "dev": true,
2538 "dev": true,
2667 "requires": {
2539 "requires": {
2668 "prelude-ls": "~1.1.2"
2540 "prelude-ls": "~1.1.2"
2669 }
2541 }
2670 },
2542 },
2671 "type-detect": {
2672 "version": "4.0.8",
2673 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
2674 "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
2675 "dev": true
2676 },
2677 "type-fest": {
2543 "type-fest": {
2678 "version": "0.8.1",
2544 "version": "0.8.1",
2679 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
2545 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
2680 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
2546 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
2681 "dev": true
2547 "dev": true
2682 },
2548 },
2683 "typescript": {
2549 "typescript": {
2684 "version": "4.2.4",
2550 "version": "4.2.4",
2685 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
2551 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
2686 "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
2552 "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
2687 "dev": true
2553 "dev": true
2688 },
2554 },
2689 "uri-js": {
2555 "uri-js": {
2690 "version": "4.2.2",
2556 "version": "4.2.2",
2691 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
2557 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
2692 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
2558 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
2693 "dev": true,
2559 "dev": true,
2694 "requires": {
2560 "requires": {
2695 "punycode": "^2.1.0"
2561 "punycode": "^2.1.0"
2696 }
2562 }
2697 },
2563 },
2698 "v8-compile-cache": {
2564 "v8-compile-cache": {
2699 "version": "2.1.0",
2565 "version": "2.1.0",
2700 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
2566 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
2701 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
2567 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
2702 "dev": true
2568 "dev": true
2703 },
2569 },
2704 "which": {
2570 "which": {
2705 "version": "1.3.1",
2571 "version": "1.3.1",
2706 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2572 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2707 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2573 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2708 "dev": true,
2574 "dev": true,
2709 "requires": {
2575 "requires": {
2710 "isexe": "^2.0.0"
2576 "isexe": "^2.0.0"
2711 }
2577 }
2712 },
2578 },
2713 "word-wrap": {
2579 "word-wrap": {
2714 "version": "1.2.3",
2580 "version": "1.2.3",
2715 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2581 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2716 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2582 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2717 "dev": true
2583 "dev": true
2718 },
2584 },
2719 "wrappy": {
2585 "wrappy": {
2720 "version": "1.0.2",
2586 "version": "1.0.2",
2721 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2587 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2722 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2588 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2723 "dev": true
2589 "dev": true
2724 },
2590 },
2725 "write": {
2591 "write": {
2726 "version": "1.0.3",
2592 "version": "1.0.3",
2727 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
2593 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
2728 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
2594 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
2729 "dev": true,
2595 "dev": true,
2730 "requires": {
2596 "requires": {
2731 "mkdirp": "^0.5.1"
2597 "mkdirp": "^0.5.1"
2732 }
2598 }
2733 },
2599 },
2734 "yaml": {
2600 "yaml": {
2735 "version": "1.7.2",
2601 "version": "1.7.2",
2736 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
2602 "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
2737 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
2603 "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
2738 "dev": true,
2604 "dev": true,
2739 "requires": {
2605 "requires": {
2740 "@babel/runtime": "^7.6.3"
2606 "@babel/runtime": "^7.6.3"
2741 }
2607 }
2742 }
2608 }
2743 }
2609 }
2744 }
2610 }
@@ -1,35 +1,34
1 {
1 {
2 "name": "@implab/djx",
2 "name": "@implab/djx",
3 "version": "0.0.1-dev",
3 "version": "0.0.1-dev",
4 "description": "Supports using dojo version 1 with typescript and .tsx files",
4 "description": "Supports using dojo version 1 with typescript and .tsx files",
5 "keywords": [
5 "keywords": [
6 "dojo",
6 "dojo",
7 "tsx",
7 "tsx",
8 "typescript",
8 "typescript",
9 "widgets"
9 "widgets"
10 ],
10 ],
11 "author": "Implab team",
11 "author": "Implab team",
12 "license": "BSD-2-Clause",
12 "license": "BSD-2-Clause",
13 "repository": "https://code.implab.org/implab/implabjs-djx",
13 "repository": "https://code.implab.org/implab/implabjs-djx",
14 "publishConfig": {
14 "publishConfig": {
15 "access": "public"
15 "access": "public"
16 },
16 },
17 "peerDependencies": {
17 "peerDependencies": {
18 "@implab/core-amd": "^1.4.0",
18 "@implab/core-amd": "^1.4.0",
19 "dojo": "^1.10.0"
19 "dojo": "^1.10.0"
20 },
20 },
21 "devDependencies": {
21 "devDependencies": {
22 "@implab/core-amd": "^1.4.0",
22 "@implab/core-amd": "^1.4.0",
23 "@types/chai": "4.1.3",
23 "@types/chai": "4.1.3",
24 "@types/requirejs": "2.1.31",
24 "@types/requirejs": "2.1.31",
25 "@types/yaml": "1.2.0",
25 "@types/yaml": "1.2.0",
26 "chai": "4.2.0",
27 "dojo": "1.16.0",
26 "dojo": "1.16.0",
28 "dojo-typings": "~1.11.9",
27 "@implab/dojo-typings": "1.0.0",
29 "eslint": "6.8.0",
28 "eslint": "6.8.0",
30 "requirejs": "2.3.6",
29 "requirejs": "2.3.6",
31 "tslint": "^6.1.3",
30 "tslint": "^6.1.3",
32 "typescript": "4.2.4",
31 "typescript": "4.2.4",
33 "yaml": "~1.7.2"
32 "yaml": "~1.7.2"
34 }
33 }
35 }
34 }
@@ -1,81 +1,73
1 import { MapOf, PromiseOrValue } from "@implab/core-amd/interfaces";
1 import { MapOf, PromiseOrValue } from "@implab/core-amd/interfaces";
2 import { argumentNotEmptyString, isPromise, mixin } from "@implab/core-amd/safe";
2 import { argumentNotEmptyString, isPromise, mixin } from "@implab/core-amd/safe";
3 import { id as mid } from "module";
4 import { TraceSource } from "@implab/core-amd/log/TraceSource";
5
6 const trace = TraceSource.get(mid);
7
3
8 export type LocaleProvider<T> = () => PromiseOrValue<T | { default: T }>;
4 export type LocaleProvider<T> = () => PromiseOrValue<T | { default: T }>;
9
5
10 type ResolveCallback<T> = () => PromiseOrValue<T>;
6 type ResolveCallback<T> = () => PromiseOrValue<T>;
11
7
12 function when<T, T2>(value: PromiseOrValue<T>, cb: (v: T) => PromiseOrValue<T2>): PromiseOrValue<T2> {
8 function when<T, T2>(value: PromiseOrValue<T>, cb: (v: T) => PromiseOrValue<T2>): PromiseOrValue<T2> {
13 return isPromise(value) ?
9 return isPromise(value) ?
14 value.then(cb) :
10 value.then(cb) :
15 cb(value);
11 cb(value);
16 }
12 }
17
13
18 function isCallback<T>(v: ResolveCallback<T> | PromiseOrValue<T>): v is ResolveCallback<T> {
14 function isCallback<T>(v: ResolveCallback<T> | PromiseOrValue<T>): v is ResolveCallback<T> {
19 return typeof v === "function";
15 return typeof v === "function";
20 }
16 }
21
17
22 function defaultResolver(module: string) {
23 return import(module).then(x => x && x.default ? x.default : x);
24 }
25
26 function chainObjects<T extends object>(o1: T, o2: T) {
18 function chainObjects<T extends object>(o1: T, o2: T) {
27 if (!o1)
19 if (!o1)
28 return o2;
20 return o2;
29 if (!o2)
21 if (!o2)
30 return o1;
22 return o1;
31
23
32 return mixin(Object.create(o1) as T, o2);
24 return mixin(Object.create(o1) as T, o2);
33 }
25 }
34
26
35 export class NlsBundle<T extends object> {
27 export class NlsBundle<T extends object> {
36 private _locales: MapOf<LocaleProvider<Partial<T>>>;
28 private _locales: MapOf<LocaleProvider<Partial<T>>>;
37
29
38 private _default: T;
30 private _default: T;
39
31
40 private _cache: MapOf<PromiseOrValue<T>>;
32 private _cache: MapOf<PromiseOrValue<T>>;
41
33
42 constructor(defNls: T, locales?: MapOf<LocaleProvider<Partial<T>>>) {
34 constructor(defNls: T, locales?: MapOf<LocaleProvider<Partial<T>>>) {
43 this._default = defNls;
35 this._default = defNls;
44 this._locales = locales || {};
36 this._locales = locales || {};
45 this._cache = {};
37 this._cache = {};
46 }
38 }
47
39
48 getLocale(locale: string) {
40 getLocale(locale: string) {
49 argumentNotEmptyString(locale, "locale");
41 argumentNotEmptyString(locale, "locale");
50 const _loc = locale;
42 const _loc = locale;
51
43
52 // en-US => ["en", "en-US"]
44 // en-US => ["en", "en-US"]
53 const locales = _loc.split(/-|_/).map((x, i, a) => a.slice(0, i + 1).join("-"));
45 const locales = _loc.split(/-|_/).map((x, i, a) => a.slice(0, i + 1).join("-"));
54 return this._resolveLocale(locales);
46 return this._resolveLocale(locales);
55 }
47 }
56
48
57 _resolveLocale(locales: string[]): PromiseOrValue<T> {
49 _resolveLocale(locales: string[]): PromiseOrValue<T> {
58 if (!locales.length)
50 if (!locales.length)
59 return this._default;
51 return this._default;
60
52
61 const locale = locales.pop();
53 const locale = locales.pop();
62 if (!locale)
54 if (!locale)
63 throw new Error("The locale can't be empty");
55 throw new Error("The locale can't be empty");
64
56
65 if (this._cache[locale])
57 if (this._cache[locale])
66 return this._cache[locale];
58 return this._cache[locale];
67
59
68 const data = this._loadPackage(this._locales[locale]);
60 const data = this._loadPackage(this._locales[locale]);
69 const parent = this._resolveLocale(locales);
61 const parent = this._resolveLocale(locales);
70
62
71 return this._cache[locale] = when(data, x => {
63 return this._cache[locale] = when(data, x => {
72 return when(parent, y => this._cache[locale] = chainObjects(y, x));
64 return when(parent, y => this._cache[locale] = chainObjects(y, x));
73 });
65 });
74 }
66 }
75
67
76 _loadPackage(localeData: any) {
68 _loadPackage(localeData: any) {
77 if (isCallback(localeData))
69 if (isCallback(localeData))
78 return when(localeData(), data => data && "default" in data ? data.default : data);
70 return when(localeData(), data => data && "default" in data ? data.default : data);
79 return localeData;
71 return localeData;
80 }
72 }
81 }
73 }
@@ -1,256 +1,253
1 import declare = require("dojo/_base/declare");
1 import declare = require("dojo/_base/declare");
2 import { each } from "@implab/core-amd/safe";
2 import { each } from "@implab/core-amd/safe";
3 import { Constructor } from "@implab/core-amd/interfaces";
3 import { Constructor } from "@implab/core-amd/interfaces";
4 import dojo = require("dojo/_base/kernel");
5
4
6 // declare const declare: any;
5 // declare const declare: any;
7
6
8 type DeclareConstructor<T> = dojo._base.DeclareConstructor<T>;
7 type DeclareConstructor<T> = dojo._base.DeclareConstructor<T>;
9
8
10 export interface AbstractConstructor<T = {}> {
9 export interface AbstractConstructor<T = {}> {
11 prototype: T;
10 prototype: T;
12 }
11 }
13
12
14 interface DjMockConstructor<T = {}> {
13 interface DjMockConstructor<T = {}> {
15 new(...args: any[]): T;
14 new(...args: any[]): T;
16 mock: boolean;
15 mock: boolean;
17 bases: AbstractConstructor[];
16 bases: AbstractConstructor[];
18 }
17 }
19
18
20 export function djbase<T>(
19 export function djbase<T>(
21 b0?: AbstractConstructor<T>
20 b0?: AbstractConstructor<T>
22 ): DeclareConstructor<T>;
21 ): DeclareConstructor<T>;
23
22
24 export function djbase<T0, T1>(
23 export function djbase<T0, T1>(
25 b0: AbstractConstructor<T0>,
24 b0: AbstractConstructor<T0>,
26 b1: AbstractConstructor<T1>
25 b1: AbstractConstructor<T1>
27 ): DeclareConstructor<T0 & T1>;
26 ): DeclareConstructor<T0 & T1>;
28
27
29 export function djbase<T0, T1, T2>(
28 export function djbase<T0, T1, T2>(
30 b0: AbstractConstructor<T0>,
29 b0: AbstractConstructor<T0>,
31 b1: AbstractConstructor<T1>,
30 b1: AbstractConstructor<T1>,
32 b2: AbstractConstructor<T2>
31 b2: AbstractConstructor<T2>
33 ): DeclareConstructor<T0 & T1 & T2>;
32 ): DeclareConstructor<T0 & T1 & T2>;
34
33
35 export function djbase<T0, T1, T2, T3>(
34 export function djbase<T0, T1, T2, T3>(
36 b0: AbstractConstructor<T0>,
35 b0: AbstractConstructor<T0>,
37 b1: AbstractConstructor<T1>,
36 b1: AbstractConstructor<T1>,
38 b2: AbstractConstructor<T2>,
37 b2: AbstractConstructor<T2>,
39 b3: AbstractConstructor<T3>
38 b3: AbstractConstructor<T3>
40 ): DeclareConstructor<T0 & T1 & T2 & T3>;
39 ): DeclareConstructor<T0 & T1 & T2 & T3>;
41
40
42 export function djbase<T0, T1, T2, T3, T4>(
41 export function djbase<T0, T1, T2, T3, T4>(
43 b0: AbstractConstructor<T0>,
42 b0: AbstractConstructor<T0>,
44 b1: AbstractConstructor<T1>,
43 b1: AbstractConstructor<T1>,
45 b2: AbstractConstructor<T2>,
44 b2: AbstractConstructor<T2>,
46 b3: AbstractConstructor<T3>,
45 b3: AbstractConstructor<T3>,
47 b4: AbstractConstructor<T4>
46 b4: AbstractConstructor<T4>
48 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4>;
47 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4>;
49
48
50 export function djbase<T0, T1, T2, T3, T4, T5>(
49 export function djbase<T0, T1, T2, T3, T4, T5>(
51 b0: AbstractConstructor<T0>,
50 b0: AbstractConstructor<T0>,
52 b1: AbstractConstructor<T1>,
51 b1: AbstractConstructor<T1>,
53 b2: AbstractConstructor<T2>,
52 b2: AbstractConstructor<T2>,
54 b3: AbstractConstructor<T3>,
53 b3: AbstractConstructor<T3>,
55 b4: AbstractConstructor<T4>,
54 b4: AbstractConstructor<T4>,
56 b5: AbstractConstructor<T5>
55 b5: AbstractConstructor<T5>
57 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5>;
56 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5>;
58
57
59 export function djbase<T0, T1, T2, T3, T4, T5, T6>(
58 export function djbase<T0, T1, T2, T3, T4, T5, T6>(
60 b0: AbstractConstructor<T0>,
59 b0: AbstractConstructor<T0>,
61 b1: AbstractConstructor<T1>,
60 b1: AbstractConstructor<T1>,
62 b2: AbstractConstructor<T2>,
61 b2: AbstractConstructor<T2>,
63 b3: AbstractConstructor<T3>,
62 b3: AbstractConstructor<T3>,
64 b4: AbstractConstructor<T4>,
63 b4: AbstractConstructor<T4>,
65 b5: AbstractConstructor<T5>,
64 b5: AbstractConstructor<T5>,
66 b6: AbstractConstructor<T6>
65 b6: AbstractConstructor<T6>
67 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6>;
66 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6>;
68
67
69 export function djbase<T0, T1, T2, T3, T4, T5, T6, T7>(
68 export function djbase<T0, T1, T2, T3, T4, T5, T6, T7>(
70 b0: AbstractConstructor<T0>,
69 b0: AbstractConstructor<T0>,
71 b1: AbstractConstructor<T1>,
70 b1: AbstractConstructor<T1>,
72 b2: AbstractConstructor<T2>,
71 b2: AbstractConstructor<T2>,
73 b3: AbstractConstructor<T3>,
72 b3: AbstractConstructor<T3>,
74 b4: AbstractConstructor<T4>,
73 b4: AbstractConstructor<T4>,
75 b5: AbstractConstructor<T5>,
74 b5: AbstractConstructor<T5>,
76 b6: AbstractConstructor<T6>,
75 b6: AbstractConstructor<T6>,
77 b7: AbstractConstructor<T7>
76 b7: AbstractConstructor<T7>
78 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6 & T7>;
77 ): DeclareConstructor<T0 & T1 & T2 & T3 & T4 & T5 & T6 & T7>;
79
78
80 /** Создает конструктор-заглушку из списка базовых классов, используется
79 /** Создает конструктор-заглушку из списка базовых классов, используется
81 * для объявления классов при помощи `dojo/_base/declare`.
80 * для объявления классов при помощи `dojo/_base/declare`.
82 *
81 *
83 * Создает пустой конструктор, с пустым стандартным прототипом, это нужно,
82 * Создает пустой конструктор, с пустым стандартным прототипом, это нужно,
84 * поскольку в унаследованном классе конструктор обязательно должен вызвать
83 * поскольку в унаследованном классе конструктор обязательно должен вызвать
85 * `super(...)`, таким образом он вызовет пустую функцию.
84 * `super(...)`, таким образом он вызовет пустую функцию.
86 *
85 *
87 * Созданный конструктор хранит в себе список базовых классов, который будет
86 * Созданный конструктор хранит в себе список базовых классов, который будет
88 * использован декоратором `djclass`, который вернет класс, объявленный при
87 * использован декоратором `djclass`, который вернет класс, объявленный при
89 * помощи `dojo/_base/declare`.
88 * помощи `dojo/_base/declare`.
90 *
89 *
91 * @param bases список базовых классов, от которых требуется унаследовать
90 * @param bases список базовых классов, от которых требуется унаследовать
92 * новый класс.
91 * новый класс.
93 *
92 *
94 */
93 */
95 export function djbase(...bases: any[]): Constructor {
94 export function djbase(...bases: any[]): Constructor {
96
95
97 const t = class {
96 const t = class {
98 static mock: boolean;
97 static mock: boolean;
99 static bases: AbstractConstructor[];
98 static bases: AbstractConstructor[];
100 };
99 };
101
100
102 t.mock = true;
101 t.mock = true;
103 t.bases = bases;
102 t.bases = bases;
104
103
105 return t as any;
104 return t as any;
106 }
105 }
107
106
108 function isMockConstructor<T extends {}>(v: AbstractConstructor<T>): v is DjMockConstructor<T> {
107 function isMockConstructor<T extends {}>(v: AbstractConstructor<T>): v is DjMockConstructor<T> {
109 return v && "mock" in v;
108 return v && "mock" in v;
110 }
109 }
111
110
112 /** Создает класс при помощи `dojo/_base/declare`. Для этого исходный класс
111 /** Создает класс при помощи `dojo/_base/declare`. Для этого исходный класс
113 * должен быть унаследован от `djbase(...)`.
112 * должен быть унаследован от `djbase(...)`.
114 *
113 *
115 * @param target Класс, который нужно объявить при помощи `dojo/_base/declare`
114 * @param target Класс, который нужно объявить при помощи `dojo/_base/declare`
116 */
115 */
117 export function djclass<T extends AbstractConstructor>(target: T): T {
116 export function djclass<T extends AbstractConstructor>(target: T): T {
118 // получаем базовый конструктор и его прототип
117 // получаем базовый конструктор и его прототип
119 let bp = target && target.prototype && Object.getPrototypeOf(target.prototype);
118 let bp = target && target.prototype && Object.getPrototypeOf(target.prototype);
120 const bc = bp && bp.constructor;
119 const bc = bp && bp.constructor;
121
120
122 // проверка того, что класс унаследован от специальной заглушки
121 // проверка того, что класс унаследован от специальной заглушки
123 if (isMockConstructor(bc)) {
122 if (isMockConstructor(bc)) {
124 // t - базовый класс, объявленный при помощи dojo/_base/declare
123 // bc.bases - базовый класс, объявленный при помощи dojo/_base/declare
125 const t = bc.bases;
124 const cls = declare<any>(bc.bases, target.prototype);
126
127 const cls = declare(bc.bases, target.prototype);
128
125
129 // bc - базовый класс, bc.prototype используется как super
126 // bc - базовый класс, bc.prototype используется как super
130 // при вызове базовых методов. Нужно создать bc.prototype
127 // при вызове базовых методов. Нужно создать bc.prototype
131 // таким образом, чтобы он вызывал this.inherited().
128 // таким образом, чтобы он вызывал this.inherited().
132
129
133 // создаем новый порототип, он не в цепочке прототипов у текущего
130 // создаем новый порототип, он не в цепочке прототипов у текущего
134 // класса, но super.some_method будет использовать именно его.
131 // класса, но super.some_method будет использовать именно его.
135 // в этом объекте будут размещены прокси для переопределенных
132 // в этом объекте будут размещены прокси для переопределенных
136 // методов.
133 // методов.
137 bp = bc.prototype = Object.create(cls.prototype);
134 bp = bc.prototype = Object.create(cls.prototype);
138 bp.constructor = bc;
135 bp.constructor = bc;
139
136
140 // proxy - фабрика для создания прокси-методов, которые внутри
137 // proxy - фабрика для создания прокси-методов, которые внутри
141 // себя вызовут this.inherited с правильными параметрами.
138 // себя вызовут this.inherited с правильными параметрами.
142 const proxy = (m: (...args: any[]) => any) => function (this: any) {
139 const proxy = (m: (...args: any[]) => any) => function (this: any) {
143 const f = this.getInherited({ callee: m });
140 const f = this.getInherited({ callee: m });
144 return f && f.apply(this, arguments);
141 return f && f.apply(this, arguments);
145
142
146 // так сделать можно только dojo 1.15+
143 // так сделать можно только dojo 1.15+
147 // return this.inherited(m, arguments);
144 // return this.inherited(m, arguments);
148 };
145 };
149
146
150 // у текущего класса прототип содержит методы, объявленные в этом
147 // у текущего класса прототип содержит методы, объявленные в этом
151 // классе и его конструктор. Нужно пройти по всем методам и
148 // классе и его конструктор. Нужно пройти по всем методам и
152 // создать для них прокси.
149 // создать для них прокси.
153 // При этом только те, методы, которые есть в базовых классах
150 // При этом только те, методы, которые есть в базовых классах
154 // могут быть переопределены.
151 // могут быть переопределены.
155 each(target.prototype, (m: any, p: string | number | symbol) => {
152 each(target.prototype, (m: any, p: string | number | symbol) => {
156 if (typeof m === "function" &&
153 if (typeof m === "function" &&
157 p !== "constructor" &&
154 p !== "constructor" &&
158 target.prototype.hasOwnProperty(p)
155 target.prototype.hasOwnProperty(p)
159 ) {
156 ) {
160 bp[p] = proxy(m);
157 bp[p] = proxy(m);
161 }
158 }
162 });
159 });
163
160
164 // TODO mixin static members
161 // TODO mixin static members
165 return cls as any;
162 return cls as any;
166 } else {
163 } else {
167 return target as any;
164 return target as any;
168 }
165 }
169 }
166 }
170
167
171 function makeSetterName(prop: string) {
168 function makeSetterName(prop: string) {
172 return [
169 return [
173 "_set",
170 "_set",
174 prop.replace(/^./, x => x.toUpperCase()),
171 prop.replace(/^./, x => x.toUpperCase()),
175 "Attr"
172 "Attr"
176 ].join("");
173 ].join("");
177 }
174 }
178
175
179 function makeGetterName(prop: string) {
176 function makeGetterName(prop: string) {
180 return [
177 return [
181 "_get",
178 "_get",
182 prop.replace(/^./, x => x.toUpperCase()),
179 prop.replace(/^./, x => x.toUpperCase()),
183 "Attr"
180 "Attr"
184 ].join("");
181 ].join("");
185 }
182 }
186
183
187 interface NodeBindSpec {
184 interface NodeBindSpec {
188 node: string;
185 node: string;
189 type: "attribute" | "innerText" | "textContent" | "innerHTML" | "class" | "toggleClass";
186 type: "attribute" | "innerText" | "textContent" | "innerHTML" | "class" | "toggleClass";
190 attribute?: string;
187 attribute?: string;
191
188
192 className?: string;
189 className?: string;
193 }
190 }
194
191
195 /**
192 /**
196 * Описание привязки свойства виджета к свойству внутреннего объекта.
193 * Описание привязки свойства виджета к свойству внутреннего объекта.
197 */
194 */
198 interface MemberBindSpec {
195 interface MemberBindSpec {
199 /**
196 /**
200 * Имя свойства со ссылкой на объект, к которому .
197 * Имя свойства со ссылкой на объект, к которому .
201 */
198 */
202 member: string;
199 member: string;
203 /**
200 /**
204 * Свойство объекта к которому нужно осуществить привязку.
201 * Свойство объекта к которому нужно осуществить привязку.
205 */
202 */
206 property: string;
203 property: string;
207
204
208 /**
205 /**
209 * Привязка осуществляется не только на запись но и на чтение свойства.
206 * Привязка осуществляется не только на запись но и на чтение свойства.
210 */
207 */
211 getter?: boolean;
208 getter?: boolean;
212 }
209 }
213
210
214 function isNodeBindSpec(v: any): v is NodeBindSpec {
211 function isNodeBindSpec(v: any): v is NodeBindSpec {
215 return "node" in v;
212 return "node" in v;
216 }
213 }
217
214
218 /** Декорирует свойства виджета для привязки их к внутренним членам, либо DOM
215 /** Декорирует свойства виджета для привязки их к внутренним членам, либо DOM
219 * элементам, либо свойству внутреннего объекта.
216 * элементам, либо свойству внутреннего объекта.
220 *
217 *
221 * @param {NodeBindSpec | MemberBindSpec} params Параметры связывания.
218 * @param {NodeBindSpec | MemberBindSpec} params Параметры связывания.
222 */
219 */
223 export function bind(params: NodeBindSpec | MemberBindSpec) {
220 export function bind(params: NodeBindSpec | MemberBindSpec) {
224 if (isNodeBindSpec(params)) {
221 if (isNodeBindSpec(params)) {
225 return (target: any, name: string) => {
222 return (target: any, name: string) => {
226 target[makeSetterName(name)] = params;
223 target[makeSetterName(name)] = params;
227 };
224 };
228 } else {
225 } else {
229 return (target: any, name: string) => {
226 return (target: any, name: string) => {
230 target[name] = null;
227 target[name] = null;
231 target[makeSetterName(name)] = function (v: any) {
228 target[makeSetterName(name)] = function (v: any) {
232 this._set(name, v);
229 this._set(name, v);
233 this[params.member].set(params.property, v);
230 this[params.member].set(params.property, v);
234 };
231 };
235 if (params.getter)
232 if (params.getter)
236 target[makeGetterName(name)] = function () {
233 target[makeGetterName(name)] = function () {
237 return this[params.member].get(params.property);
234 return this[params.member].get(params.property);
238 };
235 };
239 };
236 };
240 }
237 }
241 }
238 }
242
239
243 /** Создает в прототипе указанное свойство со значение `undefined`, данный
240 /** Создает в прототипе указанное свойство со значение `undefined`, данный
244 * декоратор следует использовать для свойств, у которых нет значения по-умолчанию
241 * декоратор следует использовать для свойств, у которых нет значения по-умолчанию
245 * и они не могут быть `null | undefined`
242 * и они не могут быть `null | undefined`
246 */
243 */
247 export function prototype(): (p: any, name: string) => void;
244 export function prototype(): (p: any, name: string) => void;
248 /** Создает в прототипе свойство с указанным значением.
245 /** Создает в прототипе свойство с указанным значением.
249 * @param value Значение, которое будет указано в прототипе
246 * @param value Значение, которое будет указано в прототипе
250 */
247 */
251 export function prototype<T>(value: T): <P extends { [m in K]: T }, K extends keyof P>(p: P, name: K) => void;
248 export function prototype<T>(value: T): <P extends { [m in K]: T }, K extends keyof P>(p: P, name: K) => void;
252 export function prototype<T>(value?: T) {
249 export function prototype<T>(value?: T) {
253 return <P extends { [m in K]: T }, K extends keyof P>(p: P, name: K) => {
250 return <P extends { [m in K]: T }, K extends keyof P>(p: P, name: K) => {
254 p[name] = value as any;
251 p[name] = value as any;
255 };
252 };
256 }
253 }
@@ -1,100 +1,100
1 import { id as mid } from "module";
1 import { id as mid } from "module";
2 import { TraceSource } from "@implab/core-amd/log/TraceSource";
2 import { TraceSource } from "@implab/core-amd/log/TraceSource";
3 import { MapOf } from "@implab/core-amd/interfaces";
3 import { MapOf } from "@implab/core-amd/interfaces";
4 import { mixin } from "@implab/core-amd/safe";
4 import { mixin } from "@implab/core-amd/safe";
5
5
6 const trace = TraceSource.get(mid);
6 const trace = TraceSource.get(mid);
7
7
8
8
9 function on<T extends keyof HTMLElementEventMap>(node: HTMLElement, eventName: T, handler: (this: HTMLElement, ev: HTMLElementEventMap[T]) => any): () => void {
9 function on<T extends keyof HTMLElementEventMap>(node: HTMLElement, eventName: T, handler: (this: HTMLElement, ev: HTMLElementEventMap[T]) => any): () => void {
10 // Add an event listener to a DOM node
10 // Add an event listener to a DOM node
11 node.addEventListener(eventName, handler, false);
11 node.addEventListener(eventName, handler, false);
12
12
13 return () => node.removeEventListener(eventName, handler, false);
13 return () => node.removeEventListener(eventName, handler, false);
14 }
14 }
15
15
16 interface NodeLoadResult {
16 interface NodeLoadResult {
17 node: HTMLElement;
17 node: HTMLElement;
18 }
18 }
19
19
20 class DomInject {
20 class DomInject {
21 injectionPoint?: HTMLElement;
21 injectionPoint?: HTMLElement;
22 injectAfter?: HTMLElement;
22 injectAfter?: HTMLElement;
23
23
24 _map: MapOf<Promise<NodeLoadResult>> = {};
24 _map: MapOf<Promise<NodeLoadResult>> = {};
25
25
26 _inject<T extends keyof HTMLElementTagNameMap>(name: T, attr: Partial<HTMLElementTagNameMap[T]>) {
26 _inject<T extends keyof HTMLElementTagNameMap>(name: T, attr: Partial<HTMLElementTagNameMap[T]>) {
27 const node = document.createElement(name);
27 const node = document.createElement(name);
28
28
29 return new Promise<NodeLoadResult>((ok, fail) => {
29 return new Promise<NodeLoadResult>((ok, fail) => {
30
30
31 const cleanup = () => {
31 const cleanup = () => {
32 noerr();
32 noerr();
33 noload();
33 noload();
34 };
34 };
35
35
36 const noload = on(node, "load", () => {
36 const noload = on(node, "load", () => {
37 ok({ node });
37 ok({ node });
38 cleanup();
38 cleanup();
39 });
39 });
40
40
41 const noerr = on(node, "error", e => {
41 const noerr = on(node, "error", e => {
42 fail({
42 fail({
43 error: e,
43 error: e,
44 node
44 node
45 });
45 });
46 cleanup();
46 cleanup();
47 });
47 });
48
48
49 mixin(node, attr);
49 mixin(node, attr);
50
50
51 const _injectionPoint = this.injectionPoint || document.head;
51 const _injectionPoint = this.injectionPoint || document.head;
52 const _injectBefore = this.injectAfter ? this.injectAfter.nextSibling : null;
52 const _injectBefore = this.injectAfter ? this.injectAfter.nextSibling : null;
53
53
54 _injectionPoint.insertBefore(node, _injectBefore);
54 _injectionPoint.insertBefore(node, _injectBefore);
55 });
55 });
56 }
56 }
57
57
58 async injectScript(url: string) {
58 async injectScript(url: string) {
59 let d = this._map[url];
59 let d = this._map[url];
60 if (!d) {
60 if (!d) {
61 trace.log("js {0}", url);
61 trace.log("js {0}", url);
62 d = this._inject("script", {
62 d = this._inject("script", {
63 type: "text/javascript",
63 type: "text/javascript",
64 charset: "utf-8",
64 charset: "utf-8",
65 src: url
65 src: url
66 });
66 });
67 this._map[url] = d;
67 this._map[url] = d;
68 }
68 }
69 try {
69 try {
70 await d;
70 await d;
71 trace.log("done {0}", url);
71 trace.log("done {0}", url);
72 } catch (e) {
72 } catch (e) {
73 trace.error("failed {0}: {1}", url, e);
73 trace.error("failed {0}: {1}", url, e);
74 throw e;
74 throw e;
75 }
75 }
76 }
76 }
77
77
78 async injectStylesheet(url: string) {
78 async injectStylesheet(url: string) {
79 let d = this._map[url];
79 let d = this._map[url];
80 if (!d) {
80 if (!d) {
81 trace.log("js {0}", url);
81 trace.log("js {0}", url);
82 d = this._inject("link", {
82 d = this._inject("link", {
83 type: "text/css",
83 type: "text/css",
84 rel: "stylesheet",
84 rel: "stylesheet",
85 href: url
85 href: url
86 });
86 });
87 this._map[url] = d;
87 this._map[url] = d;
88 }
88 }
89 try {
89 try {
90 await d;
90 await d;
91 trace.log("done {0}", url);
91 trace.log("done {0}", url);
92 } catch (e) {
92 } catch (e) {
93 trace.error("failed {0}: {1}", url, e);
93 trace.error("failed {0}: {1}", url, e);
94 throw e;
94 throw e;
95 }
95 }
96 }
96 }
97 };
97 }
98
98
99 const instance = new DomInject();
99 const instance = new DomInject();
100 export default instance;
100 export default instance;
@@ -1,40 +1,119
1 import { Constructor } from "@implab/core-amd/interfaces";
1 import { Constructor, IDestroyable, IRemovable } from "@implab/core-amd/interfaces";
2 import { HtmlRendition } from "./tsx/HtmlRendition";
2 import { HtmlRendition } from "./tsx/HtmlRendition";
3 import { WidgetRendition } from "./tsx/WidgetRendition";
3 import { WidgetRendition } from "./tsx/WidgetRendition";
4 import { isWidgetConstructor, Rendition } from "./tsx/traits";
4 import { destroy, isWidgetConstructor, Rendition } from "./tsx/traits";
5 import { FunctionRendition } from "./tsx/FunctionRendition";
5 import { FunctionRendition } from "./tsx/FunctionRendition";
6 import Stateful = require("dojo/Stateful");
7 import _WidgetBase = require("dijit/_WidgetBase");
8 import { DjxWidgetBase } from "./tsx/DjxWidgetBase";
6
9
7 export function createElement<T extends Constructor | string | ((props: any) => Element)>(elementType: T, ...args: any[]): Rendition {
10 export function createElement<T extends Constructor | string | ((props: any) => Element)>(elementType: T, ...args: any[]): Rendition {
8 if (typeof elementType === "string") {
11 if (typeof elementType === "string") {
9 const ctx = new HtmlRendition(elementType);
12 const ctx = new HtmlRendition(elementType);
10 if (args)
13 if (args)
11 args.forEach(x => ctx.visitNext(x));
14 args.forEach(x => ctx.visitNext(x));
12
15
13 return ctx;
16 return ctx;
14 } else if (isWidgetConstructor(elementType)) {
17 } else if (isWidgetConstructor(elementType)) {
15 const ctx = new WidgetRendition(elementType);
18 const ctx = new WidgetRendition(elementType);
16 if (args)
19 if (args)
17 args.forEach(x => ctx.visitNext(x));
20 args.forEach(x => ctx.visitNext(x));
18
21
19 return ctx;
22 return ctx;
20 } else if (typeof elementType === "function") {
23 } else if (typeof elementType === "function") {
21 const ctx = new FunctionRendition(elementType as (props: any) => Element);
24 const ctx = new FunctionRendition(elementType as (props: any) => Element);
22 if (args)
25 if (args)
23 args.forEach(x => ctx.visitNext(x));
26 args.forEach(x => ctx.visitNext(x));
24
27
25 return ctx;
28 return ctx;
26 } else {
29 } else {
27 throw new Error(`The element type '${elementType}' is unsupported`);
30 throw new Error(`The element type '${elementType}' is unsupported`);
28 }
31 }
29 }
32 }
30
33
31 export interface EventDetails<T = any> {
34 export interface EventDetails<T = any> {
32 detail: T;
35 detail: T;
33 }
36 }
34
37
35 export interface EventSelector {
38 export interface EventSelector {
36 selectorTarget: HTMLElement;
39 selectorTarget: HTMLElement;
37 target: HTMLElement;
40 target: HTMLElement;
38 }
41 }
39
42
40 export type DojoMouseEvent<T = any> = MouseEvent & EventSelector & EventDetails<T>;
43 export type DojoMouseEvent<T = any> = MouseEvent & EventSelector & EventDetails<T>;
44
45 type StatefulProps<T> = T extends Stateful<infer A> ? A : never;
46
47 type CleanFn = (instance: IRemovable | IDestroyable) => void;
48
49 /**
50 * Observers the property and calls render callback each change.
51 *
52 * @param target The target object which property will be observed.
53 * @param prop The name of the property.
54 * @param render The callback which will be called every time the value is changed
55 * @param cleanupOrOwner The object with method `own` or an callback to register lifecycle for the observer.
56 * @returns Rendition which is created instantly
57 */
58 export function watch<W extends _WidgetBase, K extends keyof W>(
59 target: W,
60 prop: K,
61 render: (model: W[K]) => any,
62 cleanupOrOwner?: { own: CleanFn } | CleanFn
63 ): Rendition;
64 /**
65 * Observers the property and calls render callback each change.
66 *
67 * @param target The target object which property will be observed.
68 * @param prop The name of the property.
69 * @param render The callback which will be called every time the value is changed
70 * @param cleanupOrOwner The object with method `own` or an callback to register lifecycle for the observer.
71 * @returns Rendition which is created instantly
72 */
73 export function watch<T extends Stateful, K extends keyof StatefulProps<T>>(
74 target: T,
75 prop: K,
76 render: (model: StatefulProps<T>[K]) => any,
77 cleanupOrOwner?: { own: CleanFn } | CleanFn
78 ): Rendition;
79 export function watch<T extends Stateful, K extends keyof StatefulProps<T> & string>(
80 target: T,
81 prop: K,
82 render: (model: StatefulProps<T>[K]) => any,
83 cleanupOrOwner: { own: CleanFn } | CleanFn = () => { }
84 ) {
85 let rendition = new FunctionRendition(() => render(target.get(prop)));
86 const _own = cleanupOrOwner instanceof Function ? cleanupOrOwner : (x: IRemovable) => cleanupOrOwner.own(x);
87 _own(target.watch(prop, (_name, oldValue, newValue) => {
88 if (oldValue !== newValue) {
89 const newRendition = new FunctionRendition(() => render(newValue));
90 newRendition.placeAt(rendition.getDomNode(), "replace");
91 destroy(rendition.getDomNode());
92 rendition = newRendition;
93 }
94 }));
95 return rendition;
96 }
97
98 /** Decorates the method which will be registered as the handle for the specified event.
99 * This decorator can be applied to DjxWidgetBase subclass methods.
100 *
101 * ```
102 * @on("click")
103 * _onClick(eventObj: MouseEvent) {
104 * // ...
105 * }
106 * ```
107 */
108 export const on = <E extends string>(...eventNames: E[]) =>
109 <K extends string,
110 T extends DjxWidgetBase<any, { [p in E]: EV }>,
111 EV extends Event
112 >(
113 target: T,
114 key: K,
115 _descriptor: TypedPropertyDescriptor<(eventObj: EV) => void> | TypedPropertyDescriptor<() => void>
116 ): any => {
117 const handlers = eventNames.map(eventName => ({ eventName, handlerMethod: key }))
118 target._eventHandlers = target._eventHandlers ? target._eventHandlers.concat(handlers) : handlers;
119 };
@@ -1,11 +1,11
1 import { RenditionBase } from "./RenditionBase";
1 import { RenditionBase } from "./RenditionBase";
2
2
3 /**
3 /**
4 * @deprecated use RenditionBase instead
4 * @deprecated use RenditionBase instead
5 */
5 */
6 export type BuildContextBase<TNode extends Node> = RenditionBase<TNode>;
6 export type BuildContextBase<TNode extends Node> = RenditionBase<TNode>;
7
7
8 /**
8 /**
9 * @deprecated use RenditionBase instead
9 * @deprecated use RenditionBase instead
10 */
10 */
11 export const BuildContextBase = RenditionBase;
11 export const BuildContextBase = RenditionBase;
@@ -1,7 +1,7
1 /** Special functional component used to create a document fragment */
1 /** Special functional component used to create a document fragment */
2 export function DjxFragment({children}: {children?: Node | Node[]}){
2 export function DjxFragment({ children }: { children?: Node | Node[] }) {
3 const fragment = document.createDocumentFragment();
3 const fragment = document.createDocumentFragment();
4 if (children)
4 if (children)
5 (children instanceof Array ? children : [children]).forEach(child => fragment.appendChild(child));
5 (children instanceof Array ? children : [children]).forEach(child => fragment.appendChild(child));
6 return fragment;
6 return fragment;
7 } No newline at end of file
7 }
@@ -1,88 +1,114
1 import { djbase, djclass } from "../declare";
1 import { djbase, djclass } from "../declare";
2 import _WidgetBase = require("dijit/_WidgetBase");
2 import _WidgetBase = require("dijit/_WidgetBase");
3 import _AttachMixin = require("dijit/_AttachMixin");
3 import _AttachMixin = require("dijit/_AttachMixin");
4 import { Rendition, isNode, startupWidgets } from "./traits";
4 import { Rendition, isNode } from "./traits";
5 import registry = require("dijit/registry");
5 import registry = require("dijit/registry");
6 import on = require("dojo/on");
6
7
7 // type Handle = dojo.Handle;
8 // type Handle = dojo.Handle;
8
9
9 export interface EventArgs {
10 export interface EventArgs {
10 bubbles?: boolean;
11 bubbles?: boolean;
11
12
12 cancelable?: boolean;
13 cancelable?: boolean;
13
14
14 composed?: boolean;
15 composed?: boolean;
15 }
16 }
16
17
17 export interface DjxWidgetBase<Attrs = any, Events extends { [name in keyof Events]: Event } = any> {
18 export interface DjxWidgetBase<Attrs = {}, Events extends { [name in keyof Events]: Event } = {}> extends
18 set<K extends keyof Attrs & string>(key: K, value: Attrs[K]): this;
19 _WidgetBase<Events> {
19 set(props: Partial<Attrs>): this;
20
20 get<K extends keyof Attrs & string>(key: K): Attrs[K];
21 /** This property is declared only for type inference to work, it is never assigned
22 * and should not be used.
23 */
24 readonly _eventMap: Events & GlobalEventHandlersEventMap;
21
25
22 on<K extends keyof Events & string>(eventName: K, cb: (evt: Events[K]) => void): dojo.WatchHandle;
26 /** The list of pairs of event and method names. When the widget is created all methods from
23
27 * this list will be connected to corresponding events.
24 emit<K extends keyof Events & string>(eventName: K, evt: Omit<Events[K], keyof Event> & EventArgs): void;
28 *
29 * This property is maintained in the prototype
30 */
31 _eventHandlers: Array<{
32 eventName: string,
33 handlerMethod: keyof any;
34 }>;
25 }
35 }
26
36
37 type _super = {
38 startup(): void;
39 };
40
27 @djclass
41 @djclass
28 export abstract class DjxWidgetBase<Attrs = any, Events = any> extends djbase(_WidgetBase, _AttachMixin) {
42 export abstract class DjxWidgetBase<Attrs = {}, Events = {}> extends djbase<_super, _AttachMixin>(_WidgetBase, _AttachMixin) {
29
43
30 buildRendering() {
44 buildRendering() {
31 this.domNode = this.render().getDomNode();
45 this.domNode = this.render().getDomNode();
32 super.buildRendering();
46 super.buildRendering();
33
47
34 // now we should get assigned data-dojo-attach-points
48 // now we should get assigned data-dojo-attach-points
35 // place the contents of the original srcNode to the containerNode
49 // place the contents of the original srcNode to the containerNode
36 const src = this.srcNodeRef;
50 const src = this.srcNodeRef;
37 const dest = this.containerNode;
51 const dest = this.containerNode;
38
52
53 // the donNode is constructed now we need to connect event handlers
54 this._connectEventHandlers();
55
39 if (src && dest) {
56 if (src && dest) {
40 while (src.firstChild)
57 while (src.firstChild)
41 dest.appendChild(src.firstChild);
58 dest.appendChild(src.firstChild);
42 }
59 }
43 }
60 }
44
61
45 abstract render(): Rendition<HTMLElement>;
62 abstract render(): Rendition<HTMLElement>;
46
63
64 private _connectEventHandlers() {
65 if (this._eventHandlers)
66 this._eventHandlers.forEach(({ eventName, handlerMethod }) => {
67 const handler = this[handlerMethod as keyof this];
68 if (typeof handler === "function")
69 on(this.domNode, eventName, handler.bind(this));
70 });
71 }
72
47 _processTemplateNode<T extends (Element | Node | _WidgetBase)>(
73 _processTemplateNode<T extends (Element | Node | _WidgetBase)>(
48 baseNode: T,
74 baseNode: T,
49 getAttrFunc: (baseNode: T, attr: string) => string,
75 getAttrFunc: (baseNode: T, attr: string) => any,
50 // tslint:disable-next-line: ban-types
76 // tslint:disable-next-line: ban-types
51 attachFunc: (node: T, type: string, func?: Function) => dojo.Handle
77 attachFunc: (node: T, type: string, func?: Function) => dojo.Handle
52 ): boolean {
78 ): boolean {
53 if (isNode(baseNode)) {
79 if (isNode(baseNode)) {
54 const w = registry.byNode(baseNode);
80 const w = registry.byNode(baseNode);
55 if (w) {
81 if (w) {
56 // from dijit/_WidgetsInTemplateMixin
82 // from dijit/_WidgetsInTemplateMixin
57 this._processTemplateNode(w,
83 this._processTemplateNode(w,
58 (n, p) => n.get(p), // callback to get a property of a widget
84 (n, p) => n.get(p as any), // callback to get a property of a widget
59 (widget, type, callback) => {
85 (widget, type, callback) => {
60 if (!callback)
86 if (!callback)
61 throw new Error("The callback must be specified");
87 throw new Error("The callback must be specified");
62
88
63 // callback to do data-dojo-attach-event to a widget
89 // callback to do data-dojo-attach-event to a widget
64 if (type in widget) {
90 if (type in widget) {
65 // back-compat, remove for 2.0
91 // back-compat, remove for 2.0
66 return widget.connect(widget, type, callback as EventListener);
92 return widget.connect(widget, type, callback as EventListener);
67 } else {
93 } else {
68 // 1.x may never hit this branch, but it's the default for 2.0
94 // 1.x may never hit this branch, but it's the default for 2.0
69 return widget.on(type, callback);
95 return widget.on(type, callback);
70 }
96 }
71
97
72 });
98 });
73 // don't process widgets internals
99 // don't process widgets internals
74 return false;
100 return false;
75 }
101 }
76 }
102 }
77 return super._processTemplateNode(baseNode, getAttrFunc, attachFunc);
103 return super._processTemplateNode(baseNode, getAttrFunc, attachFunc);
78 }
104 }
79
105
80 /** Starts current widget and all its supporting widgets (placed outside
106 /** Starts current widget and all its supporting widgets (placed outside
81 * `containerNode`) and child widgets (placed inside `containerNode`)
107 * `containerNode`) and child widgets (placed inside `containerNode`)
82 */
108 */
83 startup() {
109 startup() {
84 // startup supporting widgets
110 // startup supporting widgets
85 registry.findWidgets(this.domNode, this.containerNode).forEach(w => w.startup());
111 registry.findWidgets(this.domNode, this.containerNode).forEach(w => w.startup());
86 super.startup();
112 super.startup();
87 }
113 }
88 }
114 }
@@ -1,116 +1,116
1 import { isNull, mixin } from "@implab/core-amd/safe";
1 import { isNull, mixin } from "@implab/core-amd/safe";
2 import { isPlainObject, isNode, isRendition, DojoNodePosition, Rendition, isInPage, isWidget, isDocumentFragmentNode, startupWidgets } from "./traits";
2 import { isPlainObject, isNode, isRendition, DojoNodePosition, Rendition, isInPage, isWidget, isDocumentFragmentNode, startupWidgets } from "./traits";
3
3
4 import dom = require("dojo/dom-construct");
4 import dom = require("dojo/dom-construct");
5 import registry = require("dijit/registry");
5 import registry = require("dijit/registry");
6
6
7
7
8 export abstract class RenditionBase<TNode extends Node> implements Rendition<TNode> {
8 export abstract class RenditionBase<TNode extends Node> implements Rendition<TNode> {
9 private _attrs = {};
9 private _attrs = {};
10
10
11 private _children = new Array();
11 private _children = new Array();
12
12
13 private _created: boolean = false;
13 private _created: boolean = false;
14
14
15 visitNext(v: any) {
15 visitNext(v: any) {
16 if (this._created)
16 if (this._created)
17 throw new Error("The Element is already created");
17 throw new Error("The Element is already created");
18
18
19 if (isNull(v) || typeof v === "boolean")
19 if (isNull(v) || typeof v === "boolean")
20 // skip null, undefined, booleans ( this will work: {value && <span>{value}</span>} )
20 // skip null, undefined, booleans ( this will work: {value && <span>{value}</span>} )
21 return;
21 return;
22
22
23 if (isPlainObject(v)) {
23 if (isPlainObject(v)) {
24 mixin(this._attrs, v);
24 mixin(this._attrs, v);
25 } else if (v instanceof Array) {
25 } else if (v instanceof Array) {
26 v.forEach(x => this.visitNext(x));
26 v.forEach(x => this.visitNext(x));
27 } else {
27 } else {
28 this._children.push(v);
28 this._children.push(v);
29 }
29 }
30 }
30 }
31
31
32 protected getItemDom(v: any) {
32 protected getItemDom(v: any) {
33 const tv = typeof v;
33 const tv = typeof v;
34
34
35 if (tv === "string" || tv === "number" || v instanceof RegExp || v instanceof Date) {
35 if (tv === "string" || tv === "number" || v instanceof RegExp || v instanceof Date) {
36 // primitive types converted to the text nodes
36 // primitive types converted to the text nodes
37 return document.createTextNode(v.toString());
37 return document.createTextNode(v.toString());
38 } else if (isNode(v)) {
38 } else if (isNode(v)) {
39 // nodes are kept as is
39 // nodes are kept as is
40 return v;
40 return v;
41 } else if (isRendition(v)) {
41 } else if (isRendition(v)) {
42 // renditions as instantinated
42 // renditions as instantinated
43 return v.getDomNode();
43 return v.getDomNode();
44 } else if (isWidget(v)) {
44 } else if (isWidget(v)) {
45 // widgets are converted to it's markup
45 // widgets are converted to it's markup
46 return v.domNode;
46 return v.domNode;
47 } else if (tv === "boolean" || v === null || v === undefined) {
47 } else if (tv === "boolean" || v === null || v === undefined) {
48 // null | undefined | boolean are removed, converted to comments
48 // null | undefined | boolean are removed, converted to comments
49 return document.createComment(`[${tv} ${String(v)}]`);
49 return document.createComment(`[${tv} ${String(v)}]`);
50 } else {
50 } else {
51 // bug: explicit error otherwise
51 // bug: explicit error otherwise
52 throw new Error("Invalid parameter: " + v);
52 throw new Error("Invalid parameter: " + v);
53 }
53 }
54 }
54 }
55
55
56 ensureCreated() {
56 ensureCreated() {
57 if (!this._created) {
57 if (!this._created) {
58 this._create(this._attrs, this._children);
58 this._create(this._attrs, this._children);
59 this._children = [];
59 this._children = [];
60 this._attrs = {};
60 this._attrs = {};
61 this._created = true;
61 this._created = true;
62 }
62 }
63 }
63 }
64
64
65 /** @deprecated will be removed in 1.0.0, use getDomNode() */
65 /** @deprecated will be removed in 1.0.0, use getDomNode() */
66 getDomElement() {
66 getDomElement() {
67 return this.getDomNode();
67 return this.getDomNode();
68 }
68 }
69
69
70 /** Creates DOM node if not created. No additional actions are taken. */
70 /** Creates DOM node if not created. No additional actions are taken. */
71 getDomNode() {
71 getDomNode() {
72 this.ensureCreated();
72 this.ensureCreated();
73 return this._getDomNode();
73 return this._getDomNode();
74 }
74 }
75
75
76 /** Creates DOM node if not created, places it to the specified position
76 /** Creates DOM node if not created, places it to the specified position
77 * and calls startup() method for all widgets contained by this node.
77 * and calls startup() method for all widgets contained by this node.
78 *
78 *
79 * @param {string | Node} refNode The reference node where the created
79 * @param {string | Node} refNode The reference node where the created
80 * DOM should be placed.
80 * DOM should be placed.
81 * @param {DojoNodePosition} position Optional parameter, specifies the
81 * @param {DojoNodePosition} position Optional parameter, specifies the
82 * position relative to refNode. Default is "last" (i.e. last child).
82 * position relative to refNode. Default is "last" (i.e. last child).
83 */
83 */
84 placeAt(refNode: string | Node, position?: DojoNodePosition) {
84 placeAt(refNode: string | Node, position?: DojoNodePosition) {
85 const domNode = this.getDomNode();
85 const domNode = this.getDomNode();
86
86
87 const collect = (collection: HTMLCollection) => {
87 const collect = (collection: HTMLCollection) => {
88 const items = [];
88 const items = [];
89 for (let i = 0, n = collection.length; i < n; i++) {
89 for (let i = 0, n = collection.length; i < n; i++) {
90 items.push(collection[i]);
90 items.push(collection[i]);
91 }
91 }
92 return items;
92 return items;
93 }
93 };
94
94
95 const startup = (node: Node) => {
95 const startup = (node: Node) => {
96 if (node.parentNode) {
96 if (node.parentNode) {
97 const parentWidget = registry.getEnclosingWidget(node.parentNode);
97 const parentWidget = registry.getEnclosingWidget(node.parentNode);
98 if (parentWidget && parentWidget._started)
98 if (parentWidget && parentWidget._started)
99 return startupWidgets(node);
99 return startupWidgets(node);
100 }
100 }
101 if (isInPage(node))
101 if (isInPage(node))
102 startupWidgets(node);
102 startupWidgets(node);
103 }
103 };
104
104
105 const startupPending = isDocumentFragmentNode(domNode) ? collect(domNode.children) : [domNode]
105 const startupPending = isDocumentFragmentNode(domNode) ? collect(domNode.children) : [domNode];
106
106
107 dom.place(domNode, refNode, position);
107 dom.place(domNode, refNode, position);
108
108
109 startupPending.forEach(startup);
109 startupPending.forEach(startup);
110
110
111 }
111 }
112
112
113 protected abstract _create(attrs: object, children: any[]): void;
113 protected abstract _create(attrs: object, children: any[]): void;
114
114
115 protected abstract _getDomNode(): TNode;
115 protected abstract _getDomNode(): TNode;
116 }
116 }
@@ -1,128 +1,128
1 import dom = require("dojo/dom-construct");
1 import dom = require("dojo/dom-construct");
2 import { argumentNotNull } from "@implab/core-amd/safe";
2 import { argumentNotNull } from "@implab/core-amd/safe";
3 import { RenditionBase } from "./RenditionBase";
3 import { RenditionBase } from "./RenditionBase";
4 import { DojoNodePosition, isElementNode, isInPage, isWidget } from "./traits";
4 import { DojoNodePosition, isElementNode, isInPage, isWidget } from "./traits";
5 import registry = require("dijit/registry");
5 import registry = require("dijit/registry");
6 import ContentPane = require("dijit/layout/ContentPane");
6 import ContentPane = require("dijit/layout/ContentPane");
7
7
8 // tslint:disable-next-line: class-name
8 // tslint:disable-next-line: class-name
9 export interface _Widget {
9 export interface _Widget {
10 domNode: Node;
10 domNode: Node;
11
11
12 containerNode?: Node;
12 containerNode?: Node;
13
13
14 placeAt?(refNode: string | Node, position?: DojoNodePosition): void;
14 placeAt?(refNode: string | Node, position?: DojoNodePosition): void;
15 startup?(): void;
15 startup?(): void;
16
16
17 addChild?(widget: any, index?: number): void;
17 addChild?(widget: any, index?: number): void;
18 }
18 }
19
19
20 export type _WidgetCtor = new (attrs: any, srcNode?: string | Node) => _Widget;
20 export type _WidgetCtor = new (attrs: any, srcNode?: string | Node) => _Widget;
21
21
22 export class WidgetRendition extends RenditionBase<Node> {
22 export class WidgetRendition extends RenditionBase<Node> {
23 readonly widgetClass: _WidgetCtor;
23 readonly widgetClass: _WidgetCtor;
24
24
25 _instance: _Widget | undefined;
25 _instance: _Widget | undefined;
26
26
27 constructor(widgetClass: _WidgetCtor) {
27 constructor(widgetClass: _WidgetCtor) {
28 super();
28 super();
29 argumentNotNull(widgetClass, "widgetClass");
29 argumentNotNull(widgetClass, "widgetClass");
30
30
31 this.widgetClass = widgetClass;
31 this.widgetClass = widgetClass;
32 }
32 }
33
33
34 _addChild(child: any): void {
34 _addChild(child: any): void {
35 const instance = this._getInstance();
35 const instance = this._getInstance();
36
36
37 if (instance.addChild) {
37 if (instance.addChild) {
38 if (child instanceof WidgetRendition) {
38 if (child instanceof WidgetRendition) {
39 // layout containers add custom logic to addChild methods
39 // layout containers add custom logic to addChild methods
40 instance.addChild(child.getWidgetInstance());
40 instance.addChild(child.getWidgetInstance());
41 } else if (isWidget(child)) {
41 } else if (isWidget(child)) {
42 instance.addChild(child);
42 instance.addChild(child);
43 } else {
43 } else {
44 const childDom = this.getItemDom(child);
44 const childDom = this.getItemDom(child);
45 const w = isElementNode(childDom) ? registry.byNode(childDom) : undefined;
45 const w = isElementNode(childDom) ? registry.byNode(childDom) : undefined;
46
46
47 if (w) {
47 if (w) {
48 instance.addChild(w);
48 instance.addChild(w);
49 } else {
49 } else {
50 if (!instance.containerNode)
50 if (!instance.containerNode)
51 throw new Error("Failed to add DOM content. The widget doesn't have a containerNode");
51 throw new Error("Failed to add DOM content. The widget doesn't have a containerNode");
52
52
53 // the current widget isn't started, it's children shouldn't start too
53 // the current widget isn't started, it's children shouldn't start too
54 dom.place(this.getItemDom(child), instance.containerNode);
54 dom.place(this.getItemDom(child), instance.containerNode);
55 }
55 }
56 }
56 }
57 } else {
57 } else {
58 if (!instance.containerNode)
58 if (!instance.containerNode)
59 throw new Error("The widget doesn't have neither addChild nor containerNode");
59 throw new Error("The widget doesn't have neither addChild nor containerNode");
60
60
61 // the current widget isn't started, it's children shouldn't start too
61 // the current widget isn't started, it's children shouldn't start too
62 dom.place(this.getItemDom(child), instance.containerNode);
62 dom.place(this.getItemDom(child), instance.containerNode);
63 }
63 }
64 }
64 }
65
65
66 protected _create(attrs: any, children: any[]) {
66 protected _create(attrs: any, children: any[]) {
67 if (this.widgetClass.prototype instanceof ContentPane) {
67 if (this.widgetClass.prototype instanceof ContentPane) {
68 // a special case for the ContentPane this is for
68 // a special case for the ContentPane this is for
69 // the compatibility with this heavy widget, all
69 // the compatibility with this heavy widget, all
70 // regular containers could be easily manipulated
70 // regular containers could be easily manipulated
71 // through `containerNode` property or `addChild` method.
71 // through `containerNode` property or `addChild` method.
72
72
73 // render children to the DocumentFragment
73 // render children to the DocumentFragment
74 const content = document.createDocumentFragment();
74 const content = document.createDocumentFragment();
75 children.forEach(child => content.appendChild(this.getItemDom(child)));
75 children.forEach(child => content.appendChild(this.getItemDom(child)));
76
76
77 // set the content property to the parameters of the widget
77 // set the content property to the parameters of the widget
78 const _attrs = { ...attrs, content };
78 const _attrs = { ...attrs, content };
79 this._instance = new this.widgetClass(_attrs);
79 this._instance = new this.widgetClass(_attrs);
80 } else {
80 } else {
81 this._instance = new this.widgetClass(attrs);
81 this._instance = new this.widgetClass(attrs);
82 children.forEach(x => this._addChild(x));
82 children.forEach(x => this._addChild(x));
83 }
83 }
84
84
85 }
85 }
86
86
87 private _getInstance() {
87 private _getInstance() {
88 if (!this._instance)
88 if (!this._instance)
89 throw new Error("The instance of the widget isn't created");
89 throw new Error("The instance of the widget isn't created");
90 return this._instance;
90 return this._instance;
91 }
91 }
92
92
93 protected _getDomNode() {
93 protected _getDomNode() {
94 if (!this._instance)
94 if (!this._instance)
95 throw new Error("The instance of the widget isn't created");
95 throw new Error("The instance of the widget isn't created");
96 return this._instance.domNode;
96 return this._instance.domNode;
97 }
97 }
98
98
99 /** Overrides default placeAt implementation. Calls placeAt of the
99 /** Overrides default placeAt implementation. Calls placeAt of the
100 * widget and then starts it.
100 * widget and then starts it.
101 *
101 *
102 * @param refNode A node or id of the node where the widget should be placed.
102 * @param refNode A node or id of the node where the widget should be placed.
103 * @param position A position relative to refNode.
103 * @param position A position relative to refNode.
104 */
104 */
105 placeAt(refNode: string | Node, position?: DojoNodePosition) {
105 placeAt(refNode: string | Node, position?: DojoNodePosition) {
106 this.ensureCreated();
106 this.ensureCreated();
107 const instance = this._getInstance();
107 const instance = this._getInstance();
108 if (typeof instance.placeAt === "function") {
108 if (typeof instance.placeAt === "function") {
109 instance.placeAt(refNode, position);
109 instance.placeAt(refNode, position);
110
110
111 // fix the dojo startup behavior when the widget is placed
111 // fix the dojo startup behavior when the widget is placed
112 // directly to the document and doesn't have any enclosing widgets
112 // directly to the document and doesn't have any enclosing widgets
113 const parentWidget = instance.domNode.parentNode ?
113 const parentWidget = instance.domNode.parentNode ?
114 registry.getEnclosingWidget(instance.domNode.parentNode) : null
114 registry.getEnclosingWidget(instance.domNode.parentNode) : null;
115 if (!parentWidget && isInPage(instance.domNode) && typeof instance.startup === "function")
115 if (!parentWidget && isInPage(instance.domNode) && typeof instance.startup === "function")
116 instance.startup();
116 instance.startup();
117 } else {
117 } else {
118 // the widget doesn't have a placeAt method, strange but whatever
118 // the widget doesn't have a placeAt method, strange but whatever
119 super.placeAt(refNode, position);
119 super.placeAt(refNode, position);
120 }
120 }
121 }
121 }
122
122
123 getWidgetInstance() {
123 getWidgetInstance() {
124 this.ensureCreated();
124 this.ensureCreated();
125 return this._getInstance();
125 return this._getInstance();
126 }
126 }
127
127
128 }
128 }
@@ -1,148 +1,148
1 import { IDestroyable } from "@implab/core-amd/interfaces";
1 import { IDestroyable } from "@implab/core-amd/interfaces";
2 import { isDestroyable } from "@implab/core-amd/safe";
2 import { isDestroyable } from "@implab/core-amd/safe";
3 import _WidgetBase = require("dijit/_WidgetBase");
3 import _WidgetBase = require("dijit/_WidgetBase");
4 import registry = require("dijit/registry");
4 import registry = require("dijit/registry");
5 import dom = require("dojo/dom-construct");
5 import dom = require("dojo/dom-construct");
6
6
7 type _WidgetBaseConstructor = typeof _WidgetBase;
7 type _WidgetBaseConstructor = typeof _WidgetBase;
8
8
9 export type DojoNodePosition = "first" | "after" | "before" | "last" | "replace" | "only" | number;
9 export type DojoNodePosition = "first" | "after" | "before" | "last" | "replace" | "only" | number;
10
10
11 export interface Rendition<TNode extends Node = Node> {
11 export interface Rendition<TNode extends Node = Node> {
12 getDomNode(): TNode;
12 getDomNode(): TNode;
13
13
14 placeAt(refNode: string | Node, position?: DojoNodePosition): void;
14 placeAt(refNode: string | Node, position?: DojoNodePosition): void;
15 }
15 }
16
16
17 /**
17 /**
18 * @deprecated use Rendition
18 * @deprecated use Rendition
19 */
19 */
20 export type BuildContext<TNode extends Node = Node> = Rendition<TNode>;
20 export type BuildContext<TNode extends Node = Node> = Rendition<TNode>;
21
21
22 export interface IRecursivelyDestroyable {
22 export interface IRecursivelyDestroyable {
23 destroyRecursive(): void;
23 destroyRecursive(): void;
24 }
24 }
25
25
26 export function isNode(el: any): el is Node {
26 export function isNode(el: any): el is Node {
27 return el && el.nodeName && el.nodeType;
27 return el && el.nodeName && el.nodeType;
28 }
28 }
29
29
30 export function isElementNode(el: any): el is Element {
30 export function isElementNode(el: any): el is Element {
31 return isNode(el) && el.nodeType === 1;
31 return isNode(el) && el.nodeType === 1;
32 }
32 }
33
33
34 export function isTextNode(el: any): el is Text {
34 export function isTextNode(el: any): el is Text {
35 return isNode(el) && el.nodeType === 3;
35 return isNode(el) && el.nodeType === 3;
36 }
36 }
37
37
38 export function isProcessingInstructionNode(el: any): el is ProcessingInstruction {
38 export function isProcessingInstructionNode(el: any): el is ProcessingInstruction {
39 return isNode(el) && el.nodeType === 7;
39 return isNode(el) && el.nodeType === 7;
40 }
40 }
41
41
42 export function isCommentNode(el: any): el is Comment {
42 export function isCommentNode(el: any): el is Comment {
43 return isNode(el) && el.nodeType === 8;
43 return isNode(el) && el.nodeType === 8;
44 }
44 }
45
45
46 export function isDocumentNode(el: any): el is Document {
46 export function isDocumentNode(el: any): el is Document {
47 return isNode(el) && el.nodeType === 9;
47 return isNode(el) && el.nodeType === 9;
48 }
48 }
49
49
50 export function isDocumentTypeNode(el: any): el is DocumentType {
50 export function isDocumentTypeNode(el: any): el is DocumentType {
51 return isNode(el) && el.nodeType === 10;
51 return isNode(el) && el.nodeType === 10;
52 }
52 }
53
53
54 export function isDocumentFragmentNode(el: any): el is DocumentFragment {
54 export function isDocumentFragmentNode(el: any): el is DocumentFragment {
55 return isNode(el) && el.nodeType === 11;
55 return isNode(el) && el.nodeType === 11;
56 }
56 }
57
57
58 export function isWidget(v: any): v is _WidgetBase {
58 export function isWidget(v: any): v is _WidgetBase {
59 return v && "domNode" in v;
59 return v && "domNode" in v;
60 }
60 }
61
61
62 export function isRendition(v: any): v is Rendition {
62 export function isRendition(v: any): v is Rendition {
63 return typeof v === "object" && typeof v.getDomElement === "function";
63 return v && typeof v.getDomElement === "function";
64 }
64 }
65
65
66 /**
66 /**
67 * @deprecated use isRendition
67 * @deprecated use isRendition
68 */
68 */
69 export const isBuildContext = isRendition;
69 export const isBuildContext = isRendition;
70
70
71 export function isPlainObject(v: object) {
71 export function isPlainObject(v: object) {
72 if (typeof v !== "object")
72 if (typeof v !== "object")
73 return false;
73 return false;
74
74
75 const vp = Object.getPrototypeOf(v);
75 const vp = Object.getPrototypeOf(v);
76 return !vp || vp === Object.prototype;
76 return !vp || vp === Object.prototype;
77 }
77 }
78
78
79 export function isWidgetConstructor(v: any): v is _WidgetBaseConstructor {
79 export function isWidgetConstructor(v: any): v is _WidgetBaseConstructor {
80 return typeof v === "function" && v.prototype && (
80 return typeof v === "function" && v.prototype && (
81 "domNode" in v.prototype ||
81 "domNode" in v.prototype ||
82 "buildRendering" in v.prototype
82 "buildRendering" in v.prototype
83 );
83 );
84 }
84 }
85
85
86 /** Tests whether the specified node is placed in visible dom.
86 /** Tests whether the specified node is placed in visible dom.
87 * @param {Node} node The node to test
87 * @param {Node} node The node to test
88 */
88 */
89 export function isInPage(node: Node) {
89 export function isInPage(node: Node) {
90 return (node === document.body) ? false : document.body.contains(node);
90 return (node === document.body) ? false : document.body.contains(node);
91 }
91 }
92
92
93 export function isRecursivelyDestroyable(target: any): target is IRecursivelyDestroyable {
93 export function isRecursivelyDestroyable(target: any): target is IRecursivelyDestroyable {
94 return target && typeof target.destroyRecursive === "function";
94 return target && typeof target.destroyRecursive === "function";
95 }
95 }
96
96
97
97
98 /** Destroys DOM Node with all contained widgets.
98 /** Destroys DOM Node with all contained widgets.
99 * If the specified node is the root node of a widget, then the
99 * If the specified node is the root node of a widget, then the
100 * widget will be destroyed.
100 * widget will be destroyed.
101 *
101 *
102 * @param target DOM Node or widget to destroy
102 * @param target DOM Node or widget to destroy
103 */
103 */
104 export function destroy(target: Node | IDestroyable | IRecursivelyDestroyable) {
104 export function destroy(target: Node | IDestroyable | IRecursivelyDestroyable) {
105 if (isRecursivelyDestroyable(target)) {
105 if (isRecursivelyDestroyable(target)) {
106 target.destroyRecursive();
106 target.destroyRecursive();
107 } else if (isDestroyable(target)) {
107 } else if (isDestroyable(target)) {
108 target.destroy();
108 target.destroy();
109 } else if (isNode(target)) {
109 } else if (isNode(target)) {
110 const self = registry.byNode(target);
110 const w = isElementNode(target) ? registry.byNode(target) : undefined;
111 if (self) {
111 if (w) {
112 self.destroyRecursive();
112 w.destroyRecursive();
113 } else {
113 } else {
114 registry.findWidgets(target).forEach(destroy);
114 registry.findWidgets(target).forEach(destroy);
115 dom.destroy(target);
115 dom.destroy(target);
116 }
116 }
117 }
117 }
118 }
118 }
119
119
120 /** Empties a content of the specified node and destroys all contained widgets.
120 /** Empties a content of the specified node and destroys all contained widgets.
121 *
121 *
122 * @param target DOM node to .
122 * @param target DOM node to .
123 */
123 */
124 export function emptyNode(target: Node) {
124 export function emptyNode(target: Node) {
125 registry.findWidgets(target).forEach(destroy);
125 registry.findWidgets(target).forEach(destroy);
126 dom.empty(target);
126 dom.empty(target);
127 }
127 }
128
128
129 /** This function starts all widgets inside the DOM node if the target is a node
129 /** This function starts all widgets inside the DOM node if the target is a node
130 * or starts widget itself if the target is the widget. If the specified node
130 * or starts widget itself if the target is the widget. If the specified node
131 * associated with the widget that widget will be started.
131 * associated with the widget that widget will be started.
132 *
132 *
133 * @param target DOM node to find and start widgets or the widget itself.
133 * @param target DOM node to find and start widgets or the widget itself.
134 */
134 */
135 export function startupWidgets(target: Node | _WidgetBase, skipNode?: Node) {
135 export function startupWidgets(target: Node | _WidgetBase, skipNode?: Node) {
136 if (isNode(target)) {
136 if (isNode(target)) {
137 const w = isElementNode(target) ? registry.byNode(target) : undefined;
137 const w = isElementNode(target) ? registry.byNode(target) : undefined;
138 if (w) {
138 if (w) {
139 if (w.startup)
139 if (w.startup)
140 w.startup();
140 w.startup();
141 } else {
141 } else {
142 registry.findWidgets(target, skipNode).forEach(x => x.startup());
142 registry.findWidgets(target, skipNode).forEach(x => x.startup());
143 }
143 }
144 } else {
144 } else {
145 if(target.startup)
145 if (target.startup)
146 target.startup();
146 target.startup();
147 }
147 }
148 } No newline at end of file
148 }
@@ -1,13 +1,13
1 {
1 {
2 "extends": "../tsconfig",
2 "extends": "../tsconfig",
3 "compilerOptions": {
3 "compilerOptions": {
4 "rootDir": "ts",
4 "rootDir": "ts",
5 "rootDirs": [
5 "rootDirs": [
6 "ts",
6 "ts",
7 "typings"
7 "typings"
8 ],
8 ],
9 "types": [
9 "types": [
10 "requirejs", "./typings", "dojo-typings"
10 "requirejs", "./typings", "@implab/dojo-typings"
11 ]
11 ]
12 }
12 }
13 }
13 }
@@ -1,69 +1,68
1 /// <reference path="./css.d.ts"/>
1 /// <reference path="./css.d.ts"/>
2 /// <reference path="./dijit.d.ts"/>
3
2
4 declare namespace JSX {
3 declare namespace JSX {
5
4
6 interface DjxIntrinsicAttributes {
5 interface DjxIntrinsicAttributes {
7 /** alias for className */
6 /** alias for className */
8 class: string;
7 class: string;
9
8
10 /** specifies the name of the property in the widget where the the
9 /** specifies the name of the property in the widget where the the
11 * reference to the current object will be stored
10 * reference to the current object will be stored
12 */
11 */
13 "data-dojo-attach-point": string;
12 "data-dojo-attach-point": string;
14
13
15 /** specifies handlers map for the events */
14 /** specifies handlers map for the events */
16 "data-dojo-attach-event": string;
15 "data-dojo-attach-event": string;
17
16
18 /** @deprecated */
17 /** @deprecated */
19 [attr: string]: any;
18 [attr: string]: any;
20 }
19 }
21
20
22 interface DjxIntrinsicElements {
21 interface DjxIntrinsicElements {
23 }
22 }
24
23
25 type RecursivePartial<T> = T extends string | number | boolean | null | undefined | Function ?
24 type RecursivePartial<T> = T extends string | number | boolean | null | undefined | Function ?
26 T :
25 T :
27 { [k in keyof T]?: RecursivePartial<T[k]> };
26 { [k in keyof T]?: RecursivePartial<T[k]> };
28
27
29 type MatchingMemberKeys<T, U> = {
28 type MatchingMemberKeys<T, U> = {
30 [K in keyof T]: T[K] extends U ? K : never;
29 [K in keyof T]: T[K] extends U ? K : never;
31 }[keyof T];
30 }[keyof T];
32 type NotMatchingMemberKeys<T, U> = {
31 type NotMatchingMemberKeys<T, U> = {
33 [K in keyof T]: T[K] extends U ? never : K;
32 [K in keyof T]: T[K] extends U ? never : K;
34 }[keyof T];
33 }[keyof T];
35
34
36 type ExtractMembers<T, U> = Pick<T, MatchingMemberKeys<T, U>>;
35 type ExtractMembers<T, U> = Pick<T, MatchingMemberKeys<T, U>>;
37
36
38 type ExcludeMembers<T, U> = Pick<T, NotMatchingMemberKeys<T, U>>;
37 type ExcludeMembers<T, U> = Pick<T, NotMatchingMemberKeys<T, U>>;
39
38
40 type ElementAttrNames<E> = NotMatchingMemberKeys<E, (...args: any[]) => any>;
39 type ElementAttrNames<E> = NotMatchingMemberKeys<E, (...args: any[]) => any>;
41
40
42 type ElementAttrType<E, K extends keyof any> = K extends keyof E ? RecursivePartial<E[K]> : string;
41 type ElementAttrType<E, K extends keyof any> = K extends keyof E ? RecursivePartial<E[K]> : string;
43
42
44
43
45 type ElementAttrNamesBlacklist = "children" | "getRootNode" | keyof EventTarget;
44 type ElementAttrNamesBlacklist = "children" | "getRootNode" | keyof EventTarget;
46
45
47 /** This type extracts keys of the specified parameter E by the following rule:
46 /** This type extracts keys of the specified parameter E by the following rule:
48 * 1. skips all ElementAttrNamesBlacklist
47 * 1. skips all ElementAttrNamesBlacklist
49 * 2. skips all methods except with the signature of event handlers
48 * 2. skips all methods except with the signature of event handlers
50 */
49 */
51 type AssignableElementAttrNames<E> = {
50 type AssignableElementAttrNames<E> = {
52 [K in keyof E]: K extends ElementAttrNamesBlacklist ? never :
51 [K in keyof E]: K extends ElementAttrNamesBlacklist ? never :
53 ((evt: Event) => any) extends E[K] ? K :
52 ((evt: Event) => any) extends E[K] ? K :
54 E[K] extends ((...args: any[]) => any) ? never :
53 E[K] extends ((...args: any[]) => any) ? never :
55 K;
54 K;
56 }[keyof E];
55 }[keyof E];
57
56
58 type LaxElement<E extends object> =
57 type LaxElement<E extends object> =
59 Pick<E, AssignableElementAttrNames<E>> &
58 Pick<E, AssignableElementAttrNames<E>> &
60 DjxIntrinsicAttributes;
59 DjxIntrinsicAttributes;
61
60
62 type LaxIntrinsicElementsMap = {
61 type LaxIntrinsicElementsMap = {
63 [tag in keyof HTMLElementTagNameMap]: LaxElement<HTMLElementTagNameMap[tag]>
62 [tag in keyof HTMLElementTagNameMap]: LaxElement<HTMLElementTagNameMap[tag]>
64 } & DjxIntrinsicElements;
63 } & DjxIntrinsicElements;
65
64
66 type IntrinsicElements = {
65 type IntrinsicElements = {
67 [tag in keyof LaxIntrinsicElementsMap]: RecursivePartial<LaxIntrinsicElementsMap[tag]>;
66 [tag in keyof LaxIntrinsicElementsMap]: RecursivePartial<LaxIntrinsicElementsMap[tag]>;
68 }
67 }
69 }
68 }
@@ -1,10 +1,12
1 import { Baz } from "./mock/Baz";
1 import { Baz } from "./mock/Baz";
2
2
3 // tslint:disable-next-line: no-console
3 console.log("Declare tests");
4 console.log("Declare tests");
4
5
5 const baz = new Baz();
6 const baz = new Baz();
6
7
7 const data: string[] = [];
8 const data: string[] = [];
8 baz.writeHello(data);
9 baz.writeHello(data);
9
10
11 // tslint:disable-next-line: no-console
10 console.log(data.join("\n"));
12 console.log(data.join("\n"));
@@ -1,17 +1,16
1 import { test } from "./TestTraits";
1 import { test } from "./TestTraits";
2 import { delay } from "@implab/core-amd/safe";
2 import { delay } from "@implab/core-amd/safe";
3 import { assert } from "chai";
3 import { assert } from "chai";
4 import css = require("@implab/djx/css!my.css");
5
4
6 test("simple", (ok, fail, log) => {
5 test("simple", (ok, fail, log) => {
7 setTimeout(() => {
6 setTimeout(() => {
8 // end should be called after the last assertion
7 // end should be called after the last assertion
9 ok("async assert");
8 ok("async assert");
10 }, 100);
9 }, 100);
11 });
10 });
12
11
13 test("simple", async (log, fail) => {
12 test("simple", async (log, fail) => {
14 await delay(0);
13 await delay(0);
15
14
16 assert.ok(true); // everything is fine
15 assert.ok(true); // everything is fine
17 });
16 });
@@ -1,50 +1,70
1 import { djbase, djclass, bind, prototype, AbstractConstructor } from "../declare";
1 import { djbase, djclass, bind, prototype, AbstractConstructor } from "../declare";
2
2
3 import { DjxWidgetBase } from "../tsx/DjxWidgetBase";
3 import { DjxWidgetBase } from "../tsx/DjxWidgetBase";
4 import { createElement } from "../tsx";
4 import { createElement, on } from "../tsx";
5
5
6 interface MyWidgetAttrs {
6 interface MyWidgetAttrs {
7 title: string;
7 title: string;
8
8
9 counter: number;
9 counter: number;
10 }
10 }
11
11
12 interface MyWidgetEvents {
12 interface MyWidgetEvents {
13 "count-inc": Event;
13 "count-inc": Event & {
14 detail: number;
15 };
14
16
15 "count-dec": Event;
17 "count-dec": Event & {
18 detail: number;
19 };
16 }
20 }
17
21
18
22
19 @djclass
23 @djclass
20 export class MyWidget extends djbase(DjxWidgetBase as AbstractConstructor<DjxWidgetBase<MyWidgetAttrs, MyWidgetEvents>>) {
24 export class MyWidget extends djbase(DjxWidgetBase as AbstractConstructor<DjxWidgetBase<MyWidgetAttrs, MyWidgetEvents>>) {
21
25
22 @bind({ node: "titleNode", type: "innerHTML" })
26 @bind({ node: "titleNode", type: "innerHTML" })
23 title = "";
27 title = "";
24
28
25 @prototype()
29 @prototype()
26 counter = 0;
30 counter = 0;
27
31
28 render() {
32 render() {
29 const Frame = (props: any) => <div>{props.children}</div>;
33 const Frame = (props: any) => <div>{props.children}</div>;
30 return <div className="myWidget" onsubmit={e => this._onSubmit(e)} tabIndex={3} style={{ alignContent: "center", border: "1px solid" }} >
34 return <div className="myWidget" onsubmit={e => this._onSubmit(e)} tabIndex={3} style={{ alignContent: "center", border: "1px solid" }} >
31 <h1 data-dojo-attach-point="titleNode"></h1>
35 <h1 data-dojo-attach-point="titleNode"></h1>
32 <Frame>
36 <Frame>
33 <span class="up-button" onclick={e => this._onIncClick(e)}>[+]</span>
37 <span class="up-button" onclick={e => this._onIncClick(e)}>[+]</span>
34 <span class="down-button" onclick={() => this._onDecClick()}>[-]</span>
38 <span class="down-button" onclick={() => this._onDecClick()}>[-]</span>
35 </Frame>
39 </Frame>
36 </div>;
40 </div>;
37 }
41 }
38
42
43 postCreate() {
44 super.postCreate();
45
46 this.on("click", () => {});
47 }
48
39 _onSubmit(e: Event) {
49 _onSubmit(e: Event) {
40
41 }
50 }
42
51
43 _onIncClick(e: MouseEvent) {
52 _onIncClick(e: MouseEvent) {
53 this.set("counter", this.counter + 1);
54
44 this.emit("count-inc", { bubbles: false });
55 this.emit("count-inc", { bubbles: false });
45 }
56 }
46
57
47 _onDecClick() {
58 _onDecClick() {
48 this.emit("count-dec", { bubbles: false });
59 this.emit("count-dec", { bubbles: false, detail: this.counter });
60 }
61
62 @on("count-inc")
63 _onCounterInc(evt: Event & { detail: number; x?: number; }) {
49 }
64 }
50 }
65
66 @on("click", "keydown")
67 protected _onClick(event: MouseEvent | KeyboardEvent) {
68
69 }
70 } No newline at end of file
@@ -1,13 +1,13
1 {
1 {
2 "extends": "../tsconfig",
2 "extends": "../tsconfig",
3 "compilerOptions": {
3 "compilerOptions": {
4 //"rootDir": "ts",
4 //"rootDir": "ts",
5 "rootDirs": [
5 "rootDirs": [
6 "ts",
6 "ts",
7 "typings",
7 "typings",
8 "../main/ts",
8 "../main/ts",
9 "../main/typings"
9 "../main/typings"
10 ],
10 ],
11 "types": ["requirejs", "../main/typings", "dojo-typings"]
11 "types": ["requirejs", "../main/typings", "@implab/dojo-typings"]
12 }
12 }
13 } No newline at end of file
13 }
@@ -1,13 +1,15
1 {
1 {
2 "compilerOptions": {
2 "compilerOptions": {
3 "moduleResolution": "node",
3 "moduleResolution": "node",
4 "noEmitOnError": true,
4 "noEmitOnError": true,
5 "strict": true,
5 "strict": true,
6 "types": [],
6 "types": [],
7 "experimentalDecorators": true,
7 "experimentalDecorators": true,
8 "jsxFactory": "createElement",
8 "jsxFactory": "createElement",
9 "target": "ES5",
9 //"skipLibCheck": true,
10 //"skipLibCheck": true,
10 "jsx": "react",
11 "jsx": "react",
11 "lib": ["es5", "es2015.promise", "es2015.symbol", "es2015.iterable", "dom", "scripthost"]
12 "lib": ["es5", "es2015.promise", "es2015.symbol", "es2015.iterable", "dom", "scripthost"],
13 "noUnusedLocals": true
12 }
14 }
13 } No newline at end of file
15 }
@@ -1,18 +1,17
1 /*
1 /*
2 * This settings file was generated by the Gradle 'init' task.
2 * This settings file was generated by the Gradle 'init' task.
3 *
3 *
4 * The settings file is used to specify which projects to include in your build.
4 * The settings file is used to specify which projects to include in your build.
5 * In a single project build this file can be empty or even removed.
5 * In a single project build this file can be empty or even removed.
6 *
6 *
7 * Detailed information about configuring a multi-project build in Gradle can be found
7 * Detailed information about configuring a multi-project build in Gradle can be found
8 * in the user guide at https://docs.gradle.org/3.5/userguide/multi_project_builds.html
8 * in the user guide at https://docs.gradle.org/3.5/userguide/multi_project_builds.html
9 */
9 */
10
10
11 // To declare projects as part of a multi-project build use the 'include' method
11 // To declare projects as part of a multi-project build use the 'include' method
12
12
13 //include 'sub-project-name'
13 //include 'sub-project-name'
14
14
15 rootProject.name = 'implabjs-djx'
15 rootProject.name = 'implabjs-djx'
16
16
17 include 'djx'
17 include 'djx' No newline at end of file
18 include 'playground' No newline at end of file
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now