@webiny/cli-core 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

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.
Files changed (56) hide show
  1. package/abstractions/features/CliCommand.d.ts +4 -0
  2. package/abstractions/features/CliCommand.js +3 -0
  3. package/abstractions/features/CliCommand.js.map +1 -1
  4. package/createCliContainer.js +5 -8
  5. package/createCliContainer.js.map +1 -1
  6. package/decorators/CommandsWithGracefulErrorHandling.js.map +1 -1
  7. package/exports/cli.d.ts +2 -0
  8. package/exports/cli.js +4 -0
  9. package/exports/cli.js.map +1 -0
  10. package/extensions/CliCommand.d.ts +3 -7
  11. package/extensions/CliCommandDecorator.d.ts +3 -7
  12. package/extensions/index.d.ts +2 -6
  13. package/features/DeployCommand/DeployCommand.d.ts +1 -1
  14. package/features/DeployCommand/DeployCommand.js +6 -4
  15. package/features/DeployCommand/DeployCommand.js.map +1 -1
  16. package/features/DepsSync/BuildDependencyTree.js +2 -2
  17. package/features/DepsSync/BuildDependencyTree.js.map +1 -1
  18. package/features/DepsSync/DependencyTree.js +7 -0
  19. package/features/DepsSync/DependencyTree.js.map +1 -1
  20. package/features/DepsSync/ListAllPackageJsonFiles.js +2 -2
  21. package/features/DepsSync/ListAllPackageJsonFiles.js.map +1 -1
  22. package/features/DepsSync/commands/VerifyDepsCommand.js +3 -3
  23. package/features/DepsSync/commands/VerifyDepsCommand.js.map +1 -1
  24. package/features/DepsSync/createReferenceFile.js +3 -3
  25. package/features/DepsSync/createReferenceFile.js.map +1 -1
  26. package/features/UpgradeCommand/UpgradeCommand.d.ts +29 -0
  27. package/features/UpgradeCommand/UpgradeCommand.js +112 -0
  28. package/features/UpgradeCommand/UpgradeCommand.js.map +1 -0
  29. package/features/UpgradeCommand/UpgradeCommandHandler.d.ts +11 -0
  30. package/features/UpgradeCommand/UpgradeCommandHandler.js +113 -0
  31. package/features/UpgradeCommand/UpgradeCommandHandler.js.map +1 -0
  32. package/features/UpgradeCommand/abstraction.d.ts +23 -0
  33. package/features/UpgradeCommand/abstraction.js +4 -0
  34. package/features/UpgradeCommand/abstraction.js.map +1 -0
  35. package/features/UpgradeCommand/feature.d.ts +4 -0
  36. package/features/UpgradeCommand/feature.js +12 -0
  37. package/features/UpgradeCommand/feature.js.map +1 -0
  38. package/features/UpgradeCommand/index.d.ts +2 -0
  39. package/features/UpgradeCommand/index.js +4 -0
  40. package/features/UpgradeCommand/index.js.map +1 -0
  41. package/features/Wcp/LinkProjectCommand.js +3 -3
  42. package/features/Wcp/LinkProjectCommand.js.map +1 -1
  43. package/features/gracefulErrorHandlers/DdbPutItemConditionalCheckFailedGracefulErrorHandler.js.map +1 -1
  44. package/features/gracefulErrorHandlers/MissingFilesInBuildGracefulErrorHandler.js.map +1 -1
  45. package/features/gracefulErrorHandlers/PendingOperationsGracefulErrorHandler.js.map +1 -1
  46. package/features/index.d.ts +1 -0
  47. package/features/index.js +1 -0
  48. package/features/index.js.map +1 -1
  49. package/package.json +28 -25
  50. package/services/GetCliRunnerService/GetCliRunnerService.js +7 -0
  51. package/services/GetCliRunnerService/GetCliRunnerService.js.map +1 -1
  52. package/services/LoggerService/LoggerService.js +2 -2
  53. package/services/LoggerService/LoggerService.js.map +1 -1
  54. package/exports/cli/index.d.ts +0 -2
  55. package/exports/cli/index.js +0 -4
  56. package/exports/cli/index.js.map +0 -1
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/cli-core",
3
- "version": "0.0.0-unstable.e622468070",
3
+ "version": "0.0.0-unstable.e6f0dc8ca7",
4
4
  "type": "module",
