@samchon/ts-patch 3.2.2-dev.20241204-2 → 3.4.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 (1377) hide show
  1. package/.editorconfig +371 -0
  2. package/.gitattributes +2 -0
  3. package/.github/FUNDING.yml +1 -0
  4. package/.github/workflows/build.yml +49 -0
  5. package/.github/workflows/publish.yml +47 -0
  6. package/.idea/codeStyles/Project.xml +28 -0
  7. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  8. package/.idea/compiler.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +98 -0
  10. package/.idea/jsonSchemas.xml +28 -0
  11. package/.idea/misc.xml +9 -0
  12. package/.idea/modules.xml +8 -0
  13. package/.idea/ts-patch.iml +22 -0
  14. package/.idea/vcs.xml +12 -0
  15. package/.idea/webResources.xml +15 -0
  16. package/CHANGELOG.md +7 -0
  17. package/dist/CHANGELOG.md +275 -0
  18. package/dist/LICENSE.md +13 -0
  19. package/dist/README.md +348 -0
  20. package/dist/actions/check.js +53 -0
  21. package/dist/actions/check.js.map +1 -0
  22. package/dist/actions/patch.js +88 -0
  23. package/dist/actions/patch.js.map +1 -0
  24. package/dist/actions/unpatch.js +87 -0
  25. package/dist/actions/unpatch.js.map +1 -0
  26. package/dist/bin/ts-patch.js +43 -0
  27. package/dist/bin/ts-patch.js.map +1 -0
  28. package/dist/cli/cli.js +106 -0
  29. package/dist/cli/cli.js.map +1 -0
  30. package/dist/cli/commands.js +49 -0
  31. package/dist/cli/commands.js.map +1 -0
  32. package/dist/config.js +50 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/module/module-file.d.ts +10 -0
  35. package/dist/module/module-file.js +102 -0
  36. package/dist/module/module-file.js.map +1 -0
  37. package/dist/module/ts-module.d.ts +40 -0
  38. package/dist/module/ts-module.js +131 -0
  39. package/dist/module/ts-module.js.map +1 -0
  40. package/dist/node_modules/.bin/resolve +15 -0
  41. package/dist/node_modules/.bin/resolve.cmd +7 -0
  42. package/dist/node_modules/.bin/semver +15 -0
  43. package/dist/node_modules/.bin/semver.cmd +7 -0
  44. package/dist/package.json +106 -0
  45. package/dist/patch/get-patched-source.js +69 -0
  46. package/dist/patch/get-patched-source.js.map +1 -0
  47. package/dist/patch/transformers/fix-ts-early-return.js +61 -0
  48. package/dist/patch/transformers/fix-ts-early-return.js.map +1 -0
  49. package/dist/resources/module-patch.js +623 -0
  50. package/dist/system/cache.js +79 -0
  51. package/dist/system/cache.js.map +1 -0
  52. package/dist/utils/file-utils.js +98 -0
  53. package/dist/utils/file-utils.js.map +1 -0
  54. package/jest.config.ts +26 -0
  55. package/package.json +60 -11
  56. package/projects/core/plugin.ts +42 -0
  57. package/projects/core/resolver-hook.js +55 -0
  58. package/projects/core/shared/plugin-types.ts +159 -0
  59. package/projects/core/src/actions/check.ts +79 -0
  60. package/projects/core/src/actions/index.ts +5 -0
  61. package/projects/core/src/actions/install.ts +23 -0
  62. package/projects/core/src/actions/patch.ts +110 -0
  63. package/projects/core/src/actions/uninstall.ts +24 -0
  64. package/projects/core/src/actions/unpatch.ts +109 -0
  65. package/projects/core/src/bin/ts-patch.ts +7 -0
  66. package/projects/core/src/bin/tspc.ts +12 -0
  67. package/projects/core/src/cli/cli.ts +94 -0
  68. package/projects/core/src/cli/commands.ts +55 -0
  69. package/projects/core/src/cli/help-menu.ts +48 -0
  70. package/projects/core/src/cli/options.ts +83 -0
  71. package/projects/core/src/compiler/package.json +4 -0
  72. package/projects/core/src/compiler/tsc.js +19 -0
  73. package/projects/core/src/compiler/tsserver.js +19 -0
  74. package/projects/core/src/compiler/tsserverlibrary.js +19 -0
  75. package/projects/core/src/compiler/typescript.js +19 -0
  76. package/projects/core/src/config.ts +65 -0
  77. package/projects/core/src/index.ts +4 -0
  78. package/projects/core/src/module/get-live-module.ts +25 -0
  79. package/projects/core/src/module/index.ts +4 -0
  80. package/projects/core/src/module/module-file.ts +127 -0
  81. package/projects/core/src/module/module-source.ts +59 -0
  82. package/projects/core/src/module/source-section.ts +110 -0
  83. package/projects/core/src/module/ts-module.ts +187 -0
  84. package/projects/core/src/options.ts +55 -0
  85. package/projects/core/src/patch/get-patched-source.ts +85 -0
  86. package/projects/core/src/patch/patch-detail.ts +106 -0
  87. package/projects/core/src/patch/patch-module.ts +213 -0
  88. package/projects/core/src/patch/transformers/add-original-create-program.ts +129 -0
  89. package/projects/core/src/patch/transformers/fix-ts-early-return.ts +46 -0
  90. package/projects/core/src/patch/transformers/hook-tsc-exec.ts +52 -0
  91. package/projects/core/src/patch/transformers/index.ts +6 -0
  92. package/projects/core/src/patch/transformers/merge-statements.ts +61 -0
  93. package/projects/core/src/patch/transformers/patch-create-program.ts +68 -0
  94. package/projects/core/src/patch/transformers/patch-emitter.ts +75 -0
  95. package/projects/core/src/slice/module-slice.ts +59 -0
  96. package/projects/core/src/slice/ts54.ts +79 -0
  97. package/projects/core/src/slice/ts55.ts +80 -0
  98. package/projects/core/src/slice/ts552.ts +80 -0
  99. package/projects/core/src/system/cache.ts +48 -0
  100. package/projects/core/src/system/errors.ts +39 -0
  101. package/projects/core/src/system/index.ts +4 -0
  102. package/projects/core/src/system/logger.ts +53 -0
  103. package/projects/core/src/system/types.ts +11 -0
  104. package/projects/core/src/ts-package.ts +99 -0
  105. package/projects/core/src/utils/file-utils.ts +104 -0
  106. package/projects/core/src/utils/find-cache-dir.ts +122 -0
  107. package/projects/core/src/utils/general.ts +24 -0
  108. package/projects/core/src/utils/index.ts +3 -0
  109. package/projects/core/tsconfig.json +20 -0
  110. package/projects/patch/package.json +8 -0
  111. package/projects/patch/plugin.ts +128 -0
  112. package/projects/patch/src/plugin/esm-intercept.ts +141 -0
  113. package/projects/patch/src/plugin/plugin-creator.ts +254 -0
  114. package/projects/patch/src/plugin/plugin.ts +193 -0
  115. package/projects/patch/src/plugin/register-plugin.ts +141 -0
  116. package/projects/patch/src/shared.ts +59 -0
  117. package/projects/patch/src/ts/create-program.ts +156 -0
  118. package/projects/patch/src/ts/shim.ts +43 -0
  119. package/projects/patch/src/types/plugin-types.ts +51 -0
  120. package/projects/patch/src/types/typescript.ts +11 -0
  121. package/projects/patch/tsconfig.json +34 -0
  122. package/scripts/postbuild.js +66 -0
  123. package/test/.yarnrc +1 -0
  124. package/test/assets/projects/main/package.json +5 -0
  125. package/test/assets/projects/main/src/index.ts +0 -0
  126. package/test/assets/projects/main/tsconfig.json +16 -0
  127. package/test/assets/projects/package-config/plugin/package.json +8 -0
  128. package/test/assets/projects/package-config/plugin/plugin.js +9 -0
  129. package/test/assets/projects/package-config/plugin/transformers/transformer1.js +28 -0
  130. package/test/assets/projects/package-config/plugin/transformers/transformer2.js +22 -0
  131. package/test/assets/projects/package-config/run-transform.js +72 -0
  132. package/test/assets/projects/package-config/src/index.ts +6 -0
  133. package/test/assets/projects/package-config/tsconfig.json +13 -0
  134. package/test/assets/projects/path-mapping/base.ts +1 -0
  135. package/test/assets/projects/path-mapping/package.json +8 -0
  136. package/test/assets/projects/path-mapping/src/a/a.ts +1 -0
  137. package/test/assets/projects/path-mapping/src/b.ts +1 -0
  138. package/test/assets/projects/path-mapping/src/index.ts +29 -0
  139. package/test/assets/projects/path-mapping/tsconfig.json +18 -0
  140. package/test/assets/projects/path-mapping/tsconfig.plugin.json +15 -0
  141. package/test/assets/projects/transform/package.json +9 -0
  142. package/test/assets/projects/transform/run-transform.js +56 -0
  143. package/test/assets/projects/transform/src/index.ts +4 -0
  144. package/test/assets/projects/transform/transformers/cjs/js-plugin.cjs +19 -0
  145. package/test/assets/projects/transform/transformers/cjs/package.json +3 -0
  146. package/test/assets/projects/transform/transformers/cjs/plugin.cts +17 -0
  147. package/test/assets/projects/transform/transformers/cjs/tsconfig.json +7 -0
  148. package/test/assets/projects/transform/transformers/esm/js-plugin.mjs +17 -0
  149. package/test/assets/projects/transform/transformers/esm/package.json +3 -0
  150. package/test/assets/projects/transform/transformers/esm/plugin.mts +19 -0
  151. package/test/assets/projects/transform/transformers/esm/plugin.ts +19 -0
  152. package/test/assets/projects/transform/transformers/esm/tsconfig.json +7 -0
  153. package/test/assets/projects/transform/tsconfig.cjs.json +12 -0
  154. package/test/assets/projects/transform/tsconfig.cts.json +12 -0
  155. package/test/assets/projects/transform/tsconfig.json +9 -0
  156. package/test/assets/projects/transform/tsconfig.mjs.json +12 -0
  157. package/test/assets/projects/transform/tsconfig.mts.json +11 -0
  158. package/test/assets/projects/transform/tsconfig.ts.json +11 -0
  159. package/test/assets/projects/webpack/esm-plugin.mjs +5 -0
  160. package/test/assets/projects/webpack/esm-plugin.mts +5 -0
  161. package/test/assets/projects/webpack/hide-module.js +24 -0
  162. package/test/assets/projects/webpack/package.json +14 -0
  163. package/test/assets/projects/webpack/plugin.ts +7 -0
  164. package/test/assets/projects/webpack/src/index.ts +0 -0
  165. package/test/assets/projects/webpack/tsconfig.esm.json +8 -0
  166. package/test/assets/projects/webpack/tsconfig.esmts.json +8 -0
  167. package/test/assets/projects/webpack/tsconfig.json +14 -0
  168. package/test/assets/projects/webpack/webpack.config.js +24 -0
  169. package/test/node_modules/.bin/acorn +15 -0
  170. package/test/node_modules/.bin/acorn.cmd +7 -0
  171. package/test/node_modules/.bin/json5 +15 -0
  172. package/test/node_modules/.bin/json5.cmd +7 -0
  173. package/test/node_modules/.bin/node-which +15 -0
  174. package/test/node_modules/.bin/node-which.cmd +7 -0
  175. package/test/node_modules/.bin/resolve +15 -0
  176. package/test/node_modules/.bin/resolve.cmd +7 -0
  177. package/test/node_modules/.bin/semver +15 -0
  178. package/test/node_modules/.bin/semver.cmd +7 -0
  179. package/test/node_modules/.bin/ts-node +15 -0
  180. package/test/node_modules/.bin/ts-node-cwd +15 -0
  181. package/test/node_modules/.bin/ts-node-cwd.cmd +7 -0
  182. package/test/node_modules/.bin/ts-node-esm +15 -0
  183. package/test/node_modules/.bin/ts-node-esm.cmd +7 -0
  184. package/test/node_modules/.bin/ts-node-script +15 -0
  185. package/test/node_modules/.bin/ts-node-script.cmd +7 -0
  186. package/test/node_modules/.bin/ts-node-transpile-only +15 -0
  187. package/test/node_modules/.bin/ts-node-transpile-only.cmd +7 -0
  188. package/test/node_modules/.bin/ts-node.cmd +7 -0
  189. package/test/node_modules/.bin/ts-script +15 -0
  190. package/test/node_modules/.bin/ts-script.cmd +7 -0
  191. package/test/node_modules/.bin/tsc +15 -0
  192. package/test/node_modules/.bin/tsc.cmd +7 -0
  193. package/test/node_modules/.bin/tsserver +15 -0
  194. package/test/node_modules/.bin/tsserver.cmd +7 -0
  195. package/test/node_modules/.yarn-integrity +73 -0
  196. package/test/node_modules/@cspotcode/source-map-support/LICENSE.md +21 -0
  197. package/test/node_modules/@cspotcode/source-map-support/README.md +289 -0
  198. package/test/node_modules/@cspotcode/source-map-support/browser-source-map-support.js +114 -0
  199. package/test/node_modules/@cspotcode/source-map-support/package.json +50 -0
  200. package/test/node_modules/@cspotcode/source-map-support/register-hook-require.d.ts +7 -0
  201. package/test/node_modules/@cspotcode/source-map-support/register-hook-require.js +3 -0
  202. package/test/node_modules/@cspotcode/source-map-support/register.d.ts +7 -0
  203. package/test/node_modules/@cspotcode/source-map-support/register.js +1 -0
  204. package/test/node_modules/@cspotcode/source-map-support/source-map-support.d.ts +76 -0
  205. package/test/node_modules/@cspotcode/source-map-support/source-map-support.js +938 -0
  206. package/test/node_modules/@jridgewell/resolve-uri/LICENSE +19 -0
  207. package/test/node_modules/@jridgewell/resolve-uri/README.md +40 -0
  208. package/test/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs +232 -0
  209. package/test/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +1 -0
  210. package/test/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +240 -0
  211. package/test/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +1 -0
  212. package/test/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts +4 -0
  213. package/test/node_modules/@jridgewell/resolve-uri/package.json +69 -0
  214. package/test/node_modules/@jridgewell/sourcemap-codec/LICENSE +19 -0
  215. package/test/node_modules/@jridgewell/sourcemap-codec/README.md +264 -0
  216. package/test/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +423 -0
  217. package/test/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +6 -0
  218. package/test/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +464 -0
  219. package/test/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +6 -0
  220. package/test/node_modules/@jridgewell/sourcemap-codec/package.json +63 -0
  221. package/test/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts +345 -0
  222. package/test/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts +111 -0
  223. package/test/node_modules/@jridgewell/sourcemap-codec/src/strings.ts +65 -0
  224. package/test/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts +55 -0
  225. package/test/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts +50 -0
  226. package/test/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map +1 -0
  227. package/test/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts +50 -0
  228. package/test/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map +1 -0
  229. package/test/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts +9 -0
  230. package/test/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map +1 -0
  231. package/test/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts +9 -0
  232. package/test/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map +1 -0
  233. package/test/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts +16 -0
  234. package/test/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map +1 -0
  235. package/test/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts +16 -0
  236. package/test/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map +1 -0
  237. package/test/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts +7 -0
  238. package/test/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map +1 -0
  239. package/test/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts +7 -0
  240. package/test/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map +1 -0
  241. package/test/node_modules/@jridgewell/trace-mapping/LICENSE +19 -0
  242. package/test/node_modules/@jridgewell/trace-mapping/README.md +193 -0
  243. package/test/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +514 -0
  244. package/test/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +1 -0
  245. package/test/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +528 -0
  246. package/test/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +1 -0
  247. package/test/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +8 -0
  248. package/test/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +32 -0
  249. package/test/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +7 -0
  250. package/test/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +1 -0
  251. package/test/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts +2 -0
  252. package/test/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
  253. package/test/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts +4 -0
  254. package/test/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +70 -0
  255. package/test/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +85 -0
  256. package/test/node_modules/@jridgewell/trace-mapping/package.json +70 -0
  257. package/test/node_modules/@tsconfig/node10/LICENSE +21 -0
  258. package/test/node_modules/@tsconfig/node10/README.md +38 -0
  259. package/test/node_modules/@tsconfig/node10/package.json +15 -0
  260. package/test/node_modules/@tsconfig/node10/tsconfig.json +14 -0
  261. package/test/node_modules/@tsconfig/node12/LICENSE +21 -0
  262. package/test/node_modules/@tsconfig/node12/README.md +40 -0
  263. package/test/node_modules/@tsconfig/node12/package.json +1 -0
  264. package/test/node_modules/@tsconfig/node12/tsconfig.json +16 -0
  265. package/test/node_modules/@tsconfig/node14/LICENSE +21 -0
  266. package/test/node_modules/@tsconfig/node14/README.md +40 -0
  267. package/test/node_modules/@tsconfig/node14/package.json +1 -0
  268. package/test/node_modules/@tsconfig/node14/tsconfig.json +16 -0
  269. package/test/node_modules/@tsconfig/node16/LICENSE +21 -0
  270. package/test/node_modules/@tsconfig/node16/README.md +40 -0
  271. package/test/node_modules/@tsconfig/node16/package.json +15 -0
  272. package/test/node_modules/@tsconfig/node16/tsconfig.json +16 -0
  273. package/test/node_modules/@types/fs-extra/LICENSE +21 -0
  274. package/test/node_modules/@types/fs-extra/README.md +16 -0
  275. package/test/node_modules/@types/fs-extra/index.d.ts +563 -0
  276. package/test/node_modules/@types/fs-extra/package.json +67 -0
  277. package/test/node_modules/@types/node/LICENSE +21 -0
  278. package/test/node_modules/@types/node/README.md +15 -0
  279. package/test/node_modules/@types/node/assert/strict.d.ts +105 -0
  280. package/test/node_modules/@types/node/assert.d.ts +955 -0
  281. package/test/node_modules/@types/node/async_hooks.d.ts +623 -0
  282. package/test/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  283. package/test/node_modules/@types/node/buffer.d.ts +1810 -0
  284. package/test/node_modules/@types/node/child_process.d.ts +1433 -0
  285. package/test/node_modules/@types/node/cluster.d.ts +486 -0
  286. package/test/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  287. package/test/node_modules/@types/node/console.d.ts +151 -0
  288. package/test/node_modules/@types/node/constants.d.ts +20 -0
  289. package/test/node_modules/@types/node/crypto.d.ts +4065 -0
  290. package/test/node_modules/@types/node/dgram.d.ts +564 -0
  291. package/test/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  292. package/test/node_modules/@types/node/dns/promises.d.ts +503 -0
  293. package/test/node_modules/@types/node/dns.d.ts +922 -0
  294. package/test/node_modules/@types/node/domain.d.ts +166 -0
  295. package/test/node_modules/@types/node/events.d.ts +1047 -0
  296. package/test/node_modules/@types/node/fs/promises.d.ts +1329 -0
  297. package/test/node_modules/@types/node/fs.d.ts +4678 -0
  298. package/test/node_modules/@types/node/globals.d.ts +150 -0
  299. package/test/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  300. package/test/node_modules/@types/node/http.d.ts +2188 -0
  301. package/test/node_modules/@types/node/http2.d.ts +2480 -0
  302. package/test/node_modules/@types/node/https.d.ts +405 -0
  303. package/test/node_modules/@types/node/index.d.ts +115 -0
  304. package/test/node_modules/@types/node/inspector/promises.d.ts +41 -0
  305. package/test/node_modules/@types/node/inspector.d.ts +269 -0
  306. package/test/node_modules/@types/node/inspector.generated.d.ts +4401 -0
  307. package/test/node_modules/@types/node/module.d.ts +757 -0
  308. package/test/node_modules/@types/node/net.d.ts +933 -0
  309. package/test/node_modules/@types/node/os.d.ts +507 -0
  310. package/test/node_modules/@types/node/package.json +155 -0
  311. package/test/node_modules/@types/node/path/posix.d.ts +8 -0
  312. package/test/node_modules/@types/node/path/win32.d.ts +8 -0
  313. package/test/node_modules/@types/node/path.d.ts +187 -0
  314. package/test/node_modules/@types/node/perf_hooks.d.ts +643 -0
  315. package/test/node_modules/@types/node/process.d.ts +2175 -0
  316. package/test/node_modules/@types/node/punycode.d.ts +117 -0
  317. package/test/node_modules/@types/node/querystring.d.ts +152 -0
  318. package/test/node_modules/@types/node/quic.d.ts +910 -0
  319. package/test/node_modules/@types/node/readline/promises.d.ts +161 -0
  320. package/test/node_modules/@types/node/readline.d.ts +542 -0
  321. package/test/node_modules/@types/node/repl.d.ts +415 -0
  322. package/test/node_modules/@types/node/sea.d.ts +162 -0
  323. package/test/node_modules/@types/node/sqlite.d.ts +1065 -0
  324. package/test/node_modules/@types/node/stream/consumers.d.ts +38 -0
  325. package/test/node_modules/@types/node/stream/promises.d.ts +211 -0
  326. package/test/node_modules/@types/node/stream/web.d.ts +296 -0
  327. package/test/node_modules/@types/node/stream.d.ts +1770 -0
  328. package/test/node_modules/@types/node/string_decoder.d.ts +67 -0
  329. package/test/node_modules/@types/node/test/reporters.d.ts +96 -0
  330. package/test/node_modules/@types/node/test.d.ts +2275 -0
  331. package/test/node_modules/@types/node/timers/promises.d.ts +108 -0
  332. package/test/node_modules/@types/node/timers.d.ts +159 -0
  333. package/test/node_modules/@types/node/tls.d.ts +1203 -0
  334. package/test/node_modules/@types/node/trace_events.d.ts +197 -0
  335. package/test/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  336. package/test/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  337. package/test/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  338. package/test/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  339. package/test/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  340. package/test/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  341. package/test/node_modules/@types/node/tty.d.ts +250 -0
  342. package/test/node_modules/@types/node/url.d.ts +541 -0
  343. package/test/node_modules/@types/node/util/types.d.ts +558 -0
  344. package/test/node_modules/@types/node/util.d.ts +1687 -0
  345. package/test/node_modules/@types/node/v8.d.ts +988 -0
  346. package/test/node_modules/@types/node/vm.d.ts +1208 -0
  347. package/test/node_modules/@types/node/wasi.d.ts +202 -0
  348. package/test/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  349. package/test/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  350. package/test/node_modules/@types/node/web-globals/console.d.ts +9 -0
  351. package/test/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  352. package/test/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  353. package/test/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  354. package/test/node_modules/@types/node/web-globals/events.d.ts +106 -0
  355. package/test/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  356. package/test/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  357. package/test/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  358. package/test/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  359. package/test/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  360. package/test/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  361. package/test/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  362. package/test/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  363. package/test/node_modules/@types/node/web-globals/url.d.ts +24 -0
  364. package/test/node_modules/@types/node/worker_threads.d.ts +717 -0
  365. package/test/node_modules/@types/node/zlib.d.ts +682 -0
  366. package/test/node_modules/acorn/CHANGELOG.md +972 -0
  367. package/test/node_modules/acorn/LICENSE +21 -0
  368. package/test/node_modules/acorn/README.md +301 -0
  369. package/test/node_modules/acorn/bin/acorn +4 -0
  370. package/test/node_modules/acorn/dist/acorn.d.mts +883 -0
  371. package/test/node_modules/acorn/dist/acorn.d.ts +883 -0
  372. package/test/node_modules/acorn/dist/acorn.js +6295 -0
  373. package/test/node_modules/acorn/dist/acorn.mjs +6266 -0
  374. package/test/node_modules/acorn/dist/bin.js +90 -0
  375. package/test/node_modules/acorn/package.json +50 -0
  376. package/test/node_modules/acorn-walk/CHANGELOG.md +209 -0
  377. package/test/node_modules/acorn-walk/LICENSE +21 -0
  378. package/test/node_modules/acorn-walk/README.md +124 -0
  379. package/test/node_modules/acorn-walk/dist/walk.d.mts +152 -0
  380. package/test/node_modules/acorn-walk/dist/walk.d.ts +152 -0
  381. package/test/node_modules/acorn-walk/dist/walk.js +485 -0
  382. package/test/node_modules/acorn-walk/dist/walk.mjs +467 -0
  383. package/test/node_modules/acorn-walk/node_modules/.bin/acorn +15 -0
  384. package/test/node_modules/acorn-walk/node_modules/.bin/acorn.cmd +7 -0
  385. package/test/node_modules/acorn-walk/package.json +50 -0
  386. package/test/node_modules/ansi-regex/index.d.ts +37 -0
  387. package/test/node_modules/ansi-regex/index.js +10 -0
  388. package/test/node_modules/ansi-regex/license +9 -0
  389. package/test/node_modules/ansi-regex/package.json +55 -0
  390. package/test/node_modules/ansi-regex/readme.md +78 -0
  391. package/test/node_modules/ansi-styles/index.d.ts +345 -0
  392. package/test/node_modules/ansi-styles/index.js +163 -0
  393. package/test/node_modules/ansi-styles/license +9 -0
  394. package/test/node_modules/ansi-styles/package.json +56 -0
  395. package/test/node_modules/ansi-styles/readme.md +152 -0
  396. package/test/node_modules/arg/LICENSE.md +21 -0
  397. package/test/node_modules/arg/README.md +280 -0
  398. package/test/node_modules/arg/index.d.ts +31 -0
  399. package/test/node_modules/arg/index.js +144 -0
  400. package/test/node_modules/arg/package.json +30 -0
  401. package/test/node_modules/chalk/index.d.ts +415 -0
  402. package/test/node_modules/chalk/license +9 -0
  403. package/test/node_modules/chalk/package.json +68 -0
  404. package/test/node_modules/chalk/readme.md +341 -0
  405. package/test/node_modules/chalk/source/index.js +229 -0
  406. package/test/node_modules/chalk/source/templates.js +134 -0
  407. package/test/node_modules/chalk/source/util.js +39 -0
  408. package/test/node_modules/color-convert/CHANGELOG.md +54 -0
  409. package/test/node_modules/color-convert/LICENSE +21 -0
  410. package/test/node_modules/color-convert/README.md +68 -0
  411. package/test/node_modules/color-convert/conversions.js +839 -0
  412. package/test/node_modules/color-convert/index.js +81 -0
  413. package/test/node_modules/color-convert/package.json +48 -0
  414. package/test/node_modules/color-convert/route.js +97 -0
  415. package/test/node_modules/color-name/LICENSE +8 -0
  416. package/test/node_modules/color-name/README.md +11 -0
  417. package/test/node_modules/color-name/index.js +152 -0
  418. package/test/node_modules/color-name/package.json +28 -0
  419. package/test/node_modules/create-require/CHANGELOG.md +33 -0
  420. package/test/node_modules/create-require/LICENSE +25 -0
  421. package/test/node_modules/create-require/README.md +46 -0
  422. package/test/node_modules/create-require/create-require.d.ts +3 -0
  423. package/test/node_modules/create-require/create-require.js +49 -0
  424. package/test/node_modules/create-require/package.json +39 -0
  425. package/test/node_modules/diff/CONTRIBUTING.md +39 -0
  426. package/test/node_modules/diff/LICENSE +31 -0
  427. package/test/node_modules/diff/README.md +207 -0
  428. package/test/node_modules/diff/dist/diff.js +1548 -0
  429. package/test/node_modules/diff/dist/diff.min.js +1 -0
  430. package/test/node_modules/diff/lib/convert/dmp.js +32 -0
  431. package/test/node_modules/diff/lib/convert/xml.js +42 -0
  432. package/test/node_modules/diff/lib/diff/array.js +45 -0
  433. package/test/node_modules/diff/lib/diff/base.js +304 -0
  434. package/test/node_modules/diff/lib/diff/character.js +37 -0
  435. package/test/node_modules/diff/lib/diff/css.js +41 -0
  436. package/test/node_modules/diff/lib/diff/json.js +163 -0
  437. package/test/node_modules/diff/lib/diff/line.js +89 -0
  438. package/test/node_modules/diff/lib/diff/sentence.js +41 -0
  439. package/test/node_modules/diff/lib/diff/word.js +107 -0
  440. package/test/node_modules/diff/lib/index.es6.js +1519 -0
  441. package/test/node_modules/diff/lib/index.js +216 -0
  442. package/test/node_modules/diff/lib/patch/apply.js +243 -0
  443. package/test/node_modules/diff/lib/patch/create.js +247 -0
  444. package/test/node_modules/diff/lib/patch/merge.js +609 -0
  445. package/test/node_modules/diff/lib/patch/parse.js +156 -0
  446. package/test/node_modules/diff/lib/util/array.js +32 -0
  447. package/test/node_modules/diff/lib/util/distance-iterator.js +57 -0
  448. package/test/node_modules/diff/lib/util/params.js +24 -0
  449. package/test/node_modules/diff/package.json +74 -0
  450. package/test/node_modules/diff/release-notes.md +261 -0
  451. package/test/node_modules/diff/runtime.js +3 -0
  452. package/test/node_modules/fs-extra/LICENSE +15 -0
  453. package/test/node_modules/fs-extra/README.md +262 -0
  454. package/test/node_modules/fs-extra/lib/copy/copy-sync.js +169 -0
  455. package/test/node_modules/fs-extra/lib/copy/copy.js +235 -0
  456. package/test/node_modules/fs-extra/lib/copy/index.js +7 -0
  457. package/test/node_modules/fs-extra/lib/empty/index.js +39 -0
  458. package/test/node_modules/fs-extra/lib/ensure/file.js +69 -0
  459. package/test/node_modules/fs-extra/lib/ensure/index.js +23 -0
  460. package/test/node_modules/fs-extra/lib/ensure/link.js +64 -0
  461. package/test/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  462. package/test/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  463. package/test/node_modules/fs-extra/lib/ensure/symlink.js +82 -0
  464. package/test/node_modules/fs-extra/lib/fs/index.js +128 -0
  465. package/test/node_modules/fs-extra/lib/index.js +16 -0
  466. package/test/node_modules/fs-extra/lib/json/index.js +16 -0
  467. package/test/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  468. package/test/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  469. package/test/node_modules/fs-extra/lib/json/output-json.js +12 -0
  470. package/test/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  471. package/test/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
  472. package/test/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
  473. package/test/node_modules/fs-extra/lib/move/index.js +7 -0
  474. package/test/node_modules/fs-extra/lib/move/move-sync.js +54 -0
  475. package/test/node_modules/fs-extra/lib/move/move.js +75 -0
  476. package/test/node_modules/fs-extra/lib/output-file/index.js +40 -0
  477. package/test/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  478. package/test/node_modules/fs-extra/lib/remove/index.js +22 -0
  479. package/test/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  480. package/test/node_modules/fs-extra/lib/util/stat.js +154 -0
  481. package/test/node_modules/fs-extra/lib/util/utimes.js +26 -0
  482. package/test/node_modules/fs-extra/package.json +67 -0
  483. package/test/node_modules/function-bind/.eslintrc +21 -0
  484. package/test/node_modules/function-bind/.github/FUNDING.yml +12 -0
  485. package/test/node_modules/function-bind/.github/SECURITY.md +3 -0
  486. package/test/node_modules/function-bind/.nycrc +13 -0
  487. package/test/node_modules/function-bind/CHANGELOG.md +136 -0
  488. package/test/node_modules/function-bind/LICENSE +20 -0
  489. package/test/node_modules/function-bind/README.md +46 -0
  490. package/test/node_modules/function-bind/implementation.js +84 -0
  491. package/test/node_modules/function-bind/index.js +5 -0
  492. package/test/node_modules/function-bind/package.json +87 -0
  493. package/test/node_modules/function-bind/test/.eslintrc +9 -0
  494. package/test/node_modules/function-bind/test/index.js +252 -0
  495. package/test/node_modules/global-prefix/LICENSE +21 -0
  496. package/test/node_modules/global-prefix/README.md +92 -0
  497. package/test/node_modules/global-prefix/index.js +85 -0
  498. package/test/node_modules/global-prefix/node_modules/.bin/node-which +15 -0
  499. package/test/node_modules/global-prefix/node_modules/.bin/node-which.cmd +7 -0
  500. package/test/node_modules/global-prefix/package.json +49 -0
  501. package/test/node_modules/graceful-fs/LICENSE +15 -0
  502. package/test/node_modules/graceful-fs/README.md +143 -0
  503. package/test/node_modules/graceful-fs/clone.js +23 -0
  504. package/test/node_modules/graceful-fs/graceful-fs.js +448 -0
  505. package/test/node_modules/graceful-fs/legacy-streams.js +118 -0
  506. package/test/node_modules/graceful-fs/package.json +53 -0
  507. package/test/node_modules/graceful-fs/polyfills.js +355 -0
  508. package/test/node_modules/has-flag/index.d.ts +39 -0
  509. package/test/node_modules/has-flag/index.js +8 -0
  510. package/test/node_modules/has-flag/license +9 -0
  511. package/test/node_modules/has-flag/package.json +46 -0
  512. package/test/node_modules/has-flag/readme.md +89 -0
  513. package/test/node_modules/hasown/.eslintrc +5 -0
  514. package/test/node_modules/hasown/.github/FUNDING.yml +12 -0
  515. package/test/node_modules/hasown/.nycrc +13 -0
  516. package/test/node_modules/hasown/CHANGELOG.md +40 -0
  517. package/test/node_modules/hasown/LICENSE +21 -0
  518. package/test/node_modules/hasown/README.md +40 -0
  519. package/test/node_modules/hasown/index.d.ts +3 -0
  520. package/test/node_modules/hasown/index.js +8 -0
  521. package/test/node_modules/hasown/package.json +92 -0
  522. package/test/node_modules/hasown/tsconfig.json +6 -0
  523. package/test/node_modules/ini/LICENSE +15 -0
  524. package/test/node_modules/ini/README.md +180 -0
  525. package/test/node_modules/ini/lib/ini.js +280 -0
  526. package/test/node_modules/ini/package.json +45 -0
  527. package/test/node_modules/is-core-module/.eslintrc +18 -0
  528. package/test/node_modules/is-core-module/.nycrc +9 -0
  529. package/test/node_modules/is-core-module/CHANGELOG.md +218 -0
  530. package/test/node_modules/is-core-module/LICENSE +20 -0
  531. package/test/node_modules/is-core-module/README.md +40 -0
  532. package/test/node_modules/is-core-module/core.json +162 -0
  533. package/test/node_modules/is-core-module/index.js +69 -0
  534. package/test/node_modules/is-core-module/package.json +76 -0
  535. package/test/node_modules/is-core-module/test/index.js +157 -0
  536. package/test/node_modules/isexe/LICENSE.md +55 -0
  537. package/test/node_modules/isexe/README.md +80 -0
  538. package/test/node_modules/isexe/dist/commonjs/index.d.ts +14 -0
  539. package/test/node_modules/isexe/dist/commonjs/index.d.ts.map +1 -0
  540. package/test/node_modules/isexe/dist/commonjs/index.js +56 -0
  541. package/test/node_modules/isexe/dist/commonjs/index.js.map +1 -0
  542. package/test/node_modules/isexe/dist/commonjs/index.min.js +2 -0
  543. package/test/node_modules/isexe/dist/commonjs/index.min.js.map +7 -0
  544. package/test/node_modules/isexe/dist/commonjs/options.d.ts +32 -0
  545. package/test/node_modules/isexe/dist/commonjs/options.d.ts.map +1 -0
  546. package/test/node_modules/isexe/dist/commonjs/options.js +3 -0
  547. package/test/node_modules/isexe/dist/commonjs/options.js.map +1 -0
  548. package/test/node_modules/isexe/dist/commonjs/package.json +3 -0
  549. package/test/node_modules/isexe/dist/commonjs/posix.d.ts +18 -0
  550. package/test/node_modules/isexe/dist/commonjs/posix.d.ts.map +1 -0
  551. package/test/node_modules/isexe/dist/commonjs/posix.js +67 -0
  552. package/test/node_modules/isexe/dist/commonjs/posix.js.map +1 -0
  553. package/test/node_modules/isexe/dist/commonjs/win32.d.ts +18 -0
  554. package/test/node_modules/isexe/dist/commonjs/win32.d.ts.map +1 -0
  555. package/test/node_modules/isexe/dist/commonjs/win32.js +63 -0
  556. package/test/node_modules/isexe/dist/commonjs/win32.js.map +1 -0
  557. package/test/node_modules/isexe/dist/esm/index.d.ts +14 -0
  558. package/test/node_modules/isexe/dist/esm/index.d.ts.map +1 -0
  559. package/test/node_modules/isexe/dist/esm/index.js +16 -0
  560. package/test/node_modules/isexe/dist/esm/index.js.map +1 -0
  561. package/test/node_modules/isexe/dist/esm/index.min.js +2 -0
  562. package/test/node_modules/isexe/dist/esm/index.min.js.map +7 -0
  563. package/test/node_modules/isexe/dist/esm/options.d.ts +32 -0
  564. package/test/node_modules/isexe/dist/esm/options.d.ts.map +1 -0
  565. package/test/node_modules/isexe/dist/esm/options.js +2 -0
  566. package/test/node_modules/isexe/dist/esm/options.js.map +1 -0
  567. package/test/node_modules/isexe/dist/esm/package.json +3 -0
  568. package/test/node_modules/isexe/dist/esm/posix.d.ts +18 -0
  569. package/test/node_modules/isexe/dist/esm/posix.d.ts.map +1 -0
  570. package/test/node_modules/isexe/dist/esm/posix.js +62 -0
  571. package/test/node_modules/isexe/dist/esm/posix.js.map +1 -0
  572. package/test/node_modules/isexe/dist/esm/win32.d.ts +18 -0
  573. package/test/node_modules/isexe/dist/esm/win32.d.ts.map +1 -0
  574. package/test/node_modules/isexe/dist/esm/win32.js +58 -0
  575. package/test/node_modules/isexe/dist/esm/win32.js.map +1 -0
  576. package/test/node_modules/isexe/package.json +78 -0
  577. package/test/node_modules/json5/LICENSE.md +23 -0
  578. package/test/node_modules/json5/README.md +282 -0
  579. package/test/node_modules/json5/dist/index.js +1737 -0
  580. package/test/node_modules/json5/dist/index.min.js +1 -0
  581. package/test/node_modules/json5/dist/index.min.mjs +1 -0
  582. package/test/node_modules/json5/dist/index.mjs +1426 -0
  583. package/test/node_modules/json5/lib/cli.js +152 -0
  584. package/test/node_modules/json5/lib/index.d.ts +4 -0
  585. package/test/node_modules/json5/lib/index.js +9 -0
  586. package/test/node_modules/json5/lib/parse.d.ts +15 -0
  587. package/test/node_modules/json5/lib/parse.js +1114 -0
  588. package/test/node_modules/json5/lib/register.js +13 -0
  589. package/test/node_modules/json5/lib/require.js +4 -0
  590. package/test/node_modules/json5/lib/stringify.d.ts +89 -0
  591. package/test/node_modules/json5/lib/stringify.js +261 -0
  592. package/test/node_modules/json5/lib/unicode.d.ts +3 -0
  593. package/test/node_modules/json5/lib/unicode.js +4 -0
  594. package/test/node_modules/json5/lib/util.d.ts +5 -0
  595. package/test/node_modules/json5/lib/util.js +35 -0
  596. package/test/node_modules/json5/package.json +72 -0
  597. package/test/node_modules/jsonfile/LICENSE +15 -0
  598. package/test/node_modules/jsonfile/README.md +230 -0
  599. package/test/node_modules/jsonfile/index.js +88 -0
  600. package/test/node_modules/jsonfile/package.json +40 -0
  601. package/test/node_modules/jsonfile/utils.js +14 -0
  602. package/test/node_modules/kind-of/CHANGELOG.md +160 -0
  603. package/test/node_modules/kind-of/LICENSE +21 -0
  604. package/test/node_modules/kind-of/README.md +367 -0
  605. package/test/node_modules/kind-of/index.js +129 -0
  606. package/test/node_modules/kind-of/package.json +88 -0
  607. package/test/node_modules/make-error/LICENSE +5 -0
  608. package/test/node_modules/make-error/README.md +112 -0
  609. package/test/node_modules/make-error/dist/make-error.js +1 -0
  610. package/test/node_modules/make-error/index.d.ts +47 -0
  611. package/test/node_modules/make-error/index.js +151 -0
  612. package/test/node_modules/make-error/package.json +62 -0
  613. package/test/node_modules/minimist/.eslintrc +29 -0
  614. package/test/node_modules/minimist/.github/FUNDING.yml +12 -0
  615. package/test/node_modules/minimist/.nycrc +14 -0
  616. package/test/node_modules/minimist/CHANGELOG.md +298 -0
  617. package/test/node_modules/minimist/LICENSE +18 -0
  618. package/test/node_modules/minimist/README.md +121 -0
  619. package/test/node_modules/minimist/example/parse.js +4 -0
  620. package/test/node_modules/minimist/index.js +263 -0
  621. package/test/node_modules/minimist/package.json +75 -0
  622. package/test/node_modules/minimist/test/all_bool.js +34 -0
  623. package/test/node_modules/minimist/test/bool.js +177 -0
  624. package/test/node_modules/minimist/test/dash.js +43 -0
  625. package/test/node_modules/minimist/test/default_bool.js +37 -0
  626. package/test/node_modules/minimist/test/dotted.js +24 -0
  627. package/test/node_modules/minimist/test/kv_short.js +32 -0
  628. package/test/node_modules/minimist/test/long.js +33 -0
  629. package/test/node_modules/minimist/test/num.js +38 -0
  630. package/test/node_modules/minimist/test/parse.js +209 -0
  631. package/test/node_modules/minimist/test/parse_modified.js +11 -0
  632. package/test/node_modules/minimist/test/proto.js +64 -0
  633. package/test/node_modules/minimist/test/short.js +69 -0
  634. package/test/node_modules/minimist/test/stop_early.js +17 -0
  635. package/test/node_modules/minimist/test/unknown.js +104 -0
  636. package/test/node_modules/minimist/test/whitespace.js +10 -0
  637. package/test/node_modules/path-parse/LICENSE +21 -0
  638. package/test/node_modules/path-parse/README.md +42 -0
  639. package/test/node_modules/path-parse/index.js +75 -0
  640. package/test/node_modules/path-parse/package.json +33 -0
  641. package/test/node_modules/resolve/.editorconfig +37 -0
  642. package/test/node_modules/resolve/.eslintrc +65 -0
  643. package/test/node_modules/resolve/.github/FUNDING.yml +12 -0
  644. package/test/node_modules/resolve/.github/INCIDENT_RESPONSE_PROCESS.md +119 -0
  645. package/test/node_modules/resolve/.github/THREAT_MODEL.md +74 -0
  646. package/test/node_modules/resolve/LICENSE +21 -0
  647. package/test/node_modules/resolve/SECURITY.md +11 -0
  648. package/test/node_modules/resolve/async.js +3 -0
  649. package/test/node_modules/resolve/bin/resolve +50 -0
  650. package/test/node_modules/resolve/example/async.js +5 -0
  651. package/test/node_modules/resolve/example/sync.js +3 -0
  652. package/test/node_modules/resolve/index.js +6 -0
  653. package/test/node_modules/resolve/lib/async.js +333 -0
  654. package/test/node_modules/resolve/lib/caller.js +8 -0
  655. package/test/node_modules/resolve/lib/core.js +12 -0
  656. package/test/node_modules/resolve/lib/core.json +162 -0
  657. package/test/node_modules/resolve/lib/homedir.js +24 -0
  658. package/test/node_modules/resolve/lib/is-core.js +5 -0
  659. package/test/node_modules/resolve/lib/node-modules-paths.js +45 -0
  660. package/test/node_modules/resolve/lib/normalize-options.js +10 -0
  661. package/test/node_modules/resolve/lib/sync.js +212 -0
  662. package/test/node_modules/resolve/package.json +75 -0
  663. package/test/node_modules/resolve/readme.markdown +301 -0
  664. package/test/node_modules/resolve/sync.js +3 -0
  665. package/test/node_modules/resolve/test/core.js +88 -0
  666. package/test/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  667. package/test/node_modules/resolve/test/dotdot/index.js +1 -0
  668. package/test/node_modules/resolve/test/dotdot.js +29 -0
  669. package/test/node_modules/resolve/test/faulty_basedir.js +29 -0
  670. package/test/node_modules/resolve/test/filter.js +34 -0
  671. package/test/node_modules/resolve/test/filter_sync.js +33 -0
  672. package/test/node_modules/resolve/test/home_paths.js +127 -0
  673. package/test/node_modules/resolve/test/home_paths_sync.js +114 -0
  674. package/test/node_modules/resolve/test/mock.js +315 -0
  675. package/test/node_modules/resolve/test/mock_sync.js +214 -0
  676. package/test/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  677. package/test/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  678. package/test/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  679. package/test/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  680. package/test/node_modules/resolve/test/module_dir.js +56 -0
  681. package/test/node_modules/resolve/test/node-modules-paths.js +143 -0
  682. package/test/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  683. package/test/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  684. package/test/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  685. package/test/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  686. package/test/node_modules/resolve/test/node_path.js +70 -0
  687. package/test/node_modules/resolve/test/nonstring.js +9 -0
  688. package/test/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  689. package/test/node_modules/resolve/test/pathfilter.js +75 -0
  690. package/test/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  691. package/test/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  692. package/test/node_modules/resolve/test/precedence/aaa.js +1 -0
  693. package/test/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  694. package/test/node_modules/resolve/test/precedence/bbb.js +1 -0
  695. package/test/node_modules/resolve/test/precedence.js +23 -0
  696. package/test/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  697. package/test/node_modules/resolve/test/resolver/baz/package.json +4 -0
  698. package/test/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  699. package/test/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  700. package/test/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  701. package/test/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  702. package/test/node_modules/resolve/test/resolver/cup.coffee +1 -0
  703. package/test/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  704. package/test/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  705. package/test/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  706. package/test/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  707. package/test/node_modules/resolve/test/resolver/false_main/index.js +0 -0
  708. package/test/node_modules/resolve/test/resolver/false_main/package.json +4 -0
  709. package/test/node_modules/resolve/test/resolver/foo.js +1 -0
  710. package/test/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  711. package/test/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  712. package/test/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  713. package/test/node_modules/resolve/test/resolver/mug.coffee +0 -0
  714. package/test/node_modules/resolve/test/resolver/mug.js +0 -0
  715. package/test/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  716. package/test/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  717. package/test/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  718. package/test/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  719. package/test/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  720. package/test/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  721. package/test/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
  722. package/test/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
  723. package/test/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
  724. package/test/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  725. package/test/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  726. package/test/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  727. package/test/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  728. package/test/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  729. package/test/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  730. package/test/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  731. package/test/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
  732. package/test/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
  733. package/test/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  734. package/test/node_modules/resolve/test/resolver.js +597 -0
  735. package/test/node_modules/resolve/test/resolver_sync.js +730 -0
  736. package/test/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  737. package/test/node_modules/resolve/test/shadowed_core.js +54 -0
  738. package/test/node_modules/resolve/test/subdirs.js +13 -0
  739. package/test/node_modules/resolve/test/symlinks.js +176 -0
  740. package/test/node_modules/semver/LICENSE +15 -0
  741. package/test/node_modules/semver/README.md +665 -0
  742. package/test/node_modules/semver/bin/semver.js +191 -0
  743. package/test/node_modules/semver/classes/comparator.js +143 -0
  744. package/test/node_modules/semver/classes/index.js +7 -0
  745. package/test/node_modules/semver/classes/range.js +557 -0
  746. package/test/node_modules/semver/classes/semver.js +333 -0
  747. package/test/node_modules/semver/functions/clean.js +8 -0
  748. package/test/node_modules/semver/functions/cmp.js +54 -0
  749. package/test/node_modules/semver/functions/coerce.js +62 -0
  750. package/test/node_modules/semver/functions/compare-build.js +9 -0
  751. package/test/node_modules/semver/functions/compare-loose.js +5 -0
  752. package/test/node_modules/semver/functions/compare.js +7 -0
  753. package/test/node_modules/semver/functions/diff.js +60 -0
  754. package/test/node_modules/semver/functions/eq.js +5 -0
  755. package/test/node_modules/semver/functions/gt.js +5 -0
  756. package/test/node_modules/semver/functions/gte.js +5 -0
  757. package/test/node_modules/semver/functions/inc.js +21 -0
  758. package/test/node_modules/semver/functions/lt.js +5 -0
  759. package/test/node_modules/semver/functions/lte.js +5 -0
  760. package/test/node_modules/semver/functions/major.js +5 -0
  761. package/test/node_modules/semver/functions/minor.js +5 -0
  762. package/test/node_modules/semver/functions/neq.js +5 -0
  763. package/test/node_modules/semver/functions/parse.js +18 -0
  764. package/test/node_modules/semver/functions/patch.js +5 -0
  765. package/test/node_modules/semver/functions/prerelease.js +8 -0
  766. package/test/node_modules/semver/functions/rcompare.js +5 -0
  767. package/test/node_modules/semver/functions/rsort.js +5 -0
  768. package/test/node_modules/semver/functions/satisfies.js +12 -0
  769. package/test/node_modules/semver/functions/sort.js +5 -0
  770. package/test/node_modules/semver/functions/valid.js +8 -0
  771. package/test/node_modules/semver/index.js +91 -0
  772. package/test/node_modules/semver/internal/constants.js +37 -0
  773. package/test/node_modules/semver/internal/debug.js +11 -0
  774. package/test/node_modules/semver/internal/identifiers.js +29 -0
  775. package/test/node_modules/semver/internal/lrucache.js +42 -0
  776. package/test/node_modules/semver/internal/parse-options.js +17 -0
  777. package/test/node_modules/semver/internal/re.js +223 -0
  778. package/test/node_modules/semver/package.json +78 -0
  779. package/test/node_modules/semver/preload.js +4 -0
  780. package/test/node_modules/semver/range.bnf +16 -0
  781. package/test/node_modules/semver/ranges/gtr.js +6 -0
  782. package/test/node_modules/semver/ranges/intersects.js +9 -0
  783. package/test/node_modules/semver/ranges/ltr.js +6 -0
  784. package/test/node_modules/semver/ranges/max-satisfying.js +27 -0
  785. package/test/node_modules/semver/ranges/min-satisfying.js +26 -0
  786. package/test/node_modules/semver/ranges/min-version.js +63 -0
  787. package/test/node_modules/semver/ranges/outside.js +82 -0
  788. package/test/node_modules/semver/ranges/simplify.js +49 -0
  789. package/test/node_modules/semver/ranges/subset.js +249 -0
  790. package/test/node_modules/semver/ranges/to-comparators.js +10 -0
  791. package/test/node_modules/semver/ranges/valid.js +13 -0
  792. package/test/node_modules/strip-ansi/index.d.ts +17 -0
  793. package/test/node_modules/strip-ansi/index.js +4 -0
  794. package/test/node_modules/strip-ansi/license +9 -0
  795. package/test/node_modules/strip-ansi/package.json +54 -0
  796. package/test/node_modules/strip-ansi/readme.md +46 -0
  797. package/test/node_modules/strip-bom/index.js +14 -0
  798. package/test/node_modules/strip-bom/license +21 -0
  799. package/test/node_modules/strip-bom/package.json +40 -0
  800. package/test/node_modules/strip-bom/readme.md +36 -0
  801. package/test/node_modules/supports-color/browser.js +5 -0
  802. package/test/node_modules/supports-color/index.js +135 -0
  803. package/test/node_modules/supports-color/license +9 -0
  804. package/test/node_modules/supports-color/package.json +53 -0
  805. package/test/node_modules/supports-color/readme.md +76 -0
  806. package/test/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
  807. package/test/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
  808. package/test/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
  809. package/test/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
  810. package/test/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
  811. package/test/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
  812. package/test/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
  813. package/test/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
  814. package/test/node_modules/supports-preserve-symlinks-flag/package.json +70 -0
  815. package/test/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
  816. package/test/node_modules/ts-latest/LICENSE.txt +55 -0
  817. package/test/node_modules/ts-latest/README.md +50 -0
  818. package/test/node_modules/ts-latest/SECURITY.md +39 -0
  819. package/test/node_modules/ts-latest/ThirdPartyNoticeText.txt +193 -0
  820. package/test/node_modules/ts-latest/bin/tsc +2 -0
  821. package/test/node_modules/ts-latest/bin/tsserver +2 -0
  822. package/test/node_modules/ts-latest/lib/_tsc.js +134440 -0
  823. package/test/node_modules/ts-latest/lib/_tsserver.js +659 -0
  824. package/test/node_modules/ts-latest/lib/_typingsInstaller.js +222 -0
  825. package/test/node_modules/ts-latest/lib/cs/diagnosticMessages.generated.json +2129 -0
  826. package/test/node_modules/ts-latest/lib/de/diagnosticMessages.generated.json +2125 -0
  827. package/test/node_modules/ts-latest/lib/es/diagnosticMessages.generated.json +2129 -0
  828. package/test/node_modules/ts-latest/lib/fr/diagnosticMessages.generated.json +2129 -0
  829. package/test/node_modules/ts-latest/lib/it/diagnosticMessages.generated.json +2125 -0
  830. package/test/node_modules/ts-latest/lib/ja/diagnosticMessages.generated.json +2129 -0
  831. package/test/node_modules/ts-latest/lib/ko/diagnosticMessages.generated.json +2129 -0
  832. package/test/node_modules/ts-latest/lib/lib.d.ts +20 -0
  833. package/test/node_modules/ts-latest/lib/lib.decorators.d.ts +382 -0
  834. package/test/node_modules/ts-latest/lib/lib.decorators.legacy.d.ts +20 -0
  835. package/test/node_modules/ts-latest/lib/lib.dom.asynciterable.d.ts +18 -0
  836. package/test/node_modules/ts-latest/lib/lib.dom.d.ts +44303 -0
  837. package/test/node_modules/ts-latest/lib/lib.dom.iterable.d.ts +18 -0
  838. package/test/node_modules/ts-latest/lib/lib.es2015.collection.d.ts +150 -0
  839. package/test/node_modules/ts-latest/lib/lib.es2015.core.d.ts +595 -0
  840. package/test/node_modules/ts-latest/lib/lib.es2015.d.ts +26 -0
  841. package/test/node_modules/ts-latest/lib/lib.es2015.generator.d.ts +75 -0
  842. package/test/node_modules/ts-latest/lib/lib.es2015.iterable.d.ts +603 -0
  843. package/test/node_modules/ts-latest/lib/lib.es2015.promise.d.ts +79 -0
  844. package/test/node_modules/ts-latest/lib/lib.es2015.proxy.d.ts +126 -0
  845. package/test/node_modules/ts-latest/lib/lib.es2015.reflect.d.ts +142 -0
  846. package/test/node_modules/ts-latest/lib/lib.es2015.symbol.d.ts +44 -0
  847. package/test/node_modules/ts-latest/lib/lib.es2015.symbol.wellknown.d.ts +324 -0
  848. package/test/node_modules/ts-latest/lib/lib.es2016.array.include.d.ts +114 -0
  849. package/test/node_modules/ts-latest/lib/lib.es2016.d.ts +19 -0
  850. package/test/node_modules/ts-latest/lib/lib.es2016.full.d.ts +21 -0
  851. package/test/node_modules/ts-latest/lib/lib.es2016.intl.d.ts +29 -0
  852. package/test/node_modules/ts-latest/lib/lib.es2017.arraybuffer.d.ts +19 -0
  853. package/test/node_modules/ts-latest/lib/lib.es2017.d.ts +24 -0
  854. package/test/node_modules/ts-latest/lib/lib.es2017.date.d.ts +29 -0
  855. package/test/node_modules/ts-latest/lib/lib.es2017.full.d.ts +21 -0
  856. package/test/node_modules/ts-latest/lib/lib.es2017.intl.d.ts +42 -0
  857. package/test/node_modules/ts-latest/lib/lib.es2017.object.d.ts +47 -0
  858. package/test/node_modules/ts-latest/lib/lib.es2017.sharedmemory.d.ts +133 -0
  859. package/test/node_modules/ts-latest/lib/lib.es2017.string.d.ts +43 -0
  860. package/test/node_modules/ts-latest/lib/lib.es2017.typedarrays.d.ts +51 -0
  861. package/test/node_modules/ts-latest/lib/lib.es2018.asyncgenerator.d.ts +75 -0
  862. package/test/node_modules/ts-latest/lib/lib.es2018.asynciterable.d.ts +51 -0
  863. package/test/node_modules/ts-latest/lib/lib.es2018.d.ts +22 -0
  864. package/test/node_modules/ts-latest/lib/lib.es2018.full.d.ts +22 -0
  865. package/test/node_modules/ts-latest/lib/lib.es2018.intl.d.ts +81 -0
  866. package/test/node_modules/ts-latest/lib/lib.es2018.promise.d.ts +28 -0
  867. package/test/node_modules/ts-latest/lib/lib.es2018.regexp.d.ts +35 -0
  868. package/test/node_modules/ts-latest/lib/lib.es2019.array.d.ts +77 -0
  869. package/test/node_modules/ts-latest/lib/lib.es2019.d.ts +22 -0
  870. package/test/node_modules/ts-latest/lib/lib.es2019.full.d.ts +22 -0
  871. package/test/node_modules/ts-latest/lib/lib.es2019.intl.d.ts +21 -0
  872. package/test/node_modules/ts-latest/lib/lib.es2019.object.d.ts +31 -0
  873. package/test/node_modules/ts-latest/lib/lib.es2019.string.d.ts +35 -0
  874. package/test/node_modules/ts-latest/lib/lib.es2019.symbol.d.ts +22 -0
  875. package/test/node_modules/ts-latest/lib/lib.es2020.bigint.d.ts +763 -0
  876. package/test/node_modules/ts-latest/lib/lib.es2020.d.ts +25 -0
  877. package/test/node_modules/ts-latest/lib/lib.es2020.date.d.ts +40 -0
  878. package/test/node_modules/ts-latest/lib/lib.es2020.full.d.ts +22 -0
  879. package/test/node_modules/ts-latest/lib/lib.es2020.intl.d.ts +472 -0
  880. package/test/node_modules/ts-latest/lib/lib.es2020.number.d.ts +26 -0
  881. package/test/node_modules/ts-latest/lib/lib.es2020.promise.d.ts +45 -0
  882. package/test/node_modules/ts-latest/lib/lib.es2020.sharedmemory.d.ts +97 -0
  883. package/test/node_modules/ts-latest/lib/lib.es2020.string.d.ts +42 -0
  884. package/test/node_modules/ts-latest/lib/lib.es2020.symbol.wellknown.d.ts +39 -0
  885. package/test/node_modules/ts-latest/lib/lib.es2021.d.ts +21 -0
  886. package/test/node_modules/ts-latest/lib/lib.es2021.full.d.ts +22 -0
  887. package/test/node_modules/ts-latest/lib/lib.es2021.intl.d.ts +164 -0
  888. package/test/node_modules/ts-latest/lib/lib.es2021.promise.d.ts +46 -0
  889. package/test/node_modules/ts-latest/lib/lib.es2021.string.d.ts +31 -0
  890. package/test/node_modules/ts-latest/lib/lib.es2021.weakref.d.ts +76 -0
  891. package/test/node_modules/ts-latest/lib/lib.es2022.array.d.ts +119 -0
  892. package/test/node_modules/ts-latest/lib/lib.es2022.d.ts +23 -0
  893. package/test/node_modules/ts-latest/lib/lib.es2022.error.d.ts +73 -0
  894. package/test/node_modules/ts-latest/lib/lib.es2022.full.d.ts +22 -0
  895. package/test/node_modules/ts-latest/lib/lib.es2022.intl.d.ts +143 -0
  896. package/test/node_modules/ts-latest/lib/lib.es2022.object.d.ts +24 -0
  897. package/test/node_modules/ts-latest/lib/lib.es2022.regexp.d.ts +37 -0
  898. package/test/node_modules/ts-latest/lib/lib.es2022.string.d.ts +23 -0
  899. package/test/node_modules/ts-latest/lib/lib.es2023.array.d.ts +922 -0
  900. package/test/node_modules/ts-latest/lib/lib.es2023.collection.d.ts +19 -0
  901. package/test/node_modules/ts-latest/lib/lib.es2023.d.ts +20 -0
  902. package/test/node_modules/ts-latest/lib/lib.es2023.full.d.ts +22 -0
  903. package/test/node_modules/ts-latest/lib/lib.es2023.intl.d.ts +62 -0
  904. package/test/node_modules/ts-latest/lib/lib.es2024.arraybuffer.d.ts +63 -0
  905. package/test/node_modules/ts-latest/lib/lib.es2024.collection.d.ts +27 -0
  906. package/test/node_modules/ts-latest/lib/lib.es2024.d.ts +24 -0
  907. package/test/node_modules/ts-latest/lib/lib.es2024.full.d.ts +22 -0
  908. package/test/node_modules/ts-latest/lib/lib.es2024.object.d.ts +27 -0
  909. package/test/node_modules/ts-latest/lib/lib.es2024.promise.d.ts +33 -0
  910. package/test/node_modules/ts-latest/lib/lib.es2024.regexp.d.ts +23 -0
  911. package/test/node_modules/ts-latest/lib/lib.es2024.sharedmemory.d.ts +66 -0
  912. package/test/node_modules/ts-latest/lib/lib.es2024.string.d.ts +27 -0
  913. package/test/node_modules/ts-latest/lib/lib.es2025.collection.d.ts +94 -0
  914. package/test/node_modules/ts-latest/lib/lib.es2025.d.ts +23 -0
  915. package/test/node_modules/ts-latest/lib/lib.es2025.float16.d.ts +443 -0
  916. package/test/node_modules/ts-latest/lib/lib.es2025.full.d.ts +22 -0
  917. package/test/node_modules/ts-latest/lib/lib.es2025.intl.d.ts +200 -0
  918. package/test/node_modules/ts-latest/lib/lib.es2025.iterator.d.ts +146 -0
  919. package/test/node_modules/ts-latest/lib/lib.es2025.promise.d.ts +32 -0
  920. package/test/node_modules/ts-latest/lib/lib.es2025.regexp.d.ts +30 -0
  921. package/test/node_modules/ts-latest/lib/lib.es5.d.ts +4599 -0
  922. package/test/node_modules/ts-latest/lib/lib.es6.d.ts +21 -0
  923. package/test/node_modules/ts-latest/lib/lib.esnext.array.d.ts +33 -0
  924. package/test/node_modules/ts-latest/lib/lib.esnext.collection.d.ts +47 -0
  925. package/test/node_modules/ts-latest/lib/lib.esnext.d.ts +27 -0
  926. package/test/node_modules/ts-latest/lib/lib.esnext.date.d.ts +21 -0
  927. package/test/node_modules/ts-latest/lib/lib.esnext.decorators.d.ts +26 -0
  928. package/test/node_modules/ts-latest/lib/lib.esnext.disposable.d.ts +191 -0
  929. package/test/node_modules/ts-latest/lib/lib.esnext.error.d.ts +22 -0
  930. package/test/node_modules/ts-latest/lib/lib.esnext.full.d.ts +22 -0
  931. package/test/node_modules/ts-latest/lib/lib.esnext.intl.d.ts +107 -0
  932. package/test/node_modules/ts-latest/lib/lib.esnext.sharedmemory.d.ts +23 -0
  933. package/test/node_modules/ts-latest/lib/lib.esnext.temporal.d.ts +473 -0
  934. package/test/node_modules/ts-latest/lib/lib.esnext.typedarrays.d.ts +90 -0
  935. package/test/node_modules/ts-latest/lib/lib.scripthost.d.ts +320 -0
  936. package/test/node_modules/ts-latest/lib/lib.webworker.asynciterable.d.ts +18 -0
  937. package/test/node_modules/ts-latest/lib/lib.webworker.d.ts +14814 -0
  938. package/test/node_modules/ts-latest/lib/lib.webworker.importscripts.d.ts +21 -0
  939. package/test/node_modules/ts-latest/lib/lib.webworker.iterable.d.ts +18 -0
  940. package/test/node_modules/ts-latest/lib/pl/diagnosticMessages.generated.json +2129 -0
  941. package/test/node_modules/ts-latest/lib/pt-br/diagnosticMessages.generated.json +2129 -0
  942. package/test/node_modules/ts-latest/lib/ru/diagnosticMessages.generated.json +2125 -0
  943. package/test/node_modules/ts-latest/lib/tr/diagnosticMessages.generated.json +2129 -0
  944. package/test/node_modules/ts-latest/lib/tsc.js +8 -0
  945. package/test/node_modules/ts-latest/lib/tsserver.js +8 -0
  946. package/test/node_modules/ts-latest/lib/tsserverlibrary.d.ts +17 -0
  947. package/test/node_modules/ts-latest/lib/tsserverlibrary.js +21 -0
  948. package/test/node_modules/ts-latest/lib/typesMap.json +497 -0
  949. package/test/node_modules/ts-latest/lib/typescript.d.ts +11448 -0
  950. package/test/node_modules/ts-latest/lib/typescript.js +200997 -0
  951. package/test/node_modules/ts-latest/lib/typingsInstaller.js +8 -0
  952. package/test/node_modules/ts-latest/lib/watchGuard.js +53 -0
  953. package/test/node_modules/ts-latest/lib/zh-cn/diagnosticMessages.generated.json +2129 -0
  954. package/test/node_modules/ts-latest/lib/zh-tw/diagnosticMessages.generated.json +2125 -0
  955. package/test/node_modules/ts-latest/package.json +119 -0
  956. package/test/node_modules/ts-node/LICENSE +21 -0
  957. package/test/node_modules/ts-node/README.md +1442 -0
  958. package/test/node_modules/ts-node/child-loader.mjs +8 -0
  959. package/test/node_modules/ts-node/dist/bin-cwd.d.ts +2 -0
  960. package/test/node_modules/ts-node/dist/bin-cwd.js +6 -0
  961. package/test/node_modules/ts-node/dist/bin-cwd.js.map +1 -0
  962. package/test/node_modules/ts-node/dist/bin-esm.d.ts +2 -0
  963. package/test/node_modules/ts-node/dist/bin-esm.js +6 -0
  964. package/test/node_modules/ts-node/dist/bin-esm.js.map +1 -0
  965. package/test/node_modules/ts-node/dist/bin-script-deprecated.d.ts +2 -0
  966. package/test/node_modules/ts-node/dist/bin-script-deprecated.js +7 -0
  967. package/test/node_modules/ts-node/dist/bin-script-deprecated.js.map +1 -0
  968. package/test/node_modules/ts-node/dist/bin-script.d.ts +2 -0
  969. package/test/node_modules/ts-node/dist/bin-script.js +6 -0
  970. package/test/node_modules/ts-node/dist/bin-script.js.map +1 -0
  971. package/test/node_modules/ts-node/dist/bin-transpile.d.ts +2 -0
  972. package/test/node_modules/ts-node/dist/bin-transpile.js +6 -0
  973. package/test/node_modules/ts-node/dist/bin-transpile.js.map +1 -0
  974. package/test/node_modules/ts-node/dist/bin.d.ts +11 -0
  975. package/test/node_modules/ts-node/dist/bin.js +581 -0
  976. package/test/node_modules/ts-node/dist/bin.js.map +1 -0
  977. package/test/node_modules/ts-node/dist/child/argv-payload.d.ts +1 -0
  978. package/test/node_modules/ts-node/dist/child/argv-payload.js +19 -0
  979. package/test/node_modules/ts-node/dist/child/argv-payload.js.map +1 -0
  980. package/test/node_modules/ts-node/dist/child/child-entrypoint.d.ts +1 -0
  981. package/test/node_modules/ts-node/dist/child/child-entrypoint.js +24 -0
  982. package/test/node_modules/ts-node/dist/child/child-entrypoint.js.map +1 -0
  983. package/test/node_modules/ts-node/dist/child/child-loader.d.ts +1 -0
  984. package/test/node_modules/ts-node/dist/child/child-loader.js +32 -0
  985. package/test/node_modules/ts-node/dist/child/child-loader.js.map +1 -0
  986. package/test/node_modules/ts-node/dist/child/child-require.d.ts +7 -0
  987. package/test/node_modules/ts-node/dist/child/child-require.js +22 -0
  988. package/test/node_modules/ts-node/dist/child/child-require.js.map +1 -0
  989. package/test/node_modules/ts-node/dist/child/spawn-child.d.ts +1 -0
  990. package/test/node_modules/ts-node/dist/child/spawn-child.js +49 -0
  991. package/test/node_modules/ts-node/dist/child/spawn-child.js.map +1 -0
  992. package/test/node_modules/ts-node/dist/cjs-resolve-hooks.d.ts +1 -0
  993. package/test/node_modules/ts-node/dist/cjs-resolve-hooks.js +29 -0
  994. package/test/node_modules/ts-node/dist/cjs-resolve-hooks.js.map +1 -0
  995. package/test/node_modules/ts-node/dist/configuration.d.ts +1 -0
  996. package/test/node_modules/ts-node/dist/configuration.js +308 -0
  997. package/test/node_modules/ts-node/dist/configuration.js.map +1 -0
  998. package/test/node_modules/ts-node/dist/esm.d.ts +53 -0
  999. package/test/node_modules/ts-node/dist/esm.js +228 -0
  1000. package/test/node_modules/ts-node/dist/esm.js.map +1 -0
  1001. package/test/node_modules/ts-node/dist/file-extensions.d.ts +1 -0
  1002. package/test/node_modules/ts-node/dist/file-extensions.js +133 -0
  1003. package/test/node_modules/ts-node/dist/file-extensions.js.map +1 -0
  1004. package/test/node_modules/ts-node/dist/index.d.ts +332 -0
  1005. package/test/node_modules/ts-node/dist/index.js +953 -0
  1006. package/test/node_modules/ts-node/dist/index.js.map +1 -0
  1007. package/test/node_modules/ts-node/dist/module-type-classifier.d.ts +1 -0
  1008. package/test/node_modules/ts-node/dist/module-type-classifier.js +64 -0
  1009. package/test/node_modules/ts-node/dist/module-type-classifier.js.map +1 -0
  1010. package/test/node_modules/ts-node/dist/node-module-type-classifier.d.ts +1 -0
  1011. package/test/node_modules/ts-node/dist/node-module-type-classifier.js +39 -0
  1012. package/test/node_modules/ts-node/dist/node-module-type-classifier.js.map +1 -0
  1013. package/test/node_modules/ts-node/dist/repl.d.ts +78 -0
  1014. package/test/node_modules/ts-node/dist/repl.js +561 -0
  1015. package/test/node_modules/ts-node/dist/repl.js.map +1 -0
  1016. package/test/node_modules/ts-node/dist/resolver-functions.d.ts +1 -0
  1017. package/test/node_modules/ts-node/dist/resolver-functions.js +143 -0
  1018. package/test/node_modules/ts-node/dist/resolver-functions.js.map +1 -0
  1019. package/test/node_modules/ts-node/dist/transpilers/swc.d.ts +11 -0
  1020. package/test/node_modules/ts-node/dist/transpilers/swc.js +218 -0
  1021. package/test/node_modules/ts-node/dist/transpilers/swc.js.map +1 -0
  1022. package/test/node_modules/ts-node/dist/transpilers/types.d.ts +35 -0
  1023. package/test/node_modules/ts-node/dist/transpilers/types.js +3 -0
  1024. package/test/node_modules/ts-node/dist/transpilers/types.js.map +1 -0
  1025. package/test/node_modules/ts-node/dist/ts-compiler-types.d.ts +63 -0
  1026. package/test/node_modules/ts-node/dist/ts-compiler-types.js +3 -0
  1027. package/test/node_modules/ts-node/dist/ts-compiler-types.js.map +1 -0
  1028. package/test/node_modules/ts-node/dist/ts-internals.d.ts +6 -0
  1029. package/test/node_modules/ts-node/dist/ts-internals.js +321 -0
  1030. package/test/node_modules/ts-node/dist/ts-internals.js.map +1 -0
  1031. package/test/node_modules/ts-node/dist/ts-transpile-module.d.ts +1 -0
  1032. package/test/node_modules/ts-node/dist/ts-transpile-module.js +100 -0
  1033. package/test/node_modules/ts-node/dist/ts-transpile-module.js.map +1 -0
  1034. package/test/node_modules/ts-node/dist/tsconfig-schema.d.ts +13 -0
  1035. package/test/node_modules/ts-node/dist/tsconfig-schema.js +3 -0
  1036. package/test/node_modules/ts-node/dist/tsconfig-schema.js.map +1 -0
  1037. package/test/node_modules/ts-node/dist/tsconfigs.d.ts +1 -0
  1038. package/test/node_modules/ts-node/dist/tsconfigs.js +36 -0
  1039. package/test/node_modules/ts-node/dist/tsconfigs.js.map +1 -0
  1040. package/test/node_modules/ts-node/dist/util.d.ts +4 -0
  1041. package/test/node_modules/ts-node/dist/util.js +175 -0
  1042. package/test/node_modules/ts-node/dist/util.js.map +1 -0
  1043. package/test/node_modules/ts-node/dist-raw/NODE-LICENSE.md +24 -0
  1044. package/test/node_modules/ts-node/dist-raw/README.md +36 -0
  1045. package/test/node_modules/ts-node/dist-raw/node-internal-constants.js +4 -0
  1046. package/test/node_modules/ts-node/dist-raw/node-internal-errors.js +82 -0
  1047. package/test/node_modules/ts-node/dist-raw/node-internal-modules-cjs-helpers.js +89 -0
  1048. package/test/node_modules/ts-node/dist-raw/node-internal-modules-cjs-loader.js +593 -0
  1049. package/test/node_modules/ts-node/dist-raw/node-internal-modules-esm-get_format.js +106 -0
  1050. package/test/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js +962 -0
  1051. package/test/node_modules/ts-node/dist-raw/node-internal-modules-package_json_reader.js +44 -0
  1052. package/test/node_modules/ts-node/dist-raw/node-internal-repl-await.js +254 -0
  1053. package/test/node_modules/ts-node/dist-raw/node-internalBinding-fs.js +58 -0
  1054. package/test/node_modules/ts-node/dist-raw/node-nativemodule.js +9 -0
  1055. package/test/node_modules/ts-node/dist-raw/node-options.js +103 -0
  1056. package/test/node_modules/ts-node/dist-raw/node-primordials.js +37 -0
  1057. package/test/node_modules/ts-node/dist-raw/runmain-hack.js +9 -0
  1058. package/test/node_modules/ts-node/esm/transpile-only.mjs +8 -0
  1059. package/test/node_modules/ts-node/esm.mjs +8 -0
  1060. package/test/node_modules/ts-node/node10/tsconfig.json +3 -0
  1061. package/test/node_modules/ts-node/node12/tsconfig.json +3 -0
  1062. package/test/node_modules/ts-node/node14/tsconfig.json +3 -0
  1063. package/test/node_modules/ts-node/node16/tsconfig.json +3 -0
  1064. package/test/node_modules/ts-node/node_modules/.bin/acorn +15 -0
  1065. package/test/node_modules/ts-node/node_modules/.bin/acorn.cmd +7 -0
  1066. package/test/node_modules/ts-node/package.json +182 -0
  1067. package/test/node_modules/ts-node/register/files.js +3 -0
  1068. package/test/node_modules/ts-node/register/index.js +1 -0
  1069. package/test/node_modules/ts-node/register/transpile-only.js +3 -0
  1070. package/test/node_modules/ts-node/register/type-check.js +3 -0
  1071. package/test/node_modules/ts-node/transpilers/swc-experimental.js +1 -0
  1072. package/test/node_modules/ts-node/transpilers/swc.js +1 -0
  1073. package/test/node_modules/ts-node/tsconfig.schema.json +183 -0
  1074. package/test/node_modules/ts-node/tsconfig.schemastore-schema.json +1326 -0
  1075. package/test/node_modules/tsconfig-paths/CHANGELOG.md +407 -0
  1076. package/test/node_modules/tsconfig-paths/LICENSE +21 -0
  1077. package/test/node_modules/tsconfig-paths/README.md +269 -0
  1078. package/test/node_modules/tsconfig-paths/lib/__tests__/config-loader.test.d.ts +1 -0
  1079. package/test/node_modules/tsconfig-paths/lib/__tests__/config-loader.test.js +87 -0
  1080. package/test/node_modules/tsconfig-paths/lib/__tests__/config-loader.test.js.map +1 -0
  1081. package/test/node_modules/tsconfig-paths/lib/__tests__/data/match-path-data.d.ts +17 -0
  1082. package/test/node_modules/tsconfig-paths/lib/__tests__/data/match-path-data.js +216 -0
  1083. package/test/node_modules/tsconfig-paths/lib/__tests__/data/match-path-data.js.map +1 -0
  1084. package/test/node_modules/tsconfig-paths/lib/__tests__/filesystem.test.d.ts +1 -0
  1085. package/test/node_modules/tsconfig-paths/lib/__tests__/filesystem.test.js +56 -0
  1086. package/test/node_modules/tsconfig-paths/lib/__tests__/filesystem.test.js.map +1 -0
  1087. package/test/node_modules/tsconfig-paths/lib/__tests__/mapping-entry.test.d.ts +1 -0
  1088. package/test/node_modules/tsconfig-paths/lib/__tests__/mapping-entry.test.js +39 -0
  1089. package/test/node_modules/tsconfig-paths/lib/__tests__/mapping-entry.test.js.map +1 -0
  1090. package/test/node_modules/tsconfig-paths/lib/__tests__/match-path-async.test.d.ts +1 -0
  1091. package/test/node_modules/tsconfig-paths/lib/__tests__/match-path-async.test.js +18 -0
  1092. package/test/node_modules/tsconfig-paths/lib/__tests__/match-path-async.test.js.map +1 -0
  1093. package/test/node_modules/tsconfig-paths/lib/__tests__/match-path-sync.test.d.ts +1 -0
  1094. package/test/node_modules/tsconfig-paths/lib/__tests__/match-path-sync.test.js +14 -0
  1095. package/test/node_modules/tsconfig-paths/lib/__tests__/match-path-sync.test.js.map +1 -0
  1096. package/test/node_modules/tsconfig-paths/lib/__tests__/try-path.test.d.ts +1 -0
  1097. package/test/node_modules/tsconfig-paths/lib/__tests__/try-path.test.js +124 -0
  1098. package/test/node_modules/tsconfig-paths/lib/__tests__/try-path.test.js.map +1 -0
  1099. package/test/node_modules/tsconfig-paths/lib/__tests__/tsconfig-loader.test.d.ts +1 -0
  1100. package/test/node_modules/tsconfig-paths/lib/__tests__/tsconfig-loader.test.js +328 -0
  1101. package/test/node_modules/tsconfig-paths/lib/__tests__/tsconfig-loader.test.js.map +1 -0
  1102. package/test/node_modules/tsconfig-paths/lib/config-loader.d.ts +33 -0
  1103. package/test/node_modules/tsconfig-paths/lib/config-loader.js +48 -0
  1104. package/test/node_modules/tsconfig-paths/lib/config-loader.js.map +1 -0
  1105. package/test/node_modules/tsconfig-paths/lib/filesystem.d.ts +34 -0
  1106. package/test/node_modules/tsconfig-paths/lib/filesystem.js +61 -0
  1107. package/test/node_modules/tsconfig-paths/lib/filesystem.js.map +1 -0
  1108. package/test/node_modules/tsconfig-paths/lib/index.d.ts +5 -0
  1109. package/test/node_modules/tsconfig-paths/lib/index.js +15 -0
  1110. package/test/node_modules/tsconfig-paths/lib/index.js.map +1 -0
  1111. package/test/node_modules/tsconfig-paths/lib/mapping-entry.d.ts +18 -0
  1112. package/test/node_modules/tsconfig-paths/lib/mapping-entry.js +54 -0
  1113. package/test/node_modules/tsconfig-paths/lib/mapping-entry.js.map +1 -0
  1114. package/test/node_modules/tsconfig-paths/lib/match-path-async.d.ts +21 -0
  1115. package/test/node_modules/tsconfig-paths/lib/match-path-async.js +116 -0
  1116. package/test/node_modules/tsconfig-paths/lib/match-path-async.js.map +1 -0
  1117. package/test/node_modules/tsconfig-paths/lib/match-path-sync.d.ts +32 -0
  1118. package/test/node_modules/tsconfig-paths/lib/match-path-sync.js +91 -0
  1119. package/test/node_modules/tsconfig-paths/lib/match-path-sync.js.map +1 -0
  1120. package/test/node_modules/tsconfig-paths/lib/register.d.ts +12 -0
  1121. package/test/node_modules/tsconfig-paths/lib/register.js +112 -0
  1122. package/test/node_modules/tsconfig-paths/lib/register.js.map +1 -0
  1123. package/test/node_modules/tsconfig-paths/lib/try-path.d.ts +15 -0
  1124. package/test/node_modules/tsconfig-paths/lib/try-path.js +91 -0
  1125. package/test/node_modules/tsconfig-paths/lib/try-path.js.map +1 -0
  1126. package/test/node_modules/tsconfig-paths/lib/tsconfig-loader.d.ts +28 -0
  1127. package/test/node_modules/tsconfig-paths/lib/tsconfig-loader.js +148 -0
  1128. package/test/node_modules/tsconfig-paths/lib/tsconfig-loader.js.map +1 -0
  1129. package/test/node_modules/tsconfig-paths/node_modules/.bin/json5 +15 -0
  1130. package/test/node_modules/tsconfig-paths/node_modules/.bin/json5.cmd +7 -0
  1131. package/test/node_modules/tsconfig-paths/package.json +74 -0
  1132. package/test/node_modules/tsconfig-paths/register.js +1 -0
  1133. package/test/node_modules/tsconfig-paths/src/__tests__/config-loader.test.ts +101 -0
  1134. package/test/node_modules/tsconfig-paths/src/__tests__/data/match-path-data.ts +230 -0
  1135. package/test/node_modules/tsconfig-paths/src/__tests__/filesystem.test.ts +57 -0
  1136. package/test/node_modules/tsconfig-paths/src/__tests__/mapping-entry.test.ts +43 -0
  1137. package/test/node_modules/tsconfig-paths/src/__tests__/match-path-async.test.ts +26 -0
  1138. package/test/node_modules/tsconfig-paths/src/__tests__/match-path-sync.test.ts +22 -0
  1139. package/test/node_modules/tsconfig-paths/src/__tests__/try-path.test.ts +141 -0
  1140. package/test/node_modules/tsconfig-paths/src/__tests__/tsconfig-loader.test.ts +428 -0
  1141. package/test/node_modules/tsconfig-paths/src/__tests__/tsconfig-named.json +10 -0
  1142. package/test/node_modules/tsconfig-paths/src/config-loader.ts +89 -0
  1143. package/test/node_modules/tsconfig-paths/src/filesystem.ts +93 -0
  1144. package/test/node_modules/tsconfig-paths/src/index.ts +24 -0
  1145. package/test/node_modules/tsconfig-paths/src/mapping-entry.ts +65 -0
  1146. package/test/node_modules/tsconfig-paths/src/match-path-async.ts +223 -0
  1147. package/test/node_modules/tsconfig-paths/src/match-path-sync.ts +146 -0
  1148. package/test/node_modules/tsconfig-paths/src/register.ts +123 -0
  1149. package/test/node_modules/tsconfig-paths/src/try-path.ts +103 -0
  1150. package/test/node_modules/tsconfig-paths/src/tsconfig-loader.ts +229 -0
  1151. package/test/node_modules/undici-types/LICENSE +21 -0
  1152. package/test/node_modules/undici-types/README.md +6 -0
  1153. package/test/node_modules/undici-types/agent.d.ts +32 -0
  1154. package/test/node_modules/undici-types/api.d.ts +43 -0
  1155. package/test/node_modules/undici-types/balanced-pool.d.ts +30 -0
  1156. package/test/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  1157. package/test/node_modules/undici-types/cache.d.ts +36 -0
  1158. package/test/node_modules/undici-types/client-stats.d.ts +15 -0
  1159. package/test/node_modules/undici-types/client.d.ts +108 -0
  1160. package/test/node_modules/undici-types/connector.d.ts +34 -0
  1161. package/test/node_modules/undici-types/content-type.d.ts +21 -0
  1162. package/test/node_modules/undici-types/cookies.d.ts +30 -0
  1163. package/test/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  1164. package/test/node_modules/undici-types/dispatcher.d.ts +276 -0
  1165. package/test/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  1166. package/test/node_modules/undici-types/errors.d.ts +161 -0
  1167. package/test/node_modules/undici-types/eventsource.d.ts +66 -0
  1168. package/test/node_modules/undici-types/fetch.d.ts +211 -0
  1169. package/test/node_modules/undici-types/formdata.d.ts +108 -0
  1170. package/test/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  1171. package/test/node_modules/undici-types/global-origin.d.ts +7 -0
  1172. package/test/node_modules/undici-types/h2c-client.d.ts +73 -0
  1173. package/test/node_modules/undici-types/handlers.d.ts +15 -0
  1174. package/test/node_modules/undici-types/header.d.ts +160 -0
  1175. package/test/node_modules/undici-types/index.d.ts +88 -0
  1176. package/test/node_modules/undici-types/interceptors.d.ts +73 -0
  1177. package/test/node_modules/undici-types/mock-agent.d.ts +68 -0
  1178. package/test/node_modules/undici-types/mock-call-history.d.ts +111 -0
  1179. package/test/node_modules/undici-types/mock-client.d.ts +27 -0
  1180. package/test/node_modules/undici-types/mock-errors.d.ts +12 -0
  1181. package/test/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  1182. package/test/node_modules/undici-types/mock-pool.d.ts +27 -0
  1183. package/test/node_modules/undici-types/package.json +55 -0
  1184. package/test/node_modules/undici-types/patch.d.ts +29 -0
  1185. package/test/node_modules/undici-types/pool-stats.d.ts +19 -0
  1186. package/test/node_modules/undici-types/pool.d.ts +41 -0
  1187. package/test/node_modules/undici-types/proxy-agent.d.ts +29 -0
  1188. package/test/node_modules/undici-types/readable.d.ts +68 -0
  1189. package/test/node_modules/undici-types/retry-agent.d.ts +8 -0
  1190. package/test/node_modules/undici-types/retry-handler.d.ts +125 -0
  1191. package/test/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  1192. package/test/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  1193. package/test/node_modules/undici-types/util.d.ts +18 -0
  1194. package/test/node_modules/undici-types/utility.d.ts +7 -0
  1195. package/test/node_modules/undici-types/webidl.d.ts +341 -0
  1196. package/test/node_modules/undici-types/websocket.d.ts +186 -0
  1197. package/test/node_modules/universalify/LICENSE +20 -0
  1198. package/test/node_modules/universalify/README.md +76 -0
  1199. package/test/node_modules/universalify/index.js +24 -0
  1200. package/test/node_modules/universalify/package.json +34 -0
  1201. package/test/node_modules/v8-compile-cache-lib/CHANGELOG.md +53 -0
  1202. package/test/node_modules/v8-compile-cache-lib/LICENSE +21 -0
  1203. package/test/node_modules/v8-compile-cache-lib/README.md +60 -0
  1204. package/test/node_modules/v8-compile-cache-lib/package.json +35 -0
  1205. package/test/node_modules/v8-compile-cache-lib/v8-compile-cache.d.ts +7 -0
  1206. package/test/node_modules/v8-compile-cache-lib/v8-compile-cache.js +391 -0
  1207. package/test/node_modules/which/LICENSE +15 -0
  1208. package/test/node_modules/which/README.md +51 -0
  1209. package/test/node_modules/which/bin/which.js +52 -0
  1210. package/test/node_modules/which/lib/index.js +111 -0
  1211. package/test/node_modules/which/package.json +57 -0
  1212. package/test/node_modules/yn/index.d.ts +65 -0
  1213. package/test/node_modules/yn/index.js +33 -0
  1214. package/test/node_modules/yn/lenient.js +105 -0
  1215. package/test/node_modules/yn/license +9 -0
  1216. package/test/node_modules/yn/package.json +42 -0
  1217. package/test/node_modules/yn/readme.md +83 -0
  1218. package/test/package.json +14 -0
  1219. package/test/src/cleanup.ts +10 -0
  1220. package/test/src/config.ts +35 -0
  1221. package/test/src/perf.ts +110 -0
  1222. package/test/src/prepare.ts +10 -0
  1223. package/test/src/project.ts +134 -0
  1224. package/test/src/utils/general.ts +8 -0
  1225. package/test/tests/actions.test.ts +274 -0
  1226. package/test/tests/package-config.test.ts +40 -0
  1227. package/test/tests/path-mapping.test.ts +47 -0
  1228. package/test/tests/transformer.test.ts +44 -0
  1229. package/test/tests/webpack.test.ts +71 -0
  1230. package/test/tsconfig.json +12 -0
  1231. package/tsconfig.base.json +21 -0
  1232. package/actions/check.js +0 -45
  1233. package/actions/check.js.map +0 -1
  1234. package/actions/patch.js +0 -82
  1235. package/actions/patch.js.map +0 -1
  1236. package/actions/unpatch.js +0 -82
  1237. package/actions/unpatch.js.map +0 -1
  1238. package/bin/ts-patch.js +0 -33
  1239. package/bin/ts-patch.js.map +0 -1
  1240. package/cli/cli.js +0 -96
  1241. package/cli/cli.js.map +0 -1
  1242. package/cli/commands.js +0 -49
  1243. package/cli/commands.js.map +0 -1
  1244. package/config.js +0 -50
  1245. package/config.js.map +0 -1
  1246. package/module/module-file.d.ts +0 -9
  1247. package/module/module-file.js +0 -97
  1248. package/module/module-file.js.map +0 -1
  1249. package/module/ts-module.d.ts +0 -35
  1250. package/module/ts-module.js +0 -100
  1251. package/module/ts-module.js.map +0 -1
  1252. package/patch/get-patched-source.js +0 -69
  1253. package/patch/get-patched-source.js.map +0 -1
  1254. package/patch/transformers/fix-ts-early-return.js +0 -51
  1255. package/patch/transformers/fix-ts-early-return.js.map +0 -1
  1256. package/resources/module-patch.js +0 -609
  1257. package/system/cache.js +0 -69
  1258. package/system/cache.js.map +0 -1
  1259. package/tsconfig.tsbuildinfo +0 -1
  1260. package/utils/file-utils.js +0 -98
  1261. package/utils/file-utils.js.map +0 -1
  1262. /package/{actions → dist/actions}/check.d.ts +0 -0
  1263. /package/{actions → dist/actions}/index.d.ts +0 -0
  1264. /package/{actions → dist/actions}/index.js +0 -0
  1265. /package/{actions → dist/actions}/index.js.map +0 -0
  1266. /package/{actions → dist/actions}/install.d.ts +0 -0
  1267. /package/{actions → dist/actions}/install.js +0 -0
  1268. /package/{actions → dist/actions}/install.js.map +0 -0
  1269. /package/{actions → dist/actions}/patch.d.ts +0 -0
  1270. /package/{actions → dist/actions}/uninstall.d.ts +0 -0
  1271. /package/{actions → dist/actions}/uninstall.js +0 -0
  1272. /package/{actions → dist/actions}/uninstall.js.map +0 -0
  1273. /package/{actions → dist/actions}/unpatch.d.ts +0 -0
  1274. /package/{bin → dist/bin}/ts-patch.d.ts +0 -0
  1275. /package/{bin → dist/bin}/tspc.d.ts +0 -0
  1276. /package/{bin → dist/bin}/tspc.js +0 -0
  1277. /package/{bin → dist/bin}/tspc.js.map +0 -0
  1278. /package/{cli → dist/cli}/cli.d.ts +0 -0
  1279. /package/{cli → dist/cli}/commands.d.ts +0 -0
  1280. /package/{cli → dist/cli}/help-menu.d.ts +0 -0
  1281. /package/{cli → dist/cli}/help-menu.js +0 -0
  1282. /package/{cli → dist/cli}/help-menu.js.map +0 -0
  1283. /package/{cli → dist/cli}/options.d.ts +0 -0
  1284. /package/{cli → dist/cli}/options.js +0 -0
  1285. /package/{cli → dist/cli}/options.js.map +0 -0
  1286. /package/{compiler → dist/compiler}/package.json +0 -0
  1287. /package/{compiler → dist/compiler}/tsc.js +0 -0
  1288. /package/{compiler → dist/compiler}/tsserver.js +0 -0
  1289. /package/{compiler → dist/compiler}/tsserverlibrary.js +0 -0
  1290. /package/{compiler → dist/compiler}/typescript.js +0 -0
  1291. /package/{config.d.ts → dist/config.d.ts} +0 -0
  1292. /package/{index.d.ts → dist/index.d.ts} +0 -0
  1293. /package/{index.js → dist/index.js} +0 -0
  1294. /package/{index.js.map → dist/index.js.map} +0 -0
  1295. /package/{module → dist/module}/get-live-module.d.ts +0 -0
  1296. /package/{module → dist/module}/get-live-module.js +0 -0
  1297. /package/{module → dist/module}/get-live-module.js.map +0 -0
  1298. /package/{module → dist/module}/index.d.ts +0 -0
  1299. /package/{module → dist/module}/index.js +0 -0
  1300. /package/{module → dist/module}/index.js.map +0 -0
  1301. /package/{module → dist/module}/module-source.d.ts +0 -0
  1302. /package/{module → dist/module}/module-source.js +0 -0
  1303. /package/{module → dist/module}/module-source.js.map +0 -0
  1304. /package/{module → dist/module}/source-section.d.ts +0 -0
  1305. /package/{module → dist/module}/source-section.js +0 -0
  1306. /package/{module → dist/module}/source-section.js.map +0 -0
  1307. /package/{options.d.ts → dist/options.d.ts} +0 -0
  1308. /package/{options.js → dist/options.js} +0 -0
  1309. /package/{options.js.map → dist/options.js.map} +0 -0
  1310. /package/{patch → dist/patch}/get-patched-source.d.ts +0 -0
  1311. /package/{patch → dist/patch}/patch-detail.d.ts +0 -0
  1312. /package/{patch → dist/patch}/patch-detail.js +0 -0
  1313. /package/{patch → dist/patch}/patch-detail.js.map +0 -0
  1314. /package/{patch → dist/patch}/patch-module.d.ts +0 -0
  1315. /package/{patch → dist/patch}/patch-module.js +0 -0
  1316. /package/{patch → dist/patch}/patch-module.js.map +0 -0
  1317. /package/{patch → dist/patch}/transformers/add-original-create-program.d.ts +0 -0
  1318. /package/{patch → dist/patch}/transformers/add-original-create-program.js +0 -0
  1319. /package/{patch → dist/patch}/transformers/add-original-create-program.js.map +0 -0
  1320. /package/{patch → dist/patch}/transformers/fix-ts-early-return.d.ts +0 -0
  1321. /package/{patch → dist/patch}/transformers/hook-tsc-exec.d.ts +0 -0
  1322. /package/{patch → dist/patch}/transformers/hook-tsc-exec.js +0 -0
  1323. /package/{patch → dist/patch}/transformers/hook-tsc-exec.js.map +0 -0
  1324. /package/{patch → dist/patch}/transformers/index.d.ts +0 -0
  1325. /package/{patch → dist/patch}/transformers/index.js +0 -0
  1326. /package/{patch → dist/patch}/transformers/index.js.map +0 -0
  1327. /package/{patch → dist/patch}/transformers/merge-statements.d.ts +0 -0
  1328. /package/{patch → dist/patch}/transformers/merge-statements.js +0 -0
  1329. /package/{patch → dist/patch}/transformers/merge-statements.js.map +0 -0
  1330. /package/{patch → dist/patch}/transformers/patch-create-program.d.ts +0 -0
  1331. /package/{patch → dist/patch}/transformers/patch-create-program.js +0 -0
  1332. /package/{patch → dist/patch}/transformers/patch-create-program.js.map +0 -0
  1333. /package/{patch → dist/patch}/transformers/patch-emitter.d.ts +0 -0
  1334. /package/{patch → dist/patch}/transformers/patch-emitter.js +0 -0
  1335. /package/{patch → dist/patch}/transformers/patch-emitter.js.map +0 -0
  1336. /package/{plugin-types.d.ts → dist/plugin-types.d.ts} +0 -0
  1337. /package/{plugin-types.js → dist/plugin-types.js} +0 -0
  1338. /package/{plugin-types.js.map → dist/plugin-types.js.map} +0 -0
  1339. /package/{resources → dist/resources}/module-patch.d.ts +0 -0
  1340. /package/{slice → dist/slice}/module-slice.d.ts +0 -0
  1341. /package/{slice → dist/slice}/module-slice.js +0 -0
  1342. /package/{slice → dist/slice}/module-slice.js.map +0 -0
  1343. /package/{slice → dist/slice}/ts54.d.ts +0 -0
  1344. /package/{slice → dist/slice}/ts54.js +0 -0
  1345. /package/{slice → dist/slice}/ts54.js.map +0 -0
  1346. /package/{slice → dist/slice}/ts55.d.ts +0 -0
  1347. /package/{slice → dist/slice}/ts55.js +0 -0
  1348. /package/{slice → dist/slice}/ts55.js.map +0 -0
  1349. /package/{slice → dist/slice}/ts552.d.ts +0 -0
  1350. /package/{slice → dist/slice}/ts552.js +0 -0
  1351. /package/{slice → dist/slice}/ts552.js.map +0 -0
  1352. /package/{system → dist/system}/cache.d.ts +0 -0
  1353. /package/{system → dist/system}/errors.d.ts +0 -0
  1354. /package/{system → dist/system}/errors.js +0 -0
  1355. /package/{system → dist/system}/errors.js.map +0 -0
  1356. /package/{system → dist/system}/index.d.ts +0 -0
  1357. /package/{system → dist/system}/index.js +0 -0
  1358. /package/{system → dist/system}/index.js.map +0 -0
  1359. /package/{system → dist/system}/logger.d.ts +0 -0
  1360. /package/{system → dist/system}/logger.js +0 -0
  1361. /package/{system → dist/system}/logger.js.map +0 -0
  1362. /package/{system → dist/system}/types.d.ts +0 -0
  1363. /package/{system → dist/system}/types.js +0 -0
  1364. /package/{system → dist/system}/types.js.map +0 -0
  1365. /package/{ts-package.d.ts → dist/ts-package.d.ts} +0 -0
  1366. /package/{ts-package.js → dist/ts-package.js} +0 -0
  1367. /package/{ts-package.js.map → dist/ts-package.js.map} +0 -0
  1368. /package/{utils → dist/utils}/file-utils.d.ts +0 -0
  1369. /package/{utils → dist/utils}/find-cache-dir.d.ts +0 -0
  1370. /package/{utils → dist/utils}/find-cache-dir.js +0 -0
  1371. /package/{utils → dist/utils}/find-cache-dir.js.map +0 -0
  1372. /package/{utils → dist/utils}/general.d.ts +0 -0
  1373. /package/{utils → dist/utils}/general.js +0 -0
  1374. /package/{utils → dist/utils}/general.js.map +0 -0
  1375. /package/{utils → dist/utils}/index.d.ts +0 -0
  1376. /package/{utils → dist/utils}/index.js +0 -0
  1377. /package/{utils → dist/utils}/index.js.map +0 -0
