nativescript 8.9.0-dev.2 → 8.9.0-dev.3

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 (403) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -32
  3. package/lib/base-package-manager.js +47 -71
  4. package/lib/bootstrap.js +1 -5
  5. package/lib/bun-package-manager.js +65 -104
  6. package/lib/color.js +2 -5
  7. package/lib/commands/add-platform.js +14 -31
  8. package/lib/commands/apple-login.js +18 -30
  9. package/lib/commands/appstore-list.js +34 -46
  10. package/lib/commands/appstore-upload.js +52 -68
  11. package/lib/commands/build.js +57 -90
  12. package/lib/commands/clean.js +161 -197
  13. package/lib/commands/command-base.js +14 -28
  14. package/lib/commands/config.js +48 -71
  15. package/lib/commands/create-project.js +210 -235
  16. package/lib/commands/debug.js +66 -93
  17. package/lib/commands/deploy.js +30 -47
  18. package/lib/commands/embedding/embed.js +33 -59
  19. package/lib/commands/extensibility/install-extension.js +5 -17
  20. package/lib/commands/extensibility/list-extensions.js +13 -25
  21. package/lib/commands/extensibility/uninstall-extension.js +4 -16
  22. package/lib/commands/fonts.js +30 -42
  23. package/lib/commands/generate-assets.js +13 -29
  24. package/lib/commands/generate-help.js +2 -14
  25. package/lib/commands/generate.js +12 -70
  26. package/lib/commands/info.js +2 -14
  27. package/lib/commands/install.js +34 -50
  28. package/lib/commands/list-platforms.js +14 -26
  29. package/lib/commands/migrate.js +15 -27
  30. package/lib/commands/native-add.js +23 -51
  31. package/lib/commands/platform-clean.js +19 -33
  32. package/lib/commands/plugin/add-plugin.js +12 -26
  33. package/lib/commands/plugin/build-plugin.js +31 -45
  34. package/lib/commands/plugin/create-plugin.js +110 -138
  35. package/lib/commands/plugin/list-plugins.js +22 -34
  36. package/lib/commands/plugin/remove-plugin.js +20 -35
  37. package/lib/commands/plugin/update-plugin.js +20 -34
  38. package/lib/commands/post-install.js +20 -39
  39. package/lib/commands/prepare.js +22 -39
  40. package/lib/commands/preview.js +49 -64
  41. package/lib/commands/remove-platform.js +7 -19
  42. package/lib/commands/resources/resources-update.js +13 -28
  43. package/lib/commands/run.js +55 -77
  44. package/lib/commands/setup.js +0 -1
  45. package/lib/commands/start.js +6 -20
  46. package/lib/commands/test-init.js +123 -138
  47. package/lib/commands/test.js +67 -97
  48. package/lib/commands/typings.js +126 -143
  49. package/lib/commands/update-platform.js +22 -40
  50. package/lib/commands/update.js +30 -45
  51. package/lib/commands/widget.js +390 -352
  52. package/lib/common/bootstrap.js +0 -1
  53. package/lib/common/child-process.js +53 -75
  54. package/lib/common/codeGeneration/code-entity.js +1 -2
  55. package/lib/common/codeGeneration/code-printer.js +1 -2
  56. package/lib/common/command-params.js +7 -19
  57. package/lib/common/commands/analytics.js +27 -43
  58. package/lib/common/commands/autocompletion.js +39 -59
  59. package/lib/common/commands/device/device-log-stream.js +12 -24
  60. package/lib/common/commands/device/get-file.js +22 -35
  61. package/lib/common/commands/device/list-applications.js +12 -24
  62. package/lib/common/commands/device/list-devices.js +72 -90
  63. package/lib/common/commands/device/list-files.js +23 -36
  64. package/lib/common/commands/device/put-file.js +22 -35
  65. package/lib/common/commands/device/run-application.js +12 -26
  66. package/lib/common/commands/device/stop-application.js +11 -23
  67. package/lib/common/commands/device/uninstall-application.js +6 -18
  68. package/lib/common/commands/doctor.js +2 -3
  69. package/lib/common/commands/generate-messages.js +17 -29
  70. package/lib/common/commands/help.js +20 -34
  71. package/lib/common/commands/package-manager-get.js +6 -18
  72. package/lib/common/commands/package-manager-set.js +9 -21
  73. package/lib/common/commands/post-install.js +2 -14
  74. package/lib/common/commands/preuninstall.js +24 -48
  75. package/lib/common/commands/proxy/proxy-base.js +8 -23
  76. package/lib/common/commands/proxy/proxy-clear.js +4 -16
  77. package/lib/common/commands/proxy/proxy-get.js +3 -15
  78. package/lib/common/commands/proxy/proxy-set.js +87 -101
  79. package/lib/common/common-lib.js +0 -1
  80. package/lib/common/constants.js +11 -22
  81. package/lib/common/decorators.js +10 -70
  82. package/lib/common/dispatchers.js +80 -106
  83. package/lib/common/errors.js +91 -116
  84. package/lib/common/file-system.js +108 -141
  85. package/lib/common/header.js +1 -5
  86. package/lib/common/helpers.js +152 -267
  87. package/lib/common/host-info.js +37 -54
  88. package/lib/common/http-client.js +93 -128
  89. package/lib/common/logger/appenders/cli-appender.js +1 -6
  90. package/lib/common/logger/appenders/emit-appender.js +1 -6
  91. package/lib/common/logger/layouts/cli-layout.js +1 -3
  92. package/lib/common/logger/logger.js +4 -9
  93. package/lib/common/messages/messages.js +0 -6
  94. package/lib/common/mobile/android/android-application-manager.js +122 -162
  95. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -2
  96. package/lib/common/mobile/android/android-debug-bridge.js +87 -118
  97. package/lib/common/mobile/android/android-device-file-system.js +98 -135
  98. package/lib/common/mobile/android/android-device-hash-service.js +50 -78
  99. package/lib/common/mobile/android/android-device.js +68 -93
  100. package/lib/common/mobile/android/android-emulator-services.js +105 -131
  101. package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
  102. package/lib/common/mobile/android/android-log-filter.js +1 -5
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -123
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -30
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -123
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -92
  107. package/lib/common/mobile/android/logcat-helper.js +108 -140
  108. package/lib/common/mobile/application-manager-base.js +84 -113
  109. package/lib/common/mobile/device-emitter.js +0 -4
  110. package/lib/common/mobile/device-log-emitter.js +0 -1
  111. package/lib/common/mobile/device-log-provider-base.js +7 -19
  112. package/lib/common/mobile/device-log-provider.js +0 -23
  113. package/lib/common/mobile/device-platforms-constants.js +0 -1
  114. package/lib/common/mobile/emulator-helper.js +0 -3
  115. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -111
  116. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -106
  117. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -146
  118. package/lib/common/mobile/ios/device/ios-device.js +20 -40
  119. package/lib/common/mobile/ios/ios-device-base.js +58 -82
  120. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
  121. package/lib/common/mobile/ios/ios-log-filter.js +0 -1
  122. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -96
  123. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -2
  124. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -95
  125. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -48
  126. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -63
  127. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -36
  128. package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
  129. package/lib/common/mobile/log-filter.js +0 -2
  130. package/lib/common/mobile/logging-levels.js +0 -1
  131. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -64
  132. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -35
  133. package/lib/common/mobile/mobile-core/android-process-service.js +143 -214
  134. package/lib/common/mobile/mobile-core/device-discovery.js +2 -14
  135. package/lib/common/mobile/mobile-core/devices-service.js +386 -505
  136. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -37
  137. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -65
  138. package/lib/common/mobile/mobile-helper.js +15 -27
  139. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -53
  140. package/lib/common/opener.js +2 -3
  141. package/lib/common/os-info.js +0 -1
  142. package/lib/common/plist-parser.js +0 -1
  143. package/lib/common/project-helper.js +0 -1
  144. package/lib/common/prompter.js +91 -114
  145. package/lib/common/queue.js +9 -21
  146. package/lib/common/resource-loader.js +0 -1
  147. package/lib/common/services/auto-completion-service.js +40 -65
  148. package/lib/common/services/cancellation.js +17 -29
  149. package/lib/common/services/commands-service.js +146 -180
  150. package/lib/common/services/help-service.js +133 -166
  151. package/lib/common/services/hooks-service.js +93 -121
  152. package/lib/common/services/ios-notification-service.js +21 -35
  153. package/lib/common/services/json-file-settings-service.js +52 -77
  154. package/lib/common/services/lock-service.js +35 -58
  155. package/lib/common/services/message-contract-generator.js +35 -47
  156. package/lib/common/services/messages-service.js +0 -1
  157. package/lib/common/services/micro-templating-service.js +4 -21
  158. package/lib/common/services/net-service.js +90 -110
  159. package/lib/common/services/project-files-manager.js +10 -28
  160. package/lib/common/services/project-files-provider-base.js +0 -1
  161. package/lib/common/services/proxy-service.js +13 -25
  162. package/lib/common/services/qr.js +13 -25
  163. package/lib/common/services/settings-service.js +1 -2
  164. package/lib/common/services/xcode-select-service.js +20 -36
  165. package/lib/common/utils.js +2 -3
  166. package/lib/common/validators/project-name-validator.js +1 -2
  167. package/lib/common/validators/validation-result.js +1 -2
  168. package/lib/common/verify-node-version.js +3 -11
  169. package/lib/common/yok.js +35 -69
  170. package/lib/config.js +36 -72
  171. package/lib/constants-provider.js +0 -1
  172. package/lib/constants.js +24 -77
  173. package/lib/controllers/build-controller.js +82 -100
  174. package/lib/controllers/debug-controller.js +107 -133
  175. package/lib/controllers/deploy-controller.js +15 -24
  176. package/lib/controllers/migrate-controller.js +723 -884
  177. package/lib/controllers/platform-controller.js +71 -94
  178. package/lib/controllers/prepare-controller.js +232 -274
  179. package/lib/controllers/run-controller.js +397 -427
  180. package/lib/controllers/update-controller-base.js +16 -30
  181. package/lib/controllers/update-controller.js +94 -130
  182. package/lib/data/build-data.js +0 -1
  183. package/lib/data/controller-data-base.js +0 -1
  184. package/lib/data/debug-data.js +0 -1
  185. package/lib/data/platform-data.js +0 -1
  186. package/lib/data/prepare-data.js +4 -2
  187. package/lib/data/run-data.js +0 -1
  188. package/lib/definitions/project.d.ts +24 -24
  189. package/lib/detached-processes/cleanup-js-subprocess.js +5 -20
  190. package/lib/detached-processes/cleanup-process.js +30 -43
  191. package/lib/detached-processes/file-log-service.js +1 -2
  192. package/lib/device-path-provider.js +23 -35
  193. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -171
  194. package/lib/device-sockets/ios/notification.js +1 -4
  195. package/lib/device-sockets/ios/socket-request-executor.js +24 -42
  196. package/lib/helpers/android-bundle-validator-helper.js +2 -3
  197. package/lib/helpers/deploy-command-helper.js +44 -50
  198. package/lib/helpers/key-command-helper.js +6 -17
  199. package/lib/helpers/livesync-command-helper.js +137 -155
  200. package/lib/helpers/network-connectivity-validator.js +6 -18
  201. package/lib/helpers/options-track-helper.js +7 -19
  202. package/lib/helpers/package-path-helper.js +0 -1
  203. package/lib/helpers/platform-command-helper.js +101 -127
  204. package/lib/helpers/version-validator-helper.js +0 -1
  205. package/lib/key-commands/bootstrap.js +2 -3
  206. package/lib/key-commands/index.js +154 -205
  207. package/lib/nativescript-cli-lib-bootstrap.js +0 -4
  208. package/lib/nativescript-cli-lib.js +0 -1
  209. package/lib/nativescript-cli.js +6 -24
  210. package/lib/node/pbxproj-dom-xcode.js +0 -1
  211. package/lib/node/xcode.js +0 -1
  212. package/lib/node-package-manager.js +81 -114
  213. package/lib/options.js +122 -156
  214. package/lib/package-installation-manager.js +130 -172
  215. package/lib/package-manager.js +63 -88
  216. package/lib/platform-command-param.js +4 -16
  217. package/lib/pnpm-package-manager.js +59 -81
  218. package/lib/project-data.js +1 -13
  219. package/lib/providers/project-files-provider.js +1 -2
  220. package/lib/resolvers/livesync-service-resolver.js +0 -1
  221. package/lib/services/analytics/analytics-broker-process.js +19 -32
  222. package/lib/services/analytics/analytics-broker.js +17 -31
  223. package/lib/services/analytics/analytics-service.js +170 -210
  224. package/lib/services/analytics/google-analytics-provider.js +43 -59
  225. package/lib/services/analytics-settings-service.js +15 -37
  226. package/lib/services/android/android-bundle-tool-service.js +43 -61
  227. package/lib/services/android/gradle-build-args-service.js +9 -23
  228. package/lib/services/android/gradle-build-service.js +22 -36
  229. package/lib/services/android/gradle-command-service.js +22 -36
  230. package/lib/services/android-device-debug-service.js +90 -123
  231. package/lib/services/android-plugin-build-service.js +205 -260
  232. package/lib/services/android-project-service.js +129 -241
  233. package/lib/services/android-resources-migration-service.js +51 -71
  234. package/lib/services/apple-portal/apple-portal-application-service.js +46 -64
  235. package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
  236. package/lib/services/apple-portal/apple-portal-session-service.js +197 -218
  237. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -61
  238. package/lib/services/assets-generation/assets-generation-service.js +103 -128
  239. package/lib/services/build-artifacts-service.js +10 -22
  240. package/lib/services/build-data-service.js +0 -1
  241. package/lib/services/build-info-file-service.js +20 -36
  242. package/lib/services/cleanup-service.js +48 -81
  243. package/lib/services/cocoapods-platform-manager.js +0 -9
  244. package/lib/services/cocoapods-service.js +112 -153
  245. package/lib/services/debug-data-service.js +0 -1
  246. package/lib/services/debug-service-base.js +0 -7
  247. package/lib/services/device/device-install-app-service.js +54 -72
  248. package/lib/services/doctor-service.js +101 -135
  249. package/lib/services/extensibility-service.js +81 -108
  250. package/lib/services/files-hash-service.js +26 -44
  251. package/lib/services/hmr-status-service.js +1 -3
  252. package/lib/services/info-service.js +0 -1
  253. package/lib/services/initialize-service.js +37 -54
  254. package/lib/services/ios/export-options-plist-service.js +38 -55
  255. package/lib/services/ios/ios-signing-service.js +168 -191
  256. package/lib/services/ios/spm-service.js +46 -70
  257. package/lib/services/ios/xcodebuild-args-service.js +77 -103
  258. package/lib/services/ios/xcodebuild-command-service.js +14 -26
  259. package/lib/services/ios/xcodebuild-service.js +52 -72
  260. package/lib/services/ios-debugger-port-service.js +24 -38
  261. package/lib/services/ios-device-debug-service.js +75 -103
  262. package/lib/services/ios-entitlements-service.js +31 -43
  263. package/lib/services/ios-extensions-service.js +18 -30
  264. package/lib/services/ios-log-filter.js +0 -20
  265. package/lib/services/ios-native-target-service.js +4 -6
  266. package/lib/services/ios-project-service.js +452 -603
  267. package/lib/services/ios-provision-service.js +108 -132
  268. package/lib/services/ios-watch-app-service.js +21 -33
  269. package/lib/services/ip-service.js +38 -55
  270. package/lib/services/itmstransporter-service.js +129 -153
  271. package/lib/services/karma-execution.js +0 -2
  272. package/lib/services/livesync/android-device-livesync-service-base.js +31 -49
  273. package/lib/services/livesync/android-device-livesync-service.js +120 -151
  274. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -155
  275. package/lib/services/livesync/android-livesync-service.js +14 -36
  276. package/lib/services/livesync/android-livesync-tool.js +90 -117
  277. package/lib/services/livesync/device-livesync-service-base.js +15 -30
  278. package/lib/services/livesync/ios-device-livesync-service.js +114 -150
  279. package/lib/services/livesync/ios-livesync-service.js +42 -60
  280. package/lib/services/livesync/livesync-socket.js +0 -1
  281. package/lib/services/livesync/platform-livesync-service-base.js +94 -124
  282. package/lib/services/livesync-process-data-service.js +0 -1
  283. package/lib/services/log-parser-service.js +1 -2
  284. package/lib/services/log-source-map-service.js +30 -56
  285. package/lib/services/marking-mode-service.js +17 -33
  286. package/lib/services/metadata-filtering-service.js +0 -1
  287. package/lib/services/npm-config-service.js +1 -5
  288. package/lib/services/pacote-service.js +49 -71
  289. package/lib/services/performance-service.js +2 -4
  290. package/lib/services/platform/add-platform-service.js +51 -119
  291. package/lib/services/platform/platform-validation-service.js +22 -34
  292. package/lib/services/platform/prepare-native-platform-service.js +49 -65
  293. package/lib/services/platform-environment-requirements.js +27 -43
  294. package/lib/services/platform-project-service-base.js +0 -1
  295. package/lib/services/platforms-data-service.js +0 -1
  296. package/lib/services/plugins-service.js +125 -168
  297. package/lib/services/prepare-data-service.js +0 -1
  298. package/lib/services/project-backup-service.js +1 -5
  299. package/lib/services/project-changes-service.js +124 -152
  300. package/lib/services/project-cleanup-service.js +64 -79
  301. package/lib/services/project-config-service.js +73 -102
  302. package/lib/services/project-data-service.js +108 -154
  303. package/lib/services/project-name-service.js +28 -44
  304. package/lib/services/project-service.js +84 -113
  305. package/lib/services/project-templates-service.js +52 -68
  306. package/lib/services/qr-code-terminal-service.js +0 -1
  307. package/lib/services/require-service.js +0 -1
  308. package/lib/services/start-service.js +41 -60
  309. package/lib/services/temp-service.js +8 -22
  310. package/lib/services/terminal-spinner-service.js +15 -28
  311. package/lib/services/test-execution-service.js +59 -79
  312. package/lib/services/test-initialization-service.js +2 -6
  313. package/lib/services/timeline-profiler-service.js +1 -2
  314. package/lib/services/user-settings-service.js +0 -1
  315. package/lib/services/versions-service.js +119 -140
  316. package/lib/services/watch-ignore-list-service.js +0 -1
  317. package/lib/services/webpack/webpack-compiler-service.js +215 -279
  318. package/lib/services/xcconfig-service.js +8 -21
  319. package/lib/services/xcproj-service.js +0 -1
  320. package/lib/shared-event-bus.js +0 -6
  321. package/lib/sys-info.js +45 -63
  322. package/lib/tools/config-manipulation/config-transformer.js +0 -12
  323. package/lib/tools/node-modules/node-modules-builder.js +16 -28
  324. package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
  325. package/lib/yarn-package-manager.js +59 -79
  326. package/lib/yarn2-package-manager.js +60 -82
  327. package/package.json +65 -80
  328. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  329. package/node_modules/@npmcli/move-file/README.md +0 -69
  330. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  331. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  342. package/node_modules/@npmcli/move-file/package.json +0 -47
  343. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  344. package/node_modules/balanced-match/LICENSE.md +0 -21
  345. package/node_modules/balanced-match/README.md +0 -97
  346. package/node_modules/balanced-match/index.js +0 -62
  347. package/node_modules/balanced-match/package.json +0 -48
  348. package/node_modules/concat-map/.travis.yml +0 -4
  349. package/node_modules/concat-map/LICENSE +0 -18
  350. package/node_modules/concat-map/README.markdown +0 -62
  351. package/node_modules/concat-map/example/map.js +0 -6
  352. package/node_modules/concat-map/index.js +0 -13
  353. package/node_modules/concat-map/package.json +0 -43
  354. package/node_modules/concat-map/test/map.js +0 -39
  355. package/node_modules/fs.realpath/LICENSE +0 -43
  356. package/node_modules/fs.realpath/README.md +0 -33
  357. package/node_modules/fs.realpath/index.js +0 -66
  358. package/node_modules/fs.realpath/old.js +0 -303
  359. package/node_modules/fs.realpath/package.json +0 -26
  360. package/node_modules/inflight/LICENSE +0 -15
  361. package/node_modules/inflight/README.md +0 -37
  362. package/node_modules/inflight/inflight.js +0 -54
  363. package/node_modules/inflight/package.json +0 -29
  364. package/node_modules/inherits/LICENSE +0 -16
  365. package/node_modules/inherits/README.md +0 -42
  366. package/node_modules/inherits/inherits.js +0 -9
  367. package/node_modules/inherits/inherits_browser.js +0 -27
  368. package/node_modules/inherits/package.json +0 -29
  369. package/node_modules/once/LICENSE +0 -15
  370. package/node_modules/once/README.md +0 -79
  371. package/node_modules/once/once.js +0 -42
  372. package/node_modules/once/package.json +0 -33
  373. package/node_modules/path-is-absolute/index.js +0 -20
  374. package/node_modules/path-is-absolute/license +0 -21
  375. package/node_modules/path-is-absolute/package.json +0 -43
  376. package/node_modules/path-is-absolute/readme.md +0 -59
  377. package/node_modules/rimraf/LICENSE +0 -15
  378. package/node_modules/rimraf/README.md +0 -101
  379. package/node_modules/rimraf/bin.js +0 -68
  380. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  381. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  382. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  383. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  384. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  385. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  386. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  387. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  388. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  389. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  390. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  391. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  392. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  393. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  394. package/node_modules/rimraf/package.json +0 -32
  395. package/node_modules/rimraf/rimraf.js +0 -360
  396. package/node_modules/stringify-package/LICENSE +0 -13
  397. package/node_modules/stringify-package/README.md +0 -55
  398. package/node_modules/stringify-package/index.js +0 -18
  399. package/node_modules/stringify-package/package.json +0 -38
  400. package/node_modules/wrappy/LICENSE +0 -15
  401. package/node_modules/wrappy/README.md +0 -36
  402. package/node_modules/wrappy/package.json +0 -29
  403. package/node_modules/wrappy/wrappy.js +0 -33
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.Yarn2PackageManager = void 0;
19
10
  const path = require("path");
