safelaunch 1.0.12 → 1.0.13

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 (423) hide show
  1. package/.github/workflows/deploycheck.yml +26 -0
  2. package/README.md +72 -76
  3. package/index.js +38 -0
  4. package/package.json +19 -8
  5. package/package.json.save +8 -0
  6. package/safelaunch/README.md +110 -0
  7. package/safelaunch/node_modules/.package-lock.json +102 -0
  8. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/chunk-ids.d.ts +5 -0
  9. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/chunk-ids.d.ts.map +1 -0
  10. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/chunk-ids.js +68 -0
  11. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs +34 -0
  12. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.d.ts +10 -0
  13. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.d.ts.map +1 -0
  14. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.js +65 -0
  15. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs +31 -0
  16. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.d.ts +9 -0
  17. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.d.ts.map +1 -0
  18. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.js +61 -0
  19. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs +27 -0
  20. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.d.ts +7 -0
  21. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.d.ts.map +1 -0
  22. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.js +52 -0
  23. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs +18 -0
  24. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.d.ts +6 -0
  25. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.d.ts.map +1 -0
  26. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.js +51 -0
  27. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs +17 -0
  28. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/index.d.ts +9 -0
  29. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/index.d.ts.map +1 -0
  30. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/index.js +123 -0
  31. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/index.mjs +8 -0
  32. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.d.ts +14 -0
  33. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.d.ts.map +1 -0
  34. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.js +85 -0
  35. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs +51 -0
  36. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.d.ts +7 -0
  37. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.d.ts.map +1 -0
  38. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.js +49 -0
  39. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs +15 -0
  40. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.d.ts +14 -0
  41. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.d.ts.map +1 -0
  42. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.js +67 -0
  43. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs +33 -0
  44. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.d.ts +7 -0
  45. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.d.ts.map +1 -0
  46. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.js +63 -0
  47. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs +29 -0
  48. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/utils.d.ts +8 -0
  49. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/utils.d.ts.map +1 -0
  50. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/utils.js +55 -0
  51. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs +18 -0
  52. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.d.ts +18 -0
  53. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.d.ts.map +1 -0
  54. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.js +146 -0
  55. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs +112 -0
  56. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/index.d.ts +6 -0
  57. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/index.d.ts.map +1 -0
  58. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/index.js +87 -0
  59. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/index.mjs +4 -0
  60. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/base.d.ts +4 -0
  61. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/base.d.ts.map +1 -0
  62. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/base.js +51 -0
  63. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs +14 -0
  64. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.d.ts +3 -0
  65. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.d.ts.map +1 -0
  66. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.js +61 -0
  67. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs +27 -0
  68. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.d.ts +3 -0
  69. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.d.ts.map +1 -0
  70. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.js +58 -0
  71. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs +24 -0
  72. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/index.d.ts +10 -0
  73. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/index.d.ts.map +1 -0
  74. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/index.js +105 -0
  75. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs +47 -0
  76. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/node.d.ts +3 -0
  77. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/node.d.ts.map +1 -0
  78. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/node.js +99 -0
  79. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs +65 -0
  80. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/opera.d.ts +4 -0
  81. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/opera.d.ts.map +1 -0
  82. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/opera.js +49 -0
  83. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs +12 -0
  84. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/safari.d.ts +22 -0
  85. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/safari.d.ts.map +1 -0
  86. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/safari.js +47 -0
  87. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs +13 -0
  88. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.d.ts +3 -0
  89. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.d.ts.map +1 -0
  90. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.js +41 -0
  91. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs +7 -0
  92. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/types.d.ts +93 -0
  93. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/types.d.ts.map +1 -0
  94. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/types.js +43 -0
  95. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/types.mjs +9 -0
  96. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/utils.d.ts +13 -0
  97. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/utils.d.ts.map +1 -0
  98. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/utils.js +57 -0
  99. package/safelaunch/node_modules/@posthog/core/dist/error-tracking/utils.mjs +23 -0
  100. package/safelaunch/node_modules/@posthog/core/dist/eventemitter.d.ts +9 -0
  101. package/safelaunch/node_modules/@posthog/core/dist/eventemitter.d.ts.map +1 -0
  102. package/safelaunch/node_modules/@posthog/core/dist/eventemitter.js +52 -0
  103. package/safelaunch/node_modules/@posthog/core/dist/eventemitter.mjs +18 -0
  104. package/safelaunch/node_modules/@posthog/core/dist/featureFlagUtils.d.ts +37 -0
  105. package/safelaunch/node_modules/@posthog/core/dist/featureFlagUtils.d.ts.map +1 -0
  106. package/safelaunch/node_modules/@posthog/core/dist/featureFlagUtils.js +174 -0
  107. package/safelaunch/node_modules/@posthog/core/dist/featureFlagUtils.mjs +113 -0
  108. package/safelaunch/node_modules/@posthog/core/dist/gzip.d.ts +10 -0
  109. package/safelaunch/node_modules/@posthog/core/dist/gzip.d.ts.map +1 -0
  110. package/safelaunch/node_modules/@posthog/core/dist/gzip.js +55 -0
  111. package/safelaunch/node_modules/@posthog/core/dist/gzip.mjs +18 -0
  112. package/safelaunch/node_modules/@posthog/core/dist/index.d.ts +9 -0
  113. package/safelaunch/node_modules/@posthog/core/dist/index.d.ts.map +1 -0
  114. package/safelaunch/node_modules/@posthog/core/dist/index.js +156 -0
  115. package/safelaunch/node_modules/@posthog/core/dist/index.mjs +9 -0
  116. package/safelaunch/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts +227 -0
  117. package/safelaunch/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts.map +1 -0
  118. package/safelaunch/node_modules/@posthog/core/dist/posthog-core-stateless.js +724 -0
  119. package/safelaunch/node_modules/@posthog/core/dist/posthog-core-stateless.mjs +681 -0
  120. package/safelaunch/node_modules/@posthog/core/dist/posthog-core.d.ts +327 -0
  121. package/safelaunch/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -0
  122. package/safelaunch/node_modules/@posthog/core/dist/posthog-core.js +795 -0
  123. package/safelaunch/node_modules/@posthog/core/dist/posthog-core.mjs +761 -0
  124. package/safelaunch/node_modules/@posthog/core/dist/process/index.d.ts +4 -0
  125. package/safelaunch/node_modules/@posthog/core/dist/process/index.d.ts.map +1 -0
  126. package/safelaunch/node_modules/@posthog/core/dist/process/index.js +73 -0
  127. package/safelaunch/node_modules/@posthog/core/dist/process/index.mjs +3 -0
  128. package/safelaunch/node_modules/@posthog/core/dist/process/spawn-local.d.ts +6 -0
  129. package/safelaunch/node_modules/@posthog/core/dist/process/spawn-local.d.ts.map +1 -0
  130. package/safelaunch/node_modules/@posthog/core/dist/process/spawn-local.js +54 -0
  131. package/safelaunch/node_modules/@posthog/core/dist/process/spawn-local.mjs +20 -0
  132. package/safelaunch/node_modules/@posthog/core/dist/process/utils.d.ts +6 -0
  133. package/safelaunch/node_modules/@posthog/core/dist/process/utils.d.ts.map +1 -0
  134. package/safelaunch/node_modules/@posthog/core/dist/process/utils.js +85 -0
  135. package/safelaunch/node_modules/@posthog/core/dist/process/utils.mjs +37 -0
  136. package/safelaunch/node_modules/@posthog/core/dist/surveys/validation.d.ts +20 -0
  137. package/safelaunch/node_modules/@posthog/core/dist/surveys/validation.d.ts.map +1 -0
  138. package/safelaunch/node_modules/@posthog/core/dist/surveys/validation.js +73 -0
  139. package/safelaunch/node_modules/@posthog/core/dist/surveys/validation.mjs +33 -0
  140. package/safelaunch/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.d.ts +25 -0
  141. package/safelaunch/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.d.ts.map +1 -0
  142. package/safelaunch/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.js +93 -0
  143. package/safelaunch/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.mjs +56 -0
  144. package/safelaunch/node_modules/@posthog/core/dist/testing/index.d.ts +3 -0
  145. package/safelaunch/node_modules/@posthog/core/dist/testing/index.d.ts.map +1 -0
  146. package/safelaunch/node_modules/@posthog/core/dist/testing/index.js +69 -0
  147. package/safelaunch/node_modules/@posthog/core/dist/testing/index.mjs +2 -0
  148. package/safelaunch/node_modules/@posthog/core/dist/testing/test-utils.d.ts +8 -0
  149. package/safelaunch/node_modules/@posthog/core/dist/testing/test-utils.d.ts.map +1 -0
  150. package/safelaunch/node_modules/@posthog/core/dist/testing/test-utils.js +85 -0
  151. package/safelaunch/node_modules/@posthog/core/dist/testing/test-utils.mjs +36 -0
  152. package/safelaunch/node_modules/@posthog/core/dist/types.d.ts +649 -0
  153. package/safelaunch/node_modules/@posthog/core/dist/types.d.ts.map +1 -0
  154. package/safelaunch/node_modules/@posthog/core/dist/types.js +213 -0
  155. package/safelaunch/node_modules/@posthog/core/dist/types.mjs +137 -0
  156. package/safelaunch/node_modules/@posthog/core/dist/utils/bot-detection.d.ts +6 -0
  157. package/safelaunch/node_modules/@posthog/core/dist/utils/bot-detection.d.ts.map +1 -0
  158. package/safelaunch/node_modules/@posthog/core/dist/utils/bot-detection.js +125 -0
  159. package/safelaunch/node_modules/@posthog/core/dist/utils/bot-detection.mjs +88 -0
  160. package/safelaunch/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.d.ts +19 -0
  161. package/safelaunch/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.d.ts.map +1 -0
  162. package/safelaunch/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.js +75 -0
  163. package/safelaunch/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs +41 -0
  164. package/safelaunch/node_modules/@posthog/core/dist/utils/index.d.ts +32 -0
  165. package/safelaunch/node_modules/@posthog/core/dist/utils/index.d.ts.map +1 -0
  166. package/safelaunch/node_modules/@posthog/core/dist/utils/index.js +313 -0
  167. package/safelaunch/node_modules/@posthog/core/dist/utils/index.mjs +59 -0
  168. package/safelaunch/node_modules/@posthog/core/dist/utils/logger.d.ts +11 -0
  169. package/safelaunch/node_modules/@posthog/core/dist/utils/logger.d.ts.map +1 -0
  170. package/safelaunch/node_modules/@posthog/core/dist/utils/logger.js +75 -0
  171. package/safelaunch/node_modules/@posthog/core/dist/utils/logger.mjs +38 -0
  172. package/safelaunch/node_modules/@posthog/core/dist/utils/number-utils.d.ts +39 -0
  173. package/safelaunch/node_modules/@posthog/core/dist/utils/number-utils.d.ts.map +1 -0
  174. package/safelaunch/node_modules/@posthog/core/dist/utils/number-utils.js +84 -0
  175. package/safelaunch/node_modules/@posthog/core/dist/utils/number-utils.mjs +41 -0
  176. package/safelaunch/node_modules/@posthog/core/dist/utils/promise-queue.d.ts +7 -0
  177. package/safelaunch/node_modules/@posthog/core/dist/utils/promise-queue.d.ts.map +1 -0
  178. package/safelaunch/node_modules/@posthog/core/dist/utils/promise-queue.js +61 -0
  179. package/safelaunch/node_modules/@posthog/core/dist/utils/promise-queue.mjs +27 -0
  180. package/safelaunch/node_modules/@posthog/core/dist/utils/string-utils.d.ts +17 -0
  181. package/safelaunch/node_modules/@posthog/core/dist/utils/string-utils.d.ts.map +1 -0
  182. package/safelaunch/node_modules/@posthog/core/dist/utils/string-utils.js +77 -0
  183. package/safelaunch/node_modules/@posthog/core/dist/utils/string-utils.mjs +31 -0
  184. package/safelaunch/node_modules/@posthog/core/dist/utils/type-utils.d.ts +30 -0
  185. package/safelaunch/node_modules/@posthog/core/dist/utils/type-utils.d.ts.map +1 -0
  186. package/safelaunch/node_modules/@posthog/core/dist/utils/type-utils.js +197 -0
  187. package/safelaunch/node_modules/@posthog/core/dist/utils/type-utils.mjs +82 -0
  188. package/safelaunch/node_modules/@posthog/core/dist/utils/user-agent-utils.d.ts +25 -0
  189. package/safelaunch/node_modules/@posthog/core/dist/utils/user-agent-utils.d.ts.map +1 -0
  190. package/safelaunch/node_modules/@posthog/core/dist/utils/user-agent-utils.js +389 -0
  191. package/safelaunch/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs +343 -0
  192. package/safelaunch/node_modules/@posthog/core/dist/vendor/uuidv7.d.ts +180 -0
  193. package/safelaunch/node_modules/@posthog/core/dist/vendor/uuidv7.d.ts.map +1 -0
  194. package/safelaunch/node_modules/@posthog/core/dist/vendor/uuidv7.js +219 -0
  195. package/safelaunch/node_modules/@posthog/core/dist/vendor/uuidv7.js.LICENSE.txt +7 -0
  196. package/safelaunch/node_modules/@posthog/core/dist/vendor/uuidv7.mjs +170 -0
  197. package/safelaunch/node_modules/@posthog/core/dist/vendor/uuidv7.mjs.LICENSE.txt +7 -0
  198. package/safelaunch/node_modules/@posthog/core/package.json +69 -0
  199. package/safelaunch/node_modules/@posthog/core/src/error-tracking/chunk-ids.ts +58 -0
  200. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/dom-exception-coercer.ts +38 -0
  201. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/error-coercer.ts +36 -0
  202. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/error-event-coercer.ts +24 -0
  203. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/event-coercer.ts +19 -0
  204. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/index.ts +8 -0
  205. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/object-coercer.ts +76 -0
  206. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/primitive-coercer.ts +19 -0
  207. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/promise-rejection-event.spec.ts +77 -0
  208. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/promise-rejection-event.ts +62 -0
  209. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/string-coercer.spec.ts +26 -0
  210. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/string-coercer.ts +31 -0
  211. package/safelaunch/node_modules/@posthog/core/src/error-tracking/coercers/utils.ts +33 -0
  212. package/safelaunch/node_modules/@posthog/core/src/error-tracking/error-properties-builder.coerce.spec.ts +229 -0
  213. package/safelaunch/node_modules/@posthog/core/src/error-tracking/error-properties-builder.parse.spec.ts +35 -0
  214. package/safelaunch/node_modules/@posthog/core/src/error-tracking/error-properties-builder.ts +162 -0
  215. package/safelaunch/node_modules/@posthog/core/src/error-tracking/index.ts +5 -0
  216. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/base.ts +30 -0
  217. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/chrome.ts +53 -0
  218. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/gecko.ts +38 -0
  219. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/index.ts +108 -0
  220. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/node.ts +111 -0
  221. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/opera.ts +20 -0
  222. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/safari.ts +33 -0
  223. package/safelaunch/node_modules/@posthog/core/src/error-tracking/parsers/winjs.ts +12 -0
  224. package/safelaunch/node_modules/@posthog/core/src/error-tracking/types.ts +115 -0
  225. package/safelaunch/node_modules/@posthog/core/src/error-tracking/utils.ts +39 -0
  226. package/safelaunch/node_modules/@posthog/core/src/eventemitter.ts +27 -0
  227. package/safelaunch/node_modules/@posthog/core/src/featureFlagUtils.ts +192 -0
  228. package/safelaunch/node_modules/@posthog/core/src/gzip.ts +29 -0
  229. package/safelaunch/node_modules/@posthog/core/src/index.ts +8 -0
  230. package/safelaunch/node_modules/@posthog/core/src/posthog-core-stateless.ts +1314 -0
  231. package/safelaunch/node_modules/@posthog/core/src/posthog-core.ts +1457 -0
  232. package/safelaunch/node_modules/@posthog/core/src/process/index.ts +4 -0
  233. package/safelaunch/node_modules/@posthog/core/src/process/spawn-local.ts +31 -0
  234. package/safelaunch/node_modules/@posthog/core/src/process/utils.spec.ts +11 -0
  235. package/safelaunch/node_modules/@posthog/core/src/process/utils.ts +51 -0
  236. package/safelaunch/node_modules/@posthog/core/src/surveys/validation.spec.ts +168 -0
  237. package/safelaunch/node_modules/@posthog/core/src/surveys/validation.ts +80 -0
  238. package/safelaunch/node_modules/@posthog/core/src/testing/PostHogCoreTestClient.ts +85 -0
  239. package/safelaunch/node_modules/@posthog/core/src/testing/index.ts +2 -0
  240. package/safelaunch/node_modules/@posthog/core/src/testing/test-utils.ts +45 -0
  241. package/safelaunch/node_modules/@posthog/core/src/types.ts +757 -0
  242. package/safelaunch/node_modules/@posthog/core/src/utils/bot-detection.ts +114 -0
  243. package/safelaunch/node_modules/@posthog/core/src/utils/bucketed-rate-limiter.spec.ts +290 -0
  244. package/safelaunch/node_modules/@posthog/core/src/utils/bucketed-rate-limiter.ts +67 -0
  245. package/safelaunch/node_modules/@posthog/core/src/utils/index.ts +101 -0
  246. package/safelaunch/node_modules/@posthog/core/src/utils/logger.ts +60 -0
  247. package/safelaunch/node_modules/@posthog/core/src/utils/number-utils.spec.ts +152 -0
  248. package/safelaunch/node_modules/@posthog/core/src/utils/number-utils.ts +97 -0
  249. package/safelaunch/node_modules/@posthog/core/src/utils/promise-queue.spec.ts +55 -0
  250. package/safelaunch/node_modules/@posthog/core/src/utils/promise-queue.ts +30 -0
  251. package/safelaunch/node_modules/@posthog/core/src/utils/string-utils.spec.ts +121 -0
  252. package/safelaunch/node_modules/@posthog/core/src/utils/string-utils.ts +63 -0
  253. package/safelaunch/node_modules/@posthog/core/src/utils/type-utils.spec.ts +38 -0
  254. package/safelaunch/node_modules/@posthog/core/src/utils/type-utils.ts +140 -0
  255. package/safelaunch/node_modules/@posthog/core/src/utils/user-agent-utils.ts +376 -0
  256. package/safelaunch/node_modules/@posthog/core/src/vendor/uuidv7.ts +479 -0
  257. package/safelaunch/node_modules/cross-spawn/LICENSE +21 -0
  258. package/safelaunch/node_modules/cross-spawn/README.md +89 -0
  259. package/safelaunch/node_modules/cross-spawn/index.js +39 -0
  260. package/safelaunch/node_modules/cross-spawn/lib/enoent.js +59 -0
  261. package/safelaunch/node_modules/cross-spawn/lib/parse.js +91 -0
  262. package/safelaunch/node_modules/cross-spawn/lib/util/escape.js +47 -0
  263. package/safelaunch/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  264. package/safelaunch/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  265. package/safelaunch/node_modules/cross-spawn/package.json +73 -0
  266. package/safelaunch/node_modules/isexe/LICENSE +15 -0
  267. package/safelaunch/node_modules/isexe/README.md +51 -0
  268. package/safelaunch/node_modules/isexe/index.js +57 -0
  269. package/safelaunch/node_modules/isexe/mode.js +41 -0
  270. package/safelaunch/node_modules/isexe/package.json +31 -0
  271. package/safelaunch/node_modules/isexe/test/basic.js +221 -0
  272. package/safelaunch/node_modules/isexe/windows.js +42 -0
  273. package/safelaunch/node_modules/path-key/index.d.ts +40 -0
  274. package/safelaunch/node_modules/path-key/index.js +16 -0
  275. package/safelaunch/node_modules/path-key/license +9 -0
  276. package/safelaunch/node_modules/path-key/package.json +39 -0
  277. package/safelaunch/node_modules/path-key/readme.md +61 -0
  278. package/safelaunch/node_modules/posthog-node/LICENSE +299 -0
  279. package/safelaunch/node_modules/posthog-node/README.md +9 -0
  280. package/safelaunch/node_modules/posthog-node/dist/client.d.ts +923 -0
  281. package/safelaunch/node_modules/posthog-node/dist/client.d.ts.map +1 -0
  282. package/safelaunch/node_modules/posthog-node/dist/client.js +762 -0
  283. package/safelaunch/node_modules/posthog-node/dist/client.mjs +718 -0
  284. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.edge.d.ts +7 -0
  285. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.edge.d.ts.map +1 -0
  286. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.edge.js +95 -0
  287. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.edge.mjs +18 -0
  288. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.node.d.ts +8 -0
  289. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.node.d.ts.map +1 -0
  290. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.node.js +112 -0
  291. package/safelaunch/node_modules/posthog-node/dist/entrypoints/index.node.mjs +26 -0
  292. package/safelaunch/node_modules/posthog-node/dist/entrypoints/nestjs.d.ts +2 -0
  293. package/safelaunch/node_modules/posthog-node/dist/entrypoints/nestjs.d.ts.map +1 -0
  294. package/safelaunch/node_modules/posthog-node/dist/entrypoints/nestjs.js +60 -0
  295. package/safelaunch/node_modules/posthog-node/dist/entrypoints/nestjs.mjs +1 -0
  296. package/safelaunch/node_modules/posthog-node/dist/experimental.d.ts +11 -0
  297. package/safelaunch/node_modules/posthog-node/dist/experimental.d.ts.map +1 -0
  298. package/safelaunch/node_modules/posthog-node/dist/experimental.js +18 -0
  299. package/safelaunch/node_modules/posthog-node/dist/experimental.mjs +0 -0
  300. package/safelaunch/node_modules/posthog-node/dist/exports.d.ts +6 -0
  301. package/safelaunch/node_modules/posthog-node/dist/exports.d.ts.map +1 -0
  302. package/safelaunch/node_modules/posthog-node/dist/exports.js +97 -0
  303. package/safelaunch/node_modules/posthog-node/dist/exports.mjs +5 -0
  304. package/safelaunch/node_modules/posthog-node/dist/extensions/context/context.d.ts +10 -0
  305. package/safelaunch/node_modules/posthog-node/dist/extensions/context/context.d.ts.map +1 -0
  306. package/safelaunch/node_modules/posthog-node/dist/extensions/context/context.js +62 -0
  307. package/safelaunch/node_modules/posthog-node/dist/extensions/context/context.mjs +28 -0
  308. package/safelaunch/node_modules/posthog-node/dist/extensions/context/types.d.ts +19 -0
  309. package/safelaunch/node_modules/posthog-node/dist/extensions/context/types.d.ts.map +1 -0
  310. package/safelaunch/node_modules/posthog-node/dist/extensions/context/types.js +18 -0
  311. package/safelaunch/node_modules/posthog-node/dist/extensions/context/types.mjs +0 -0
  312. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.d.ts +4 -0
  313. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.d.ts.map +1 -0
  314. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.js +68 -0
  315. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs +31 -0
  316. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/index.d.ts +20 -0
  317. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/index.d.ts.map +1 -0
  318. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/index.js +103 -0
  319. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs +69 -0
  320. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.d.ts +5 -0
  321. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.d.ts.map +1 -0
  322. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.js +227 -0
  323. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs +187 -0
  324. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.d.ts +3 -0
  325. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.d.ts.map +1 -0
  326. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.js +64 -0
  327. package/safelaunch/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs +30 -0
  328. package/safelaunch/node_modules/posthog-node/dist/extensions/express.d.ts +17 -0
  329. package/safelaunch/node_modules/posthog-node/dist/extensions/express.d.ts.map +1 -0
  330. package/safelaunch/node_modules/posthog-node/dist/extensions/express.js +76 -0
  331. package/safelaunch/node_modules/posthog-node/dist/extensions/express.mjs +32 -0
  332. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/cache.d.ts +110 -0
  333. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/cache.d.ts.map +1 -0
  334. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/cache.js +18 -0
  335. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/cache.mjs +0 -0
  336. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/crypto.d.ts +2 -0
  337. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/crypto.d.ts.map +1 -0
  338. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/crypto.js +42 -0
  339. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs +8 -0
  340. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.d.ts +155 -0
  341. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.d.ts.map +1 -0
  342. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.js +824 -0
  343. package/safelaunch/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs +772 -0
  344. package/safelaunch/node_modules/posthog-node/dist/extensions/nestjs.d.ts +32 -0
  345. package/safelaunch/node_modules/posthog-node/dist/extensions/nestjs.d.ts.map +1 -0
  346. package/safelaunch/node_modules/posthog-node/dist/extensions/nestjs.js +105 -0
  347. package/safelaunch/node_modules/posthog-node/dist/extensions/nestjs.mjs +61 -0
  348. package/safelaunch/node_modules/posthog-node/dist/extensions/sentry-integration.d.ts +54 -0
  349. package/safelaunch/node_modules/posthog-node/dist/extensions/sentry-integration.d.ts.map +1 -0
  350. package/safelaunch/node_modules/posthog-node/dist/extensions/sentry-integration.js +112 -0
  351. package/safelaunch/node_modules/posthog-node/dist/extensions/sentry-integration.mjs +72 -0
  352. package/safelaunch/node_modules/posthog-node/dist/storage-memory.d.ts +7 -0
  353. package/safelaunch/node_modules/posthog-node/dist/storage-memory.d.ts.map +1 -0
  354. package/safelaunch/node_modules/posthog-node/dist/storage-memory.js +46 -0
  355. package/safelaunch/node_modules/posthog-node/dist/storage-memory.mjs +12 -0
  356. package/safelaunch/node_modules/posthog-node/dist/types.d.ts +532 -0
  357. package/safelaunch/node_modules/posthog-node/dist/types.d.ts.map +1 -0
  358. package/safelaunch/node_modules/posthog-node/dist/types.js +41 -0
  359. package/safelaunch/node_modules/posthog-node/dist/types.mjs +7 -0
  360. package/safelaunch/node_modules/posthog-node/dist/version.d.ts +2 -0
  361. package/safelaunch/node_modules/posthog-node/dist/version.d.ts.map +1 -0
  362. package/safelaunch/node_modules/posthog-node/dist/version.js +36 -0
  363. package/safelaunch/node_modules/posthog-node/dist/version.mjs +2 -0
  364. package/safelaunch/node_modules/posthog-node/package.json +107 -0
  365. package/safelaunch/node_modules/posthog-node/src/client.ts +2123 -0
  366. package/safelaunch/node_modules/posthog-node/src/entrypoints/index.edge.ts +26 -0
  367. package/safelaunch/node_modules/posthog-node/src/entrypoints/index.node.ts +31 -0
  368. package/safelaunch/node_modules/posthog-node/src/entrypoints/nestjs.ts +1 -0
  369. package/safelaunch/node_modules/posthog-node/src/experimental.ts +11 -0
  370. package/safelaunch/node_modules/posthog-node/src/exports.ts +8 -0
  371. package/safelaunch/node_modules/posthog-node/src/extensions/context/context.ts +38 -0
  372. package/safelaunch/node_modules/posthog-node/src/extensions/context/types.ts +20 -0
  373. package/safelaunch/node_modules/posthog-node/src/extensions/error-tracking/autocapture.ts +67 -0
  374. package/safelaunch/node_modules/posthog-node/src/extensions/error-tracking/index.ts +111 -0
  375. package/safelaunch/node_modules/posthog-node/src/extensions/error-tracking/modifiers/context-lines.node.ts +404 -0
  376. package/safelaunch/node_modules/posthog-node/src/extensions/error-tracking/modifiers/module.node.ts +68 -0
  377. package/safelaunch/node_modules/posthog-node/src/extensions/express.ts +61 -0
  378. package/safelaunch/node_modules/posthog-node/src/extensions/feature-flags/cache.ts +114 -0
  379. package/safelaunch/node_modules/posthog-node/src/extensions/feature-flags/crypto.ts +12 -0
  380. package/safelaunch/node_modules/posthog-node/src/extensions/feature-flags/feature-flags.ts +1460 -0
  381. package/safelaunch/node_modules/posthog-node/src/extensions/nestjs.ts +118 -0
  382. package/safelaunch/node_modules/posthog-node/src/extensions/sentry-integration.ts +214 -0
  383. package/safelaunch/node_modules/posthog-node/src/storage-memory.ts +13 -0
  384. package/safelaunch/node_modules/posthog-node/src/types.ts +601 -0
  385. package/safelaunch/node_modules/posthog-node/src/version.ts +1 -0
  386. package/safelaunch/node_modules/shebang-command/index.js +19 -0
  387. package/safelaunch/node_modules/shebang-command/license +9 -0
  388. package/safelaunch/node_modules/shebang-command/package.json +34 -0
  389. package/safelaunch/node_modules/shebang-command/readme.md +34 -0
  390. package/safelaunch/node_modules/shebang-regex/index.d.ts +22 -0
  391. package/safelaunch/node_modules/shebang-regex/index.js +2 -0
  392. package/safelaunch/node_modules/shebang-regex/license +9 -0
  393. package/safelaunch/node_modules/shebang-regex/package.json +35 -0
  394. package/safelaunch/node_modules/shebang-regex/readme.md +33 -0
  395. package/safelaunch/node_modules/which/CHANGELOG.md +166 -0
  396. package/safelaunch/node_modules/which/LICENSE +15 -0
  397. package/safelaunch/node_modules/which/README.md +54 -0
  398. package/safelaunch/node_modules/which/bin/node-which +52 -0
  399. package/safelaunch/node_modules/which/package.json +43 -0
  400. package/safelaunch/node_modules/which/which.js +125 -0
  401. package/safelaunch/package-lock.json +113 -0
  402. package/safelaunch/package.json +23 -0
  403. package/deploycheck-vscode/.vscode/launch.json +0 -15
  404. package/deploycheck-vscode/README.md +0 -71
  405. package/deploycheck-vscode/deploycheck-vscode-0.0.1.vsix +0 -0
  406. package/deploycheck-vscode/deploycheck-vscode-0.0.10.vsix +0 -0
  407. package/deploycheck-vscode/deploycheck-vscode-0.0.2.vsix +0 -0
  408. package/deploycheck-vscode/deploycheck-vscode-0.0.3.vsix +0 -0
  409. package/deploycheck-vscode/deploycheck-vscode-0.0.4.vsix +0 -0
  410. package/deploycheck-vscode/deploycheck-vscode-0.0.6.vsix +0 -0
  411. package/deploycheck-vscode/deploycheck-vscode-0.0.7.vsix +0 -0
  412. package/deploycheck-vscode/deploycheck-vscode-0.0.8.vsix +0 -0
  413. package/deploycheck-vscode/deploycheck-vscode-0.0.9.vsix +0 -0
  414. package/deploycheck-vscode/init.js +0 -54
  415. package/deploycheck-vscode/package.json +0 -35
  416. package/deploycheck-vscode/src/extension.js +0 -277
  417. /package/{bin/deploycheck.js → safelaunch/bin/safelaunch.js} +0 -0
  418. /package/{env.manifest.json → safelaunch/env.manifest.json} +0 -0
  419. /package/{src → safelaunch/src}/hook.js +0 -0
  420. /package/{src → safelaunch/src}/init.js +0 -0
  421. /package/{src → safelaunch/src}/telemetry.js +0 -0
  422. /package/{src → safelaunch/src}/validate.js +0 -0
  423. /package/{write-action.js → safelaunch/write-action.js} +0 -0
