fix(core): update
This commit is contained in:
parent
324b93a419
commit
1cecba6f13
29
.vscode/launch.json
vendored
Normal file
29
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "current file",
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"args": [
|
||||||
|
"${relativeFile}"
|
||||||
|
],
|
||||||
|
"runtimeArgs": ["-r", "@gitzone/tsrun"],
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"protocol": "inspector",
|
||||||
|
"internalConsoleOptions": "openOnSessionStart"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test.ts",
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"args": [
|
||||||
|
"test/test.ts"
|
||||||
|
],
|
||||||
|
"runtimeArgs": ["-r", "@gitzone/tsrun"],
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"protocol": "inspector",
|
||||||
|
"internalConsoleOptions": "openOnSessionStart"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
20
.vscode/settings.json
vendored
Normal file
20
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"json.schemas": [
|
||||||
|
{
|
||||||
|
"fileMatch": ["/npmextra.json"],
|
||||||
|
"schema": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"npmci": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for npmci"
|
||||||
|
},
|
||||||
|
"gitzone": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for gitzone"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
134
package-lock.json
generated
134
package-lock.json
generated
@ -4,6 +4,26 @@
|
|||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@babel/code-frame": {
|
||||||
|
"version": "7.5.5",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/@babel%2fcode-frame/-/code-frame-7.5.5.tgz",
|
||||||
|
"integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@babel/highlight": "^7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/highlight": {
|
||||||
|
"version": "7.5.0",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/@babel%2fhighlight/-/highlight-7.5.0.tgz",
|
||||||
|
"integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"chalk": "^2.0.0",
|
||||||
|
"esutils": "^2.0.2",
|
||||||
|
"js-tokens": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@gitzone/tsbuild": {
|
"@gitzone/tsbuild": {
|
||||||
"version": "2.1.17",
|
"version": "2.1.17",
|
||||||
"resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.17.tgz",
|
"resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.17.tgz",
|
||||||
@ -147,7 +167,6 @@
|
|||||||
"version": "1.0.15",
|
"version": "1.0.15",
|
||||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.15.tgz",
|
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.15.tgz",
|
||||||
"integrity": "sha512-pvJBmF13spcDN+O8rSpYlKBOObyfW+omZKQr3hhSMT1VHMEYV8e/njsA19Cg4C2DfLPv+cRFFgPn27zJpleRsQ==",
|
"integrity": "sha512-pvJBmF13spcDN+O8rSpYlKBOObyfW+omZKQr3hhSMT1VHMEYV8e/njsA19Cg4C2DfLPv+cRFFgPn27zJpleRsQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@pushrocks/lik": "^3.0.5",
|
"@pushrocks/lik": "^3.0.5",
|
||||||
"@pushrocks/smartdelay": "^2.0.3",
|
"@pushrocks/smartdelay": "^2.0.3",
|
||||||
@ -239,14 +258,12 @@
|
|||||||
"@pushrocks/smartlog-interfaces": {
|
"@pushrocks/smartlog-interfaces": {
|
||||||
"version": "2.0.5",
|
"version": "2.0.5",
|
||||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-interfaces/-/smartlog-interfaces-2.0.5.tgz",
|
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-interfaces/-/smartlog-interfaces-2.0.5.tgz",
|
||||||
"integrity": "sha512-eLNlRpDwy3E+6v/B6fo/NiAo+UxBO3SxKgIIsgUGbWfVpsyUi0PG2xfVCdhJlhL1AsRRvKglfHSOB8qKE+XCLw==",
|
"integrity": "sha512-eLNlRpDwy3E+6v/B6fo/NiAo+UxBO3SxKgIIsgUGbWfVpsyUi0PG2xfVCdhJlhL1AsRRvKglfHSOB8qKE+XCLw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"@pushrocks/smartlog-source-ora": {
|
"@pushrocks/smartlog-source-ora": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-source-ora/-/smartlog-source-ora-1.0.8.tgz",
|
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-source-ora/-/smartlog-source-ora-1.0.8.tgz",
|
||||||
"integrity": "sha512-yPFACo/1gHx2o43qYLJ6LB5AUvSFB42abYynySpaIZfQKzdz09eJB/LMbVdOKPObwk7bcma5owyK5lPHicG9Ig==",
|
"integrity": "sha512-yPFACo/1gHx2o43qYLJ6LB5AUvSFB42abYynySpaIZfQKzdz09eJB/LMbVdOKPObwk7bcma5owyK5lPHicG9Ig==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@pushrocks/smartlog-interfaces": "^2.0.5",
|
"@pushrocks/smartlog-interfaces": "^2.0.5",
|
||||||
"ora": "^3.4.0"
|
"ora": "^3.4.0"
|
||||||
@ -307,7 +324,6 @@
|
|||||||
"version": "2.0.25",
|
"version": "2.0.25",
|
||||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.25.tgz",
|
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.25.tgz",
|
||||||
"integrity": "sha512-sYVHOhBRdr+CkjS+o1SDtB5058ZYxTPAYuexx2ydl2g+57KNdEcSRWN/2mOv5+NFH+tvvgtnUjC3AclC9CwJ4A==",
|
"integrity": "sha512-sYVHOhBRdr+CkjS+o1SDtB5058ZYxTPAYuexx2ydl2g+57KNdEcSRWN/2mOv5+NFH+tvvgtnUjC3AclC9CwJ4A==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@pushrocks/smartdelay": "^2.0.3",
|
"@pushrocks/smartdelay": "^2.0.3",
|
||||||
"@pushrocks/smartexit": "^1.0.15",
|
"@pushrocks/smartexit": "^1.0.15",
|
||||||
@ -571,10 +587,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/which": {
|
"@types/which": {
|
||||||
"version": "1.3.1",
|
"version": "1.3.2",
|
||||||
"resolved": "https://verdaccio.lossless.one/@types%2fwhich/-/which-1.3.1.tgz",
|
"resolved": "https://verdaccio.lossless.one/@types%2fwhich/-/which-1.3.2.tgz",
|
||||||
"integrity": "sha512-ZrJDWpvg75LTGX4XwuneY9s6bF3OeZcGTpoGh3zDV9ytzcHMFsRrMIaLBRJZQMBoGyKs6unBQfVdrLZiYfb1zQ==",
|
"integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"@types/yargs": {
|
"@types/yargs": {
|
||||||
"version": "12.0.13",
|
"version": "12.0.13",
|
||||||
@ -661,6 +676,12 @@
|
|||||||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
|
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"builtin-modules": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/builtin-modules/-/builtin-modules-1.1.1.tgz",
|
||||||
|
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"camelcase": {
|
"camelcase": {
|
||||||
"version": "5.3.1",
|
"version": "5.3.1",
|
||||||
"resolved": "https://verdaccio.lossless.one/camelcase/-/camelcase-5.3.1.tgz",
|
"resolved": "https://verdaccio.lossless.one/camelcase/-/camelcase-5.3.1.tgz",
|
||||||
@ -728,8 +749,7 @@
|
|||||||
"cli-spinners": {
|
"cli-spinners": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/cli-spinners/-/cli-spinners-2.2.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/cli-spinners/-/cli-spinners-2.2.0.tgz",
|
||||||
"integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
|
"integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"cli-width": {
|
"cli-width": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
@ -761,8 +781,7 @@
|
|||||||
"clone": {
|
"clone": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://verdaccio.lossless.one/clone/-/clone-1.0.4.tgz",
|
"resolved": "https://verdaccio.lossless.one/clone/-/clone-1.0.4.tgz",
|
||||||
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
|
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"code-point-at": {
|
"code-point-at": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
@ -794,8 +813,7 @@
|
|||||||
"commander": {
|
"commander": {
|
||||||
"version": "2.20.1",
|
"version": "2.20.1",
|
||||||
"resolved": "https://verdaccio.lossless.one/commander/-/commander-2.20.1.tgz",
|
"resolved": "https://verdaccio.lossless.one/commander/-/commander-2.20.1.tgz",
|
||||||
"integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==",
|
"integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg=="
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"concat-map": {
|
"concat-map": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
@ -850,7 +868,6 @@
|
|||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://verdaccio.lossless.one/defaults/-/defaults-1.0.3.tgz",
|
"resolved": "https://verdaccio.lossless.one/defaults/-/defaults-1.0.3.tgz",
|
||||||
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
|
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"clone": "^1.0.2"
|
"clone": "^1.0.2"
|
||||||
}
|
}
|
||||||
@ -890,6 +907,12 @@
|
|||||||
"resolved": "https://verdaccio.lossless.one/esprima/-/esprima-4.0.1.tgz",
|
"resolved": "https://verdaccio.lossless.one/esprima/-/esprima-4.0.1.tgz",
|
||||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
|
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
|
||||||
},
|
},
|
||||||
|
"esutils": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/esutils/-/esutils-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"execa": {
|
"execa": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/execa/-/execa-1.0.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/execa/-/execa-1.0.0.tgz",
|
||||||
@ -1116,7 +1139,12 @@
|
|||||||
"isexe": {
|
"isexe": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/isexe/-/isexe-2.0.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/isexe/-/isexe-2.0.0.tgz",
|
||||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
|
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
|
||||||
|
},
|
||||||
|
"js-tokens": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"js-yaml": {
|
"js-yaml": {
|
||||||
@ -1179,7 +1207,6 @@
|
|||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/log-symbols/-/log-symbols-2.2.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/log-symbols/-/log-symbols-2.2.0.tgz",
|
||||||
"integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
|
"integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "^2.0.1"
|
"chalk": "^2.0.1"
|
||||||
}
|
}
|
||||||
@ -1254,6 +1281,23 @@
|
|||||||
"resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.10.tgz",
|
"resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.10.tgz",
|
||||||
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
|
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
|
||||||
},
|
},
|
||||||
|
"mkdirp": {
|
||||||
|
"version": "0.5.1",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||||
|
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"minimist": "0.0.8"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.8.tgz",
|
||||||
|
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"moment": {
|
"moment": {
|
||||||
"version": "2.24.0",
|
"version": "2.24.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/moment/-/moment-2.24.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/moment/-/moment-2.24.0.tgz",
|
||||||
@ -1332,7 +1376,6 @@
|
|||||||
"version": "3.4.0",
|
"version": "3.4.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/ora/-/ora-3.4.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/ora/-/ora-3.4.0.tgz",
|
||||||
"integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
|
"integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"cli-cursor": "^2.1.0",
|
"cli-cursor": "^2.1.0",
|
||||||
@ -1417,6 +1460,12 @@
|
|||||||
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
|
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"path-parse": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/path-parse/-/path-parse-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"pathval": {
|
"pathval": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/pathval/-/pathval-1.1.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/pathval/-/pathval-1.1.0.tgz",
|
||||||
@ -1455,6 +1504,15 @@
|
|||||||
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
|
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"resolve": {
|
||||||
|
"version": "1.12.0",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.12.0.tgz",
|
||||||
|
"integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"path-parse": "^1.0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"restore-cursor": {
|
"restore-cursor": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://verdaccio.lossless.one/restore-cursor/-/restore-cursor-2.0.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/restore-cursor/-/restore-cursor-2.0.0.tgz",
|
||||||
@ -1670,6 +1728,42 @@
|
|||||||
"resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.10.0.tgz",
|
"resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.10.0.tgz",
|
||||||
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
|
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
|
||||||
},
|
},
|
||||||
|
"tslint": {
|
||||||
|
"version": "5.20.0",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/tslint/-/tslint-5.20.0.tgz",
|
||||||
|
"integrity": "sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@babel/code-frame": "^7.0.0",
|
||||||
|
"builtin-modules": "^1.1.1",
|
||||||
|
"chalk": "^2.3.0",
|
||||||
|
"commander": "^2.12.1",
|
||||||
|
"diff": "^4.0.1",
|
||||||
|
"glob": "^7.1.1",
|
||||||
|
"js-yaml": "^3.13.1",
|
||||||
|
"minimatch": "^3.0.4",
|
||||||
|
"mkdirp": "^0.5.1",
|
||||||
|
"resolve": "^1.3.2",
|
||||||
|
"semver": "^5.3.0",
|
||||||
|
"tslib": "^1.8.0",
|
||||||
|
"tsutils": "^2.29.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tslint-config-prettier": {
|
||||||
|
"version": "1.18.0",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz",
|
||||||
|
"integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"tsutils": {
|
||||||
|
"version": "2.29.0",
|
||||||
|
"resolved": "https://verdaccio.lossless.one/tsutils/-/tsutils-2.29.0.tgz",
|
||||||
|
"integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^1.8.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"type-detect": {
|
"type-detect": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://verdaccio.lossless.one/type-detect/-/type-detect-4.0.8.tgz",
|
"resolved": "https://verdaccio.lossless.one/type-detect/-/type-detect-4.0.8.tgz",
|
||||||
@ -1706,7 +1800,6 @@
|
|||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://verdaccio.lossless.one/wcwidth/-/wcwidth-1.0.1.tgz",
|
"resolved": "https://verdaccio.lossless.one/wcwidth/-/wcwidth-1.0.1.tgz",
|
||||||
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
|
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"defaults": "^1.0.3"
|
"defaults": "^1.0.3"
|
||||||
}
|
}
|
||||||
@ -1715,7 +1808,6 @@
|
|||||||
"version": "1.3.1",
|
"version": "1.3.1",
|
||||||
"resolved": "https://verdaccio.lossless.one/which/-/which-1.3.1.tgz",
|
"resolved": "https://verdaccio.lossless.one/which/-/which-1.3.1.tgz",
|
||||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"isexe": "^2.0.0"
|
"isexe": "^2.0.0"
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,9 @@
|
|||||||
"@gitzone/tsrun": "^1.2.8",
|
"@gitzone/tsrun": "^1.2.8",
|
||||||
"@gitzone/tstest": "^1.0.28",
|
"@gitzone/tstest": "^1.0.28",
|
||||||
"@pushrocks/tapbundle": "^3.0.13",
|
"@pushrocks/tapbundle": "^3.0.13",
|
||||||
"@types/node": "^12.7.9"
|
"@types/node": "^12.7.9",
|
||||||
|
"tslint": "^5.20.0",
|
||||||
|
"tslint-config-prettier": "^1.18.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pushrocks/lik": "^3.0.11",
|
"@pushrocks/lik": "^3.0.11",
|
||||||
@ -38,6 +40,7 @@
|
|||||||
"@pushrocks/smarthbs": "^2.0.8",
|
"@pushrocks/smarthbs": "^2.0.8",
|
||||||
"@pushrocks/smartinteract": "^2.0.4",
|
"@pushrocks/smartinteract": "^2.0.4",
|
||||||
"@pushrocks/smartpromise": "^3.0.6",
|
"@pushrocks/smartpromise": "^3.0.6",
|
||||||
|
"@pushrocks/smartshell": "^2.0.25",
|
||||||
"@pushrocks/smartyaml": "^2.0.3"
|
"@pushrocks/smartyaml": "^2.0.3"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
@ -8,3 +8,6 @@ defaults:
|
|||||||
dependencies:
|
dependencies:
|
||||||
merge:
|
merge:
|
||||||
- ../test_template_2
|
- ../test_template_2
|
||||||
|
|
||||||
|
runafter:
|
||||||
|
- npm install
|
1
ts/interfaces/index.ts
Normal file
1
ts/interfaces/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './smartscaf';
|
7
ts/interfaces/smartscaf.ts
Normal file
7
ts/interfaces/smartscaf.ts
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export interface ISmartscafFile {
|
||||||
|
defaults: {[key:string]: string};
|
||||||
|
dependencies: {
|
||||||
|
merge: string[];
|
||||||
|
};
|
||||||
|
runafter: string[];
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
import * as plugins from './smartscaf.plugins';
|
import * as plugins from './smartscaf.plugins';
|
||||||
|
import * as interfaces from './interfaces';
|
||||||
import * as helpers from './smartscaf.helpers';
|
import * as helpers from './smartscaf.helpers';
|
||||||
|
|
||||||
// interfaces
|
// interfaces
|
||||||
@ -11,31 +12,37 @@ export interface ScafTemplateContructorOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class ScafTemplate {
|
export class ScafTemplate {
|
||||||
static async createTemplateFromDir() {}
|
public static async createTemplateFromDir() {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the name of the template
|
* the name of the template
|
||||||
*/
|
*/
|
||||||
name: string;
|
public name: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the descriptions of the template
|
* the descriptions of the template
|
||||||
*/
|
*/
|
||||||
description: string;
|
public description: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the location on disk of the template
|
* the location on disk of the template
|
||||||
*/
|
*/
|
||||||
dirPath: string;
|
public dirPath: string;
|
||||||
|
public destinationPath: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* smartscafFile
|
||||||
|
*/
|
||||||
|
public smartscafFile: interfaces.ISmartscafFile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the files of the template as array of Smartfiles
|
* the files of the template as array of Smartfiles
|
||||||
*/
|
*/
|
||||||
templateSmartfileArray: Smartfile[];
|
public templateSmartfileArray: Smartfile[];
|
||||||
requiredVariables: string[];
|
public requiredVariables: string[];
|
||||||
defaultVariables: any;
|
public defaultVariables: any;
|
||||||
suppliedVariables: any = {};
|
public suppliedVariables: any = {};
|
||||||
missingVariables: string[] = [];
|
public missingVariables: string[] = [];
|
||||||
|
|
||||||
constructor(dirPathArg: string) {
|
constructor(dirPathArg: string) {
|
||||||
this.dirPath = plugins.path.resolve(dirPathArg);
|
this.dirPath = plugins.path.resolve(dirPathArg);
|
||||||
@ -44,8 +51,30 @@ export class ScafTemplate {
|
|||||||
/**
|
/**
|
||||||
* read a template from a directory
|
* read a template from a directory
|
||||||
*/
|
*/
|
||||||
async readTemplateFromDir() {
|
public async readTemplateFromDir() {
|
||||||
this.templateSmartfileArray = await plugins.smartfile.fs.fileTreeToObject(this.dirPath, '**/*');
|
this.templateSmartfileArray = await plugins.smartfile.fs.fileTreeToObject(this.dirPath, '**/*');
|
||||||
|
|
||||||
|
// read .smartscaf.yml file
|
||||||
|
let smartscafFile: interfaces.ISmartscafFile = {
|
||||||
|
defaults: {},
|
||||||
|
dependencies: {
|
||||||
|
merge: []
|
||||||
|
},
|
||||||
|
runafter: []
|
||||||
|
};
|
||||||
|
|
||||||
|
const smartscafSmartfile = this.templateSmartfileArray.find(smartfileArg => {
|
||||||
|
return smartfileArg.parsedPath.base === '.smartscaf.yml';
|
||||||
|
});
|
||||||
|
|
||||||
|
if (smartscafSmartfile) {
|
||||||
|
smartscafFile = {
|
||||||
|
...smartscafFile,
|
||||||
|
...await plugins.smartyaml.yamlStringToObject(smartscafSmartfile.contentBuffer.toString())
|
||||||
|
};
|
||||||
|
}
|
||||||
|
this.smartscafFile = smartscafFile;
|
||||||
|
|
||||||
await this._resolveTemplateDependencies();
|
await this._resolveTemplateDependencies();
|
||||||
await this._findVariablesInTemplate();
|
await this._findVariablesInTemplate();
|
||||||
await this._checkSuppliedVariables();
|
await this._checkSuppliedVariables();
|
||||||
@ -56,7 +85,7 @@ export class ScafTemplate {
|
|||||||
* supply the variables to render the teplate with
|
* supply the variables to render the teplate with
|
||||||
* @param variablesArg gets merged with this.suppliedVariables
|
* @param variablesArg gets merged with this.suppliedVariables
|
||||||
*/
|
*/
|
||||||
async supplyVariables(variablesArg) {
|
public async supplyVariables(variablesArg) {
|
||||||
this.suppliedVariables = {
|
this.suppliedVariables = {
|
||||||
...this.suppliedVariables,
|
...this.suppliedVariables,
|
||||||
...variablesArg
|
...variablesArg
|
||||||
@ -67,10 +96,10 @@ export class ScafTemplate {
|
|||||||
/**
|
/**
|
||||||
* Will ask for the missing variables by cli interaction
|
* Will ask for the missing variables by cli interaction
|
||||||
*/
|
*/
|
||||||
async askCliForMissingVariables() {
|
public async askCliForMissingVariables() {
|
||||||
this.missingVariables = await this._checkSuppliedVariables();
|
this.missingVariables = await this._checkSuppliedVariables();
|
||||||
let localSmartInteract = new plugins.smartinteract.SmartInteract();
|
const localSmartInteract = new plugins.smartinteract.SmartInteract();
|
||||||
for (let missingVariable of this.missingVariables) {
|
for (const missingVariable of this.missingVariables) {
|
||||||
localSmartInteract.addQuestions([
|
localSmartInteract.addQuestions([
|
||||||
{
|
{
|
||||||
name: missingVariable,
|
name: missingVariable,
|
||||||
@ -86,7 +115,7 @@ export class ScafTemplate {
|
|||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
let answerBucket = await localSmartInteract.runQueue();
|
const answerBucket = await localSmartInteract.runQueue();
|
||||||
await answerBucket.answerMap.forEach(async answer => {
|
await answerBucket.answerMap.forEach(async answer => {
|
||||||
await helpers.deepAddToObject(this.suppliedVariables, answer.name, answer.value);
|
await helpers.deepAddToObject(this.suppliedVariables, answer.name, answer.value);
|
||||||
});
|
});
|
||||||
@ -96,23 +125,24 @@ export class ScafTemplate {
|
|||||||
* writes a file to disk
|
* writes a file to disk
|
||||||
* @param destinationDirArg
|
* @param destinationDirArg
|
||||||
*/
|
*/
|
||||||
async writeToDisk(destinationDirArg) {
|
public async writeToDisk(destinationDirArg) {
|
||||||
|
this.destinationPath = destinationDirArg;
|
||||||
const smartfileArrayToWrite: Smartfile[] = [];
|
const smartfileArrayToWrite: Smartfile[] = [];
|
||||||
for (let smartfile of this.templateSmartfileArray) {
|
for (const smartfile of this.templateSmartfileArray) {
|
||||||
// lets filter out template files
|
// lets filter out template files
|
||||||
if (smartfile.path === '.smartscaf.yml') {
|
if (smartfile.path === '.smartscaf.yml') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// render the template
|
// render the template
|
||||||
let template = await plugins.smarthbs.getTemplateForString(smartfile.contents.toString());
|
const template = await plugins.smarthbs.getTemplateForString(smartfile.contents.toString());
|
||||||
let renderedTemplateString = template(this.suppliedVariables);
|
const renderedTemplateString = template(this.suppliedVariables);
|
||||||
|
|
||||||
// handle frontmatter
|
// handle frontmatter
|
||||||
const smartfmInstance = new plugins.smartfm.Smartfm({
|
const smartfmInstance = new plugins.smartfm.Smartfm({
|
||||||
fmType: 'yaml'
|
fmType: 'yaml'
|
||||||
});
|
});
|
||||||
let parsedTemplate = smartfmInstance.parse(renderedTemplateString) as any;
|
const parsedTemplate = smartfmInstance.parse(renderedTemplateString) as any;
|
||||||
if (parsedTemplate.data.fileName) {
|
if (parsedTemplate.data.fileName) {
|
||||||
smartfile.updateFileName(parsedTemplate.data.fileName);
|
smartfile.updateFileName(parsedTemplate.data.fileName);
|
||||||
}
|
}
|
||||||
@ -122,6 +152,7 @@ export class ScafTemplate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await plugins.smartfile.memory.smartfileArrayToFs(smartfileArrayToWrite, destinationDirArg);
|
await plugins.smartfile.memory.smartfileArrayToFs(smartfileArrayToWrite, destinationDirArg);
|
||||||
|
await this.runScripts();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -130,8 +161,8 @@ export class ScafTemplate {
|
|||||||
*/
|
*/
|
||||||
private async _findVariablesInTemplate() {
|
private async _findVariablesInTemplate() {
|
||||||
let templateVariables: string[] = [];
|
let templateVariables: string[] = [];
|
||||||
for (let templateSmartfile of this.templateSmartfileArray) {
|
for (const templateSmartfile of this.templateSmartfileArray) {
|
||||||
let localTemplateVariables = await plugins.smarthbs.findVarsInHbsString(
|
const localTemplateVariables = await plugins.smarthbs.findVarsInHbsString(
|
||||||
templateSmartfile.contents.toString()
|
templateSmartfile.contents.toString()
|
||||||
);
|
);
|
||||||
templateVariables = [...templateVariables, ...localTemplateVariables];
|
templateVariables = [...templateVariables, ...localTemplateVariables];
|
||||||
@ -146,8 +177,8 @@ export class ScafTemplate {
|
|||||||
*/
|
*/
|
||||||
private async _checkSuppliedVariables() {
|
private async _checkSuppliedVariables() {
|
||||||
let missingVars: string[] = [];
|
let missingVars: string[] = [];
|
||||||
for (let templateSmartfile of this.templateSmartfileArray) {
|
for (const templateSmartfile of this.templateSmartfileArray) {
|
||||||
let localMissingVars = await plugins.smarthbs.checkVarsSatisfaction(
|
const localMissingVars = await plugins.smarthbs.checkVarsSatisfaction(
|
||||||
templateSmartfile.contents.toString(),
|
templateSmartfile.contents.toString(),
|
||||||
this.suppliedVariables
|
this.suppliedVariables
|
||||||
);
|
);
|
||||||
@ -176,7 +207,7 @@ export class ScafTemplate {
|
|||||||
* >> - yourDeeperKey: yourValue
|
* >> - yourDeeperKey: yourValue
|
||||||
*/
|
*/
|
||||||
private async _checkDefaultVariables() {
|
private async _checkDefaultVariables() {
|
||||||
let smartscafSmartfile = this.templateSmartfileArray.find(smartfileArg => {
|
const smartscafSmartfile = this.templateSmartfileArray.find(smartfileArg => {
|
||||||
return smartfileArg.parsedPath.base === '.smartscaf.yml';
|
return smartfileArg.parsedPath.base === '.smartscaf.yml';
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -199,23 +230,8 @@ export class ScafTemplate {
|
|||||||
* resolve template dependencies
|
* resolve template dependencies
|
||||||
*/
|
*/
|
||||||
private async _resolveTemplateDependencies() {
|
private async _resolveTemplateDependencies() {
|
||||||
const smartscafSmartfile = this.templateSmartfileArray.find(smartfileArg => {
|
|
||||||
return smartfileArg.parsedPath.base === '.smartscaf.yml';
|
|
||||||
});
|
|
||||||
if (!smartscafSmartfile) {
|
|
||||||
console.log('No further template dependencies defined!');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
console.log('Found template dependencies! Resolving them now!');
|
|
||||||
console.log('looking at templates to merge!');
|
console.log('looking at templates to merge!');
|
||||||
const smartscafYamlObject = await plugins.smartyaml.yamlStringToObject(
|
for (const dependency of this.smartscafFile.dependencies.merge) {
|
||||||
smartscafSmartfile.contentBuffer.toString()
|
|
||||||
);
|
|
||||||
if (!smartscafYamlObject) {
|
|
||||||
console.log('Something seems strange about the supplied dependencies.yml file.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (const dependency of smartscafYamlObject.dependencies.merge) {
|
|
||||||
console.log(`Now resolving ${dependency}`);
|
console.log(`Now resolving ${dependency}`);
|
||||||
const templatePathToMerge = plugins.path.join(this.dirPath, dependency);
|
const templatePathToMerge = plugins.path.join(this.dirPath, dependency);
|
||||||
if (!plugins.smartfile.fs.isDirectory(templatePathToMerge)) {
|
if (!plugins.smartfile.fs.isDirectory(templatePathToMerge)) {
|
||||||
@ -231,4 +247,16 @@ export class ScafTemplate {
|
|||||||
this.templateSmartfileArray = this.templateSmartfileArray.concat(templateSmartfileArray);
|
this.templateSmartfileArray = this.templateSmartfileArray.concat(templateSmartfileArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async runScripts () {
|
||||||
|
if (!this.destinationPath) {
|
||||||
|
throw new Error('cannot run scripts without an destinationdir');
|
||||||
|
}
|
||||||
|
const smartshellInstance = new plugins.smartshell.Smartshell({
|
||||||
|
executor: 'bash'
|
||||||
|
});
|
||||||
|
for (const command of this.smartscafFile.runafter) {
|
||||||
|
await smartshellInstance.exec(`cd ${this.destinationPath} && ${command}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,5 +6,6 @@ import * as smarthbs from '@pushrocks/smarthbs';
|
|||||||
import * as smartinteract from '@pushrocks/smartinteract';
|
import * as smartinteract from '@pushrocks/smartinteract';
|
||||||
import * as smartq from '@pushrocks/smartpromise';
|
import * as smartq from '@pushrocks/smartpromise';
|
||||||
import * as smartyaml from '@pushrocks/smartyaml';
|
import * as smartyaml from '@pushrocks/smartyaml';
|
||||||
|
import * as smartshell from '@pushrocks/smartshell';
|
||||||
|
|
||||||
export { path, lik, smartfile, smartfm, smarthbs, smartinteract, smartq, smartyaml };
|
export { path, lik, smartfile, smartfm, smarthbs, smartinteract, smartq, smartyaml, smartshell };
|
||||||
|
Loading…
Reference in New Issue
Block a user