wtt-connect 0.2.16 → 0.2.18

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 (320) hide show
  1. package/node_modules/node-addon-api/LICENSE.md +9 -0
  2. package/node_modules/node-addon-api/README.md +319 -0
  3. package/node_modules/node-addon-api/common.gypi +20 -0
  4. package/node_modules/node-addon-api/except.gypi +25 -0
  5. package/node_modules/node-addon-api/index.js +12 -0
  6. package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
  7. package/node_modules/node-addon-api/napi-inl.h +6607 -0
  8. package/node_modules/node-addon-api/napi.h +3201 -0
  9. package/node_modules/node-addon-api/node_addon_api.gyp +32 -0
  10. package/node_modules/node-addon-api/node_api.gyp +9 -0
  11. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  12. package/node_modules/node-addon-api/nothing.c +0 -0
  13. package/node_modules/node-addon-api/package-support.json +21 -0
  14. package/node_modules/node-addon-api/package.json +480 -0
  15. package/node_modules/node-addon-api/tools/README.md +73 -0
  16. package/node_modules/node-addon-api/tools/check-napi.js +99 -0
  17. package/node_modules/node-addon-api/tools/clang-format.js +71 -0
  18. package/node_modules/node-addon-api/tools/conversion.js +301 -0
  19. package/node_modules/node-addon-api/tools/eslint-format.js +79 -0
  20. package/node_modules/node-pty/LICENSE +69 -0
  21. package/node_modules/node-pty/README.md +165 -0
  22. package/node_modules/node-pty/binding.gyp +111 -0
  23. package/node_modules/node-pty/build/Makefile +369 -0
  24. package/node_modules/node-pty/build/Release/pty.node +0 -0
  25. package/node_modules/node-pty/build/binding.Makefile +6 -0
  26. package/node_modules/node-pty/build/config.gypi +503 -0
  27. package/node_modules/node-pty/build/pty.target.mk +168 -0
  28. package/node_modules/node-pty/deps/.editorconfig +2 -0
  29. package/node_modules/node-pty/deps/winpty/.drone.yml +17 -0
  30. package/node_modules/node-pty/deps/winpty/.gitattributes +19 -0
  31. package/node_modules/node-pty/deps/winpty/LICENSE +21 -0
  32. package/node_modules/node-pty/deps/winpty/Makefile +166 -0
  33. package/node_modules/node-pty/deps/winpty/README.md +151 -0
  34. package/node_modules/node-pty/deps/winpty/RELEASES.md +280 -0
  35. package/node_modules/node-pty/deps/winpty/VERSION.txt +1 -0
  36. package/node_modules/node-pty/deps/winpty/configure +167 -0
  37. package/node_modules/node-pty/deps/winpty/misc/BufferResizeTests.cc +90 -0
  38. package/node_modules/node-pty/deps/winpty/misc/ChangeScreenBuffer.cc +53 -0
  39. package/node_modules/node-pty/deps/winpty/misc/ClearConsole.cc +72 -0
  40. package/node_modules/node-pty/deps/winpty/misc/ConinMode.cc +117 -0
  41. package/node_modules/node-pty/deps/winpty/misc/ConinMode.ps1 +116 -0
  42. package/node_modules/node-pty/deps/winpty/misc/ConoutMode.cc +113 -0
  43. package/node_modules/node-pty/deps/winpty/misc/DebugClient.py +42 -0
  44. package/node_modules/node-pty/deps/winpty/misc/DebugServer.py +63 -0
  45. package/node_modules/node-pty/deps/winpty/misc/DumpLines.py +5 -0
  46. package/node_modules/node-pty/deps/winpty/misc/EnableExtendedFlags.txt +46 -0
  47. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +528 -0
  48. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +633 -0
  49. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP932.txt +630 -0
  50. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP936.txt +630 -0
  51. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP949.txt +630 -0
  52. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP950.txt +630 -0
  53. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +16 -0
  54. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/Results.txt +4 -0
  55. package/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +144 -0
  56. package/node_modules/node-pty/deps/winpty/misc/FontSurvey.cc +100 -0
  57. package/node_modules/node-pty/deps/winpty/misc/FormatChar.h +21 -0
  58. package/node_modules/node-pty/deps/winpty/misc/FreezePerfTest.cc +62 -0
  59. package/node_modules/node-pty/deps/winpty/misc/GetCh.cc +20 -0
  60. package/node_modules/node-pty/deps/winpty/misc/GetConsolePos.cc +41 -0
  61. package/node_modules/node-pty/deps/winpty/misc/GetFont.cc +261 -0
  62. package/node_modules/node-pty/deps/winpty/misc/IdentifyConsoleWindow.ps1 +51 -0
  63. package/node_modules/node-pty/deps/winpty/misc/IsNewConsole.cc +87 -0
  64. package/node_modules/node-pty/deps/winpty/misc/MouseInputNotes.txt +90 -0
  65. package/node_modules/node-pty/deps/winpty/misc/MoveConsoleWindow.cc +34 -0
  66. package/node_modules/node-pty/deps/winpty/misc/Notes.txt +219 -0
  67. package/node_modules/node-pty/deps/winpty/misc/OSVersion.cc +27 -0
  68. package/node_modules/node-pty/deps/winpty/misc/ScreenBufferFreezeInactive.cc +101 -0
  69. package/node_modules/node-pty/deps/winpty/misc/ScreenBufferTest.cc +671 -0
  70. package/node_modules/node-pty/deps/winpty/misc/ScreenBufferTest2.cc +151 -0
  71. package/node_modules/node-pty/deps/winpty/misc/SelectAllTest.cc +45 -0
  72. package/node_modules/node-pty/deps/winpty/misc/SetBufferSize.cc +32 -0
  73. package/node_modules/node-pty/deps/winpty/misc/SetCursorPos.cc +10 -0
  74. package/node_modules/node-pty/deps/winpty/misc/SetFont.cc +145 -0
  75. package/node_modules/node-pty/deps/winpty/misc/SetWindowRect.cc +36 -0
  76. package/node_modules/node-pty/deps/winpty/misc/ShowArgv.cc +12 -0
  77. package/node_modules/node-pty/deps/winpty/misc/ShowConsoleInput.cc +40 -0
  78. package/node_modules/node-pty/deps/winpty/misc/Spew.py +5 -0
  79. package/node_modules/node-pty/deps/winpty/misc/TestUtil.cc +172 -0
  80. package/node_modules/node-pty/deps/winpty/misc/UnicodeDoubleWidthTest.cc +102 -0
  81. package/node_modules/node-pty/deps/winpty/misc/UnicodeWideTest1.cc +246 -0
  82. package/node_modules/node-pty/deps/winpty/misc/UnicodeWideTest2.cc +130 -0
  83. package/node_modules/node-pty/deps/winpty/misc/UnixEcho.cc +89 -0
  84. package/node_modules/node-pty/deps/winpty/misc/Utf16Echo.cc +46 -0
  85. package/node_modules/node-pty/deps/winpty/misc/VeryLargeRead.cc +122 -0
  86. package/node_modules/node-pty/deps/winpty/misc/VkEscapeTest.cc +56 -0
  87. package/node_modules/node-pty/deps/winpty/misc/Win10ResizeWhileFrozen.cc +52 -0
  88. package/node_modules/node-pty/deps/winpty/misc/Win10WrapTest1.cc +57 -0
  89. package/node_modules/node-pty/deps/winpty/misc/Win10WrapTest2.cc +30 -0
  90. package/node_modules/node-pty/deps/winpty/misc/Win32Echo1.cc +26 -0
  91. package/node_modules/node-pty/deps/winpty/misc/Win32Echo2.cc +19 -0
  92. package/node_modules/node-pty/deps/winpty/misc/Win32Test1.cc +46 -0
  93. package/node_modules/node-pty/deps/winpty/misc/Win32Test2.cc +70 -0
  94. package/node_modules/node-pty/deps/winpty/misc/Win32Test3.cc +78 -0
  95. package/node_modules/node-pty/deps/winpty/misc/Win32Write1.cc +44 -0
  96. package/node_modules/node-pty/deps/winpty/misc/WindowsBugCrashReader.cc +27 -0
  97. package/node_modules/node-pty/deps/winpty/misc/WriteConsole.cc +106 -0
  98. package/node_modules/node-pty/deps/winpty/misc/build32.sh +9 -0
  99. package/node_modules/node-pty/deps/winpty/misc/build64.sh +9 -0
  100. package/node_modules/node-pty/deps/winpty/misc/color-test.sh +212 -0
  101. package/node_modules/node-pty/deps/winpty/misc/font-notes.txt +300 -0
  102. package/node_modules/node-pty/deps/winpty/misc/winbug-15048.cc +201 -0
  103. package/node_modules/node-pty/deps/winpty/ship/build-pty4j-libpty.bat +36 -0
  104. package/node_modules/node-pty/deps/winpty/ship/common_ship.py +53 -0
  105. package/node_modules/node-pty/deps/winpty/ship/make_msvc_package.py +165 -0
  106. package/node_modules/node-pty/deps/winpty/ship/ship.py +108 -0
  107. package/node_modules/node-pty/deps/winpty/src/agent/Agent.cc +613 -0
  108. package/node_modules/node-pty/deps/winpty/src/agent/Agent.h +103 -0
  109. package/node_modules/node-pty/deps/winpty/src/agent/AgentCreateDesktop.cc +84 -0
  110. package/node_modules/node-pty/deps/winpty/src/agent/AgentCreateDesktop.h +28 -0
  111. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleFont.cc +632 -0
  112. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleFont.h +28 -0
  113. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleInput.cc +852 -0
  114. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleInput.h +109 -0
  115. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleInputReencoding.cc +121 -0
  116. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleInputReencoding.h +36 -0
  117. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleLine.cc +152 -0
  118. package/node_modules/node-pty/deps/winpty/src/agent/ConsoleLine.h +41 -0
  119. package/node_modules/node-pty/deps/winpty/src/agent/Coord.h +87 -0
  120. package/node_modules/node-pty/deps/winpty/src/agent/DebugShowInput.cc +239 -0
  121. package/node_modules/node-pty/deps/winpty/src/agent/DebugShowInput.h +32 -0
  122. package/node_modules/node-pty/deps/winpty/src/agent/DefaultInputMap.cc +422 -0
  123. package/node_modules/node-pty/deps/winpty/src/agent/DefaultInputMap.h +28 -0
  124. package/node_modules/node-pty/deps/winpty/src/agent/DsrSender.h +30 -0
  125. package/node_modules/node-pty/deps/winpty/src/agent/EventLoop.cc +99 -0
  126. package/node_modules/node-pty/deps/winpty/src/agent/EventLoop.h +47 -0
  127. package/node_modules/node-pty/deps/winpty/src/agent/InputMap.cc +246 -0
  128. package/node_modules/node-pty/deps/winpty/src/agent/InputMap.h +114 -0
  129. package/node_modules/node-pty/deps/winpty/src/agent/LargeConsoleRead.cc +71 -0
  130. package/node_modules/node-pty/deps/winpty/src/agent/LargeConsoleRead.h +68 -0
  131. package/node_modules/node-pty/deps/winpty/src/agent/NamedPipe.cc +378 -0
  132. package/node_modules/node-pty/deps/winpty/src/agent/NamedPipe.h +125 -0
  133. package/node_modules/node-pty/deps/winpty/src/agent/Scraper.cc +699 -0
  134. package/node_modules/node-pty/deps/winpty/src/agent/Scraper.h +103 -0
  135. package/node_modules/node-pty/deps/winpty/src/agent/SimplePool.h +75 -0
  136. package/node_modules/node-pty/deps/winpty/src/agent/SmallRect.h +143 -0
  137. package/node_modules/node-pty/deps/winpty/src/agent/Terminal.cc +535 -0
  138. package/node_modules/node-pty/deps/winpty/src/agent/Terminal.h +69 -0
  139. package/node_modules/node-pty/deps/winpty/src/agent/UnicodeEncoding.h +157 -0
  140. package/node_modules/node-pty/deps/winpty/src/agent/UnicodeEncodingTest.cc +189 -0
  141. package/node_modules/node-pty/deps/winpty/src/agent/Win32Console.cc +107 -0
  142. package/node_modules/node-pty/deps/winpty/src/agent/Win32Console.h +67 -0
  143. package/node_modules/node-pty/deps/winpty/src/agent/Win32ConsoleBuffer.cc +193 -0
  144. package/node_modules/node-pty/deps/winpty/src/agent/Win32ConsoleBuffer.h +99 -0
  145. package/node_modules/node-pty/deps/winpty/src/agent/main.cc +114 -0
  146. package/node_modules/node-pty/deps/winpty/src/agent/subdir.mk +61 -0
  147. package/node_modules/node-pty/deps/winpty/src/configurations.gypi +60 -0
  148. package/node_modules/node-pty/deps/winpty/src/debugserver/DebugServer.cc +117 -0
  149. package/node_modules/node-pty/deps/winpty/src/debugserver/subdir.mk +41 -0
  150. package/node_modules/node-pty/deps/winpty/src/include/winpty.h +242 -0
  151. package/node_modules/node-pty/deps/winpty/src/include/winpty_constants.h +131 -0
  152. package/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.cc +75 -0
  153. package/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.h +28 -0
  154. package/node_modules/node-pty/deps/winpty/src/libwinpty/LibWinptyException.h +54 -0
  155. package/node_modules/node-pty/deps/winpty/src/libwinpty/WinptyInternal.h +72 -0
  156. package/node_modules/node-pty/deps/winpty/src/libwinpty/subdir.mk +46 -0
  157. package/node_modules/node-pty/deps/winpty/src/libwinpty/winpty.cc +970 -0
  158. package/node_modules/node-pty/deps/winpty/src/shared/AgentMsg.h +38 -0
  159. package/node_modules/node-pty/deps/winpty/src/shared/BackgroundDesktop.cc +122 -0
  160. package/node_modules/node-pty/deps/winpty/src/shared/BackgroundDesktop.h +73 -0
  161. package/node_modules/node-pty/deps/winpty/src/shared/Buffer.cc +103 -0
  162. package/node_modules/node-pty/deps/winpty/src/shared/Buffer.h +102 -0
  163. package/node_modules/node-pty/deps/winpty/src/shared/DebugClient.cc +187 -0
  164. package/node_modules/node-pty/deps/winpty/src/shared/DebugClient.h +38 -0
  165. package/node_modules/node-pty/deps/winpty/src/shared/GenRandom.cc +138 -0
  166. package/node_modules/node-pty/deps/winpty/src/shared/GenRandom.h +55 -0
  167. package/node_modules/node-pty/deps/winpty/src/shared/GetCommitHash.bat +13 -0
  168. package/node_modules/node-pty/deps/winpty/src/shared/Mutex.h +54 -0
  169. package/node_modules/node-pty/deps/winpty/src/shared/OsModule.h +63 -0
  170. package/node_modules/node-pty/deps/winpty/src/shared/OwnedHandle.cc +36 -0
  171. package/node_modules/node-pty/deps/winpty/src/shared/OwnedHandle.h +45 -0
  172. package/node_modules/node-pty/deps/winpty/src/shared/PrecompiledHeader.h +43 -0
  173. package/node_modules/node-pty/deps/winpty/src/shared/StringBuilder.h +227 -0
  174. package/node_modules/node-pty/deps/winpty/src/shared/StringBuilderTest.cc +114 -0
  175. package/node_modules/node-pty/deps/winpty/src/shared/StringUtil.cc +55 -0
  176. package/node_modules/node-pty/deps/winpty/src/shared/StringUtil.h +80 -0
  177. package/node_modules/node-pty/deps/winpty/src/shared/TimeMeasurement.h +63 -0
  178. package/node_modules/node-pty/deps/winpty/src/shared/UnixCtrlChars.h +45 -0
  179. package/node_modules/node-pty/deps/winpty/src/shared/UpdateGenVersion.bat +20 -0
  180. package/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.cc +460 -0
  181. package/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.h +104 -0
  182. package/node_modules/node-pty/deps/winpty/src/shared/WindowsVersion.cc +252 -0
  183. package/node_modules/node-pty/deps/winpty/src/shared/WindowsVersion.h +29 -0
  184. package/node_modules/node-pty/deps/winpty/src/shared/WinptyAssert.cc +55 -0
  185. package/node_modules/node-pty/deps/winpty/src/shared/WinptyAssert.h +64 -0
  186. package/node_modules/node-pty/deps/winpty/src/shared/WinptyException.cc +57 -0
  187. package/node_modules/node-pty/deps/winpty/src/shared/WinptyException.h +43 -0
  188. package/node_modules/node-pty/deps/winpty/src/shared/WinptyVersion.cc +42 -0
  189. package/node_modules/node-pty/deps/winpty/src/shared/WinptyVersion.h +27 -0
  190. package/node_modules/node-pty/deps/winpty/src/shared/winpty_snprintf.h +99 -0
  191. package/node_modules/node-pty/deps/winpty/src/subdir.mk +5 -0
  192. package/node_modules/node-pty/deps/winpty/src/tests/subdir.mk +28 -0
  193. package/node_modules/node-pty/deps/winpty/src/tests/trivial_test.cc +158 -0
  194. package/node_modules/node-pty/deps/winpty/src/unix-adapter/InputHandler.cc +114 -0
  195. package/node_modules/node-pty/deps/winpty/src/unix-adapter/InputHandler.h +56 -0
  196. package/node_modules/node-pty/deps/winpty/src/unix-adapter/OutputHandler.cc +80 -0
  197. package/node_modules/node-pty/deps/winpty/src/unix-adapter/OutputHandler.h +53 -0
  198. package/node_modules/node-pty/deps/winpty/src/unix-adapter/Util.cc +86 -0
  199. package/node_modules/node-pty/deps/winpty/src/unix-adapter/Util.h +31 -0
  200. package/node_modules/node-pty/deps/winpty/src/unix-adapter/WakeupFd.cc +70 -0
  201. package/node_modules/node-pty/deps/winpty/src/unix-adapter/WakeupFd.h +42 -0
  202. package/node_modules/node-pty/deps/winpty/src/unix-adapter/main.cc +729 -0
  203. package/node_modules/node-pty/deps/winpty/src/unix-adapter/subdir.mk +41 -0
  204. package/node_modules/node-pty/deps/winpty/src/winpty.gyp +234 -0
  205. package/node_modules/node-pty/deps/winpty/vcbuild.bat +83 -0
  206. package/node_modules/node-pty/lib/conpty_console_list_agent.js +16 -0
  207. package/node_modules/node-pty/lib/conpty_console_list_agent.js.map +1 -0
  208. package/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  209. package/node_modules/node-pty/lib/eventEmitter2.js.map +1 -0
  210. package/node_modules/node-pty/lib/eventEmitter2.test.js +30 -0
  211. package/node_modules/node-pty/lib/eventEmitter2.test.js.map +1 -0
  212. package/node_modules/node-pty/lib/index.js +52 -0
  213. package/node_modules/node-pty/lib/index.js.map +1 -0
  214. package/node_modules/node-pty/lib/interfaces.js +7 -0
  215. package/node_modules/node-pty/lib/interfaces.js.map +1 -0
  216. package/node_modules/node-pty/lib/shared/conout.js +11 -0
  217. package/node_modules/node-pty/lib/shared/conout.js.map +1 -0
  218. package/node_modules/node-pty/lib/terminal.js +190 -0
  219. package/node_modules/node-pty/lib/terminal.js.map +1 -0
  220. package/node_modules/node-pty/lib/terminal.test.js +139 -0
  221. package/node_modules/node-pty/lib/terminal.test.js.map +1 -0
  222. package/node_modules/node-pty/lib/testUtils.test.js +28 -0
  223. package/node_modules/node-pty/lib/testUtils.test.js.map +1 -0
  224. package/node_modules/node-pty/lib/types.js +7 -0
  225. package/node_modules/node-pty/lib/types.js.map +1 -0
  226. package/node_modules/node-pty/lib/unixTerminal.js +346 -0
  227. package/node_modules/node-pty/lib/unixTerminal.js.map +1 -0
  228. package/node_modules/node-pty/lib/unixTerminal.test.js +351 -0
  229. package/node_modules/node-pty/lib/unixTerminal.test.js.map +1 -0
  230. package/node_modules/node-pty/lib/utils.js +39 -0
  231. package/node_modules/node-pty/lib/utils.js.map +1 -0
  232. package/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  233. package/node_modules/node-pty/lib/windowsConoutConnection.js.map +1 -0
  234. package/node_modules/node-pty/lib/windowsPtyAgent.js +320 -0
  235. package/node_modules/node-pty/lib/windowsPtyAgent.js.map +1 -0
  236. package/node_modules/node-pty/lib/windowsPtyAgent.test.js +90 -0
  237. package/node_modules/node-pty/lib/windowsPtyAgent.test.js.map +1 -0
  238. package/node_modules/node-pty/lib/windowsTerminal.js +199 -0
  239. package/node_modules/node-pty/lib/windowsTerminal.js.map +1 -0
  240. package/node_modules/node-pty/lib/windowsTerminal.test.js +219 -0
  241. package/node_modules/node-pty/lib/windowsTerminal.test.js.map +1 -0
  242. package/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  243. package/node_modules/node-pty/lib/worker/conoutSocketWorker.js.map +1 -0
  244. package/node_modules/node-pty/node-addon-api/node_addon_api.Makefile +6 -0
  245. package/node_modules/node-pty/node-addon-api/node_addon_api.target.mk +106 -0
  246. package/node_modules/node-pty/node-addon-api/node_addon_api_except.target.mk +110 -0
  247. package/node_modules/node-pty/node-addon-api/node_addon_api_maybe.target.mk +106 -0
  248. package/node_modules/node-pty/package.json +64 -0
  249. package/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  250. package/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  251. package/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  252. package/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  253. package/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  254. package/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  255. package/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  256. package/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  257. package/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  258. package/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  259. package/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
  260. package/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
  261. package/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  262. package/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  263. package/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
  264. package/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
  265. package/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  266. package/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  267. package/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  268. package/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  269. package/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  270. package/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  271. package/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
  272. package/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
  273. package/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
  274. package/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  275. package/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
  276. package/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
  277. package/node_modules/node-pty/scripts/gen-compile-commands.js +8 -0
  278. package/node_modules/node-pty/scripts/increment-version.js +54 -0
  279. package/node_modules/node-pty/scripts/post-install.js +80 -0
  280. package/node_modules/node-pty/scripts/prebuild.js +34 -0
  281. package/node_modules/node-pty/src/conpty_console_list_agent.ts +15 -0
  282. package/node_modules/node-pty/src/eventEmitter2.test.ts +30 -0
  283. package/node_modules/node-pty/src/eventEmitter2.ts +48 -0
  284. package/node_modules/node-pty/src/index.ts +52 -0
  285. package/node_modules/node-pty/src/interfaces.ts +130 -0
  286. package/node_modules/node-pty/src/native.d.ts +54 -0
  287. package/node_modules/node-pty/src/shared/conout.ts +15 -0
  288. package/node_modules/node-pty/src/terminal.test.ts +119 -0
  289. package/node_modules/node-pty/src/terminal.ts +211 -0
  290. package/node_modules/node-pty/src/testUtils.test.ts +23 -0
  291. package/node_modules/node-pty/src/tsconfig.json +22 -0
  292. package/node_modules/node-pty/src/types.ts +15 -0
  293. package/node_modules/node-pty/src/unix/pty.cc +799 -0
  294. package/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
  295. package/node_modules/node-pty/src/unixTerminal.test.ts +367 -0
  296. package/node_modules/node-pty/src/unixTerminal.ts +388 -0
  297. package/node_modules/node-pty/src/utils.ts +29 -0
  298. package/node_modules/node-pty/src/win/conpty.cc +583 -0
  299. package/node_modules/node-pty/src/win/conpty.h +41 -0
  300. package/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
  301. package/node_modules/node-pty/src/win/path_util.cc +95 -0
  302. package/node_modules/node-pty/src/win/path_util.h +26 -0
  303. package/node_modules/node-pty/src/win/winpty.cc +333 -0
  304. package/node_modules/node-pty/src/windowsConoutConnection.ts +82 -0
  305. package/node_modules/node-pty/src/windowsPtyAgent.test.ts +94 -0
  306. package/node_modules/node-pty/src/windowsPtyAgent.ts +321 -0
  307. package/node_modules/node-pty/src/windowsTerminal.test.ts +229 -0
  308. package/node_modules/node-pty/src/windowsTerminal.ts +203 -0
  309. package/node_modules/node-pty/src/worker/conoutSocketWorker.ts +22 -0
  310. package/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
  311. package/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
  312. package/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
  313. package/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
  314. package/node_modules/node-pty/typings/node-pty.d.ts +211 -0
  315. package/package.json +4 -1
  316. package/src/config.js +2 -0
  317. package/src/runner.js +31 -3
  318. package/src/runtime-info.js +78 -10
  319. package/src/store.js +12 -1
  320. package/src/wtt-client.js +27 -6
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+ // Descend into a directory structure and, for each file matching *.node, output
3
+ // based on the imports found in the file whether it's an N-API module or not.
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+
8
+ // Read the output of the command, break it into lines, and use the reducer to
9
+ // decide whether the file is an N-API module or not.
10
+ function checkFile (file, command, argv, reducer) {
11
+ const child = require('child_process').spawn(command, argv, {
12
+ stdio: ['inherit', 'pipe', 'inherit']
13
+ });
14
+ let leftover = '';
15
+ let isNapi;
16
+ child.stdout.on('data', (chunk) => {
17
+ if (isNapi === undefined) {
18
+ chunk = (leftover + chunk.toString()).split(/[\r\n]+/);
19
+ leftover = chunk.pop();
20
+ isNapi = chunk.reduce(reducer, isNapi);
21
+ if (isNapi !== undefined) {
22
+ child.kill();
23
+ }
24
+ }
25
+ });
26
+ child.on('close', (code, signal) => {
27
+ if ((code === null && signal !== null) || (code !== 0)) {
28
+ console.log(
29
+ command + ' exited with code: ' + code + ' and signal: ' + signal);
30
+ } else {
31
+ // Green if it's a N-API module, red otherwise.
32
+ console.log(
33
+ '\x1b[' + (isNapi ? '42' : '41') + 'm' +
34
+ (isNapi ? ' N-API' : 'Not N-API') +
35
+ '\x1b[0m: ' + file);
36
+ }
37
+ });
38
+ }
39
+
40
+ // Use nm -a to list symbols.
41
+ function checkFileUNIX (file) {
42
+ checkFile(file, 'nm', ['-a', file], (soFar, line) => {
43
+ if (soFar === undefined) {
44
+ line = line.match(/([0-9a-f]*)? ([a-zA-Z]) (.*$)/);
45
+ if (line[2] === 'U') {
46
+ if (/^napi/.test(line[3])) {
47
+ soFar = true;
48
+ }
49
+ }
50
+ }
51
+ return soFar;
52
+ });
53
+ }
54
+
55
+ // Use dumpbin /imports to list symbols.
56
+ function checkFileWin32 (file) {
57
+ checkFile(file, 'dumpbin', ['/imports', file], (soFar, line) => {
58
+ if (soFar === undefined) {
59
+ line = line.match(/([0-9a-f]*)? +([a-zA-Z0-9]) (.*$)/);
60
+ if (line && /^napi/.test(line[line.length - 1])) {
61
+ soFar = true;
62
+ }
63
+ }
64
+ return soFar;
65
+ });
66
+ }
67
+
68
+ // Descend into a directory structure and pass each file ending in '.node' to
69
+ // one of the above checks, depending on the OS.
70
+ function recurse (top) {
71
+ fs.readdir(top, (error, items) => {
72
+ if (error) {
73
+ throw new Error('error reading directory ' + top + ': ' + error);
74
+ }
75
+ items.forEach((item) => {
76
+ item = path.join(top, item);
77
+ fs.stat(item, ((item) => (error, stats) => {
78
+ if (error) {
79
+ throw new Error('error about ' + item + ': ' + error);
80
+ }
81
+ if (stats.isDirectory()) {
82
+ recurse(item);
83
+ } else if (/[.]node$/.test(item) &&
84
+ // Explicitly ignore files called 'nothing.node' because they are
85
+ // artefacts of node-addon-api having identified a version of
86
+ // Node.js that ships with a correct implementation of N-API.
87
+ path.basename(item) !== 'nothing.node') {
88
+ process.platform === 'win32'
89
+ ? checkFileWin32(item)
90
+ : checkFileUNIX(item);
91
+ }
92
+ })(item));
93
+ });
94
+ });
95
+ }
96
+
97
+ // Start with the directory given on the command line or the current directory
98
+ // if nothing was given.
99
+ recurse(process.argv.length > 3 ? process.argv[2] : '.');
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env node
2
+
3
+ const spawn = require('child_process').spawnSync;
4
+ const path = require('path');
5
+
6
+ const filesToCheck = ['*.h', '*.cc'];
7
+ const FORMAT_START = process.env.FORMAT_START || 'main';
8
+
9
+ function main (args) {
10
+ let fix = false;
11
+ while (args.length > 0) {
12
+ switch (args[0]) {
13
+ case '-f':
14
+ case '--fix':
15
+ fix = true;
16
+ break;
17
+ default:
18
+ }
19
+ args.shift();
20
+ }
21
+
22
+ const clangFormatPath = path.dirname(require.resolve('clang-format'));
23
+ const binary = process.platform === 'win32'
24
+ ? 'node_modules\\.bin\\clang-format.cmd'
25
+ : 'node_modules/.bin/clang-format';
26
+ const options = ['--binary=' + binary, '--style=file'];
27
+ if (fix) {
28
+ options.push(FORMAT_START);
29
+ } else {
30
+ options.push('--diff', FORMAT_START);
31
+ }
32
+
33
+ const gitClangFormatPath = path.join(clangFormatPath, 'bin/git-clang-format');
34
+ const result = spawn(
35
+ 'python',
36
+ [gitClangFormatPath, ...options, '--', ...filesToCheck],
37
+ { encoding: 'utf-8' }
38
+ );
39
+
40
+ if (result.stderr) {
41
+ console.error('Error running git-clang-format:', result.stderr);
42
+ return 2;
43
+ }
44
+
45
+ const clangFormatOutput = result.stdout.trim();
46
+ // Bail fast if in fix mode.
47
+ if (fix) {
48
+ console.log(clangFormatOutput);
49
+ return 0;
50
+ }
51
+ // Detect if there is any complains from clang-format
52
+ if (
53
+ clangFormatOutput !== '' &&
54
+ clangFormatOutput !== 'no modified files to format' &&
55
+ clangFormatOutput !== 'clang-format did not modify any files'
56
+ ) {
57
+ console.error(clangFormatOutput);
58
+ const fixCmd = 'npm run lint:fix';
59
+ console.error(`
60
+ ERROR: please run "${fixCmd}" to format changes in your commit
61
+ Note that when running the command locally, please keep your local
62
+ main branch and working branch up to date with nodejs/node-addon-api
63
+ to exclude un-related complains.
64
+ Or you can run "env FORMAT_START=upstream/main ${fixCmd}".`);
65
+ return 1;
66
+ }
67
+ }
68
+
69
+ if (require.main === module) {
70
+ process.exitCode = main(process.argv.slice(2));
71
+ }
@@ -0,0 +1,301 @@
1
+ #! /usr/bin/env node
2
+
3
+ 'use strict';
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+
8
+ const args = process.argv.slice(2);
9
+ const dir = args[0];
10
+ if (!dir) {
11
+ console.log('Usage: node ' + path.basename(__filename) + ' <target-dir>');
12
+ process.exit(1);
13
+ }
14
+
15
+ const NodeApiVersion = require('../package.json').version;
16
+
17
+ const disable = args[1];
18
+ let ConfigFileOperations;
19
+ if (disable !== '--disable' && dir !== '--disable') {
20
+ ConfigFileOperations = {
21
+ 'package.json': [
22
+ [/([ ]*)"dependencies": {/g, '$1"dependencies": {\n$1 "node-addon-api": "' + NodeApiVersion + '",'],
23
+ [/[ ]*"nan": *"[^"]+"(,|)[\n\r]/g, '']
24
+ ],
25
+ 'binding.gyp': [
26
+ [/([ ]*)'include_dirs': \[/g, '$1\'include_dirs\': [\n$1 \'<!(node -p "require(\\\'node-addon-api\\\').include_dir")\','],
27
+ [/([ ]*)"include_dirs": \[/g, '$1"include_dirs": [\n$1 "<!(node -p \\"require(\'node-addon-api\').include_dir\\")",'],
28
+ [/[ ]*("|')<!\(node -e ("|'|\\"|\\')require\(("|'|\\"|\\')nan("|'|\\"|\\')\)("|'|\\"|\\')\)("|')(,|)[\r\n]/g, ''],
29
+ [/([ ]*)("|')target_name("|'): ("|')(.+?)("|'),/g, '$1$2target_name$2: $4$5$6,\n $2cflags!$2: [ $2-fno-exceptions$2 ],\n $2cflags_cc!$2: [ $2-fno-exceptions$2 ],\n $2xcode_settings$2: { $2GCC_ENABLE_CPP_EXCEPTIONS$2: $2YES$2,\n $2CLANG_CXX_LIBRARY$2: $2libc++$2,\n $2MACOSX_DEPLOYMENT_TARGET$2: $210.7$2,\n },\n $2msvs_settings$2: {\n $2VCCLCompilerTool$2: { $2ExceptionHandling$2: 1 },\n },']
30
+ ]
31
+ };
32
+ } else {
33
+ ConfigFileOperations = {
34
+ 'package.json': [
35
+ [/([ ]*)"dependencies": {/g, '$1"dependencies": {\n$1 "node-addon-api": "' + NodeApiVersion + '",'],
36
+ [/[ ]*"nan": *"[^"]+"(,|)[\n\r]/g, '']
37
+ ],
38
+ 'binding.gyp': [
39
+ [/([ ]*)'include_dirs': \[/g, '$1\'include_dirs\': [\n$1 \'<!(node -p "require(\\\'node-addon-api\\\').include_dir")\','],
40
+ [/([ ]*)"include_dirs": \[/g, '$1"include_dirs": [\n$1 "<!(node -p \'require(\\"node-addon-api\\").include_dir\')",'],
41
+ [/[ ]*("|')<!\(node -e ("|'|\\"|\\')require\(("|'|\\"|\\')nan("|'|\\"|\\')\)("|'|\\"|\\')\)("|')(,|)[\r\n]/g, ''],
42
+ [/([ ]*)("|')target_name("|'): ("|')(.+?)("|'),/g, '$1$2target_name$2: $4$5$6,\n $2cflags!$2: [ $2-fno-exceptions$2 ],\n $2cflags_cc!$2: [ $2-fno-exceptions$2 ],\n $2defines$2: [ $2NAPI_DISABLE_CPP_EXCEPTIONS$2 ],\n $2conditions$2: [\n [\'OS=="win"\', { $2defines$2: [ $2_HAS_EXCEPTIONS=1$2 ] }]\n ]']
43
+ ]
44
+ };
45
+ }
46
+
47
+ const SourceFileOperations = [
48
+ [/Nan::SetMethod\(target,[\s]*"(.*)"[\s]*,[\s]*([^)]+)\)/g, 'exports.Set(Napi::String::New(env, "$1"), Napi::Function::New(env, $2))'],
49
+
50
+ [/v8::Local<v8::FunctionTemplate>\s+(\w+)\s*=\s*Nan::New<FunctionTemplate>\([\w\d:]+\);(?:\w+->Reset\(\1\))?\s+\1->SetClassName\(Nan::String::New\("(\w+)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$2", {'],
51
+ [/Local<FunctionTemplate>\s+(\w+)\s*=\s*Nan::New<FunctionTemplate>\([\w\d:]+\);\s+(\w+)\.Reset\((\1)\);\s+\1->SetClassName\((Nan::String::New|Nan::New<(v8::)*String>)\("(.+?)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$6", {'],
52
+ [/Local<FunctionTemplate>\s+(\w+)\s*=\s*Nan::New<FunctionTemplate>\([\w\d:]+\);(?:\w+->Reset\(\1\))?\s+\1->SetClassName\(Nan::String::New\("(\w+)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$2", {'],
53
+ [/Nan::New<v8::FunctionTemplate>\(([\w\d:]+)\)->GetFunction\(\)/g, 'Napi::Function::New(env, $1)'],
54
+ [/Nan::New<FunctionTemplate>\(([\w\d:]+)\)->GetFunction()/g, 'Napi::Function::New(env, $1);'],
55
+ [/Nan::New<v8::FunctionTemplate>\(([\w\d:]+)\)/g, 'Napi::Function::New(env, $1)'],
56
+ [/Nan::New<FunctionTemplate>\(([\w\d:]+)\)/g, 'Napi::Function::New(env, $1)'],
57
+
58
+ // FunctionTemplate to FunctionReference
59
+ [/Nan::Persistent<(v8::)*FunctionTemplate>/g, 'Napi::FunctionReference'],
60
+ [/Nan::Persistent<(v8::)*Function>/g, 'Napi::FunctionReference'],
61
+ [/v8::Local<v8::FunctionTemplate>/g, 'Napi::FunctionReference'],
62
+ [/Local<FunctionTemplate>/g, 'Napi::FunctionReference'],
63
+ [/v8::FunctionTemplate/g, 'Napi::FunctionReference'],
64
+ [/FunctionTemplate/g, 'Napi::FunctionReference'],
65
+
66
+ [/([ ]*)Nan::SetPrototypeMethod\(\w+, "(\w+)", (\w+)\);/g, '$1InstanceMethod("$2", &$3),'],
67
+ [/([ ]*)(?:\w+\.Reset\(\w+\);\s+)?\(target\)\.Set\("(\w+)",\s*Nan::GetFunction\((\w+)\)\);/gm,
68
+ '});\n\n' +
69
+ '$1constructor = Napi::Persistent($3);\n' +
70
+ '$1constructor.SuppressDestruct();\n' +
71
+ '$1target.Set("$2", $3);'],
72
+
73
+ // TODO: Other attribute combinations
74
+ [/static_cast<PropertyAttribute>\(ReadOnly\s*\|\s*DontDelete\)/gm,
75
+ 'static_cast<napi_property_attributes>(napi_enumerable | napi_configurable)'],
76
+
77
+ [/([\w\d:<>]+?)::Cast\((.+?)\)/g, '$2.As<$1>()'],
78
+
79
+ [/\*Nan::Utf8String\(([^)]+)\)/g, '$1->As<Napi::String>().Utf8Value().c_str()'],
80
+ [/Nan::Utf8String +(\w+)\(([^)]+)\)/g, 'std::string $1 = $2.As<Napi::String>()'],
81
+ [/Nan::Utf8String/g, 'std::string'],
82
+
83
+ [/v8::String::Utf8Value (.+?)\((.+?)\)/g, 'Napi::String $1(env, $2)'],
84
+ [/String::Utf8Value (.+?)\((.+?)\)/g, 'Napi::String $1(env, $2)'],
85
+ [/\.length\(\)/g, '.Length()'],
86
+
87
+ [/Nan::MakeCallback\(([^,]+),[\s\\]+([^,]+),/gm, '$2.MakeCallback($1,'],
88
+
89
+ [/class\s+(\w+)\s*:\s*public\s+Nan::ObjectWrap/g, 'class $1 : public Napi::ObjectWrap<$1>'],
90
+ [/(\w+)\(([^)]*)\)\s*:\s*Nan::ObjectWrap\(\)\s*(,)?/gm, '$1($2) : Napi::ObjectWrap<$1>()$3'],
91
+
92
+ // HandleOKCallback to OnOK
93
+ [/HandleOKCallback/g, 'OnOK'],
94
+ // HandleErrorCallback to OnError
95
+ [/HandleErrorCallback/g, 'OnError'],
96
+
97
+ // ex. .As<Function>() to .As<Napi::Object>()
98
+ [/\.As<v8::(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>\(\)/g, '.As<Napi::$1>()'],
99
+ [/\.As<(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>\(\)/g, '.As<Napi::$1>()'],
100
+
101
+ // ex. Nan::New<Number>(info[0]) to Napi::Number::New(info[0])
102
+ [/Nan::New<(v8::)*Integer>\((.+?)\)/g, 'Napi::Number::New(env, $2)'],
103
+ [/Nan::New\(([0-9.]+)\)/g, 'Napi::Number::New(env, $1)'],
104
+ [/Nan::New<(v8::)*String>\("(.+?)"\)/g, 'Napi::String::New(env, "$2")'],
105
+ [/Nan::New\("(.+?)"\)/g, 'Napi::String::New(env, "$1")'],
106
+ [/Nan::New<(v8::)*(.+?)>\(\)/g, 'Napi::$2::New(env)'],
107
+ [/Nan::New<(.+?)>\(\)/g, 'Napi::$1::New(env)'],
108
+ [/Nan::New<(v8::)*(.+?)>\(/g, 'Napi::$2::New(env, '],
109
+ [/Nan::New<(.+?)>\(/g, 'Napi::$1::New(env, '],
110
+ [/Nan::NewBuffer\(/g, 'Napi::Buffer<char>::New(env, '],
111
+ // TODO: Properly handle this
112
+ [/Nan::New\(/g, 'Napi::New(env, '],
113
+
114
+ [/\.IsInt32\(\)/g, '.IsNumber()'],
115
+ [/->IsInt32\(\)/g, '.IsNumber()'],
116
+
117
+ [/(.+?)->BooleanValue\(\)/g, '$1.As<Napi::Boolean>().Value()'],
118
+ [/(.+?)->Int32Value\(\)/g, '$1.As<Napi::Number>().Int32Value()'],
119
+ [/(.+?)->Uint32Value\(\)/g, '$1.As<Napi::Number>().Uint32Value()'],
120
+ [/(.+?)->IntegerValue\(\)/g, '$1.As<Napi::Number>().Int64Value()'],
121
+ [/(.+?)->NumberValue\(\)/g, '$1.As<Napi::Number>().DoubleValue()'],
122
+
123
+ // ex. Nan::To<bool>(info[0]) to info[0].Value()
124
+ [/Nan::To<v8::(Boolean|String|Number|Object|Array|Symbol|Function)>\((.+?)\)/g, '$2.To<Napi::$1>()'],
125
+ [/Nan::To<(Boolean|String|Number|Object|Array|Symbol|Function)>\((.+?)\)/g, '$2.To<Napi::$1>()'],
126
+ // ex. Nan::To<bool>(info[0]) to info[0].As<Napi::Boolean>().Value()
127
+ [/Nan::To<bool>\((.+?)\)/g, '$1.As<Napi::Boolean>().Value()'],
128
+ // ex. Nan::To<int>(info[0]) to info[0].As<Napi::Number>().Int32Value()
129
+ [/Nan::To<int>\((.+?)\)/g, '$1.As<Napi::Number>().Int32Value()'],
130
+ // ex. Nan::To<int32_t>(info[0]) to info[0].As<Napi::Number>().Int32Value()
131
+ [/Nan::To<int32_t>\((.+?)\)/g, '$1.As<Napi::Number>().Int32Value()'],
132
+ // ex. Nan::To<uint32_t>(info[0]) to info[0].As<Napi::Number>().Uint32Value()
133
+ [/Nan::To<uint32_t>\((.+?)\)/g, '$1.As<Napi::Number>().Uint32Value()'],
134
+ // ex. Nan::To<int64_t>(info[0]) to info[0].As<Napi::Number>().Int64Value()
135
+ [/Nan::To<int64_t>\((.+?)\)/g, '$1.As<Napi::Number>().Int64Value()'],
136
+ // ex. Nan::To<float>(info[0]) to info[0].As<Napi::Number>().FloatValue()
137
+ [/Nan::To<float>\((.+?)\)/g, '$1.As<Napi::Number>().FloatValue()'],
138
+ // ex. Nan::To<double>(info[0]) to info[0].As<Napi::Number>().DoubleValue()
139
+ [/Nan::To<double>\((.+?)\)/g, '$1.As<Napi::Number>().DoubleValue()'],
140
+
141
+ [/Nan::New\((\w+)\)->HasInstance\((\w+)\)/g, '$2.InstanceOf($1.Value())'],
142
+
143
+ [/Nan::Has\(([^,]+),\s*/gm, '($1).Has('],
144
+ [/\.Has\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\)/gm, '.Has($1)'],
145
+ [/\.Has\([\s|\\]*Nan::New\(([^)]+)\)\)/gm, '.Has($1)'],
146
+
147
+ [/Nan::Get\(([^,]+),\s*/gm, '($1).Get('],
148
+ [/\.Get\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\)/gm, '.Get($1)'],
149
+ [/\.Get\([\s|\\]*Nan::New\(([^)]+)\)\)/gm, '.Get($1)'],
150
+
151
+ [/Nan::Set\(([^,]+),\s*/gm, '($1).Set('],
152
+ [/\.Set\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\s*,/gm, '.Set($1,'],
153
+ [/\.Set\([\s|\\]*Nan::New\(([^)]+)\)\s*,/gm, '.Set($1,'],
154
+
155
+ // ex. node::Buffer::HasInstance(info[0]) to info[0].IsBuffer()
156
+ [/node::Buffer::HasInstance\((.+?)\)/g, '$1.IsBuffer()'],
157
+ // ex. node::Buffer::Length(info[0]) to info[0].Length()
158
+ [/node::Buffer::Length\((.+?)\)/g, '$1.As<Napi::Buffer<char>>().Length()'],
159
+ // ex. node::Buffer::Data(info[0]) to info[0].Data()
160
+ [/node::Buffer::Data\((.+?)\)/g, '$1.As<Napi::Buffer<char>>().Data()'],
161
+ [/Nan::CopyBuffer\(/g, 'Napi::Buffer::Copy(env, '],
162
+
163
+ // Nan::AsyncQueueWorker(worker)
164
+ [/Nan::AsyncQueueWorker\((.+)\);/g, '$1.Queue();'],
165
+ [/Nan::(Undefined|Null|True|False)\(\)/g, 'env.$1()'],
166
+
167
+ // Nan::ThrowError(error) to Napi::Error::New(env, error).ThrowAsJavaScriptException()
168
+ [/([ ]*)return Nan::Throw(\w*?)Error\((.+?)\);/g, '$1Napi::$2Error::New(env, $3).ThrowAsJavaScriptException();\n$1return env.Null();'],
169
+ [/Nan::Throw(\w*?)Error\((.+?)\);\n(\s*)return;/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n$3return env.Null();'],
170
+ [/Nan::Throw(\w*?)Error\((.+?)\);/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n'],
171
+ // Nan::RangeError(error) to Napi::RangeError::New(env, error)
172
+ [/Nan::(\w*?)Error\((.+)\)/g, 'Napi::$1Error::New(env, $2)'],
173
+
174
+ [/Nan::Set\((.+?),\n* *(.+?),\n* *(.+?),\n* *(.+?)\)/g, '$1.Set($2, $3, $4)'],
175
+
176
+ [/Nan::(Escapable)?HandleScope\s+(\w+)\s*;/g, 'Napi::$1HandleScope $2(env);'],
177
+ [/Nan::(Escapable)?HandleScope/g, 'Napi::$1HandleScope'],
178
+ [/Nan::ForceSet\(([^,]+), ?/g, '$1->DefineProperty('],
179
+ [/\.ForceSet\(Napi::String::New\(env, "(\w+)"\),\s*?/g, '.DefineProperty("$1", '],
180
+ // [ /Nan::GetPropertyNames\(([^,]+)\)/, '$1->GetPropertyNames()' ],
181
+ [/Nan::Equals\(([^,]+),/g, '$1.StrictEquals('],
182
+
183
+ [/(.+)->Set\(/g, '$1.Set('],
184
+
185
+ [/Nan::Callback/g, 'Napi::FunctionReference'],
186
+
187
+ [/Nan::Persistent<Object>/g, 'Napi::ObjectReference'],
188
+ [/Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target/g, 'Napi::Env& env, Napi::Object& target'],
189
+
190
+ [/(\w+)\*\s+(\w+)\s*=\s*Nan::ObjectWrap::Unwrap<\w+>\(info\.This\(\)\);/g, '$1* $2 = this;'],
191
+ [/Nan::ObjectWrap::Unwrap<(\w+)>\((.*)\);/g, '$2.Unwrap<$1>();'],
192
+
193
+ [/Nan::NAN_METHOD_RETURN_TYPE/g, 'void'],
194
+ [/NAN_INLINE/g, 'inline'],
195
+
196
+ [/Nan::NAN_METHOD_ARGS_TYPE/g, 'const Napi::CallbackInfo&'],
197
+ [/NAN_METHOD\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'],
198
+ [/static\s*NAN_GETTER\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'],
199
+ [/NAN_GETTER\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'],
200
+ [/static\s*NAN_SETTER\(([\w\d:]+?)\)/g, 'void $1(const Napi::CallbackInfo& info, const Napi::Value& value)'],
201
+ [/NAN_SETTER\(([\w\d:]+?)\)/g, 'void $1(const Napi::CallbackInfo& info, const Napi::Value& value)'],
202
+ [/void Init\((v8::)*Local<(v8::)*Object> exports\)/g, 'Napi::Object Init(Napi::Env env, Napi::Object exports)'],
203
+ [/NAN_MODULE_INIT\(([\w\d:]+?)\);/g, 'Napi::Object $1(Napi::Env env, Napi::Object exports);'],
204
+ [/NAN_MODULE_INIT\(([\w\d:]+?)\)/g, 'Napi::Object $1(Napi::Env env, Napi::Object exports)'],
205
+
206
+ [/::(Init(?:ialize)?)\(target\)/g, '::$1(env, target, module)'],
207
+ [/constructor_template/g, 'constructor'],
208
+
209
+ [/Nan::FunctionCallbackInfo<(v8::)?Value>[ ]*& [ ]*info\)[ ]*{\n*([ ]*)/gm, 'Napi::CallbackInfo& info) {\n$2Napi::Env env = info.Env();\n$2'],
210
+ [/Nan::FunctionCallbackInfo<(v8::)*Value>\s*&\s*info\);/g, 'Napi::CallbackInfo& info);'],
211
+ [/Nan::FunctionCallbackInfo<(v8::)*Value>\s*&/g, 'Napi::CallbackInfo&'],
212
+
213
+ [/Buffer::HasInstance\(([^)]+)\)/g, '$1.IsBuffer()'],
214
+
215
+ [/info\[(\d+)\]->/g, 'info[$1].'],
216
+ [/info\[([\w\d]+)\]->/g, 'info[$1].'],
217
+ [/info\.This\(\)->/g, 'info.This().'],
218
+ [/->Is(Object|String|Int32|Number)\(\)/g, '.Is$1()'],
219
+ [/info.GetReturnValue\(\).SetUndefined\(\)/g, 'return env.Undefined()'],
220
+ [/info\.GetReturnValue\(\)\.Set\(((\n|.)+?)\);/g, 'return $1;'],
221
+
222
+ // ex. Local<Value> to Napi::Value
223
+ [/v8::Local<v8::(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>/g, 'Napi::$1'],
224
+ [/Local<(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>/g, 'Napi::$1'],
225
+
226
+ // Declare an env in helper functions that take a Napi::Value
227
+ [/(\w+)\(Napi::Value (\w+)(,\s*[^()]+)?\)\s*{\n*([ ]*)/gm, '$1(Napi::Value $2$3) {\n$4Napi::Env env = $2.Env();\n$4'],
228
+
229
+ // delete #include <node.h> and/or <v8.h>
230
+ [/#include +(<|")(?:node|nan).h("|>)/g, '#include $1napi.h$2\n#include $1uv.h$2'],
231
+ // NODE_MODULE to NODE_API_MODULE
232
+ [/NODE_MODULE/g, 'NODE_API_MODULE'],
233
+ [/Nan::/g, 'Napi::'],
234
+ [/nan.h/g, 'napi.h'],
235
+
236
+ // delete .FromJust()
237
+ [/\.FromJust\(\)/g, ''],
238
+ // delete .ToLocalCheck()
239
+ [/\.ToLocalChecked\(\)/g, ''],
240
+ [/^.*->SetInternalFieldCount\(.*$/gm, ''],
241
+
242
+ // replace using node; and/or using v8; to using Napi;
243
+ [/using (node|v8);/g, 'using Napi;'],
244
+ [/using namespace (node|Nan|v8);/g, 'using namespace Napi;'],
245
+ // delete using v8::Local;
246
+ [/using v8::Local;\n/g, ''],
247
+ // replace using v8::XXX; with using Napi::XXX
248
+ [/using v8::([A-Za-z]+);/g, 'using Napi::$1;']
249
+
250
+ ];
251
+
252
+ const paths = listFiles(dir);
253
+ paths.forEach(function (dirEntry) {
254
+ const filename = dirEntry.split('\\').pop().split('/').pop();
255
+
256
+ // Check whether the file is a source file or a config file
257
+ // then execute function accordingly
258
+ const sourcePattern = /.+\.h|.+\.cc|.+\.cpp/;
259
+ if (sourcePattern.test(filename)) {
260
+ convertFile(dirEntry, SourceFileOperations);
261
+ } else if (ConfigFileOperations[filename] != null) {
262
+ convertFile(dirEntry, ConfigFileOperations[filename]);
263
+ }
264
+ });
265
+
266
+ function listFiles (dir, filelist) {
267
+ const files = fs.readdirSync(dir);
268
+ filelist = filelist || [];
269
+ files.forEach(function (file) {
270
+ if (file === 'node_modules') {
271
+ return;
272
+ }
273
+
274
+ if (fs.statSync(path.join(dir, file)).isDirectory()) {
275
+ filelist = listFiles(path.join(dir, file), filelist);
276
+ } else {
277
+ filelist.push(path.join(dir, file));
278
+ }
279
+ });
280
+ return filelist;
281
+ }
282
+
283
+ function convert (content, operations) {
284
+ for (let i = 0; i < operations.length; i++) {
285
+ const operation = operations[i];
286
+ content = content.replace(operation[0], operation[1]);
287
+ }
288
+ return content;
289
+ }
290
+
291
+ function convertFile (fileName, operations) {
292
+ fs.readFile(fileName, 'utf-8', function (err, file) {
293
+ if (err) throw err;
294
+
295
+ file = convert(file, operations);
296
+
297
+ fs.writeFile(fileName, file, function (err) {
298
+ if (err) throw err;
299
+ });
300
+ });
301
+ }
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env node
2
+
3
+ const spawn = require('child_process').spawnSync;
4
+
5
+ const filesToCheck = '*.js';
6
+ const FORMAT_START = process.env.FORMAT_START || 'main';
7
+ const IS_WIN = process.platform === 'win32';
8
+ const ESLINT_PATH = IS_WIN ? 'node_modules\\.bin\\eslint.cmd' : 'node_modules/.bin/eslint';
9
+
10
+ function main (args) {
11
+ let fix = false;
12
+ while (args.length > 0) {
13
+ switch (args[0]) {
14
+ case '-f':
15
+ case '--fix':
16
+ fix = true;
17
+ break;
18
+ default:
19
+ }
20
+ args.shift();
21
+ }
22
+
23
+ // Check js files that change on unstaged file
24
+ const fileUnStaged = spawn(
25
+ 'git',
26
+ ['diff', '--name-only', '--diff-filter=d', FORMAT_START, filesToCheck],
27
+ {
28
+ encoding: 'utf-8'
29
+ }
30
+ );
31
+
32
+ // Check js files that change on staged file
33
+ const fileStaged = spawn(
34
+ 'git',
35
+ ['diff', '--name-only', '--cached', '--diff-filter=d', FORMAT_START, filesToCheck],
36
+ {
37
+ encoding: 'utf-8'
38
+ }
39
+ );
40
+
41
+ const options = [
42
+ ...fileStaged.stdout.split('\n').filter((f) => f !== ''),
43
+ ...fileUnStaged.stdout.split('\n').filter((f) => f !== '')
44
+ ];
45
+
46
+ if (fix) {
47
+ options.push('--fix');
48
+ }
49
+
50
+ const result = spawn(ESLINT_PATH, [...options], {
51
+ encoding: 'utf-8'
52
+ });
53
+
54
+ if (result.error && result.error.errno === 'ENOENT') {
55
+ console.error('Eslint not found! Eslint is supposed to be found at ', ESLINT_PATH);
56
+ return 2;
57
+ }
58
+
59
+ if (result.status === 1) {
60
+ console.error('Eslint error:', result.stdout);
61
+ const fixCmd = 'npm run lint:fix';
62
+ console.error(`ERROR: please run "${fixCmd}" to format changes in your commit
63
+ Note that when running the command locally, please keep your local
64
+ main branch and working branch up to date with nodejs/node-addon-api
65
+ to exclude un-related complains.
66
+ Or you can run "env FORMAT_START=upstream/main ${fixCmd}".
67
+ Also fix JS files by yourself if necessary.`);
68
+ return 1;
69
+ }
70
+
71
+ if (result.stderr) {
72
+ console.error('Error running eslint:', result.stderr);
73
+ return 2;
74
+ }
75
+ }
76
+
77
+ if (require.main === module) {
78
+ process.exitCode = main(process.argv.slice(2));
79
+ }
@@ -0,0 +1,69 @@
1
+ Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
20
+
21
+
22
+
23
+ The MIT License (MIT)
24
+
25
+ Copyright (c) 2016, Daniel Imms (http://www.growingwiththeweb.com)
26
+
27
+ Permission is hereby granted, free of charge, to any person obtaining a copy
28
+ of this software and associated documentation files (the "Software"), to deal
29
+ in the Software without restriction, including without limitation the rights
30
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
31
+ copies of the Software, and to permit persons to whom the Software is
32
+ furnished to do so, subject to the following conditions:
33
+
34
+ The above copyright notice and this permission notice shall be included in all
35
+ copies or substantial portions of the Software.
36
+
37
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
38
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
39
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
40
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
41
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
42
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
43
+ SOFTWARE.
44
+
45
+
46
+
47
+ MIT License
48
+
49
+ Copyright (c) 2018 - present Microsoft Corporation
50
+
51
+ All rights reserved.
52
+
53
+ Permission is hereby granted, free of charge, to any person obtaining a copy
54
+ of this software and associated documentation files (the "Software"), to deal
55
+ in the Software without restriction, including without limitation the rights
56
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
57
+ copies of the Software, and to permit persons to whom the Software is
58
+ furnished to do so, subject to the following conditions:
59
+
60
+ The above copyright notice and this permission notice shall be included in all
61
+ copies or substantial portions of the Software.
62
+
63
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
64
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
65
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
66
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
67
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
68
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
69
+ SOFTWARE.