5
- "main": "index.js",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
6
9
  "repository": {
7
10
  "type": "git",
8
11
  "url": "https://github.com/webiny/webiny-js.git"
@@ -11,38 +14,38 @@
11
14
  "license": "MIT",
12
15
  "dependencies": {
13
16
  "@webiny/di": "0.2.3",
14
- "@webiny/project": "0.0.0-unstable.e622468070",
15
- "@webiny/pulumi-sdk": "0.0.0-unstable.e622468070",
16
- "@webiny/telemetry": "0.0.0-unstable.e622468070",
17
- "chalk": "4.1.2",
17
+ "@webiny/feature": "0.0.0-unstable.e6f0dc8ca7",
18
+ "@webiny/project": "0.0.0-unstable.e6f0dc8ca7",
19
+ "@webiny/pulumi-sdk": "0.0.0-unstable.e6f0dc8ca7",
20
+ "@webiny/telemetry": "0.0.0-unstable.e6f0dc8ca7",
21
+ "chalk": "5.6.2",
18
22
  "ci-info": "4.4.0",
19
23
  "execa": "5.1.1",
20
- "find-up": "5.0.0",
24
+ "fast-glob": "3.3.3",
25
+ "find-up": "8.0.0",
21
26
  "get-yarn-workspaces": "1.0.2",
22
- "glob": "7.2.3",
23
27
  "humanize-duration": "3.33.2",
24
- "inquirer": "12.11.1",
25
- "load-json-file": "6.2.0",
26
- "open": "10.2.0",
27
- "ora": "4.1.1",
28
- "pino": "9.14.0",
29
- "pino-pretty": "9.4.1",
30
- "semver": "7.7.4",
31
- "type-fest": "5.4.4",
32
- "write-json-file": "4.3.0",
33
- "yargs": "17.7.2",
34
- "zod": "3.25.76"
28
+ "inquirer": "13.4.3",
29
+ "load-json-file": "7.0.1",
30
+ "open": "11.0.0",
31
+ "ora": "9.4.0",
32
+ "pino": "10.3.1",
33
+ "pino-pretty": "13.1.3",
34
+ "semver": "7.8.0",
35
+ "type-fest": "5.6.0",
36
+ "write-json-file": "7.0.0",
37
+ "yargs": "18.0.0",
38
+ "zod": "4.4.3"
35
39
  },
36
40
  "devDependencies": {
37
- "@types/listr": "0.14.10",
38
- "@types/lodash": "4.17.23",
39
- "@webiny/build-tools": "0.0.0-unstable.e622468070",
40
- "rimraf": "6.1.2",
41
- "typescript": "5.9.3"
41
+ "@types/lodash": "4.17.24",
42
+ "@webiny/build-tools": "0.0.0-unstable.e6f0dc8ca7",
43
+ "rimraf": "6.1.3",
44
+ "typescript": "6.0.3"
42
45
  },
43
46
  "publishConfig": {
44
47
  "access": "public",
45
48
  "directory": "dist"
46
49
  },
47
- "gitHead": "e622468070839dc3f9552c85bf2bbac12d2ef88f"
50
+ "gitHead": "e6f0dc8ca741c1fcc3fec9a5b9e86fdd49544641"
48
51
  }
@@ -99,6 +99,13 @@ export class DefaultGetCliRunnerService {
99
99
  handler
100
100
  } = await command.execute();
101
101
  let yargsCommand = name;
