pokeedex 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +30 -0
  3. data/.gitignore +13 -0
  4. data/.standard.yml +9 -0
  5. data/CHANGELOG.md +5 -0
  6. data/CODE_OF_CONDUCT.md +132 -0
  7. data/Gemfile +14 -0
  8. data/Gemfile.lock +125 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +154 -0
  11. data/Rakefile +20 -0
  12. data/bin/pokeedex +85 -0
  13. data/lib/pokeedex/configuration.rb +47 -0
  14. data/lib/pokeedex/database.rb +42 -0
  15. data/lib/pokeedex/db/migrations/001_create_pokemons.rb +26 -0
  16. data/lib/pokeedex/exceptions.rb +15 -0
  17. data/lib/pokeedex/pokemon/base.rb +16 -0
  18. data/lib/pokeedex/pokemon/decorators/base.rb +112 -0
  19. data/lib/pokeedex/pokemon/model/base.rb +43 -0
  20. data/lib/pokeedex/pokemon/scrapper/base.rb +34 -0
  21. data/lib/pokeedex/pokemon/scrapper/fetchers/base.rb +123 -0
  22. data/lib/pokeedex/pokemon/scrapper/parsers/base.rb +205 -0
  23. data/lib/pokeedex/pokemon/scrapper/pokedex.rb +50 -0
  24. data/lib/pokeedex/pokemon/searcher/base.rb +59 -0
  25. data/lib/pokeedex/version.rb +5 -0
  26. data/lib/pokeedex.rb +55 -0
  27. data/node_modules/.bin/playwright +1 -0
  28. data/node_modules/.bin/playwright-core +1 -0
  29. data/node_modules/.yarn-integrity +22 -0
  30. data/node_modules/@playwright/test/LICENSE +202 -0
  31. data/node_modules/@playwright/test/NOTICE +5 -0
  32. data/node_modules/@playwright/test/README.md +169 -0
  33. data/node_modules/@playwright/test/cli.js +19 -0
  34. data/node_modules/@playwright/test/index.d.ts +18 -0
  35. data/node_modules/@playwright/test/index.js +17 -0
  36. data/node_modules/@playwright/test/index.mjs +18 -0
  37. data/node_modules/@playwright/test/node_modules/.bin/playwright +1 -0
  38. data/node_modules/@playwright/test/package.json +35 -0
  39. data/node_modules/@playwright/test/reporter.d.ts +17 -0
  40. data/node_modules/@playwright/test/reporter.js +17 -0
  41. data/node_modules/@playwright/test/reporter.mjs +17 -0
  42. data/node_modules/@types/node/LICENSE +21 -0
  43. data/node_modules/@types/node/README.md +15 -0
  44. data/node_modules/@types/node/assert/strict.d.ts +8 -0
  45. data/node_modules/@types/node/assert.d.ts +1040 -0
  46. data/node_modules/@types/node/async_hooks.d.ts +541 -0
  47. data/node_modules/@types/node/buffer.d.ts +2300 -0
  48. data/node_modules/@types/node/child_process.d.ts +1544 -0
  49. data/node_modules/@types/node/cluster.d.ts +578 -0
  50. data/node_modules/@types/node/console.d.ts +452 -0
  51. data/node_modules/@types/node/constants.d.ts +19 -0
  52. data/node_modules/@types/node/crypto.d.ts +4451 -0
  53. data/node_modules/@types/node/dgram.d.ts +596 -0
  54. data/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  55. data/node_modules/@types/node/dns/promises.d.ts +476 -0
  56. data/node_modules/@types/node/dns.d.ts +865 -0
  57. data/node_modules/@types/node/dom-events.d.ts +124 -0
  58. data/node_modules/@types/node/domain.d.ts +170 -0
  59. data/node_modules/@types/node/events.d.ts +931 -0
  60. data/node_modules/@types/node/fs/promises.d.ts +1264 -0
  61. data/node_modules/@types/node/fs.d.ts +4390 -0
  62. data/node_modules/@types/node/globals.d.ts +611 -0
  63. data/node_modules/@types/node/globals.global.d.ts +1 -0
  64. data/node_modules/@types/node/http.d.ts +1921 -0
  65. data/node_modules/@types/node/http2.d.ts +2555 -0
  66. data/node_modules/@types/node/https.d.ts +544 -0
  67. data/node_modules/@types/node/index.d.ts +90 -0
  68. data/node_modules/@types/node/inspector.d.ts +3966 -0
  69. data/node_modules/@types/node/module.d.ts +301 -0
  70. data/node_modules/@types/node/net.d.ts +995 -0
  71. data/node_modules/@types/node/os.d.ts +495 -0
  72. data/node_modules/@types/node/package.json +217 -0
  73. data/node_modules/@types/node/path.d.ts +200 -0
  74. data/node_modules/@types/node/perf_hooks.d.ts +941 -0
  75. data/node_modules/@types/node/process.d.ts +1912 -0
  76. data/node_modules/@types/node/punycode.d.ts +117 -0
  77. data/node_modules/@types/node/querystring.d.ts +153 -0
  78. data/node_modules/@types/node/readline/promises.d.ts +150 -0
  79. data/node_modules/@types/node/readline.d.ts +540 -0
  80. data/node_modules/@types/node/repl.d.ts +430 -0
  81. data/node_modules/@types/node/sea.d.ts +153 -0
  82. data/node_modules/@types/node/sqlite.d.ts +213 -0
  83. data/node_modules/@types/node/stream/consumers.d.ts +12 -0
  84. data/node_modules/@types/node/stream/promises.d.ts +83 -0
  85. data/node_modules/@types/node/stream/web.d.ts +606 -0
  86. data/node_modules/@types/node/stream.d.ts +1726 -0
  87. data/node_modules/@types/node/string_decoder.d.ts +67 -0
  88. data/node_modules/@types/node/test.d.ts +2098 -0
  89. data/node_modules/@types/node/timers/promises.d.ts +97 -0
  90. data/node_modules/@types/node/timers.d.ts +240 -0
  91. data/node_modules/@types/node/tls.d.ts +1220 -0
  92. data/node_modules/@types/node/trace_events.d.ts +197 -0
  93. data/node_modules/@types/node/tty.d.ts +208 -0
  94. data/node_modules/@types/node/url.d.ts +969 -0
  95. data/node_modules/@types/node/util.d.ts +2301 -0
  96. data/node_modules/@types/node/v8.d.ts +808 -0
  97. data/node_modules/@types/node/vm.d.ts +922 -0
  98. data/node_modules/@types/node/wasi.d.ts +181 -0
  99. data/node_modules/@types/node/worker_threads.d.ts +712 -0
  100. data/node_modules/@types/node/zlib.d.ts +539 -0
  101. data/node_modules/fsevents/LICENSE +22 -0
  102. data/node_modules/fsevents/README.md +83 -0
  103. data/node_modules/fsevents/fsevents.d.ts +46 -0
  104. data/node_modules/fsevents/fsevents.js +82 -0
  105. data/node_modules/fsevents/fsevents.node +0 -0
  106. data/node_modules/fsevents/package.json +62 -0
  107. data/node_modules/playwright/.eslintrc.js +6 -0
  108. data/node_modules/playwright/LICENSE +202 -0
  109. data/node_modules/playwright/NOTICE +5 -0
  110. data/node_modules/playwright/README.md +169 -0
  111. data/node_modules/playwright/ThirdPartyNotices.txt +4356 -0
  112. data/node_modules/playwright/cli.js +19 -0
  113. data/node_modules/playwright/index.d.ts +17 -0
  114. data/node_modules/playwright/index.js +17 -0
  115. data/node_modules/playwright/index.mjs +18 -0
  116. data/node_modules/playwright/jsx-runtime.js +41 -0
  117. data/node_modules/playwright/jsx-runtime.mjs +21 -0
  118. data/node_modules/playwright/lib/common/config.js +256 -0
  119. data/node_modules/playwright/lib/common/configLoader.js +321 -0
  120. data/node_modules/playwright/lib/common/esmLoaderHost.js +93 -0
  121. data/node_modules/playwright/lib/common/expectBundle.js +27 -0
  122. data/node_modules/playwright/lib/common/expectBundleImpl.js +389 -0
  123. data/node_modules/playwright/lib/common/fixtures.js +323 -0
  124. data/node_modules/playwright/lib/common/globals.js +48 -0
  125. data/node_modules/playwright/lib/common/ipc.js +48 -0
  126. data/node_modules/playwright/lib/common/poolBuilder.js +79 -0
  127. data/node_modules/playwright/lib/common/process.js +140 -0
  128. data/node_modules/playwright/lib/common/suiteUtils.js +133 -0
  129. data/node_modules/playwright/lib/common/test.js +311 -0
  130. data/node_modules/playwright/lib/common/testLoader.js +102 -0
  131. data/node_modules/playwright/lib/common/testType.js +284 -0
  132. data/node_modules/playwright/lib/fsWatcher.js +69 -0
  133. data/node_modules/playwright/lib/index.js +888 -0
  134. data/node_modules/playwright/lib/internalsForTest.js +28 -0
  135. data/node_modules/playwright/lib/isomorphic/events.js +72 -0
  136. data/node_modules/playwright/lib/isomorphic/folders.js +25 -0
  137. data/node_modules/playwright/lib/isomorphic/stringInternPool.js +58 -0
  138. data/node_modules/playwright/lib/isomorphic/teleReceiver.js +504 -0
  139. data/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +149 -0
  140. data/node_modules/playwright/lib/isomorphic/testServerConnection.js +210 -0
  141. data/node_modules/playwright/lib/isomorphic/testServerInterface.js +5 -0
  142. data/node_modules/playwright/lib/isomorphic/testTree.js +272 -0
  143. data/node_modules/playwright/lib/loader/loaderMain.js +58 -0
  144. data/node_modules/playwright/lib/matchers/expect.js +297 -0
  145. data/node_modules/playwright/lib/matchers/matcherHint.js +50 -0
  146. data/node_modules/playwright/lib/matchers/matchers.js +449 -0
  147. data/node_modules/playwright/lib/matchers/toBeTruthy.js +55 -0
  148. data/node_modules/playwright/lib/matchers/toEqual.js +57 -0
  149. data/node_modules/playwright/lib/matchers/toMatchSnapshot.js +383 -0
  150. data/node_modules/playwright/lib/matchers/toMatchText.js +76 -0
  151. data/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +78 -0
  152. data/node_modules/playwright/lib/plugins/index.js +19 -0
  153. data/node_modules/playwright/lib/plugins/webServerPlugin.js +187 -0
  154. data/node_modules/playwright/lib/program.js +346 -0
  155. data/node_modules/playwright/lib/reporters/base.js +553 -0
  156. data/node_modules/playwright/lib/reporters/blob.js +133 -0
  157. data/node_modules/playwright/lib/reporters/dot.js +82 -0
  158. data/node_modules/playwright/lib/reporters/empty.js +42 -0
  159. data/node_modules/playwright/lib/reporters/github.js +115 -0
  160. data/node_modules/playwright/lib/reporters/html.js +623 -0
  161. data/node_modules/playwright/lib/reporters/internalReporter.js +123 -0
  162. data/node_modules/playwright/lib/reporters/json.js +243 -0
  163. data/node_modules/playwright/lib/reporters/junit.js +233 -0
  164. data/node_modules/playwright/lib/reporters/line.js +108 -0
  165. data/node_modules/playwright/lib/reporters/list.js +222 -0
  166. data/node_modules/playwright/lib/reporters/markdown.js +76 -0
  167. data/node_modules/playwright/lib/reporters/merge.js +477 -0
  168. data/node_modules/playwright/lib/reporters/multiplexer.js +90 -0
  169. data/node_modules/playwright/lib/reporters/reporterV2.js +118 -0
  170. data/node_modules/playwright/lib/reporters/teleEmitter.js +268 -0
  171. data/node_modules/playwright/lib/reporters/versions/blobV1.js +5 -0
  172. data/node_modules/playwright/lib/runner/dispatcher.js +532 -0
  173. data/node_modules/playwright/lib/runner/failureTracker.js +60 -0
  174. data/node_modules/playwright/lib/runner/loadUtils.js +308 -0
  175. data/node_modules/playwright/lib/runner/loaderHost.js +85 -0
  176. data/node_modules/playwright/lib/runner/processHost.js +175 -0
  177. data/node_modules/playwright/lib/runner/projectUtils.js +203 -0
  178. data/node_modules/playwright/lib/runner/reporters.js +151 -0
  179. data/node_modules/playwright/lib/runner/runner.js +179 -0
  180. data/node_modules/playwright/lib/runner/sigIntWatcher.js +100 -0
  181. data/node_modules/playwright/lib/runner/taskRunner.js +147 -0
  182. data/node_modules/playwright/lib/runner/tasks.js +407 -0
  183. data/node_modules/playwright/lib/runner/testGroups.js +136 -0
  184. data/node_modules/playwright/lib/runner/testServer.js +605 -0
  185. data/node_modules/playwright/lib/runner/uiModeReporter.js +31 -0
  186. data/node_modules/playwright/lib/runner/vcs.js +55 -0
  187. data/node_modules/playwright/lib/runner/watchMode.js +398 -0
  188. data/node_modules/playwright/lib/runner/workerHost.js +85 -0
  189. data/node_modules/playwright/lib/third_party/tsconfig-loader.js +134 -0
  190. data/node_modules/playwright/lib/transform/babelBundle.js +28 -0
  191. data/node_modules/playwright/lib/transform/babelBundleImpl.js +2032 -0
  192. data/node_modules/playwright/lib/transform/compilationCache.js +254 -0
  193. data/node_modules/playwright/lib/transform/esmLoader.js +117 -0
  194. data/node_modules/playwright/lib/transform/esmUtils.js +32 -0
  195. data/node_modules/playwright/lib/transform/portTransport.js +81 -0
  196. data/node_modules/playwright/lib/transform/transform.js +267 -0
  197. data/node_modules/playwright/lib/util.js +356 -0
  198. data/node_modules/playwright/lib/utilsBundle.js +28 -0
  199. data/node_modules/playwright/lib/utilsBundleImpl.js +102 -0
  200. data/node_modules/playwright/lib/worker/fixtureRunner.js +279 -0
  201. data/node_modules/playwright/lib/worker/testInfo.js +397 -0
  202. data/node_modules/playwright/lib/worker/testTracing.js +314 -0
  203. data/node_modules/playwright/lib/worker/timeoutManager.js +153 -0
  204. data/node_modules/playwright/lib/worker/workerMain.js +637 -0
  205. data/node_modules/playwright/node_modules/.bin/playwright-core +1 -0
  206. data/node_modules/playwright/package.json +66 -0
  207. data/node_modules/playwright/test.d.ts +18 -0
  208. data/node_modules/playwright/test.js +24 -0
  209. data/node_modules/playwright/test.mjs +33 -0
  210. data/node_modules/playwright/types/test.d.ts +8444 -0
  211. data/node_modules/playwright/types/testReporter.d.ts +749 -0
  212. data/node_modules/playwright-core/LICENSE +202 -0
  213. data/node_modules/playwright-core/NOTICE +5 -0
  214. data/node_modules/playwright-core/README.md +3 -0
  215. data/node_modules/playwright-core/ThirdPartyNotices.txt +1548 -0
  216. data/node_modules/playwright-core/bin/PrintDeps.exe +0 -0
  217. data/node_modules/playwright-core/bin/README.md +2 -0
  218. data/node_modules/playwright-core/bin/install_media_pack.ps1 +5 -0
  219. data/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +40 -0
  220. data/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +13 -0
  221. data/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +24 -0
  222. data/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +40 -0
  223. data/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +12 -0
  224. data/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +24 -0
  225. data/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +40 -0
  226. data/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +11 -0
  227. data/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +23 -0
  228. data/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +40 -0
  229. data/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +11 -0
  230. data/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +23 -0
  231. data/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +40 -0
  232. data/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +11 -0
  233. data/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +24 -0
  234. data/node_modules/playwright-core/browsers.json +53 -0
  235. data/node_modules/playwright-core/cli.js +18 -0
  236. data/node_modules/playwright-core/index.d.ts +17 -0
  237. data/node_modules/playwright-core/index.js +33 -0
  238. data/node_modules/playwright-core/index.mjs +28 -0
  239. data/node_modules/playwright-core/lib/androidServerImpl.js +69 -0
  240. data/node_modules/playwright-core/lib/browserServerImpl.js +92 -0
  241. data/node_modules/playwright-core/lib/cli/driver.js +95 -0
  242. data/node_modules/playwright-core/lib/cli/program.js +577 -0
  243. data/node_modules/playwright-core/lib/cli/programWithTestStub.js +67 -0
  244. data/node_modules/playwright-core/lib/client/accessibility.js +50 -0
  245. data/node_modules/playwright-core/lib/client/android.js +473 -0
  246. data/node_modules/playwright-core/lib/client/api.js +279 -0
  247. data/node_modules/playwright-core/lib/client/artifact.js +79 -0
  248. data/node_modules/playwright-core/lib/client/browser.js +145 -0
  249. data/node_modules/playwright-core/lib/client/browserContext.js +541 -0
  250. data/node_modules/playwright-core/lib/client/browserType.js +241 -0
  251. data/node_modules/playwright-core/lib/client/cdpSession.js +53 -0
  252. data/node_modules/playwright-core/lib/client/channelOwner.js +231 -0
  253. data/node_modules/playwright-core/lib/client/clientHelper.js +57 -0
  254. data/node_modules/playwright-core/lib/client/clientInstrumentation.js +50 -0
  255. data/node_modules/playwright-core/lib/client/clock.js +68 -0
  256. data/node_modules/playwright-core/lib/client/connection.js +330 -0
  257. data/node_modules/playwright-core/lib/client/consoleMessage.js +55 -0
  258. data/node_modules/playwright-core/lib/client/coverage.js +41 -0
  259. data/node_modules/playwright-core/lib/client/dialog.js +57 -0
  260. data/node_modules/playwright-core/lib/client/download.js +62 -0
  261. data/node_modules/playwright-core/lib/client/electron.js +135 -0
  262. data/node_modules/playwright-core/lib/client/elementHandle.js +321 -0
  263. data/node_modules/playwright-core/lib/client/errors.js +77 -0
  264. data/node_modules/playwright-core/lib/client/eventEmitter.js +314 -0
  265. data/node_modules/playwright-core/lib/client/events.js +94 -0
  266. data/node_modules/playwright-core/lib/client/fetch.js +396 -0
  267. data/node_modules/playwright-core/lib/client/fileChooser.js +45 -0
  268. data/node_modules/playwright-core/lib/client/frame.js +504 -0
  269. data/node_modules/playwright-core/lib/client/harRouter.js +99 -0
  270. data/node_modules/playwright-core/lib/client/input.js +111 -0
  271. data/node_modules/playwright-core/lib/client/jsHandle.js +129 -0
  272. data/node_modules/playwright-core/lib/client/jsonPipe.js +35 -0
  273. data/node_modules/playwright-core/lib/client/localUtils.js +35 -0
  274. data/node_modules/playwright-core/lib/client/locator.js +441 -0
  275. data/node_modules/playwright-core/lib/client/network.js +604 -0
  276. data/node_modules/playwright-core/lib/client/page.js +725 -0
  277. data/node_modules/playwright-core/lib/client/playwright.js +77 -0
  278. data/node_modules/playwright-core/lib/client/selectors.js +67 -0
  279. data/node_modules/playwright-core/lib/client/stream.js +54 -0
  280. data/node_modules/playwright-core/lib/client/tracing.js +138 -0
  281. data/node_modules/playwright-core/lib/client/types.js +24 -0
  282. data/node_modules/playwright-core/lib/client/video.js +51 -0
  283. data/node_modules/playwright-core/lib/client/waiter.js +158 -0
  284. data/node_modules/playwright-core/lib/client/webError.js +37 -0
  285. data/node_modules/playwright-core/lib/client/worker.js +71 -0
  286. data/node_modules/playwright-core/lib/client/writableStream.js +54 -0
  287. data/node_modules/playwright-core/lib/common/socksProxy.js +569 -0
  288. data/node_modules/playwright-core/lib/common/timeoutSettings.js +73 -0
  289. data/node_modules/playwright-core/lib/common/types.js +5 -0
  290. data/node_modules/playwright-core/lib/generated/clockSource.js +7 -0
  291. data/node_modules/playwright-core/lib/generated/consoleApiSource.js +7 -0
  292. data/node_modules/playwright-core/lib/generated/injectedScriptSource.js +7 -0
  293. data/node_modules/playwright-core/lib/generated/recorderSource.js +7 -0
  294. data/node_modules/playwright-core/lib/generated/utilityScriptSource.js +7 -0
  295. data/node_modules/playwright-core/lib/image_tools/colorUtils.js +98 -0
  296. data/node_modules/playwright-core/lib/image_tools/compare.js +108 -0
  297. data/node_modules/playwright-core/lib/image_tools/imageChannel.js +70 -0
  298. data/node_modules/playwright-core/lib/image_tools/stats.js +102 -0
  299. data/node_modules/playwright-core/lib/inProcessFactory.js +54 -0
  300. data/node_modules/playwright-core/lib/inprocess.js +20 -0
  301. data/node_modules/playwright-core/lib/outofprocess.js +67 -0
  302. data/node_modules/playwright-core/lib/protocol/debug.js +27 -0
  303. data/node_modules/playwright-core/lib/protocol/serializers.js +173 -0
  304. data/node_modules/playwright-core/lib/protocol/transport.js +82 -0
  305. data/node_modules/playwright-core/lib/protocol/validator.js +2694 -0
  306. data/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +139 -0
  307. data/node_modules/playwright-core/lib/remote/playwrightConnection.js +274 -0
  308. data/node_modules/playwright-core/lib/remote/playwrightServer.js +110 -0
  309. data/node_modules/playwright-core/lib/server/accessibility.js +62 -0
  310. data/node_modules/playwright-core/lib/server/android/android.js +441 -0
  311. data/node_modules/playwright-core/lib/server/android/backendAdb.js +172 -0
  312. data/node_modules/playwright-core/lib/server/artifact.js +104 -0
  313. data/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +296 -0
  314. data/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +206 -0
  315. data/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +162 -0
  316. data/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +110 -0
  317. data/node_modules/playwright-core/lib/server/bidi/bidiInput.js +174 -0
  318. data/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +304 -0
  319. data/node_modules/playwright-core/lib/server/bidi/bidiPage.js +456 -0
  320. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +93 -0
  321. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +238 -0
  322. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +139 -0
  323. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +144 -0
  324. data/node_modules/playwright-core/lib/server/browser.js +137 -0
  325. data/node_modules/playwright-core/lib/server/browserContext.js +684 -0
  326. data/node_modules/playwright-core/lib/server/browserType.js +307 -0
  327. data/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  328. data/node_modules/playwright-core/lib/server/chromium/chromium.js +362 -0
  329. data/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +44 -0
  330. data/node_modules/playwright-core/lib/server/chromium/crAccessibility.js +237 -0
  331. data/node_modules/playwright-core/lib/server/chromium/crBrowser.js +515 -0
  332. data/node_modules/playwright-core/lib/server/chromium/crConnection.js +228 -0
  333. data/node_modules/playwright-core/lib/server/chromium/crCoverage.js +246 -0
  334. data/node_modules/playwright-core/lib/server/chromium/crDevTools.js +104 -0
  335. data/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +143 -0
  336. data/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +156 -0
  337. data/node_modules/playwright-core/lib/server/chromium/crInput.js +171 -0
  338. data/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +767 -0
  339. data/node_modules/playwright-core/lib/server/chromium/crPage.js +1128 -0
  340. data/node_modules/playwright-core/lib/server/chromium/crPdf.js +153 -0
  341. data/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +133 -0
  342. data/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +112 -0
  343. data/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +145 -0
  344. data/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +155 -0
  345. data/node_modules/playwright-core/lib/server/clock.js +125 -0
  346. data/node_modules/playwright-core/lib/server/codegen/csharp.js +299 -0
  347. data/node_modules/playwright-core/lib/server/codegen/java.js +235 -0
  348. data/node_modules/playwright-core/lib/server/codegen/javascript.js +223 -0
  349. data/node_modules/playwright-core/lib/server/codegen/jsonl.js +47 -0
  350. data/node_modules/playwright-core/lib/server/codegen/language.js +76 -0
  351. data/node_modules/playwright-core/lib/server/codegen/languages.js +30 -0
  352. data/node_modules/playwright-core/lib/server/codegen/python.js +265 -0
  353. data/node_modules/playwright-core/lib/server/codegen/types.js +5 -0
  354. data/node_modules/playwright-core/lib/server/console.js +57 -0
  355. data/node_modules/playwright-core/lib/server/cookieStore.js +112 -0
  356. data/node_modules/playwright-core/lib/server/debugController.js +234 -0
  357. data/node_modules/playwright-core/lib/server/debugger.js +132 -0
  358. data/node_modules/playwright-core/lib/server/deviceDescriptors.js +26 -0
  359. data/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +1669 -0
  360. data/node_modules/playwright-core/lib/server/dialog.js +70 -0
  361. data/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +193 -0
  362. data/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +118 -0
  363. data/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +351 -0
  364. data/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +170 -0
  365. data/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +55 -0
  366. data/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +48 -0
  367. data/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +103 -0
  368. data/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +44 -0
  369. data/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +395 -0
  370. data/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +93 -0
  371. data/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +228 -0
  372. data/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +286 -0
  373. data/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +102 -0
  374. data/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +59 -0
  375. data/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +413 -0
  376. data/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +221 -0
  377. data/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +358 -0
  378. data/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +106 -0
  379. data/node_modules/playwright-core/lib/server/dispatchers/selectorsDispatcher.js +36 -0
  380. data/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +62 -0
  381. data/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +54 -0
  382. data/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +58 -0
  383. data/node_modules/playwright-core/lib/server/dom.js +845 -0
  384. data/node_modules/playwright-core/lib/server/download.js +53 -0
  385. data/node_modules/playwright-core/lib/server/electron/electron.js +296 -0
  386. data/node_modules/playwright-core/lib/server/electron/loader.js +57 -0
  387. data/node_modules/playwright-core/lib/server/errors.js +68 -0
  388. data/node_modules/playwright-core/lib/server/fetch.js +660 -0
  389. data/node_modules/playwright-core/lib/server/fileChooser.js +42 -0
  390. data/node_modules/playwright-core/lib/server/fileUploadUtils.js +75 -0
  391. data/node_modules/playwright-core/lib/server/firefox/ffAccessibility.js +216 -0
  392. data/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +458 -0
  393. data/node_modules/playwright-core/lib/server/firefox/ffConnection.js +168 -0
  394. data/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +138 -0
  395. data/node_modules/playwright-core/lib/server/firefox/ffInput.js +150 -0
  396. data/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +233 -0
  397. data/node_modules/playwright-core/lib/server/firefox/ffPage.js +556 -0
  398. data/node_modules/playwright-core/lib/server/firefox/firefox.js +110 -0
  399. data/node_modules/playwright-core/lib/server/formData.js +75 -0
  400. data/node_modules/playwright-core/lib/server/frameSelectors.js +171 -0
  401. data/node_modules/playwright-core/lib/server/frames.js +1654 -0
  402. data/node_modules/playwright-core/lib/server/har/harRecorder.js +139 -0
  403. data/node_modules/playwright-core/lib/server/har/harTracer.js +531 -0
  404. data/node_modules/playwright-core/lib/server/helper.js +103 -0
  405. data/node_modules/playwright-core/lib/server/index.js +114 -0
  406. data/node_modules/playwright-core/lib/server/input.js +311 -0
  407. data/node_modules/playwright-core/lib/server/instrumentation.js +70 -0
  408. data/node_modules/playwright-core/lib/server/isomorphic/utilityScriptSerializers.js +226 -0
  409. data/node_modules/playwright-core/lib/server/javascript.js +306 -0
  410. data/node_modules/playwright-core/lib/server/launchApp.js +91 -0
  411. data/node_modules/playwright-core/lib/server/macEditingCommands.js +139 -0
  412. data/node_modules/playwright-core/lib/server/network.js +617 -0
  413. data/node_modules/playwright-core/lib/server/page.js +825 -0
  414. data/node_modules/playwright-core/lib/server/pipeTransport.js +85 -0
  415. data/node_modules/playwright-core/lib/server/playwright.js +85 -0
  416. data/node_modules/playwright-core/lib/server/progress.js +102 -0
  417. data/node_modules/playwright-core/lib/server/protocolError.js +49 -0
  418. data/node_modules/playwright-core/lib/server/recorder/contextRecorder.js +316 -0
  419. data/node_modules/playwright-core/lib/server/recorder/recorderActions.js +5 -0
  420. data/node_modules/playwright-core/lib/server/recorder/recorderApp.js +190 -0
  421. data/node_modules/playwright-core/lib/server/recorder/recorderCollection.js +127 -0
  422. data/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +177 -0
  423. data/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +71 -0
  424. data/node_modules/playwright-core/lib/server/recorder/throttledFile.js +46 -0
  425. data/node_modules/playwright-core/lib/server/recorder.js +324 -0
  426. data/node_modules/playwright-core/lib/server/registry/browserFetcher.js +168 -0
  427. data/node_modules/playwright-core/lib/server/registry/dependencies.js +322 -0
  428. data/node_modules/playwright-core/lib/server/registry/index.js +924 -0
  429. data/node_modules/playwright-core/lib/server/registry/nativeDeps.js +490 -0
  430. data/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +138 -0
  431. data/node_modules/playwright-core/lib/server/screenshotter.js +348 -0
  432. data/node_modules/playwright-core/lib/server/selectors.js +73 -0
  433. data/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +328 -0
  434. data/node_modules/playwright-core/lib/server/socksInterceptor.js +100 -0
  435. data/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +171 -0
  436. data/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +493 -0
  437. data/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +486 -0
  438. data/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +93 -0
  439. data/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +216 -0
  440. data/node_modules/playwright-core/lib/server/transport.js +191 -0
  441. data/node_modules/playwright-core/lib/server/types.js +24 -0
  442. data/node_modules/playwright-core/lib/server/usKeyboardLayout.js +555 -0
  443. data/node_modules/playwright-core/lib/server/webkit/webkit.js +87 -0
  444. data/node_modules/playwright-core/lib/server/webkit/wkAccessibility.js +194 -0
  445. data/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +328 -0
  446. data/node_modules/playwright-core/lib/server/webkit/wkConnection.js +173 -0
  447. data/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +146 -0
  448. data/node_modules/playwright-core/lib/server/webkit/wkInput.js +169 -0
  449. data/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +162 -0
  450. data/node_modules/playwright-core/lib/server/webkit/wkPage.js +1216 -0
  451. data/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +94 -0
  452. data/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +104 -0
  453. data/node_modules/playwright-core/lib/third_party/diff_match_patch.js +2222 -0
  454. data/node_modules/playwright-core/lib/third_party/pixelmatch.js +255 -0
  455. data/node_modules/playwright-core/lib/utils/ascii.js +31 -0
  456. data/node_modules/playwright-core/lib/utils/comparators.js +171 -0
  457. data/node_modules/playwright-core/lib/utils/crypto.js +174 -0
  458. data/node_modules/playwright-core/lib/utils/debug.js +46 -0
  459. data/node_modules/playwright-core/lib/utils/debugLogger.js +91 -0
  460. data/node_modules/playwright-core/lib/utils/env.js +49 -0
  461. data/node_modules/playwright-core/lib/utils/eventsHelper.js +38 -0
  462. data/node_modules/playwright-core/lib/utils/expectUtils.js +33 -0
  463. data/node_modules/playwright-core/lib/utils/fileUtils.js +205 -0
  464. data/node_modules/playwright-core/lib/utils/happy-eyeballs.js +181 -0
  465. data/node_modules/playwright-core/lib/utils/headers.js +52 -0
  466. data/node_modules/playwright-core/lib/utils/hostPlatform.js +133 -0
  467. data/node_modules/playwright-core/lib/utils/httpServer.js +236 -0
  468. data/node_modules/playwright-core/lib/utils/index.js +368 -0
  469. data/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +250 -0
  470. data/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +979 -0
  471. data/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +651 -0
  472. data/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +179 -0
  473. data/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +62 -0
  474. data/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +29 -0
  475. data/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +397 -0
  476. data/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +139 -0
  477. data/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +39 -0
  478. data/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +120 -0
  479. data/node_modules/playwright-core/lib/utils/linuxUtils.js +78 -0
  480. data/node_modules/playwright-core/lib/utils/manualPromise.js +109 -0
  481. data/node_modules/playwright-core/lib/utils/multimap.js +75 -0
  482. data/node_modules/playwright-core/lib/utils/network.js +160 -0
  483. data/node_modules/playwright-core/lib/utils/processLauncher.js +248 -0
  484. data/node_modules/playwright-core/lib/utils/profiler.js +53 -0
  485. data/node_modules/playwright-core/lib/utils/rtti.js +44 -0
  486. data/node_modules/playwright-core/lib/utils/semaphore.js +51 -0
  487. data/node_modules/playwright-core/lib/utils/spawnAsync.js +45 -0
  488. data/node_modules/playwright-core/lib/utils/stackTrace.js +121 -0
  489. data/node_modules/playwright-core/lib/utils/task.js +58 -0
  490. data/node_modules/playwright-core/lib/utils/time.js +37 -0
  491. data/node_modules/playwright-core/lib/utils/timeoutRunner.js +66 -0
  492. data/node_modules/playwright-core/lib/utils/traceUtils.js +44 -0
  493. data/node_modules/playwright-core/lib/utils/userAgent.js +105 -0
  494. data/node_modules/playwright-core/lib/utils/wsServer.js +127 -0
  495. data/node_modules/playwright-core/lib/utils/zipFile.js +75 -0
  496. data/node_modules/playwright-core/lib/utils/zones.js +62 -0
  497. data/node_modules/playwright-core/lib/utilsBundle.js +82 -0
  498. data/node_modules/playwright-core/lib/utilsBundleImpl/index.js +53 -0
  499. data/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +1066 -0
  500. data/node_modules/playwright-core/lib/vite/htmlReport/index.html +66 -0
  501. data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-aW6Vz3gf.js +24 -0
  502. data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-ez37Vkbh.css +1 -0
  503. data/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  504. data/node_modules/playwright-core/lib/vite/recorder/assets/index-B-MT5gKo.css +1 -0
  505. data/node_modules/playwright-core/lib/vite/recorder/assets/index-DCpXOVIh.js +47 -0
  506. data/node_modules/playwright-core/lib/vite/recorder/index.html +29 -0
  507. data/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +9 -0
  508. data/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-eFKCUIu2.js +24 -0
  509. data/node_modules/playwright-core/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +1 -0
  510. data/node_modules/playwright-core/lib/vite/traceViewer/assets/workbench-D0cirtfA.js +72 -0
  511. data/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-BeNbaIVa.js +9 -0
  512. data/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.ez37Vkbh.css +1 -0
  513. data/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  514. data/node_modules/playwright-core/lib/vite/traceViewer/embedded.BkuvsLJp.js +2 -0
  515. data/node_modules/playwright-core/lib/vite/traceViewer/embedded.html +16 -0
  516. data/node_modules/playwright-core/lib/vite/traceViewer/embedded.w7WN2u1R.css +1 -0
  517. data/node_modules/playwright-core/lib/vite/traceViewer/index.C968kAiC.js +2 -0
  518. data/node_modules/playwright-core/lib/vite/traceViewer/index.CrbWWHbf.css +1 -0
  519. data/node_modules/playwright-core/lib/vite/traceViewer/index.html +27 -0
  520. data/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +9 -0
  521. data/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +21 -0
  522. data/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -0
  523. data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BkFnr4V0.js +10 -0
  524. data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.D3cNFP6u.css +1 -0
  525. data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +18 -0
  526. data/node_modules/playwright-core/lib/vite/traceViewer/workbench.DjbIuxix.css +1 -0
  527. data/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DSXBckUd.css +32 -0
  528. data/node_modules/playwright-core/lib/zipBundle.js +25 -0
  529. data/node_modules/playwright-core/lib/zipBundleImpl.js +5 -0
  530. data/node_modules/playwright-core/package.json +44 -0
  531. data/node_modules/playwright-core/types/protocol.d.ts +21500 -0
  532. data/node_modules/playwright-core/types/structs.d.ts +45 -0
  533. data/node_modules/playwright-core/types/types.d.ts +21431 -0
  534. data/node_modules/undici-types/LICENSE +21 -0
  535. data/node_modules/undici-types/README.md +6 -0
  536. data/node_modules/undici-types/agent.d.ts +31 -0
  537. data/node_modules/undici-types/api.d.ts +43 -0
  538. data/node_modules/undici-types/balanced-pool.d.ts +29 -0
  539. data/node_modules/undici-types/cache.d.ts +36 -0
  540. data/node_modules/undici-types/client.d.ts +108 -0
  541. data/node_modules/undici-types/connector.d.ts +34 -0
  542. data/node_modules/undici-types/content-type.d.ts +21 -0
  543. data/node_modules/undici-types/cookies.d.ts +28 -0
  544. data/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
  545. data/node_modules/undici-types/dispatcher.d.ts +255 -0
  546. data/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
  547. data/node_modules/undici-types/errors.d.ts +149 -0
  548. data/node_modules/undici-types/eventsource.d.ts +63 -0
  549. data/node_modules/undici-types/fetch.d.ts +209 -0
  550. data/node_modules/undici-types/file.d.ts +39 -0
  551. data/node_modules/undici-types/filereader.d.ts +54 -0
  552. data/node_modules/undici-types/formdata.d.ts +108 -0
  553. data/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  554. data/node_modules/undici-types/global-origin.d.ts +7 -0
  555. data/node_modules/undici-types/handlers.d.ts +15 -0
  556. data/node_modules/undici-types/header.d.ts +4 -0
  557. data/node_modules/undici-types/index.d.ts +71 -0
  558. data/node_modules/undici-types/interceptors.d.ts +15 -0
  559. data/node_modules/undici-types/mock-agent.d.ts +50 -0
  560. data/node_modules/undici-types/mock-client.d.ts +25 -0
  561. data/node_modules/undici-types/mock-errors.d.ts +12 -0
  562. data/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  563. data/node_modules/undici-types/mock-pool.d.ts +25 -0
  564. data/node_modules/undici-types/package.json +55 -0
  565. data/node_modules/undici-types/patch.d.ts +71 -0
  566. data/node_modules/undici-types/pool-stats.d.ts +19 -0
  567. data/node_modules/undici-types/pool.d.ts +39 -0
  568. data/node_modules/undici-types/proxy-agent.d.ts +28 -0
  569. data/node_modules/undici-types/readable.d.ts +60 -0
  570. data/node_modules/undici-types/retry-agent.d.ts +8 -0
  571. data/node_modules/undici-types/retry-handler.d.ts +116 -0
  572. data/node_modules/undici-types/util.d.ts +18 -0
  573. data/node_modules/undici-types/webidl.d.ts +222 -0
  574. data/node_modules/undici-types/websocket.d.ts +152 -0
  575. data/pokeedex.gemspec +32 -0
  576. data/spec/fixtures/pokemon_com/responses/GET-200-bulbasaur.html +2262 -0
  577. data/spec/fixtures/pokemon_com/responses/GET-404-not-found.html +808 -0
  578. data/spec/pokeedex/configuration_spec.rb +37 -0
  579. data/spec/pokeedex/database_spec.rb +21 -0
  580. data/spec/pokeedex/exceptions_spec.rb +11 -0
  581. data/spec/pokeedex/pokemon/base_spec.rb +15 -0
  582. data/spec/pokeedex/pokemon/decorators/base_spec.rb +63 -0
  583. data/spec/pokeedex/pokemon/model/base_spec.rb +36 -0
  584. data/spec/pokeedex/pokemon/scrapper/fetchers/base_spec.rb +36 -0
  585. data/spec/pokeedex/pokemon/scrapper/parsers/base_spec.rb +49 -0
  586. data/spec/pokeedex/pokemon/scrapper/pokedex_spec.rb +71 -0
  587. data/spec/pokeedex/pokemon/searcher/base.rb +81 -0
  588. data/spec/pokeedex_spec.rb +7 -0
  589. data/spec/spec_helper.rb +42 -0
  590. data/yarn.lock +41 -0
  591. metadata +731 -0
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.requireOrImport = requireOrImport;
7
+ exports.resolveHook = resolveHook;
8
+ exports.setSingleTSConfig = setSingleTSConfig;
9
+ exports.setTransformConfig = setTransformConfig;
10
+ exports.setTransformData = setTransformData;
11
+ exports.shouldTransform = shouldTransform;
12
+ exports.singleTSConfig = singleTSConfig;
13
+ exports.transformConfig = transformConfig;
14
+ exports.transformHook = transformHook;
15
+ exports.wrapFunctionWithLocation = wrapFunctionWithLocation;
16
+ var _crypto = _interopRequireDefault(require("crypto"));
17
+ var _path = _interopRequireDefault(require("path"));
18
+ var _url = _interopRequireDefault(require("url"));
19
+ var _utilsBundle = require("../utilsBundle");
20
+ var _tsconfigLoader = require("../third_party/tsconfig-loader");
21
+ var _module = _interopRequireDefault(require("module"));
22
+ var _util = require("../util");
23
+ var _compilationCache = require("./compilationCache");
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+ /**
26
+ * Copyright (c) Microsoft Corporation.
27
+ *
28
+ * Licensed under the Apache License, Version 2.0 (the "License");
29
+ * you may not use this file except in compliance with the License.
30
+ * You may obtain a copy of the License at
31
+ *
32
+ * http://www.apache.org/licenses/LICENSE-2.0
33
+ *
34
+ * Unless required by applicable law or agreed to in writing, software
35
+ * distributed under the License is distributed on an "AS IS" BASIS,
36
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
37
+ * See the License for the specific language governing permissions and
38
+ * limitations under the License.
39
+ */
40
+
41
+ const version = require('../../package.json').version;
42
+ const cachedTSConfigs = new Map();
43
+ let _transformConfig = {
44
+ babelPlugins: [],
45
+ external: []
46
+ };
47
+ let _externalMatcher = () => false;
48
+ function setTransformConfig(config) {
49
+ _transformConfig = config;
50
+ _externalMatcher = (0, _util.createFileMatcher)(_transformConfig.external);
51
+ }
52
+ function transformConfig() {
53
+ return _transformConfig;
54
+ }
55
+ let _singleTSConfig;
56
+ function setSingleTSConfig(value) {
57
+ _singleTSConfig = value;
58
+ }
59
+ function singleTSConfig() {
60
+ return _singleTSConfig;
61
+ }
62
+ function validateTsConfig(tsconfig) {
63
+ var _tsconfig$absoluteBas, _tsconfig$paths, _tsconfig$paths2;
64
+ // When no explicit baseUrl is set, resolve paths relative to the tsconfig file.
65
+ // See https://www.typescriptlang.org/tsconfig#paths
66
+ const pathsBase = (_tsconfig$absoluteBas = tsconfig.absoluteBaseUrl) !== null && _tsconfig$absoluteBas !== void 0 ? _tsconfig$absoluteBas : (_tsconfig$paths = tsconfig.paths) === null || _tsconfig$paths === void 0 ? void 0 : _tsconfig$paths.pathsBasePath;
67
+ // Only add the catch-all mapping when baseUrl is specified
68
+ const pathsFallback = tsconfig.absoluteBaseUrl ? [{
69
+ key: '*',
70
+ values: ['*']
71
+ }] : [];
72
+ return {
73
+ allowJs: !!tsconfig.allowJs,
74
+ pathsBase,
75
+ paths: Object.entries(((_tsconfig$paths2 = tsconfig.paths) === null || _tsconfig$paths2 === void 0 ? void 0 : _tsconfig$paths2.mapping) || {}).map(([key, values]) => ({
76
+ key,
77
+ values
78
+ })).concat(pathsFallback)
79
+ };
80
+ }
81
+ function loadAndValidateTsconfigsForFile(file) {
82
+ const tsconfigPathOrDirecotry = _singleTSConfig || _path.default.dirname(file);
83
+ if (!cachedTSConfigs.has(tsconfigPathOrDirecotry)) {
84
+ const loaded = (0, _tsconfigLoader.tsConfigLoader)(tsconfigPathOrDirecotry);
85
+ cachedTSConfigs.set(tsconfigPathOrDirecotry, loaded.map(validateTsConfig));
86
+ }
87
+ return cachedTSConfigs.get(tsconfigPathOrDirecotry);
88
+ }
89
+ const pathSeparator = process.platform === 'win32' ? ';' : ':';
90
+ const builtins = new Set(_module.default.builtinModules);
91
+ function resolveHook(filename, specifier) {
92
+ if (specifier.startsWith('node:') || builtins.has(specifier)) return;
93
+ if (!shouldTransform(filename)) return;
94
+ if (isRelativeSpecifier(specifier)) return (0, _util.resolveImportSpecifierAfterMapping)(_path.default.resolve(_path.default.dirname(filename), specifier), false);
95
+
96
+ /**
97
+ * TypeScript discourages path-mapping into node_modules:
98
+ * https://www.typescriptlang.org/docs/handbook/modules/reference.html#paths-should-not-point-to-monorepo-packages-or-node_modules-packages
99
+ * However, if path-mapping doesn't yield a result, TypeScript falls back to the default resolution through node_modules.
100
+ */
101
+ const isTypeScript = filename.endsWith('.ts') || filename.endsWith('.tsx');
102
+ const tsconfigs = loadAndValidateTsconfigsForFile(filename);
103
+ for (const tsconfig of tsconfigs) {
104
+ if (!isTypeScript && !tsconfig.allowJs) continue;
105
+ let longestPrefixLength = -1;
106
+ let pathMatchedByLongestPrefix;
107
+ for (const {
108
+ key,
109
+ values
110
+ } of tsconfig.paths) {
111
+ let matchedPartOfSpecifier = specifier;
112
+ const [keyPrefix, keySuffix] = key.split('*');
113
+ if (key.includes('*')) {
114
+ // * If pattern contains '*' then to match pattern "<prefix>*<suffix>" module name must start with the <prefix> and end with <suffix>.
115
+ // * <MatchedStar> denotes part of the module name between <prefix> and <suffix>.
116
+ // * If module name can be matches with multiple patterns then pattern with the longest prefix will be picked.
117
+ // https://github.com/microsoft/TypeScript/blob/f82d0cb3299c04093e3835bc7e29f5b40475f586/src/compiler/moduleNameResolver.ts#L1049
118
+ if (keyPrefix) {
119
+ if (!specifier.startsWith(keyPrefix)) continue;
120
+ matchedPartOfSpecifier = matchedPartOfSpecifier.substring(keyPrefix.length, matchedPartOfSpecifier.length);
121
+ }
122
+ if (keySuffix) {
123
+ if (!specifier.endsWith(keySuffix)) continue;
124
+ matchedPartOfSpecifier = matchedPartOfSpecifier.substring(0, matchedPartOfSpecifier.length - keySuffix.length);
125
+ }
126
+ } else {
127
+ if (specifier !== key) continue;
128
+ matchedPartOfSpecifier = specifier;
129
+ }
130
+ if (keyPrefix.length <= longestPrefixLength) continue;
131
+ for (const value of values) {
132
+ let candidate = value;
133
+ if (value.includes('*')) candidate = candidate.replace('*', matchedPartOfSpecifier);
134
+ candidate = _path.default.resolve(tsconfig.pathsBase, candidate);
135
+ const existing = (0, _util.resolveImportSpecifierAfterMapping)(candidate, true);
136
+ if (existing) {
137
+ longestPrefixLength = keyPrefix.length;
138
+ pathMatchedByLongestPrefix = existing;
139
+ }
140
+ }
141
+ }
142
+ if (pathMatchedByLongestPrefix) return pathMatchedByLongestPrefix;
143
+ }
144
+ if (_path.default.isAbsolute(specifier)) {
145
+ // Handle absolute file paths like `import '/path/to/file'`
146
+ // Do not handle module imports like `import 'fs'`
147
+ return (0, _util.resolveImportSpecifierAfterMapping)(specifier, false);
148
+ }
149
+ }
150
+ function shouldTransform(filename) {
151
+ if (_externalMatcher(filename)) return false;
152
+ return !(0, _compilationCache.belongsToNodeModules)(filename);
153
+ }
154
+ let transformData;
155
+ function setTransformData(pluginName, value) {
156
+ transformData.set(pluginName, value);
157
+ }
158
+ function transformHook(originalCode, filename, moduleUrl) {
159
+ const isTypeScript = filename.endsWith('.ts') || filename.endsWith('.tsx') || filename.endsWith('.mts') || filename.endsWith('.cts');
160
+ const hasPreprocessor = process.env.PW_TEST_SOURCE_TRANSFORM && process.env.PW_TEST_SOURCE_TRANSFORM_SCOPE && process.env.PW_TEST_SOURCE_TRANSFORM_SCOPE.split(pathSeparator).some(f => filename.startsWith(f));
161
+ const pluginsPrologue = _transformConfig.babelPlugins;
162
+ const pluginsEpilogue = hasPreprocessor ? [[process.env.PW_TEST_SOURCE_TRANSFORM]] : [];
163
+ const hash = calculateHash(originalCode, filename, !!moduleUrl, pluginsPrologue, pluginsEpilogue);
164
+ const {
165
+ cachedCode,
166
+ addToCache,
167
+ serializedCache
168
+ } = (0, _compilationCache.getFromCompilationCache)(filename, hash, moduleUrl);
169
+ if (cachedCode !== undefined) return {
170
+ code: cachedCode,
171
+ serializedCache
172
+ };
173
+
174
+ // We don't use any browserslist data, but babel checks it anyway.
175
+ // Silence the annoying warning.
176
+ process.env.BROWSERSLIST_IGNORE_OLD_DATA = 'true';
177
+ const {
178
+ babelTransform
179
+ } = require('./babelBundle');
180
+ transformData = new Map();
181
+ const {
182
+ code,
183
+ map
184
+ } = babelTransform(originalCode, filename, isTypeScript, !!moduleUrl, pluginsPrologue, pluginsEpilogue);
185
+ if (!code) return {
186
+ code: '',
187
+ serializedCache
188
+ };
189
+ const added = addToCache(code, map, transformData);
190
+ return {
191
+ code,
192
+ serializedCache: added.serializedCache
193
+ };
194
+ }
195
+ function calculateHash(content, filePath, isModule, pluginsPrologue, pluginsEpilogue) {
196
+ const hash = _crypto.default.createHash('sha1').update(isModule ? 'esm' : 'no_esm').update(content).update(filePath).update(version).update(pluginsPrologue.map(p => p[0]).join(',')).update(pluginsEpilogue.map(p => p[0]).join(',')).digest('hex');
197
+ return hash;
198
+ }
199
+ async function requireOrImport(file) {
200
+ installTransformIfNeeded();
201
+ const isModule = (0, _util.fileIsModule)(file);
202
+ const esmImport = () => eval(`import(${JSON.stringify(_url.default.pathToFileURL(file))})`);
203
+ if (isModule) return await esmImport();
204
+ const result = require(file);
205
+ const depsCollector = (0, _compilationCache.currentFileDepsCollector)();
206
+ if (depsCollector) {
207
+ const module = require.cache[file];
208
+ if (module) collectCJSDependencies(module, depsCollector);
209
+ }
210
+ return result;
211
+ }
212
+ let transformInstalled = false;
213
+ function installTransformIfNeeded() {
214
+ if (transformInstalled) return;
215
+ transformInstalled = true;
216
+ (0, _compilationCache.installSourceMapSupport)();
217
+ const originalResolveFilename = _module.default._resolveFilename;
218
+ function resolveFilename(specifier, parent, ...rest) {
219
+ if (parent) {
220
+ const resolved = resolveHook(parent.filename, specifier);
221
+ if (resolved !== undefined) specifier = resolved;
222
+ }
223
+ return originalResolveFilename.call(this, specifier, parent, ...rest);
224
+ }
225
+ _module.default._resolveFilename = resolveFilename;
226
+ _utilsBundle.pirates.addHook((code, filename) => {
227
+ if (!shouldTransform(filename)) return code;
228
+ return transformHook(code, filename).code;
229
+ }, {
230
+ exts: ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.mts', '.cjs', '.cts']
231
+ });
232
+ }
233
+ const collectCJSDependencies = (module, dependencies) => {
234
+ module.children.forEach(child => {
235
+ if (!(0, _compilationCache.belongsToNodeModules)(child.filename) && !dependencies.has(child.filename)) {
236
+ dependencies.add(child.filename);
237
+ collectCJSDependencies(child, dependencies);
238
+ }
239
+ });
240
+ };
241
+ function wrapFunctionWithLocation(func) {
242
+ return (...args) => {
243
+ const oldPrepareStackTrace = Error.prepareStackTrace;
244
+ Error.prepareStackTrace = (error, stackFrames) => {
245
+ const frame = _utilsBundle.sourceMapSupport.wrapCallSite(stackFrames[1]);
246
+ const fileName = frame.getFileName();
247
+ // Node error stacks for modules use file:// urls instead of paths.
248
+ const file = fileName && fileName.startsWith('file://') ? _url.default.fileURLToPath(fileName) : fileName;
249
+ return {
250
+ file,
251
+ line: frame.getLineNumber(),
252
+ column: frame.getColumnNumber()
253
+ };
254
+ };
255
+ const oldStackTraceLimit = Error.stackTraceLimit;
256
+ Error.stackTraceLimit = 2;
257
+ const obj = {};
258
+ Error.captureStackTrace(obj);
259
+ const location = obj.stack;
260
+ Error.stackTraceLimit = oldStackTraceLimit;
261
+ Error.prepareStackTrace = oldPrepareStackTrace;
262
+ return func(location, ...args);
263
+ };
264
+ }
265
+ function isRelativeSpecifier(specifier) {
266
+ return specifier === '.' || specifier === '..' || specifier.startsWith('./') || specifier.startsWith('../');
267
+ }
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.addSuffixToFilePath = addSuffixToFilePath;
7
+ exports.callLogText = void 0;
8
+ exports.createFileFiltersFromArguments = createFileFiltersFromArguments;
9
+ exports.createFileMatcher = createFileMatcher;
10
+ exports.createFileMatcherFromArguments = createFileMatcherFromArguments;
11
+ exports.createTitleMatcher = createTitleMatcher;
12
+ exports.debugTest = void 0;
13
+ exports.errorWithFile = errorWithFile;
14
+ exports.expectTypes = expectTypes;
15
+ exports.fileIsModule = fileIsModule;
16
+ exports.filterStackFile = filterStackFile;
17
+ exports.filterStackTrace = filterStackTrace;
18
+ exports.filteredStackTrace = filteredStackTrace;
19
+ exports.forceRegExp = forceRegExp;
20
+ exports.formatLocation = formatLocation;
21
+ exports.getContainedPath = getContainedPath;
22
+ exports.getPackageJsonPath = getPackageJsonPath;
23
+ exports.mergeObjects = mergeObjects;
24
+ exports.normalizeAndSaveAttachment = normalizeAndSaveAttachment;
25
+ exports.relativeFilePath = relativeFilePath;
26
+ exports.resolveImportSpecifierAfterMapping = resolveImportSpecifierAfterMapping;
27
+ exports.resolveReporterOutputPath = resolveReporterOutputPath;
28
+ exports.sanitizeFilePathBeforeExtension = sanitizeFilePathBeforeExtension;
29
+ exports.serializeError = serializeError;
30
+ exports.trimLongString = trimLongString;
31
+ exports.windowsFilesystemFriendlyLength = void 0;
32
+ var _fs = _interopRequireDefault(require("fs"));
33
+ var _util = _interopRequireDefault(require("util"));
34
+ var _path = _interopRequireDefault(require("path"));
35
+ var _url = _interopRequireDefault(require("url"));
36
+ var _utilsBundle = require("playwright-core/lib/utilsBundle");
37
+ var _utils = require("playwright-core/lib/utils");
38
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
+ /**
40
+ * Copyright (c) Microsoft Corporation.
41
+ *
42
+ * Licensed under the Apache License, Version 2.0 (the "License");
43
+ * you may not use this file except in compliance with the License.
44
+ * You may obtain a copy of the License at
45
+ *
46
+ * http://www.apache.org/licenses/LICENSE-2.0
47
+ *
48
+ * Unless required by applicable law or agreed to in writing, software
49
+ * distributed under the License is distributed on an "AS IS" BASIS,
50
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
51
+ * See the License for the specific language governing permissions and
52
+ * limitations under the License.
53
+ */
54
+
55
+ const PLAYWRIGHT_TEST_PATH = _path.default.join(__dirname, '..');
56
+ const PLAYWRIGHT_CORE_PATH = _path.default.dirname(require.resolve('playwright-core/package.json'));
57
+ function filterStackTrace(e) {
58
+ var _e$stack;
59
+ const name = e.name ? e.name + ': ' : '';
60
+ if (process.env.PWDEBUGIMPL) return {
61
+ message: name + e.message,
62
+ stack: e.stack || ''
63
+ };
64
+ const stackLines = (0, _utils.stringifyStackFrames)(filteredStackTrace(((_e$stack = e.stack) === null || _e$stack === void 0 ? void 0 : _e$stack.split('\n')) || []));
65
+ return {
66
+ message: name + e.message,
67
+ stack: `${name}${e.message}${stackLines.map(line => '\n' + line).join('')}`
68
+ };
69
+ }
70
+ function filterStackFile(file) {
71
+ if (!process.env.PWDEBUGIMPL && file.startsWith(PLAYWRIGHT_TEST_PATH)) return false;
72
+ if (!process.env.PWDEBUGIMPL && file.startsWith(PLAYWRIGHT_CORE_PATH)) return false;
73
+ return true;
74
+ }
75
+ function filteredStackTrace(rawStack) {
76
+ const frames = [];
77
+ for (const line of rawStack) {
78
+ const frame = (0, _utilsBundle.parseStackTraceLine)(line);
79
+ if (!frame || !frame.file) continue;
80
+ if (!filterStackFile(frame.file)) continue;
81
+ frames.push(frame);
82
+ }
83
+ return frames;
84
+ }
85
+ function serializeError(error) {
86
+ if (error instanceof Error) return filterStackTrace(error);
87
+ return {
88
+ value: _util.default.inspect(error)
89
+ };
90
+ }
91
+ function createFileFiltersFromArguments(args) {
92
+ return args.map(arg => {
93
+ const match = /^(.*?):(\d+):?(\d+)?$/.exec(arg);
94
+ return {
95
+ re: forceRegExp(match ? match[1] : arg),
96
+ line: match ? parseInt(match[2], 10) : null,
97
+ column: match !== null && match !== void 0 && match[3] ? parseInt(match[3], 10) : null
98
+ };
99
+ });
100
+ }
101
+ function createFileMatcherFromArguments(args) {
102
+ const filters = createFileFiltersFromArguments(args);
103
+ return createFileMatcher(filters.map(filter => filter.re || filter.exact || ''));
104
+ }
105
+ function createFileMatcher(patterns) {
106
+ const reList = [];
107
+ const filePatterns = [];
108
+ for (const pattern of Array.isArray(patterns) ? patterns : [patterns]) {
109
+ if ((0, _utils.isRegExp)(pattern)) {
110
+ reList.push(pattern);
111
+ } else {
112
+ if (!pattern.startsWith('**/')) filePatterns.push('**/' + pattern);else filePatterns.push(pattern);
113
+ }
114
+ }
115
+ return filePath => {
116
+ for (const re of reList) {
117
+ re.lastIndex = 0;
118
+ if (re.test(filePath)) return true;
119
+ }
120
+ // Windows might still receive unix style paths from Cygwin or Git Bash.
121
+ // Check against the file url as well.
122
+ if (_path.default.sep === '\\') {
123
+ const fileURL = _url.default.pathToFileURL(filePath).href;
124
+ for (const re of reList) {
125
+ re.lastIndex = 0;
126
+ if (re.test(fileURL)) return true;
127
+ }
128
+ }
129
+ for (const pattern of filePatterns) {
130
+ if ((0, _utilsBundle.minimatch)(filePath, pattern, {
131
+ nocase: true,
132
+ dot: true
133
+ })) return true;
134
+ }
135
+ return false;
136
+ };
137
+ }
138
+ function createTitleMatcher(patterns) {
139
+ const reList = Array.isArray(patterns) ? patterns : [patterns];
140
+ return value => {
141
+ for (const re of reList) {
142
+ re.lastIndex = 0;
143
+ if (re.test(value)) return true;
144
+ }
145
+ return false;
146
+ };
147
+ }
148
+ function mergeObjects(a, b, c) {
149
+ const result = {
150
+ ...a
151
+ };
152
+ for (const x of [b, c].filter(Boolean)) {
153
+ for (const [name, value] of Object.entries(x)) {
154
+ if (!Object.is(value, undefined)) result[name] = value;
155
+ }
156
+ }
157
+ return result;
158
+ }
159
+ function forceRegExp(pattern) {
160
+ const match = pattern.match(/^\/(.*)\/([gi]*)$/);
161
+ if (match) return new RegExp(match[1], match[2]);
162
+ return new RegExp(pattern, 'gi');
163
+ }
164
+ function relativeFilePath(file) {
165
+ if (!_path.default.isAbsolute(file)) return file;
166
+ return _path.default.relative(process.cwd(), file);
167
+ }
168
+ function formatLocation(location) {
169
+ return relativeFilePath(location.file) + ':' + location.line + ':' + location.column;
170
+ }
171
+ function errorWithFile(file, message) {
172
+ return new Error(`${relativeFilePath(file)}: ${message}`);
173
+ }
174
+ function expectTypes(receiver, types, matcherName) {
175
+ if (typeof receiver !== 'object' || !types.includes(receiver.constructor.name)) {
176
+ const commaSeparated = types.slice();
177
+ const lastType = commaSeparated.pop();
178
+ const typesString = commaSeparated.length ? commaSeparated.join(', ') + ' or ' + lastType : lastType;
179
+ throw new Error(`${matcherName} can be only used with ${typesString} object${types.length > 1 ? 's' : ''}`);
180
+ }
181
+ }
182
+ const windowsFilesystemFriendlyLength = exports.windowsFilesystemFriendlyLength = 60;
183
+ function trimLongString(s, length = 100) {
184
+ if (s.length <= length) return s;
185
+ const hash = (0, _utils.calculateSha1)(s);
186
+ const middle = `-${hash.substring(0, 5)}-`;
187
+ const start = Math.floor((length - middle.length) / 2);
188
+ const end = length - middle.length - start;
189
+ return s.substring(0, start) + middle + s.slice(-end);
190
+ }
191
+ function addSuffixToFilePath(filePath, suffix) {
192
+ const ext = _path.default.extname(filePath);
193
+ const base = filePath.substring(0, filePath.length - ext.length);
194
+ return base + suffix + ext;
195
+ }
196
+ function sanitizeFilePathBeforeExtension(filePath) {
197
+ const ext = _path.default.extname(filePath);
198
+ const base = filePath.substring(0, filePath.length - ext.length);
199
+ return (0, _utils.sanitizeForFilePath)(base) + ext;
200
+ }
201
+
202
+ /**
203
+ * Returns absolute path contained within parent directory.
204
+ */
205
+ function getContainedPath(parentPath, subPath = '') {
206
+ const resolvedPath = _path.default.resolve(parentPath, subPath);
207
+ if (resolvedPath === parentPath || resolvedPath.startsWith(parentPath + _path.default.sep)) return resolvedPath;
208
+ return null;
209
+ }
210
+ const debugTest = exports.debugTest = (0, _utilsBundle.debug)('pw:test');
211
+ const callLogText = exports.callLogText = _utils.formatCallLog;
212
+ const folderToPackageJsonPath = new Map();
213
+ function getPackageJsonPath(folderPath) {
214
+ const cached = folderToPackageJsonPath.get(folderPath);
215
+ if (cached !== undefined) return cached;
216
+ const packageJsonPath = _path.default.join(folderPath, 'package.json');
217
+ if (_fs.default.existsSync(packageJsonPath)) {
218
+ folderToPackageJsonPath.set(folderPath, packageJsonPath);
219
+ return packageJsonPath;
220
+ }
221
+ const parentFolder = _path.default.dirname(folderPath);
222
+ if (folderPath === parentFolder) {
223
+ folderToPackageJsonPath.set(folderPath, '');
224
+ return '';
225
+ }
226
+ const result = getPackageJsonPath(parentFolder);
227
+ folderToPackageJsonPath.set(folderPath, result);
228
+ return result;
229
+ }
230
+ function resolveReporterOutputPath(defaultValue, configDir, configValue) {
231
+ if (configValue) return _path.default.resolve(configDir, configValue);
232
+ let basePath = getPackageJsonPath(configDir);
233
+ basePath = basePath ? _path.default.dirname(basePath) : process.cwd();
234
+ return _path.default.resolve(basePath, defaultValue);
235
+ }
236
+ async function normalizeAndSaveAttachment(outputPath, name, options = {}) {
237
+ if (options.path === undefined && options.body === undefined) return {
238
+ name,
239
+ contentType: 'text/plain'
240
+ };
241
+ if ((options.path !== undefined ? 1 : 0) + (options.body !== undefined ? 1 : 0) !== 1) throw new Error(`Exactly one of "path" and "body" must be specified`);
242
+ if (options.path !== undefined) {
243
+ var _options$contentType;
244
+ const hash = (0, _utils.calculateSha1)(options.path);
245
+ if (!(0, _utils.isString)(name)) throw new Error('"name" should be string.');
246
+ const sanitizedNamePrefix = (0, _utils.sanitizeForFilePath)(name) + '-';
247
+ const dest = _path.default.join(outputPath, 'attachments', sanitizedNamePrefix + hash + _path.default.extname(options.path));
248
+ await _fs.default.promises.mkdir(_path.default.dirname(dest), {
249
+ recursive: true
250
+ });
251
+ await _fs.default.promises.copyFile(options.path, dest);
252
+ const contentType = (_options$contentType = options.contentType) !== null && _options$contentType !== void 0 ? _options$contentType : _utilsBundle.mime.getType(_path.default.basename(options.path)) || 'application/octet-stream';
253
+ return {
254
+ name,
255
+ contentType,
256
+ path: dest
257
+ };
258
+ } else {
259
+ var _options$contentType2;
260
+ const contentType = (_options$contentType2 = options.contentType) !== null && _options$contentType2 !== void 0 ? _options$contentType2 : typeof options.body === 'string' ? 'text/plain' : 'application/octet-stream';
261
+ return {
262
+ name,
263
+ contentType,
264
+ body: typeof options.body === 'string' ? Buffer.from(options.body) : options.body
265
+ };
266
+ }
267
+ }
268
+ function fileIsModule(file) {
269
+ if (file.endsWith('.mjs') || file.endsWith('.mts')) return true;
270
+ if (file.endsWith('.cjs') || file.endsWith('.cts')) return false;
271
+ const folder = _path.default.dirname(file);
272
+ return folderIsModule(folder);
273
+ }
274
+ function folderIsModule(folder) {
275
+ const packageJsonPath = getPackageJsonPath(folder);
276
+ if (!packageJsonPath) return false;
277
+ // Rely on `require` internal caching logic.
278
+ return require(packageJsonPath).type === 'module';
279
+ }
280
+ const packageJsonMainFieldCache = new Map();
281
+ function getMainFieldFromPackageJson(packageJsonPath) {
282
+ if (!packageJsonMainFieldCache.has(packageJsonPath)) {
283
+ let mainField;
284
+ try {
285
+ mainField = JSON.parse(_fs.default.readFileSync(packageJsonPath, 'utf8')).main;
286
+ } catch {}
287
+ packageJsonMainFieldCache.set(packageJsonPath, mainField);
288
+ }
289
+ return packageJsonMainFieldCache.get(packageJsonPath);
290
+ }
291
+
292
+ // This method performs "file extension subsitution" to find the ts, js or similar source file
293
+ // based on the import specifier, which might or might not have an extension. See TypeScript docs:
294
+ // https://www.typescriptlang.org/docs/handbook/modules/reference.html#file-extension-substitution.
295
+ const kExtLookups = new Map([['.js', ['.jsx', '.ts', '.tsx']], ['.jsx', ['.tsx']], ['.cjs', ['.cts']], ['.mjs', ['.mts']], ['', ['.js', '.ts', '.jsx', '.tsx', '.cjs', '.mjs', '.cts', '.mts']]]);
296
+ function resolveImportSpecifierExtension(resolved) {
297
+ if (fileExists(resolved)) return resolved;
298
+ for (const [ext, others] of kExtLookups) {
299
+ if (!resolved.endsWith(ext)) continue;
300
+ for (const other of others) {
301
+ const modified = resolved.substring(0, resolved.length - ext.length) + other;
302
+ if (fileExists(modified)) return modified;
303
+ }
304
+ break; // Do not try '' when a more specific extension like '.jsx' matched.
305
+ }
306
+ }
307
+
308
+ // This method resolves directory imports and performs "file extension subsitution".
309
+ // It is intended to be called after the path mapping resolution.
310
+ //
311
+ // Directory imports follow the --moduleResolution=bundler strategy from tsc.
312
+ // https://www.typescriptlang.org/docs/handbook/modules/reference.html#directory-modules-index-file-resolution
313
+ // https://www.typescriptlang.org/docs/handbook/modules/reference.html#bundler
314
+ //
315
+ // See also Node.js "folder as module" behavior:
316
+ // https://nodejs.org/dist/latest-v20.x/docs/api/modules.html#folders-as-modules.
317
+ function resolveImportSpecifierAfterMapping(resolved, afterPathMapping) {
318
+ const resolvedFile = resolveImportSpecifierExtension(resolved);
319
+ if (resolvedFile) return resolvedFile;
320
+ if (dirExists(resolved)) {
321
+ const packageJsonPath = _path.default.join(resolved, 'package.json');
322
+ if (afterPathMapping) {
323
+ // Most notably, the module resolution algorithm is not performed after the path mapping.
324
+ // This means no node_modules lookup or package.json#exports.
325
+ //
326
+ // Only the "folder as module" Node.js behavior is respected:
327
+ // - consult `package.json#main`;
328
+ // - look for `index.js` or similar.
329
+ const mainField = getMainFieldFromPackageJson(packageJsonPath);
330
+ const mainFieldResolved = mainField ? resolveImportSpecifierExtension(_path.default.resolve(resolved, mainField)) : undefined;
331
+ return mainFieldResolved || resolveImportSpecifierExtension(_path.default.join(resolved, 'index'));
332
+ }
333
+
334
+ // If we import a package, let Node.js figure out the correct import based on package.json.
335
+ // This also covers the "main" field for "folder as module".
336
+ if (fileExists(packageJsonPath)) return resolved;
337
+
338
+ // Implement the "folder as module" Node.js behavior.
339
+ // Note that we do not delegate to Node.js, because we support this for ESM as well,
340
+ // following the TypeScript "bundler" mode.
341
+ const dirImport = _path.default.join(resolved, 'index');
342
+ return resolveImportSpecifierExtension(dirImport);
343
+ }
344
+ }
345
+ function fileExists(resolved) {
346
+ var _fs$statSync;
347
+ return (_fs$statSync = _fs.default.statSync(resolved, {
348
+ throwIfNoEntry: false
349
+ })) === null || _fs$statSync === void 0 ? void 0 : _fs$statSync.isFile();
350
+ }
351
+ function dirExists(resolved) {
352
+ var _fs$statSync2;
353
+ return (_fs$statSync2 = _fs.default.statSync(resolved, {
354
+ throwIfNoEntry: false
355
+ })) === null || _fs$statSync2 === void 0 ? void 0 : _fs$statSync2.isDirectory();
356
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.stoppable = exports.sourceMapSupport = exports.pirates = exports.json5 = exports.enquirer = exports.chokidar = void 0;
7
+ /**
8
+ * Copyright (c) Microsoft Corporation.
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+
23
+ const json5 = exports.json5 = require('./utilsBundleImpl').json5;
24
+ const pirates = exports.pirates = require('./utilsBundleImpl').pirates;
25
+ const sourceMapSupport = exports.sourceMapSupport = require('./utilsBundleImpl').sourceMapSupport;
26
+ const stoppable = exports.stoppable = require('./utilsBundleImpl').stoppable;
27
+ const enquirer = exports.enquirer = require('./utilsBundleImpl').enquirer;
28
+ const chokidar = exports.chokidar = require('./utilsBundleImpl').chokidar;