This commit is contained in:
Christopher Anderson 2019-11-22 17:40:26 -08:00 коммит произвёл Chris McConnell
Родитель 455e79e8ad
Коммит ecbfe12015
7 изменённых файлов: 154 добавлений и 143 удалений

2
.gitignore поставляемый
Просмотреть файл

@ -73,8 +73,6 @@ package-lock.json
#tsconfig.tsbuildinfo
tsconfig.tsbuildinfo
#vscode files
.vscode
packages/dialog/test/commands/dialog/projects/obj/Debug/netcoreapp2.1/LUISGen.csproj.CoreCompileInputs.cache
packages/dialog/test/commands/dialog/projects/obj/Debug/netcoreapp2.1/LUISGen.AssemblyInfo.cs
packages/dialog/test/commands/dialog/projects/obj/Debug/netcoreapp2.1/LUISGen.AssemblyInfoInputs.cache

Просмотреть файл

@ -8,59 +8,67 @@
"type": "node",
"request": "launch",
"name": "Dialog Merge Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/packages/dialog/node_modules/mocha/bin/_mocha",
"cwd": "${workspaceFolder}/packages/dialog",
"args": [
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/test/commands/dialog/merge.test.ts"
"-g",
".*Test schema merge.*"
],
"internalConsoleOptions": "openOnSessionStart"
"internalConsoleOptions": "openOnSessionStart",
"sourceMaps": true,
"outFiles": [
"./package/dialog/lib/**"
]
},
{
"type": "node",
"request": "launch",
"name": "Dialog Verify Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"cwd": "${workspaceFolder}",
"sourceMaps": false,
"program": "${workspaceFolder}/packages/dialog/node_modules/mocha/bin/_mocha",
"cwd": "${workspaceFolder}/packages/dialog",
"args": [
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/test/commands/dialog/verify.test.ts"
"-g",
".*dialog:verify.*"
],
"internalConsoleOptions": "openOnSessionStart"
"internalConsoleOptions": "openOnSessionStart",
"sourceMaps": true,
"outFiles": [
"./package/dialog/lib/**"
]
},
{
"type": "node",
"request": "launch",
"name": "Dialog Generator Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"preLaunchTask": "tsc: build - tsconfig.json",
"program": "${workspaceFolder}/packages/dialog/node_modules/mocha/bin/_mocha",
"args": [
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/test/commands/dialog/generator.test.ts"
],
"internalConsoleOptions": "openOnSessionStart"
"internalConsoleOptions": "openOnSessionStart",
"sourceMaps": true,
"outFiles": [
"./package/dialog/lib/**"
]
},
// TODO: (chrande) Keeping these but they should probably be rewritten to work on more
// just chrismc's dev machine.
{
"type": "node",
"request": "launch",
"name": "BotBuilder schema",
"program": "${workspaceFolder}/bin/run",
"preLaunchTask": "tsc: build - tsconfig.json",
"program": "${workspaceFolder}/packages/dialog/bin/run",
"outFiles": [
"${workspaceFolder}/lib/**/*.js"
"${workspaceFolder}/packages/dialog/lib/**/*.js"
],
"args": [
"dialog:merge",
@ -77,14 +85,14 @@
"type": "node",
"request": "launch",
"name": "Generate Sandwich Form",
"program": "${workspaceFolder}/bin/run",
"preLaunchTask": "tsc: build - tsconfig.json",
"program": "${workspaceFolder}/packages/dialog/bin/run",
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/lib/**/*.js"
"${workspaceFolder}/packages/dialog/lib/**/*.js"
],
"args": [
"dialog:generate",
"${workspaceFolder}/test/commands/dialog/forms/sandwich.form.dialog",
"${workspaceFolder}/packages/dialog/test/commands/dialog/forms/sandwich.form.dialog",
"-o",
"${env:TEMP}/sandwich.out",
"--force",
@ -96,14 +104,14 @@
"type": "node",
"request": "launch",
"name": "Generate Activity Form",
"program": "${workspaceFolder}/bin/run",
"program": "${workspaceFolder}/packages/dialog/bin/run",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}/lib/**/*.js"
"${workspaceFolder}/packages/dialog/lib/**/*.js"
],
"args": [
"dialog:generate",
"${workspaceFolder}/test/commands/dialog/forms/activity.form.dialog",
"${workspaceFolder}/packages/dialog/test/commands/dialog/forms/activity.form.dialog",
"-o",
"${env:TEMP}/activity.out",
"--force",
@ -117,14 +125,13 @@
"type": "node",
"request": "launch",
"name": "Generate Contact Form",
"program": "${workspaceFolder}/bin/run",
"preLaunchTask": "tsc: build - tsconfig.json",
"program": "${workspaceFolder}/packages/dialog/bin/run",
"outFiles": [
"${workspaceFolder}/lib/**/*.js"
"${workspaceFolder}/packages/dialog/lib/**/*.js"
],
"args": [
"dialog:generate",
"${workspaceFolder}/test/commands/dialog/forms/contact.form.dialog",
"${workspaceFolder}/packages/dialog/test/commands/dialog/forms/contact.form.dialog",
"-o",
"${env:TEMP}/contact.out",
"--force",
@ -138,14 +145,13 @@
"type": "node",
"request": "launch",
"name": "Generate Opportunity Form",
"program": "${workspaceFolder}/bin/run",
"preLaunchTask": "tsc: build - tsconfig.json",
"program": "${workspaceFolder}/packages/dialog/bin/run",
"outFiles": [
"${workspaceFolder}/lib/**/*.js"
"${workspaceFolder}/packages/dialog/lib/**/*.js"
],
"args": [
"dialog:generate",
"${workspaceFolder}/test/commands/dialog/forms/opportunity.form.dialog",
"${workspaceFolder}/packages/dialog/test/commands/dialog/forms/opportunity.form.dialog",
"-o",
"${env:TEMP}/opportunity.out",
"--force",

4
.vscode/settings.json поставляемый Normal file
Просмотреть файл

@ -0,0 +1,4 @@
{
"typescript.disableAutomaticTypeAcquisition": true,
"npm.packageManager": "npm"
}

Просмотреть файл

@ -25,7 +25,7 @@ dependencies:
applicationinsights: 1.6.0
await-delay: 1.0.0
azure-cognitiveservices-luis-authoring: 2.1.1
botframework-schema: 4.6.1
botframework-schema: 4.6.2
camelcase: 4.1.0
chai: 4.2.0
cli-table3: 0.5.1
@ -74,35 +74,35 @@ packages:
dev: false
resolution:
integrity: sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
/@babel/generator/7.7.2:
/@babel/generator/7.7.4:
dependencies:
'@babel/types': 7.7.2
'@babel/types': 7.7.4
jsesc: 2.5.2
lodash: 4.17.15
source-map: 0.5.7
dev: false
resolution:
integrity: sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ==
/@babel/helper-function-name/7.7.0:
integrity: sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==
/@babel/helper-function-name/7.7.4:
dependencies:
'@babel/helper-get-function-arity': 7.7.0
'@babel/template': 7.7.0
'@babel/types': 7.7.2
'@babel/helper-get-function-arity': 7.7.4
'@babel/template': 7.7.4
'@babel/types': 7.7.4
dev: false
resolution:
integrity: sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q==
/@babel/helper-get-function-arity/7.7.0:
integrity: sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==
/@babel/helper-get-function-arity/7.7.4:
dependencies:
'@babel/types': 7.7.2
'@babel/types': 7.7.4
dev: false
resolution:
integrity: sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw==
/@babel/helper-split-export-declaration/7.7.0:
integrity: sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==
/@babel/helper-split-export-declaration/7.7.4:
dependencies:
'@babel/types': 7.7.2
'@babel/types': 7.7.4
dev: false
resolution:
integrity: sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA==
integrity: sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==
/@babel/highlight/7.5.0:
dependencies:
chalk: 2.4.2
@ -111,48 +111,48 @@ packages:
dev: false
resolution:
integrity: sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
/@babel/parser/7.7.3:
/@babel/parser/7.7.4:
dev: false
engines:
node: '>=6.0.0'
hasBin: true
resolution:
integrity: sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A==
/@babel/template/7.7.0:
integrity: sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==
/@babel/template/7.7.4:
dependencies:
'@babel/code-frame': 7.5.5
'@babel/parser': 7.7.3
'@babel/types': 7.7.2
'@babel/parser': 7.7.4
'@babel/types': 7.7.4
dev: false
resolution:
integrity: sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ==
/@babel/traverse/7.7.2:
integrity: sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==
/@babel/traverse/7.7.4:
dependencies:
'@babel/code-frame': 7.5.5
'@babel/generator': 7.7.2
'@babel/helper-function-name': 7.7.0
'@babel/helper-split-export-declaration': 7.7.0
'@babel/parser': 7.7.3
'@babel/types': 7.7.2
'@babel/generator': 7.7.4
'@babel/helper-function-name': 7.7.4
'@babel/helper-split-export-declaration': 7.7.4
'@babel/parser': 7.7.4
'@babel/types': 7.7.4
debug: 4.1.1
globals: 11.12.0
lodash: 4.17.15
dev: false
resolution:
integrity: sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw==
/@babel/types/7.7.2:
integrity: sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==
/@babel/types/7.7.4:
dependencies:
esutils: 2.0.3
lodash: 4.17.15
to-fast-properties: 2.0.0
dev: false
resolution:
integrity: sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA==
integrity: sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==
/@christopheranderson/botbuilder-lg/4.7.0-a0-b6513caa:
dependencies:
'@christopheranderson/botframework-expressions': 4.7.0-a0-b6513caa
antlr4ts: 0.5.0-alpha.1
botbuilder-core: 4.6.1
botbuilder-core: 4.6.2
lodash: 4.17.15
uuid: 3.3.3
dev: false
@ -347,7 +347,7 @@ packages:
/@oclif/plugin-help/2.2.1:
dependencies:
'@oclif/command': 1.5.19
chalk: 2.4.1
chalk: 2.4.2
indent-string: 3.2.0
lodash.template: 4.5.0
string-width: 3.1.0
@ -466,7 +466,7 @@ packages:
dependencies:
'@types/events': 3.0.0
'@types/minimatch': 3.0.3
'@types/node': 12.12.11
'@types/node': 12.12.12
dev: false
resolution:
integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
@ -513,10 +513,10 @@ packages:
dev: false
resolution:
integrity: sha512-BqCU9uIFkUH9Sgo2uLYbmIiFB1T+VBiM8AI/El3LIAI5KzwtckeSG+3WOYZr9aMoX4UIvRFBWBeSaOu6hFue2Q==
/@types/node/12.12.11:
/@types/node/12.12.12:
dev: false
resolution:
integrity: sha512-O+x6uIpa6oMNTkPuHDa9MhMMehlxLAd5QcOvKRjAFsBVpeFWTOPnXbDvILvFgFFZfQ1xh1EZi1FbXxUix+zpsQ==
integrity: sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ==
/@types/proxyquire/1.3.28:
dev: false
resolution:
@ -542,7 +542,7 @@ packages:
integrity: sha512-WxwTXnHTIsk7srax1icjLgX+6w1MUAJbhyCpRP/45paEElsPDQUJZDgr1UpKuL2S3Tb+ZyX9MjWwmcSD4bUoOQ==
/@types/xml2js/0.4.5:
dependencies:
'@types/node': 12.12.11
'@types/node': 12.12.12
dev: false
resolution:
integrity: sha512-yohU3zMn0fkhlape1nxXG2bLEGZRc1FeqF80RoHaYXJN7uibaauXfhzhOJr1Xh36sn+/tx21QAOf07b/xYVk1w==
@ -817,17 +817,17 @@ packages:
dev: false
resolution:
integrity: sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==
/botbuilder-core/4.6.1:
/botbuilder-core/4.6.2:
dependencies:
assert: 1.5.0
botframework-schema: 4.6.1
botframework-schema: 4.6.2
dev: false
resolution:
integrity: sha512-PsGsh1jWY7TjTGx9ZdPp6Rmep+8upatRZiKvVw2yY/sN8asfSgaHAzheTwz0e24ZKxXzoU+GV2ozKe2ctxzlWg==
/botframework-schema/4.6.1:
integrity: sha512-Y81wWjyodNmGaI0ST05dPpuTP/yjrgLMK1MlHn7GwLitKoBaK8HTHurnBwGF1Mj4OTskb/DAQTB99X+sZg4LHw==
/botframework-schema/4.6.2:
dev: false
resolution:
integrity: sha512-/01Si3tmNr2QrhSQhB2RnVStl4/tOy2rTY74XBRYHjEGFWr1kkQVjlwbQS0OaZFMgznVxtgPtpLkXLf6BSq1sQ==
integrity: sha512-je27+DnZQBVuQ0alO7dR0Ld5BRz6wQ+WA2FHjwoQe5U1MbGT8GV/U7LzdLcu5q5s7DBsfGGscAvD/XTdsnTDqw==
/brace-expansion/1.1.11:
dependencies:
balanced-match: 1.0.0
@ -1630,7 +1630,7 @@ packages:
'@types/lodash': 4.14.149
'@types/mocha': 5.2.7
'@types/nock': 11.1.0
'@types/node': 12.12.11
'@types/node': 12.12.12
'@types/sinon': 7.5.1
lodash: 4.17.15
mock-stdin: 0.3.1
@ -2535,11 +2535,11 @@ packages:
integrity: sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==
/istanbul-lib-instrument/3.3.0:
dependencies:
'@babel/generator': 7.7.2
'@babel/parser': 7.7.3
'@babel/template': 7.7.0
'@babel/traverse': 7.7.2
'@babel/types': 7.7.2
'@babel/generator': 7.7.4
'@babel/parser': 7.7.4
'@babel/template': 7.7.4
'@babel/traverse': 7.7.4
'@babel/types': 7.7.4
istanbul-lib-coverage: 2.0.5
semver: 6.3.0
dev: false
@ -4555,7 +4555,7 @@ packages:
dependencies:
'@babel/code-frame': 7.5.5
builtin-modules: 1.1.1
chalk: 2.4.1
chalk: 2.4.2
commander: 2.20.3
diff: 4.0.1
glob: 7.1.6
@ -4996,7 +4996,7 @@ packages:
'@types/mocha': 5.2.7
'@types/node': 10.17.5
'@types/rimraf': 2.0.3
botframework-schema: 4.6.1
botframework-schema: 4.6.2
chai: 4.2.0
chalk: 2.4.1
cli-table3: 0.5.1
@ -5285,6 +5285,7 @@ packages:
integrity: sha512-nTNbavQ8voUiv6ZouZE0ZWE1jMv5WvyXCelsyjCiLVMn6ghXuU/zPD7PhxVjvksLAY1+/4CEGjvvROFRW6sYbg==
tarball: 'file:projects/botframework-cli.tgz'
version: 0.0.0
registry: ''
specifiers:
'@christopheranderson/botbuilder-lg': 4.7.0-a0-b6513caa
'@christopheranderson/botframework-expressions': 4.7.0-a0-b6513caa

Просмотреть файл

@ -8,25 +8,6 @@ import * as gen from '../../library/dialogGenerator'
import * as ppath from 'path'
export default class GenerateDialog extends Command {
static description = '[PREVIEW] Generate localized .lu, .lg, .qna and .dialog assets to define a bot based on a schema using templates.'
static examples = [`
$ bf dialog:generate sandwich.schema --output c:/tmp
`]
static args = [
{ name: 'schema', required: true, description: 'JSON Schema file used to drive generation.' }
]
static flags: flags.Input<any> = {
force: flags.boolean({ char: 'f', description: 'Force overwriting generated files.' }),
help: flags.help({ char: 'h' }),
locale: flags.string({ char: 'l', description: 'Locales to generate. [default: en-us]', multiple: true }),
output: flags.string({ char: 'o', description: 'Output path for where to put generated .lu, .lg, .qna and .dialog files. [default: ./<form>-resources]', default: '.', required: false }),
schema: flags.string({ char: 's', description: 'Path to your app.schema file.', required: false }),
templates: flags.string({ char: 't', description: 'Directory with templates to use for generating form assets.', multiple: true }),
verbose: flags.boolean({ description: 'Output verbose logging of files as they are processed', default: false }),
}
async run() {
const { args, flags } = this.parse(GenerateDialog)
@ -57,4 +38,24 @@ export default class GenerateDialog extends Command {
progress(msg: string): void {
this.error(msg)
}
static description = '[PREVIEW] Generate localized .lu, .lg, .qna and .dialog assets to define a bot based on a schema using templates.'
static examples = [`
$ bf dialog:generate sandwich.schema --output c:/tmp
`]
static args = [
{ name: 'schema', required: true, description: 'JSON Schema file used to drive generation.' }
]
static flags: flags.Input<any> = {
force: flags.boolean({ char: 'f', description: 'Force overwriting generated files.' }),
help: flags.help({ char: 'h' }),
locale: flags.string({ char: 'l', description: 'Locales to generate. [default: en-us]', multiple: true }),
output: flags.string({ char: 'o', description: 'Output path for where to put generated .lu, .lg, .qna and .dialog files. [default: ./<form>-resources]', default: '.', required: false }),
schema: flags.string({ char: 's', description: 'Path to your app.schema file.', required: false }),
templates: flags.string({ char: 't', description: 'Directory with templates to use for generating form assets.', multiple: true }),
verbose: flags.boolean({ description: 'Output verbose logging of files as they are processed', default: false }),
}
}

Просмотреть файл

@ -20,26 +20,6 @@ let exec: any = util.promisify(require('child_process').exec)
export default class DialogMerge extends Command {
static args = [
{ name: 'glob1', required: true },
{ name: 'glob2', required: false },
{ name: 'glob3', required: false },
{ name: 'glob4', required: false },
{ name: 'glob5', required: false },
{ name: 'glob6', required: false },
{ name: 'glob7', required: false },
{ name: 'glob8', required: false },
{ name: 'glob9', required: false },
]
static flags: flags.Input<any> = {
help: flags.help({ char: 'h' }),
output: flags.string({ char: 'o', description: 'Output path and filename for merged schema. [default: app.schema]', default: 'app.schema', required: false }),
branch: flags.string({ char: 'b', description: 'The branch to use for the meta-schema component.schema.', default: 'master', required: false }),
update: flags.boolean({ char: 'u', description: 'Update .schema files to point the <branch> component.schema and regenerate component.schema if baseComponent.schema is present.', default: false, required: false }),
verbose: flags.boolean({ description: 'output verbose logging of files as they are processed', default: false }),
}
private verbose? = false
private failed = false
private missingTypes = new Set()
@ -553,4 +533,25 @@ export default class DialogMerge extends Command {
this.failed = true
}
static args = [
{ name: 'glob1', required: true },
{ name: 'glob2', required: false },
{ name: 'glob3', required: false },
{ name: 'glob4', required: false },
{ name: 'glob5', required: false },
{ name: 'glob6', required: false },
{ name: 'glob7', required: false },
{ name: 'glob8', required: false },
{ name: 'glob9', required: false },
]
static flags: flags.Input<any> = {
help: flags.help({ char: 'h' }),
output: flags.string({ char: 'o', description: 'Output path and filename for merged schema. [default: app.schema]', default: 'app.schema', required: false }),
branch: flags.string({ char: 'b', description: 'The branch to use for the meta-schema component.schema.', default: 'master', required: false }),
update: flags.boolean({ char: 'u', description: 'Update .schema files to point the <branch> component.schema and regenerate component.schema if baseComponent.schema is present.', default: false, required: false }),
verbose: flags.boolean({ description: 'output verbose logging of files as they are processed', default: false }),
}
}

Просмотреть файл

@ -11,23 +11,6 @@ import { Definition, DialogTracker, SchemaTracker } from '../../library/dialogTr
export default class DialogVerify extends Command {
static args = [
{ name: 'glob1', required: true },
{ name: 'glob2', required: false },
{ name: 'glob3', required: false },
{ name: 'glob4', required: false },
{ name: 'glob5', required: false },
{ name: 'glob6', required: false },
{ name: 'glob7', required: false },
{ name: 'glob8', required: false },
{ name: 'glob9', required: false },
]
static flags: flags.Input<any> = {
help: flags.help({ char: 'h' }),
verbose: flags.boolean({ description: 'Show verbose output', default: false }),
}
private currentFile = ''
private files = 0
private errors = 0
@ -115,4 +98,21 @@ export default class DialogVerify extends Command {
this.errors++
this.error(`${this.currentFile} - error ${code || ''}: ${msg}`)
}
static args = [
{ name: 'glob1', required: true },
{ name: 'glob2', required: false },
{ name: 'glob3', required: false },
{ name: 'glob4', required: false },
{ name: 'glob5', required: false },
{ name: 'glob6', required: false },
{ name: 'glob7', required: false },
{ name: 'glob8', required: false },
{ name: 'glob9', required: false },
]
static flags: flags.Input<any> = {
help: flags.help({ char: 'h' }),
verbose: flags.boolean({ description: 'Show verbose output', default: false }),
}
}