@webiny/cli-core 6.3.0-beta.4 → 6.4.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cli.js +12 -11
- package/Cli.js.map +1 -1
- package/abstractions/createAbstraction.js +3 -2
- package/abstractions/createAbstraction.js.map +1 -1
- package/abstractions/features/CliCommand.js +2 -4
- package/abstractions/features/CliCommand.js.map +1 -1
- package/abstractions/features/ErrorHandler.js +2 -1
- package/abstractions/features/ErrorHandler.js.map +1 -1
- package/abstractions/features/GlobalCliOption.js +2 -1
- package/abstractions/features/GlobalCliOption.js.map +1 -1
- package/abstractions/features/IsCi.js +2 -1
- package/abstractions/features/IsCi.js.map +1 -1
- package/abstractions/features/index.js +0 -2
- package/abstractions/features/types.js +0 -3
- package/abstractions/index.js +0 -2
- package/abstractions/services/ArgvParserService.js +2 -1
- package/abstractions/services/ArgvParserService.js.map +1 -1
- package/abstractions/services/CliParamsService.js +2 -1
- package/abstractions/services/CliParamsService.js.map +1 -1
- package/abstractions/services/CommandsRegistryService.js +2 -1
- package/abstractions/services/CommandsRegistryService.js.map +1 -1
- package/abstractions/services/GetArgvService.js +2 -1
- package/abstractions/services/GetArgvService.js.map +1 -1
- package/abstractions/services/GetCliRunnerService.js +2 -1
- package/abstractions/services/GetCliRunnerService.js.map +1 -1
- package/abstractions/services/GetIsCiService.js +2 -1
- package/abstractions/services/GetIsCiService.js.map +1 -1
- package/abstractions/services/GetProjectSdkService.js +2 -1
- package/abstractions/services/GetProjectSdkService.js.map +1 -1
- package/abstractions/services/GlobalOptionsRegistryService.js +2 -1
- package/abstractions/services/GlobalOptionsRegistryService.js.map +1 -1
- package/abstractions/services/LoggerService.js +2 -1
- package/abstractions/services/LoggerService.js.map +1 -1
- package/abstractions/services/RunCliRunnerService.js +2 -1
- package/abstractions/services/RunCliRunnerService.js.map +1 -1
- package/abstractions/services/StdioService.js +2 -1
- package/abstractions/services/StdioService.js.map +1 -1
- package/abstractions/services/UiService.js +2 -1
- package/abstractions/services/UiService.js.map +1 -1
- package/abstractions/services/index.js +0 -2
- package/createCliContainer.js +87 -113
- package/createCliContainer.js.map +1 -1
- package/decorators/CommandsWithGracefulErrorHandling.js +34 -32
- package/decorators/CommandsWithGracefulErrorHandling.js.map +1 -1
- package/decorators/DeployCommandWithTelemetry.js +72 -82
- package/decorators/DeployCommandWithTelemetry.js.map +1 -1
- package/decorators/index.js +0 -2
- package/exports/cli/command.js +0 -2
- package/exports/cli.js +0 -2
- package/extensions/CliCommand.js +15 -18
- package/extensions/CliCommand.js.map +1 -1
- package/extensions/CliCommandDecorator.js +15 -18
- package/extensions/CliCommandDecorator.js.map +1 -1
- package/extensions/index.js +5 -2
- package/extensions/index.js.map +1 -1
- package/features/AboutCommand.js +80 -86
- package/features/AboutCommand.js.map +1 -1
- package/features/BuildCommand/BuildCommand.js +46 -36
- package/features/BuildCommand/BuildCommand.js.map +1 -1
- package/features/BuildCommand/buildRunners/BaseBuildRunner.js +10 -13
- package/features/BuildCommand/buildRunners/BaseBuildRunner.js.map +1 -1
- package/features/BuildCommand/buildRunners/BuildRunner.js +18 -21
- package/features/BuildCommand/buildRunners/BuildRunner.js.map +1 -1
- package/features/BuildCommand/buildRunners/MultipleBuildsRunner.js +20 -19
- package/features/BuildCommand/buildRunners/MultipleBuildsRunner.js.map +1 -1
- package/features/BuildCommand/buildRunners/SingleBuildRunner.js +15 -14
- package/features/BuildCommand/buildRunners/SingleBuildRunner.js.map +1 -1
- package/features/BuildCommand/buildRunners/ZeroBuildsRunner.js +3 -4
- package/features/BuildCommand/buildRunners/ZeroBuildsRunner.js.map +1 -1
- package/features/BuildCommand/index.js +0 -2
- package/features/ConfigCommand.js +55 -56
- package/features/ConfigCommand.js.map +1 -1
- package/features/DeployCommand/DeployCommand.js +162 -156
- package/features/DeployCommand/DeployCommand.js.map +1 -1
- package/features/DeployCommand/deployOutputs/BaseDeployOutput.js +12 -17
- package/features/DeployCommand/deployOutputs/BaseDeployOutput.js.map +1 -1
- package/features/DeployCommand/deployOutputs/DeployOutput.js +16 -17
- package/features/DeployCommand/deployOutputs/DeployOutput.js.map +1 -1
- package/features/DeployCommand/deployOutputs/NoDeploymentLogsDeployOutput.js +89 -54
- package/features/DeployCommand/deployOutputs/NoDeploymentLogsDeployOutput.js.map +1 -1
- package/features/DeployCommand/deployOutputs/WithDeploymentLogsDeployOutput.js +24 -37
- package/features/DeployCommand/deployOutputs/WithDeploymentLogsDeployOutput.js.map +1 -1
- package/features/DeployCommand/index.js +0 -2
- package/features/DepsSync/BuildDependencyTree.js +16 -21
- package/features/DepsSync/BuildDependencyTree.js.map +1 -1
- package/features/DepsSync/DependencyTree.js +108 -126
- package/features/DepsSync/DependencyTree.js.map +1 -1
- package/features/DepsSync/ListAllPackageJsonFiles.js +19 -14
- package/features/DepsSync/ListAllPackageJsonFiles.js.map +1 -1
- package/features/DepsSync/ListAllPackages.js +7 -9
- package/features/DepsSync/ListAllPackages.js.map +1 -1
- package/features/DepsSync/commands/SyncDepsCommand.js +30 -24
- package/features/DepsSync/commands/SyncDepsCommand.js.map +1 -1
- package/features/DepsSync/commands/VerifyDepsCommand.js +69 -70
- package/features/DepsSync/commands/VerifyDepsCommand.js.map +1 -1
- package/features/DepsSync/createDependencyTree.js +25 -18
- package/features/DepsSync/createDependencyTree.js.map +1 -1
- package/features/DepsSync/createReferenceFile.js +21 -25
- package/features/DepsSync/createReferenceFile.js.map +1 -1
- package/features/DepsSync/index.js +0 -2
- package/features/DepsSync/paths.js +3 -6
- package/features/DepsSync/paths.js.map +1 -1
- package/features/DepsSync/types.js +7 -6
- package/features/DepsSync/types.js.map +1 -1
- package/features/DestroyCommand/DestroyCommand.js +71 -67
- package/features/DestroyCommand/DestroyCommand.js.map +1 -1
- package/features/DestroyCommand/index.js +0 -2
- package/features/DisableTelemetryCommand.js +28 -25
- package/features/DisableTelemetryCommand.js.map +1 -1
- package/features/EnableTelemetryCommand.js +28 -25
- package/features/EnableTelemetryCommand.js.map +1 -1
- package/features/ExtensionCommand/ExtensionCommand.js +60 -63
- package/features/ExtensionCommand/ExtensionCommand.js.map +1 -1
- package/features/ExtensionCommand/index.js +0 -2
- package/features/InfoCommand/InfoCommand.js +54 -56
- package/features/InfoCommand/InfoCommand.js.map +1 -1
- package/features/InfoCommand/PrintInfoForEnv.js +31 -47
- package/features/InfoCommand/PrintInfoForEnv.js.map +1 -1
- package/features/InfoCommand/index.js +0 -2
- package/features/IsCi/IsCi.js +14 -11
- package/features/IsCi/IsCi.js.map +1 -1
- package/features/IsCi/index.js +1 -3
- package/features/OpenCommand.js +48 -47
- package/features/OpenCommand.js.map +1 -1
- package/features/OutputCommand.js +56 -69
- package/features/OutputCommand.js.map +1 -1
- package/features/PulumiCommand/PulumiCommand.js +48 -41
- package/features/PulumiCommand/PulumiCommand.js.map +1 -1
- package/features/PulumiCommand/index.js +0 -2
- package/features/RefreshCommand/RefreshCommand.js +42 -36
- package/features/RefreshCommand/RefreshCommand.js.map +1 -1
- package/features/RefreshCommand/index.js +0 -2
- package/features/UpgradeCommand/UpgradeCommand.js +112 -101
- package/features/UpgradeCommand/UpgradeCommand.js.map +1 -1
- package/features/UpgradeCommand/UpgradeCommandHandler.js +90 -101
- package/features/UpgradeCommand/UpgradeCommandHandler.js.map +1 -1
- package/features/UpgradeCommand/abstraction.js +2 -1
- package/features/UpgradeCommand/abstraction.js.map +1 -1
- package/features/UpgradeCommand/feature.js +7 -6
- package/features/UpgradeCommand/feature.js.map +1 -1
- package/features/UpgradeCommand/index.js +0 -2
- package/features/WatchCommand/WatchCommand.js +131 -131
- package/features/WatchCommand/WatchCommand.js.map +1 -1
- package/features/WatchCommand/createPrefixer.js +11 -15
- package/features/WatchCommand/createPrefixer.js.map +1 -1
- package/features/WatchCommand/getRandomColorForString.js +86 -8
- package/features/WatchCommand/getRandomColorForString.js.map +1 -1
- package/features/WatchCommand/index.js +0 -2
- package/features/Wcp/LinkProjectCommand.js +119 -138
- package/features/Wcp/LinkProjectCommand.js.map +1 -1
- package/features/Wcp/LoginCommand.js +104 -118
- package/features/Wcp/LoginCommand.js.map +1 -1
- package/features/Wcp/LogoutCommand.js +29 -23
- package/features/Wcp/LogoutCommand.js.map +1 -1
- package/features/Wcp/WhoAmICommand.js +33 -29
- package/features/Wcp/WhoAmICommand.js.map +1 -1
- package/features/common/index.js +0 -2
- package/features/common/options.js +41 -50
- package/features/common/options.js.map +1 -1
- package/features/globalOptions/LogLevelGlobalOption.js +25 -16
- package/features/globalOptions/LogLevelGlobalOption.js.map +1 -1
- package/features/globalOptions/ShowLogsGlobalOption.js +16 -15
- package/features/globalOptions/ShowLogsGlobalOption.js.map +1 -1
- package/features/globalOptions/StackTraceGlobalOption.js +16 -15
- package/features/globalOptions/StackTraceGlobalOption.js.map +1 -1
- package/features/globalOptions/index.js +0 -2
- package/features/gracefulErrorHandlers/DdbPutItemConditionalCheckFailedGracefulErrorHandler.js +17 -16
- package/features/gracefulErrorHandlers/DdbPutItemConditionalCheckFailedGracefulErrorHandler.js.map +1 -1
- package/features/gracefulErrorHandlers/MissingFilesInBuildGracefulErrorHandler.js +12 -18
- package/features/gracefulErrorHandlers/MissingFilesInBuildGracefulErrorHandler.js.map +1 -1
- package/features/gracefulErrorHandlers/PendingOperationsGracefulErrorHandler.js +19 -19
- package/features/gracefulErrorHandlers/PendingOperationsGracefulErrorHandler.js.map +1 -1
- package/features/gracefulErrorHandlers/index.js +0 -2
- package/features/index.js +0 -2
- package/features/utils/index.js +0 -2
- package/features/utils/measureDuration.js +7 -8
- package/features/utils/measureDuration.js.map +1 -1
- package/index.js +0 -2
- package/package.json +10 -10
- package/services/ArgvParserService/ArgvParserService.js +27 -33
- package/services/ArgvParserService/ArgvParserService.js.map +1 -1
- package/services/ArgvParserService/index.js +0 -2
- package/services/CliParamsService/CliParamsService.js +18 -15
- package/services/CliParamsService/CliParamsService.js.map +1 -1
- package/services/CliParamsService/index.js +0 -2
- package/services/CommandsRegistryService/CommandsRegistryService.js +19 -13
- package/services/CommandsRegistryService/CommandsRegistryService.js.map +1 -1
- package/services/CommandsRegistryService/index.js +0 -2
- package/services/GetArgvService/GetArgvService.js +14 -11
- package/services/GetArgvService/GetArgvService.js.map +1 -1
- package/services/GetArgvService/index.js +0 -2
- package/services/GetCliRunnerService/GetCliRunnerService.js +119 -155
- package/services/GetCliRunnerService/GetCliRunnerService.js.map +1 -1
- package/services/GetCliRunnerService/index.js +0 -2
- package/services/GetIsCiService/GetIsCiService.js +9 -8
- package/services/GetIsCiService/GetIsCiService.js.map +1 -1
- package/services/GetIsCiService/index.js +1 -3
- package/services/GetProjectSdkService/GetProjectSdkService.js +25 -24
- package/services/GetProjectSdkService/GetProjectSdkService.js.map +1 -1
- package/services/GetProjectSdkService/index.js +0 -2
- package/services/GlobalOptionsRegistryService/GlobalOptionsRegistryService.js +19 -13
- package/services/GlobalOptionsRegistryService/GlobalOptionsRegistryService.js.map +1 -1
- package/services/GlobalOptionsRegistryService/index.js +0 -2
- package/services/LoggerService/LoggerService.js +75 -87
- package/services/LoggerService/LoggerService.js.map +1 -1
- package/services/LoggerService/index.js +0 -2
- package/services/RunCliRunnerService/RunCliRunnerService.js +15 -13
- package/services/RunCliRunnerService/RunCliRunnerService.js.map +1 -1
- package/services/RunCliRunnerService/index.js +0 -2
- package/services/StdioService/StdioService.js +15 -14
- package/services/StdioService/StdioService.js.map +1 -1
- package/services/StdioService/index.js +0 -2
- package/services/UiService/UiService.js +55 -58
- package/services/UiService/UiService.js.map +1 -1
- package/services/UiService/index.js +0 -2
- package/services/index.js +0 -2
- package/utils/ManuallyReportedError.js +7 -6
- package/utils/ManuallyReportedError.js.map +1 -1
- package/abstractions/features/index.js.map +0 -1
- package/abstractions/features/types.js.map +0 -1
- package/abstractions/index.js.map +0 -1
- package/abstractions/services/index.js.map +0 -1
- package/decorators/index.js.map +0 -1
- package/exports/cli/command.js.map +0 -1
- package/exports/cli.js.map +0 -1
- package/features/BuildCommand/index.js.map +0 -1
- package/features/DeployCommand/index.js.map +0 -1
- package/features/DepsSync/index.js.map +0 -1
- package/features/DestroyCommand/index.js.map +0 -1
- package/features/ExtensionCommand/index.js.map +0 -1
- package/features/InfoCommand/index.js.map +0 -1
- package/features/IsCi/index.js.map +0 -1
- package/features/PulumiCommand/index.js.map +0 -1
- package/features/RefreshCommand/index.js.map +0 -1
- package/features/UpgradeCommand/index.js.map +0 -1
- package/features/WatchCommand/index.js.map +0 -1
- package/features/common/index.js.map +0 -1
- package/features/globalOptions/index.js.map +0 -1
- package/features/gracefulErrorHandlers/index.js.map +0 -1
- package/features/index.js.map +0 -1
- package/features/utils/index.js.map +0 -1
- package/index.js.map +0 -1
- package/services/ArgvParserService/index.js.map +0 -1
- package/services/CliParamsService/index.js.map +0 -1
- package/services/CommandsRegistryService/index.js.map +0 -1
- package/services/GetArgvService/index.js.map +0 -1
- package/services/GetCliRunnerService/index.js.map +0 -1
- package/services/GetIsCiService/index.js.map +0 -1
- package/services/GetProjectSdkService/index.js.map +0 -1
- package/services/GlobalOptionsRegistryService/index.js.map +0 -1
- package/services/LoggerService/index.js.map +0 -1
- package/services/RunCliRunnerService/index.js.map +0 -1
- package/services/StdioService/index.js.map +0 -1
- package/services/UiService/index.js.map +0 -1
- package/services/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["path","Container","argvParserService","cliParamsService","commandsRegistryService","getArgvService","getCliRunnerService","getIsCiService","getProjectSdkService","globalOptionsRegistryService","loggerService","runCliRunnerService","stdioService","uiService","aboutCommand","buildCommand","configCommand","ddbPutItemConditionalCheckFailedGracefulErrorHandler","deployCommand","destroyCommand","disableTelemetryCommand","enableTelemetryCommand","extensionCommand","infoCommand","isCi","linkProjectCommand","loginCommand","logLevelGlobalOption","logoutCommand","missingFilesInBuildGracefulErrorHandler","openCommand","outputCommand","pendingOperationsGracefulErrorHandler","pulumiCommand","refreshCommand","showLogsGlobalOption","stackTraceGlobalOption","syncDepsCommand","UpgradeCommandFeature","verifyDepsCommand","watchCommand","whoAmICommand","chalk","CliParamsService","GetArgvService","GetProjectSdkService","UiService","GracefulError","toImportSpecifier","commandsWithGracefulErrorHandling","deployCommandWithTelemetry","CliCommand","bgYellow","bold","createCliContainer","params","container","register","inSingletonScope","ui","resolve","set","projectSdk","execute","projectConfig","getProjectConfig","tags","runtimeContext","validateProjectConfig","project","getProject","importFromPath","filePath","importPath","startsWith","paths","rootFolder","join","toString","exportName","basename","replace","extname","importedModule","default","commands","extensionsByType","command","commandImplementation","src","error","realError","cause","message","argv","showStackTrace","stack","emptyLine","debug","text","process","exit","registerDecorator"],"sources":["createCliContainer.ts"],"sourcesContent":["import path from \"path\";\nimport { Container } from \"@webiny/di\";\nimport {\n argvParserService,\n cliParamsService,\n commandsRegistryService,\n getArgvService,\n getCliRunnerService,\n getIsCiService,\n getProjectSdkService,\n globalOptionsRegistryService,\n loggerService,\n runCliRunnerService,\n stdioService,\n uiService\n} from \"./services/index.js\";\n\nimport {\n aboutCommand,\n buildCommand,\n configCommand,\n ddbPutItemConditionalCheckFailedGracefulErrorHandler,\n deployCommand,\n destroyCommand,\n disableTelemetryCommand,\n enableTelemetryCommand,\n extensionCommand,\n infoCommand,\n isCi,\n linkProjectCommand,\n loginCommand,\n logLevelGlobalOption,\n logoutCommand,\n missingFilesInBuildGracefulErrorHandler,\n openCommand,\n outputCommand,\n pendingOperationsGracefulErrorHandler,\n pulumiCommand,\n refreshCommand,\n showLogsGlobalOption,\n stackTraceGlobalOption,\n syncDepsCommand,\n UpgradeCommandFeature,\n verifyDepsCommand,\n watchCommand,\n whoAmICommand\n} from \"./features/index.js\";\n\nimport chalk from \"chalk\";\nimport {\n CliParamsService,\n GetArgvService,\n GetProjectSdkService,\n UiService\n} from \"~/abstractions/index.js\";\nimport { GracefulError, toImportSpecifier } from \"@webiny/project\";\nimport {\n commandsWithGracefulErrorHandling,\n deployCommandWithTelemetry\n} from \"./decorators/index.js\";\nimport { CliCommand } from \"~/extensions/index.js\";\n\nconst { bgYellow, bold } = chalk;\n\nexport const createCliContainer = async (params: CliParamsService.Params) => {\n const container = new Container();\n\n // Features (commands).\n container.register(aboutCommand).inSingletonScope();\n container.register(buildCommand).inSingletonScope();\n container.register(configCommand).inSingletonScope();\n container.register(deployCommand).inSingletonScope();\n container.register(pulumiCommand).inSingletonScope();\n container.register(refreshCommand).inSingletonScope();\n container.register(enableTelemetryCommand).inSingletonScope();\n container.register(disableTelemetryCommand).inSingletonScope();\n container.register(extensionCommand).inSingletonScope();\n container.register(syncDepsCommand).inSingletonScope();\n container.register(verifyDepsCommand).inSingletonScope();\n container.register(destroyCommand).inSingletonScope();\n container.register(infoCommand).inSingletonScope();\n container.register(isCi).inSingletonScope();\n container.register(openCommand).inSingletonScope();\n container.register(outputCommand).inSingletonScope();\n container.register(watchCommand).inSingletonScope();\n UpgradeCommandFeature.register(container);\n\n container.register(linkProjectCommand).inSingletonScope();\n container.register(loginCommand).inSingletonScope();\n container.register(logoutCommand).inSingletonScope();\n container.register(whoAmICommand).inSingletonScope();\n\n // Graceful error handlers.\n container.register(ddbPutItemConditionalCheckFailedGracefulErrorHandler).inSingletonScope();\n container.register(missingFilesInBuildGracefulErrorHandler).inSingletonScope();\n container.register(pendingOperationsGracefulErrorHandler).inSingletonScope();\n\n // Global options.\n container.register(showLogsGlobalOption).inSingletonScope();\n container.register(logLevelGlobalOption).inSingletonScope();\n container.register(stackTraceGlobalOption).inSingletonScope();\n\n // Services.\n container.register(argvParserService).inSingletonScope();\n container.register(cliParamsService).inSingletonScope();\n container.register(commandsRegistryService).inSingletonScope();\n container.register(getArgvService).inSingletonScope();\n container.register(getCliRunnerService).inSingletonScope();\n container.register(getIsCiService).inSingletonScope();\n container.register(globalOptionsRegistryService).inSingletonScope();\n container.register(getProjectSdkService).inSingletonScope();\n container.register(loggerService).inSingletonScope();\n container.register(runCliRunnerService).inSingletonScope();\n container.register(stdioService).inSingletonScope();\n container.register(uiService).inSingletonScope();\n\n // Extensions.\n const ui = container.resolve(UiService);\n\n try {\n // Immediately set CLI instance params via the `CliParamsService`.\n container.resolve(CliParamsService).set(params);\n\n const projectSdk = await container.resolve(GetProjectSdkService).execute();\n\n const projectConfig = await projectSdk.getProjectConfig({\n tags: { runtimeContext: \"cli\" }\n });\n\n await projectSdk.validateProjectConfig(projectConfig);\n\n const project = projectSdk.getProject();\n\n const importFromPath = async (filePath: string) => {\n let importPath: string;\n if (filePath.startsWith(\"/extensions/\")) {\n // Resolve from project root.\n importPath = project.paths.rootFolder.join(filePath).toString();\n } else {\n // Treat as absolute path.\n importPath = filePath;\n }\n\n const exportName = path.basename(filePath).replace(path.extname(filePath), \"\");\n\n const importedModule = await import(toImportSpecifier(importPath));\n\n // Support both default and named exports.\n // Check for 'default' property existence rather than truthiness.\n return (\n (\"default\" in importedModule && importedModule.default) ||\n importedModule[exportName]\n );\n };\n\n const commands = projectConfig.extensionsByType(CliCommand);\n for (const command of commands) {\n const commandImplementation = await importFromPath(command.params.src);\n\n container.register(commandImplementation).inSingletonScope();\n }\n } catch (error) {\n let realError = error;\n if (error.cause) {\n realError = error.cause as Error;\n }\n\n ui.error(realError.message);\n\n const argv = container.resolve(GetArgvService).execute();\n if (argv.showStackTrace && realError.stack) {\n ui.emptyLine();\n ui.debug(\"Stack trace:\");\n ui.text(realError.stack);\n }\n\n if (error && error instanceof GracefulError) {\n ui.emptyLine();\n ui.text(bgYellow(bold(\"💡 How can I resolve this?\")));\n ui.text(error.message);\n }\n\n process.exit(1);\n }\n\n // Decorators.\n container.registerDecorator(commandsWithGracefulErrorHandling);\n container.registerDecorator(deployCommandWithTelemetry);\n\n return container;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createCliContainer.js","sources":["../src/createCliContainer.ts"],"sourcesContent":["import path from \"path\";\nimport { Container } from \"@webiny/di\";\nimport {\n argvParserService,\n cliParamsService,\n commandsRegistryService,\n getArgvService,\n getCliRunnerService,\n getIsCiService,\n getProjectSdkService,\n globalOptionsRegistryService,\n loggerService,\n runCliRunnerService,\n stdioService,\n uiService\n} from \"./services/index.js\";\n\nimport {\n aboutCommand,\n buildCommand,\n configCommand,\n ddbPutItemConditionalCheckFailedGracefulErrorHandler,\n deployCommand,\n destroyCommand,\n disableTelemetryCommand,\n enableTelemetryCommand,\n extensionCommand,\n infoCommand,\n isCi,\n linkProjectCommand,\n loginCommand,\n logLevelGlobalOption,\n logoutCommand,\n missingFilesInBuildGracefulErrorHandler,\n openCommand,\n outputCommand,\n pendingOperationsGracefulErrorHandler,\n pulumiCommand,\n refreshCommand,\n showLogsGlobalOption,\n stackTraceGlobalOption,\n syncDepsCommand,\n UpgradeCommandFeature,\n verifyDepsCommand,\n watchCommand,\n whoAmICommand\n} from \"./features/index.js\";\n\nimport chalk from \"chalk\";\nimport {\n CliParamsService,\n GetArgvService,\n GetProjectSdkService,\n UiService\n} from \"~/abstractions/index.js\";\nimport { GracefulError, toImportSpecifier } from \"@webiny/project\";\nimport {\n commandsWithGracefulErrorHandling,\n deployCommandWithTelemetry\n} from \"./decorators/index.js\";\nimport { CliCommand } from \"~/extensions/index.js\";\n\nconst { bgYellow, bold } = chalk;\n\nexport const createCliContainer = async (params: CliParamsService.Params) => {\n const container = new Container();\n\n // Features (commands).\n container.register(aboutCommand).inSingletonScope();\n container.register(buildCommand).inSingletonScope();\n container.register(configCommand).inSingletonScope();\n container.register(deployCommand).inSingletonScope();\n container.register(pulumiCommand).inSingletonScope();\n container.register(refreshCommand).inSingletonScope();\n container.register(enableTelemetryCommand).inSingletonScope();\n container.register(disableTelemetryCommand).inSingletonScope();\n container.register(extensionCommand).inSingletonScope();\n container.register(syncDepsCommand).inSingletonScope();\n container.register(verifyDepsCommand).inSingletonScope();\n container.register(destroyCommand).inSingletonScope();\n container.register(infoCommand).inSingletonScope();\n container.register(isCi).inSingletonScope();\n container.register(openCommand).inSingletonScope();\n container.register(outputCommand).inSingletonScope();\n container.register(watchCommand).inSingletonScope();\n UpgradeCommandFeature.register(container);\n\n container.register(linkProjectCommand).inSingletonScope();\n container.register(loginCommand).inSingletonScope();\n container.register(logoutCommand).inSingletonScope();\n container.register(whoAmICommand).inSingletonScope();\n\n // Graceful error handlers.\n container.register(ddbPutItemConditionalCheckFailedGracefulErrorHandler).inSingletonScope();\n container.register(missingFilesInBuildGracefulErrorHandler).inSingletonScope();\n container.register(pendingOperationsGracefulErrorHandler).inSingletonScope();\n\n // Global options.\n container.register(showLogsGlobalOption).inSingletonScope();\n container.register(logLevelGlobalOption).inSingletonScope();\n container.register(stackTraceGlobalOption).inSingletonScope();\n\n // Services.\n container.register(argvParserService).inSingletonScope();\n container.register(cliParamsService).inSingletonScope();\n container.register(commandsRegistryService).inSingletonScope();\n container.register(getArgvService).inSingletonScope();\n container.register(getCliRunnerService).inSingletonScope();\n container.register(getIsCiService).inSingletonScope();\n container.register(globalOptionsRegistryService).inSingletonScope();\n container.register(getProjectSdkService).inSingletonScope();\n container.register(loggerService).inSingletonScope();\n container.register(runCliRunnerService).inSingletonScope();\n container.register(stdioService).inSingletonScope();\n container.register(uiService).inSingletonScope();\n\n // Extensions.\n const ui = container.resolve(UiService);\n\n try {\n // Immediately set CLI instance params via the `CliParamsService`.\n container.resolve(CliParamsService).set(params);\n\n const projectSdk = await container.resolve(GetProjectSdkService).execute();\n\n const projectConfig = await projectSdk.getProjectConfig({\n tags: { runtimeContext: \"cli\" }\n });\n\n await projectSdk.validateProjectConfig(projectConfig);\n\n const project = projectSdk.getProject();\n\n const importFromPath = async (filePath: string) => {\n let importPath: string;\n if (filePath.startsWith(\"/extensions/\")) {\n // Resolve from project root.\n importPath = project.paths.rootFolder.join(filePath).toString();\n } else {\n // Treat as absolute path.\n importPath = filePath;\n }\n\n const exportName = path.basename(filePath).replace(path.extname(filePath), \"\");\n\n const importedModule = await import(toImportSpecifier(importPath));\n\n // Support both default and named exports.\n // Check for 'default' property existence rather than truthiness.\n return (\n (\"default\" in importedModule && importedModule.default) ||\n importedModule[exportName]\n );\n };\n\n const commands = projectConfig.extensionsByType(CliCommand);\n for (const command of commands) {\n const commandImplementation = await importFromPath(command.params.src);\n\n container.register(commandImplementation).inSingletonScope();\n }\n } catch (error) {\n let realError = error;\n if (error.cause) {\n realError = error.cause as Error;\n }\n\n ui.error(realError.message);\n\n const argv = container.resolve(GetArgvService).execute();\n if (argv.showStackTrace && realError.stack) {\n ui.emptyLine();\n ui.debug(\"Stack trace:\");\n ui.text(realError.stack);\n }\n\n if (error && error instanceof GracefulError) {\n ui.emptyLine();\n ui.text(bgYellow(bold(\"💡 How can I resolve this?\")));\n ui.text(error.message);\n }\n\n process.exit(1);\n }\n\n // Decorators.\n container.registerDecorator(commandsWithGracefulErrorHandling);\n container.registerDecorator(deployCommandWithTelemetry);\n\n return container;\n};\n"],"names":["bgYellow","bold","chalk","createCliContainer","params","container","Container","aboutCommand","buildCommand","configCommand","deployCommand","pulumiCommand","refreshCommand","enableTelemetryCommand","disableTelemetryCommand","extensionCommand","syncDepsCommand","verifyDepsCommand","destroyCommand","infoCommand","isCi","openCommand","outputCommand","watchCommand","UpgradeCommandFeature","linkProjectCommand","loginCommand","logoutCommand","whoAmICommand","ddbPutItemConditionalCheckFailedGracefulErrorHandler","missingFilesInBuildGracefulErrorHandler","pendingOperationsGracefulErrorHandler","showLogsGlobalOption","logLevelGlobalOption","stackTraceGlobalOption","argvParserService","cliParamsService","commandsRegistryService","getArgvService","getCliRunnerService","getIsCiService","globalOptionsRegistryService","getProjectSdkService","loggerService","runCliRunnerService","stdioService","uiService","ui","UiService","CliParamsService","projectSdk","GetProjectSdkService","projectConfig","project","importFromPath","filePath","importPath","exportName","path","importedModule","toImportSpecifier","commands","CliCommand","command","commandImplementation","error","realError","argv","GetArgvService","GracefulError","process","commandsWithGracefulErrorHandling","deployCommandWithTelemetry"],"mappings":"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"}
|
|
@@ -1,38 +1,40 @@
|
|
|
1
1
|
import { CliCommandFactory, ErrorHandler } from "../abstractions/index.js";
|
|
2
2
|
import { GracefulError } from "@webiny/project";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
return command;
|
|
29
|
-
}
|
|
3
|
+
class CommandsWithGracefulErrorHandling {
|
|
4
|
+
constructor(gracefulErrorHandlers, decoratee){
|
|
5
|
+
this.gracefulErrorHandlers = gracefulErrorHandlers;
|
|
6
|
+
this.decoratee = decoratee;
|
|
7
|
+
}
|
|
8
|
+
async execute() {
|
|
9
|
+
const command = await this.decoratee.execute();
|
|
10
|
+
const originalCommandHandler = command.handler;
|
|
11
|
+
command.handler = async (params)=>{
|
|
12
|
+
try {
|
|
13
|
+
await originalCommandHandler(params);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
if (error instanceof GracefulError) throw error;
|
|
16
|
+
for (const gracefulErrorHandler of this.gracefulErrorHandlers)gracefulErrorHandler.execute({
|
|
17
|
+
error,
|
|
18
|
+
command,
|
|
19
|
+
params
|
|
20
|
+
});
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
return command;
|
|
25
|
+
}
|
|
30
26
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
const commandsWithGracefulErrorHandling = CliCommandFactory.createDecorator({
|
|
28
|
+
decorator: CommandsWithGracefulErrorHandling,
|
|
29
|
+
dependencies: [
|
|
30
|
+
[
|
|
31
|
+
ErrorHandler,
|
|
32
|
+
{
|
|
33
|
+
multiple: true
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
]
|
|
36
37
|
});
|
|
38
|
+
export { CommandsWithGracefulErrorHandling, commandsWithGracefulErrorHandling };
|
|
37
39
|
|
|
38
40
|
//# sourceMappingURL=CommandsWithGracefulErrorHandling.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"decorators/CommandsWithGracefulErrorHandling.js","sources":["../../src/decorators/CommandsWithGracefulErrorHandling.ts"],"sourcesContent":["import { CliCommandFactory, ErrorHandler } from \"~/abstractions/index.js\";\nimport { GracefulError } from \"@webiny/project\";\n\nexport class CommandsWithGracefulErrorHandling<\n TParams\n> implements CliCommandFactory.Interface<TParams> {\n constructor(\n private gracefulErrorHandlers: ErrorHandler.Interface<TParams>[],\n private decoratee: CliCommandFactory.Interface<TParams>\n ) {}\n\n async execute() {\n const command = await this.decoratee.execute();\n\n const originalCommandHandler = command.handler;\n\n command.handler = async (params: TParams) => {\n try {\n await originalCommandHandler(params);\n } catch (error) {\n if (error instanceof GracefulError) {\n throw error;\n }\n\n for (const gracefulErrorHandler of this.gracefulErrorHandlers) {\n gracefulErrorHandler.execute({\n error,\n command,\n params\n });\n }\n\n throw error;\n }\n };\n\n return command;\n }\n}\n\nexport const commandsWithGracefulErrorHandling = CliCommandFactory.createDecorator({\n decorator: CommandsWithGracefulErrorHandling,\n dependencies: [[ErrorHandler, { multiple: true }]]\n});\n"],"names":["CommandsWithGracefulErrorHandling","gracefulErrorHandlers","decoratee","command","originalCommandHandler","params","error","GracefulError","gracefulErrorHandler","commandsWithGracefulErrorHandling","CliCommandFactory","ErrorHandler"],"mappings":";;AAGO,MAAMA;IAGT,YACYC,qBAAwD,EACxDC,SAA+C,CACzD;aAFUD,qBAAqB,GAArBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,UAAU;QACZ,MAAMC,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO;QAE5C,MAAMC,yBAAyBD,QAAQ,OAAO;QAE9CA,QAAQ,OAAO,GAAG,OAAOE;YACrB,IAAI;gBACA,MAAMD,uBAAuBC;YACjC,EAAE,OAAOC,OAAO;gBACZ,IAAIA,iBAAiBC,eACjB,MAAMD;gBAGV,KAAK,MAAME,wBAAwB,IAAI,CAAC,qBAAqB,CACzDA,qBAAqB,OAAO,CAAC;oBACzBF;oBACAH;oBACAE;gBACJ;gBAGJ,MAAMC;YACV;QACJ;QAEA,OAAOH;IACX;AACJ;AAEO,MAAMM,oCAAoCC,kBAAkB,eAAe,CAAC;IAC/E,WAAWV;IACX,cAAc;QAAC;YAACW;YAAc;gBAAE,UAAU;YAAK;SAAE;KAAC;AACtD"}
|
|
@@ -1,91 +1,81 @@
|
|
|
1
|
-
import { isEnabled
|
|
1
|
+
import { isEnabled, sendEvent } from "@webiny/telemetry/cli.js";
|
|
2
2
|
import { CliCommandFactory, GetProjectSdkService } from "../abstractions/index.js";
|
|
3
3
|
import { GracefulError } from "@webiny/project";
|
|
4
|
-
const isDeployCommand = command
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this.getProjectSdkService = getProjectSdkService;
|
|
10
|
-
this.decoratee = decoratee;
|
|
11
|
-
}
|
|
12
|
-
async execute() {
|
|
13
|
-
const command = await this.decoratee.execute();
|
|
14
|
-
if (!isDeployCommand(command)) {
|
|
15
|
-
// If the command is not a `deploy` command, we do not need to wrap it with telemetry.
|
|
16
|
-
return command;
|
|
4
|
+
const isDeployCommand = (command)=>"deploy" === command.name;
|
|
5
|
+
class DeployCommandWithTelemetry {
|
|
6
|
+
constructor(getProjectSdkService, decoratee){
|
|
7
|
+
this.getProjectSdkService = getProjectSdkService;
|
|
8
|
+
this.decoratee = decoratee;
|
|
17
9
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
10
|
+
async execute() {
|
|
11
|
+
const command = await this.decoratee.execute();
|
|
12
|
+
if (!isDeployCommand(command)) return command;
|
|
13
|
+
if (!isEnabled()) return command;
|
|
14
|
+
const projectSdk = await this.getProjectSdkService.execute();
|
|
15
|
+
const projectSdkTelemetryEnabled = await projectSdk.isTelemetryEnabled();
|
|
16
|
+
if (!projectSdkTelemetryEnabled) return command;
|
|
17
|
+
const deployCommand = command;
|
|
18
|
+
const originalCommandHandler = deployCommand.handler;
|
|
19
|
+
deployCommand.handler = async (params)=>{
|
|
20
|
+
if ("app" in params) {
|
|
21
|
+
const telemetryProperties = {
|
|
22
|
+
app: params.app || "unknown",
|
|
23
|
+
env: params.env || "unknown",
|
|
24
|
+
variant: params.variant || "unknown",
|
|
25
|
+
region: params.region || "unknown",
|
|
26
|
+
commandParams: JSON.stringify(params)
|
|
27
|
+
};
|
|
28
|
+
try {
|
|
29
|
+
await this.sendEvent("cli-pulumi-command-deploy-start", telemetryProperties);
|
|
30
|
+
const result = await originalCommandHandler(params);
|
|
31
|
+
await this.sendEvent("cli-pulumi-command-deploy-end", telemetryProperties);
|
|
32
|
+
return result;
|
|
33
|
+
} catch (e) {
|
|
34
|
+
const event = e instanceof GracefulError ? "cli-pulumi-command-deploy-error-graceful" : "cli-pulumi-command-deploy-error";
|
|
35
|
+
await this.sendEvent(event, {
|
|
36
|
+
...telemetryProperties,
|
|
37
|
+
errorMessage: e.message,
|
|
38
|
+
errorStack: e.stack
|
|
39
|
+
});
|
|
40
|
+
throw e;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const telemetryProperties = {
|
|
44
|
+
env: params.env || "unknown",
|
|
45
|
+
variant: params.variant || "unknown",
|
|
46
|
+
region: params.region || "unknown",
|
|
47
|
+
commandParams: JSON.stringify(params)
|
|
48
|
+
};
|
|
49
|
+
try {
|
|
50
|
+
await this.sendEvent("cli-project-deploy-start", telemetryProperties);
|
|
51
|
+
const result = await originalCommandHandler(params);
|
|
52
|
+
await this.sendEvent("cli-project-deploy-end", telemetryProperties);
|
|
53
|
+
return result;
|
|
54
|
+
} catch (e) {
|
|
55
|
+
const event = e instanceof GracefulError ? "cli-project-deploy-error-graceful" : "cli-project-deploy-error";
|
|
56
|
+
await this.sendEvent(event, {
|
|
57
|
+
...telemetryProperties,
|
|
58
|
+
errorMessage: e.message,
|
|
59
|
+
errorStack: e.stack
|
|
60
|
+
});
|
|
61
|
+
throw e;
|
|
62
|
+
}
|
|
40
63
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const event = e instanceof GracefulError ? "cli-pulumi-command-deploy-error-graceful" : "cli-pulumi-command-deploy-error";
|
|
48
|
-
await this.sendEvent(event, {
|
|
49
|
-
...telemetryProperties,
|
|
50
|
-
errorMessage: e.message,
|
|
51
|
-
errorStack: e.stack
|
|
52
|
-
});
|
|
53
|
-
throw e;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
const telemetryProperties = {
|
|
57
|
-
env: params.env || "unknown",
|
|
58
|
-
variant: params.variant || "unknown",
|
|
59
|
-
region: params.region || "unknown",
|
|
60
|
-
commandParams: JSON.stringify(params)
|
|
61
|
-
};
|
|
62
|
-
try {
|
|
63
|
-
await this.sendEvent("cli-project-deploy-start", telemetryProperties);
|
|
64
|
-
const result = await originalCommandHandler(params);
|
|
65
|
-
await this.sendEvent("cli-project-deploy-end", telemetryProperties);
|
|
66
|
-
return result;
|
|
67
|
-
} catch (e) {
|
|
68
|
-
const event = e instanceof GracefulError ? "cli-project-deploy-error-graceful" : "cli-project-deploy-error";
|
|
69
|
-
await this.sendEvent(event, {
|
|
70
|
-
...telemetryProperties,
|
|
71
|
-
errorMessage: e.message,
|
|
72
|
-
errorStack: e.stack
|
|
64
|
+
return command;
|
|
65
|
+
}
|
|
66
|
+
sendEvent(event, properties = {}) {
|
|
67
|
+
return sendEvent({
|
|
68
|
+
event,
|
|
69
|
+
properties
|
|
73
70
|
});
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
return command;
|
|
78
|
-
}
|
|
79
|
-
sendEvent(event, properties = {}) {
|
|
80
|
-
return telemetrySendEvent({
|
|
81
|
-
event,
|
|
82
|
-
properties
|
|
83
|
-
});
|
|
84
|
-
}
|
|
71
|
+
}
|
|
85
72
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
73
|
+
const deployCommandWithTelemetry = CliCommandFactory.createDecorator({
|
|
74
|
+
decorator: DeployCommandWithTelemetry,
|
|
75
|
+
dependencies: [
|
|
76
|
+
GetProjectSdkService
|
|
77
|
+
]
|
|
89
78
|
});
|
|
79
|
+
export { DeployCommandWithTelemetry, deployCommandWithTelemetry };
|
|
90
80
|
|
|
91
81
|
//# sourceMappingURL=DeployCommandWithTelemetry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"decorators/DeployCommandWithTelemetry.js","sources":["../../src/decorators/DeployCommandWithTelemetry.ts"],"sourcesContent":["import {\n isEnabled as globalIsTelemetryEnabled,\n sendEvent as telemetrySendEvent\n} from \"@webiny/telemetry/cli.js\";\nimport { CliCommandFactory, GetProjectSdkService } from \"~/abstractions/index.js\";\nimport { IDeployCommandParams } from \"~/features/index.js\";\nimport { GracefulError } from \"@webiny/project\";\n\nconst isDeployCommand = (\n command: CliCommandFactory.CommandDefinition<any>\n): command is CliCommandFactory.CommandDefinition<IDeployCommandParams> => {\n return command.name === \"deploy\";\n};\n\nexport class DeployCommandWithTelemetry<TParams> implements CliCommandFactory.Interface<TParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private decoratee: CliCommandFactory.Interface<TParams>\n ) {}\n\n async execute() {\n const command = await this.decoratee.execute();\n\n if (!isDeployCommand(command)) {\n // If the command is not a `deploy` command, we do not need to wrap it with telemetry.\n return command;\n }\n\n if (!globalIsTelemetryEnabled()) {\n return command;\n }\n\n // Check if telemetry is disabled via an extension.\n const projectSdk = await this.getProjectSdkService.execute();\n const projectSdkTelemetryEnabled = await projectSdk.isTelemetryEnabled();\n if (!projectSdkTelemetryEnabled) {\n return command;\n }\n\n // Getting a different type without type assertion. :|\n const deployCommand = command as CliCommandFactory.CommandDefinition<IDeployCommandParams>;\n const originalCommandHandler = deployCommand.handler;\n\n deployCommand.handler = async (params: IDeployCommandParams) => {\n if (\"app\" in params) {\n const telemetryProperties = {\n app: params.app || \"unknown\",\n env: params.env || \"unknown\",\n variant: params.variant || \"unknown\",\n region: params.region || \"unknown\",\n commandParams: JSON.stringify(params)\n };\n\n try {\n await this.sendEvent(\"cli-pulumi-command-deploy-start\", telemetryProperties);\n\n const result = await originalCommandHandler(params);\n\n await this.sendEvent(\"cli-pulumi-command-deploy-end\", telemetryProperties);\n\n return result;\n } catch (e) {\n const event =\n e instanceof GracefulError\n ? \"cli-pulumi-command-deploy-error-graceful\"\n : \"cli-pulumi-command-deploy-error\";\n\n await this.sendEvent(event, {\n ...telemetryProperties,\n errorMessage: e.message,\n errorStack: e.stack\n });\n\n throw e;\n }\n }\n\n const telemetryProperties = {\n env: params.env || \"unknown\",\n variant: params.variant || \"unknown\",\n region: params.region || \"unknown\",\n commandParams: JSON.stringify(params)\n };\n\n try {\n await this.sendEvent(\"cli-project-deploy-start\", telemetryProperties);\n const result = await originalCommandHandler(params);\n await this.sendEvent(\"cli-project-deploy-end\", telemetryProperties);\n return result;\n } catch (e) {\n const event =\n e instanceof GracefulError\n ? \"cli-project-deploy-error-graceful\"\n : \"cli-project-deploy-error\";\n\n await this.sendEvent(event, {\n ...telemetryProperties,\n errorMessage: e.message,\n errorStack: e.stack\n });\n\n throw e;\n }\n };\n\n return command;\n }\n\n private sendEvent(event: string, properties: Record<string, any> = {}) {\n return telemetrySendEvent({\n event,\n properties\n });\n }\n}\n\nexport const deployCommandWithTelemetry = CliCommandFactory.createDecorator({\n decorator: DeployCommandWithTelemetry,\n dependencies: [GetProjectSdkService]\n});\n"],"names":["isDeployCommand","command","DeployCommandWithTelemetry","getProjectSdkService","decoratee","globalIsTelemetryEnabled","projectSdk","projectSdkTelemetryEnabled","deployCommand","originalCommandHandler","params","telemetryProperties","JSON","result","e","event","GracefulError","properties","telemetrySendEvent","deployCommandWithTelemetry","CliCommandFactory","GetProjectSdkService"],"mappings":";;;AAQA,MAAMA,kBAAkB,CACpBC,UAEOA,AAAiB,aAAjBA,QAAQ,IAAI;AAGhB,MAAMC;IACT,YACYC,oBAAoD,EACpDC,SAA+C,CACzD;aAFUD,oBAAoB,GAApBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,UAAU;QACZ,MAAMH,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO;QAE5C,IAAI,CAACD,gBAAgBC,UAEjB,OAAOA;QAGX,IAAI,CAACI,aACD,OAAOJ;QAIX,MAAMK,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAC1D,MAAMC,6BAA6B,MAAMD,WAAW,kBAAkB;QACtE,IAAI,CAACC,4BACD,OAAON;QAIX,MAAMO,gBAAgBP;QACtB,MAAMQ,yBAAyBD,cAAc,OAAO;QAEpDA,cAAc,OAAO,GAAG,OAAOE;YAC3B,IAAI,SAASA,QAAQ;gBACjB,MAAMC,sBAAsB;oBACxB,KAAKD,OAAO,GAAG,IAAI;oBACnB,KAAKA,OAAO,GAAG,IAAI;oBACnB,SAASA,OAAO,OAAO,IAAI;oBAC3B,QAAQA,OAAO,MAAM,IAAI;oBACzB,eAAeE,KAAK,SAAS,CAACF;gBAClC;gBAEA,IAAI;oBACA,MAAM,IAAI,CAAC,SAAS,CAAC,mCAAmCC;oBAExD,MAAME,SAAS,MAAMJ,uBAAuBC;oBAE5C,MAAM,IAAI,CAAC,SAAS,CAAC,iCAAiCC;oBAEtD,OAAOE;gBACX,EAAE,OAAOC,GAAG;oBACR,MAAMC,QACFD,aAAaE,gBACP,6CACA;oBAEV,MAAM,IAAI,CAAC,SAAS,CAACD,OAAO;wBACxB,GAAGJ,mBAAmB;wBACtB,cAAcG,EAAE,OAAO;wBACvB,YAAYA,EAAE,KAAK;oBACvB;oBAEA,MAAMA;gBACV;YACJ;YAEA,MAAMH,sBAAsB;gBACxB,KAAKD,OAAO,GAAG,IAAI;gBACnB,SAASA,OAAO,OAAO,IAAI;gBAC3B,QAAQA,OAAO,MAAM,IAAI;gBACzB,eAAeE,KAAK,SAAS,CAACF;YAClC;YAEA,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,4BAA4BC;gBACjD,MAAME,SAAS,MAAMJ,uBAAuBC;gBAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,0BAA0BC;gBAC/C,OAAOE;YACX,EAAE,OAAOC,GAAG;gBACR,MAAMC,QACFD,aAAaE,gBACP,sCACA;gBAEV,MAAM,IAAI,CAAC,SAAS,CAACD,OAAO;oBACxB,GAAGJ,mBAAmB;oBACtB,cAAcG,EAAE,OAAO;oBACvB,YAAYA,EAAE,KAAK;gBACvB;gBAEA,MAAMA;YACV;QACJ;QAEA,OAAOb;IACX;IAEQ,UAAUc,KAAa,EAAEE,aAAkC,CAAC,CAAC,EAAE;QACnE,OAAOC,UAAmB;YACtBH;YACAE;QACJ;IACJ;AACJ;AAEO,MAAME,6BAA6BC,kBAAkB,eAAe,CAAC;IACxE,WAAWlB;IACX,cAAc;QAACmB;KAAqB;AACxC"}
|
package/decorators/index.js
CHANGED
package/exports/cli/command.js
CHANGED
package/exports/cli.js
CHANGED
package/extensions/CliCommand.js
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { defineExtension, zodSrcPath } from "@webiny/project/extensions/index.js";
|
|
2
|
-
import { CliCommandFactory
|
|
2
|
+
import { CliCommandFactory } from "../abstractions/index.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
project
|
|
18
|
-
})
|
|
19
|
-
});
|
|
20
|
-
}
|
|
4
|
+
const CliCommand = defineExtension({
|
|
5
|
+
type: "Cli/Command",
|
|
6
|
+
tags: {
|
|
7
|
+
runtimeContext: "cli"
|
|
8
|
+
},
|
|
9
|
+
description: "An extension for defining CLI commands.",
|
|
10
|
+
multiple: true,
|
|
11
|
+
paramsSchema: ({ project })=>z.object({
|
|
12
|
+
src: zodSrcPath({
|
|
13
|
+
abstraction: CliCommandFactory,
|
|
14
|
+
project
|
|
15
|
+
})
|
|
16
|
+
})
|
|
21
17
|
});
|
|
18
|
+
export { CliCommand };
|
|
22
19
|
|
|
23
20
|
//# sourceMappingURL=CliCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"extensions/CliCommand.js","sources":["../../src/extensions/CliCommand.ts"],"sourcesContent":["import { defineExtension, zodSrcPath } from \"@webiny/project/extensions/index.js\";\nimport { CliCommandFactory as CliCommandFactoryAbstraction } from \"~/abstractions/index.js\";\nimport { z } from \"zod\";\n\nexport const CliCommand = defineExtension({\n type: \"Cli/Command\",\n tags: { runtimeContext: \"cli\" },\n description: \"An extension for defining CLI commands.\",\n multiple: true,\n paramsSchema: ({ project }) => {\n return z.object({\n src: zodSrcPath({ abstraction: CliCommandFactoryAbstraction, project })\n });\n }\n});\n"],"names":["CliCommand","defineExtension","project","z","zodSrcPath","CliCommandFactoryAbstraction"],"mappings":";;;AAIO,MAAMA,aAAaC,gBAAgB;IACtC,MAAM;IACN,MAAM;QAAE,gBAAgB;IAAM;IAC9B,aAAa;IACb,UAAU;IACV,cAAc,CAAC,EAAEC,OAAO,EAAE,GACfC,EAAE,MAAM,CAAC;YACZ,KAAKC,WAAW;gBAAE,aAAaC;gBAA8BH;YAAQ;QACzE;AAER"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { defineExtension, zodSrcPath } from "@webiny/project/extensions/index.js";
|
|
2
|
-
import { CliCommandFactory
|
|
2
|
+
import { CliCommandFactory } from "../abstractions/index.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
abstraction: CliCommandFactoryAbstraction
|
|
18
|
-
})
|
|
19
|
-
});
|
|
20
|
-
}
|
|
4
|
+
const CliCommandDecorator = defineExtension({
|
|
5
|
+
type: "cliCommandDecorator",
|
|
6
|
+
tags: {
|
|
7
|
+
runtimeContext: "cli"
|
|
8
|
+
},
|
|
9
|
+
description: "Decorates an existing CLI command.",
|
|
10
|
+
multiple: true,
|
|
11
|
+
paramsSchema: ({ project })=>z.object({
|
|
12
|
+
src: zodSrcPath({
|
|
13
|
+
project,
|
|
14
|
+
abstraction: CliCommandFactory
|
|
15
|
+
})
|
|
16
|
+
})
|
|
21
17
|
});
|
|
18
|
+
export { CliCommandDecorator };
|
|
22
19
|
|
|
23
20
|
//# sourceMappingURL=CliCommandDecorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"extensions/CliCommandDecorator.js","sources":["../../src/extensions/CliCommandDecorator.ts"],"sourcesContent":["import { defineExtension, zodSrcPath } from \"@webiny/project/extensions/index.js\";\nimport { CliCommandFactory as CliCommandFactoryAbstraction } from \"~/abstractions/index.js\";\nimport { z } from \"zod\";\n\nexport const CliCommandDecorator = defineExtension({\n type: \"cliCommandDecorator\",\n tags: { runtimeContext: \"cli\" },\n description: \"Decorates an existing CLI command.\",\n multiple: true,\n paramsSchema: ({ project }) => {\n return z.object({\n src: zodSrcPath({ project, abstraction: CliCommandFactoryAbstraction })\n });\n }\n});\n"],"names":["CliCommandDecorator","defineExtension","project","z","zodSrcPath","CliCommandFactoryAbstraction"],"mappings":";;;AAIO,MAAMA,sBAAsBC,gBAAgB;IAC/C,MAAM;IACN,MAAM;QAAE,gBAAgB;IAAM;IAC9B,aAAa;IACb,UAAU;IACV,cAAc,CAAC,EAAEC,OAAO,EAAE,GACfC,EAAE,MAAM,CAAC;YACZ,KAAKC,WAAW;gBAAEF;gBAAS,aAAaG;YAA6B;QACzE;AAER"}
|
package/extensions/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CliCommand } from "./CliCommand.js";
|
|
2
2
|
import { CliCommandDecorator } from "./CliCommandDecorator.js";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const definitions = [
|
|
4
|
+
CliCommand.def,
|
|
5
|
+
CliCommandDecorator.def
|
|
6
|
+
];
|
|
7
|
+
export { CliCommand, definitions };
|
|
5
8
|
|
|
6
9
|
//# sourceMappingURL=index.js.map
|
package/extensions/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"extensions/index.js","sources":["../../src/extensions/index.ts"],"sourcesContent":["import { CliCommand } from \"./CliCommand.js\";\nimport { CliCommandDecorator } from \"~/extensions/CliCommandDecorator.js\";\n\nexport { CliCommand };\n\nexport const definitions = [CliCommand.def, CliCommandDecorator.def];\n"],"names":["definitions","CliCommand","CliCommandDecorator"],"mappings":";;AAKO,MAAMA,cAAc;IAACC,WAAW,GAAG;IAAEC,oBAAoB,GAAG;CAAC"}
|