@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.
Files changed (255) hide show
  1. package/Cli.js +12 -11
  2. package/Cli.js.map +1 -1
  3. package/abstractions/createAbstraction.js +3 -2
  4. package/abstractions/createAbstraction.js.map +1 -1
  5. package/abstractions/features/CliCommand.js +2 -4
  6. package/abstractions/features/CliCommand.js.map +1 -1
  7. package/abstractions/features/ErrorHandler.js +2 -1
  8. package/abstractions/features/ErrorHandler.js.map +1 -1
  9. package/abstractions/features/GlobalCliOption.js +2 -1
  10. package/abstractions/features/GlobalCliOption.js.map +1 -1
  11. package/abstractions/features/IsCi.js +2 -1
  12. package/abstractions/features/IsCi.js.map +1 -1
  13. package/abstractions/features/index.js +0 -2
  14. package/abstractions/features/types.js +0 -3
  15. package/abstractions/index.js +0 -2
  16. package/abstractions/services/ArgvParserService.js +2 -1
  17. package/abstractions/services/ArgvParserService.js.map +1 -1
  18. package/abstractions/services/CliParamsService.js +2 -1
  19. package/abstractions/services/CliParamsService.js.map +1 -1
  20. package/abstractions/services/CommandsRegistryService.js +2 -1
  21. package/abstractions/services/CommandsRegistryService.js.map +1 -1
  22. package/abstractions/services/GetArgvService.js +2 -1
  23. package/abstractions/services/GetArgvService.js.map +1 -1
  24. package/abstractions/services/GetCliRunnerService.js +2 -1
  25. package/abstractions/services/GetCliRunnerService.js.map +1 -1
  26. package/abstractions/services/GetIsCiService.js +2 -1
  27. package/abstractions/services/GetIsCiService.js.map +1 -1
  28. package/abstractions/services/GetProjectSdkService.js +2 -1
  29. package/abstractions/services/GetProjectSdkService.js.map +1 -1
  30. package/abstractions/services/GlobalOptionsRegistryService.js +2 -1
  31. package/abstractions/services/GlobalOptionsRegistryService.js.map +1 -1
  32. package/abstractions/services/LoggerService.js +2 -1
  33. package/abstractions/services/LoggerService.js.map +1 -1
  34. package/abstractions/services/RunCliRunnerService.js +2 -1
  35. package/abstractions/services/RunCliRunnerService.js.map +1 -1
  36. package/abstractions/services/StdioService.js +2 -1
  37. package/abstractions/services/StdioService.js.map +1 -1
  38. package/abstractions/services/UiService.js +2 -1
  39. package/abstractions/services/UiService.js.map +1 -1
  40. package/abstractions/services/index.js +0 -2
  41. package/createCliContainer.js +87 -113
  42. package/createCliContainer.js.map +1 -1
  43. package/decorators/CommandsWithGracefulErrorHandling.js +34 -32
  44. package/decorators/CommandsWithGracefulErrorHandling.js.map +1 -1
  45. package/decorators/DeployCommandWithTelemetry.js +72 -82
  46. package/decorators/DeployCommandWithTelemetry.js.map +1 -1
  47. package/decorators/index.js +0 -2
  48. package/exports/cli/command.js +0 -2
  49. package/exports/cli.js +0 -2
  50. package/extensions/CliCommand.js +15 -18
  51. package/extensions/CliCommand.js.map +1 -1
  52. package/extensions/CliCommandDecorator.js +15 -18
  53. package/extensions/CliCommandDecorator.js.map +1 -1
  54. package/extensions/index.js +5 -2
  55. package/extensions/index.js.map +1 -1
  56. package/features/AboutCommand.js +80 -86
  57. package/features/AboutCommand.js.map +1 -1
  58. package/features/BuildCommand/BuildCommand.js +46 -36
  59. package/features/BuildCommand/BuildCommand.js.map +1 -1
  60. package/features/BuildCommand/buildRunners/BaseBuildRunner.js +10 -13
  61. package/features/BuildCommand/buildRunners/BaseBuildRunner.js.map +1 -1
  62. package/features/BuildCommand/buildRunners/BuildRunner.js +18 -21
  63. package/features/BuildCommand/buildRunners/BuildRunner.js.map +1 -1
  64. package/features/BuildCommand/buildRunners/MultipleBuildsRunner.js +20 -19
  65. package/features/BuildCommand/buildRunners/MultipleBuildsRunner.js.map +1 -1
  66. package/features/BuildCommand/buildRunners/SingleBuildRunner.js +15 -14
  67. package/features/BuildCommand/buildRunners/SingleBuildRunner.js.map +1 -1
  68. package/features/BuildCommand/buildRunners/ZeroBuildsRunner.js +3 -4
  69. package/features/BuildCommand/buildRunners/ZeroBuildsRunner.js.map +1 -1
  70. package/features/BuildCommand/index.js +0 -2
  71. package/features/ConfigCommand.js +55 -56
  72. package/features/ConfigCommand.js.map +1 -1
  73. package/features/DeployCommand/DeployCommand.js +162 -156
  74. package/features/DeployCommand/DeployCommand.js.map +1 -1
  75. package/features/DeployCommand/deployOutputs/BaseDeployOutput.js +12 -17
  76. package/features/DeployCommand/deployOutputs/BaseDeployOutput.js.map +1 -1
  77. package/features/DeployCommand/deployOutputs/DeployOutput.js +16 -17
  78. package/features/DeployCommand/deployOutputs/DeployOutput.js.map +1 -1
  79. package/features/DeployCommand/deployOutputs/NoDeploymentLogsDeployOutput.js +89 -54
  80. package/features/DeployCommand/deployOutputs/NoDeploymentLogsDeployOutput.js.map +1 -1
  81. package/features/DeployCommand/deployOutputs/WithDeploymentLogsDeployOutput.js +24 -37
  82. package/features/DeployCommand/deployOutputs/WithDeploymentLogsDeployOutput.js.map +1 -1
  83. package/features/DeployCommand/index.js +0 -2
  84. package/features/DepsSync/BuildDependencyTree.js +16 -21
  85. package/features/DepsSync/BuildDependencyTree.js.map +1 -1
  86. package/features/DepsSync/DependencyTree.js +108 -126
  87. package/features/DepsSync/DependencyTree.js.map +1 -1
  88. package/features/DepsSync/ListAllPackageJsonFiles.js +19 -14
  89. package/features/DepsSync/ListAllPackageJsonFiles.js.map +1 -1
  90. package/features/DepsSync/ListAllPackages.js +7 -9
  91. package/features/DepsSync/ListAllPackages.js.map +1 -1
  92. package/features/DepsSync/commands/SyncDepsCommand.js +30 -24
  93. package/features/DepsSync/commands/SyncDepsCommand.js.map +1 -1
  94. package/features/DepsSync/commands/VerifyDepsCommand.js +69 -70
  95. package/features/DepsSync/commands/VerifyDepsCommand.js.map +1 -1
  96. package/features/DepsSync/createDependencyTree.js +25 -18
  97. package/features/DepsSync/createDependencyTree.js.map +1 -1
  98. package/features/DepsSync/createReferenceFile.js +21 -25
  99. package/features/DepsSync/createReferenceFile.js.map +1 -1
  100. package/features/DepsSync/index.js +0 -2
  101. package/features/DepsSync/paths.js +3 -6
  102. package/features/DepsSync/paths.js.map +1 -1
  103. package/features/DepsSync/types.js +7 -6
  104. package/features/DepsSync/types.js.map +1 -1
  105. package/features/DestroyCommand/DestroyCommand.js +71 -67
  106. package/features/DestroyCommand/DestroyCommand.js.map +1 -1
  107. package/features/DestroyCommand/index.js +0 -2
  108. package/features/DisableTelemetryCommand.js +28 -25
  109. package/features/DisableTelemetryCommand.js.map +1 -1
  110. package/features/EnableTelemetryCommand.js +28 -25
  111. package/features/EnableTelemetryCommand.js.map +1 -1
  112. package/features/ExtensionCommand/ExtensionCommand.js +60 -63
  113. package/features/ExtensionCommand/ExtensionCommand.js.map +1 -1
  114. package/features/ExtensionCommand/index.js +0 -2
  115. package/features/InfoCommand/InfoCommand.js +54 -56
  116. package/features/InfoCommand/InfoCommand.js.map +1 -1
  117. package/features/InfoCommand/PrintInfoForEnv.js +31 -47
  118. package/features/InfoCommand/PrintInfoForEnv.js.map +1 -1
  119. package/features/InfoCommand/index.js +0 -2
  120. package/features/IsCi/IsCi.js +14 -11
  121. package/features/IsCi/IsCi.js.map +1 -1
  122. package/features/IsCi/index.js +1 -3
  123. package/features/OpenCommand.js +48 -47
  124. package/features/OpenCommand.js.map +1 -1
  125. package/features/OutputCommand.js +56 -69
  126. package/features/OutputCommand.js.map +1 -1
  127. package/features/PulumiCommand/PulumiCommand.js +48 -41
  128. package/features/PulumiCommand/PulumiCommand.js.map +1 -1
  129. package/features/PulumiCommand/index.js +0 -2
  130. package/features/RefreshCommand/RefreshCommand.js +42 -36
  131. package/features/RefreshCommand/RefreshCommand.js.map +1 -1
  132. package/features/RefreshCommand/index.js +0 -2
  133. package/features/UpgradeCommand/UpgradeCommand.js +112 -101
  134. package/features/UpgradeCommand/UpgradeCommand.js.map +1 -1
  135. package/features/UpgradeCommand/UpgradeCommandHandler.js +90 -101
  136. package/features/UpgradeCommand/UpgradeCommandHandler.js.map +1 -1
  137. package/features/UpgradeCommand/abstraction.js +2 -1
  138. package/features/UpgradeCommand/abstraction.js.map +1 -1
  139. package/features/UpgradeCommand/feature.js +7 -6
  140. package/features/UpgradeCommand/feature.js.map +1 -1
  141. package/features/UpgradeCommand/index.js +0 -2
  142. package/features/WatchCommand/WatchCommand.js +131 -131
  143. package/features/WatchCommand/WatchCommand.js.map +1 -1
  144. package/features/WatchCommand/createPrefixer.js +11 -15
  145. package/features/WatchCommand/createPrefixer.js.map +1 -1
  146. package/features/WatchCommand/getRandomColorForString.js +86 -8
  147. package/features/WatchCommand/getRandomColorForString.js.map +1 -1
  148. package/features/WatchCommand/index.js +0 -2
  149. package/features/Wcp/LinkProjectCommand.js +119 -138
  150. package/features/Wcp/LinkProjectCommand.js.map +1 -1
  151. package/features/Wcp/LoginCommand.js +104 -118
  152. package/features/Wcp/LoginCommand.js.map +1 -1
  153. package/features/Wcp/LogoutCommand.js +29 -23
  154. package/features/Wcp/LogoutCommand.js.map +1 -1
  155. package/features/Wcp/WhoAmICommand.js +33 -29
  156. package/features/Wcp/WhoAmICommand.js.map +1 -1
  157. package/features/common/index.js +0 -2
  158. package/features/common/options.js +41 -50
  159. package/features/common/options.js.map +1 -1
  160. package/features/globalOptions/LogLevelGlobalOption.js +25 -16
  161. package/features/globalOptions/LogLevelGlobalOption.js.map +1 -1
  162. package/features/globalOptions/ShowLogsGlobalOption.js +16 -15
  163. package/features/globalOptions/ShowLogsGlobalOption.js.map +1 -1
  164. package/features/globalOptions/StackTraceGlobalOption.js +16 -15
  165. package/features/globalOptions/StackTraceGlobalOption.js.map +1 -1
  166. package/features/globalOptions/index.js +0 -2
  167. package/features/gracefulErrorHandlers/DdbPutItemConditionalCheckFailedGracefulErrorHandler.js +17 -16
  168. package/features/gracefulErrorHandlers/DdbPutItemConditionalCheckFailedGracefulErrorHandler.js.map +1 -1
  169. package/features/gracefulErrorHandlers/MissingFilesInBuildGracefulErrorHandler.js +12 -18
  170. package/features/gracefulErrorHandlers/MissingFilesInBuildGracefulErrorHandler.js.map +1 -1
  171. package/features/gracefulErrorHandlers/PendingOperationsGracefulErrorHandler.js +19 -19
  172. package/features/gracefulErrorHandlers/PendingOperationsGracefulErrorHandler.js.map +1 -1
  173. package/features/gracefulErrorHandlers/index.js +0 -2
  174. package/features/index.js +0 -2
  175. package/features/utils/index.js +0 -2
  176. package/features/utils/measureDuration.js +7 -8
  177. package/features/utils/measureDuration.js.map +1 -1
  178. package/index.js +0 -2
  179. package/package.json +10 -10
  180. package/services/ArgvParserService/ArgvParserService.js +27 -33
  181. package/services/ArgvParserService/ArgvParserService.js.map +1 -1
  182. package/services/ArgvParserService/index.js +0 -2
  183. package/services/CliParamsService/CliParamsService.js +18 -15
  184. package/services/CliParamsService/CliParamsService.js.map +1 -1
  185. package/services/CliParamsService/index.js +0 -2
  186. package/services/CommandsRegistryService/CommandsRegistryService.js +19 -13
  187. package/services/CommandsRegistryService/CommandsRegistryService.js.map +1 -1
  188. package/services/CommandsRegistryService/index.js +0 -2
  189. package/services/GetArgvService/GetArgvService.js +14 -11
  190. package/services/GetArgvService/GetArgvService.js.map +1 -1
  191. package/services/GetArgvService/index.js +0 -2
  192. package/services/GetCliRunnerService/GetCliRunnerService.js +119 -155
  193. package/services/GetCliRunnerService/GetCliRunnerService.js.map +1 -1
  194. package/services/GetCliRunnerService/index.js +0 -2
  195. package/services/GetIsCiService/GetIsCiService.js +9 -8
  196. package/services/GetIsCiService/GetIsCiService.js.map +1 -1
  197. package/services/GetIsCiService/index.js +1 -3
  198. package/services/GetProjectSdkService/GetProjectSdkService.js +25 -24
  199. package/services/GetProjectSdkService/GetProjectSdkService.js.map +1 -1
  200. package/services/GetProjectSdkService/index.js +0 -2
  201. package/services/GlobalOptionsRegistryService/GlobalOptionsRegistryService.js +19 -13
  202. package/services/GlobalOptionsRegistryService/GlobalOptionsRegistryService.js.map +1 -1
  203. package/services/GlobalOptionsRegistryService/index.js +0 -2
  204. package/services/LoggerService/LoggerService.js +75 -87
  205. package/services/LoggerService/LoggerService.js.map +1 -1
  206. package/services/LoggerService/index.js +0 -2
  207. package/services/RunCliRunnerService/RunCliRunnerService.js +15 -13
  208. package/services/RunCliRunnerService/RunCliRunnerService.js.map +1 -1
  209. package/services/RunCliRunnerService/index.js +0 -2
  210. package/services/StdioService/StdioService.js +15 -14
  211. package/services/StdioService/StdioService.js.map +1 -1
  212. package/services/StdioService/index.js +0 -2
  213. package/services/UiService/UiService.js +55 -58
  214. package/services/UiService/UiService.js.map +1 -1
  215. package/services/UiService/index.js +0 -2
  216. package/services/index.js +0 -2
  217. package/utils/ManuallyReportedError.js +7 -6
  218. package/utils/ManuallyReportedError.js.map +1 -1
  219. package/abstractions/features/index.js.map +0 -1
  220. package/abstractions/features/types.js.map +0 -1
  221. package/abstractions/index.js.map +0 -1
  222. package/abstractions/services/index.js.map +0 -1
  223. package/decorators/index.js.map +0 -1
  224. package/exports/cli/command.js.map +0 -1
  225. package/exports/cli.js.map +0 -1
  226. package/features/BuildCommand/index.js.map +0 -1
  227. package/features/DeployCommand/index.js.map +0 -1
  228. package/features/DepsSync/index.js.map +0 -1
  229. package/features/DestroyCommand/index.js.map +0 -1
  230. package/features/ExtensionCommand/index.js.map +0 -1
  231. package/features/InfoCommand/index.js.map +0 -1
  232. package/features/IsCi/index.js.map +0 -1
  233. package/features/PulumiCommand/index.js.map +0 -1
  234. package/features/RefreshCommand/index.js.map +0 -1
  235. package/features/UpgradeCommand/index.js.map +0 -1
  236. package/features/WatchCommand/index.js.map +0 -1
  237. package/features/common/index.js.map +0 -1
  238. package/features/globalOptions/index.js.map +0 -1
  239. package/features/gracefulErrorHandlers/index.js.map +0 -1
  240. package/features/index.js.map +0 -1
  241. package/features/utils/index.js.map +0 -1
  242. package/index.js.map +0 -1
  243. package/services/ArgvParserService/index.js.map +0 -1
  244. package/services/CliParamsService/index.js.map +0 -1
  245. package/services/CommandsRegistryService/index.js.map +0 -1
  246. package/services/GetArgvService/index.js.map +0 -1
  247. package/services/GetCliRunnerService/index.js.map +0 -1
  248. package/services/GetIsCiService/index.js.map +0 -1
  249. package/services/GetProjectSdkService/index.js.map +0 -1
  250. package/services/GlobalOptionsRegistryService/index.js.map +0 -1
  251. package/services/LoggerService/index.js.map +0 -1
  252. package/services/RunCliRunnerService/index.js.map +0 -1
  253. package/services/StdioService/index.js.map +0 -1
  254. package/services/UiService/index.js.map +0 -1
  255. package/services/index.js.map +0 -1