102
+ const paramVersionExists = params.some(p => {
103
+ return p.name === "version";
104
+ });
105
+ if (paramVersionExists) {
106
+ ui.error(`The command "${name}" cannot have a parameter named "version" as it conflicts with the global --version option.`);
107
+ process.exit();
108
+ }
102
109
  if (params.length > 0) {
103
110
  yargsCommand += " " + params.map(param => {
104
111
  const paramName = param.array ? `${param.name}..` : param.name;
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","CommandsRegistryService","GetArgvService","GetCliRunnerService","GlobalOptionsRegistryService","GetProjectSdkService","UiService","yargs","chalk","GracefulError","ManuallyReportedError","blue","bgYellow","bold","DefaultGetCliRunnerService","constructor","commandsRegistryService","globalOptionsRegistryService","uiService","getProjectSdkService","getArgvService","yargsRunner","execute","ui","projectSdk","usage","help","demandCommand","recommendCommands","scriptName","epilogue","globalOptions","globalOption","name","config","option","type","default","desc","description","alias","choices","global","fail","invalidParamsMessage","error","includes","emptyLine","info","showHelp","process","exit","args","split","map","v","trim","join","logger","getLogger","err","realError","cause","message","argv","showStackTrace","stack","debug","text","commands","command","params","options","handler","yargsCommand","length","param","paramName","array","required","forEach","validation","rest","yargsParam","positional","demandOption","check","yargsOption","group","version","getProjectVersion","getCliRunnerService","abstraction","implementation","dependencies"],"sources":["GetCliRunnerService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n CliCommandFactory,\n CommandsRegistryService,\n GetArgvService,\n GetCliRunnerService,\n GlobalOptionsRegistryService,\n GetProjectSdkService,\n UiService\n} from \"~/abstractions/index.js\";\nimport yargs from \"yargs/yargs\";\nimport chalk from \"chalk\";\nimport { Argv } from \"yargs\";\nimport { GracefulError } from \"@webiny/project\";\nimport { ManuallyReportedError } from \"~/utils/ManuallyReportedError.js\";\n\nconst { blue, bgYellow, bold } = chalk;\n\nexport class DefaultGetCliRunnerService implements GetCliRunnerService.Interface {\n constructor(\n private readonly commandsRegistryService: CommandsRegistryService.Interface,\n private readonly globalOptionsRegistryService: GlobalOptionsRegistryService.Interface,\n private readonly uiService: UiService.Interface,\n private readonly getProjectSdkService: GetProjectSdkService.Interface,\n private readonly getArgvService: GetArgvService.Interface\n ) {}\n\n private yargsRunner: Argv | null = null;\n\n async execute() {\n if (this.yargsRunner) {\n return this.yargsRunner;\n }\n\n const ui = this.uiService;\n const projectSdk = await this.getProjectSdkService.execute();\n\n const yargsRunner = yargs()\n .usage(\"Usage: $0 <command> [options]\")\n .help(false)\n .demandCommand(1)\n .recommendCommands()\n .scriptName(\"webiny\")\n .epilogue(\n `To find more information, docs and tutorials, see ${blue(\n \"https://www.webiny.com/docs\"\n )}.`\n )\n .epilogue(`Want to contribute? ${blue(\"https://github.com/webiny/webiny-js\")}.`);\n\n // Register global options.\n const globalOptions = this.globalOptionsRegistryService.execute();\n for (const globalOption of globalOptions) {\n const { name, config } = await globalOption.execute();\n yargsRunner.option(name, {\n type: config.type,\n default: config.default,\n desc: config.description,\n alias: config.alias,\n choices: config.choices,\n global: true\n });\n }\n\n yargsRunner.fail((invalidParamsMessage, error) => {\n if (invalidParamsMessage) {\n if (invalidParamsMessage.includes(\"Not enough non-option arguments\")) {\n ui.emptyLine();\n ui.error(\"Command was not invoked as expected.\");\n ui.info(\n `Some non-optional arguments are missing. See the usage examples printed below.`\n );\n ui.emptyLine();\n yargsRunner.showHelp();\n process.exit(1);\n }\n\n if (invalidParamsMessage.includes(\"Missing required argument\")) {\n const args = invalidParamsMessage\n .split(\":\")[1]\n .split(\",\")\n .map(v => v.trim());\n\n ui.emptyLine();\n ui.error(\"Command was not invoked as expected.\");\n ui.info(\n `Missing required argument(s): ${args.join(\n \", \"\n )}. See the usage examples printed below.`\n );\n ui.emptyLine();\n yargsRunner.showHelp();\n process.exit(1);\n }\n\n ui.emptyLine();\n ui.error(invalidParamsMessage);\n\n process.exit(1);\n }\n\n const logger = projectSdk.getLogger();\n logger.error({ err: error }, \"CLI command execution failed.\");\n\n const realError = (error.cause as Error) || error;\n\n if (realError instanceof ManuallyReportedError) {\n // Do nothing as the error reporting has already been\n // handled within the invoked CLI command.\n } else {\n ui.error(realError.message);\n }\n\n const argv = this.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 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 const commands = this.commandsRegistryService.execute();\n\n for (const command of commands) {\n const {\n name,\n description,\n params = [],\n options = [],\n handler\n } = await command.execute();\n\n let yargsCommand = name;\n if (params.length > 0) {\n yargsCommand +=\n \" \" +\n params\n .map(param => {\n const paramName = param.array ? `${param.name}..` : param.name;\n return param.required ? `<${paramName}>` : `[${paramName}]`;\n })\n .join(\" \");\n }\n\n yargsRunner.command(\n yargsCommand,\n description,\n yargs => {\n params.forEach((param: CliCommandFactory.ParamDefinition<unknown>) => {\n const { name, required, validation, array, ...rest } = param;\n\n const yargsParam = yargs.positional(name, {\n ...rest,\n ...(array && { array: true }),\n demandOption: required\n });\n\n if (validation) {\n yargsParam.check(validation);\n }\n });\n\n options.forEach((option: CliCommandFactory.OptionDefinition<unknown>) => {\n const { name, required, validation, ...rest } = option;\n\n const yargsOption = yargs.option(name, {\n ...rest,\n demandOption: required\n });\n\n if (option.group) {\n yargsOption.group(option.name, option.group);\n }\n\n if (validation) {\n yargsOption.check(validation);\n }\n });\n },\n handler\n );\n }\n\n yargsRunner.help(true);\n yargsRunner.version(projectSdk.getProjectVersion());\n this.yargsRunner = yargsRunner;\n return this.yargsRunner;\n }\n}\n\nexport const getCliRunnerService = createImplementation({\n abstraction: GetCliRunnerService,\n implementation: DefaultGetCliRunnerService,\n dependencies: [\n CommandsRegistryService,\n GlobalOptionsRegistryService,\n UiService,\n GetProjectSdkService,\n GetArgvService\n ]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","CommandsRegistryService","GetArgvService","GetCliRunnerService","GlobalOptionsRegistryService","GetProjectSdkService","UiService","yargs","chalk","GracefulError","ManuallyReportedError","blue","bgYellow","bold","DefaultGetCliRunnerService","constructor","commandsRegistryService","globalOptionsRegistryService","uiService","getProjectSdkService","getArgvService","yargsRunner","execute","ui","projectSdk","usage","help","demandCommand","recommendCommands","scriptName","epilogue","globalOptions","globalOption","name","config","option","type","default","desc","description","alias","choices","global","fail","invalidParamsMessage","error","includes","emptyLine","info","showHelp","process","exit","args","split","map","v","trim","join","logger","getLogger","err","realError","cause","message","argv","showStackTrace","stack","debug","text","commands","command","params","options","handler","yargsCommand","paramVersionExists","some","p","length","param","paramName","array","required","forEach","validation","rest","yargsParam","positional","demandOption","check","yargsOption","group","version","getProjectVersion","getCliRunnerService","abstraction","implementation","dependencies"],"sources":["GetCliRunnerService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n CliCommandFactory,\n CommandsRegistryService,\n GetArgvService,\n GetCliRunnerService,\n GlobalOptionsRegistryService,\n GetProjectSdkService,\n UiService\n} from \"~/abstractions/index.js\";\nimport yargs from \"yargs/yargs\";\nimport chalk from \"chalk\";\nimport { Argv } from \"yargs\";\nimport { GracefulError } from \"@webiny/project\";\nimport { ManuallyReportedError } from \"~/utils/ManuallyReportedError.js\";\n\nconst { blue, bgYellow, bold } = chalk;\n\nexport class DefaultGetCliRunnerService implements GetCliRunnerService.Interface {\n constructor(\n private readonly commandsRegistryService: CommandsRegistryService.Interface,\n private readonly globalOptionsRegistryService: GlobalOptionsRegistryService.Interface,\n private readonly uiService: UiService.Interface,\n private readonly getProjectSdkService: GetProjectSdkService.Interface,\n private readonly getArgvService: GetArgvService.Interface\n ) {}\n\n private yargsRunner: Argv | null = null;\n\n async execute() {\n if (this.yargsRunner) {\n return this.yargsRunner;\n }\n\n const ui = this.uiService;\n const projectSdk = await this.getProjectSdkService.execute();\n\n const yargsRunner = yargs()\n .usage(\"Usage: $0 <command> [options]\")\n .help(false)\n .demandCommand(1)\n .recommendCommands()\n .scriptName(\"webiny\")\n .epilogue(\n `To find more information, docs and tutorials, see ${blue(\n \"https://www.webiny.com/docs\"\n )}.`\n )\n .epilogue(`Want to contribute? ${blue(\"https://github.com/webiny/webiny-js\")}.`);\n\n // Register global options.\n const globalOptions = this.globalOptionsRegistryService.execute();\n for (const globalOption of globalOptions) {\n const { name, config } = await globalOption.execute();\n yargsRunner.option(name, {\n type: config.type,\n default: config.default,\n desc: config.description,\n alias: config.alias,\n choices: config.choices,\n global: true\n });\n }\n\n yargsRunner.fail((invalidParamsMessage, error) => {\n if (invalidParamsMessage) {\n if (invalidParamsMessage.includes(\"Not enough non-option arguments\")) {\n ui.emptyLine();\n ui.error(\"Command was not invoked as expected.\");\n ui.info(\n `Some non-optional arguments are missing. See the usage examples printed below.`\n );\n ui.emptyLine();\n yargsRunner.showHelp();\n process.exit(1);\n }\n\n if (invalidParamsMessage.includes(\"Missing required argument\")) {\n const args = invalidParamsMessage\n .split(\":\")[1]\n .split(\",\")\n .map(v => v.trim());\n\n ui.emptyLine();\n ui.error(\"Command was not invoked as expected.\");\n ui.info(\n `Missing required argument(s): ${args.join(\n \", \"\n )}. See the usage examples printed below.`\n );\n ui.emptyLine();\n yargsRunner.showHelp();\n process.exit(1);\n }\n\n ui.emptyLine();\n ui.error(invalidParamsMessage);\n\n process.exit(1);\n }\n\n const logger = projectSdk.getLogger();\n logger.error({ err: error }, \"CLI command execution failed.\");\n\n const realError = (error.cause as Error) || error;\n\n if (realError instanceof ManuallyReportedError) {\n // Do nothing as the error reporting has already been\n // handled within the invoked CLI command.\n } else {\n ui.error(realError.message);\n }\n\n const argv = this.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 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 const commands = this.commandsRegistryService.execute();\n\n for (const command of commands) {\n const {\n name,\n description,\n params = [],\n options = [],\n handler\n } = await command.execute();\n\n let yargsCommand = name;\n const paramVersionExists = params.some(p => {\n return p.name === \"version\";\n });\n if (paramVersionExists) {\n ui.error(\n `The command \"${name}\" cannot have a parameter named \"version\" as it conflicts with the global --version option.`\n );\n process.exit();\n }\n\n if (params.length > 0) {\n yargsCommand +=\n \" \" +\n params\n .map(param => {\n const paramName = param.array ? `${param.name}..` : param.name;\n return param.required ? `<${paramName}>` : `[${paramName}]`;\n })\n .join(\" \");\n }\n\n yargsRunner.command(\n yargsCommand,\n description,\n yargs => {\n params.forEach((param: CliCommandFactory.ParamDefinition<unknown>) => {\n const { name, required, validation, array, ...rest } = param;\n\n const yargsParam = yargs.positional(name, {\n ...rest,\n ...(array && { array: true }),\n demandOption: required\n });\n\n if (validation) {\n yargsParam.check(validation);\n }\n });\n\n options.forEach((option: CliCommandFactory.OptionDefinition<unknown>) => {\n const { name, required, validation, ...rest } = option;\n\n const yargsOption = yargs.option(name, {\n ...rest,\n demandOption: required\n });\n\n if (option.group) {\n yargsOption.group(option.name, option.group);\n }\n\n if (validation) {\n yargsOption.check(validation);\n }\n });\n },\n handler\n );\n }\n\n yargsRunner.help(true);\n yargsRunner.version(projectSdk.getProjectVersion());\n this.yargsRunner = yargsRunner;\n return this.yargsRunner;\n }\n}\n\nexport const getCliRunnerService = createImplementation({\n abstraction: GetCliRunnerService,\n implementation: DefaultGetCliRunnerService,\n dependencies: [\n CommandsRegistryService,\n GlobalOptionsRegistryService,\n UiService,\n GetProjectSdkService,\n GetArgvService\n ]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createImplementation } from "@webiny/di";
2
2
  import { GetArgvService, LoggerService } from "../../abstractions/index.js";
3
3
  import * as fs from "node:fs";
4
4
  import path from "node:path";
5
- import findUp from "find-up";
5
+ import { findUpSync } from "find-up";
6
6
  import { pino } from "pino";
7
7
  import pinoPretty from "pino-pretty";
8
8
  const DEFAULT_LOG_LEVEL = "info";
@@ -61,7 +61,7 @@ export class DefaultLoggerService {
61
61
  // Wanted to use `GetProjectSdkService` to get project root path, but
62
62
  // to get that, had to call async method, which is not allowed in constructor.
63
63
  // TODO: implement a better way to get project root path.
64
- const webinyConfigPath = findUp.sync("webiny.config.tsx");
64
+ const webinyConfigPath = findUpSync("webiny.config.tsx");
65
65
  if (!webinyConfigPath) {
66
66
  // Should not happen, but just in case.
67
67
  throw new Error("Could not find project root path.");
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","GetArgvService","LoggerService","fs","path","findUp","pino","pinoPretty","DEFAULT_LOG_LEVEL","DefaultLoggerService","pinoLogger","constructor","getArgvService","trace","message","optionalParams","logger","getLogger","fatal","debug","info","warn","error","log","logStream","getLogStream","level","getLogLevel","argv","execute","showLogs","ignore","webinyConfigPath","sync","Error","projectRootPath","dirname","logsFolderPath","join","logsFileName","getLogFileName","existsSync","mkdirSync","recursive","logFilePath","createWriteStream","flags","now","Date","dateStr","toISOString","split","process","env","WEBINY_CLI_LOG_LEVEL","logLevel","loggerService","abstraction","implementation","dependencies"],"sources":["LoggerService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { GetArgvService, LoggerService } from \"~/abstractions/index.js\";\nimport * as fs from \"node:fs\";\nimport path from \"node:path\";\nimport findUp from \"find-up\";\nimport { pino, type Logger } from \"pino\";\nimport pinoPretty from \"pino-pretty\";\n\nconst DEFAULT_LOG_LEVEL = \"info\";\n\nexport class DefaultLoggerService implements LoggerService.Interface {\n private pinoLogger: Logger | null = null;\n\n constructor(private readonly getArgvService: GetArgvService.Interface) {}\n\n trace(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.trace(message, ...optionalParams);\n }\n\n fatal(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.fatal(message, ...optionalParams);\n }\n\n debug(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.debug(message, ...optionalParams);\n }\n\n info(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.info(message, ...optionalParams);\n }\n\n warn(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.warn(message, ...optionalParams);\n }\n\n error(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.error(message, ...optionalParams);\n }\n\n log(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.info(message, ...optionalParams);\n }\n\n private getLogger() {\n if (this.pinoLogger) {\n return this.pinoLogger;\n }\n\n const logStream = this.getLogStream();\n const level = this.getLogLevel();\n\n this.pinoLogger = pino({ level }, logStream);\n\n return this.pinoLogger;\n }\n\n private getLogStream() {\n const argv = this.getArgvService.execute();\n if (argv.showLogs) {\n return pinoPretty({\n ignore: \"pid,hostname\"\n });\n }\n\n // Wanted to use `GetProjectSdkService` to get project root path, but\n // to get that, had to call async method, which is not allowed in constructor.\n // TODO: implement a better way to get project root path.\n const webinyConfigPath = findUp.sync(\"webiny.config.tsx\");\n if (!webinyConfigPath) {\n // Should not happen, but just in case.\n throw new Error(\"Could not find project root path.\");\n }\n\n const projectRootPath = path.dirname(webinyConfigPath!);\n\n const logsFolderPath = path.join(projectRootPath, \".webiny\", \"logs\");\n const logsFileName = this.getLogFileName();\n\n if (!fs.existsSync(logsFolderPath)) {\n fs.mkdirSync(logsFolderPath, { recursive: true });\n }\n\n const logFilePath = path.join(logsFolderPath, logsFileName);\n\n // Ensure the file exists or can be appended to\n return fs.createWriteStream(logFilePath, { flags: \"a\" });\n }\n\n private getLogFileName() {\n const now = new Date();\n const dateStr = now.toISOString().split(\"T\")[0];\n return `logs-${dateStr}.log`;\n }\n\n private getLogLevel() {\n const argv = this.getArgvService.execute();\n return process.env.WEBINY_CLI_LOG_LEVEL || argv.logLevel || DEFAULT_LOG_LEVEL;\n }\n}\n\nexport const loggerService = createImplementation({\n abstraction: LoggerService,\n implementation: DefaultLoggerService,\n dependencies: [GetArgvService]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","GetArgvService","LoggerService","fs","path","findUpSync","pino","pinoPretty","DEFAULT_LOG_LEVEL","DefaultLoggerService","pinoLogger","constructor","getArgvService","trace","message","optionalParams","logger","getLogger","fatal","debug","info","warn","error","log","logStream","getLogStream","level","getLogLevel","argv","execute","showLogs","ignore","webinyConfigPath","Error","projectRootPath","dirname","logsFolderPath","join","logsFileName","getLogFileName","existsSync","mkdirSync","recursive","logFilePath","createWriteStream","flags","now","Date","dateStr","toISOString","split","process","env","WEBINY_CLI_LOG_LEVEL","logLevel","loggerService","abstraction","implementation","dependencies"],"sources":["LoggerService.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { GetArgvService, LoggerService } from \"~/abstractions/index.js\";\nimport * as fs from \"node:fs\";\nimport path from \"node:path\";\nimport { findUpSync } from \"find-up\";\nimport { pino, type Logger } from \"pino\";\nimport pinoPretty from \"pino-pretty\";\n\nconst DEFAULT_LOG_LEVEL = \"info\";\n\nexport class DefaultLoggerService implements LoggerService.Interface {\n private pinoLogger: Logger | null = null;\n\n constructor(private readonly getArgvService: GetArgvService.Interface) {}\n\n trace(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.trace(message, ...optionalParams);\n }\n\n fatal(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.fatal(message, ...optionalParams);\n }\n\n debug(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.debug(message, ...optionalParams);\n }\n\n info(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.info(message, ...optionalParams);\n }\n\n warn(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.warn(message, ...optionalParams);\n }\n\n error(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.error(message, ...optionalParams);\n }\n\n log(message?: any, ...optionalParams: any[]) {\n const logger = this.getLogger();\n logger.info(message, ...optionalParams);\n }\n\n private getLogger() {\n if (this.pinoLogger) {\n return this.pinoLogger;\n }\n\n const logStream = this.getLogStream();\n const level = this.getLogLevel();\n\n this.pinoLogger = pino({ level }, logStream);\n\n return this.pinoLogger;\n }\n\n private getLogStream() {\n const argv = this.getArgvService.execute();\n if (argv.showLogs) {\n return pinoPretty({\n ignore: \"pid,hostname\"\n });\n }\n\n // Wanted to use `GetProjectSdkService` to get project root path, but\n // to get that, had to call async method, which is not allowed in constructor.\n // TODO: implement a better way to get project root path.\n const webinyConfigPath = findUpSync(\"webiny.config.tsx\");\n if (!webinyConfigPath) {\n // Should not happen, but just in case.\n throw new Error(\"Could not find project root path.\");\n }\n\n const projectRootPath = path.dirname(webinyConfigPath!);\n\n const logsFolderPath = path.join(projectRootPath, \".webiny\", \"logs\");\n const logsFileName = this.getLogFileName();\n\n if (!fs.existsSync(logsFolderPath)) {\n fs.mkdirSync(logsFolderPath, { recursive: true });\n }\n\n const logFilePath = path.join(logsFolderPath, logsFileName);\n\n // Ensure the file exists or can be appended to\n return fs.createWriteStream(logFilePath, { flags: \"a\" });\n }\n\n private getLogFileName() {\n const now = new Date();\n const dateStr = now.toISOString().split(\"T\")[0];\n return `logs-${dateStr}.log`;\n }\n\n private getLogLevel() {\n const argv = this.getArgvService.execute();\n return process.env.WEBINY_CLI_LOG_LEVEL || argv.logLevel || DEFAULT_LOG_LEVEL;\n }\n}\n\nexport const loggerService = createImplementation({\n abstraction: LoggerService,\n implementation: DefaultLoggerService,\n dependencies: [GetArgvService]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export { LoggerService as Logger } from "../../abstractions/services/LoggerService.js";
2
- export { UiService as Ui } from "../../abstractions/services/UiService.js";
@@ -1,4 +0,0 @@
1
- export { LoggerService as Logger } from "../../abstractions/services/LoggerService.js";
2
- export { UiService as Ui } from "../../abstractions/services/UiService.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["LoggerService","Logger","UiService","Ui"],"sources":["index.ts"],"sourcesContent":["export { LoggerService as Logger } from \"~/abstractions/services/LoggerService.js\";\nexport { UiService as Ui } from \"~/abstractions/services/UiService.js\";\n"],"mappings":"AAAA,SAASA,aAAa,IAAIC,MAAM;AAChC,SAASC,SAAS,IAAIC,EAAE","ignoreList":[]}