@quantiya/codevibe-claude-plugin 1.0.13 → 1.0.14

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 (438) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/node_modules/@quantiya/codevibe-core/README.md +179 -0
  3. package/node_modules/@quantiya/codevibe-core/bin/codevibe.js +7 -0
  4. package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +132 -0
  5. package/node_modules/@quantiya/codevibe-core/dist/appsync/index.d.ts +2 -0
  6. package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +16 -0
  7. package/node_modules/@quantiya/codevibe-core/dist/auth/auth-cli.d.ts +5 -0
  8. package/node_modules/@quantiya/codevibe-core/dist/auth/auth-service.d.ts +87 -0
  9. package/node_modules/@quantiya/codevibe-core/dist/auth/fetch-helpers.d.ts +11 -0
  10. package/node_modules/@quantiya/codevibe-core/dist/auth/index.d.ts +2 -0
  11. package/node_modules/@quantiya/codevibe-core/dist/config/config.d.ts +53 -0
  12. package/node_modules/@quantiya/codevibe-core/dist/config/index.d.ts +2 -0
  13. package/node_modules/@quantiya/codevibe-core/dist/crypto/crypto-service.d.ts +118 -0
  14. package/node_modules/@quantiya/codevibe-core/dist/crypto/index.d.ts +1 -0
  15. package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +14 -0
  16. package/node_modules/@quantiya/codevibe-core/dist/index.js +218 -0
  17. package/node_modules/@quantiya/codevibe-core/dist/keychain/index.d.ts +1 -0
  18. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.d.ts +125 -0
  19. package/node_modules/@quantiya/codevibe-core/dist/logger/index.d.ts +1 -0
  20. package/node_modules/@quantiya/codevibe-core/dist/logger/logger.d.ts +35 -0
  21. package/node_modules/@quantiya/codevibe-core/dist/prompt-parser.d.ts +39 -0
  22. package/node_modules/@quantiya/codevibe-core/dist/session/index.d.ts +2 -0
  23. package/node_modules/@quantiya/codevibe-core/dist/session/session-resume.d.ts +55 -0
  24. package/node_modules/@quantiya/codevibe-core/dist/types/auth.d.ts +15 -0
  25. package/node_modules/@quantiya/codevibe-core/dist/types/encryption.d.ts +54 -0
  26. package/node_modules/@quantiya/codevibe-core/dist/types/events.d.ts +74 -0
  27. package/node_modules/@quantiya/codevibe-core/dist/types/index.d.ts +4 -0
  28. package/node_modules/@quantiya/codevibe-core/dist/types/session.d.ts +59 -0
  29. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CHANGELOG.md +274 -0
  30. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CONTRIBUTING.md +18 -0
  31. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/LICENSE.md +9 -0
  32. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/README.md +466 -0
  33. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/bin/uuid +2 -0
  34. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
  35. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
  36. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
  37. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
  38. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
  39. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
  40. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
  41. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
  42. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
  43. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
  44. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
  45. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
  46. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
  47. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
  48. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
  49. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
  50. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/index.js +9 -0
  51. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  52. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/native.js +4 -0
  53. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  54. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  55. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  56. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/rng.js +18 -0
  57. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  58. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
  59. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1.js +95 -0
  60. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  61. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v35.js +66 -0
  62. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v4.js +29 -0
  63. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  64. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  65. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/version.js +11 -0
  66. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/index.js +9 -0
  67. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/md5.js +13 -0
  68. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/native.js +4 -0
  69. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/nil.js +1 -0
  70. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/parse.js +35 -0
  71. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/regex.js +1 -0
  72. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/rng.js +12 -0
  73. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/sha1.js +13 -0
  74. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/stringify.js +33 -0
  75. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v1.js +95 -0
  76. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v3.js +4 -0
  77. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v35.js +66 -0
  78. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v4.js +29 -0
  79. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v5.js +4 -0
  80. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/validate.js +7 -0
  81. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/version.js +11 -0
  82. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/index.js +79 -0
  83. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5-browser.js +223 -0
  84. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5.js +23 -0
  85. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native-browser.js +11 -0
  86. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native.js +15 -0
  87. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/nil.js +8 -0
  88. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/parse.js +45 -0
  89. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/regex.js +8 -0
  90. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng-browser.js +25 -0
  91. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng.js +24 -0
  92. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1-browser.js +104 -0
  93. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1.js +23 -0
  94. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/stringify.js +44 -0
  95. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/uuid-bin.js +85 -0
  96. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v1.js +107 -0
  97. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v3.js +16 -0
  98. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v35.js +80 -0
  99. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v4.js +43 -0
  100. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v5.js +16 -0
  101. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/validate.js +17 -0
  102. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/version.js +21 -0
  103. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/package.json +135 -0
  104. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/wrapper.mjs +10 -0
  105. package/node_modules/@quantiya/codevibe-core/package.json +54 -0
  106. package/node_modules/base64-js/LICENSE +21 -0
  107. package/node_modules/base64-js/README.md +34 -0
  108. package/node_modules/base64-js/base64js.min.js +1 -0
  109. package/node_modules/base64-js/index.d.ts +3 -0
  110. package/node_modules/base64-js/index.js +150 -0
  111. package/node_modules/base64-js/package.json +47 -0
  112. package/node_modules/bl/.travis.yml +17 -0
  113. package/node_modules/bl/BufferList.js +396 -0
  114. package/node_modules/bl/LICENSE.md +13 -0
  115. package/node_modules/bl/README.md +247 -0
  116. package/node_modules/bl/bl.js +84 -0
  117. package/node_modules/bl/package.json +37 -0
  118. package/node_modules/bl/test/convert.js +21 -0
  119. package/node_modules/bl/test/indexOf.js +492 -0
  120. package/node_modules/bl/test/isBufferList.js +32 -0
  121. package/node_modules/bl/test/test.js +869 -0
  122. package/node_modules/buffer/AUTHORS.md +70 -0
  123. package/node_modules/buffer/LICENSE +21 -0
  124. package/node_modules/buffer/README.md +410 -0
  125. package/node_modules/buffer/index.d.ts +186 -0
  126. package/node_modules/buffer/index.js +1817 -0
  127. package/node_modules/buffer/package.json +96 -0
  128. package/node_modules/chownr/LICENSE +15 -0
  129. package/node_modules/chownr/README.md +3 -0
  130. package/node_modules/chownr/chownr.js +167 -0
  131. package/node_modules/chownr/package.json +29 -0
  132. package/node_modules/decompress-response/index.d.ts +22 -0
  133. package/node_modules/decompress-response/index.js +58 -0
  134. package/node_modules/decompress-response/license +9 -0
  135. package/node_modules/decompress-response/package.json +56 -0
  136. package/node_modules/decompress-response/readme.md +48 -0
  137. package/node_modules/deep-extend/CHANGELOG.md +46 -0
  138. package/node_modules/deep-extend/LICENSE +20 -0
  139. package/node_modules/deep-extend/README.md +91 -0
  140. package/node_modules/deep-extend/index.js +1 -0
  141. package/node_modules/deep-extend/lib/deep-extend.js +150 -0
  142. package/node_modules/deep-extend/package.json +62 -0
  143. package/node_modules/detect-libc/LICENSE +201 -0
  144. package/node_modules/detect-libc/README.md +163 -0
  145. package/node_modules/detect-libc/index.d.ts +14 -0
  146. package/node_modules/detect-libc/lib/detect-libc.js +313 -0
  147. package/node_modules/detect-libc/lib/elf.js +39 -0
  148. package/node_modules/detect-libc/lib/filesystem.js +51 -0
  149. package/node_modules/detect-libc/lib/process.js +24 -0
  150. package/node_modules/detect-libc/package.json +44 -0
  151. package/node_modules/end-of-stream/LICENSE +21 -0
  152. package/node_modules/end-of-stream/README.md +54 -0
  153. package/node_modules/end-of-stream/index.js +96 -0
  154. package/node_modules/end-of-stream/package.json +37 -0
  155. package/node_modules/expand-template/.travis.yml +6 -0
  156. package/node_modules/expand-template/LICENSE +21 -0
  157. package/node_modules/expand-template/README.md +43 -0
  158. package/node_modules/expand-template/index.js +26 -0
  159. package/node_modules/expand-template/package.json +29 -0
  160. package/node_modules/expand-template/test.js +67 -0
  161. package/node_modules/fs-constants/LICENSE +21 -0
  162. package/node_modules/fs-constants/README.md +26 -0
  163. package/node_modules/fs-constants/browser.js +1 -0
  164. package/node_modules/fs-constants/index.js +1 -0
  165. package/node_modules/fs-constants/package.json +19 -0
  166. package/node_modules/github-from-package/.travis.yml +4 -0
  167. package/node_modules/github-from-package/LICENSE +18 -0
  168. package/node_modules/github-from-package/example/package.json +8 -0
  169. package/node_modules/github-from-package/example/url.js +3 -0
  170. package/node_modules/github-from-package/index.js +17 -0
  171. package/node_modules/github-from-package/package.json +30 -0
  172. package/node_modules/github-from-package/readme.markdown +53 -0
  173. package/node_modules/github-from-package/test/a.json +8 -0
  174. package/node_modules/github-from-package/test/b.json +5 -0
  175. package/node_modules/github-from-package/test/c.json +5 -0
  176. package/node_modules/github-from-package/test/d.json +7 -0
  177. package/node_modules/github-from-package/test/e.json +5 -0
  178. package/node_modules/github-from-package/test/url.js +19 -0
  179. package/node_modules/ieee754/LICENSE +11 -0
  180. package/node_modules/ieee754/README.md +51 -0
  181. package/node_modules/ieee754/index.d.ts +10 -0
  182. package/node_modules/ieee754/index.js +85 -0
  183. package/node_modules/ieee754/package.json +52 -0
  184. package/node_modules/ini/LICENSE +15 -0
  185. package/node_modules/ini/README.md +102 -0
  186. package/node_modules/ini/ini.js +206 -0
  187. package/node_modules/ini/package.json +33 -0
  188. package/node_modules/keytar/LICENSE.md +20 -0
  189. package/node_modules/keytar/README.md +94 -0
  190. package/node_modules/keytar/binding.gyp +66 -0
  191. package/node_modules/keytar/build/Release/keytar.node +0 -0
  192. package/node_modules/keytar/keytar.d.ts +51 -0
  193. package/node_modules/keytar/lib/keytar.js +43 -0
  194. package/node_modules/keytar/package.json +66 -0
  195. package/node_modules/keytar/src/async.cc +242 -0
  196. package/node_modules/keytar/src/async.h +103 -0
  197. package/node_modules/keytar/src/credentials.h +13 -0
  198. package/node_modules/keytar/src/keytar.h +41 -0
  199. package/node_modules/keytar/src/keytar_mac.cc +296 -0
  200. package/node_modules/keytar/src/keytar_posix.cc +184 -0
  201. package/node_modules/keytar/src/keytar_win.cc +272 -0
  202. package/node_modules/keytar/src/main.cc +139 -0
  203. package/node_modules/mimic-response/index.d.ts +17 -0
  204. package/node_modules/mimic-response/index.js +77 -0
  205. package/node_modules/mimic-response/license +9 -0
  206. package/node_modules/mimic-response/package.json +42 -0
  207. package/node_modules/mimic-response/readme.md +78 -0
  208. package/node_modules/minimist/.eslintrc +29 -0
  209. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  210. package/node_modules/minimist/.nycrc +14 -0
  211. package/node_modules/minimist/CHANGELOG.md +298 -0
  212. package/node_modules/minimist/LICENSE +18 -0
  213. package/node_modules/minimist/README.md +121 -0
  214. package/node_modules/minimist/example/parse.js +4 -0
  215. package/node_modules/minimist/index.js +263 -0
  216. package/node_modules/minimist/package.json +75 -0
  217. package/node_modules/minimist/test/all_bool.js +34 -0
  218. package/node_modules/minimist/test/bool.js +177 -0
  219. package/node_modules/minimist/test/dash.js +43 -0
  220. package/node_modules/minimist/test/default_bool.js +37 -0
  221. package/node_modules/minimist/test/dotted.js +24 -0
  222. package/node_modules/minimist/test/kv_short.js +32 -0
  223. package/node_modules/minimist/test/long.js +33 -0
  224. package/node_modules/minimist/test/num.js +38 -0
  225. package/node_modules/minimist/test/parse.js +209 -0
  226. package/node_modules/minimist/test/parse_modified.js +11 -0
  227. package/node_modules/minimist/test/proto.js +64 -0
  228. package/node_modules/minimist/test/short.js +69 -0
  229. package/node_modules/minimist/test/stop_early.js +17 -0
  230. package/node_modules/minimist/test/unknown.js +104 -0
  231. package/node_modules/minimist/test/whitespace.js +10 -0
  232. package/node_modules/mkdirp-classic/LICENSE +21 -0
  233. package/node_modules/mkdirp-classic/README.md +18 -0
  234. package/node_modules/mkdirp-classic/index.js +98 -0
  235. package/node_modules/mkdirp-classic/package.json +18 -0
  236. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
  237. package/node_modules/napi-build-utils/LICENSE +21 -0
  238. package/node_modules/napi-build-utils/README.md +52 -0
  239. package/node_modules/napi-build-utils/index.js +214 -0
  240. package/node_modules/napi-build-utils/index.md +0 -0
  241. package/node_modules/napi-build-utils/package.json +42 -0
  242. package/node_modules/node-abi/LICENSE +21 -0
  243. package/node_modules/node-abi/README.md +54 -0
  244. package/node_modules/node-abi/abi_registry.json +439 -0
  245. package/node_modules/node-abi/index.js +179 -0
  246. package/node_modules/node-abi/package.json +45 -0
  247. package/node_modules/node-addon-api/LICENSE.md +13 -0
  248. package/node_modules/node-addon-api/README.md +293 -0
  249. package/node_modules/node-addon-api/common.gypi +21 -0
  250. package/node_modules/node-addon-api/except.gypi +25 -0
  251. package/node_modules/node-addon-api/index.js +11 -0
  252. package/node_modules/node-addon-api/napi-inl.deprecated.h +192 -0
  253. package/node_modules/node-addon-api/napi-inl.h +6209 -0
  254. package/node_modules/node-addon-api/napi.h +2983 -0
  255. package/node_modules/node-addon-api/node_api.gyp +9 -0
  256. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  257. package/node_modules/node-addon-api/nothing.c +0 -0
  258. package/node_modules/node-addon-api/package-support.json +21 -0
  259. package/node_modules/node-addon-api/package.json +399 -0
  260. package/node_modules/node-addon-api/tools/README.md +73 -0
  261. package/node_modules/node-addon-api/tools/check-napi.js +100 -0
  262. package/node_modules/node-addon-api/tools/clang-format.js +68 -0
  263. package/node_modules/node-addon-api/tools/conversion.js +309 -0
  264. package/node_modules/node-addon-api/tools/eslint-format.js +71 -0
  265. package/node_modules/prebuild-install/CHANGELOG.md +131 -0
  266. package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  267. package/node_modules/prebuild-install/LICENSE +21 -0
  268. package/node_modules/prebuild-install/README.md +163 -0
  269. package/node_modules/prebuild-install/asset.js +44 -0
  270. package/node_modules/prebuild-install/bin.js +78 -0
  271. package/node_modules/prebuild-install/download.js +142 -0
  272. package/node_modules/prebuild-install/error.js +14 -0
  273. package/node_modules/prebuild-install/help.txt +16 -0
  274. package/node_modules/prebuild-install/index.js +1 -0
  275. package/node_modules/prebuild-install/log.js +33 -0
  276. package/node_modules/prebuild-install/package.json +67 -0
  277. package/node_modules/prebuild-install/proxy.js +35 -0
  278. package/node_modules/prebuild-install/rc.js +64 -0
  279. package/node_modules/prebuild-install/util.js +143 -0
  280. package/node_modules/pump/.github/FUNDING.yml +2 -0
  281. package/node_modules/pump/.travis.yml +5 -0
  282. package/node_modules/pump/LICENSE +21 -0
  283. package/node_modules/pump/README.md +74 -0
  284. package/node_modules/pump/SECURITY.md +5 -0
  285. package/node_modules/pump/empty.js +1 -0
  286. package/node_modules/pump/index.js +86 -0
  287. package/node_modules/pump/package.json +30 -0
  288. package/node_modules/pump/test-browser.js +66 -0
  289. package/node_modules/pump/test-node.js +53 -0
  290. package/node_modules/rc/LICENSE.APACHE2 +15 -0
  291. package/node_modules/rc/LICENSE.BSD +26 -0
  292. package/node_modules/rc/LICENSE.MIT +24 -0
  293. package/node_modules/rc/README.md +227 -0
  294. package/node_modules/rc/browser.js +7 -0
  295. package/node_modules/rc/cli.js +4 -0
  296. package/node_modules/rc/index.js +53 -0
  297. package/node_modules/rc/lib/utils.js +104 -0
  298. package/node_modules/rc/package.json +29 -0
  299. package/node_modules/rc/test/ini.js +16 -0
  300. package/node_modules/rc/test/nested-env-vars.js +50 -0
  301. package/node_modules/rc/test/test.js +59 -0
  302. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  303. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  304. package/node_modules/readable-stream/LICENSE +47 -0
  305. package/node_modules/readable-stream/README.md +106 -0
  306. package/node_modules/readable-stream/errors-browser.js +127 -0
  307. package/node_modules/readable-stream/errors.js +116 -0
  308. package/node_modules/readable-stream/experimentalWarning.js +17 -0
  309. package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  310. package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  311. package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  312. package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  313. package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  314. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  315. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  316. package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  317. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  318. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  319. package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  320. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  321. package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  322. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  323. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  324. package/node_modules/readable-stream/package.json +68 -0
  325. package/node_modules/readable-stream/readable-browser.js +9 -0
  326. package/node_modules/readable-stream/readable.js +16 -0
  327. package/node_modules/safe-buffer/LICENSE +21 -0
  328. package/node_modules/safe-buffer/README.md +584 -0
  329. package/node_modules/safe-buffer/index.d.ts +187 -0
  330. package/node_modules/safe-buffer/index.js +65 -0
  331. package/node_modules/safe-buffer/package.json +51 -0
  332. package/node_modules/semver/LICENSE +15 -0
  333. package/node_modules/semver/README.md +665 -0
  334. package/node_modules/semver/bin/semver.js +191 -0
  335. package/node_modules/semver/classes/comparator.js +143 -0
  336. package/node_modules/semver/classes/index.js +7 -0
  337. package/node_modules/semver/classes/range.js +557 -0
  338. package/node_modules/semver/classes/semver.js +333 -0
  339. package/node_modules/semver/functions/clean.js +8 -0
  340. package/node_modules/semver/functions/cmp.js +54 -0
  341. package/node_modules/semver/functions/coerce.js +62 -0
  342. package/node_modules/semver/functions/compare-build.js +9 -0
  343. package/node_modules/semver/functions/compare-loose.js +5 -0
  344. package/node_modules/semver/functions/compare.js +7 -0
  345. package/node_modules/semver/functions/diff.js +60 -0
  346. package/node_modules/semver/functions/eq.js +5 -0
  347. package/node_modules/semver/functions/gt.js +5 -0
  348. package/node_modules/semver/functions/gte.js +5 -0
  349. package/node_modules/semver/functions/inc.js +21 -0
  350. package/node_modules/semver/functions/lt.js +5 -0
  351. package/node_modules/semver/functions/lte.js +5 -0
  352. package/node_modules/semver/functions/major.js +5 -0
  353. package/node_modules/semver/functions/minor.js +5 -0
  354. package/node_modules/semver/functions/neq.js +5 -0
  355. package/node_modules/semver/functions/parse.js +18 -0
  356. package/node_modules/semver/functions/patch.js +5 -0
  357. package/node_modules/semver/functions/prerelease.js +8 -0
  358. package/node_modules/semver/functions/rcompare.js +5 -0
  359. package/node_modules/semver/functions/rsort.js +5 -0
  360. package/node_modules/semver/functions/satisfies.js +12 -0
  361. package/node_modules/semver/functions/sort.js +5 -0
  362. package/node_modules/semver/functions/valid.js +8 -0
  363. package/node_modules/semver/index.js +91 -0
  364. package/node_modules/semver/internal/constants.js +37 -0
  365. package/node_modules/semver/internal/debug.js +11 -0
  366. package/node_modules/semver/internal/identifiers.js +29 -0
  367. package/node_modules/semver/internal/lrucache.js +42 -0
  368. package/node_modules/semver/internal/parse-options.js +17 -0
  369. package/node_modules/semver/internal/re.js +223 -0
  370. package/node_modules/semver/package.json +78 -0
  371. package/node_modules/semver/preload.js +4 -0
  372. package/node_modules/semver/range.bnf +16 -0
  373. package/node_modules/semver/ranges/gtr.js +6 -0
  374. package/node_modules/semver/ranges/intersects.js +9 -0
  375. package/node_modules/semver/ranges/ltr.js +6 -0
  376. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  377. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  378. package/node_modules/semver/ranges/min-version.js +63 -0
  379. package/node_modules/semver/ranges/outside.js +82 -0
  380. package/node_modules/semver/ranges/simplify.js +49 -0
  381. package/node_modules/semver/ranges/subset.js +249 -0
  382. package/node_modules/semver/ranges/to-comparators.js +10 -0
  383. package/node_modules/semver/ranges/valid.js +13 -0
  384. package/node_modules/simple-concat/.travis.yml +3 -0
  385. package/node_modules/simple-concat/LICENSE +20 -0
  386. package/node_modules/simple-concat/README.md +44 -0
  387. package/node_modules/simple-concat/index.js +15 -0
  388. package/node_modules/simple-concat/package.json +47 -0
  389. package/node_modules/simple-concat/test/basic.js +41 -0
  390. package/node_modules/simple-get/.github/dependabot.yml +15 -0
  391. package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  392. package/node_modules/simple-get/LICENSE +20 -0
  393. package/node_modules/simple-get/README.md +333 -0
  394. package/node_modules/simple-get/index.js +108 -0
  395. package/node_modules/simple-get/package.json +67 -0
  396. package/node_modules/string_decoder/LICENSE +48 -0
  397. package/node_modules/string_decoder/README.md +47 -0
  398. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  399. package/node_modules/string_decoder/package.json +34 -0
  400. package/node_modules/strip-json-comments/index.js +70 -0
  401. package/node_modules/strip-json-comments/license +21 -0
  402. package/node_modules/strip-json-comments/package.json +42 -0
  403. package/node_modules/strip-json-comments/readme.md +64 -0
  404. package/node_modules/tar-fs/.travis.yml +6 -0
  405. package/node_modules/tar-fs/LICENSE +21 -0
  406. package/node_modules/tar-fs/README.md +165 -0
  407. package/node_modules/tar-fs/index.js +363 -0
  408. package/node_modules/tar-fs/package.json +41 -0
  409. package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  410. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  411. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  412. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  413. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  414. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  415. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  416. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  417. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  418. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  419. package/node_modules/tar-fs/test/index.js +346 -0
  420. package/node_modules/tar-stream/LICENSE +21 -0
  421. package/node_modules/tar-stream/README.md +168 -0
  422. package/node_modules/tar-stream/extract.js +257 -0
  423. package/node_modules/tar-stream/headers.js +295 -0
  424. package/node_modules/tar-stream/index.js +2 -0
  425. package/node_modules/tar-stream/pack.js +255 -0
  426. package/node_modules/tar-stream/package.json +58 -0
  427. package/node_modules/tar-stream/sandbox.js +11 -0
  428. package/node_modules/tunnel-agent/LICENSE +55 -0
  429. package/node_modules/tunnel-agent/README.md +4 -0
  430. package/node_modules/tunnel-agent/index.js +244 -0
  431. package/node_modules/tunnel-agent/package.json +22 -0
  432. package/node_modules/util-deprecate/History.md +16 -0
  433. package/node_modules/util-deprecate/LICENSE +24 -0
  434. package/node_modules/util-deprecate/README.md +53 -0
  435. package/node_modules/util-deprecate/browser.js +67 -0
  436. package/node_modules/util-deprecate/node.js +6 -0
  437. package/node_modules/util-deprecate/package.json +27 -0
  438. package/package.json +2 -9