@@ -6,138 +6,138 @@ import { getRandomColorForString } from "./getRandomColorForString.js";
6
6
  import { createPrefixer } from "./createPrefixer.js";
7
7
  const BASE_OPTIONS_GROUP = "Base Options:";
8
8
  const LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP = "Local AWS Lambda Development Options:";
9
- export class WatchCommand {
10
- constructor(getProjectSdkService, stdioService, uiService) {
11
- this.getProjectSdkService = getProjectSdkService;
12
- this.stdioService = stdioService;
13
- this.uiService = uiService;
14
- }
15
- async execute() {
16
- const projectSdk = await this.getProjectSdkService.execute();
17
- const stdio = this.stdioService;
18
- const ui = this.uiService;
19
- return {
20
- name: "watch",
21
- description: "Watches code changes for a specific app or package.",
22
- examples: ["watch api --env dev", "watch admin --env prod", "watch -p my-package1,my-package2", "watch api --env dev -p my-package1,my-package2"],
23
- params: [{
24
- name: "app",
25
- description: "Name of the app (core, admin, or api)",
26
- type: "string"
27
- }],
28
- options: [...createBaseAppOptions(projectSdk, {
29
- env: {
30
- group: BASE_OPTIONS_GROUP
31
- },
32
- variant: {
33
- group: BASE_OPTIONS_GROUP
34
- },
35
- region: {
36
- group: BASE_OPTIONS_GROUP
37
- }
38
- }), {
39
- name: "package",
40
- alias: "p",
41
- description: `One or more packages that will be watched for code changes`,
42
- type: "string",
43
- group: BASE_OPTIONS_GROUP
44
- }, {
45
- name: "function",
46
- alias: "f",
47
- description: "Specify one or more AWS Lambda functions to watch (comma-separated)",
48
- type: "string",
49
- group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
50
- }, {
51
- name: "increase-timeout",
52
- default: 120,
53
- description: "Increase AWS Lambda function timeout (passed as number of seconds)",
54
- type: "number",
55
- group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
56
- }, {
57
- name: "increase-handshake-timeout",
58
- default: 5,
59
- description: "Increase timeout for the initial handshake between a single AWS Lambda invocation and local code execution (passed as number of seconds)",
60
- type: "number",
61
- group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
62
- }, {
63
- name: "inspect",
64
- alias: "i",
65
- description: "[EXPERIMENTAL] Enable Node debugger",
66
- type: "string",
67
- group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
68
- }, {
69
- name: "allow-production",
70
- default: false,
71
- description: "Enables running the watch command against environments marked as production environments (not recommended).",
72
- type: "number"
73
- }, {
74
- name: "deployment-checks",
75
- default: true,
76
- description: `Enable or disable deployment checks. For example, if you are trying to watch the API app, but the 'api' app is not deployed yet, you will get a warning and the process will stop.`,
77
- type: "boolean"
78
- }],
79
- handler: async params => {
80
- const {
81
- packagesWatcher
82
- } = await projectSdk.watch(params);
83
-
84
- // TODO: Revisit this.
85
- // if (webinyConfigWatcher) {
86
- // webinyConfigWatcher
87
- // .onError(err => {
88
- // ui.error(
89
- // `There is an error in your %s file: ${err.message}`,
90
- // "webiny.config.tsx"
91
- // );
92
- // })
93
- // .onSuccess(() => {
94
- // ui.success(`%s compiled successfully!`, "webiny.config.tsx");
95
- // })
96
- // .run();
97
- // }
98
-
99
- // TODO: Extract this logic into WatchRunners, same thing we have with BuildRunners.
100
- const watchProcesses = packagesWatcher.prepare();
101
- if (watchProcesses.length === 1) {
102
- watchProcesses.setForkOptions({
103
- stdio: "inherit",
104
- env: process.env
105
- });
106
- const [firstProcess] = watchProcesses.getProcesses();
107
- ui.info(`Watching %s package...`, firstProcess.pkg.name);
108
- await firstProcess.run();
109
- return;
110
- }
111
- if (watchProcesses.length > 1) {
112
- ui.info(`Watching %s packages...`, watchProcesses.length);
113
- stdio.getStdout().setMaxListeners(20);
114
- stdio.getStderr().setMaxListeners(20);
115
- watchProcesses.forEach(watchProcess => {
116
- const {
117
- pkg
118
- } = watchProcess;
119
- const pkgPrefix = chalk.hex(getRandomColorForString(pkg.name))(pkg.name);
120
- watchProcess.pipeStdout(stdout => {
121
- const prefixedStdout = createPrefixer(pkgPrefix);
122
- stdout.pipe(prefixedStdout).pipe(stdio.getStdout());
123
- });
124
- watchProcess.pipeStderr(stderr => {
125
- const prefixedStderr = createPrefixer(pkgPrefix);
126
- stderr.pipe(prefixedStderr).pipe(stdio.getStderr());
127
- });
128
- });
129
- await Promise.all(watchProcesses.run());
130
- return;
131
- }
132
- ui.warning(`No watch processes were started. Please ensure that you have specified valid "app" or "package" parameters.`);
133
- }
134
- };
135
- }
9
+ class WatchCommand {
10
+ constructor(getProjectSdkService, stdioService, uiService){
11
+ this.getProjectSdkService = getProjectSdkService;
12
+ this.stdioService = stdioService;
13
+ this.uiService = uiService;
14
+ }
15
+ async execute() {
16
+ const projectSdk = await this.getProjectSdkService.execute();
17
+ const stdio = this.stdioService;
18
+ const ui = this.uiService;
19
+ return {
20
+ name: "watch",
21
+ description: "Watches code changes for a specific app or package.",
22
+ examples: [
23
+ "watch api --env dev",
24
+ "watch admin --env prod",
25
+ "watch -p my-package1,my-package2",
26
+ "watch api --env dev -p my-package1,my-package2"
27
+ ],
28
+ params: [
29
+ {
30
+ name: "app",
31
+ description: "Name of the app (core, admin, or api)",
32
+ type: "string"
33
+ }
34
+ ],
35
+ options: [
36
+ ...createBaseAppOptions(projectSdk, {
37
+ env: {
38
+ group: BASE_OPTIONS_GROUP
39
+ },
40
+ variant: {
41
+ group: BASE_OPTIONS_GROUP
42
+ },
43
+ region: {
44
+ group: BASE_OPTIONS_GROUP
45
+ }
46
+ }),
47
+ {
48
+ name: "package",
49
+ alias: "p",
50
+ description: "One or more packages that will be watched for code changes",
51
+ type: "string",
52
+ group: BASE_OPTIONS_GROUP
53
+ },
54
+ {
55
+ name: "function",
56
+ alias: "f",
57
+ description: "Specify one or more AWS Lambda functions to watch (comma-separated)",
58
+ type: "string",
59
+ group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
60
+ },
61
+ {
62
+ name: "increase-timeout",
63
+ default: 120,
64
+ description: "Increase AWS Lambda function timeout (passed as number of seconds)",
65
+ type: "number",
66
+ group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
67
+ },
68
+ {
69
+ name: "increase-handshake-timeout",
70
+ default: 5,
71
+ description: "Increase timeout for the initial handshake between a single AWS Lambda invocation and local code execution (passed as number of seconds)",
72
+ type: "number",
73
+ group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
74
+ },
75
+ {
76
+ name: "inspect",
77
+ alias: "i",
78
+ description: "[EXPERIMENTAL] Enable Node debugger",
79
+ type: "string",
80
+ group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP
81
+ },
82
+ {
83
+ name: "allow-production",
84
+ default: false,
85
+ description: "Enables running the watch command against environments marked as production environments (not recommended).",
86
+ type: "number"
87
+ },
88
+ {
89
+ name: "deployment-checks",
90
+ default: true,
91
+ description: "Enable or disable deployment checks. For example, if you are trying to watch the API app, but the 'api' app is not deployed yet, you will get a warning and the process will stop.",
92
+ type: "boolean"
93
+ }
94
+ ],
95
+ handler: async (params)=>{
96
+ const { packagesWatcher } = await projectSdk.watch(params);
97
+ const watchProcesses = packagesWatcher.prepare();
98
+ if (1 === watchProcesses.length) {
99
+ watchProcesses.setForkOptions({
100
+ stdio: "inherit",
101
+ env: process.env
102
+ });
103
+ const [firstProcess] = watchProcesses.getProcesses();
104
+ ui.info("Watching %s package...", firstProcess.pkg.name);
105
+ await firstProcess.run();
106
+ return;
107
+ }
108
+ if (watchProcesses.length > 1) {
109
+ ui.info("Watching %s packages...", watchProcesses.length);
110
+ stdio.getStdout().setMaxListeners(20);
111
+ stdio.getStderr().setMaxListeners(20);
112
+ watchProcesses.forEach((watchProcess)=>{
113
+ const { pkg } = watchProcess;
114
+ const pkgPrefix = chalk.hex(getRandomColorForString(pkg.name))(pkg.name);
115
+ watchProcess.pipeStdout((stdout)=>{
116
+ const prefixedStdout = createPrefixer(pkgPrefix);
117
+ stdout.pipe(prefixedStdout).pipe(stdio.getStdout());
118
+ });
119
+ watchProcess.pipeStderr((stderr)=>{
120
+ const prefixedStderr = createPrefixer(pkgPrefix);
121
+ stderr.pipe(prefixedStderr).pipe(stdio.getStderr());
122
+ });
123
+ });
124
+ await Promise.all(watchProcesses.run());
125
+ return;
126
+ }
127
+ ui.warning('No watch processes were started. Please ensure that you have specified valid "app" or "package" parameters.');
128
+ }
129
+ };
130
+ }
136
131
  }
137
- export const watchCommand = createImplementation({
138
- abstraction: CliCommandFactory,
139
- implementation: WatchCommand,
140
- dependencies: [GetProjectSdkService, StdioService, UiService]
132
+ const watchCommand = createImplementation({
133
+ abstraction: CliCommandFactory,
134
+ implementation: WatchCommand,
135
+ dependencies: [
136
+ GetProjectSdkService,
137
+ StdioService,
138
+ UiService
139
+ ]
141
140
  });
141
+ export { WatchCommand, watchCommand };
142
142
 
143
143
  //# sourceMappingURL=WatchCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","CliCommandFactory","GetProjectSdkService","StdioService","UiService","createBaseAppOptions","chalk","getRandomColorForString","createPrefixer","BASE_OPTIONS_GROUP","LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP","WatchCommand","constructor","getProjectSdkService","stdioService","uiService","execute","projectSdk","stdio","ui","name","description","examples","params","type","options","env","group","variant","region","alias","default","handler","packagesWatcher","watch","watchProcesses","prepare","length","setForkOptions","process","firstProcess","getProcesses","info","pkg","run","getStdout","setMaxListeners","getStderr","forEach","watchProcess","pkgPrefix","hex","pipeStdout","stdout","prefixedStdout","pipe","pipeStderr","stderr","prefixedStderr","Promise","all","warning","watchCommand","abstraction","implementation","dependencies"],"sources":["WatchCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n CliCommandFactory,\n GetProjectSdkService,\n StdioService,\n UiService\n} from \"~/abstractions/index.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\nimport chalk from \"chalk\";\nimport { getRandomColorForString } from \"./getRandomColorForString.js\";\nimport { createPrefixer } from \"./createPrefixer.js\";\n\nexport type IWatchCommandParams = IBaseAppParams;\n\nconst BASE_OPTIONS_GROUP = \"Base Options:\";\nconst LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP = \"Local AWS Lambda Development Options:\";\n\nexport class WatchCommand implements CliCommandFactory.Interface<IWatchCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private stdioService: StdioService.Interface,\n private uiService: UiService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IWatchCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n const stdio = this.stdioService;\n const ui = this.uiService;\n\n return {\n name: \"watch\",\n description: \"Watches code changes for a specific app or package.\",\n examples: [\n \"watch api --env dev\",\n \"watch admin --env prod\",\n \"watch -p my-package1,my-package2\",\n \"watch api --env dev -p my-package1,my-package2\"\n ],\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\"\n }\n ],\n options: [\n ...createBaseAppOptions(projectSdk, {\n env: { group: BASE_OPTIONS_GROUP },\n variant: { group: BASE_OPTIONS_GROUP },\n region: { group: BASE_OPTIONS_GROUP }\n }),\n {\n name: \"package\",\n alias: \"p\",\n description: `One or more packages that will be watched for code changes`,\n type: \"string\",\n group: BASE_OPTIONS_GROUP\n },\n {\n name: \"function\",\n alias: \"f\",\n description:\n \"Specify one or more AWS Lambda functions to watch (comma-separated)\",\n type: \"string\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"increase-timeout\",\n default: 120,\n description:\n \"Increase AWS Lambda function timeout (passed as number of seconds)\",\n type: \"number\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"increase-handshake-timeout\",\n default: 5,\n description:\n \"Increase timeout for the initial handshake between a single AWS Lambda invocation and local code execution (passed as number of seconds)\",\n type: \"number\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"inspect\",\n alias: \"i\",\n description: \"[EXPERIMENTAL] Enable Node debugger\",\n type: \"string\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"allow-production\",\n default: false,\n description:\n \"Enables running the watch command against environments marked as production environments (not recommended).\",\n type: \"number\"\n },\n {\n name: \"deployment-checks\",\n default: true,\n description: `Enable or disable deployment checks. For example, if you are trying to watch the API app, but the 'api' app is not deployed yet, you will get a warning and the process will stop.`,\n type: \"boolean\"\n }\n ],\n handler: async (params: IWatchCommandParams) => {\n const { packagesWatcher } = await projectSdk.watch(params);\n\n // TODO: Revisit this.\n // if (webinyConfigWatcher) {\n // webinyConfigWatcher\n // .onError(err => {\n // ui.error(\n // `There is an error in your %s file: ${err.message}`,\n // \"webiny.config.tsx\"\n // );\n // })\n // .onSuccess(() => {\n // ui.success(`%s compiled successfully!`, \"webiny.config.tsx\");\n // })\n // .run();\n // }\n\n // TODO: Extract this logic into WatchRunners, same thing we have with BuildRunners.\n const watchProcesses = packagesWatcher.prepare();\n if (watchProcesses.length === 1) {\n watchProcesses.setForkOptions({\n stdio: \"inherit\",\n env: process.env\n });\n\n const [firstProcess] = watchProcesses.getProcesses();\n ui.info(`Watching %s package...`, firstProcess.pkg.name);\n\n await firstProcess.run();\n return;\n }\n\n if (watchProcesses.length > 1) {\n ui.info(`Watching %s packages...`, watchProcesses.length);\n\n stdio.getStdout().setMaxListeners(20);\n stdio.getStderr().setMaxListeners(20);\n\n watchProcesses.forEach(watchProcess => {\n const { pkg } = watchProcess;\n const pkgPrefix = chalk.hex(getRandomColorForString(pkg.name))(pkg.name);\n\n watchProcess.pipeStdout(stdout => {\n const prefixedStdout = createPrefixer(pkgPrefix);\n stdout.pipe(prefixedStdout).pipe(stdio.getStdout());\n });\n\n watchProcess.pipeStderr(stderr => {\n const prefixedStderr = createPrefixer(pkgPrefix);\n stderr.pipe(prefixedStderr).pipe(stdio.getStderr());\n });\n });\n\n await Promise.all(watchProcesses.run());\n return;\n }\n\n ui.warning(\n `No watch processes were started. Please ensure that you have specified valid \"app\" or \"package\" parameters.`\n );\n }\n };\n }\n}\n\nexport const watchCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: WatchCommand,\n dependencies: [GetProjectSdkService, StdioService, UiService]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"features/WatchCommand/WatchCommand.js","sources":["../../../src/features/WatchCommand/WatchCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport {\n CliCommandFactory,\n GetProjectSdkService,\n StdioService,\n UiService\n} from \"~/abstractions/index.js\";\nimport { IBaseAppParams } from \"~/abstractions/features/types.js\";\nimport { createBaseAppOptions } from \"~/features/common/index.js\";\nimport chalk from \"chalk\";\nimport { getRandomColorForString } from \"./getRandomColorForString.js\";\nimport { createPrefixer } from \"./createPrefixer.js\";\n\nexport type IWatchCommandParams = IBaseAppParams;\n\nconst BASE_OPTIONS_GROUP = \"Base Options:\";\nconst LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP = \"Local AWS Lambda Development Options:\";\n\nexport class WatchCommand implements CliCommandFactory.Interface<IWatchCommandParams> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private stdioService: StdioService.Interface,\n private uiService: UiService.Interface\n ) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<IWatchCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n const stdio = this.stdioService;\n const ui = this.uiService;\n\n return {\n name: \"watch\",\n description: \"Watches code changes for a specific app or package.\",\n examples: [\n \"watch api --env dev\",\n \"watch admin --env prod\",\n \"watch -p my-package1,my-package2\",\n \"watch api --env dev -p my-package1,my-package2\"\n ],\n params: [\n {\n name: \"app\",\n description: \"Name of the app (core, admin, or api)\",\n type: \"string\"\n }\n ],\n options: [\n ...createBaseAppOptions(projectSdk, {\n env: { group: BASE_OPTIONS_GROUP },\n variant: { group: BASE_OPTIONS_GROUP },\n region: { group: BASE_OPTIONS_GROUP }\n }),\n {\n name: \"package\",\n alias: \"p\",\n description: `One or more packages that will be watched for code changes`,\n type: \"string\",\n group: BASE_OPTIONS_GROUP\n },\n {\n name: \"function\",\n alias: \"f\",\n description:\n \"Specify one or more AWS Lambda functions to watch (comma-separated)\",\n type: \"string\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"increase-timeout\",\n default: 120,\n description:\n \"Increase AWS Lambda function timeout (passed as number of seconds)\",\n type: \"number\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"increase-handshake-timeout\",\n default: 5,\n description:\n \"Increase timeout for the initial handshake between a single AWS Lambda invocation and local code execution (passed as number of seconds)\",\n type: \"number\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"inspect\",\n alias: \"i\",\n description: \"[EXPERIMENTAL] Enable Node debugger\",\n type: \"string\",\n group: LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP\n },\n {\n name: \"allow-production\",\n default: false,\n description:\n \"Enables running the watch command against environments marked as production environments (not recommended).\",\n type: \"number\"\n },\n {\n name: \"deployment-checks\",\n default: true,\n description: `Enable or disable deployment checks. For example, if you are trying to watch the API app, but the 'api' app is not deployed yet, you will get a warning and the process will stop.`,\n type: \"boolean\"\n }\n ],\n handler: async (params: IWatchCommandParams) => {\n const { packagesWatcher } = await projectSdk.watch(params);\n\n // TODO: Revisit this.\n // if (webinyConfigWatcher) {\n // webinyConfigWatcher\n // .onError(err => {\n // ui.error(\n // `There is an error in your %s file: ${err.message}`,\n // \"webiny.config.tsx\"\n // );\n // })\n // .onSuccess(() => {\n // ui.success(`%s compiled successfully!`, \"webiny.config.tsx\");\n // })\n // .run();\n // }\n\n // TODO: Extract this logic into WatchRunners, same thing we have with BuildRunners.\n const watchProcesses = packagesWatcher.prepare();\n if (watchProcesses.length === 1) {\n watchProcesses.setForkOptions({\n stdio: \"inherit\",\n env: process.env\n });\n\n const [firstProcess] = watchProcesses.getProcesses();\n ui.info(`Watching %s package...`, firstProcess.pkg.name);\n\n await firstProcess.run();\n return;\n }\n\n if (watchProcesses.length > 1) {\n ui.info(`Watching %s packages...`, watchProcesses.length);\n\n stdio.getStdout().setMaxListeners(20);\n stdio.getStderr().setMaxListeners(20);\n\n watchProcesses.forEach(watchProcess => {\n const { pkg } = watchProcess;\n const pkgPrefix = chalk.hex(getRandomColorForString(pkg.name))(pkg.name);\n\n watchProcess.pipeStdout(stdout => {\n const prefixedStdout = createPrefixer(pkgPrefix);\n stdout.pipe(prefixedStdout).pipe(stdio.getStdout());\n });\n\n watchProcess.pipeStderr(stderr => {\n const prefixedStderr = createPrefixer(pkgPrefix);\n stderr.pipe(prefixedStderr).pipe(stdio.getStderr());\n });\n });\n\n await Promise.all(watchProcesses.run());\n return;\n }\n\n ui.warning(\n `No watch processes were started. Please ensure that you have specified valid \"app\" or \"package\" parameters.`\n );\n }\n };\n }\n}\n\nexport const watchCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: WatchCommand,\n dependencies: [GetProjectSdkService, StdioService, UiService]\n});\n"],"names":["BASE_OPTIONS_GROUP","LOCAL_AWS_LAMBDA_DEVELOPMENT_GROUP","WatchCommand","getProjectSdkService","stdioService","uiService","projectSdk","stdio","ui","createBaseAppOptions","params","packagesWatcher","watchProcesses","process","firstProcess","watchProcess","pkg","pkgPrefix","chalk","getRandomColorForString","stdout","prefixedStdout","createPrefixer","stderr","prefixedStderr","Promise","watchCommand","createImplementation","CliCommandFactory","GetProjectSdkService","StdioService","UiService"],"mappings":"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"}
@@ -1,20 +1,16 @@
1
1
  import { Transform } from "node:stream";
2
- export function createPrefixer(prefix) {
3
- // This returns a Transform stream that prefixes each line
4
- return new Transform({
5
- readableObjectMode: true,
6
- writableObjectMode: true,
7
- transform(chunk, encoding, callback) {
8
- const str = chunk.toString();
9
- const lines = str.split(/\r?\n/);
10
- for (let i = 0; i < lines.length; i++) {
11
- if (lines[i].trim() !== "") {
12
- this.push(`${prefix}: ${lines[i]}\n`);
2
+ function createPrefixer(prefix) {
3
+ return new Transform({
4
+ readableObjectMode: true,
5
+ writableObjectMode: true,
6
+ transform (chunk, encoding, callback) {
7
+ const str = chunk.toString();
8
+ const lines = str.split(/\r?\n/);
9
+ for(let i = 0; i < lines.length; i++)if ("" !== lines[i].trim()) this.push(`${prefix}: ${lines[i]}\n`);
10
+ callback();
13
11
  }
14
- }
15
- callback();
16
- }
17
- });
12
+ });
18
13
  }
14
+ export { createPrefixer };
19
15
 
20
16
  //# sourceMappingURL=createPrefixer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Transform","createPrefixer","prefix","readableObjectMode","writableObjectMode","transform","chunk","encoding","callback","str","toString","lines","split","i","length","trim","push"],"sources":["createPrefixer.ts"],"sourcesContent":["import { Transform } from \"node:stream\";\n\nexport function createPrefixer(prefix: string) {\n // This returns a Transform stream that prefixes each line\n return new Transform({\n readableObjectMode: true,\n writableObjectMode: true,\n transform(chunk, encoding, callback) {\n const str = chunk.toString();\n const lines = str.split(/\\r?\\n/);\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].trim() !== \"\") {\n this.push(`${prefix}: ${lines[i]}\\n`);\n }\n }\n callback();\n }\n });\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,aAAa;AAEvC,OAAO,SAASC,cAAcA,CAACC,MAAc,EAAE;EAC3C;EACA,OAAO,IAAIF,SAAS,CAAC;IACjBG,kBAAkB,EAAE,IAAI;IACxBC,kBAAkB,EAAE,IAAI;IACxBC,SAASA,CAACC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAE;MACjC,MAAMC,GAAG,GAAGH,KAAK,CAACI,QAAQ,CAAC,CAAC;MAC5B,MAAMC,KAAK,GAAGF,GAAG,CAACG,KAAK,CAAC,OAAO,CAAC;MAChC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;QACnC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;UACxB,IAAI,CAACC,IAAI,CAAC,GAAGd,MAAM,KAAKS,KAAK,CAACE,CAAC,CAAC,IAAI,CAAC;QACzC;MACJ;MACAL,QAAQ,CAAC,CAAC;IACd;EACJ,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"file":"features/WatchCommand/createPrefixer.js","sources":["../../../src/features/WatchCommand/createPrefixer.ts"],"sourcesContent":["import { Transform } from \"node:stream\";\n\nexport function createPrefixer(prefix: string) {\n // This returns a Transform stream that prefixes each line\n return new Transform({\n readableObjectMode: true,\n writableObjectMode: true,\n transform(chunk, encoding, callback) {\n const str = chunk.toString();\n const lines = str.split(/\\r?\\n/);\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].trim() !== \"\") {\n this.push(`${prefix}: ${lines[i]}\\n`);\n }\n }\n callback();\n }\n });\n}\n"],"names":["createPrefixer","prefix","Transform","chunk","encoding","callback","str","lines","i"],"mappings":";AAEO,SAASA,eAAeC,MAAc;IAEzC,OAAO,IAAIC,UAAU;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,WAAUC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ;YAC/B,MAAMC,MAAMH,MAAM,QAAQ;YAC1B,MAAMI,QAAQD,IAAI,KAAK,CAAC;YACxB,IAAK,IAAIE,IAAI,GAAGA,IAAID,MAAM,MAAM,EAAEC,IAC9B,IAAID,AAAoB,OAApBA,KAAK,CAACC,EAAE,CAAC,IAAI,IACb,IAAI,CAAC,IAAI,CAAC,GAAGP,OAAO,EAAE,EAAEM,KAAK,CAACC,EAAE,CAAC,EAAE,CAAC;YAG5CH;QACJ;IACJ;AACJ"}
@@ -1,11 +1,89 @@
1
- const colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"];
2
- export const getRandomColorForString = value => {
3
- let hash = 0;
4
- for (let i = 0; i < value.length; i++) {
5
- hash = (hash << 5) - hash + value.charCodeAt(i);
6
- hash |= 0; // Convert to 32bit integer
7
- }
8
- return colors[Math.abs(hash) % colors.length];
1
+ const colors = [
2
+ "#0000CC",
3
+ "#0000FF",
4
+ "#0033CC",
5
+ "#0033FF",
6
+ "#0066CC",
7
+ "#0066FF",
8
+ "#0099CC",
9
+ "#0099FF",
10
+ "#00CC00",
11
+ "#00CC33",
12
+ "#00CC66",
13
+ "#00CC99",
14
+ "#00CCCC",
15
+ "#00CCFF",
16
+ "#3300CC",
17
+ "#3300FF",
18
+ "#3333CC",
19
+ "#3333FF",
20
+ "#3366CC",
21
+ "#3366FF",
22
+ "#3399CC",
23
+ "#3399FF",
24
+ "#33CC00",
25
+ "#33CC33",
26
+ "#33CC66",
27
+ "#33CC99",
28
+ "#33CCCC",
29
+ "#33CCFF",
30
+ "#6600CC",
31
+ "#6600FF",
32
+ "#6633CC",
33
+ "#6633FF",
34
+ "#66CC00",
35
+ "#66CC33",
36
+ "#9900CC",
37
+ "#9900FF",
38
+ "#9933CC",
39
+ "#9933FF",
40
+ "#99CC00",
41
+ "#99CC33",
42
+ "#CC0000",
43
+ "#CC0033",
44
+ "#CC0066",
45
+ "#CC0099",
46
+ "#CC00CC",
47
+ "#CC00FF",
48
+ "#CC3300",
49
+ "#CC3333",
50
+ "#CC3366",
51
+ "#CC3399",
52
+ "#CC33CC",
53
+ "#CC33FF",
54
+ "#CC6600",
55
+ "#CC6633",
56
+ "#CC9900",
57
+ "#CC9933",
58
+ "#CCCC00",
59
+ "#CCCC33",
60
+ "#FF0000",
61
+ "#FF0033",
62
+ "#FF0066",
63
+ "#FF0099",
64
+ "#FF00CC",
65
+ "#FF00FF",
66
+ "#FF3300",
67
+ "#FF3333",
68
+ "#FF3366",
69
+ "#FF3399",
70
+ "#FF33CC",
71
+ "#FF33FF",
72
+ "#FF6600",
73
+ "#FF6633",
74
+ "#FF9900",
75
+ "#FF9933",
76
+ "#FFCC00",
77
+ "#FFCC33"
78
+ ];
79
+ const getRandomColorForString = (value)=>{
80
+ let hash = 0;
81
+ for(let i = 0; i < value.length; i++){
82
+ hash = (hash << 5) - hash + value.charCodeAt(i);
83
+ hash |= 0;
84
+ }
85
+ return colors[Math.abs(hash) % colors.length];
9
86
  };
87
+ export { getRandomColorForString };
10
88
 
11
89
  //# sourceMappingURL=getRandomColorForString.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["colors","getRandomColorForString","value","hash","i","length","charCodeAt","Math","abs"],"sources":["getRandomColorForString.ts"],"sourcesContent":["const colors = [\n \"#0000CC\",\n \"#0000FF\",\n \"#0033CC\",\n \"#0033FF\",\n \"#0066CC\",\n \"#0066FF\",\n \"#0099CC\",\n \"#0099FF\",\n \"#00CC00\",\n \"#00CC33\",\n \"#00CC66\",\n \"#00CC99\",\n \"#00CCCC\",\n \"#00CCFF\",\n \"#3300CC\",\n \"#3300FF\",\n \"#3333CC\",\n \"#3333FF\",\n \"#3366CC\",\n \"#3366FF\",\n \"#3399CC\",\n \"#3399FF\",\n \"#33CC00\",\n \"#33CC33\",\n \"#33CC66\",\n \"#33CC99\",\n \"#33CCCC\",\n \"#33CCFF\",\n \"#6600CC\",\n \"#6600FF\",\n \"#6633CC\",\n \"#6633FF\",\n \"#66CC00\",\n \"#66CC33\",\n \"#9900CC\",\n \"#9900FF\",\n \"#9933CC\",\n \"#9933FF\",\n \"#99CC00\",\n \"#99CC33\",\n \"#CC0000\",\n \"#CC0033\",\n \"#CC0066\",\n \"#CC0099\",\n \"#CC00CC\",\n \"#CC00FF\",\n \"#CC3300\",\n \"#CC3333\",\n \"#CC3366\",\n \"#CC3399\",\n \"#CC33CC\",\n \"#CC33FF\",\n \"#CC6600\",\n \"#CC6633\",\n \"#CC9900\",\n \"#CC9933\",\n \"#CCCC00\",\n \"#CCCC33\",\n \"#FF0000\",\n \"#FF0033\",\n \"#FF0066\",\n \"#FF0099\",\n \"#FF00CC\",\n \"#FF00FF\",\n \"#FF3300\",\n \"#FF3333\",\n \"#FF3366\",\n \"#FF3399\",\n \"#FF33CC\",\n \"#FF33FF\",\n \"#FF6600\",\n \"#FF6633\",\n \"#FF9900\",\n \"#FF9933\",\n \"#FFCC00\",\n \"#FFCC33\"\n];\n\nexport const getRandomColorForString = (value: string) => {\n let hash = 0;\n\n for (let i = 0; i < value.length; i++) {\n hash = (hash << 5) - hash + value.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return colors[Math.abs(hash) % colors.length];\n};\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,CACX,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CACZ;AAED,OAAO,MAAMC,uBAAuB,GAAIC,KAAa,IAAK;EACtD,IAAIC,IAAI,GAAG,CAAC;EAEZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IACnCD,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC,IAAIA,IAAI,GAAGD,KAAK,CAACI,UAAU,CAACF,CAAC,CAAC;IAC/CD,IAAI,IAAI,CAAC,CAAC,CAAC;EACf;EAEA,OAAOH,MAAM,CAACO,IAAI,CAACC,GAAG,CAACL,IAAI,CAAC,GAAGH,MAAM,CAACK,MAAM,CAAC;AACjD,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/WatchCommand/getRandomColorForString.js","sources":["../../../src/features/WatchCommand/getRandomColorForString.ts"],"sourcesContent":["const colors = [\n \"#0000CC\",\n \"#0000FF\",\n \"#0033CC\",\n \"#0033FF\",\n \"#0066CC\",\n \"#0066FF\",\n \"#0099CC\",\n \"#0099FF\",\n \"#00CC00\",\n \"#00CC33\",\n \"#00CC66\",\n \"#00CC99\",\n \"#00CCCC\",\n \"#00CCFF\",\n \"#3300CC\",\n \"#3300FF\",\n \"#3333CC\",\n \"#3333FF\",\n \"#3366CC\",\n \"#3366FF\",\n \"#3399CC\",\n \"#3399FF\",\n \"#33CC00\",\n \"#33CC33\",\n \"#33CC66\",\n \"#33CC99\",\n \"#33CCCC\",\n \"#33CCFF\",\n \"#6600CC\",\n \"#6600FF\",\n \"#6633CC\",\n \"#6633FF\",\n \"#66CC00\",\n \"#66CC33\",\n \"#9900CC\",\n \"#9900FF\",\n \"#9933CC\",\n \"#9933FF\",\n \"#99CC00\",\n \"#99CC33\",\n \"#CC0000\",\n \"#CC0033\",\n \"#CC0066\",\n \"#CC0099\",\n \"#CC00CC\",\n \"#CC00FF\",\n \"#CC3300\",\n \"#CC3333\",\n \"#CC3366\",\n \"#CC3399\",\n \"#CC33CC\",\n \"#CC33FF\",\n \"#CC6600\",\n \"#CC6633\",\n \"#CC9900\",\n \"#CC9933\",\n \"#CCCC00\",\n \"#CCCC33\",\n \"#FF0000\",\n \"#FF0033\",\n \"#FF0066\",\n \"#FF0099\",\n \"#FF00CC\",\n \"#FF00FF\",\n \"#FF3300\",\n \"#FF3333\",\n \"#FF3366\",\n \"#FF3399\",\n \"#FF33CC\",\n \"#FF33FF\",\n \"#FF6600\",\n \"#FF6633\",\n \"#FF9900\",\n \"#FF9933\",\n \"#FFCC00\",\n \"#FFCC33\"\n];\n\nexport const getRandomColorForString = (value: string) => {\n let hash = 0;\n\n for (let i = 0; i < value.length; i++) {\n hash = (hash << 5) - hash + value.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return colors[Math.abs(hash) % colors.length];\n};\n"],"names":["colors","getRandomColorForString","value","hash","i","Math"],"mappings":"AAAA,MAAMA,SAAS;IACX;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AAEM,MAAMC,0BAA0B,CAACC;IACpC,IAAIC,OAAO;IAEX,IAAK,IAAIC,IAAI,GAAGA,IAAIF,MAAM,MAAM,EAAEE,IAAK;QACnCD,OAAQA,AAAAA,CAAAA,QAAQ,KAAKA,OAAOD,MAAM,UAAU,CAACE;QAC7CD,QAAQ;IACZ;IAEA,OAAOH,MAAM,CAACK,KAAK,GAAG,CAACF,QAAQH,OAAO,MAAM,CAAC;AACjD"}
@@ -1,3 +1 @@
1
1
  export * from "./WatchCommand.js";
2
-
3
- //# sourceMappingURL=index.js.map