@samchon/ts-patch 3.2.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,609 @@
1
+ /*istanbul ignore start*/
2
+ "use strict";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.calcLineCount = calcLineCount;
8
+ exports.merge = merge;
9
+
10
+ /*istanbul ignore end*/
11
+ var
12
+ /*istanbul ignore start*/
13
+ _create = require("./create")
14
+ /*istanbul ignore end*/
15
+ ;
16
+
17
+ var
18
+ /*istanbul ignore start*/
19
+ _parse = require("./parse")
20
+ /*istanbul ignore end*/
21
+ ;
22
+
23
+ var
24
+ /*istanbul ignore start*/
25
+ _array = require("../util/array")
26
+ /*istanbul ignore end*/
27
+ ;
28
+
29
+ /*istanbul ignore start*/ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
30
+
31
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
32
+
33
+ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
34
+
35
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
36
+
37
+ /*istanbul ignore end*/
38
+ function calcLineCount(hunk) {
39
+ /*istanbul ignore start*/
40
+ var _calcOldNewLineCount =
41
+ /*istanbul ignore end*/
42
+ calcOldNewLineCount(hunk.lines),
43
+ oldLines = _calcOldNewLineCount.oldLines,
44
+ newLines = _calcOldNewLineCount.newLines;
45
+
46
+ if (oldLines !== undefined) {
47
+ hunk.oldLines = oldLines;
48
+ } else {
49
+ delete hunk.oldLines;
50
+ }
51
+
52
+ if (newLines !== undefined) {
53
+ hunk.newLines = newLines;
54
+ } else {
55
+ delete hunk.newLines;
56
+ }
57
+ }
58
+
59
+ function merge(mine, theirs, base) {
60
+ mine = loadPatch(mine, base);
61
+ theirs = loadPatch(theirs, base);
62
+ var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning.
63
+ // Leaving sanity checks on this to the API consumer that may know more about the
64
+ // meaning in their own context.
65
+
66
+ if (mine.index || theirs.index) {
67
+ ret.index = mine.index || theirs.index;
68
+ }
69
+
70
+ if (mine.newFileName || theirs.newFileName) {
71
+ if (!fileNameChanged(mine)) {
72
+ // No header or no change in ours, use theirs (and ours if theirs does not exist)
73
+ ret.oldFileName = theirs.oldFileName || mine.oldFileName;
74
+ ret.newFileName = theirs.newFileName || mine.newFileName;
75
+ ret.oldHeader = theirs.oldHeader || mine.oldHeader;
76
+ ret.newHeader = theirs.newHeader || mine.newHeader;
77
+ } else if (!fileNameChanged(theirs)) {
78
+ // No header or no change in theirs, use ours
79
+ ret.oldFileName = mine.oldFileName;
80
+ ret.newFileName = mine.newFileName;
81
+ ret.oldHeader = mine.oldHeader;
82
+ ret.newHeader = mine.newHeader;
83
+ } else {
84
+ // Both changed... figure it out
85
+ ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);
86
+ ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);
87
+ ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);
88
+ ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);
89
+ }
90
+ }
91
+
92
+ ret.hunks = [];
93
+ var mineIndex = 0,
94
+ theirsIndex = 0,
95
+ mineOffset = 0,
96
+ theirsOffset = 0;
97
+
98
+ while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {
99
+ var mineCurrent = mine.hunks[mineIndex] || {
100
+ oldStart: Infinity
101
+ },
102
+ theirsCurrent = theirs.hunks[theirsIndex] || {
103
+ oldStart: Infinity
104
+ };
105
+
106
+ if (hunkBefore(mineCurrent, theirsCurrent)) {
107
+ // This patch does not overlap with any of the others, yay.
108
+ ret.hunks.push(cloneHunk(mineCurrent, mineOffset));
109
+ mineIndex++;
110
+ theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;
111
+ } else if (hunkBefore(theirsCurrent, mineCurrent)) {
112
+ // This patch does not overlap with any of the others, yay.
113
+ ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));
114
+ theirsIndex++;
115
+ mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;
116
+ } else {
117
+ // Overlap, merge as best we can
118
+ var mergedHunk = {
119
+ oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),
120
+ oldLines: 0,
121
+ newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),
122
+ newLines: 0,
123
+ lines: []
124
+ };
125
+ mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);
126
+ theirsIndex++;
127
+ mineIndex++;
128
+ ret.hunks.push(mergedHunk);
129
+ }
130
+ }
131
+
132
+ return ret;
133
+ }
134
+
135
+ function loadPatch(param, base) {
136
+ if (typeof param === 'string') {
137
+ if (/^@@/m.test(param) || /^Index:/m.test(param)) {
138
+ return (
139
+ /*istanbul ignore start*/
140
+ (0,
141
+ /*istanbul ignore end*/
142
+
143
+ /*istanbul ignore start*/
144
+ _parse
145
+ /*istanbul ignore end*/
146
+ .
147
+ /*istanbul ignore start*/
148
+ parsePatch)
149
+ /*istanbul ignore end*/
150
+ (param)[0]
151
+ );
152
+ }
153
+
154
+ if (!base) {
155
+ throw new Error('Must provide a base reference or pass in a patch');
156
+ }
157
+
158
+ return (
159
+ /*istanbul ignore start*/
160
+ (0,
161
+ /*istanbul ignore end*/
162
+
163
+ /*istanbul ignore start*/
164
+ _create
165
+ /*istanbul ignore end*/
166
+ .
167
+ /*istanbul ignore start*/
168
+ structuredPatch)
169
+ /*istanbul ignore end*/
170
+ (undefined, undefined, base, param)
171
+ );
172
+ }
173
+
174
+ return param;
175
+ }
176
+
177
+ function fileNameChanged(patch) {
178
+ return patch.newFileName && patch.newFileName !== patch.oldFileName;
179
+ }
180
+
181
+ function selectField(index, mine, theirs) {
182
+ if (mine === theirs) {
183
+ return mine;
184
+ } else {
185
+ index.conflict = true;
186
+ return {
187
+ mine: mine,
188
+ theirs: theirs
189
+ };
190
+ }
191
+ }
192
+
193
+ function hunkBefore(test, check) {
194
+ return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;
195
+ }
196
+
197
+ function cloneHunk(hunk, offset) {
198
+ return {
199
+ oldStart: hunk.oldStart,
200
+ oldLines: hunk.oldLines,
201
+ newStart: hunk.newStart + offset,
202
+ newLines: hunk.newLines,
203
+ lines: hunk.lines
204
+ };
205
+ }
206
+
207
+ function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {
208
+ // This will generally result in a conflicted hunk, but there are cases where the context
209
+ // is the only overlap where we can successfully merge the content here.
210
+ var mine = {
211
+ offset: mineOffset,
212
+ lines: mineLines,
213
+ index: 0
214
+ },
215
+ their = {
216
+ offset: theirOffset,
217
+ lines: theirLines,
218
+ index: 0
219
+ }; // Handle any leading content
220
+
221
+ insertLeading(hunk, mine, their);
222
+ insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each.
223
+
224
+ while (mine.index < mine.lines.length && their.index < their.lines.length) {
225
+ var mineCurrent = mine.lines[mine.index],
226
+ theirCurrent = their.lines[their.index];
227
+
228
+ if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {
229
+ // Both modified ...
230
+ mutualChange(hunk, mine, their);
231
+ } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {
232
+ /*istanbul ignore start*/
233
+ var _hunk$lines;
234
+
235
+ /*istanbul ignore end*/
236
+ // Mine inserted
237
+
238
+ /*istanbul ignore start*/
239
+ (_hunk$lines =
240
+ /*istanbul ignore end*/
241
+ hunk.lines).push.
242
+ /*istanbul ignore start*/
243
+ apply
244
+ /*istanbul ignore end*/
245
+ (
246
+ /*istanbul ignore start*/
247
+ _hunk$lines
248
+ /*istanbul ignore end*/
249
+ ,
250
+ /*istanbul ignore start*/
251
+ _toConsumableArray(
252
+ /*istanbul ignore end*/
253
+ collectChange(mine)));
254
+ } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {
255
+ /*istanbul ignore start*/
256
+ var _hunk$lines2;
257
+
258
+ /*istanbul ignore end*/
259
+ // Theirs inserted
260
+
261
+ /*istanbul ignore start*/
262
+ (_hunk$lines2 =
263
+ /*istanbul ignore end*/
264
+ hunk.lines).push.
265
+ /*istanbul ignore start*/
266
+ apply
267
+ /*istanbul ignore end*/
268
+ (
269
+ /*istanbul ignore start*/
270
+ _hunk$lines2
271
+ /*istanbul ignore end*/
272
+ ,
273
+ /*istanbul ignore start*/
274
+ _toConsumableArray(
275
+ /*istanbul ignore end*/
276
+ collectChange(their)));
277
+ } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {
278
+ // Mine removed or edited
279
+ removal(hunk, mine, their);
280
+ } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {
281
+ // Their removed or edited
282
+ removal(hunk, their, mine, true);
283
+ } else if (mineCurrent === theirCurrent) {
284
+ // Context identity
285
+ hunk.lines.push(mineCurrent);
286
+ mine.index++;
287
+ their.index++;
288
+ } else {
289
+ // Context mismatch
290
+ conflict(hunk, collectChange(mine), collectChange(their));
291
+ }
292
+ } // Now push anything that may be remaining
293
+
294
+
295
+ insertTrailing(hunk, mine);
296
+ insertTrailing(hunk, their);
297
+ calcLineCount(hunk);
298
+ }
299
+
300
+ function mutualChange(hunk, mine, their) {
301
+ var myChanges = collectChange(mine),
302
+ theirChanges = collectChange(their);
303
+
304
+ if (allRemoves(myChanges) && allRemoves(theirChanges)) {
305
+ // Special case for remove changes that are supersets of one another
306
+ if (
307
+ /*istanbul ignore start*/
308
+ (0,
309
+ /*istanbul ignore end*/
310
+
311
+ /*istanbul ignore start*/
312
+ _array
313
+ /*istanbul ignore end*/
314
+ .
315
+ /*istanbul ignore start*/
316
+ arrayStartsWith)
317
+ /*istanbul ignore end*/
318
+ (myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {
319
+ /*istanbul ignore start*/
320
+ var _hunk$lines3;
321
+
322
+ /*istanbul ignore end*/
323
+
324
+ /*istanbul ignore start*/
325
+ (_hunk$lines3 =
326
+ /*istanbul ignore end*/
327
+ hunk.lines).push.
328
+ /*istanbul ignore start*/
329
+ apply
330
+ /*istanbul ignore end*/
331
+ (
332
+ /*istanbul ignore start*/
333
+ _hunk$lines3
334
+ /*istanbul ignore end*/
335
+ ,
336
+ /*istanbul ignore start*/
337
+ _toConsumableArray(
338
+ /*istanbul ignore end*/
339
+ myChanges));
340
+
341
+ return;
342
+ } else if (
343
+ /*istanbul ignore start*/
344
+ (0,
345
+ /*istanbul ignore end*/
346
+
347
+ /*istanbul ignore start*/
348
+ _array
349
+ /*istanbul ignore end*/
350
+ .
351
+ /*istanbul ignore start*/
352
+ arrayStartsWith)
353
+ /*istanbul ignore end*/
354
+ (theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {
355
+ /*istanbul ignore start*/
356
+ var _hunk$lines4;
357
+
358
+ /*istanbul ignore end*/
359
+
360
+ /*istanbul ignore start*/
361
+ (_hunk$lines4 =
362
+ /*istanbul ignore end*/
363
+ hunk.lines).push.
364
+ /*istanbul ignore start*/
365
+ apply
366
+ /*istanbul ignore end*/
367
+ (
368
+ /*istanbul ignore start*/
369
+ _hunk$lines4
370
+ /*istanbul ignore end*/
371
+ ,
372
+ /*istanbul ignore start*/
373
+ _toConsumableArray(
374
+ /*istanbul ignore end*/
375
+ theirChanges));
376
+
377
+ return;
378
+ }
379
+ } else if (
380
+ /*istanbul ignore start*/
381
+ (0,
382
+ /*istanbul ignore end*/
383
+
384
+ /*istanbul ignore start*/
385
+ _array
386
+ /*istanbul ignore end*/
387
+ .
388
+ /*istanbul ignore start*/
389
+ arrayEqual)
390
+ /*istanbul ignore end*/
391
+ (myChanges, theirChanges)) {
392
+ /*istanbul ignore start*/
393
+ var _hunk$lines5;
394
+
395
+ /*istanbul ignore end*/
396
+
397
+ /*istanbul ignore start*/
398
+ (_hunk$lines5 =
399
+ /*istanbul ignore end*/
400
+ hunk.lines).push.
401
+ /*istanbul ignore start*/
402
+ apply
403
+ /*istanbul ignore end*/
404
+ (
405
+ /*istanbul ignore start*/
406
+ _hunk$lines5
407
+ /*istanbul ignore end*/
408
+ ,
409
+ /*istanbul ignore start*/
410
+ _toConsumableArray(
411
+ /*istanbul ignore end*/
412
+ myChanges));
413
+
414
+ return;
415
+ }
416
+
417
+ conflict(hunk, myChanges, theirChanges);
418
+ }
419
+
420
+ function removal(hunk, mine, their, swap) {
421
+ var myChanges = collectChange(mine),
422
+ theirChanges = collectContext(their, myChanges);
423
+
424
+ if (theirChanges.merged) {
425
+ /*istanbul ignore start*/
426
+ var _hunk$lines6;
427
+
428
+ /*istanbul ignore end*/
429
+
430
+ /*istanbul ignore start*/
431
+ (_hunk$lines6 =
432
+ /*istanbul ignore end*/
433
+ hunk.lines).push.
434
+ /*istanbul ignore start*/
435
+ apply
436
+ /*istanbul ignore end*/
437
+ (
438
+ /*istanbul ignore start*/
439
+ _hunk$lines6
440
+ /*istanbul ignore end*/
441
+ ,
442
+ /*istanbul ignore start*/
443
+ _toConsumableArray(
444
+ /*istanbul ignore end*/
445
+ theirChanges.merged));
446
+ } else {
447
+ conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);
448
+ }
449
+ }
450
+
451
+ function conflict(hunk, mine, their) {
452
+ hunk.conflict = true;
453
+ hunk.lines.push({
454
+ conflict: true,
455
+ mine: mine,
456
+ theirs: their
457
+ });
458
+ }
459
+
460
+ function insertLeading(hunk, insert, their) {
461
+ while (insert.offset < their.offset && insert.index < insert.lines.length) {
462
+ var line = insert.lines[insert.index++];
463
+ hunk.lines.push(line);
464
+ insert.offset++;
465
+ }
466
+ }
467
+
468
+ function insertTrailing(hunk, insert) {
469
+ while (insert.index < insert.lines.length) {
470
+ var line = insert.lines[insert.index++];
471
+ hunk.lines.push(line);
472
+ }
473
+ }
474
+
475
+ function collectChange(state) {
476
+ var ret = [],
477
+ operation = state.lines[state.index][0];
478
+
479
+ while (state.index < state.lines.length) {
480
+ var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change.
481
+
482
+ if (operation === '-' && line[0] === '+') {
483
+ operation = '+';
484
+ }
485
+
486
+ if (operation === line[0]) {
487
+ ret.push(line);
488
+ state.index++;
489
+ } else {
490
+ break;
491
+ }
492
+ }
493
+
494
+ return ret;
495
+ }
496
+
497
+ function collectContext(state, matchChanges) {
498
+ var changes = [],
499
+ merged = [],
500
+ matchIndex = 0,
501
+ contextChanges = false,
502
+ conflicted = false;
503
+
504
+ while (matchIndex < matchChanges.length && state.index < state.lines.length) {
505
+ var change = state.lines[state.index],
506
+ match = matchChanges[matchIndex]; // Once we've hit our add, then we are done
507
+
508
+ if (match[0] === '+') {
509
+ break;
510
+ }
511
+
512
+ contextChanges = contextChanges || change[0] !== ' ';
513
+ merged.push(match);
514
+ matchIndex++; // Consume any additions in the other block as a conflict to attempt
515
+ // to pull in the remaining context after this
516
+
517
+ if (change[0] === '+') {
518
+ conflicted = true;
519
+
520
+ while (change[0] === '+') {
521
+ changes.push(change);
522
+ change = state.lines[++state.index];
523
+ }
524
+ }
525
+
526
+ if (match.substr(1) === change.substr(1)) {
527
+ changes.push(change);
528
+ state.index++;
529
+ } else {
530
+ conflicted = true;
531
+ }
532
+ }
533
+
534
+ if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) {
535
+ conflicted = true;
536
+ }
537
+
538
+ if (conflicted) {
539
+ return changes;
540
+ }
541
+
542
+ while (matchIndex < matchChanges.length) {
543
+ merged.push(matchChanges[matchIndex++]);
544
+ }
545
+
546
+ return {
547
+ merged: merged,
548
+ changes: changes
549
+ };
550
+ }
551
+
552
+ function allRemoves(changes) {
553
+ return changes.reduce(function (prev, change) {
554
+ return prev && change[0] === '-';
555
+ }, true);
556
+ }
557
+
558
+ function skipRemoveSuperset(state, removeChanges, delta) {
559
+ for (var i = 0; i < delta; i++) {
560
+ var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);
561
+
562
+ if (state.lines[state.index + i] !== ' ' + changeContent) {
563
+ return false;
564
+ }
565
+ }
566
+
567
+ state.index += delta;
568
+ return true;
569
+ }
570
+
571
+ function calcOldNewLineCount(lines) {
572
+ var oldLines = 0;
573
+ var newLines = 0;
574
+ lines.forEach(function (line) {
575
+ if (typeof line !== 'string') {
576
+ var myCount = calcOldNewLineCount(line.mine);
577
+ var theirCount = calcOldNewLineCount(line.theirs);
578
+
579
+ if (oldLines !== undefined) {
580
+ if (myCount.oldLines === theirCount.oldLines) {
581
+ oldLines += myCount.oldLines;
582
+ } else {
583
+ oldLines = undefined;
584
+ }
585
+ }
586
+
587
+ if (newLines !== undefined) {
588
+ if (myCount.newLines === theirCount.newLines) {
589
+ newLines += myCount.newLines;
590
+ } else {
591
+ newLines = undefined;
592
+ }
593
+ }
594
+ } else {
595
+ if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {
596
+ newLines++;
597
+ }
598
+
599
+ if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {
600
+ oldLines++;
601
+ }
602
+ }
603
+ });
604
+ return {
605
+ oldLines: oldLines,
606
+ newLines: newLines
607
+ };
608
+ }
609
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9tZXJnZS5qcyJdLCJuYW1lcyI6WyJjYWxjTGluZUNvdW50IiwiaHVuayIsImNhbGNPbGROZXdMaW5lQ291bnQiLCJsaW5lcyIsIm9sZExpbmVzIiwibmV3TGluZXMiLCJ1bmRlZmluZWQiLCJtZXJnZSIsIm1pbmUiLCJ0aGVpcnMiLCJiYXNlIiwibG9hZFBhdGNoIiwicmV0IiwiaW5kZXgiLCJuZXdGaWxlTmFtZSIsImZpbGVOYW1lQ2hhbmdlZCIsIm9sZEZpbGVOYW1lIiwib2xkSGVhZGVyIiwibmV3SGVhZGVyIiwic2VsZWN0RmllbGQiLCJodW5rcyIsIm1pbmVJbmRleCIsInRoZWlyc0luZGV4IiwibWluZU9mZnNldCIsInRoZWlyc09mZnNldCIsImxlbmd0aCIsIm1pbmVDdXJyZW50Iiwib2xkU3RhcnQiLCJJbmZpbml0eSIsInRoZWlyc0N1cnJlbnQiLCJodW5rQmVmb3JlIiwicHVzaCIsImNsb25lSHVuayIsIm1lcmdlZEh1bmsiLCJNYXRoIiwibWluIiwibmV3U3RhcnQiLCJtZXJnZUxpbmVzIiwicGFyYW0iLCJ0ZXN0IiwicGFyc2VQYXRjaCIsIkVycm9yIiwic3RydWN0dXJlZFBhdGNoIiwicGF0Y2giLCJjb25mbGljdCIsImNoZWNrIiwib2Zmc2V0IiwibWluZUxpbmVzIiwidGhlaXJPZmZzZXQiLCJ0aGVpckxpbmVzIiwidGhlaXIiLCJpbnNlcnRMZWFkaW5nIiwidGhlaXJDdXJyZW50IiwibXV0dWFsQ2hhbmdlIiwiY29sbGVjdENoYW5nZSIsInJlbW92YWwiLCJpbnNlcnRUcmFpbGluZyIsIm15Q2hhbmdlcyIsInRoZWlyQ2hhbmdlcyIsImFsbFJlbW92ZXMiLCJhcnJheVN0YXJ0c1dpdGgiLCJza2lwUmVtb3ZlU3VwZXJzZXQiLCJhcnJheUVxdWFsIiwic3dhcCIsImNvbGxlY3RDb250ZXh0IiwibWVyZ2VkIiwiaW5zZXJ0IiwibGluZSIsInN0YXRlIiwib3BlcmF0aW9uIiwibWF0Y2hDaGFuZ2VzIiwiY2hhbmdlcyIsIm1hdGNoSW5kZXgiLCJjb250ZXh0Q2hhbmdlcyIsImNvbmZsaWN0ZWQiLCJjaGFuZ2UiLCJtYXRjaCIsInN1YnN0ciIsInJlZHVjZSIsInByZXYiLCJyZW1vdmVDaGFuZ2VzIiwiZGVsdGEiLCJpIiwiY2hhbmdlQ29udGVudCIsImZvckVhY2giLCJteUNvdW50IiwidGhlaXJDb3VudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQUVPLFNBQVNBLGFBQVQsQ0FBdUJDLElBQXZCLEVBQTZCO0FBQUE7QUFBQTtBQUFBO0FBQ0xDLEVBQUFBLG1CQUFtQixDQUFDRCxJQUFJLENBQUNFLEtBQU4sQ0FEZDtBQUFBLE1BQzNCQyxRQUQyQix3QkFDM0JBLFFBRDJCO0FBQUEsTUFDakJDLFFBRGlCLHdCQUNqQkEsUUFEaUI7O0FBR2xDLE1BQUlELFFBQVEsS0FBS0UsU0FBakIsRUFBNEI7QUFDMUJMLElBQUFBLElBQUksQ0FBQ0csUUFBTCxHQUFnQkEsUUFBaEI7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPSCxJQUFJLENBQUNHLFFBQVo7QUFDRDs7QUFFRCxNQUFJQyxRQUFRLEtBQUtDLFNBQWpCLEVBQTRCO0FBQzFCTCxJQUFBQSxJQUFJLENBQUNJLFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBT0osSUFBSSxDQUFDSSxRQUFaO0FBQ0Q7QUFDRjs7QUFFTSxTQUFTRSxLQUFULENBQWVDLElBQWYsRUFBcUJDLE1BQXJCLEVBQTZCQyxJQUE3QixFQUFtQztBQUN4Q0YsRUFBQUEsSUFBSSxHQUFHRyxTQUFTLENBQUNILElBQUQsRUFBT0UsSUFBUCxDQUFoQjtBQUNBRCxFQUFBQSxNQUFNLEdBQUdFLFNBQVMsQ0FBQ0YsTUFBRCxFQUFTQyxJQUFULENBQWxCO0FBRUEsTUFBSUUsR0FBRyxHQUFHLEVBQVYsQ0FKd0MsQ0FN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R0FBWixJQUFtQkEsSUFBSSxDQUFDLENBQUQsQ0FBSixLQUFZLEdBQTFELENBQUosRUFBb0U7QUFDbEUvRCxRQUFBQSxRQUFRO0FBQ1Q7QUFDRjtBQUNGLEdBNUJEO0FBOEJBLFNBQU87QUFBQ0EsSUFBQUEsUUFBUSxFQUFSQSxRQUFEO0FBQVdDLElBQUFBLFFBQVEsRUFBUkE7QUFBWCxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3N0cnVjdHVyZWRQYXRjaH0gZnJvbSAnLi9jcmVhdGUnO1xuaW1wb3J0IHtwYXJzZVBhdGNofSBmcm9tICcuL3BhcnNlJztcblxuaW1wb3J0IHthcnJheUVxdWFsLCBhcnJheVN0YXJ0c1dpdGh9IGZyb20gJy4uL3V0aWwvYXJyYXknO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FsY0xpbmVDb3VudChodW5rKSB7XG4gIGNvbnN0IHtvbGRMaW5lcywgbmV3TGluZXN9ID0gY2FsY09sZE5ld0xpbmVDb3VudChodW5rLmxpbmVzKTtcblxuICBpZiAob2xkTGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIGh1bmsub2xkTGluZXMgPSBvbGRMaW5lcztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgaHVuay5vbGRMaW5lcztcbiAgfVxuXG4gIGlmIChuZXdMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaHVuay5uZXdMaW5lcyA9IG5ld0xpbmVzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBodW5rLm5ld0xpbmVzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShtaW5lLCB0aGVpcnMsIGJhc2UpIHtcbiAgbWluZSA9IGxvYWRQYXRjaChtaW5lLCBiYXNlKTtcbiAgdGhlaXJzID0gbG9hZFBhdGNoKHRoZWlycywgYmFzZSk7XG5cbiAgbGV0IHJldCA9IHt9O1xuXG4gIC8vIEZvciBpbmRleCB3ZSBqdXN0IGxldCBpdCBwYXNzIHRocm91Z2ggYXMgaXQgZG9lc24ndCBoYXZlIGFueSBuZWNlc3NhcnkgbWVhbmluZy5cbiAgLy8gTGVhdmluZyBzYW5pdHkgY2hlY2tzIG9uIHRoaXMgdG8gdGhlIEFQSSBjb25zdW1lciB0aGF0IG1heSBrbm93IG1vcmUgYWJvdXQgdGhlXG4gIC8vIG1lYW5pbmcgaW4gdGhlaXIgb3duIGNvbnRleHQuXG4gIGlmIChtaW5lLmluZGV4IHx8IHRoZWlycy5pbmRleCkge1xuICAgIHJldC5pbmRleCA9IG1pbmUuaW5kZXggfHwgdGhlaXJzLmluZGV4O1xuICB9XG5cbiAgaWYgKG1pbmUubmV3RmlsZU5hbWUgfHwgdGhlaXJzLm5ld0ZpbGVOYW1lKSB7XG4gICAgaWYgKCFmaWxlTmFtZUNoYW5nZWQobWluZSkpIHtcbiAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gb3VycywgdXNlIHRoZWlycyAoYW5kIG91cnMgaWYgdGhlaXJzIGRvZXMgbm90IGV4aXN0KVxuICAgICAgcmV0Lm9sZEZpbGVOYW1lID0gdGhlaXJzLm9sZEZpbGVOYW1lIHx8IG1pbmUub2xkRmlsZU5hbWU7XG4gICAgICByZXQubmV3RmlsZU5hbWUgPSB0aGVpcnMubmV3RmlsZU5hbWUgfHwgbWluZS5uZXdGaWxlTmFtZTtcbiAgICAgIHJldC5vbGRIZWFkZXIgPSB0aGVpcnMub2xkSGVhZGVyIHx8IG1pbmUub2xkSGVhZGVyO1xuICAgICAgcmV0Lm5ld0hlYWRlciA9IHRoZWlycy5uZXdIZWFkZXIgfHwgbWluZS5uZXdIZWFkZXI7XG4gICAgfSBlbHNlIGlmICghZmlsZU5hbWVDaGFuZ2VkKHRoZWlycykpIHtcbiAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gdGhlaXJzLCB1c2Ugb3Vyc1xuICAgICAgcmV0Lm9sZEZpbGVOYW1lID0gbWluZS5vbGRGaWxlTmFtZTtcbiAgICAgIHJldC5uZXdGaWxlTmFtZSA9IG1pbmUubmV3RmlsZU5hbWU7XG4gICAgICByZXQub2xkSGVhZGVyID0gbWluZS5vbGRIZWFkZXI7XG4gICAgICByZXQubmV3SGVhZGVyID0gbWluZS5uZXdIZWFkZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEJvdGggY2hhbmdlZC4uLiBmaWd1cmUgaXQgb3V0XG4gICAgICByZXQub2xkRmlsZU5hbWUgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUub2xkRmlsZU5hbWUsIHRoZWlycy5vbGRGaWxlTmFtZSk7XG4gICAgICByZXQubmV3RmlsZU5hbWUgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUubmV3RmlsZU5hbWUsIHRoZWlycy5uZXdGaWxlTmFtZSk7XG4gICAgICByZXQub2xkSGVhZGVyID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm9sZEhlYWRlciwgdGhlaXJzLm9sZEhlYWRlcik7XG4gICAgICByZXQubmV3SGVhZGVyID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm5ld0hlYWRlciwgdGhlaXJzLm5ld0hlYWRlcik7XG4gICAgfVxuICB9XG5cbiAgcmV0Lmh1bmtzID0gW107XG5cbiAgbGV0IG1pbmVJbmRleCA9IDAsXG4gICAgICB0aGVpcnNJbmRleCA9IDAsXG4gICAgICBtaW5lT2Zmc2V0ID0gMCxcbiAgICAgIHRoZWlyc09mZnNldCA9IDA7XG5cbiAgd2hpbGUgKG1pbmVJbmRleCA8IG1pbmUuaHVua3MubGVuZ3RoIHx8IHRoZWlyc0luZGV4IDwgdGhlaXJzLmh1bmtzLmxlbmd0aCkge1xuICAgIGxldCBtaW5lQ3VycmVudCA9IG1pbmUuaHVua3NbbWluZUluZGV4XSB8fCB7b2xkU3RhcnQ6IEluZmluaXR5fSxcbiAgICAgICAgdGhlaXJzQ3VycmVudCA9IHRoZWlycy5odW5rc1t0aGVpcnNJbmRleF0gfHwge29sZFN0YXJ0OiBJbmZpbml0eX07XG5cbiAgICBpZiAoaHVua0JlZm9yZShtaW5lQ3VycmVudCwgdGhlaXJzQ3VycmVudCkpIHtcbiAgICAgIC8vIFRoaXMgcGF0Y2ggZG9lcyBub3Qgb3ZlcmxhcCB3aXRoIGFueSBvZiB0aGUgb3RoZXJzLCB5YXkuXG4gICAgICByZXQuaHVua3MucHVzaChjbG9uZUh1bmsobWluZUN1cnJlbnQsIG1pbmVPZmZzZXQpKTtcbiAgICAgIG1pbmVJbmRleCsrO1xuICAgICAgdGhlaXJzT2Zmc2V0ICs9IG1pbmVDdXJyZW50Lm5ld0xpbmVzIC0gbWluZUN1cnJlbnQub2xkTGluZXM7XG4gICAgfSBlbHNlIGlmIChodW5rQmVmb3JlKHRoZWlyc0N1cnJlbnQsIG1pbmVDdXJyZW50KSkge1xuICAgICAgLy8gVGhpcyBwYXRjaCBkb2VzIG5vdCBvdmVybGFwIHdpdGggYW55IG9mIHRoZSBvdGhlcnMsIHlheS5cbiAgICAgIHJldC5odW5rcy5wdXNoKGNsb25lSHVuayh0aGVpcnNDdXJyZW50LCB0aGVpcnNPZmZzZXQpKTtcbiAgICAgIHRoZWlyc0luZGV4Kys7XG4gICAgICBtaW5lT2Zmc2V0ICs9IHRoZWlyc0N1cnJlbnQubmV3TGluZXMgLSB0aGVpcnNDdXJyZW50Lm9sZExpbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBPdmVybGFwLCBtZXJnZSBhcyBiZXN0IHdlIGNhblxuICAgICAgbGV0IG1lcmdlZEh1bmsgPSB7XG4gICAgICAgIG9sZFN0YXJ0OiBNYXRoLm1pbihtaW5lQ3VycmVudC5vbGRTdGFydCwgdGhlaXJzQ3VycmVudC5vbGRTdGFydCksXG4gICAgICAgIG9sZExpbmVzOiAwLFxuICAgICAgICBuZXdTdGFydDogTWF0aC5taW4obWluZUN1cnJlbnQubmV3U3RhcnQgKyBtaW5lT2Zmc2V0LCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0ICsgdGhlaXJzT2Zmc2V0KSxcbiAgICAgICAgbmV3TGluZXM6IDAsXG4gICAgICAgIGxpbmVzOiBbXVxuICAgICAgfTtcbiAgICAgIG1lcmdlTGluZXMobWVyZ2VkSHVuaywgbWluZUN1cnJlbnQub2xkU3RhcnQsIG1pbmVDdXJyZW50LmxpbmVzLCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0LCB0aGVpcnNDdXJyZW50LmxpbmVzKTtcbiAgICAgIHRoZWlyc0luZGV4Kys7XG4gICAgICBtaW5lSW5kZXgrKztcblxuICAgICAgcmV0Lmh1bmtzLnB1c2gobWVyZ2VkSHVuayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gbG9hZFBhdGNoKHBhcmFtLCBiYXNlKSB7XG4gIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKCgvXkBAL20pLnRlc3QocGFyYW0pIHx8ICgoL15JbmRleDovbSkudGVzdChwYXJhbSkpKSB7XG4gICAgICByZXR1cm4gcGFyc2VQYXRjaChwYXJhbSlbMF07XG4gICAgfVxuXG4gICAgaWYgKCFiYXNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgcHJvdmlkZSBhIGJhc2UgcmVmZXJlbmNlIG9yIHBhc3MgaW4gYSBwYXRjaCcpO1xuICAgIH1cbiAgICByZXR1cm4gc3RydWN0dXJlZFBhdGNoKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBiYXNlLCBwYXJhbSk7XG4gIH1cblxuICByZXR1cm4gcGFyYW07XG59XG5cbmZ1bmN0aW9uIGZpbGVOYW1lQ2hhbmdlZChwYXRjaCkge1xuICByZXR1cm4gcGF0Y2gubmV3RmlsZU5hbWUgJiYgcGF0Y2gubmV3RmlsZU5hbWUgIT09IHBhdGNoLm9sZEZpbGVOYW1lO1xufVxuXG5mdW5jdGlvbiBzZWxlY3RGaWVsZChpbmRleCwgbWluZSwgdGhlaXJzKSB7XG4gIGlmIChtaW5lID09PSB0aGVpcnMpIHtcbiAgICByZXR1cm4gbWluZTtcbiAgfSBlbHNlIHtcbiAgICBpbmRleC5jb25mbGljdCA9IHRydWU7XG4gICAgcmV0dXJuIHttaW5lLCB0aGVpcnN9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGh1bmtCZWZvcmUodGVzdCwgY2hlY2spIHtcbiAgcmV0dXJuIHRlc3Qub2xkU3RhcnQgPCBjaGVjay5vbGRTdGFydFxuICAgICYmICh0ZXN0Lm9sZFN0YXJ0ICsgdGVzdC5vbGRMaW5lcykgPCBjaGVjay5vbGRTdGFydDtcbn1cblxuZnVuY3Rpb24gY2xvbmVIdW5rKGh1bmssIG9mZnNldCkge1xuICByZXR1cm4ge1xuICAgIG9sZFN0YXJ0OiBodW5rLm9sZFN0YXJ0LCBvbGRMaW5lczogaHVuay5vbGRMaW5lcyxcbiAgICBuZXdTdGFydDogaHVuay5uZXdTdGFydCArIG9mZnNldCwgbmV3TGluZXM6IGh1bmsubmV3TGluZXMsXG4gICAgbGluZXM6IGh1bmsubGluZXNcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VMaW5lcyhodW5rLCBtaW5lT2Zmc2V0LCBtaW5lTGluZXMsIHRoZWlyT2Zmc2V0LCB0aGVpckxpbmVzKSB7XG4gIC8vIFRoaXMgd2lsbCBnZW5lcmFsbHkgcmVzdWx0IGluIGEgY29uZmxpY3RlZCBodW5rLCBidXQgdGhlcmUgYXJlIGNhc2VzIHdoZXJlIHRoZSBjb250ZXh0XG4gIC8vIGlzIHRoZSBvbmx5IG92ZXJsYXAgd2hlcmUgd2UgY2FuIHN1Y2Nlc3NmdWxseSBtZXJnZSB0aGUgY29udGVudCBoZXJlLlxuICBsZXQgbWluZSA9IHtvZmZzZXQ6IG1pbmVPZmZzZXQsIGxpbmVzOiBtaW5lTGluZXMsIGluZGV4OiAwfSxcbiAgICAgIHRoZWlyID0ge29mZnNldDogdGhlaXJPZmZzZXQsIGxpbmVzOiB0aGVpckxpbmVzLCBpbmRleDogMH07XG5cbiAgLy8gSGFuZGxlIGFueSBsZWFkaW5nIGNvbnRlbnRcbiAgaW5zZXJ0TGVhZGluZyhodW5rLCBtaW5lLCB0aGVpcik7XG4gIGluc2VydExlYWRpbmcoaHVuaywgdGhlaXIsIG1pbmUpO1xuXG4gIC8vIE5vdyBpbiB0aGUgb3ZlcmxhcCBjb250ZW50LiBTY2FuIHRocm91Z2ggYW5kIHNlbGVjdCB0aGUgYmVzdCBjaGFuZ2VzIGZyb20gZWFjaC5cbiAgd2hpbGUgKG1pbmUuaW5kZXggPCBtaW5lLmxpbmVzLmxlbmd0aCAmJiB0aGVpci5pbmRleCA8IHRoZWlyLmxpbmVzLmxlbmd0aCkge1xuICAgIGxldCBtaW5lQ3VycmVudCA9IG1pbmUubGluZXNbbWluZS5pbmRleF0sXG4gICAgICAgIHRoZWlyQ3VycmVudCA9IHRoZWlyLmxpbmVzW3RoZWlyLmluZGV4XTtcblxuICAgIGlmICgobWluZUN1cnJlbnRbMF0gPT09ICctJyB8fCBtaW5lQ3VycmVudFswXSA9PT0gJysnKVxuICAgICAgICAmJiAodGhlaXJDdXJyZW50WzBdID09PSAnLScgfHwgdGhlaXJDdXJyZW50WzBdID09PSAnKycpKSB7XG4gICAgICAvLyBCb3RoIG1vZGlmaWVkIC4uLlxuICAgICAgbXV0dWFsQ2hhbmdlKGh1bmssIG1pbmUsIHRoZWlyKTtcbiAgICB9IGVsc2UgaWYgKG1pbmVDdXJyZW50WzBdID09PSAnKycgJiYgdGhlaXJDdXJyZW50WzBdID09PSAnICcpIHtcbiAgICAgIC8vIE1pbmUgaW5zZXJ0ZWRcbiAgICAgIGh1bmsubGluZXMucHVzaCguLi4gY29sbGVjdENoYW5nZShtaW5lKSk7XG4gICAgfSBlbHNlIGlmICh0aGVpckN1cnJlbnRbMF0gPT09ICcrJyAmJiBtaW5lQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAvLyBUaGVpcnMgaW5zZXJ0ZWRcbiAgICAgIGh1bmsubGluZXMucHVzaCguLi4gY29sbGVjdENoYW5nZSh0aGVpcikpO1xuICAgIH0gZWxzZSBpZiAobWluZUN1cnJlbnRbMF0gPT09ICctJyAmJiB0aGVpckN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgLy8gTWluZSByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgcmVtb3ZhbChodW5rLCBtaW5lLCB0aGVpcik7XG4gICAgfSBlbHNlIGlmICh0aGVpckN1cnJlbnRbMF0gPT09ICctJyAmJiBtaW5lQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAvLyBUaGVpciByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgcmVtb3ZhbChodW5rLCB0aGVpciwgbWluZSwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChtaW5lQ3VycmVudCA9PT0gdGhlaXJDdXJyZW50KSB7XG4gICAgICAvLyBDb250ZXh0IGlkZW50aXR5XG4gICAgICBodW5rLmxpbmVzLnB1c2gobWluZUN1cnJlbnQpO1xuICAgICAgbWluZS5pbmRleCsrO1xuICAgICAgdGhlaXIuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udGV4dCBtaXNtYXRjaFxuICAgICAgY29uZmxpY3QoaHVuaywgY29sbGVjdENoYW5nZShtaW5lKSwgY29sbGVjdENoYW5nZSh0aGVpcikpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdyBwdXNoIGFueXRoaW5nIHRoYXQgbWF5IGJlIHJlbWFpbmluZ1xuICBpbnNlcnRUcmFpbGluZyhodW5rLCBtaW5lKTtcbiAgaW5zZXJ0VHJhaWxpbmcoaHVuaywgdGhlaXIpO1xuXG4gIGNhbGNMaW5lQ291bnQoaHVuayk7XG59XG5cbmZ1bmN0aW9uIG11dHVhbENoYW5nZShodW5rLCBtaW5lLCB0aGVpcikge1xuICBsZXQgbXlDaGFuZ2VzID0gY29sbGVjdENoYW5nZShtaW5lKSxcbiAgICAgIHRoZWlyQ2hhbmdlcyA9IGNvbGxlY3RDaGFuZ2UodGhlaXIpO1xuXG4gIGlmIChhbGxSZW1vdmVzKG15Q2hhbmdlcykgJiYgYWxsUmVtb3Zlcyh0aGVpckNoYW5nZXMpKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlIGZvciByZW1vdmUgY2hhbmdlcyB0aGF0IGFyZSBzdXBlcnNldHMgb2Ygb25lIGFub3RoZXJcbiAgICBpZiAoYXJyYXlTdGFydHNXaXRoKG15Q2hhbmdlcywgdGhlaXJDaGFuZ2VzKVxuICAgICAgICAmJiBza2lwUmVtb3ZlU3VwZXJzZXQodGhlaXIsIG15Q2hhbmdlcywgbXlDaGFuZ2VzLmxlbmd0aCAtIHRoZWlyQ2hhbmdlcy5sZW5ndGgpKSB7XG4gICAgICBodW5rLmxpbmVzLnB1c2goLi4uIG15Q2hhbmdlcyk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChhcnJheVN0YXJ0c1dpdGgodGhlaXJDaGFuZ2VzLCBteUNoYW5nZXMpXG4gICAgICAgICYmIHNraXBSZW1vdmVTdXBlcnNldChtaW5lLCB0aGVpckNoYW5nZXMsIHRoZWlyQ2hhbmdlcy5sZW5ndGggLSBteUNoYW5nZXMubGVuZ3RoKSkge1xuICAgICAgaHVuay5saW5lcy5wdXNoKC4uLiB0aGVpckNoYW5nZXMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSBlbHNlIGlmIChhcnJheUVxdWFsKG15Q2hhbmdlcywgdGhlaXJDaGFuZ2VzKSkge1xuICAgIGh1bmsubGluZXMucHVzaCguLi4gbXlDaGFuZ2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25mbGljdChodW5rLCBteUNoYW5nZXMsIHRoZWlyQ2hhbmdlcyk7XG59XG5cbmZ1bmN0aW9uIHJlbW92YWwoaHVuaywgbWluZSwgdGhlaXIsIHN3YXApIHtcbiAgbGV0IG15Q2hhbmdlcyA9IGNvbGxlY3RDaGFuZ2UobWluZSksXG4gICAgICB0aGVpckNoYW5nZXMgPSBjb2xsZWN0Q29udGV4dCh0aGVpciwgbXlDaGFuZ2VzKTtcbiAgaWYgKHRoZWlyQ2hhbmdlcy5tZXJnZWQpIHtcbiAgICBodW5rLmxpbmVzLnB1c2goLi4uIHRoZWlyQ2hhbmdlcy5tZXJnZWQpO1xuICB9IGVsc2Uge1xuICAgIGNvbmZsaWN0KGh1bmssIHN3YXAgPyB0aGVpckNoYW5nZXMgOiBteUNoYW5nZXMsIHN3YXAgPyBteUNoYW5nZXMgOiB0aGVpckNoYW5nZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbmZsaWN0KGh1bmssIG1pbmUsIHRoZWlyKSB7XG4gIGh1bmsuY29uZmxpY3QgPSB0cnVlO1xuICBodW5rLmxpbmVzLnB1c2goe1xuICAgIGNvbmZsaWN0OiB0cnVlLFxuICAgIG1pbmU6IG1pbmUsXG4gICAgdGhlaXJzOiB0aGVpclxuICB9KTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0TGVhZGluZyhodW5rLCBpbnNlcnQsIHRoZWlyKSB7XG4gIHdoaWxlIChpbnNlcnQub2Zmc2V0IDwgdGhlaXIub2Zmc2V0ICYmIGluc2VydC5pbmRleCA8IGluc2VydC5saW5lcy5sZW5ndGgpIHtcbiAgICBsZXQgbGluZSA9IGluc2VydC5saW5lc1tpbnNlcnQuaW5kZXgrK107XG4gICAgaHVuay5saW5lcy5wdXNoKGxpbmUpO1xuICAgIGluc2VydC5vZmZzZXQrKztcbiAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0VHJhaWxpbmcoaHVuaywgaW5zZXJ0KSB7XG4gIHdoaWxlIChpbnNlcnQuaW5kZXggPCBpbnNlcnQubGluZXMubGVuZ3RoKSB7XG4gICAgbGV0IGxpbmUgPSBpbnNlcnQubGluZXNbaW5zZXJ0LmluZGV4KytdO1xuICAgIGh1bmsubGluZXMucHVzaChsaW5lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb2xsZWN0Q2hhbmdlKHN0YXRlKSB7XG4gIGxldCByZXQgPSBbXSxcbiAgICAgIG9wZXJhdGlvbiA9IHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4XVswXTtcbiAgd2hpbGUgKHN0YXRlLmluZGV4IDwgc3RhdGUubGluZXMubGVuZ3RoKSB7XG4gICAgbGV0IGxpbmUgPSBzdGF0ZS5saW5lc1tzdGF0ZS5pbmRleF07XG5cbiAgICAvLyBHcm91cCBhZGRpdGlvbnMgdGhhdCBhcmUgaW1tZWRpYXRlbHkgYWZ0ZXIgc3VidHJhY3Rpb25zIGFuZCB0cmVhdCB0aGVtIGFzIG9uZSBcImF0b21pY1wiIG1vZGlmeSBjaGFuZ2UuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJy0nICYmIGxpbmVbMF0gPT09ICcrJykge1xuICAgICAgb3BlcmF0aW9uID0gJysnO1xuICAgIH1cblxuICAgIGlmIChvcGVyYXRpb24gPT09IGxpbmVbMF0pIHtcbiAgICAgIHJldC5wdXNoKGxpbmUpO1xuICAgICAgc3RhdGUuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIGNvbGxlY3RDb250ZXh0KHN0YXRlLCBtYXRjaENoYW5nZXMpIHtcbiAgbGV0IGNoYW5nZXMgPSBbXSxcbiAgICAgIG1lcmdlZCA9IFtdLFxuICAgICAgbWF0Y2hJbmRleCA9IDAsXG4gICAgICBjb250ZXh0Q2hhbmdlcyA9IGZhbHNlLFxuICAgICAgY29uZmxpY3RlZCA9IGZhbHNlO1xuICB3aGlsZSAobWF0Y2hJbmRleCA8IG1hdGNoQ2hhbmdlcy5sZW5ndGhcbiAgICAgICAgJiYgc3RhdGUuaW5kZXggPCBzdGF0ZS5saW5lcy5sZW5ndGgpIHtcbiAgICBsZXQgY2hhbmdlID0gc3RhdGUubGluZXNbc3RhdGUuaW5kZXhdLFxuICAgICAgICBtYXRjaCA9IG1hdGNoQ2hhbmdlc1ttYXRjaEluZGV4XTtcblxuICAgIC8vIE9uY2Ugd2UndmUgaGl0IG91ciBhZGQsIHRoZW4gd2UgYXJlIGRvbmVcbiAgICBpZiAobWF0Y2hbMF0gPT09ICcrJykge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY29udGV4dENoYW5nZXMgPSBjb250ZXh0Q2hhbmdlcyB8fCBjaGFuZ2VbMF0gIT09ICcgJztcblxuICAgIG1lcmdlZC5wdXNoKG1hdGNoKTtcbiAgICBtYXRjaEluZGV4Kys7XG5cbiAgICAvLyBDb25zdW1lIGFueSBhZGRpdGlvbnMgaW4gdGhlIG90aGVyIGJsb2NrIGFzIGEgY29uZmxpY3QgdG8gYXR0ZW1wdFxuICAgIC8vIHRvIHB1bGwgaW4gdGhlIHJlbWFpbmluZyBjb250ZXh0IGFmdGVyIHRoaXNcbiAgICBpZiAoY2hhbmdlWzBdID09PSAnKycpIHtcbiAgICAgIGNvbmZsaWN0ZWQgPSB0cnVlO1xuXG4gICAgICB3aGlsZSAoY2hhbmdlWzBdID09PSAnKycpIHtcbiAgICAgICAgY2hhbmdlcy5wdXNoKGNoYW5nZSk7XG4gICAgICAgIGNoYW5nZSA9IHN0YXRlLmxpbmVzWysrc3RhdGUuaW5kZXhdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtYXRjaC5zdWJzdHIoMSkgPT09IGNoYW5nZS5zdWJzdHIoMSkpIHtcbiAgICAgIGNoYW5nZXMucHVzaChjaGFuZ2UpO1xuICAgICAgc3RhdGUuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmxpY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKChtYXRjaENoYW5nZXNbbWF0Y2hJbmRleF0gfHwgJycpWzBdID09PSAnKydcbiAgICAgICYmIGNvbnRleHRDaGFuZ2VzKSB7XG4gICAgY29uZmxpY3RlZCA9IHRydWU7XG4gIH1cblxuICBpZiAoY29uZmxpY3RlZCkge1xuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG5cbiAgd2hpbGUgKG1hdGNoSW5kZXggPCBtYXRjaENoYW5nZXMubGVuZ3RoKSB7XG4gICAgbWVyZ2VkLnB1c2gobWF0Y2hDaGFuZ2VzW21hdGNoSW5kZXgrK10pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXJnZWQsXG4gICAgY2hhbmdlc1xuICB9O1xufVxuXG5mdW5jdGlvbiBhbGxSZW1vdmVzKGNoYW5nZXMpIHtcbiAgcmV0dXJuIGNoYW5nZXMucmVkdWNlKGZ1bmN0aW9uKHByZXYsIGNoYW5nZSkge1xuICAgIHJldHVybiBwcmV2ICYmIGNoYW5nZVswXSA9PT0gJy0nO1xuICB9LCB0cnVlKTtcbn1cbmZ1bmN0aW9uIHNraXBSZW1vdmVTdXBlcnNldChzdGF0ZSwgcmVtb3ZlQ2hhbmdlcywgZGVsdGEpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWx0YTsgaSsrKSB7XG4gICAgbGV0IGNoYW5nZUNvbnRlbnQgPSByZW1vdmVDaGFuZ2VzW3JlbW92ZUNoYW5nZXMubGVuZ3RoIC0gZGVsdGEgKyBpXS5zdWJzdHIoMSk7XG4gICAgaWYgKHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4ICsgaV0gIT09ICcgJyArIGNoYW5nZUNvbnRlbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzdGF0ZS5pbmRleCArPSBkZWx0YTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNhbGNPbGROZXdMaW5lQ291bnQobGluZXMpIHtcbiAgbGV0IG9sZExpbmVzID0gMDtcbiAgbGV0IG5ld0xpbmVzID0gMDtcblxuICBsaW5lcy5mb3JFYWNoKGZ1bmN0aW9uKGxpbmUpIHtcbiAgICBpZiAodHlwZW9mIGxpbmUgIT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbXlDb3VudCA9IGNhbGNPbGROZXdMaW5lQ291bnQobGluZS5taW5lKTtcbiAgICAgIGxldCB0aGVpckNvdW50ID0gY2FsY09sZE5ld0xpbmVDb3VudChsaW5lLnRoZWlycyk7XG5cbiAgICAgIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChteUNvdW50Lm9sZExpbmVzID09PSB0aGVpckNvdW50Lm9sZExpbmVzKSB7XG4gICAgICAgICAgb2xkTGluZXMgKz0gbXlDb3VudC5vbGRMaW5lcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbGRMaW5lcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobmV3TGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAobXlDb3VudC5uZXdMaW5lcyA9PT0gdGhlaXJDb3VudC5uZXdMaW5lcykge1xuICAgICAgICAgIG5ld0xpbmVzICs9IG15Q291bnQubmV3TGluZXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGluZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG5ld0xpbmVzICE9PSB1bmRlZmluZWQgJiYgKGxpbmVbMF0gPT09ICcrJyB8fCBsaW5lWzBdID09PSAnICcpKSB7XG4gICAgICAgIG5ld0xpbmVzKys7XG4gICAgICB9XG4gICAgICBpZiAob2xkTGluZXMgIT09IHVuZGVmaW5lZCAmJiAobGluZVswXSA9PT0gJy0nIHx8IGxpbmVbMF0gPT09ICcgJykpIHtcbiAgICAgICAgb2xkTGluZXMrKztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB7b2xkTGluZXMsIG5ld0xpbmVzfTtcbn1cbiJdfQ==