@@ -36,36 +27,32 @@ class Yarn2PackageManager extends base_package_manager_1.BasePackageManager {
36
27
  }
37
28
  return executableName;
38
29
  }
39
- install(packageName, pathToSave, config) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- if (config.disableNpmInstall) {
42
- return;
43
- }
44
- if (config.ignoreScripts) {
45
- config["ignore-scripts"] = true;
46
- }
47
- const packageJsonPath = path.join(pathToSave, "package.json");
48
- const jsonContentBefore = this.$fs.readJson(packageJsonPath);
49
- // remove unsupported flags
50
- // todo: refactor all package managers to map typed flags to the actual flags
51
- const cleanedConfig = _.omit(config, ["save-dev", "save-exact"]);
52
- const flags = this.getFlagsString(cleanedConfig, true);
53
- let params = [];
54
- const isInstallingAllDependencies = packageName === pathToSave;
55
- if (!isInstallingAllDependencies) {
56
- params.push("add", packageName);
57
- }
58
- params = params.concat(flags);
59
- const cwd = pathToSave;
60
- try {
61
- const result = yield this.processPackageManagerInstall(packageName, params, { cwd, isInstallingAllDependencies });
62
- return result;
63
- }
64
- catch (e) {
65
- this.$fs.writeJson(packageJsonPath, jsonContentBefore);
66
- throw e;
67
- }
68
- });
30
+ async install(packageName, pathToSave, config) {
31
+ if (config.disableNpmInstall) {
32
+ return;
33
+ }
34
+ if (config.ignoreScripts) {
35
+ config["ignore-scripts"] = true;
36
+ }
37
+ const packageJsonPath = path.join(pathToSave, "package.json");
38
+ const jsonContentBefore = this.$fs.readJson(packageJsonPath);
39
+ const cleanedConfig = _.omit(config, ["save-dev", "save-exact"]);
40
+ const flags = this.getFlagsString(cleanedConfig, true);
41
+ let params = [];
42
+ const isInstallingAllDependencies = packageName === pathToSave;
43
+ if (!isInstallingAllDependencies) {
44
+ params.push("add", packageName);
45
+ }
46
+ params = params.concat(flags);
47
+ const cwd = pathToSave;
48
+ try {
49
+ const result = await this.processPackageManagerInstall(packageName, params, { cwd, isInstallingAllDependencies });
50
+ return result;
51
+ }
52
+ catch (e) {
53
+ this.$fs.writeJson(packageJsonPath, jsonContentBefore);
54
+ throw e;
55
+ }
69
56
  }