@@ -0,0 +1,26 @@
1
+ name: deploycheck
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ branches: ["main"]
8
+
9
+ jobs:
10
+ validate-environment:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - name: Checkout code
15
+ uses: actions/checkout@v3
16
+
17
+ - name: Setup Node.js
18
+ uses: actions/setup-node@v3
19
+ with:
20
+ node-version: "20"
21
+
22
+ - name: Install deploycheck
23
+ run: cd deploycheck && npm install -g .
24
+
25
+ - name: Run deploycheck
26
+ run: cd deploycheck && deploycheck validate
package/README.md CHANGED
@@ -1,110 +1,106 @@
1
- # safelaunch
2
- > Catch what breaks production before it breaks.
3
-
4
- safelaunch is a comprehensive environment validator for JavaScript projects. Run it before every push to catch everything that will break production.
5
-
6
- Works with Node.js, Next.js, Vite, and Create React App projects. Automatically detects your project type and runs the right checks.
7
-
8
- ## Install
9
-
10
- npm install -g safelaunch
11
-
12
- ## Two commands. That is it.
13
-
14
- **Step 1: Generate your environment manifest**
15
-
16
- safelaunch init
17
-
18
- Scans your entire codebase, finds every environment variable your app uses, and generates env.manifest.json automatically. Works with process.env and import.meta.env.
19
-
20
- **Step 2: Validate before every push**
1
+ # deploycheck
21
2
 
