@camunda/ccma-shared-types 0.0.1

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 (284) hide show
  1. package/dist/_tests/constants/pre89EnvVarMapping.const.spec.d.ts +1 -0
  2. package/dist/_tests/types/SuspendStrategy.type.spec.d.ts +1 -0
  3. package/dist/_tests/utils/string-validation.utils.spec.d.ts +1 -0
  4. package/dist/_tests/utils/versionCheck.utils.spec.d.ts +1 -0
  5. package/dist/config/camundi-permission-rules.d.ts +3 -0
  6. package/dist/config/camundi-permission-rules.js +44 -0
  7. package/dist/config/camundi-permission-rules.js.map +7 -0
  8. package/dist/config/camundi-permission-rules.types.d.ts +52 -0
  9. package/dist/config/camundi-permission-rules.types.js +9 -0
  10. package/dist/config/camundi-permission-rules.types.js.map +7 -0
  11. package/dist/constants/duration.const.d.ts +5 -0
  12. package/dist/constants/duration.const.js +13 -0
  13. package/dist/constants/duration.const.js.map +7 -0
  14. package/dist/constants/misc.const.d.ts +73 -0
  15. package/dist/constants/misc.const.js +115 -0
  16. package/dist/constants/misc.const.js.map +7 -0
  17. package/dist/constants/pre89EnvVarMapping.const.d.ts +44 -0
  18. package/dist/constants/pre89EnvVarMapping.const.js +72 -0
  19. package/dist/constants/pre89EnvVarMapping.const.js.map +7 -0
  20. package/dist/constants/privateLinkRegions.const.d.ts +1 -0
  21. package/dist/constants/privateLinkRegions.const.js +40 -0
  22. package/dist/constants/privateLinkRegions.const.js.map +7 -0
  23. package/dist/dtos/AlertSubscription.dto.d.ts +37 -0
  24. package/dist/dtos/AlertSubscription.dto.js +22 -0
  25. package/dist/dtos/AlertSubscription.dto.js.map +7 -0
  26. package/dist/dtos/Audit.dto.d.ts +15 -0
  27. package/dist/dtos/Audit.dto.js +1 -0
  28. package/dist/dtos/Audit.dto.js.map +7 -0
  29. package/dist/dtos/Auth0ResourceServer.dto.d.ts +9 -0
  30. package/dist/dtos/Auth0ResourceServer.dto.js +1 -0
  31. package/dist/dtos/Auth0ResourceServer.dto.js.map +7 -0
  32. package/dist/dtos/Backup.dto.d.ts +12 -0
  33. package/dist/dtos/Backup.dto.js +1 -0
  34. package/dist/dtos/Backup.dto.js.map +7 -0
  35. package/dist/dtos/BackupSchedule.dto.d.ts +4 -0
  36. package/dist/dtos/BackupSchedule.dto.js +1 -0
  37. package/dist/dtos/BackupSchedule.dto.js.map +7 -0
  38. package/dist/dtos/ByomClient.dto.d.ts +17 -0
  39. package/dist/dtos/ByomClient.dto.js +1 -0
  40. package/dist/dtos/ByomClient.dto.js.map +7 -0
  41. package/dist/dtos/ClusterIpWhitelist.dto.d.ts +4 -0
  42. package/dist/dtos/ClusterIpWhitelist.dto.js +1 -0
  43. package/dist/dtos/ClusterIpWhitelist.dto.js.map +7 -0
  44. package/dist/dtos/ClusterPlan.dto.d.ts +10 -0
  45. package/dist/dtos/ClusterPlan.dto.js +1 -0
  46. package/dist/dtos/ClusterPlan.dto.js.map +7 -0
  47. package/dist/dtos/ClusterPlanType.dto.d.ts +15 -0
  48. package/dist/dtos/ClusterPlanType.dto.js +1 -0
  49. package/dist/dtos/ClusterPlanType.dto.js.map +7 -0
  50. package/dist/dtos/CommonCluster.dto.d.ts +66 -0
  51. package/dist/dtos/CommonCluster.dto.js +1 -0
  52. package/dist/dtos/CommonCluster.dto.js.map +7 -0
  53. package/dist/dtos/ConsoleCluster.dto.d.ts +16 -0
  54. package/dist/dtos/ConsoleCluster.dto.js +1 -0
  55. package/dist/dtos/ConsoleCluster.dto.js.map +7 -0
  56. package/dist/dtos/EarlyAccessFeature.dto.d.ts +18 -0
  57. package/dist/dtos/EarlyAccessFeature.dto.js +1 -0
  58. package/dist/dtos/EarlyAccessFeature.dto.js.map +7 -0
  59. package/dist/dtos/Generations.dto.d.ts +27 -0
  60. package/dist/dtos/Generations.dto.js +21 -0
  61. package/dist/dtos/Generations.dto.js.map +7 -0
  62. package/dist/dtos/Hdp.dto.d.ts +25 -0
  63. package/dist/dtos/Hdp.dto.js +1 -0
  64. package/dist/dtos/Hdp.dto.js.map +7 -0
  65. package/dist/dtos/K8sContext.dto.d.ts +45 -0
  66. package/dist/dtos/K8sContext.dto.js +1 -0
  67. package/dist/dtos/K8sContext.dto.js.map +7 -0
  68. package/dist/dtos/Meta.dto.d.ts +3 -0
  69. package/dist/dtos/Meta.dto.js +1 -0
  70. package/dist/dtos/Meta.dto.js.map +7 -0
  71. package/dist/dtos/Organization.dto.d.ts +51 -0
  72. package/dist/dtos/Organization.dto.js +1 -0
  73. package/dist/dtos/Organization.dto.js.map +7 -0
  74. package/dist/dtos/OrganizationMember.dto.d.ts +11 -0
  75. package/dist/dtos/OrganizationMember.dto.js +1 -0
  76. package/dist/dtos/OrganizationMember.dto.js.map +7 -0
  77. package/dist/dtos/OrganizationToSalesPlan.dto.d.ts +19 -0
  78. package/dist/dtos/OrganizationToSalesPlan.dto.js +1 -0
  79. package/dist/dtos/OrganizationToSalesPlan.dto.js.map +7 -0
  80. package/dist/dtos/SalesPlan.dto.d.ts +77 -0
  81. package/dist/dtos/SalesPlan.dto.js +119 -0
  82. package/dist/dtos/SalesPlan.dto.js.map +7 -0
  83. package/dist/dtos/SecureConnectivity.dto.d.ts +42 -0
  84. package/dist/dtos/SecureConnectivity.dto.js +1 -0
  85. package/dist/dtos/SecureConnectivity.dto.js.map +7 -0
  86. package/dist/dtos/Signup.dto.d.ts +38 -0
  87. package/dist/dtos/Signup.dto.js +1 -0
  88. package/dist/dtos/Signup.dto.js.map +7 -0
  89. package/dist/dtos/UsageAlert.dto.d.ts +25 -0
  90. package/dist/dtos/UsageAlert.dto.js +20 -0
  91. package/dist/dtos/UsageAlert.dto.js.map +7 -0
  92. package/dist/dtos/UserMetaData.dto.d.ts +12 -0
  93. package/dist/dtos/UserMetaData.dto.js +1 -0
  94. package/dist/dtos/UserMetaData.dto.js.map +7 -0
  95. package/dist/enums/AlertSubscription.enum.d.ts +9 -0
  96. package/dist/enums/AlertSubscription.enum.js +16 -0
  97. package/dist/enums/AlertSubscription.enum.js.map +7 -0
  98. package/dist/enums/AuditEntity.enum.d.ts +48 -0
  99. package/dist/enums/AuditEntity.enum.js +55 -0
  100. package/dist/enums/AuditEntity.enum.js.map +7 -0
  101. package/dist/enums/AuditService.enum.d.ts +4 -0
  102. package/dist/enums/AuditService.enum.js +9 -0
  103. package/dist/enums/AuditService.enum.js.map +7 -0
  104. package/dist/enums/BackupStatus.enum.d.ts +6 -0
  105. package/dist/enums/BackupStatus.enum.js +11 -0
  106. package/dist/enums/BackupStatus.enum.js.map +7 -0
  107. package/dist/enums/ClusterBulkOperation.enum.d.ts +14 -0
  108. package/dist/enums/ClusterBulkOperation.enum.js +21 -0
  109. package/dist/enums/ClusterBulkOperation.enum.js.map +7 -0
  110. package/dist/enums/ClusterClientPermissions.enum.d.ts +7 -0
  111. package/dist/enums/ClusterClientPermissions.enum.js +12 -0
  112. package/dist/enums/ClusterClientPermissions.enum.js.map +7 -0
  113. package/dist/enums/ClusterEncryptionKey.enum.d.ts +6 -0
  114. package/dist/enums/ClusterEncryptionKey.enum.js +11 -0
  115. package/dist/enums/ClusterEncryptionKey.enum.js.map +7 -0
  116. package/dist/enums/ClusterStatus.enum.d.ts +8 -0
  117. package/dist/enums/ClusterStatus.enum.js +13 -0
  118. package/dist/enums/ClusterStatus.enum.js.map +7 -0
  119. package/dist/enums/ConsoleApiClientPermission.enum.d.ts +35 -0
  120. package/dist/enums/ConsoleApiClientPermission.enum.js +40 -0
  121. package/dist/enums/ConsoleApiClientPermission.enum.js.map +7 -0
  122. package/dist/enums/ErrorType.enum.d.ts +12 -0
  123. package/dist/enums/ErrorType.enum.js +17 -0
  124. package/dist/enums/ErrorType.enum.js.map +7 -0
  125. package/dist/enums/OrganizationRole.enum.d.ts +30 -0
  126. package/dist/enums/OrganizationRole.enum.js +35 -0
  127. package/dist/enums/OrganizationRole.enum.js.map +7 -0
  128. package/dist/enums/Sse.enum.d.ts +19 -0
  129. package/dist/enums/Sse.enum.js +26 -0
  130. package/dist/enums/Sse.enum.js.map +7 -0
  131. package/dist/index.d.ts +113 -0
  132. package/dist/index.js +324 -0
  133. package/dist/index.js.map +7 -0
  134. package/dist/permissions/accounts.permissions.d.ts +171 -0
  135. package/dist/permissions/accounts.permissions.js +562 -0
  136. package/dist/permissions/accounts.permissions.js.map +7 -0
  137. package/dist/permissions/alert-distributor.permissions.d.ts +26 -0
  138. package/dist/permissions/alert-distributor.permissions.js +68 -0
  139. package/dist/permissions/alert-distributor.permissions.js.map +7 -0
  140. package/dist/permissions/auditlogger.permissions.d.ts +16 -0
  141. package/dist/permissions/auditlogger.permissions.js +42 -0
  142. package/dist/permissions/auditlogger.permissions.js.map +7 -0
  143. package/dist/permissions/combo.d.ts +4 -0
  144. package/dist/permissions/combo.js +299 -0
  145. package/dist/permissions/combo.js.map +7 -0
  146. package/dist/permissions/console.permissions.d.ts +114 -0
  147. package/dist/permissions/console.permissions.js +369 -0
  148. package/dist/permissions/console.permissions.js.map +7 -0
  149. package/dist/permissions/notification.permissions.d.ts +36 -0
  150. package/dist/permissions/notification.permissions.js +101 -0
  151. package/dist/permissions/notification.permissions.js.map +7 -0
  152. package/dist/permissions/profile.permissions.d.ts +18 -0
  153. package/dist/permissions/profile.permissions.js +272 -0
  154. package/dist/permissions/profile.permissions.js.map +7 -0
  155. package/dist/permissions/roleExpansion.utils.d.ts +10 -0
  156. package/dist/permissions/roleExpansion.utils.js +27 -0
  157. package/dist/permissions/roleExpansion.utils.js.map +7 -0
  158. package/dist/types/AuditData.type.d.ts +20 -0
  159. package/dist/types/AuditData.type.js +1 -0
  160. package/dist/types/AuditData.type.js.map +7 -0
  161. package/dist/types/Bot.types.d.ts +44 -0
  162. package/dist/types/Bot.types.js +1 -0
  163. package/dist/types/Bot.types.js.map +7 -0
  164. package/dist/types/BulkOperation.type.d.ts +57 -0
  165. package/dist/types/BulkOperation.type.js +19 -0
  166. package/dist/types/BulkOperation.type.js.map +7 -0
  167. package/dist/types/C8ClusterComponentVersions.type.d.ts +24 -0
  168. package/dist/types/C8ClusterComponentVersions.type.js +26 -0
  169. package/dist/types/C8ClusterComponentVersions.type.js.map +7 -0
  170. package/dist/types/CamundaClusterLabels.type.d.ts +13 -0
  171. package/dist/types/CamundaClusterLabels.type.js +12 -0
  172. package/dist/types/CamundaClusterLabels.type.js.map +7 -0
  173. package/dist/types/Chargebee.type.d.ts +19 -0
  174. package/dist/types/Chargebee.type.js +15 -0
  175. package/dist/types/Chargebee.type.js.map +7 -0
  176. package/dist/types/ClusterBulkOperation.type.d.ts +67 -0
  177. package/dist/types/ClusterBulkOperation.type.js +1 -0
  178. package/dist/types/ClusterBulkOperation.type.js.map +7 -0
  179. package/dist/types/ClusterModification.type.d.ts +26 -0
  180. package/dist/types/ClusterModification.type.js +1 -0
  181. package/dist/types/ClusterModification.type.js.map +7 -0
  182. package/dist/types/ClusterPlanModification.type.d.ts +22 -0
  183. package/dist/types/ClusterPlanModification.type.js +1 -0
  184. package/dist/types/ClusterPlanModification.type.js.map +7 -0
  185. package/dist/types/ClusterPlanTypeAvailabilityClass.type.d.ts +7 -0
  186. package/dist/types/ClusterPlanTypeAvailabilityClass.type.js +21 -0
  187. package/dist/types/ClusterPlanTypeAvailabilityClass.type.js.map +7 -0
  188. package/dist/types/ClusterPlanTypeCategory.type.d.ts +13 -0
  189. package/dist/types/ClusterPlanTypeCategory.type.js +40 -0
  190. package/dist/types/ClusterPlanTypeCategory.type.js.map +7 -0
  191. package/dist/types/ClusterPlanTypesToConfig.type.d.ts +7 -0
  192. package/dist/types/ClusterPlanTypesToConfig.type.js +1 -0
  193. package/dist/types/ClusterPlanTypesToConfig.type.js.map +7 -0
  194. package/dist/types/ClusterPlanTypesToReserved.type.d.ts +3 -0
  195. package/dist/types/ClusterPlanTypesToReserved.type.js +1 -0
  196. package/dist/types/ClusterPlanTypesToReserved.type.js.map +7 -0
  197. package/dist/types/ClusterUsageMetrics.type.d.ts +49 -0
  198. package/dist/types/ClusterUsageMetrics.type.js +1 -0
  199. package/dist/types/ClusterUsageMetrics.type.js.map +7 -0
  200. package/dist/types/ConsoleSelfManaged.type.d.ts +200 -0
  201. package/dist/types/ConsoleSelfManaged.type.js +93 -0
  202. package/dist/types/ConsoleSelfManaged.type.js.map +7 -0
  203. package/dist/types/ConsoleSelfManagedAdminApi.type.d.ts +111 -0
  204. package/dist/types/ConsoleSelfManagedAdminApi.type.js +1 -0
  205. package/dist/types/ConsoleSelfManagedAdminApi.type.js.map +7 -0
  206. package/dist/types/Dashboard.types.d.ts +23 -0
  207. package/dist/types/Dashboard.types.js +1 -0
  208. package/dist/types/Dashboard.types.js.map +7 -0
  209. package/dist/types/EnterpriseIncludingValueMetrics.type.d.ts +5 -0
  210. package/dist/types/EnterpriseIncludingValueMetrics.type.js +1 -0
  211. package/dist/types/EnterpriseIncludingValueMetrics.type.js.map +7 -0
  212. package/dist/types/OrganizationPermission.type.d.ts +64 -0
  213. package/dist/types/OrganizationPermission.type.js +784 -0
  214. package/dist/types/OrganizationPermission.type.js.map +7 -0
  215. package/dist/types/Roles.d.ts +5 -0
  216. package/dist/types/Roles.js +9 -0
  217. package/dist/types/Roles.js.map +7 -0
  218. package/dist/types/SalesPlanType.type.d.ts +36 -0
  219. package/dist/types/SalesPlanType.type.js +74 -0
  220. package/dist/types/SalesPlanType.type.js.map +7 -0
  221. package/dist/types/SpamDetection.type.d.ts +2 -0
  222. package/dist/types/SpamDetection.type.js +8 -0
  223. package/dist/types/SpamDetection.type.js.map +7 -0
  224. package/dist/types/SseEvent.type.d.ts +96 -0
  225. package/dist/types/SseEvent.type.js +1 -0
  226. package/dist/types/SseEvent.type.js.map +7 -0
  227. package/dist/types/Stats.types.d.ts +86 -0
  228. package/dist/types/Stats.types.js +1 -0
  229. package/dist/types/Stats.types.js.map +7 -0
  230. package/dist/types/Survey.type.d.ts +38 -0
  231. package/dist/types/Survey.type.js +10 -0
  232. package/dist/types/Survey.type.js.map +7 -0
  233. package/dist/types/SuspendStrategy.type.d.ts +17 -0
  234. package/dist/types/SuspendStrategy.type.js +11 -0
  235. package/dist/types/SuspendStrategy.type.js.map +7 -0
  236. package/dist/types/Telemetry.type.d.ts +89 -0
  237. package/dist/types/Telemetry.type.js +218 -0
  238. package/dist/types/Telemetry.type.js.map +7 -0
  239. package/dist/types/User.type.d.ts +79 -0
  240. package/dist/types/User.type.js +12 -0
  241. package/dist/types/User.type.js.map +7 -0
  242. package/dist/types/ValueMetrics.type.d.ts +26 -0
  243. package/dist/types/ValueMetrics.type.js +1 -0
  244. package/dist/types/ValueMetrics.type.js.map +7 -0
  245. package/dist/types/hdp.types.d.ts +241 -0
  246. package/dist/types/hdp.types.js +16 -0
  247. package/dist/types/hdp.types.js.map +7 -0
  248. package/dist/types/notification.type.d.ts +71 -0
  249. package/dist/types/notification.type.js +37 -0
  250. package/dist/types/notification.type.js.map +7 -0
  251. package/dist/utils/PasswordPolicy.d.ts +13 -0
  252. package/dist/utils/PasswordPolicy.js +55 -0
  253. package/dist/utils/PasswordPolicy.js.map +7 -0
  254. package/dist/utils/camundiPermissionAugmenter.utils.d.ts +25 -0
  255. package/dist/utils/camundiPermissionAugmenter.utils.js +70 -0
  256. package/dist/utils/camundiPermissionAugmenter.utils.js.map +7 -0
  257. package/dist/utils/console-sm.utils.d.ts +6 -0
  258. package/dist/utils/console-sm.utils.js +30 -0
  259. package/dist/utils/console-sm.utils.js.map +7 -0
  260. package/dist/utils/enterprise-connection.utils.d.ts +7 -0
  261. package/dist/utils/enterprise-connection.utils.js +34 -0
  262. package/dist/utils/enterprise-connection.utils.js.map +7 -0
  263. package/dist/utils/labelValidator.utils.d.ts +5 -0
  264. package/dist/utils/labelValidator.utils.js +17 -0
  265. package/dist/utils/labelValidator.utils.js.map +7 -0
  266. package/dist/utils/objectMerge.utils.d.ts +20 -0
  267. package/dist/utils/objectMerge.utils.js +90 -0
  268. package/dist/utils/objectMerge.utils.js.map +7 -0
  269. package/dist/utils/orgs/OrgHelper.d.ts +4 -0
  270. package/dist/utils/orgs/OrgHelper.js +234 -0
  271. package/dist/utils/orgs/OrgHelper.js.map +7 -0
  272. package/dist/utils/settledPromises.util.d.ts +13 -0
  273. package/dist/utils/settledPromises.util.js +26 -0
  274. package/dist/utils/settledPromises.util.js.map +7 -0
  275. package/dist/utils/string-validation.utils.d.ts +44 -0
  276. package/dist/utils/string-validation.utils.js +94 -0
  277. package/dist/utils/string-validation.utils.js.map +7 -0
  278. package/dist/utils/user.utils.d.ts +10 -0
  279. package/dist/utils/user.utils.js +53 -0
  280. package/dist/utils/user.utils.js.map +7 -0
  281. package/dist/utils/versionCheck.utils.d.ts +15 -0
  282. package/dist/utils/versionCheck.utils.js +75 -0
  283. package/dist/utils/versionCheck.utils.js.map +7 -0
  284. package/package.json +39 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/string-validation.utils.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nexport function isValidHostname(value: string) {\n if (typeof value !== 'string') {\n return false\n }\n\n const validHostnameChars = /^[a-zA-Z0-9-.]{1,253}\\.?$/gu\n if (!validHostnameChars.test(value)) {\n return false\n }\n\n if (value.endsWith('.')) {\n // eslint-disable-next-line no-param-reassign\n value = value.slice(0, value.length - 1)\n }\n\n if (value.length > 253) {\n return false\n }\n\n const labels = value.split('.')\n\n const isValid = labels.every((label) => {\n // eslint-disable-next-line prefer-named-capture-group\n const validLabelChars = /^([a-zA-Z0-9-]+)$/gu\n\n const validLabel =\n validLabelChars.test(label) &&\n label.length < 64 &&\n !label.startsWith('-') &&\n !label.endsWith('-')\n\n return validLabel\n })\n\n return isValid\n}\n\n/**\n * Regular expression to validate client names.\n * Allows only letters (a-z, A-Z), digits (0-9), dashes (-), and underscores (_).\n * This matches the frontend validation in console-frontend/src/models/validation/input.ts\n */\nconst CLIENT_NAME_REGEX = /^[a-zA-Z0-9_-]+$/u\n\n/**\n * Validates that a client name contains only allowed characters:\n * letters, digits, dashes, and underscores.\n *\n * @param name - The client name to validate\n * @returns true if the name is valid, false otherwise\n */\nexport function isValidClientName(name: string): boolean {\n if (typeof name !== 'string') {\n return false\n }\n\n if (name.trim().length === 0) {\n return false\n }\n\n return CLIENT_NAME_REGEX.test(name)\n}\n\n/**\n * Validates a single IPv4 address or CIDR notation.\n *\n * Valid examples:\n * - 192.168.1.1\n * - 10.0.0.0/8\n * - 0.0.0.0/0\n * - 255.255.255.255/32\n *\n * Invalid examples:\n * - 999.999.999.999 (octets must be 0-255)\n * - 1.2.3.4/55 (prefix must be 0-32)\n * - 256.1.1.1 (octets must be 0-255)\n * - 1.2.3 (must have 4 octets)\n *\n * @param cidr - The IPv4 address or CIDR notation to validate\n * @returns true if the CIDR is valid, false otherwise\n */\nexport function isValidCIDR(cidr: string): boolean {\n if (typeof cidr !== 'string') {\n return false\n }\n\n const trimmed = cidr.trim()\n\n if (trimmed.length === 0) {\n return false\n }\n\n // Split IP and prefix\n const parts = trimmed.split('/')\n\n // Must have either IP only or IP/prefix\n if (parts.length > 2) {\n return false\n }\n\n const ip = parts[0]\n const prefix = parts[1]\n\n // Validate IP address\n const octets = ip.split('.')\n\n // Must have exactly 4 octets\n if (octets.length !== 4) {\n return false\n }\n\n // Validate each octet\n for (const octet of octets) {\n // Check if it's a valid number\n if (!/^\\d+$/u.test(octet)) {\n return false\n }\n\n const num = parseInt(octet, 10)\n\n // Octet must be 0-255\n if (num < 0 || num > 255) {\n return false\n }\n\n // Leading zeros are not allowed (except for \"0\" itself)\n if (octet.length > 1 && octet.startsWith('0')) {\n return false\n }\n }\n\n // If prefix is present, validate it\n if (prefix !== undefined) {\n if (!/^\\d+$/u.test(prefix)) {\n return false\n }\n\n const prefixNum = parseInt(prefix, 10)\n\n // Prefix must be 0-32 for IPv4\n if (prefixNum < 0 || prefixNum > 32) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Validates a comma-separated list of IPv4 addresses and/or CIDR notations.\n *\n * Valid examples:\n * - \"192.168.1.1\"\n * - \"192.168.1.1,10.0.0.0/8\"\n * - \"192.168.1.1, 10.0.0.0/8\" (spaces are trimmed)\n *\n * Invalid examples:\n * - \"192.168.1.1,999.999.999.999\" (second entry is invalid)\n * - \"1.2.3.4/55\" (prefix is invalid)\n *\n * @param cidrList - A comma-separated list of IPv4 addresses or CIDR notations\n * @returns true if all entries in the list are valid, false otherwise\n */\nexport function isValidCIDRList(cidrList: string): boolean {\n if (typeof cidrList !== 'string') {\n return false\n }\n\n const trimmed = cidrList.trim()\n\n if (trimmed.length === 0) {\n return false\n }\n\n const entries = trimmed.split(',')\n\n // At least one entry must be present\n if (entries.length === 0) {\n return false\n }\n\n // All entries must be valid CIDRs\n return entries.every((entry) => isValidCIDR(entry))\n}\n"],
5
+ "mappings": "AAMO,SAAS,gBAAgB,OAAe;AAC7C,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB;AAC3B,MAAI,CAAC,mBAAmB,KAAK,KAAK,GAAG;AACnC,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,SAAS,GAAG,GAAG;AAEvB,YAAQ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;AAAA,EACzC;AAEA,MAAI,MAAM,SAAS,KAAK;AACtB,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,MAAM,MAAM,GAAG;AAE9B,QAAM,UAAU,OAAO,MAAM,CAAC,UAAU;AAEtC,UAAM,kBAAkB;AAExB,UAAM,aACJ,gBAAgB,KAAK,KAAK,KAC1B,MAAM,SAAS,MACf,CAAC,MAAM,WAAW,GAAG,KACrB,CAAC,MAAM,SAAS,GAAG;AAErB,WAAO;AAAA,EACT,CAAC;AAED,SAAO;AACT;AAOA,MAAM,oBAAoB;AASnB,SAAS,kBAAkB,MAAuB;AACvD,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AAEA,MAAI,KAAK,KAAK,EAAE,WAAW,GAAG;AAC5B,WAAO;AAAA,EACT;AAEA,SAAO,kBAAkB,KAAK,IAAI;AACpC;AAoBO,SAAS,YAAY,MAAuB;AACjD,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,KAAK,KAAK;AAE1B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AAGA,QAAM,QAAQ,QAAQ,MAAM,GAAG;AAG/B,MAAI,MAAM,SAAS,GAAG;AACpB,WAAO;AAAA,EACT;AAEA,QAAM,KAAK,MAAM,CAAC;AAClB,QAAM,SAAS,MAAM,CAAC;AAGtB,QAAM,SAAS,GAAG,MAAM,GAAG;AAG3B,MAAI,OAAO,WAAW,GAAG;AACvB,WAAO;AAAA,EACT;AAGA,aAAW,SAAS,QAAQ;AAE1B,QAAI,CAAC,SAAS,KAAK,KAAK,GAAG;AACzB,aAAO;AAAA,IACT;AAEA,UAAM,MAAM,SAAS,OAAO,EAAE;AAG9B,QAAI,MAAM,KAAK,MAAM,KAAK;AACxB,aAAO;AAAA,IACT;AAGA,QAAI,MAAM,SAAS,KAAK,MAAM,WAAW,GAAG,GAAG;AAC7C,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI,WAAW,QAAW;AACxB,QAAI,CAAC,SAAS,KAAK,MAAM,GAAG;AAC1B,aAAO;AAAA,IACT;AAEA,UAAM,YAAY,SAAS,QAAQ,EAAE;AAGrC,QAAI,YAAY,KAAK,YAAY,IAAI;AACnC,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAiBO,SAAS,gBAAgB,UAA2B;AACzD,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,SAAS,KAAK;AAE9B,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,QAAQ,MAAM,GAAG;AAGjC,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AAGA,SAAO,QAAQ,MAAM,CAAC,UAAU,YAAY,KAAK,CAAC;AACpD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ export declare function guessName(user: {
2
+ name?: string;
3
+ given_name?: string;
4
+ family_name?: string;
5
+ }): {
6
+ firstname: string;
7
+ lastname: string;
8
+ };
9
+ export declare const isCamundaUserId: (userId?: string) => boolean;
10
+ export declare const extractCamundaUserEmail: (userId: string) => string;
@@ -0,0 +1,53 @@
1
+ function guessName(user) {
2
+ const { name, given_name, family_name } = user;
3
+ const firstname = given_name || "";
4
+ const lastname = family_name || "";
5
+ let calculatedName = { firstname, lastname };
6
+ if (firstname && !lastname) {
7
+ calculatedName = extractNameFromArg(firstname, lastname, firstname);
8
+ } else if (!firstname && lastname) {
9
+ calculatedName = extractNameFromArg(firstname, lastname, lastname);
10
+ } else if (!firstname && !lastname && name) {
11
+ calculatedName = extractNameFromArg(firstname, lastname, name);
12
+ }
13
+ return calculatedName;
14
+ }
15
+ function extractNameFromArg(firstnamePassthrough, lastnamePassthrough, arg) {
16
+ let firstname = firstnamePassthrough;
17
+ let lastname = lastnamePassthrough;
18
+ const nameParts = arg.split(" ");
19
+ if (nameParts.length > 1) {
20
+ firstname = nameParts.slice(0, -1).join(" ");
21
+ lastname = nameParts.slice(-1).join(" ");
22
+ }
23
+ return { firstname, lastname };
24
+ }
25
+ const isCamundaUserId = (userId) => {
26
+ if (!userId) {
27
+ return false;
28
+ }
29
+ const CAMUNDA_DOMAIN = "camunda.com";
30
+ const oktaPrefix = "samlp|Okta|";
31
+ if (userId.startsWith(oktaPrefix)) {
32
+ const email = userId.substring(oktaPrefix.length);
33
+ const atIndex = email.lastIndexOf("@");
34
+ if (atIndex === -1) {
35
+ return false;
36
+ }
37
+ const domain = email.substring(atIndex + 1);
38
+ return domain === CAMUNDA_DOMAIN;
39
+ }
40
+ return false;
41
+ };
42
+ const extractCamundaUserEmail = (userId) => {
43
+ if (!isCamundaUserId(userId)) {
44
+ throw new Error("Not a Camunda userId");
45
+ }
46
+ return userId.replace("samlp|Okta|", "");
47
+ };
48
+ export {
49
+ extractCamundaUserEmail,
50
+ guessName,
51
+ isCamundaUserId
52
+ };
53
+ //# sourceMappingURL=user.utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/user.utils.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nexport function guessName(user: {\n name?: string\n given_name?: string\n family_name?: string\n}) {\n const { name, given_name, family_name } = user\n const firstname = given_name || ''\n const lastname = family_name || ''\n\n let calculatedName = { firstname, lastname }\n\n if (firstname && !lastname) {\n calculatedName = extractNameFromArg(firstname, lastname, firstname)\n } else if (!firstname && lastname) {\n calculatedName = extractNameFromArg(firstname, lastname, lastname)\n } else if (!firstname && !lastname && name) {\n calculatedName = extractNameFromArg(firstname, lastname, name)\n }\n return calculatedName\n}\nfunction extractNameFromArg(firstnamePassthrough, lastnamePassthrough, arg) {\n let firstname = firstnamePassthrough\n let lastname = lastnamePassthrough\n\n const nameParts = arg.split(' ')\n if (nameParts.length > 1) {\n firstname = nameParts.slice(0, -1).join(' ')\n lastname = nameParts.slice(-1).join(' ')\n }\n return { firstname, lastname }\n}\n\nexport const isCamundaUserId = (userId?: string): boolean => {\n if (!userId) {\n return false\n }\n\n const CAMUNDA_DOMAIN = 'camunda.com'\n\n // Handle Okta SAML-style user IDs: \"samlp|Okta|<email>\"\n const oktaPrefix = 'samlp|Okta|'\n if (userId.startsWith(oktaPrefix)) {\n const email = userId.substring(oktaPrefix.length)\n const atIndex = email.lastIndexOf('@')\n if (atIndex === -1) {\n return false\n }\n const domain = email.substring(atIndex + 1)\n return domain === CAMUNDA_DOMAIN\n }\n return false\n}\nexport const extractCamundaUserEmail = (userId: string): string => {\n if (!isCamundaUserId(userId)) {\n throw new Error('Not a Camunda userId')\n }\n return userId.replace('samlp|Okta|', '')\n}\n"],
5
+ "mappings": "AAMO,SAAS,UAAU,MAIvB;AACD,QAAM,EAAE,MAAM,YAAY,YAAY,IAAI;AAC1C,QAAM,YAAY,cAAc;AAChC,QAAM,WAAW,eAAe;AAEhC,MAAI,iBAAiB,EAAE,WAAW,SAAS;AAE3C,MAAI,aAAa,CAAC,UAAU;AAC1B,qBAAiB,mBAAmB,WAAW,UAAU,SAAS;AAAA,EACpE,WAAW,CAAC,aAAa,UAAU;AACjC,qBAAiB,mBAAmB,WAAW,UAAU,QAAQ;AAAA,EACnE,WAAW,CAAC,aAAa,CAAC,YAAY,MAAM;AAC1C,qBAAiB,mBAAmB,WAAW,UAAU,IAAI;AAAA,EAC/D;AACA,SAAO;AACT;AACA,SAAS,mBAAmB,sBAAsB,qBAAqB,KAAK;AAC1E,MAAI,YAAY;AAChB,MAAI,WAAW;AAEf,QAAM,YAAY,IAAI,MAAM,GAAG;AAC/B,MAAI,UAAU,SAAS,GAAG;AACxB,gBAAY,UAAU,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG;AAC3C,eAAW,UAAU,MAAM,EAAE,EAAE,KAAK,GAAG;AAAA,EACzC;AACA,SAAO,EAAE,WAAW,SAAS;AAC/B;AAEO,MAAM,kBAAkB,CAAC,WAA6B;AAC3D,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,QAAM,iBAAiB;AAGvB,QAAM,aAAa;AACnB,MAAI,OAAO,WAAW,UAAU,GAAG;AACjC,UAAM,QAAQ,OAAO,UAAU,WAAW,MAAM;AAChD,UAAM,UAAU,MAAM,YAAY,GAAG;AACrC,QAAI,YAAY,IAAI;AAClB,aAAO;AAAA,IACT;AACA,UAAM,SAAS,MAAM,UAAU,UAAU,CAAC;AAC1C,WAAO,WAAW;AAAA,EACpB;AACA,SAAO;AACT;AACO,MAAM,0BAA0B,CAAC,WAA2B;AACjE,MAAI,CAAC,gBAAgB,MAAM,GAAG;AAC5B,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC;AACA,SAAO,OAAO,QAAQ,eAAe,EAAE;AACzC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ export declare enum VersionCheckOperator {
2
+ LessThan = 0,
3
+ LessThanOrEqual = 1,
4
+ GreaterThan = 2,
5
+ GreaterThanOrEqual = 3,
6
+ SameMajor = 4,
7
+ SameMinor = 5
8
+ }
9
+ export declare const checkVersion: (params: {
10
+ possiblyVersionOrDockerPath?: string;
11
+ trueForSnapshot: boolean;
12
+ operator: VersionCheckOperator;
13
+ versionToCompareTo: string;
14
+ trueOnInvalidVersion?: boolean;
15
+ }) => boolean;
@@ -0,0 +1,75 @@
1
+ import * as semver from "semver";
2
+ var VersionCheckOperator = /* @__PURE__ */ ((VersionCheckOperator2) => {
3
+ VersionCheckOperator2[VersionCheckOperator2["LessThan"] = 0] = "LessThan";
4
+ VersionCheckOperator2[VersionCheckOperator2["LessThanOrEqual"] = 1] = "LessThanOrEqual";
5
+ VersionCheckOperator2[VersionCheckOperator2["GreaterThan"] = 2] = "GreaterThan";
6
+ VersionCheckOperator2[VersionCheckOperator2["GreaterThanOrEqual"] = 3] = "GreaterThanOrEqual";
7
+ VersionCheckOperator2[VersionCheckOperator2["SameMajor"] = 4] = "SameMajor";
8
+ VersionCheckOperator2[VersionCheckOperator2["SameMinor"] = 5] = "SameMinor";
9
+ return VersionCheckOperator2;
10
+ })(VersionCheckOperator || {});
11
+ const checkVersion = (params) => {
12
+ if (!semver.valid(params.versionToCompareTo)) {
13
+ throw new Error("Invalid version to compare to");
14
+ }
15
+ let version = "";
16
+ if (semver.valid(params.possiblyVersionOrDockerPath ?? "")) {
17
+ version = params.possiblyVersionOrDockerPath ?? "";
18
+ } else {
19
+ const versionSplit = params.possiblyVersionOrDockerPath?.split(":") ?? [];
20
+ if (versionSplit.length > 1) {
21
+ version = versionSplit[1];
22
+ }
23
+ }
24
+ if (params.trueForSnapshot && version.includes("SNAPSHOT")) {
25
+ if (version === "SNAPSHOT") {
26
+ return true;
27
+ }
28
+ version = version.replace("-SNAPSHOT", "");
29
+ if (version.split(".").length === 1) {
30
+ version = `${version}.99.99`;
31
+ }
32
+ if (version.split(".").length === 2) {
33
+ version = `${version}.99`;
34
+ }
35
+ if (version.split(".").length === 3) {
36
+ version = `${version.split(".")[0]}.${version.split(".")[1]}.99`;
37
+ }
38
+ }
39
+ let parsedVersionToCompareTo = "";
40
+ if (semver.valid(params.versionToCompareTo ?? "")) {
41
+ parsedVersionToCompareTo = params.versionToCompareTo ?? "";
42
+ } else {
43
+ const versionSplit = params.versionToCompareTo?.split(":") ?? [];
44
+ if (versionSplit.length > 1) {
45
+ parsedVersionToCompareTo = versionSplit[1];
46
+ }
47
+ }
48
+ if (params.trueForSnapshot && parsedVersionToCompareTo === "SNAPSHOT") {
49
+ return true;
50
+ }
51
+ if (!semver.valid(version)) {
52
+ return !!params.trueOnInvalidVersion;
53
+ }
54
+ switch (params.operator) {
55
+ case 0 /* LessThan */:
56
+ return semver.lt(version, parsedVersionToCompareTo);
57
+ case 1 /* LessThanOrEqual */:
58
+ return semver.lte(version, parsedVersionToCompareTo);
59
+ case 2 /* GreaterThan */:
60
+ return semver.gt(version, parsedVersionToCompareTo);
61
+ case 3 /* GreaterThanOrEqual */:
62
+ return semver.gte(version, parsedVersionToCompareTo);
63
+ case 4 /* SameMajor */:
64
+ return semver.major(version) === semver.major(parsedVersionToCompareTo);
65
+ case 5 /* SameMinor */:
66
+ return semver.major(version) === semver.major(parsedVersionToCompareTo) && semver.minor(version) === semver.minor(parsedVersionToCompareTo);
67
+ default:
68
+ return false;
69
+ }
70
+ };
71
+ export {
72
+ VersionCheckOperator,
73
+ checkVersion
74
+ };
75
+ //# sourceMappingURL=versionCheck.utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/versionCheck.utils.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport * as semver from 'semver'\n\n// eslint-disable-next-line no-shadow\nexport enum VersionCheckOperator {\n LessThan,\n LessThanOrEqual,\n GreaterThan,\n GreaterThanOrEqual,\n SameMajor,\n SameMinor,\n}\n\nexport const checkVersion = (params: {\n possiblyVersionOrDockerPath?: string\n trueForSnapshot: boolean\n operator: VersionCheckOperator\n versionToCompareTo: string\n trueOnInvalidVersion?: boolean\n}) => {\n if (!semver.valid(params.versionToCompareTo)) {\n throw new Error('Invalid version to compare to')\n }\n let version: string = ''\n if (semver.valid(params.possiblyVersionOrDockerPath ?? '')) {\n version = params.possiblyVersionOrDockerPath ?? ''\n } else {\n const versionSplit = params.possiblyVersionOrDockerPath?.split(':') ?? []\n if (versionSplit.length > 1) {\n version = versionSplit[1]\n }\n }\n if (params.trueForSnapshot && version.includes('SNAPSHOT')) {\n if (version === 'SNAPSHOT') {\n return true\n }\n version = version.replace('-SNAPSHOT', '')\n if (version.split('.').length === 1) {\n version = `${version}.99.99`\n }\n if (version.split('.').length === 2) {\n version = `${version}.99`\n }\n if (version.split('.').length === 3) {\n version = `${version.split('.')[0]}.${version.split('.')[1]}.99`\n }\n }\n\n let parsedVersionToCompareTo: string = ''\n if (semver.valid(params.versionToCompareTo ?? '')) {\n parsedVersionToCompareTo = params.versionToCompareTo ?? ''\n } else {\n const versionSplit = params.versionToCompareTo?.split(':') ?? []\n if (versionSplit.length > 1) {\n parsedVersionToCompareTo = versionSplit[1]\n }\n }\n if (params.trueForSnapshot && parsedVersionToCompareTo === 'SNAPSHOT') {\n return true\n }\n\n if (!semver.valid(version)) {\n return !!params.trueOnInvalidVersion\n }\n\n switch (params.operator) {\n case VersionCheckOperator.LessThan:\n return semver.lt(version, parsedVersionToCompareTo)\n case VersionCheckOperator.LessThanOrEqual:\n return semver.lte(version, parsedVersionToCompareTo)\n case VersionCheckOperator.GreaterThan:\n return semver.gt(version, parsedVersionToCompareTo)\n case VersionCheckOperator.GreaterThanOrEqual:\n return semver.gte(version, parsedVersionToCompareTo)\n case VersionCheckOperator.SameMajor:\n return semver.major(version) === semver.major(parsedVersionToCompareTo)\n case VersionCheckOperator.SameMinor:\n return (\n semver.major(version) === semver.major(parsedVersionToCompareTo) &&\n semver.minor(version) === semver.minor(parsedVersionToCompareTo)\n )\n default:\n return false\n }\n}\n"],
5
+ "mappings": "AAMA,YAAY,YAAY;AAGjB,IAAK,uBAAL,kBAAKA,0BAAL;AACL,EAAAA,4CAAA;AACA,EAAAA,4CAAA;AACA,EAAAA,4CAAA;AACA,EAAAA,4CAAA;AACA,EAAAA,4CAAA;AACA,EAAAA,4CAAA;AANU,SAAAA;AAAA,GAAA;AASL,MAAM,eAAe,CAAC,WAMvB;AACJ,MAAI,CAAC,OAAO,MAAM,OAAO,kBAAkB,GAAG;AAC5C,UAAM,IAAI,MAAM,+BAA+B;AAAA,EACjD;AACA,MAAI,UAAkB;AACtB,MAAI,OAAO,MAAM,OAAO,+BAA+B,EAAE,GAAG;AAC1D,cAAU,OAAO,+BAA+B;AAAA,EAClD,OAAO;AACL,UAAM,eAAe,OAAO,6BAA6B,MAAM,GAAG,KAAK,CAAC;AACxE,QAAI,aAAa,SAAS,GAAG;AAC3B,gBAAU,aAAa,CAAC;AAAA,IAC1B;AAAA,EACF;AACA,MAAI,OAAO,mBAAmB,QAAQ,SAAS,UAAU,GAAG;AAC1D,QAAI,YAAY,YAAY;AAC1B,aAAO;AAAA,IACT;AACA,cAAU,QAAQ,QAAQ,aAAa,EAAE;AACzC,QAAI,QAAQ,MAAM,GAAG,EAAE,WAAW,GAAG;AACnC,gBAAU,GAAG,OAAO;AAAA,IACtB;AACA,QAAI,QAAQ,MAAM,GAAG,EAAE,WAAW,GAAG;AACnC,gBAAU,GAAG,OAAO;AAAA,IACtB;AACA,QAAI,QAAQ,MAAM,GAAG,EAAE,WAAW,GAAG;AACnC,gBAAU,GAAG,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC,IAAI,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IAC7D;AAAA,EACF;AAEA,MAAI,2BAAmC;AACvC,MAAI,OAAO,MAAM,OAAO,sBAAsB,EAAE,GAAG;AACjD,+BAA2B,OAAO,sBAAsB;AAAA,EAC1D,OAAO;AACL,UAAM,eAAe,OAAO,oBAAoB,MAAM,GAAG,KAAK,CAAC;AAC/D,QAAI,aAAa,SAAS,GAAG;AAC3B,iCAA2B,aAAa,CAAC;AAAA,IAC3C;AAAA,EACF;AACA,MAAI,OAAO,mBAAmB,6BAA6B,YAAY;AACrE,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,OAAO,MAAM,OAAO,GAAG;AAC1B,WAAO,CAAC,CAAC,OAAO;AAAA,EAClB;AAEA,UAAQ,OAAO,UAAU;AAAA,IACvB,KAAK;AACH,aAAO,OAAO,GAAG,SAAS,wBAAwB;AAAA,IACpD,KAAK;AACH,aAAO,OAAO,IAAI,SAAS,wBAAwB;AAAA,IACrD,KAAK;AACH,aAAO,OAAO,GAAG,SAAS,wBAAwB;AAAA,IACpD,KAAK;AACH,aAAO,OAAO,IAAI,SAAS,wBAAwB;AAAA,IACrD,KAAK;AACH,aAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,wBAAwB;AAAA,IACxE,KAAK;AACH,aACE,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,wBAAwB,KAC/D,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,wBAAwB;AAAA,IAEnE;AACE,aAAO;AAAA,EACX;AACF;",
6
+ "names": ["VersionCheckOperator"]
7
+ }
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@camunda/ccma-shared-types",
3
+ "version": "0.0.1",
4
+ "description": "Shared TypeScript types for Camunda Cloud Management Apps",
5
+ "bugs": {
6
+ "url": "https://github.com/camunda/camunda-cloud-management-apps/issues"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/camunda/camunda-cloud-management-apps.git",
11
+ "directory": "packages/shared-types"
12
+ },
13
+ "license": "Apache-2.0",
14
+ "author": "Camunda",
15
+ "type": "module",
16
+ "main": "dist/index.js",
17
+ "types": "dist/index.d.ts",
18
+ "browser": {
19
+ "./dist/index.js": "./src/index.ts",
20
+ "./dist/index.d.ts": "./src/index.ts"
21
+ },
22
+ "files": [
23
+ "dist"
24
+ ],
25
+ "publishConfig": {
26
+ "access": "public",
27
+ "registry": "https://registry.npmjs.org/"
28
+ },
29
+ "scripts": {
30
+ "build": "node esbuild.mjs && tsc --emitDeclarationOnly --outDir dist",
31
+ "test": "vitest run",
32
+ "lint": "biome lint ./src",
33
+ "lint-fix": "biome check --write ./src",
34
+ "typecheck": "tsc --noEmit"
35
+ },
36
+ "dependencies": {
37
+ "semver": "7.7.4"
38
+ }
39
+ }