70
57
  uninstall(packageName, config, cwd) {
71
58
  const flags = this.getFlagsString(config, false);
@@ -73,56 +60,49 @@ class Yarn2PackageManager extends base_package_manager_1.BasePackageManager {
73
60
  cwd,
74
61
  });
75
62
  }
76
- view(packageName, config) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- const wrappedConfig = _.extend({}, config, { json: true });
79
- const flags = this.getFlagsString(wrappedConfig, false);
80
- let viewResult;
81
- try {
82
- viewResult = yield this.$childProcess.exec(`yarn npm info ${packageName} ${flags}`);
83
- }
84
- catch (e) {
85
- this.$errors.fail(e.message);
86
- }
87
- try {
88
- return JSON.parse(viewResult);
89
- }
90
- catch (err) {
91
- this.$errors.fail(err.message);
92
- return null;
93
- }
94
- });
63
+ async view(packageName, config) {
64
+ const wrappedConfig = _.extend({}, config, { json: true });
65
+ const flags = this.getFlagsString(wrappedConfig, false);
66
+ let viewResult;
67
+ try {
68
+ viewResult = await this.$childProcess.exec(`yarn npm info ${packageName} ${flags}`);
69
+ }
70
+ catch (e) {
71
+ this.$errors.fail(e.message);
72
+ }
73
+ try {
74
+ return JSON.parse(viewResult);
75
+ }
76
+ catch (err) {
77
+ this.$errors.fail(err.message);
78
+ return null;
79
+ }
95
80
  }