22
- safelaunch validate
23
-
24
- ## Auto-validate on every push (Git Hook)
25
-
26
- Install the hook once and safelaunch validate runs automatically before every git push:
27
-
28
- safelaunch hook install
29
-
30
- If validation fails the push is blocked until you fix the issues. Never accidentally push a broken environment again.
31
-
32
- To remove the hook:
3
+ > Catch what breaks production before it breaks.
33
4
 
34
- safelaunch hook uninstall
5
+ 🌐 https://karthicedric7-cloud.github.io/Orches
35
6
 
36
- ## What safelaunch checks
7
+ deploycheck is a CLI tool that validates your local environment against a required environment contract before you push to production.
37
8
 
38
- safelaunch validate runs 11 checks:
9
+ No more "it works on my machine." No more production failures from missing environment variables or wrong runtime versions.
39
10
 
40
- 1. Missing required environment variables
41
- 2. Empty required environment variables
42
- 3. Runtime version mismatch (Node version)
43
- 4. Duplicate variables in .env
44
- 5. Dependencies not installed
45
- 6. Dependency drift (in package.json but not installed)
46
- 7. Variables in .env.example but missing from .env
47
- 8. VITE_ prefix warning (Vite projects — variables without VITE_ won't be exposed to the client)
48
- 9. REACT_APP_ prefix warning (CRA projects — variables without REACT_APP_ won't be exposed to the client)
49
- 10. NEXT_PUBLIC_ prefix awareness (Next.js — flags variables intended for the client)
50
- 11. .env file priority conflicts (Next.js — warns when .env.local overrides .env silently)
11
+ ---
51
12
 
52
- ## Example output
13
+ ## The Problem
53
14
 
54
- Running safelaunch...
15
+ Every developer has pushed code to production and watched it break because of a missing environment variable or a version mismatch. It works locally. It breaks in production. You spend hours debugging something that could have been caught in seconds.
55
16
 
56
- project type: Next.js
17
+ ## The Solution
57
18
 
58
- ⚠️ RUNTIME MISMATCH
19
+ deploycheck reads your `env.manifest.json` file, checks your local `.env` file against it, and tells you exactly what will break before you push a single line of code.
59
20
 
60
- Node required: 18
61
- Node actual: 20
21
+ ---
62
22
 
63
- ⚠️ DEPENDENCY DRIFT (1 found)
23
+ ## Installation
24
+ ```bash
25
+ npm install -g deploycheck
26
+ ```
64
27
 
65
- express in package.json but not installed
28
+ ## Quick Start
66
29
 
67
- ⚠️ ENV FILE PRIORITY (1 found)
30
+ **Step 1: Create your environment manifest**
68
31
 
69
- DATABASE_URL in both .env and .env.local (.env.local takes priority)
32
+ Add an `env.manifest.json` file to your project:
33
+ ```json
34
+ {
35
+ "version": "1",
36
+ "runtime": {
37
+ "node": "20"
38
+ },
39
+ "variables": {
40
+ "DATABASE_URL": {
41
+ "required": true,
42
+ "description": "PostgreSQL connection string"
43
+ },
44
+ "REDIS_URL": {
45
+ "required": true,
46
+ "description": "Redis connection string"
47
+ },
48
+ "API_KEY": {
49
+ "required": true,
50
+ "description": "External API key"
51
+ }
52
+ }
53
+ }
54
+ ```
70
55
 
71
- EMPTY VARIABLES (1 found)
56
+ **Step 2: Run the validator**
57
+ ```bash
58
+ deploycheck validate
59
+ ```
72
60
 
73
- DATABASE_URL required but empty in .env
61
+ **Step 3: See exactly what is wrong**
62
+ ```
63
+ Running deploycheck...
74
64
 
75
- ❌ MISSING VARIABLES (1 found)
65
+ ❌ MISSING VARIABLES (2 found)
76
66
 
77
- REDIS_URL required but missing from .env
67
+ DATABASE_URL required but missing from .env
68
+ REDIS_URL required but missing from .env
78
69
 
79
70
  ✅ PASSING (1)
80
71
 
81
72
  API_KEY present
82
73
 
83
74
  Your environment is not ready for production.
75
+ Fix the issues above and run deploycheck again.
76
+ ```
77
+
78
+ ---
84
79
 
85
- ## Supported project types
80
+ ## CI Integration
86
81
 
87
- safelaunch automatically detects your project type.
82
+ Add this to your GitHub Actions workflow to block deployments automatically:
83
+ ```yaml
84
+ - name: Install deploycheck
85
+ run: npm install -g .
88
86
 
89
- - Node.js scans process.env
90
- - Next.js scans process.env, checks NEXT_PUBLIC_ and .env priority
91
- - Vite scans import.meta.env, checks VITE_ prefix
92
- - React CRA scans process.env, checks REACT_APP_ prefix
87
+ - name: Run deploycheck
88
+ run: deploycheck validate
89
+ ```
93
90
 
94
- ## CI Integration
91
+ ---
95
92
 
96
- Add this to your GitHub Actions workflow:
93
+ ## What it checks
97
94
 
98
- - name: Install safelaunch
99
- run: npm install -g safelaunch
100
- - name: Validate environment
101
- run: safelaunch validate
95
+ - Missing required environment variables
96
+ - Runtime version mismatches between local and manifest
102
97
 
103
- Blocks deployments automatically if any check fails.
98
+ ## Coming soon
104
99
 
105
- ## Built by Orches
100
+ - VS Code extension with inline warnings
101
+ - Auto fix for common issues
102
+ - Team dashboard
106
103
 
107
- Deployment Reliability Infrastructure.
104
+ ---
108
105
 
109
- GitHub: https://github.com/karthicedric7-cloud/safelaunch
110
- VS Code: https://marketplace.visualstudio.com/items?itemName=Orches.deploycheck-vscode
106
+ Built for developers who are tired of production surprises.
package/index.js ADDED
@@ -0,0 +1,38 @@
1
+ const fs = require('fs');
2
+
3
+ const content = `name: deploycheck
4
+
5
+ on:
6
+ push:
7
+ branches: ["main"]
8
+ pull_request:
9
+ branches: ["main"]
10
+
11
+ jobs:
12
+ validate-environment:
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ - name: Checkout code
17
+ uses: actions/checkout@v3
18
+
19
+ - name: Setup Node.js
20
+ uses: actions/setup-node@v3
21
+ with:
22
+ node-version: "20"
23
+
24
+ - name: Install deploycheck
25
+ run: npm install -g .
26
+
27
+ - name: Run deploycheck
28
+ run: deploycheck validate
29
+ `;
30
+
31
+ fs.mkdirSync('.github/workflows', { recursive: true });
32
+ fs.writeFileSync('.github/workflows/deploycheck.yml', content);
33
+ console.log('GitHub Action file created successfully');
34
+ `;
35
+
36
+ fs.mkdirSync('.github/workflows', { recursive: true });
37
+ fs.writeFileSync('.github/workflows/deploycheck.yml', content);
38
+ console.log('GitHub Action file created successfully');
package/package.json CHANGED
@@ -1,23 +1,34 @@
1
1
  {
2
2
  "name": "safelaunch",
3
- "version": "1.0.12",
4
- "description": "Backend Reliability Infrastructure - catch what breaks production before it breaks",
3
+ "version": "1.0.13",
4
+ "description": "Validate your environment before every push. Catch missing, empty, and misconfigured env variables before they break production.",
5
5
  "main": "index.js",
6
6
  "bin": {
7
- "safelaunch": "./bin/deploycheck.js"
7
+ "safelaunch": "./safelaunch/bin/safelaunch.js"
8
8
  },
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1"
11
11
  },
12
12
  "keywords": [
13
+ "env",
14
+ "dotenv",
15
+ "environment-variables",
16
+ "env-validator",
17
+ "env-check",
13
18
  "deployment",
14
- "environment",
15
- "reliability",
16
- "devops"
19
+ "pre-deploy",
20
+ "git-hook",
21
+ "nextjs",
22
+ "vite",
23
+ "react",
24
+ "cli",
25
+ "production",
26
+ "devops",
27
+ "safelaunch"
17
28
  ],
18
- "author": "",
29
+ "author": "Karthi Cedric",
19
30
  "license": "ISC",
20
31
  "dependencies": {
21
32
  "posthog-node": "^5.28.2"
22
33
  }
23
- }
34
+ }
@@ -0,0 +1,8 @@
1
+ clear
2
+ {
3
+ "name": "node-starter",
4
+ "private": true,
5
+ "scripts": {
6
+ "test": "echo \"Error: no test specified\" && exit 1"
7
+ }
8
+ }
@@ -0,0 +1,110 @@
1
+ # safelaunch
2
+ > Catch what breaks production before it breaks.
3
+
4
+ safelaunch is a comprehensive environment validator for JavaScript projects. Run it before every push to catch everything that will break production.
5
+
6
+ Works with Node.js, Next.js, Vite, and Create React App projects. Automatically detects your project type and runs the right checks.
7
+
8
+ ## Install
9
+
10
+ npm install -g safelaunch
11
+
12
+ ## Two commands. That is it.
13
+
14
+ **Step 1: Generate your environment manifest**
15
+
16
+ safelaunch init
17
+
18
+ Scans your entire codebase, finds every environment variable your app uses, and generates env.manifest.json automatically. Works with process.env and import.meta.env.
19
+
20
+ **Step 2: Validate before every push**
21
+
22
+ safelaunch validate
23
+
24
+ ## Auto-validate on every push (Git Hook)
25
+
26
+ Install the hook once and safelaunch validate runs automatically before every git push:
27
+
28
+ safelaunch hook install
29
+
30
+ If validation fails the push is blocked until you fix the issues. Never accidentally push a broken environment again.
31
+
32
+ To remove the hook:
33
+
34
+ safelaunch hook uninstall
35
+
36
+ ## What safelaunch checks
37
+
38
+ safelaunch validate runs 11 checks:
39
+
40
+ 1. Missing required environment variables
41
+ 2. Empty required environment variables
42
+ 3. Runtime version mismatch (Node version)
43
+ 4. Duplicate variables in .env
44
+ 5. Dependencies not installed
45
+ 6. Dependency drift (in package.json but not installed)
46
+ 7. Variables in .env.example but missing from .env
47
+ 8. VITE_ prefix warning (Vite projects — variables without VITE_ won't be exposed to the client)
48
+ 9. REACT_APP_ prefix warning (CRA projects — variables without REACT_APP_ won't be exposed to the client)
49
+ 10. NEXT_PUBLIC_ prefix awareness (Next.js — flags variables intended for the client)
50
+ 11. .env file priority conflicts (Next.js — warns when .env.local overrides .env silently)
51
+
52
+ ## Example output
53
+
54
+ Running safelaunch...
55
+
56
+ project type: Next.js
57
+
58
+ ⚠️ RUNTIME MISMATCH
59
+
60
+ Node required: 18
61
+ Node actual: 20
62
+
63
+ ⚠️ DEPENDENCY DRIFT (1 found)
64
+
65
+ express in package.json but not installed
66
+
67
+ ⚠️ ENV FILE PRIORITY (1 found)
68
+
69
+ DATABASE_URL in both .env and .env.local (.env.local takes priority)
70
+
71
+ ❌ EMPTY VARIABLES (1 found)
72
+
73
+ DATABASE_URL required but empty in .env
74
+
75
+ ❌ MISSING VARIABLES (1 found)
76
+
77
+ REDIS_URL required but missing from .env
78
+
79
+ ✅ PASSING (1)
80
+
81
+ API_KEY present
82
+
83
+ Your environment is not ready for production.
84
+
85
+ ## Supported project types
86
+
87
+ safelaunch automatically detects your project type.
88
+
89
+ - Node.js scans process.env
90
+ - Next.js scans process.env, checks NEXT_PUBLIC_ and .env priority
91
+ - Vite scans import.meta.env, checks VITE_ prefix
92
+ - React CRA scans process.env, checks REACT_APP_ prefix
93
+
94
+ ## CI Integration
95
+
96
+ Add this to your GitHub Actions workflow:
97
+
98
+ - name: Install safelaunch
99
+ run: npm install -g safelaunch
100
+ - name: Validate environment
101
+ run: safelaunch validate
102
+
103
+ Blocks deployments automatically if any check fails.
104
+
105
+ ## Built by Orches
106
+
107
+ Deployment Reliability Infrastructure.
108
+
109
+ GitHub: https://github.com/karthicedric7-cloud/safelaunch
110
+ VS Code: https://marketplace.visualstudio.com/items?itemName=Orches.deploycheck-vscode
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "safelaunch",
3
+ "version": "1.0.7",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "node_modules/@posthog/core": {
8
+ "version": "1.23.4",
9
+ "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.23.4.tgz",
10
+ "integrity": "sha512-gSM1gnIuw5UOBUOTz0IhCTH8jOHoFr5rzSDb5m7fn9ofLHvz3boZT1L1f+bcuk+mvzNJfrJ3ByVQGKmUQnKQ8g==",
11
+ "license": "MIT",
12
+ "dependencies": {
13
+ "cross-spawn": "^7.0.6"
14
+ }
15
+ },
16
+ "node_modules/cross-spawn": {
17
+ "version": "7.0.6",
18
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
19
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
20
+ "license": "MIT",
21
+ "dependencies": {
22
+ "path-key": "^3.1.0",
23
+ "shebang-command": "^2.0.0",
24
+ "which": "^2.0.1"
25
+ },
26
+ "engines": {
27
+ "node": ">= 8"
28
+ }
29
+ },
30
+ "node_modules/isexe": {
31
+ "version": "2.0.0",
32
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
33
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
34
+ "license": "ISC"
35
+ },
36
+ "node_modules/path-key": {
37
+ "version": "3.1.1",
38
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
39
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
40
+ "license": "MIT",
41
+ "engines": {
42
+ "node": ">=8"
43
+ }
44
+ },
45
+ "node_modules/posthog-node": {
46
+ "version": "5.28.2",
47
+ "resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-5.28.2.tgz",
48
+ "integrity": "sha512-a+unFAKU8Vtez1DAEgCXB/KOZbroQZE+GvnSr9B35u3uMUxtyPO5ulgLJo8AUcZ4prhv6ia8R1Xjr4BrxPfdsA==",
49
+ "license": "MIT",
50
+ "dependencies": {
51
+ "@posthog/core": "1.23.4"
52
+ },
53
+ "engines": {
54
+ "node": "^20.20.0 || >=22.22.0"
55
+ },
56
+ "peerDependencies": {
57
+ "rxjs": "^7.0.0"
58
+ },
59
+ "peerDependenciesMeta": {
60
+ "rxjs": {
61
+ "optional": true
62
+ }
63
+ }
64
+ },
65
+ "node_modules/shebang-command": {
66
+ "version": "2.0.0",
67
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
68
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
69
+ "license": "MIT",
70
+ "dependencies": {
71
+ "shebang-regex": "^3.0.0"
72
+ },
73
+ "engines": {
74
+ "node": ">=8"
75
+ }
76
+ },
77
+ "node_modules/shebang-regex": {
78
+ "version": "3.0.0",
79
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
80
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
81
+ "license": "MIT",
82
+ "engines": {
83
+ "node": ">=8"
84
+ }
85
+ },
86
+ "node_modules/which": {
87
+ "version": "2.0.2",
88
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
89
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
90
+ "license": "ISC",
91
+ "dependencies": {
92
+ "isexe": "^2.0.0"
93
+ },
94
+ "bin": {
95
+ "node-which": "bin/node-which"
96
+ },
97
+ "engines": {
98
+ "node": ">= 8"
99
+ }
100
+ }
101
+ }
102
+ }
@@ -0,0 +1,5 @@
1
+ import type { StackParser } from './types';
2
+ type ChunkIdMapType = Record<string, string>;
3
+ export declare function getFilenameToChunkIdMap(stackParser: StackParser): ChunkIdMapType | undefined;
4
+ export {};
5
+ //# sourceMappingURL=chunk-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-ids.d.ts","sourceRoot":"","sources":["../../src/error-tracking/chunk-ids.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAM5C,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CA2C5F"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ getFilenameToChunkIdMap: ()=>getFilenameToChunkIdMap
28
+ });
29
+ let parsedStackResults;
30
+ let lastKeysCount;
31
+ let cachedFilenameChunkIds;
32
+ function getFilenameToChunkIdMap(stackParser) {
33
+ const chunkIdMap = globalThis._posthogChunkIds;
34
+ if (!chunkIdMap) return;
35
+ const chunkIdKeys = Object.keys(chunkIdMap);
36
+ if (cachedFilenameChunkIds && chunkIdKeys.length === lastKeysCount) return cachedFilenameChunkIds;
37
+ lastKeysCount = chunkIdKeys.length;
38
+ cachedFilenameChunkIds = chunkIdKeys.reduce((acc, stackKey)=>{
39
+ if (!parsedStackResults) parsedStackResults = {};
40
+ const result = parsedStackResults[stackKey];
41
+ if (result) acc[result[0]] = result[1];
42
+ else {
43
+ const parsedStack = stackParser(stackKey);
44
+ for(let i = parsedStack.length - 1; i >= 0; i--){
45
+ const stackFrame = parsedStack[i];
46
+ const filename = stackFrame?.filename;
47
+ const chunkId = chunkIdMap[stackKey];
48
+ if (filename && chunkId) {
49
+ acc[filename] = chunkId;
50
+ parsedStackResults[stackKey] = [
51
+ filename,
52
+ chunkId
53
+ ];
54
+ break;
55
+ }
56
+ }
57
+ }
58
+ return acc;
59
+ }, {});
60
+ return cachedFilenameChunkIds;
61
+ }
62
+ exports.getFilenameToChunkIdMap = __webpack_exports__.getFilenameToChunkIdMap;
63
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
64
+ "getFilenameToChunkIdMap"
65
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
66
+ Object.defineProperty(exports, '__esModule', {
67
+ value: true
68
+ });
@@ -0,0 +1,34 @@
1
+ let parsedStackResults;
2
+ let lastKeysCount;
3
+ let cachedFilenameChunkIds;
4
+ function getFilenameToChunkIdMap(stackParser) {
5
+ const chunkIdMap = globalThis._posthogChunkIds;
6
+ if (!chunkIdMap) return;
7
+ const chunkIdKeys = Object.keys(chunkIdMap);
8
+ if (cachedFilenameChunkIds && chunkIdKeys.length === lastKeysCount) return cachedFilenameChunkIds;
9
+ lastKeysCount = chunkIdKeys.length;
10
+ cachedFilenameChunkIds = chunkIdKeys.reduce((acc, stackKey)=>{
11
+ if (!parsedStackResults) parsedStackResults = {};
12
+ const result = parsedStackResults[stackKey];
13
+ if (result) acc[result[0]] = result[1];
14
+ else {
15
+ const parsedStack = stackParser(stackKey);
16
+ for(let i = parsedStack.length - 1; i >= 0; i--){
17
+ const stackFrame = parsedStack[i];
18
+ const filename = stackFrame?.filename;
19
+ const chunkId = chunkIdMap[stackKey];
20
+ if (filename && chunkId) {
21
+ acc[filename] = chunkId;
22
+ parsedStackResults[stackKey] = [
23
+ filename,
24
+ chunkId
25
+ ];
26
+ break;
27
+ }
28
+ }
29
+ }
30
+ return acc;
31
+ }, {});
32
+ return cachedFilenameChunkIds;
33
+ }
34
+ export { getFilenameToChunkIdMap };
@@ -0,0 +1,10 @@
1
+ import { CoercingContext, ErrorTrackingCoercer, ExceptionLike } from '../types';
2
+ export declare class DOMExceptionCoercer implements ErrorTrackingCoercer<DOMException> {
3
+ match(err: unknown): err is DOMException;
4
+ coerce(err: DOMException, ctx: CoercingContext): ExceptionLike;
5
+ private getType;
6
+ private getValue;
7
+ private isDOMException;
8
+ private isDOMError;
9
+ }
10
+ //# sourceMappingURL=dom-exception-coercer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-exception-coercer.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/coercers/dom-exception-coercer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAG7F,qBAAa,mBAAoB,YAAW,oBAAoB,CAAC,YAAY,CAAC;IAC5E,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,YAAY;IAIxC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,aAAa;IAY9D,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,UAAU;CAGnB"}