nativescript 8.9.0-alpha.2 → 8.9.0-dev.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 (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +211 -230
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +9 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +44 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +150 -200
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +163 -199
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +22 -35
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +43 -53
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +51 -66
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/CHANGELOG.md +0 -15
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  282. package/node_modules/@npmcli/move-file/package.json +0 -47
  283. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  284. package/node_modules/balanced-match/LICENSE.md +0 -21
  285. package/node_modules/balanced-match/README.md +0 -97
  286. package/node_modules/balanced-match/index.js +0 -62
  287. package/node_modules/balanced-match/package.json +0 -48
  288. package/node_modules/concat-map/.travis.yml +0 -4
  289. package/node_modules/concat-map/LICENSE +0 -18
  290. package/node_modules/concat-map/README.markdown +0 -62
  291. package/node_modules/concat-map/example/map.js +0 -6
  292. package/node_modules/concat-map/index.js +0 -13
  293. package/node_modules/concat-map/package.json +0 -43
  294. package/node_modules/concat-map/test/map.js +0 -39
  295. package/node_modules/fs.realpath/LICENSE +0 -43
  296. package/node_modules/fs.realpath/README.md +0 -33
  297. package/node_modules/fs.realpath/index.js +0 -66
  298. package/node_modules/fs.realpath/old.js +0 -303
  299. package/node_modules/fs.realpath/package.json +0 -26
  300. package/node_modules/inflight/LICENSE +0 -15
  301. package/node_modules/inflight/README.md +0 -37
  302. package/node_modules/inflight/inflight.js +0 -54
  303. package/node_modules/inflight/package.json +0 -29
  304. package/node_modules/inherits/LICENSE +0 -16
  305. package/node_modules/inherits/README.md +0 -42
  306. package/node_modules/inherits/inherits.js +0 -9
  307. package/node_modules/inherits/inherits_browser.js +0 -27
  308. package/node_modules/inherits/package.json +0 -29
  309. package/node_modules/once/LICENSE +0 -15
  310. package/node_modules/once/README.md +0 -79
  311. package/node_modules/once/once.js +0 -42
  312. package/node_modules/once/package.json +0 -33
  313. package/node_modules/path-is-absolute/index.js +0 -20
  314. package/node_modules/path-is-absolute/license +0 -21
  315. package/node_modules/path-is-absolute/package.json +0 -43
  316. package/node_modules/path-is-absolute/readme.md +0 -59
  317. package/node_modules/rimraf/CHANGELOG.md +0 -65
  318. package/node_modules/rimraf/LICENSE +0 -15
  319. package/node_modules/rimraf/README.md +0 -101
  320. package/node_modules/rimraf/bin.js +0 -68
  321. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  322. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  323. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  324. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  325. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  326. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  327. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  328. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  329. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  330. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  331. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  332. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  333. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  334. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  335. package/node_modules/rimraf/package.json +0 -32
  336. package/node_modules/rimraf/rimraf.js +0 -360
  337. package/node_modules/stringify-package/CHANGELOG.md +0 -16
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,238 +0,0 @@
1
- exports.setopts = setopts
2
- exports.ownProp = ownProp
3
- exports.makeAbs = makeAbs
4
- exports.finish = finish
5
- exports.mark = mark
6
- exports.isIgnored = isIgnored
7
- exports.childrenIgnored = childrenIgnored
8
-
9
- function ownProp (obj, field) {
10
- return Object.prototype.hasOwnProperty.call(obj, field)
11
- }
12
-
13
- var fs = require("fs")
14
- var path = require("path")
15
- var minimatch = require("minimatch")
16
- var isAbsolute = require("path-is-absolute")
17
- var Minimatch = minimatch.Minimatch
18
-
19
- function alphasort (a, b) {
20
- return a.localeCompare(b, 'en')
21
- }
22
-
23
- function setupIgnores (self, options) {
24
- self.ignore = options.ignore || []
25
-
26
- if (!Array.isArray(self.ignore))
27
- self.ignore = [self.ignore]
28
-
29
- if (self.ignore.length) {
30
- self.ignore = self.ignore.map(ignoreMap)
31
- }
32
- }
33
-
34
- // ignore patterns are always in dot:true mode.
35
- function ignoreMap (pattern) {
36
- var gmatcher = null
37
- if (pattern.slice(-3) === '/**') {
38
- var gpattern = pattern.replace(/(\/\*\*)+$/, '')
39
- gmatcher = new Minimatch(gpattern, { dot: true })
40
- }
41
-
42
- return {
43
- matcher: new Minimatch(pattern, { dot: true }),
44
- gmatcher: gmatcher
45
- }
46
- }
47
-
48
- function setopts (self, pattern, options) {
49
- if (!options)
50
- options = {}
51
-
52
- // base-matching: just use globstar for that.
53
- if (options.matchBase && -1 === pattern.indexOf("/")) {
54
- if (options.noglobstar) {
55
- throw new Error("base matching requires globstar")
56
- }
57
- pattern = "**/" + pattern
58
- }
59
-
60
- self.silent = !!options.silent
61
- self.pattern = pattern
62
- self.strict = options.strict !== false
63
- self.realpath = !!options.realpath
64
- self.realpathCache = options.realpathCache || Object.create(null)
65
- self.follow = !!options.follow
66
- self.dot = !!options.dot
67
- self.mark = !!options.mark
68
- self.nodir = !!options.nodir
69
- if (self.nodir)
70
- self.mark = true
71
- self.sync = !!options.sync
72
- self.nounique = !!options.nounique
73
- self.nonull = !!options.nonull
74
- self.nosort = !!options.nosort
75
- self.nocase = !!options.nocase
76
- self.stat = !!options.stat
77
- self.noprocess = !!options.noprocess
78
- self.absolute = !!options.absolute
79
- self.fs = options.fs || fs
80
-
81
- self.maxLength = options.maxLength || Infinity
82
- self.cache = options.cache || Object.create(null)
83
- self.statCache = options.statCache || Object.create(null)
84
- self.symlinks = options.symlinks || Object.create(null)
85
-
86
- setupIgnores(self, options)
87
-
88
- self.changedCwd = false
89
- var cwd = process.cwd()
90
- if (!ownProp(options, "cwd"))
91
- self.cwd = cwd
92
- else {
93
- self.cwd = path.resolve(options.cwd)
94
- self.changedCwd = self.cwd !== cwd
95
- }
96
-
97
- self.root = options.root || path.resolve(self.cwd, "/")
98
- self.root = path.resolve(self.root)
99
- if (process.platform === "win32")
100
- self.root = self.root.replace(/\\/g, "/")
101
-
102
- // TODO: is an absolute `cwd` supposed to be resolved against `root`?
103
- // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test')
104
- self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd)
105
- if (process.platform === "win32")
106
- self.cwdAbs = self.cwdAbs.replace(/\\/g, "/")
107
- self.nomount = !!options.nomount
108
-
109
- // disable comments and negation in Minimatch.
110
- // Note that they are not supported in Glob itself anyway.
111
- options.nonegate = true
112
- options.nocomment = true
113
- // always treat \ in patterns as escapes, not path separators
114
- options.allowWindowsEscape = false
115
-
116
- self.minimatch = new Minimatch(pattern, options)
117
- self.options = self.minimatch.options
118
- }
119
-
120
- function finish (self) {
121
- var nou = self.nounique
122
- var all = nou ? [] : Object.create(null)
123
-
124
- for (var i = 0, l = self.matches.length; i < l; i ++) {
125
- var matches = self.matches[i]
126
- if (!matches || Object.keys(matches).length === 0) {
127
- if (self.nonull) {
128
- // do like the shell, and spit out the literal glob
129
- var literal = self.minimatch.globSet[i]
130
- if (nou)
131
- all.push(literal)
132
- else
133
- all[literal] = true
134
- }
135
- } else {
136
- // had matches
137
- var m = Object.keys(matches)
138
- if (nou)
139
- all.push.apply(all, m)
140
- else
141
- m.forEach(function (m) {
142
- all[m] = true
143
- })
144
- }
145
- }
146
-
147
- if (!nou)
148
- all = Object.keys(all)
149
-
150
- if (!self.nosort)
151
- all = all.sort(alphasort)
152
-
153
- // at *some* point we statted all of these
154
- if (self.mark) {
155
- for (var i = 0; i < all.length; i++) {
156
- all[i] = self._mark(all[i])
157
- }
158
- if (self.nodir) {
159
- all = all.filter(function (e) {
160
- var notDir = !(/\/$/.test(e))
161
- var c = self.cache[e] || self.cache[makeAbs(self, e)]
162
- if (notDir && c)
163
- notDir = c !== 'DIR' && !Array.isArray(c)
164
- return notDir
165
- })
166
- }
167
- }
168
-
169
- if (self.ignore.length)
170
- all = all.filter(function(m) {
171
- return !isIgnored(self, m)
172
- })
173
-
174
- self.found = all
175
- }
176
-
177
- function mark (self, p) {
178
- var abs = makeAbs(self, p)
179
- var c = self.cache[abs]
180
- var m = p
181
- if (c) {
182
- var isDir = c === 'DIR' || Array.isArray(c)
183
- var slash = p.slice(-1) === '/'
184
-
185
- if (isDir && !slash)
186
- m += '/'
187
- else if (!isDir && slash)
188
- m = m.slice(0, -1)
189
-
190
- if (m !== p) {
191
- var mabs = makeAbs(self, m)
192
- self.statCache[mabs] = self.statCache[abs]
193
- self.cache[mabs] = self.cache[abs]
194
- }
195
- }
196
-
197
- return m
198
- }
199
-
200
- // lotta situps...
201
- function makeAbs (self, f) {
202
- var abs = f
203
- if (f.charAt(0) === '/') {
204
- abs = path.join(self.root, f)
205
- } else if (isAbsolute(f) || f === '') {
206
- abs = f
207
- } else if (self.changedCwd) {
208
- abs = path.resolve(self.cwd, f)
209
- } else {
210
- abs = path.resolve(f)
211
- }
212
-
213
- if (process.platform === 'win32')
214
- abs = abs.replace(/\\/g, '/')
215
-
216
- return abs
217
- }
218
-
219
-
220
- // Return true, if pattern ends with globstar '**', for the accompanying parent directory.
221
- // Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents
222
- function isIgnored (self, path) {
223
- if (!self.ignore.length)
224
- return false
225
-
226
- return self.ignore.some(function(item) {
227
- return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))
228
- })
229
- }
230
-
231
- function childrenIgnored (self, path) {
232
- if (!self.ignore.length)
233
- return false
234
-
235
- return self.ignore.some(function(item) {
236
- return !!(item.gmatcher && item.gmatcher.match(path))
237
- })
238
- }