96
81
  search(filter, config) {
97
82
  this.$errors.fail("Method not implemented. Yarn does not support searching for packages in the registry.");
98
83
  return null;
99
84
  }
100
- searchNpms(keyword) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const httpRequestResult = yield this.$httpClient.httpRequest(`https://api.npms.io/v2/search?q=keywords:${keyword}`);
103
- const result = JSON.parse(httpRequestResult.body);
104
- return result;
105
- });
85
+ async searchNpms(keyword) {
86
+ const httpRequestResult = await this.$httpClient.httpRequest(`https://api.npms.io/v2/search?q=keywords:${keyword}`);
87
+ const result = JSON.parse(httpRequestResult.body);
88
+ return result;
106
89
  }
107
- getRegistryPackageData(packageName) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- const registry = yield this.$childProcess.exec(`yarn config get npmRegistryServer`);
110
- const url = `${registry.trim()}/${packageName}`;
111
- this.$logger.trace(`Trying to get data from yarn registry for package ${packageName}, url is: ${url}`);
112
- const responseData = (yield this.$httpClient.httpRequest(url)).body;
113
- this.$logger.trace(`Successfully received data from yarn registry for package ${packageName}. Response data is: ${responseData}`);
114
- const jsonData = JSON.parse(responseData);
115
- this.$logger.trace(`Successfully parsed data from yarn registry for package ${packageName}.`);
116
- return jsonData;
117
- });
90
+ async getRegistryPackageData(packageName) {
91
+ const registry = await this.$childProcess.exec(`yarn config get npmRegistryServer`);
92
+ const url = `${registry.trim()}/${packageName}`;
93
+ this.$logger.trace(`Trying to get data from yarn registry for package ${packageName}, url is: ${url}`);
94
+ const responseData = (await this.$httpClient.httpRequest(url)).body;
95
+ this.$logger.trace(`Successfully received data from yarn registry for package ${packageName}. Response data is: ${responseData}`);
96
+ const jsonData = JSON.parse(responseData);
97
+ this.$logger.trace(`Successfully parsed data from yarn registry for package ${packageName}.`);
98
+ return jsonData;
118
99
  }