@@ -0,0 +1,561 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupContext = exports.createEvalAwarePartialHost = exports.EvalState = exports.createRepl = exports.REPL_NAME = exports.REPL_FILENAME = exports.STDIN_NAME = exports.STDIN_FILENAME = exports.EVAL_NAME = exports.EVAL_FILENAME = void 0;
4
+ const os_1 = require("os");
5
+ const path_1 = require("path");
6
+ const repl_1 = require("repl");
7
+ const vm_1 = require("vm");
8
+ const index_1 = require("./index");
9
+ const fs_1 = require("fs");
10
+ const console_1 = require("console");
11
+ const assert = require("assert");
12
+ const module_1 = require("module");
13
+ // Lazy-loaded.
14
+ let _processTopLevelAwait;
15
+ function getProcessTopLevelAwait() {
16
+ if (_processTopLevelAwait === undefined) {
17
+ ({
18
+ processTopLevelAwait: _processTopLevelAwait,
19
+ } = require('../dist-raw/node-internal-repl-await'));
20
+ }
21
+ return _processTopLevelAwait;
22
+ }
23
+ let diff;
24
+ function getDiffLines() {
25
+ if (diff === undefined) {
26
+ diff = require('diff');
27
+ }
28
+ return diff.diffLines;
29
+ }
30
+ /** @internal */
31
+ exports.EVAL_FILENAME = `[eval].ts`;
32
+ /** @internal */
33
+ exports.EVAL_NAME = `[eval]`;
34
+ /** @internal */
35
+ exports.STDIN_FILENAME = `[stdin].ts`;
36
+ /** @internal */
37
+ exports.STDIN_NAME = `[stdin]`;
38
+ /** @internal */
39
+ exports.REPL_FILENAME = '<repl>.ts';
40
+ /** @internal */
41
+ exports.REPL_NAME = '<repl>';
42
+ /**
43
+ * Create a ts-node REPL instance.
44
+ *
45
+ * Pay close attention to the example below. Today, the API requires a few lines
46
+ * of boilerplate to correctly bind the `ReplService` to the ts-node `Service` and
47
+ * vice-versa.
48
+ *
49
+ * Usage example:
50
+ *
51
+ * const repl = tsNode.createRepl();
52
+ * const service = tsNode.create({...repl.evalAwarePartialHost});
53
+ * repl.setService(service);
54
+ * repl.start();
55
+ *
56
+ * @category REPL
57
+ */
58
+ function createRepl(options = {}) {
59
+ var _a, _b, _c, _d, _e;
60
+ const { ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl = true } = options;
61
+ let service = options.service;
62
+ let nodeReplServer;
63
+ // If `useGlobal` is not true, then REPL creates a context when started.
64
+ // This stores a reference to it or to `global`, whichever is used, after REPL has started.
65
+ let context;
66
+ const state = (_a = options.state) !== null && _a !== void 0 ? _a : new EvalState((0, path_1.join)(process.cwd(), exports.REPL_FILENAME));
67
+ const evalAwarePartialHost = createEvalAwarePartialHost(state, options.composeWithEvalAwarePartialHost);
68
+ const stdin = (_b = options.stdin) !== null && _b !== void 0 ? _b : process.stdin;
69
+ const stdout = (_c = options.stdout) !== null && _c !== void 0 ? _c : process.stdout;
70
+ const stderr = (_d = options.stderr) !== null && _d !== void 0 ? _d : process.stderr;
71
+ const _console = stdout === process.stdout && stderr === process.stderr
72
+ ? console
73
+ : new console_1.Console(stdout, stderr);
74
+ const replService = {
75
+ state: (_e = options.state) !== null && _e !== void 0 ? _e : new EvalState((0, path_1.join)(process.cwd(), exports.EVAL_FILENAME)),
76
+ setService,
77
+ evalCode,
78
+ evalCodeInternal,
79
+ nodeEval,
80
+ evalAwarePartialHost,
81
+ start,
82
+ startInternal,
83
+ stdin,
84
+ stdout,
85
+ stderr,
86
+ console: _console,
87
+ };
88
+ return replService;
89
+ function setService(_service) {
90
+ service = _service;
91
+ if (ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl) {
92
+ service.addDiagnosticFilter({
93
+ appliesToAllFiles: false,
94
+ filenamesAbsolute: [state.path],
95
+ diagnosticsIgnored: [
96
+ 2393,
97
+ 6133,
98
+ 7027,
99
+ ...(service.shouldReplAwait ? topLevelAwaitDiagnosticCodes : []),
100
+ ],
101
+ });
102
+ }
103
+ }
104
+ function evalCode(code) {
105
+ const result = appendCompileAndEvalInput({
106
+ service: service,
107
+ state,
108
+ input: code,
109
+ context,
110
+ overrideIsCompletion: false,
111
+ });
112
+ assert(result.containsTopLevelAwait === false);
113
+ return result.value;
114
+ }
115
+ function evalCodeInternal(options) {
116
+ const { code, enableTopLevelAwait, context } = options;
117
+ return appendCompileAndEvalInput({
118
+ service: service,
119
+ state,
120
+ input: code,
121
+ enableTopLevelAwait,
122
+ context,
123
+ });
124
+ }
125
+ function nodeEval(code, context, _filename, callback) {
126
+ // TODO: Figure out how to handle completion here.
127
+ if (code === '.scope') {
128
+ callback(null);
129
+ return;
130
+ }
131
+ try {
132
+ const evalResult = evalCodeInternal({
133
+ code,
134
+ enableTopLevelAwait: true,
135
+ context,
136
+ });
137
+ if (evalResult.containsTopLevelAwait) {
138
+ (async () => {
139
+ try {
140
+ callback(null, await evalResult.valuePromise);
141
+ }
142
+ catch (promiseError) {
143
+ handleError(promiseError);
144
+ }
145
+ })();
146
+ }
147
+ else {
148
+ callback(null, evalResult.value);
149
+ }
150
+ }
151
+ catch (error) {
152
+ handleError(error);
153
+ }
154
+ // Log TSErrors, check if they're recoverable, log helpful hints for certain
155
+ // well-known errors, and invoke `callback()`
156
+ // TODO should evalCode API get the same error-handling benefits?
157
+ function handleError(error) {
158
+ var _a, _b;
159
+ // Don't show TLA hint if the user explicitly disabled repl top level await
160
+ const canLogTopLevelAwaitHint = service.options.experimentalReplAwait !== false &&
161
+ !service.shouldReplAwait;
162
+ if (error instanceof index_1.TSError) {
163
+ // Support recoverable compilations using >= node 6.
164
+ if (repl_1.Recoverable && isRecoverable(error)) {
165
+ callback(new repl_1.Recoverable(error));
166
+ return;
167
+ }
168
+ else {
169
+ _console.error(error);
170
+ if (canLogTopLevelAwaitHint &&
171
+ error.diagnosticCodes.some((dC) => topLevelAwaitDiagnosticCodes.includes(dC))) {
172
+ _console.error(getTopLevelAwaitHint());
173
+ }
174
+ callback(null);
175
+ }
176
+ }
177
+ else {
178
+ let _error = error;
179
+ if (canLogTopLevelAwaitHint &&
180
+ _error instanceof SyntaxError &&
181
+ ((_a = _error.message) === null || _a === void 0 ? void 0 : _a.includes('await is only valid'))) {
182
+ try {
183
+ // Only way I know to make our hint appear after the error
184
+ _error.message += `\n\n${getTopLevelAwaitHint()}`;
185
+ _error.stack = (_b = _error.stack) === null || _b === void 0 ? void 0 : _b.replace(/(SyntaxError:.*)/, (_, $1) => `${$1}\n\n${getTopLevelAwaitHint()}`);
186
+ }
187
+ catch { }
188
+ }
189
+ callback(_error);
190
+ }
191
+ }
192
+ function getTopLevelAwaitHint() {
193
+ return `Hint: REPL top-level await requires TypeScript version 3.8 or higher and target ES2018 or higher. You are using TypeScript ${service.ts.version} and target ${service.ts.ScriptTarget[service.config.options.target]}.`;
194
+ }
195
+ }
196
+ // Note: `code` argument is deprecated
197
+ function start(code) {
198
+ startInternal({ code });
199
+ }
200
+ // Note: `code` argument is deprecated
201
+ function startInternal(options) {
202
+ const { code, forceToBeModule = true, ...optionsOverride } = options !== null && options !== void 0 ? options : {};
203
+ // TODO assert that `service` is set; remove all `service!` non-null assertions
204
+ // Eval incoming code before the REPL starts.
205
+ // Note: deprecated
206
+ if (code) {
207
+ try {
208
+ evalCode(`${code}\n`);
209
+ }
210
+ catch (err) {
211
+ _console.error(err);
212
+ // Note: should not be killing the process here, but this codepath is deprecated anyway
213
+ process.exit(1);
214
+ }
215
+ }
216
+ // In case the typescript compiler hasn't compiled anything yet,
217
+ // make it run though compilation at least one time before
218
+ // the REPL starts for a snappier user experience on startup.
219
+ service === null || service === void 0 ? void 0 : service.compile('', state.path);
220
+ const repl = (0, repl_1.start)({
221
+ prompt: '> ',
222
+ input: replService.stdin,
223
+ output: replService.stdout,
224
+ // Mimicking node's REPL implementation: https://github.com/nodejs/node/blob/168b22ba073ee1cbf8d0bcb4ded7ff3099335d04/lib/internal/repl.js#L28-L30
225
+ terminal: stdout.isTTY &&
226
+ !parseInt(index_1.env.NODE_NO_READLINE, 10),
227
+ eval: nodeEval,
228
+ useGlobal: true,
229
+ ...optionsOverride,
230
+ });
231
+ nodeReplServer = repl;
232
+ context = repl.context;
233
+ // Bookmark the point where we should reset the REPL state.
234
+ const resetEval = appendToEvalState(state, '');
235
+ function reset() {
236
+ resetEval();
237
+ // Hard fix for TypeScript forcing `Object.defineProperty(exports, ...)`.
238
+ runInContext('exports = module.exports', state.path, context);
239
+ if (forceToBeModule) {
240
+ state.input += 'export {};void 0;\n';
241
+ }
242
+ // Declare node builtins.
243
+ // Skip the same builtins as `addBuiltinLibsToObject`:
244
+ // those starting with _
245
+ // those containing /
246
+ // those that already exist as globals
247
+ // Intentionally suppress type errors in case @types/node does not declare any of them, and because
248
+ // `declare import` is technically invalid syntax.
249
+ // Avoid this when in transpileOnly, because third-party transpilers may not handle `declare import`.
250
+ if (!(service === null || service === void 0 ? void 0 : service.transpileOnly)) {
251
+ state.input += `// @ts-ignore\n${module_1.builtinModules
252
+ .filter((name) => !name.startsWith('_') &&
253
+ !name.includes('/') &&
254
+ !['console', 'module', 'process'].includes(name))
255
+ .map((name) => `declare import ${name} = require('${name}')`)
256
+ .join(';')}\n`;
257
+ }
258
+ }
259
+ reset();
260
+ repl.on('reset', reset);
261
+ repl.defineCommand('type', {
262
+ help: 'Check the type of a TypeScript identifier',
263
+ action: function (identifier) {
264
+ if (!identifier) {
265
+ repl.displayPrompt();
266
+ return;
267
+ }
268
+ const undo = appendToEvalState(state, identifier);
269
+ const { name, comment } = service.getTypeInfo(state.input, state.path, state.input.length);
270
+ undo();
271
+ if (name)
272
+ repl.outputStream.write(`${name}\n`);
273
+ if (comment)
274
+ repl.outputStream.write(`${comment}\n`);
275
+ repl.displayPrompt();
276
+ },
277
+ });
278
+ // Set up REPL history when available natively via node.js >= 11.
279
+ if (repl.setupHistory) {
280
+ const historyPath = index_1.env.TS_NODE_HISTORY || (0, path_1.join)((0, os_1.homedir)(), '.ts_node_repl_history');
281
+ repl.setupHistory(historyPath, (err) => {
282
+ if (!err)
283
+ return;
284
+ _console.error(err);
285
+ process.exit(1);
286
+ });
287
+ }
288
+ return repl;
289
+ }
290
+ }
291
+ exports.createRepl = createRepl;
292
+ /**
293
+ * Eval state management. Stores virtual `[eval].ts` file
294
+ */
295
+ class EvalState {
296
+ constructor(path) {
297
+ this.path = path;
298
+ /** @internal */
299
+ this.input = '';
300
+ /** @internal */
301
+ this.output = '';
302
+ /** @internal */
303
+ this.version = 0;
304
+ /** @internal */
305
+ this.lines = 0;
306
+ }
307
+ }
308
+ exports.EvalState = EvalState;
309
+ function createEvalAwarePartialHost(state, composeWith) {
310
+ function readFile(path) {
311
+ if (path === state.path)
312
+ return state.input;
313
+ if (composeWith === null || composeWith === void 0 ? void 0 : composeWith.readFile)
314
+ return composeWith.readFile(path);
315
+ try {
316
+ return (0, fs_1.readFileSync)(path, 'utf8');
317
+ }
318
+ catch (err) {
319
+ /* Ignore. */
320
+ }
321
+ }
322
+ function fileExists(path) {
323
+ if (path === state.path)
324
+ return true;
325
+ if (composeWith === null || composeWith === void 0 ? void 0 : composeWith.fileExists)
326
+ return composeWith.fileExists(path);
327
+ try {
328
+ const stats = (0, fs_1.statSync)(path);
329
+ return stats.isFile() || stats.isFIFO();
330
+ }
331
+ catch (err) {
332
+ return false;
333
+ }
334
+ }
335
+ return { readFile, fileExists };
336
+ }
337
+ exports.createEvalAwarePartialHost = createEvalAwarePartialHost;
338
+ const sourcemapCommentRe = /\/\/# ?sourceMappingURL=\S+[\s\r\n]*$/;
339
+ /**
340
+ * Evaluate the code snippet.
341
+ *
342
+ * Append it to virtual .ts file, compile, handle compiler errors, compute a diff of the JS, and eval any code that
343
+ * appears as "added" in the diff.
344
+ */
345
+ function appendCompileAndEvalInput(options) {
346
+ const { service, state, wrappedErr, enableTopLevelAwait = false, context, overrideIsCompletion, } = options;
347
+ let { input } = options;
348
+ // It's confusing for `{ a: 1 }` to be interpreted as a block statement
349
+ // rather than an object literal. So, we first try to wrap it in
350
+ // parentheses, so that it will be interpreted as an expression.
351
+ // Based on https://github.com/nodejs/node/blob/c2e6822153bad023ab7ebd30a6117dcc049e475c/lib/repl.js#L413-L422
352
+ let wrappedCmd = false;
353
+ if (!wrappedErr && /^\s*{/.test(input) && !/;\s*$/.test(input)) {
354
+ input = `(${input.trim()})\n`;
355
+ wrappedCmd = true;
356
+ }
357
+ const lines = state.lines;
358
+ const isCompletion = overrideIsCompletion !== null && overrideIsCompletion !== void 0 ? overrideIsCompletion : !/\n$/.test(input);
359
+ const undo = appendToEvalState(state, input);
360
+ let output;
361
+ // Based on https://github.com/nodejs/node/blob/92573721c7cff104ccb82b6ed3e8aa69c4b27510/lib/repl.js#L457-L461
362
+ function adjustUseStrict(code) {
363
+ // "void 0" keeps the repl from returning "use strict" as the result
364
+ // value for statements and declarations that don't return a value.
365
+ return code.replace(/^"use strict";/, '"use strict"; void 0;');
366
+ }
367
+ try {
368
+ output = service.compile(state.input, state.path, -lines);
369
+ }
370
+ catch (err) {
371
+ undo();
372
+ if (wrappedCmd) {
373
+ if (err instanceof index_1.TSError && err.diagnosticCodes[0] === 2339) {
374
+ // Ensure consistent and more sane behavior between { a: 1 }['b'] and ({ a: 1 }['b'])
375
+ throw err;
376
+ }
377
+ // Unwrap and try again
378
+ return appendCompileAndEvalInput({
379
+ ...options,
380
+ wrappedErr: err,
381
+ });
382
+ }
383
+ if (wrappedErr)
384
+ throw wrappedErr;
385
+ throw err;
386
+ }
387
+ output = adjustUseStrict(output);
388
+ // Note: REPL does not respect sourcemaps!
389
+ // To properly do that, we'd need to prefix the code we eval -- which comes
390
+ // from `diffLines` -- with newlines so that it's at the proper line numbers.
391
+ // Then we'd need to ensure each bit of eval-ed code, if there are multiples,
392
+ // has the sourcemap appended to it.
393
+ // We might also need to integrate with our sourcemap hooks' cache; I'm not sure.
394
+ const outputWithoutSourcemapComment = output.replace(sourcemapCommentRe, '');
395
+ const oldOutputWithoutSourcemapComment = state.output.replace(sourcemapCommentRe, '');
396
+ // Use `diff` to check for new JavaScript to execute.
397
+ const changes = getDiffLines()(oldOutputWithoutSourcemapComment, outputWithoutSourcemapComment);
398
+ if (isCompletion) {
399
+ undo();
400
+ }
401
+ else {
402
+ state.output = output;
403
+ // Insert a semicolon to make sure that the code doesn't interact with the next line,
404
+ // for example to prevent `2\n+ 2` from producing 4.
405
+ // This is safe since the output will not change since we can only get here with successful inputs,
406
+ // and adding a semicolon to the end of a successful input won't ever change the output.
407
+ state.input = state.input.replace(/([^\n\s])([\n\s]*)$/, (all, lastChar, whitespace) => {
408
+ if (lastChar !== ';')
409
+ return `${lastChar};${whitespace}`;
410
+ return all;
411
+ });
412
+ }
413
+ let commands = [];
414
+ let containsTopLevelAwait = false;
415
+ // Build a list of "commands": bits of JS code in the diff that must be executed.
416
+ for (const change of changes) {
417
+ if (change.added) {
418
+ if (enableTopLevelAwait &&
419
+ service.shouldReplAwait &&
420
+ change.value.indexOf('await') > -1) {
421
+ const processTopLevelAwait = getProcessTopLevelAwait();
422
+ // Newline prevents comments to mess with wrapper
423
+ const wrappedResult = processTopLevelAwait(change.value + '\n');
424
+ if (wrappedResult !== null) {
425
+ containsTopLevelAwait = true;
426
+ commands.push({
427
+ mustAwait: true,
428
+ execCommand: () => runInContext(wrappedResult, state.path, context),
429
+ });
430
+ continue;
431
+ }
432
+ }
433
+ commands.push({
434
+ execCommand: () => runInContext(change.value, state.path, context),
435
+ });
436
+ }
437
+ }
438
+ // Execute all commands asynchronously if necessary, returning the result or a
439
+ // promise of the result.
440
+ if (containsTopLevelAwait) {
441
+ return {
442
+ containsTopLevelAwait,
443
+ valuePromise: (async () => {
444
+ let value;
445
+ for (const command of commands) {
446
+ const r = command.execCommand();
447
+ value = command.mustAwait ? await r : r;
448
+ }
449
+ return value;
450
+ })(),
451
+ };
452
+ }
453
+ else {
454
+ return {
455
+ containsTopLevelAwait: false,
456
+ value: commands.reduce((_, c) => c.execCommand(), undefined),
457
+ };
458
+ }
459
+ }
460
+ /**
461
+ * Low-level execution of JS code in context
462
+ */
463
+ function runInContext(code, filename, context) {
464
+ const script = new vm_1.Script(code, { filename });
465
+ if (context === undefined || context === global) {
466
+ return script.runInThisContext();
467
+ }
468
+ else {
469
+ return script.runInContext(context);
470
+ }
471
+ }
472
+ /**
473
+ * Append to the eval instance and return an undo function.
474
+ */
475
+ function appendToEvalState(state, input) {
476
+ const undoInput = state.input;
477
+ const undoVersion = state.version;
478
+ const undoOutput = state.output;
479
+ const undoLines = state.lines;
480
+ state.input += input;
481
+ state.lines += lineCount(input);
482
+ state.version++;
483
+ return function () {
484
+ state.input = undoInput;
485
+ state.output = undoOutput;
486
+ state.version = undoVersion;
487
+ state.lines = undoLines;
488
+ };
489
+ }
490
+ /**
491
+ * Count the number of lines.
492
+ */
493
+ function lineCount(value) {
494
+ let count = 0;
495
+ for (const char of value) {
496
+ if (char === '\n') {
497
+ count++;
498
+ }
499
+ }
500
+ return count;
501
+ }
502
+ /**
503
+ * TS diagnostic codes which are recoverable, meaning that the user likely entered an incomplete line of code
504
+ * and should be prompted for the next. For example, starting a multi-line for() loop and not finishing it.
505
+ * null value means code is always recoverable. `Set` means code is only recoverable when occurring alongside at least one
506
+ * of the other codes.
507
+ */
508
+ const RECOVERY_CODES = new Map([
509
+ [1003, null],
510
+ [1005, null],
511
+ [1109, null],
512
+ [1126, null],
513
+ [
514
+ 1136,
515
+ new Set([1005]), // happens when typing out an object literal or block scope across multiple lines: '{ foo: 123,'
516
+ ],
517
+ [1160, null],
518
+ [1161, null],
519
+ [2355, null],
520
+ [2391, null],
521
+ [
522
+ 7010,
523
+ new Set([1005]), // happens when fn signature spread across multiple lines: 'function a(\nb: any\n) {'
524
+ ],
525
+ ]);
526
+ /**
527
+ * Diagnostic codes raised when using top-level await.
528
+ * These are suppressed when top-level await is enabled.
529
+ * When it is *not* enabled, these trigger a helpful hint about enabling top-level await.
530
+ */
531
+ const topLevelAwaitDiagnosticCodes = [
532
+ 1375,
533
+ 1378,
534
+ 1431,
535
+ 1432, // Top-level 'for await' loops are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.
536
+ ];
537
+ /**
538
+ * Check if a function can recover gracefully.
539
+ */
540
+ function isRecoverable(error) {
541
+ return error.diagnosticCodes.every((code) => {
542
+ const deps = RECOVERY_CODES.get(code);
543
+ return (deps === null ||
544
+ (deps && error.diagnosticCodes.some((code) => deps.has(code))));
545
+ });
546
+ }
547
+ /**
548
+ * @internal
549
+ * Set properties on `context` before eval-ing [stdin] or [eval] input.
550
+ */
551
+ function setupContext(context, module, filenameAndDirname) {
552
+ if (filenameAndDirname) {
553
+ context.__dirname = '.';
554
+ context.__filename = `[${filenameAndDirname}]`;
555
+ }
556
+ context.module = module;
557
+ context.exports = module.exports;
558
+ context.require = module.require.bind(module);
559
+ }
560
+ exports.setupContext = setupContext;
561
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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","sourcesContent":["import type * as _diff from 'diff';\nimport { homedir } from 'os';\nimport { join } from 'path';\nimport {\n Recoverable,\n ReplOptions,\n REPLServer,\n start as nodeReplStart,\n} from 'repl';\nimport { Context, createContext, Script } from 'vm';\nimport { Service, CreateOptions, TSError, env } from './index';\nimport { readFileSync, statSync } from 'fs';\nimport { Console } from 'console';\nimport * as assert from 'assert';\nimport type * as tty from 'tty';\nimport type * as Module from 'module';\nimport { builtinModules } from 'module';\n\n// Lazy-loaded.\nlet _processTopLevelAwait: (src: string) => string | null;\nfunction getProcessTopLevelAwait() {\n if (_processTopLevelAwait === undefined) {\n ({\n processTopLevelAwait: _processTopLevelAwait,\n } = require('../dist-raw/node-internal-repl-await'));\n }\n return _processTopLevelAwait;\n}\nlet diff: typeof _diff;\nfunction getDiffLines() {\n if (diff === undefined) {\n diff = require('diff');\n }\n return diff.diffLines;\n}\n\n/** @internal */\nexport const EVAL_FILENAME = `[eval].ts`;\n/** @internal */\nexport const EVAL_NAME = `[eval]`;\n/** @internal */\nexport const STDIN_FILENAME = `[stdin].ts`;\n/** @internal */\nexport const STDIN_NAME = `[stdin]`;\n/** @internal */\nexport const REPL_FILENAME = '<repl>.ts';\n/** @internal */\nexport const REPL_NAME = '<repl>';\n\nexport interface ReplService {\n readonly state: EvalState;\n /**\n * Bind this REPL to a ts-node compiler service. A compiler service must be bound before `eval`-ing code or starting the REPL\n */\n setService(service: Service): void;\n /**\n * Append code to the virtual <repl> source file, compile it to JavaScript, throw semantic errors if the typechecker is enabled,\n * and execute it.\n *\n * Note: typically, you will want to call `start()` instead of using this method.\n *\n * @param code string of TypeScript.\n */\n evalCode(code: string): any;\n /** @internal */\n evalCodeInternal(opts: {\n code: string;\n enableTopLevelAwait?: boolean;\n context?: Context;\n }):\n | {\n containsTopLevelAwait: true;\n valuePromise: Promise<any>;\n }\n | {\n containsTopLevelAwait: false;\n value: any;\n };\n /**\n * `eval` implementation compatible with node's REPL API\n *\n * Can be used in advanced scenarios if you want to manually create your own\n * node REPL instance and delegate eval to this `ReplService`.\n *\n * Example:\n *\n * import {start} from 'repl';\n * const replService: tsNode.ReplService = ...; // assuming you have already created a ts-node ReplService\n * const nodeRepl = start({eval: replService.eval});\n */\n nodeEval(\n code: string,\n // TODO change to `Context` in a future release? Technically a breaking change\n context: any,\n _filename: string,\n callback: (err: Error | null, result?: any) => any\n ): void;\n evalAwarePartialHost: EvalAwarePartialHost;\n /** Start a node REPL */\n start(): void;\n /**\n * Start a node REPL, evaling a string of TypeScript before it starts.\n * @deprecated\n */\n start(code: string): void;\n /** @internal */\n startInternal(opts?: ReplOptions): REPLServer;\n /** @internal */\n readonly stdin: NodeJS.ReadableStream;\n /** @internal */\n readonly stdout: NodeJS.WritableStream;\n /** @internal */\n readonly stderr: NodeJS.WritableStream;\n /** @internal */\n readonly console: Console;\n}\n\n/** @category REPL */\nexport interface CreateReplOptions {\n service?: Service;\n state?: EvalState;\n stdin?: NodeJS.ReadableStream;\n stdout?: NodeJS.WritableStream;\n stderr?: NodeJS.WritableStream;\n /** @internal */\n composeWithEvalAwarePartialHost?: EvalAwarePartialHost;\n /**\n * @internal\n * Ignore diagnostics that are annoying when interactively entering input line-by-line.\n */\n ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl?: boolean;\n}\n\n/**\n * Create a ts-node REPL instance.\n *\n * Pay close attention to the example below. Today, the API requires a few lines\n * of boilerplate to correctly bind the `ReplService` to the ts-node `Service` and\n * vice-versa.\n *\n * Usage example:\n *\n * const repl = tsNode.createRepl();\n * const service = tsNode.create({...repl.evalAwarePartialHost});\n * repl.setService(service);\n * repl.start();\n *\n * @category REPL\n */\nexport function createRepl(options: CreateReplOptions = {}) {\n const { ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl = true } = options;\n let service = options.service;\n let nodeReplServer: REPLServer;\n // If `useGlobal` is not true, then REPL creates a context when started.\n // This stores a reference to it or to `global`, whichever is used, after REPL has started.\n let context: Context | undefined;\n const state =\n options.state ?? new EvalState(join(process.cwd(), REPL_FILENAME));\n const evalAwarePartialHost = createEvalAwarePartialHost(\n state,\n options.composeWithEvalAwarePartialHost\n );\n const stdin = options.stdin ?? process.stdin;\n const stdout = options.stdout ?? process.stdout;\n const stderr = options.stderr ?? process.stderr;\n const _console =\n stdout === process.stdout && stderr === process.stderr\n ? console\n : new Console(stdout, stderr);\n\n const replService: ReplService = {\n state: options.state ?? new EvalState(join(process.cwd(), EVAL_FILENAME)),\n setService,\n evalCode,\n evalCodeInternal,\n nodeEval,\n evalAwarePartialHost,\n start,\n startInternal,\n stdin,\n stdout,\n stderr,\n console: _console,\n };\n\n return replService;\n\n function setService(_service: Service) {\n service = _service;\n if (ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl) {\n service.addDiagnosticFilter({\n appliesToAllFiles: false,\n filenamesAbsolute: [state.path],\n diagnosticsIgnored: [\n 2393, // Duplicate function implementation: https://github.com/TypeStrong/ts-node/issues/729\n 6133, // <identifier> is declared but its value is never read. https://github.com/TypeStrong/ts-node/issues/850\n 7027, // Unreachable code detected. https://github.com/TypeStrong/ts-node/issues/469\n ...(service.shouldReplAwait ? topLevelAwaitDiagnosticCodes : []),\n ],\n });\n }\n }\n\n function evalCode(code: string) {\n const result = appendCompileAndEvalInput({\n service: service!,\n state,\n input: code,\n context,\n overrideIsCompletion: false,\n });\n assert(result.containsTopLevelAwait === false);\n return result.value;\n }\n\n function evalCodeInternal(options: {\n code: string;\n enableTopLevelAwait?: boolean;\n context: Context;\n }) {\n const { code, enableTopLevelAwait, context } = options;\n return appendCompileAndEvalInput({\n service: service!,\n state,\n input: code,\n enableTopLevelAwait,\n context,\n });\n }\n\n function nodeEval(\n code: string,\n context: any,\n _filename: string,\n callback: (err: Error | null, result?: any) => any\n ) {\n // TODO: Figure out how to handle completion here.\n if (code === '.scope') {\n callback(null);\n return;\n }\n\n try {\n const evalResult = evalCodeInternal({\n code,\n enableTopLevelAwait: true,\n context,\n });\n\n if (evalResult.containsTopLevelAwait) {\n (async () => {\n try {\n callback(null, await evalResult.valuePromise);\n } catch (promiseError) {\n handleError(promiseError);\n }\n })();\n } else {\n callback(null, evalResult.value);\n }\n } catch (error) {\n handleError(error);\n }\n\n // Log TSErrors, check if they're recoverable, log helpful hints for certain\n // well-known errors, and invoke `callback()`\n // TODO should evalCode API get the same error-handling benefits?\n function handleError(error: unknown) {\n // Don't show TLA hint if the user explicitly disabled repl top level await\n const canLogTopLevelAwaitHint =\n service!.options.experimentalReplAwait !== false &&\n !service!.shouldReplAwait;\n if (error instanceof TSError) {\n // Support recoverable compilations using >= node 6.\n if (Recoverable && isRecoverable(error)) {\n callback(new Recoverable(error));\n return;\n } else {\n _console.error(error);\n\n if (\n canLogTopLevelAwaitHint &&\n error.diagnosticCodes.some((dC) =>\n topLevelAwaitDiagnosticCodes.includes(dC)\n )\n ) {\n _console.error(getTopLevelAwaitHint());\n }\n callback(null);\n }\n } else {\n let _error = error as Error | undefined;\n if (\n canLogTopLevelAwaitHint &&\n _error instanceof SyntaxError &&\n _error.message?.includes('await is only valid')\n ) {\n try {\n // Only way I know to make our hint appear after the error\n _error.message += `\\n\\n${getTopLevelAwaitHint()}`;\n _error.stack = _error.stack?.replace(\n /(SyntaxError:.*)/,\n (_, $1) => `${$1}\\n\\n${getTopLevelAwaitHint()}`\n );\n } catch {}\n }\n callback(_error as Error);\n }\n }\n function getTopLevelAwaitHint() {\n return `Hint: REPL top-level await requires TypeScript version 3.8 or higher and target ES2018 or higher. You are using TypeScript ${\n service!.ts.version\n } and target ${\n service!.ts.ScriptTarget[service!.config.options.target!]\n }.`;\n }\n }\n\n // Note: `code` argument is deprecated\n function start(code?: string) {\n startInternal({ code });\n }\n\n // Note: `code` argument is deprecated\n function startInternal(\n options?: ReplOptions & { code?: string; forceToBeModule?: boolean }\n ) {\n const { code, forceToBeModule = true, ...optionsOverride } = options ?? {};\n // TODO assert that `service` is set; remove all `service!` non-null assertions\n\n // Eval incoming code before the REPL starts.\n // Note: deprecated\n if (code) {\n try {\n evalCode(`${code}\\n`);\n } catch (err) {\n _console.error(err);\n // Note: should not be killing the process here, but this codepath is deprecated anyway\n process.exit(1);\n }\n }\n\n // In case the typescript compiler hasn't compiled anything yet,\n // make it run though compilation at least one time before\n // the REPL starts for a snappier user experience on startup.\n service?.compile('', state.path);\n\n const repl = nodeReplStart({\n prompt: '> ',\n input: replService.stdin,\n output: replService.stdout,\n // Mimicking node's REPL implementation: https://github.com/nodejs/node/blob/168b22ba073ee1cbf8d0bcb4ded7ff3099335d04/lib/internal/repl.js#L28-L30\n terminal:\n (stdout as tty.WriteStream).isTTY &&\n !parseInt(env.NODE_NO_READLINE!, 10),\n eval: nodeEval,\n useGlobal: true,\n ...optionsOverride,\n });\n\n nodeReplServer = repl;\n context = repl.context;\n\n // Bookmark the point where we should reset the REPL state.\n const resetEval = appendToEvalState(state, '');\n\n function reset() {\n resetEval();\n\n // Hard fix for TypeScript forcing `Object.defineProperty(exports, ...)`.\n runInContext('exports = module.exports', state.path, context);\n if (forceToBeModule) {\n state.input += 'export {};void 0;\\n';\n }\n\n // Declare node builtins.\n // Skip the same builtins as `addBuiltinLibsToObject`:\n // those starting with _\n // those containing /\n // those that already exist as globals\n // Intentionally suppress type errors in case @types/node does not declare any of them, and because\n // `declare import` is technically invalid syntax.\n // Avoid this when in transpileOnly, because third-party transpilers may not handle `declare import`.\n if (!service?.transpileOnly) {\n state.input += `// @ts-ignore\\n${builtinModules\n .filter(\n (name) =>\n !name.startsWith('_') &&\n !name.includes('/') &&\n !['console', 'module', 'process'].includes(name)\n )\n .map((name) => `declare import ${name} = require('${name}')`)\n .join(';')}\\n`;\n }\n }\n\n reset();\n repl.on('reset', reset);\n\n repl.defineCommand('type', {\n help: 'Check the type of a TypeScript identifier',\n action: function (identifier: string) {\n if (!identifier) {\n repl.displayPrompt();\n return;\n }\n\n const undo = appendToEvalState(state, identifier);\n const { name, comment } = service!.getTypeInfo(\n state.input,\n state.path,\n state.input.length\n );\n\n undo();\n\n if (name) repl.outputStream.write(`${name}\\n`);\n if (comment) repl.outputStream.write(`${comment}\\n`);\n repl.displayPrompt();\n },\n });\n\n // Set up REPL history when available natively via node.js >= 11.\n if (repl.setupHistory) {\n const historyPath =\n env.TS_NODE_HISTORY || join(homedir(), '.ts_node_repl_history');\n\n repl.setupHistory(historyPath, (err) => {\n if (!err) return;\n\n _console.error(err);\n process.exit(1);\n });\n }\n\n return repl;\n }\n}\n\n/**\n * Eval state management. Stores virtual `[eval].ts` file\n */\nexport class EvalState {\n /** @internal */\n input = '';\n /** @internal */\n output = '';\n /** @internal */\n version = 0;\n /** @internal */\n lines = 0;\n\n __tsNodeEvalStateBrand: unknown;\n\n constructor(public path: string) {}\n}\n\n/**\n * Filesystem host functions which are aware of the \"virtual\" `[eval].ts`, `<repl>`, or `[stdin].ts` file used to compile REPL inputs.\n * Must be passed to `create()` to create a ts-node compiler service which can compile REPL inputs.\n */\nexport type EvalAwarePartialHost = Pick<\n CreateOptions,\n 'readFile' | 'fileExists'\n>;\n\nexport function createEvalAwarePartialHost(\n state: EvalState,\n composeWith?: EvalAwarePartialHost\n): EvalAwarePartialHost {\n function readFile(path: string) {\n if (path === state.path) return state.input;\n\n if (composeWith?.readFile) return composeWith.readFile(path);\n\n try {\n return readFileSync(path, 'utf8');\n } catch (err) {\n /* Ignore. */\n }\n }\n function fileExists(path: string) {\n if (path === state.path) return true;\n\n if (composeWith?.fileExists) return composeWith.fileExists(path);\n\n try {\n const stats = statSync(path);\n return stats.isFile() || stats.isFIFO();\n } catch (err) {\n return false;\n }\n }\n return { readFile, fileExists };\n}\n\nconst sourcemapCommentRe = /\\/\\/# ?sourceMappingURL=\\S+[\\s\\r\\n]*$/;\n\ntype AppendCompileAndEvalInputResult =\n | { containsTopLevelAwait: true; valuePromise: Promise<any> }\n | { containsTopLevelAwait: false; value: any };\n/**\n * Evaluate the code snippet.\n *\n * Append it to virtual .ts file, compile, handle compiler errors, compute a diff of the JS, and eval any code that\n * appears as \"added\" in the diff.\n */\nfunction appendCompileAndEvalInput(options: {\n service: Service;\n state: EvalState;\n input: string;\n wrappedErr?: unknown;\n /** Enable top-level await but only if the TSNode service allows it. */\n enableTopLevelAwait?: boolean;\n context: Context | undefined;\n /**\n * Added so that `evalCode` can be guaranteed *not* to trigger the `isCompletion`\n * codepath. However, the `isCompletion` logic is ancient and maybe should be removed entirely.\n * Nobody's looked at it in a long time.\n */\n overrideIsCompletion?: boolean;\n}): AppendCompileAndEvalInputResult {\n const {\n service,\n state,\n wrappedErr,\n enableTopLevelAwait = false,\n context,\n overrideIsCompletion,\n } = options;\n let { input } = options;\n\n // It's confusing for `{ a: 1 }` to be interpreted as a block statement\n // rather than an object literal. So, we first try to wrap it in\n // parentheses, so that it will be interpreted as an expression.\n // Based on https://github.com/nodejs/node/blob/c2e6822153bad023ab7ebd30a6117dcc049e475c/lib/repl.js#L413-L422\n let wrappedCmd = false;\n if (!wrappedErr && /^\\s*{/.test(input) && !/;\\s*$/.test(input)) {\n input = `(${input.trim()})\\n`;\n wrappedCmd = true;\n }\n\n const lines = state.lines;\n const isCompletion = overrideIsCompletion ?? !/\\n$/.test(input);\n const undo = appendToEvalState(state, input);\n let output: string;\n\n // Based on https://github.com/nodejs/node/blob/92573721c7cff104ccb82b6ed3e8aa69c4b27510/lib/repl.js#L457-L461\n function adjustUseStrict(code: string) {\n // \"void 0\" keeps the repl from returning \"use strict\" as the result\n // value for statements and declarations that don't return a value.\n return code.replace(/^\"use strict\";/, '\"use strict\"; void 0;');\n }\n\n try {\n output = service.compile(state.input, state.path, -lines);\n } catch (err) {\n undo();\n\n if (wrappedCmd) {\n if (err instanceof TSError && err.diagnosticCodes[0] === 2339) {\n // Ensure consistent and more sane behavior between { a: 1 }['b'] and ({ a: 1 }['b'])\n throw err;\n }\n // Unwrap and try again\n return appendCompileAndEvalInput({\n ...options,\n wrappedErr: err,\n });\n }\n\n if (wrappedErr) throw wrappedErr;\n throw err;\n }\n\n output = adjustUseStrict(output);\n\n // Note: REPL does not respect sourcemaps!\n // To properly do that, we'd need to prefix the code we eval -- which comes\n // from `diffLines` -- with newlines so that it's at the proper line numbers.\n // Then we'd need to ensure each bit of eval-ed code, if there are multiples,\n // has the sourcemap appended to it.\n // We might also need to integrate with our sourcemap hooks' cache; I'm not sure.\n const outputWithoutSourcemapComment = output.replace(sourcemapCommentRe, '');\n const oldOutputWithoutSourcemapComment = state.output.replace(\n sourcemapCommentRe,\n ''\n );\n\n // Use `diff` to check for new JavaScript to execute.\n const changes = getDiffLines()(\n oldOutputWithoutSourcemapComment,\n outputWithoutSourcemapComment\n );\n\n if (isCompletion) {\n undo();\n } else {\n state.output = output;\n\n // Insert a semicolon to make sure that the code doesn't interact with the next line,\n // for example to prevent `2\\n+ 2` from producing 4.\n // This is safe since the output will not change since we can only get here with successful inputs,\n // and adding a semicolon to the end of a successful input won't ever change the output.\n state.input = state.input.replace(\n /([^\\n\\s])([\\n\\s]*)$/,\n (all, lastChar, whitespace) => {\n if (lastChar !== ';') return `${lastChar};${whitespace}`;\n return all;\n }\n );\n }\n\n let commands: Array<{ mustAwait?: true; execCommand: () => any }> = [];\n let containsTopLevelAwait = false;\n\n // Build a list of \"commands\": bits of JS code in the diff that must be executed.\n for (const change of changes) {\n if (change.added) {\n if (\n enableTopLevelAwait &&\n service.shouldReplAwait &&\n change.value.indexOf('await') > -1\n ) {\n const processTopLevelAwait = getProcessTopLevelAwait();\n\n // Newline prevents comments to mess with wrapper\n const wrappedResult = processTopLevelAwait(change.value + '\\n');\n if (wrappedResult !== null) {\n containsTopLevelAwait = true;\n commands.push({\n mustAwait: true,\n execCommand: () => runInContext(wrappedResult, state.path, context),\n });\n continue;\n }\n }\n commands.push({\n execCommand: () => runInContext(change.value, state.path, context),\n });\n }\n }\n\n // Execute all commands asynchronously if necessary, returning the result or a\n // promise of the result.\n if (containsTopLevelAwait) {\n return {\n containsTopLevelAwait,\n valuePromise: (async () => {\n let value;\n for (const command of commands) {\n const r = command.execCommand();\n value = command.mustAwait ? await r : r;\n }\n return value;\n })(),\n };\n } else {\n return {\n containsTopLevelAwait: false,\n value: commands.reduce<any>((_, c) => c.execCommand(), undefined),\n };\n }\n}\n\n/**\n * Low-level execution of JS code in context\n */\nfunction runInContext(code: string, filename: string, context?: Context) {\n const script = new Script(code, { filename });\n\n if (context === undefined || context === global) {\n return script.runInThisContext();\n } else {\n return script.runInContext(context);\n }\n}\n\n/**\n * Append to the eval instance and return an undo function.\n */\nfunction appendToEvalState(state: EvalState, input: string) {\n const undoInput = state.input;\n const undoVersion = state.version;\n const undoOutput = state.output;\n const undoLines = state.lines;\n\n state.input += input;\n state.lines += lineCount(input);\n state.version++;\n\n return function () {\n state.input = undoInput;\n state.output = undoOutput;\n state.version = undoVersion;\n state.lines = undoLines;\n };\n}\n\n/**\n * Count the number of lines.\n */\nfunction lineCount(value: string) {\n let count = 0;\n\n for (const char of value) {\n if (char === '\\n') {\n count++;\n }\n }\n\n return count;\n}\n\n/**\n * TS diagnostic codes which are recoverable, meaning that the user likely entered an incomplete line of code\n * and should be prompted for the next. For example, starting a multi-line for() loop and not finishing it.\n * null value means code is always recoverable. `Set` means code is only recoverable when occurring alongside at least one\n * of the other codes.\n */\nconst RECOVERY_CODES: Map<number, Set<number> | null> = new Map([\n [1003, null], // \"Identifier expected.\"\n [1005, null], // \"')' expected.\", \"'}' expected.\"\n [1109, null], // \"Expression expected.\"\n [1126, null], // \"Unexpected end of text.\"\n [\n 1136, // \"Property assignment expected.\"\n new Set([1005]), // happens when typing out an object literal or block scope across multiple lines: '{ foo: 123,'\n ],\n [1160, null], // \"Unterminated template literal.\"\n [1161, null], // \"Unterminated regular expression literal.\"\n [2355, null], // \"A function whose declared type is neither 'void' nor 'any' must return a value.\"\n [2391, null], // \"Function implementation is missing or not immediately following the declaration.\"\n [\n 7010, // \"Function, which lacks return-type annotation, implicitly has an 'any' return type.\"\n new Set([1005]), // happens when fn signature spread across multiple lines: 'function a(\\nb: any\\n) {'\n ],\n]);\n\n/**\n * Diagnostic codes raised when using top-level await.\n * These are suppressed when top-level await is enabled.\n * When it is *not* enabled, these trigger a helpful hint about enabling top-level await.\n */\nconst topLevelAwaitDiagnosticCodes = [\n 1375, // 'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\n 1378, // Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\n 1431, // 'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\n 1432, // Top-level 'for await' loops are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\n];\n\n/**\n * Check if a function can recover gracefully.\n */\nfunction isRecoverable(error: TSError) {\n return error.diagnosticCodes.every((code) => {\n const deps = RECOVERY_CODES.get(code);\n return (\n deps === null ||\n (deps && error.diagnosticCodes.some((code) => deps.has(code)))\n );\n });\n}\n\n/**\n * @internal\n * Set properties on `context` before eval-ing [stdin] or [eval] input.\n */\nexport function setupContext(\n context: any,\n module: Module,\n filenameAndDirname: 'eval' | 'stdin' | null\n) {\n if (filenameAndDirname) {\n context.__dirname = '.';\n context.__filename = `[${filenameAndDirname}]`;\n }\n context.module = module;\n context.exports = module.exports;\n context.require = module.require.bind(module);\n}\n"]}