@@ -0,0 +1,272 @@
1
+ #include "keytar.h"
2
+
3
+ #define UNICODE
4
+
5
+ #include <windows.h>
6
+ #include <wincred.h>
7
+
8
+ #include "credentials.h"
9
+
10
+ namespace keytar {
11
+
12
+ LPWSTR utf8ToWideChar(std::string utf8) {
13
+ int wide_char_length = MultiByteToWideChar(CP_UTF8,
14
+ 0,
15
+ utf8.c_str(),
16
+ -1,
17
+ NULL,
18
+ 0);
19
+ if (wide_char_length == 0) {
20
+ return NULL;
21
+ }
22
+
23
+ LPWSTR result = new WCHAR[wide_char_length];
24
+ if (MultiByteToWideChar(CP_UTF8,
25
+ 0,
26
+ utf8.c_str(),
27
+ -1,
28
+ result,
29
+ wide_char_length) == 0) {
30
+ delete[] result;
31
+ return NULL;
32
+ }
33
+
34
+ return result;
35
+ }
36
+
37
+ std::string wideCharToAnsi(LPWSTR wide_char) {
38
+ if (wide_char == NULL) {
39
+ return std::string();
40
+ }
41
+
42
+ int ansi_length = WideCharToMultiByte(CP_ACP,
43
+ 0,
44
+ wide_char,
45
+ -1,
46
+ NULL,
47
+ 0,
48
+ NULL,
49
+ NULL);
50
+ if (ansi_length == 0) {
51
+ return std::string();
52
+ }
53
+
54
+ char* buffer = new char[ansi_length];
55
+ if (WideCharToMultiByte(CP_ACP,
56
+ 0,
57
+ wide_char,
58
+ -1,
59
+ buffer,
60
+ ansi_length,
61
+ NULL,
62
+ NULL) == 0) {
63
+ delete[] buffer;
64
+ return std::string();
65
+ }
66
+
67
+ std::string result = std::string(buffer);
68
+ delete[] buffer;
69
+ return result;
70
+ }
71
+
72
+ std::string wideCharToUtf8(LPWSTR wide_char) {
73
+ if (wide_char == NULL) {
74
+ return std::string();
75
+ }
76
+
77
+ int utf8_length = WideCharToMultiByte(CP_UTF8,
78
+ 0,
79
+ wide_char,
80
+ -1,
81
+ NULL,
82
+ 0,
83
+ NULL,
84
+ NULL);
85
+ if (utf8_length == 0) {
86
+ return std::string();
87
+ }
88
+
89
+ char* buffer = new char[utf8_length];
90
+ if (WideCharToMultiByte(CP_UTF8,
91
+ 0,
92
+ wide_char,
93
+ -1,
94
+ buffer,
95
+ utf8_length,
96
+ NULL,
97
+ NULL) == 0) {
98
+ delete[] buffer;
99
+ return std::string();
100
+ }
101
+
102
+ std::string result = std::string(buffer);
103
+ delete[] buffer;
104
+ return result;
105
+ }
106
+
107
+ std::string getErrorMessage(DWORD errorCode) {
108
+ LPWSTR errBuffer;
109
+ ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
110
+ NULL, errorCode, 0, (LPWSTR) &errBuffer, 0, NULL);
111
+ std::string errMsg = wideCharToAnsi(errBuffer);
112
+ LocalFree(errBuffer);
113
+ return errMsg;
114
+ }
115
+
116
+ KEYTAR_OP_RESULT SetPassword(const std::string& service,
117
+ const std::string& account,
118
+ const std::string& password,
119
+ std::string* errStr) {
120
+ LPWSTR target_name = utf8ToWideChar(service + '/' + account);
121
+ if (target_name == NULL) {
122
+ return FAIL_ERROR;
123
+ }
124
+
125
+ LPWSTR user_name = utf8ToWideChar(account);
126
+ if (user_name == NULL) {
127
+ return FAIL_ERROR;
128
+ }
129
+
130
+ CREDENTIAL cred = { 0 };
131
+ cred.Type = CRED_TYPE_GENERIC;
132
+ cred.TargetName = target_name;
133
+ cred.UserName = user_name;
134
+ cred.CredentialBlobSize = password.size();
135
+ cred.CredentialBlob = (LPBYTE)(password.data());
136
+ cred.Persist = CRED_PERSIST_ENTERPRISE;
137
+
138
+ bool result = ::CredWrite(&cred, 0);
139
+ delete[] target_name;
140
+ if (!result) {
141
+ *errStr = getErrorMessage(::GetLastError());
142
+ return FAIL_ERROR;
143
+ } else {
144
+ return SUCCESS;
145
+ }
146
+ }
147
+
148
+ KEYTAR_OP_RESULT GetPassword(const std::string& service,
149
+ const std::string& account,
150
+ std::string* password,
151
+ std::string* errStr) {
152
+ LPWSTR target_name = utf8ToWideChar(service + '/' + account);
153
+ if (target_name == NULL) {
154
+ return FAIL_ERROR;
155
+ }
156
+
157
+ CREDENTIAL* cred;
158
+ bool result = ::CredRead(target_name, CRED_TYPE_GENERIC, 0, &cred);
159
+ delete[] target_name;
160
+ if (!result) {
161
+ DWORD code = ::GetLastError();
162
+ if (code == ERROR_NOT_FOUND) {
163
+ return FAIL_NONFATAL;
164
+ } else {
165
+ *errStr = getErrorMessage(code);
166
+ return FAIL_ERROR;
167
+ }
168
+ }
169
+
170
+ *password = std::string(reinterpret_cast<char*>(cred->CredentialBlob),
171
+ cred->CredentialBlobSize);
172
+ ::CredFree(cred);
173
+ return SUCCESS;
174
+ }
175
+
176
+ KEYTAR_OP_RESULT DeletePassword(const std::string& service,
177
+ const std::string& account,
178
+ std::string* errStr) {
179
+ LPWSTR target_name = utf8ToWideChar(service + '/' + account);
180
+ if (target_name == NULL) {
181
+ return FAIL_ERROR;
182
+ }
183
+
184
+ bool result = ::CredDelete(target_name, CRED_TYPE_GENERIC, 0);
185
+ delete[] target_name;
186
+ if (!result) {
187
+ DWORD code = ::GetLastError();
188
+ if (code == ERROR_NOT_FOUND) {
189
+ return FAIL_NONFATAL;
190
+ } else {
191
+ *errStr = getErrorMessage(code);
192
+ return FAIL_ERROR;
193
+ }
194
+ }
195
+
196
+ return SUCCESS;
197
+ }
198
+
199
+ KEYTAR_OP_RESULT FindPassword(const std::string& service,
200
+ std::string* password,
201
+ std::string* errStr) {
202
+ LPWSTR filter = utf8ToWideChar(service + "*");
203
+ if (filter == NULL) {
204
+ return FAIL_ERROR;
205
+ }
206
+
207
+ DWORD count;
208
+ CREDENTIAL** creds;
209
+ bool result = ::CredEnumerate(filter, 0, &count, &creds);
210
+ delete[] filter;
211
+ if (!result) {
212
+ DWORD code = ::GetLastError();
213
+ if (code == ERROR_NOT_FOUND) {
214
+ return FAIL_NONFATAL;
215
+ } else {
216
+ *errStr = getErrorMessage(code);
217
+ return FAIL_ERROR;
218
+ }
219
+ }
220
+
221
+ *password = std::string(reinterpret_cast<char*>(creds[0]->CredentialBlob),
222
+ creds[0]->CredentialBlobSize);
223
+ ::CredFree(creds);
224
+ return SUCCESS;
225
+ }
226
+
227
+ KEYTAR_OP_RESULT FindCredentials(const std::string& service,
228
+ std::vector<Credentials>* credentials,
229
+ std::string* errStr) {
230
+ LPWSTR filter = utf8ToWideChar(service + "*");
231
+ if (filter == NULL) {
232
+ *errStr = "Error generating credential filter";
233
+ return FAIL_ERROR;
234
+ }
235
+
236
+ DWORD count;
237
+ CREDENTIAL **creds;
238
+
239
+ bool result = ::CredEnumerate(filter, 0, &count, &creds);
240
+ if (!result) {
241
+ DWORD code = ::GetLastError();
242
+ if (code == ERROR_NOT_FOUND) {
243
+ return FAIL_NONFATAL;
244
+ } else {
245
+ *errStr = getErrorMessage(code);
246
+ return FAIL_ERROR;
247
+ }
248
+ }
249
+
250
+ for (unsigned int i = 0; i < count; ++i) {
251
+ CREDENTIAL* cred = creds[i];
252
+
253
+ if (cred->UserName == NULL || cred->CredentialBlobSize == NULL) {
254
+ continue;
255
+ }
256
+
257
+ std::string login = wideCharToUtf8(cred->UserName);
258
+ std::string password(
259
+ reinterpret_cast<char*>(
260
+ cred->CredentialBlob),
261
+ cred->CredentialBlobSize);
262
+
263
+ credentials->push_back(Credentials(login, password));
264
+ }
265
+
266
+ CredFree(creds);
267
+
268
+ return SUCCESS;
269
+ }
270
+
271
+
272
+ } // namespace keytar
@@ -0,0 +1,139 @@
1
+ #include "napi.h"
2
+ #include "async.h"
3
+
4
+ namespace {
5
+
6
+ Napi::Value SetPassword(const Napi::CallbackInfo& info) {
7
+ Napi::Env env = info.Env();
8
+
9
+ if (!info[0].IsString()) {
10
+ Napi::TypeError::New(env, "Parameter 'service' must be a string").
11
+ ThrowAsJavaScriptException();
12
+ return env.Null();
13
+ }
14
+
15
+ std::string service = info[0].As<Napi::String>();
16
+
17
+ if (!info[1].IsString()) {
18
+ Napi::TypeError::New(env, "Parameter 'username' must be a string").
19
+ ThrowAsJavaScriptException();
20
+ return env.Null();
21
+ }
22
+
23
+ std::string username = info[1].As<Napi::String>();
24
+
25
+ if (!info[2].IsString()) {
26
+ Napi::TypeError::New(env, "Parameter 'password' must be a string").
27
+ ThrowAsJavaScriptException();
28
+ return env.Null();
29
+ }
30
+
31
+ std::string password = info[2].As<Napi::String>();
32
+
33
+ SetPasswordWorker* worker = new SetPasswordWorker(
34
+ service,
35
+ username,
36
+ password,
37
+ env);
38
+ worker->Queue();
39
+ return worker->Promise();
40
+ }
41
+
42
+ Napi::Value GetPassword(const Napi::CallbackInfo& info) {
43
+ Napi::Env env = info.Env();
44
+ if (!info[0].IsString()) {
45
+ Napi::TypeError::New(env, "Parameter 'service' must be a string").
46
+ ThrowAsJavaScriptException();
47
+ return env.Null();
48
+ }
49
+
50
+ std::string service = info[0].As<Napi::String>();
51
+
52
+ if (!info[1].IsString()) {
53
+ Napi::TypeError::New(env, "Parameter 'username' must be a string").
54
+ ThrowAsJavaScriptException();
55
+ return env.Null();
56
+ }
57
+
58
+ std::string username = info[1].As<Napi::String>();
59
+
60
+ GetPasswordWorker* worker = new GetPasswordWorker(
61
+ service,
62
+ username,
63
+ env);
64
+ worker->Queue();
65
+ return worker->Promise();
66
+ }
67
+
68
+ Napi::Value DeletePassword(const Napi::CallbackInfo& info) {
69
+ Napi::Env env = info.Env();
70
+ if (!info[0].IsString()) {
71
+ Napi::TypeError::New(env, "Parameter 'service' must be a string").
72
+ ThrowAsJavaScriptException();
73
+ return env.Null();
74
+ }
75
+
76
+ std::string service = info[0].As<Napi::String>();
77
+
78
+ if (!info[1].IsString()) {
79
+ Napi::TypeError::New(env, "Parameter 'username' must be a string").
80
+ ThrowAsJavaScriptException();
81
+ return env.Null();
82
+ }
83
+
84
+ std::string username = info[1].As<Napi::String>();
85
+
86
+ DeletePasswordWorker *worker = new DeletePasswordWorker(
87
+ service,
88
+ username,
89
+ env);
90
+ worker->Queue();
91
+ return worker->Promise();
92
+ }
93
+
94
+ Napi::Value FindPassword(const Napi::CallbackInfo& info) {
95
+ Napi::Env env = info.Env();
96
+ if (!info[0].IsString()) {
97
+ Napi::TypeError::New(env, "Parameter 'service' must be a string").
98
+ ThrowAsJavaScriptException();
99
+ return env.Null();
100
+ }
101
+
102
+ std::string service = info[0].As<Napi::String>();
103
+
104
+ FindPasswordWorker* worker = new FindPasswordWorker(
105
+ service,
106
+ env);
107
+ worker->Queue();
108
+ return worker->Promise();
109
+ }
110
+
111
+ Napi::Value FindCredentials(const Napi::CallbackInfo& info) {
112
+ Napi::Env env = info.Env();
113
+ if (!info[0].IsString()) {
114
+ Napi::TypeError::New(env, "Parameter 'service' must be a string").
115
+ ThrowAsJavaScriptException();
116
+ return env.Null();
117
+ }
118
+
119
+ std::string service = info[0].As<Napi::String>();
120
+
121
+ FindCredentialsWorker* worker = new FindCredentialsWorker(
122
+ service,
123
+ env);
124
+ worker->Queue();
125
+ return worker->Promise();
126
+ }
127
+
128
+ Napi::Object Init(Napi::Env env, Napi::Object exports) {
129
+ exports.Set("getPassword", Napi::Function::New(env, GetPassword));
130
+ exports.Set("setPassword", Napi::Function::New(env, SetPassword));
131
+ exports.Set("deletePassword", Napi::Function::New(env, DeletePassword));
132
+ exports.Set("findPassword", Napi::Function::New(env, FindPassword));
133
+ exports.Set("findCredentials", Napi::Function::New(env, FindCredentials));
134
+ return exports;
135
+ }
136
+
137
+ } // namespace
138
+
139
+ NODE_API_MODULE(keytar, Init)
@@ -0,0 +1,17 @@
1
+ import {IncomingMessage} from 'http';
2
+
3
+ /**
4
+ Mimic a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
5
+
6
+ Makes `toStream` include the properties from `fromStream`.
7
+
8
+ @param fromStream - The stream to copy the properties from.
9
+ @param toStream - The stream to copy the properties to.
10
+ @return The same object as `toStream`.
11
+ */
12
+ declare function mimicResponse<T extends NodeJS.ReadableStream>(
13
+ fromStream: IncomingMessage, // eslint-disable-line @typescript-eslint/prefer-readonly-parameter-types
14
+ toStream: T,
15
+ ): T & IncomingMessage;
16
+
17
+ export = mimicResponse;
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ // We define these manually to ensure they're always copied
4
+ // even if they would move up the prototype chain
5
+ // https://nodejs.org/api/http.html#http_class_http_incomingmessage
6
+ const knownProperties = [
7
+ 'aborted',
8
+ 'complete',
9
+ 'headers',
10
+ 'httpVersion',
11
+ 'httpVersionMinor',
12
+ 'httpVersionMajor',
13
+ 'method',
14
+ 'rawHeaders',
15
+ 'rawTrailers',
16
+ 'setTimeout',
17
+ 'socket',
18
+ 'statusCode',
19
+ 'statusMessage',
20
+ 'trailers',
21
+ 'url'
22
+ ];
23
+
24
+ module.exports = (fromStream, toStream) => {
25
+ if (toStream._readableState.autoDestroy) {
26
+ throw new Error('The second stream must have the `autoDestroy` option set to `false`');
27
+ }
28
+
29
+ const fromProperties = new Set(Object.keys(fromStream).concat(knownProperties));
30
+
31
+ const properties = {};
32
+
33
+ for (const property of fromProperties) {
34
+ // Don't overwrite existing properties.
35
+ if (property in toStream) {
36
+ continue;
37
+ }
38
+
39
+ properties[property] = {
40
+ get() {
41
+ const value = fromStream[property];
42
+ const isFunction = typeof value === 'function';
43
+
44
+ return isFunction ? value.bind(fromStream) : value;
45
+ },
46
+ set(value) {
47
+ fromStream[property] = value;
48
+ },
49
+ enumerable: true,
50
+ configurable: false
51
+ };
52
+ }
53
+
54
+ Object.defineProperties(toStream, properties);
55
+
56
+ fromStream.once('aborted', () => {
57
+ toStream.destroy();
58
+
59
+ toStream.emit('aborted');
60
+ });
61
+
62
+ fromStream.once('close', () => {
63
+ if (fromStream.complete) {
64
+ if (toStream.readable) {
65
+ toStream.once('end', () => {
66
+ toStream.emit('close');
67
+ });
68
+ } else {
69
+ toStream.emit('close');
70
+ }
71
+ } else {
72
+ toStream.emit('close');
73
+ }
74
+ });
75
+
76
+ return toStream;
77
+ };
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "mimic-response",
3
+ "version": "3.1.0",
4
+ "description": "Mimic a Node.js HTTP response stream",
5
+ "license": "MIT",
6
+ "repository": "sindresorhus/mimic-response",
7
+ "funding": "https://github.com/sponsors/sindresorhus",
8
+ "author": {
9
+ "name": "Sindre Sorhus",
10
+ "email": "sindresorhus@gmail.com",
11
+ "url": "https://sindresorhus.com"
12
+ },
13
+ "engines": {
14
+ "node": ">=10"
15
+ },
16
+ "scripts": {
17
+ "test": "xo && ava && tsd"
18
+ },
19
+ "files": [
20
+ "index.d.ts",
21
+ "index.js"
22
+ ],
23
+ "keywords": [
24
+ "mimic",
25
+ "response",
26
+ "stream",
27
+ "http",
28
+ "https",
29
+ "request",
30
+ "get",
31
+ "core"
32
+ ],
33
+ "devDependencies": {
34
+ "@types/node": "^14.0.1",
35
+ "ava": "^2.4.0",
36
+ "create-test-server": "^2.4.0",
37
+ "p-event": "^4.1.0",
38
+ "pify": "^5.0.0",
39
+ "tsd": "^0.11.0",
40
+ "xo": "^0.30.0"
41
+ }
42
+ }
@@ -0,0 +1,78 @@
1
+ # mimic-response [![Build Status](https://travis-ci.com/sindresorhus/mimic-response.svg?branch=master)](https://travis-ci.com/sindresorhus/mimic-response)
2
+
3
+ > Mimic a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
4
+
5
+ ## Install
6
+
7
+ ```
8
+ $ npm install mimic-response
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```js
14
+ const stream = require('stream');
15
+ const mimicResponse = require('mimic-response');
16
+
17
+ const responseStream = getHttpResponseStream();
18
+ const myStream = new stream.PassThrough();
19
+
20
+ mimicResponse(responseStream, myStream);
21
+
22
+ console.log(myStream.statusCode);
23
+ //=> 200
24
+ ```
25
+
26
+ ## API
27
+
28
+ ### mimicResponse(from, to)
29
+
30
+ **Note #1:** The `from.destroy(error)` function is not proxied. You have to call it manually:
31
+
32
+ ```js
33
+ const stream = require('stream');
34
+ const mimicResponse = require('mimic-response');
35
+
36
+ const responseStream = getHttpResponseStream();
37
+
38
+ const myStream = new stream.PassThrough({
39
+ destroy(error, callback) {
40
+ responseStream.destroy();
41
+
42
+ callback(error);
43
+ }
44
+ });
45
+
46
+ myStream.destroy();
47
+ ```
48
+
49
+ Please note that `myStream` and `responseStream` never throws. The error is passed to the request instead.
50
+
51
+ #### from
52
+
53
+ Type: `Stream`
54
+
55
+ [Node.js HTTP response stream.](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
56
+
57
+ #### to
58
+
59
+ Type: `Stream`
60
+
61
+ Any stream.
62
+
63
+ ## Related
64
+
65
+ - [mimic-fn](https://github.com/sindresorhus/mimic-fn) - Make a function mimic another one
66
+ - [clone-response](https://github.com/lukechilds/clone-response) - Clone a Node.js response stream
67
+
68
+ ---
69
+
70
+ <div align="center">
71
+ <b>
72
+ <a href="https://tidelift.com/subscription/pkg/npm-mimic-response?utm_source=npm-mimic-response&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
73
+ </b>
74
+ <br>
75
+ <sub>
76
+ Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
77
+ </sub>
78
+ </div>
@@ -0,0 +1,29 @@
1
+ {
2
+ "root": true,
3
+
4
+ "extends": "@ljharb/eslint-config/node/0.4",
5
+
6
+ "rules": {
7
+ "array-element-newline": 0,
8
+ "complexity": 0,
9
+ "func-style": [2, "declaration"],
10
+ "max-lines-per-function": 0,
11
+ "max-nested-callbacks": 1,
12
+ "max-statements-per-line": 1,
13
+ "max-statements": 0,
14
+ "multiline-comment-style": 0,
15
+ "no-continue": 1,
16
+ "no-param-reassign": 1,
17
+ "no-restricted-syntax": 1,
18
+ "object-curly-newline": 0,
19
+ },
20
+
21
+ "overrides": [
22
+ {
23
+ "files": "test/**",
24
+ "rules": {
25
+ "camelcase": 0,
26
+ },
27
+ },
28
+ ]
29
+ }
@@ -0,0 +1,12 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: [ljharb]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: npm/minimist
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -0,0 +1,14 @@
1
+ {
2
+ "all": true,
3
+ "check-coverage": false,
4
+ "reporter": ["text-summary", "text", "html", "json"],
5
+ "lines": 86,
6
+ "statements": 85.93,
7
+ "functions": 82.43,
8
+ "branches": 76.06,
9
+ "exclude": [
10
+ "coverage",
11
+ "example",
12
+ "test"
13
+ ]
14
+ }