119
- getCachePath() {
120
- return __awaiter(this, void 0, void 0, function* () {
121
- const result = yield this.$childProcess.exec(`yarn config get cacheFolder`);
122
- return result.toString().trim();
123
- });
100
+ async getCachePath() {
101
+ const result = await this.$childProcess.exec(`yarn config get cacheFolder`);
102
+ return result.toString().trim();
124
103
  }
125
104
  }
105
+ exports.Yarn2PackageManager = Yarn2PackageManager;
126
106
  __decorate([
127
107
  (0, decorators_1.exported)("yarn2")
128
108
  ], Yarn2PackageManager.prototype, "install", null);
@@ -141,6 +121,4 @@ __decorate([
141
121
  __decorate([
142
122
  (0, decorators_1.exported)("yarn2")
143
123
  ], Yarn2PackageManager.prototype, "getCachePath", null);
144
- exports.Yarn2PackageManager = Yarn2PackageManager;
145
124
  yok_1.injector.register("yarn2", Yarn2PackageManager);
146
- //# sourceMappingURL=yarn2-package-manager.js.map
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nativescript",
3
3
  "main": "./lib/nativescript-cli-lib.js",
4
- "version": "8.9.0-dev.2",
5
- "author": "NativeScript <support@nativescript.org>",
4
+ "version": "8.9.0-dev.3",
5
+ "author": "NativeScript <oss@nativescript.org>",
6
6
  "description": "Command-line interface for building NativeScript projects",
7
7
  "bin": {
8
8
  "tns": "./bin/tns",
@@ -32,7 +32,7 @@
32
32
  "build": "grunt",
33
33
  "build.all": "grunt test",
34
34
  "dev": "tsc --watch",
35
- "setup": "npm i --ignore-scripts && npx husky install",
35
+ "setup": "npm i --ignore-scripts && npx husky",
36
36
  "test": "npm run tsc && mocha --config=test/.mocharc.yml",
37
37
  "postinstall": "node postinstall.js",
38
38
  "preuninstall": "node preuninstall.js",
@@ -55,22 +55,20 @@
55
55
  ],
56
56
  "dependencies": {
57
57
  "@foxt/js-srp": "^0.0.3-patch2",
58
- "@nativescript/doctor": "2.0.15",
59
- "@nativescript/schematics-executor": "0.0.2",
60
- "@npmcli/arborist": "^7.2.0",
61
- "@npmcli/move-file": "^2.0.0",
58
+ "@nativescript/doctor": "2.0.16-rc.0",
59
+ "@npmcli/arborist": "^9.0.0",
62
60
  "@rigor789/resolve-package-path": "1.0.7",
63
61
  "@rigor789/trapezedev-project": "7.1.2",
64
62
  "ansi-colors": "^4.1.3",
65
- "archiver": "^5.3.1",
66
- "axios": "1.6.5",
63
+ "archiver": "^7.0.1",
64
+ "axios": "1.7.9",
67
65
  "byline": "5.0.0",
68
- "chalk": "4.1.2",
69
- "chokidar": "3.5.3",
70
- "cli-table3": "0.6.3",
66
+ "chalk": "^4.1.0",
67
+ "chokidar": "4.0.3",
68
+ "cli-table3": "0.6.5",
71
69
  "color": "4.2.3",
72
70
  "convert-source-map": "2.0.0",
73
- "detect-newline": "3.1.0",
71
+ "detect-newline": "4.0.1",
74
72
  "email-validator": "2.0.4",
75
73
  "esprima": "4.0.1",
76
74
  "font-finder": "1.1.0",
@@ -78,83 +76,77 @@
78
76
  "ios-device-lib": "0.9.4",
79
77
  "ios-mobileprovision-finder": "1.2.1",
80
78
  "ios-sim-portable": "4.5.0",
81
- "jimp": "0.22.10",
79
+ "jimp": "1.6.0",
82
80
  "lodash": "4.17.21",
83
81
  "log4js": "6.9.1",
84
- "marked": "4.3.0",
85
- "marked-terminal": "5.1.1",
86
- "minimatch": "7.4.2",
87
- "mkdirp": "2.1.6",
88
- "mute-stream": "1.0.0",
89
- "nativescript-dev-xcode": "0.8.0",
90
- "open": "8.4.2",
91
- "ora": "5.4.1",
92
- "pacote": "15.1.1",
82
+ "marked": "15.0.6",
83
+ "marked-terminal": "7.3.0",
84
+ "minimatch": "10.0.1",
85
+ "mkdirp": "3.0.1",
86
+ "mute-stream": "2.0.0",
87
+ "nativescript-dev-xcode": "0.8.1",
88
+ "open": "10.1.0",
89
+ "ora": "8.1.1",
90
+ "pacote": "21.0.0",
93
91
  "pbxproj-dom": "1.2.0",
94
- "plist": "3.0.6",
92
+ "plist": "3.1.0",
95
93
  "plist-merge-patch": "0.2.0",
96
- "prettier": "2.8.7",
94
+ "prettier": "3.4.2",
97
95
  "prompts": "2.4.2",
98
96
  "proper-lockfile": "4.1.2",
99
97
  "proxy-lib": "0.4.0",
100
98
  "qr-image": "3.2.0",
101
99
  "qrcode-terminal": "0.12.0",
102
- "semver": "7.5.4",
100
+ "semver": "7.6.3",
103
101
  "shelljs": "0.8.5",
104
- "simple-git": "3.17.0",
102
+ "simple-git": "3.27.0",
105
103
  "simple-plist": "1.4.0",
106
104
  "source-map": "0.7.4",
107
- "stringify-package": "1.0.1",
108
- "tar": "6.1.13",
105
+ "tar": "7.4.3",
109
106
  "temp": "0.9.4",
110
- "ts-morph": "17.0.1",
107
+ "ts-morph": "25.0.0",
111
108
  "tunnel": "0.0.6",
112
- "typescript": "5.0.3",
109
+ "typescript": "5.7.3",
113
110
  "universal-analytics": "0.5.3",
114
- "uuid": "9.0.0",
115
- "winreg": "1.2.4",
116
- "ws": "8.13.0",
111
+ "uuid": "11.0.5",
112
+ "winreg": "1.2.5",
113
+ "ws": "8.18.0",
117
114
  "xml2js": "0.6.2",
118
- "yargs": "17.7.1"
115
+ "yargs": "17.7.2"
119
116
  },
120
117
  "devDependencies": {
121
- "@types/archiver": "^5.3.2",
122
- "@types/byline": "^4.2.33",
123
- "@types/chai": "4.3.4",
124
- "@types/chai-as-promised": "7.1.5",
125
- "@types/chokidar": "2.1.3",
126
- "@types/color": "3.0.3",
127
- "@types/convert-source-map": "2.0.0",
128
- "@types/form-data": "2.5.0",
118
+ "@types/archiver": "^6.0.3",
119
+ "@types/byline": "^4.2.36",
120
+ "@types/chai": "5.0.1",
121
+ "@types/chai-as-promised": "8.0.1",
122
+ "@types/color": "4.2.0",
123
+ "@types/convert-source-map": "2.0.3",
129
124
  "@types/glob": "^8.1.0",
130
- "@types/lodash": "4.14.192",
131
- "@types/marked": "^4.0.8",
132
- "@types/node": "18.15.11",
133
- "@types/npmcli__arborist": "^5.6.4",
134
- "@types/ora": "3.2.0",
135
- "@types/pacote": "^11.1.5",
136
- "@types/plist": "^3.0.2",
137
- "@types/prettier": "2.7.2",
138
- "@types/prompts": "2.4.4",
139
- "@types/proper-lockfile": "4.1.2",
140
- "@types/qr-image": "3.2.5",
141
- "@types/retry": "0.12.2",
142
- "@types/semver": "7.5.6",
125
+ "@types/lodash": "4.17.15",
126
+ "@types/marked-terminal": "^6.1.1",
127
+ "@types/node": "^20.0.0",
128
+ "@types/npmcli__arborist": "^6.3.0",
129
+ "@types/pacote": "^11.1.8",
130
+ "@types/plist": "^3.0.5",
131
+ "@types/prompts": "2.4.9",
132
+ "@types/proper-lockfile": "4.1.4",
133
+ "@types/qr-image": "3.2.9",
134
+ "@types/retry": "0.12.5",
135
+ "@types/semver": "7.5.8",
143
136
  "@types/shelljs": "^0.8.11",
144
- "@types/sinon": "^10.0.13",
145
- "@types/source-map": "0.5.7",
137
+ "@types/sinon": "^17.0.3",
146
138
  "@types/tabtab": "^3.0.2",
147
- "@types/tar": "6.1.4",
148
- "@types/temp": "0.9.1",
149
- "@types/tunnel": "0.0.3",
150
- "@types/universal-analytics": "0.4.5",
151
- "@types/uuid": "^9.0.1",
152
- "@types/ws": "8.5.4",
139
+ "@types/tar": "6.1.13",
140
+ "@types/temp": "0.9.4",
141
+ "@types/tunnel": "0.0.7",
142
+ "@types/universal-analytics": "0.4.8",
143
+ "@types/uuid": "^10.0.0",
144
+ "@types/ws": "8.5.14",
153
145
  "@types/xml2js": "0.4.14",
154
- "@types/yargs": "17.0.24",
155
- "chai": "4.3.7",
156
- "chai-as-promised": "7.1.1",
157
- "conventional-changelog-cli": "^2.2.2",
146
+ "@types/yargs": "17.0.33",
147
+ "chai": "5.1.2",
148
+ "chai-as-promised": "8.0.1",
149
+ "conventional-changelog-cli": "^5.0.0",
158
150
  "grunt": "1.6.1",
159
151
  "grunt-contrib-clean": "2.0.1",
160
152
  "grunt-contrib-copy": "1.0.0",
@@ -162,21 +154,14 @@
162
154
  "grunt-shell": "4.0.0",
163
155
  "grunt-template": "1.0.0",
164
156
  "grunt-ts": "6.0.0-beta.22",
165
- "husky": "8.0.3",
157
+ "husky": "9.1.7",
166
158
  "istanbul": "0.4.5",
167
- "latest-version": "5.1.0",
168
- "lint-staged": "^13.2.0",
169
- "mocha": "10.2.0",
170
- "sinon": "15.0.3",
159
+ "latest-version": "9.0.0",
160
+ "lint-staged": "~15.2.0",
161
+ "mocha": "11.1.0",
162
+ "sinon": "19.0.2",
171
163
  "source-map-support": "0.5.21"
172
164
  },
173
- "bundleDependencies_comment1": "These dependencies are bundled in the CLI and are not installed from npm to avoid deprecation warnings.",
174
- "bundleDependencies_comment2": "Eventually we'll remove them as we replaced their functionality.",
175
- "bundleDependencies_comment3": "note: @npmcli/move-file is a transient dep of pacote - we dont use it directly.",
176
- "bundleDependencies": [
177
- "@npmcli/move-file",
178
- "stringify-package"
179
- ],
180
165
  "optionalDependencies": {
181
166
  "fsevents": "*"
182
167
  },
@@ -1,22 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
4
- Copyright (c) npm, Inc.
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a
7
- copy of this software and associated documentation files (the "Software"),
8
- to deal in the Software without restriction, including without limitation
9
- the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
- and/or sell copies of the Software, and to permit persons to whom the
11
- Software is furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in
14
- all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
- DEALINGS IN THE SOFTWARE.
@@ -1,69 +0,0 @@
1
- # @npmcli/move-file
2
-
3
- A fork of [move-file](https://github.com/sindresorhus/move-file) with
4
- compatibility with all node 10.x versions.
5
-
6
- > Move a file (or directory)
7
-
8
- The built-in
9
- [`fs.rename()`](https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback)
10
- is just a JavaScript wrapper for the C `rename(2)` function, which doesn't
11
- support moving files across partitions or devices. This module is what you
12
- would have expected `fs.rename()` to be.
13
-
14
- ## Highlights
15
-
16
- - Promise API.
17
- - Supports moving a file across partitions and devices.
18
- - Optionally prevent overwriting an existing file.
19
- - Creates non-existent destination directories for you.
20
- - Support for Node versions that lack built-in recursive `fs.mkdir()`
21
- - Automatically recurses when source is a directory.
22
-
23
- ## Install
24
-
25
- ```
26
- $ npm install @npmcli/move-file
27
- ```
28
-
29
- ## Usage
30
-
31
- ```js
32
- const moveFile = require('@npmcli/move-file');
33
-
34
- (async () => {
35
- await moveFile('source/unicorn.png', 'destination/unicorn.png');
36
- console.log('The file has been moved');
37
- })();
38
- ```
39
-
40
- ## API
41
-
42
- ### moveFile(source, destination, options?)
43
-
44
- Returns a `Promise` that resolves when the file has been moved.
45
-
46
- ### moveFile.sync(source, destination, options?)
47
-
48
- #### source
49
-
50
- Type: `string`
51
-
52
- File, or directory, you want to move.
53
-
54
- #### destination
55
-
56
- Type: `string`
57
-
58
- Where you want the file or directory moved.
59
-
60
- #### options
61
-
62
- Type: `object`
63
-
64
- ##### overwrite
65
-
66
- Type: `boolean`\
67
- Default: `true`
68
-
69
- Overwrite existing destination file(s).
@@ -1,185 +0,0 @@
1
- const { dirname, join, resolve, relative, isAbsolute } = require('path')
2
- const rimraf_ = require('rimraf')
3
- const { promisify } = require('util')
4
- const {
5
- access: access_,
6
- accessSync,
7
- copyFile: copyFile_,
8
- copyFileSync,
9
- readdir: readdir_,
10
- readdirSync,
11
- rename: rename_,
12
- renameSync,
13
- stat: stat_,
14
- statSync,
15
- lstat: lstat_,
16
- lstatSync,
17
- symlink: symlink_,
18
- symlinkSync,
19
- readlink: readlink_,
20
- readlinkSync,
21
- } = require('fs')
22
-
23
- const access = promisify(access_)
24
- const copyFile = promisify(copyFile_)
25
- const readdir = promisify(readdir_)
26
- const rename = promisify(rename_)
27
- const stat = promisify(stat_)
28
- const lstat = promisify(lstat_)
29
- const symlink = promisify(symlink_)
30
- const readlink = promisify(readlink_)
31
- const rimraf = promisify(rimraf_)
32
- const rimrafSync = rimraf_.sync
33
-
34
- const mkdirp = require('mkdirp')
35
-
36
- const pathExists = async path => {
37
- try {
38
- await access(path)
39
- return true
40
- } catch (er) {
41
- return er.code !== 'ENOENT'
42
- }
43
- }
44
-
45
- const pathExistsSync = path => {
46
- try {
47
- accessSync(path)
48
- return true
49
- } catch (er) {
50
- return er.code !== 'ENOENT'
51
- }
52
- }
53
-
54
- const moveFile = async (source, destination, options = {}, root = true, symlinks = []) => {
55
- if (!source || !destination) {
56
- throw new TypeError('`source` and `destination` file required')
57
- }
58
-
59
- options = {
60
- overwrite: true,
61
- ...options,
62
- }
63
-
64
- if (!options.overwrite && await pathExists(destination)) {
65
- throw new Error(`The destination file exists: ${destination}`)
66
- }
67
-
68
- await mkdirp(dirname(destination))
69
-
70
- try {
71
- await rename(source, destination)
72
- } catch (error) {
73
- if (error.code === 'EXDEV' || error.code === 'EPERM') {
74
- const sourceStat = await lstat(source)
75
- if (sourceStat.isDirectory()) {
76
- const files = await readdir(source)
77
- await Promise.all(files.map((file) =>
78
- moveFile(join(source, file), join(destination, file), options, false, symlinks)
79
- ))
80
- } else if (sourceStat.isSymbolicLink()) {
81
- symlinks.push({ source, destination })
82
- } else {
83
- await copyFile(source, destination)
84
- }
85
- } else {
86
- throw error
87
- }
88
- }
89
-
90
- if (root) {
91
- await Promise.all(symlinks.map(async ({ source: symSource, destination: symDestination }) => {
92
- let target = await readlink(symSource)
93
- // junction symlinks in windows will be absolute paths, so we need to
94
- // make sure they point to the symlink destination
95
- if (isAbsolute(target)) {
96
- target = resolve(symDestination, relative(symSource, target))
97
- }
98
- // try to determine what the actual file is so we can create the correct
99
- // type of symlink in windows
100
- let targetStat = 'file'
101
- try {
102
- targetStat = await stat(resolve(dirname(symSource), target))
103
- if (targetStat.isDirectory()) {
104
- targetStat = 'junction'
105
- }
106
- } catch {
107
- // targetStat remains 'file'
108
- }
109
- await symlink(
110
- target,
111
- symDestination,
112
- targetStat
113
- )
114
- }))
115
- await rimraf(source)
116
- }
117
- }
118
-
119
- const moveFileSync = (source, destination, options = {}, root = true, symlinks = []) => {
120
- if (!source || !destination) {
121
- throw new TypeError('`source` and `destination` file required')
122
- }
123
-
124
- options = {
125
- overwrite: true,
126
- ...options,
127
- }
128
-
129
- if (!options.overwrite && pathExistsSync(destination)) {
130
- throw new Error(`The destination file exists: ${destination}`)
131
- }
132
-
133
- mkdirp.sync(dirname(destination))
134
-
135
- try {
136
- renameSync(source, destination)
137
- } catch (error) {
138
- if (error.code === 'EXDEV' || error.code === 'EPERM') {
139
- const sourceStat = lstatSync(source)
140
- if (sourceStat.isDirectory()) {
141
- const files = readdirSync(source)
142
- for (const file of files) {
143
- moveFileSync(join(source, file), join(destination, file), options, false, symlinks)
144
- }
145
- } else if (sourceStat.isSymbolicLink()) {
146
- symlinks.push({ source, destination })
147
- } else {
148
- copyFileSync(source, destination)
149
- }
150
- } else {
151
- throw error
152
- }
153
- }
154
-
155
- if (root) {
156
- for (const { source: symSource, destination: symDestination } of symlinks) {
157
- let target = readlinkSync(symSource)
158
- // junction symlinks in windows will be absolute paths, so we need to
159
- // make sure they point to the symlink destination
160
- if (isAbsolute(target)) {
161
- target = resolve(symDestination, relative(symSource, target))
162
- }
163
- // try to determine what the actual file is so we can create the correct
164
- // type of symlink in windows
165
- let targetStat = 'file'
166
- try {
167
- targetStat = statSync(resolve(dirname(symSource), target))
168
- if (targetStat.isDirectory()) {
169
- targetStat = 'junction'
170
- }
171
- } catch {
172
- // targetStat remains 'file'
173
- }
174
- symlinkSync(
175
- target,
176
- symDestination,
177
- targetStat
178
- )
179
- }
180
- rimrafSync(source)
181
- }
182
- }
183
-
184
- module.exports = moveFile
185
- module.exports.sync = moveFileSync