nativescript 8.9.0-dev.2 → 8.9.0-dev.4

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/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  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,55 +0,0 @@
1
- {
2
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
3
- "name": "glob",
4
- "description": "a little globber",
5
- "version": "7.2.3",
6
- "publishConfig": {
7
- "tag": "v7-legacy"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "git://github.com/isaacs/node-glob.git"
12
- },
13
- "main": "glob.js",
14
- "files": [
15
- "glob.js",
16
- "sync.js",
17
- "common.js"
18
- ],
19
- "engines": {
20
- "node": "*"
21
- },
22
- "dependencies": {
23
- "fs.realpath": "^1.0.0",
24
- "inflight": "^1.0.4",
25
- "inherits": "2",
26
- "minimatch": "^3.1.1",
27
- "once": "^1.3.0",
28
- "path-is-absolute": "^1.0.0"
29
- },
30
- "devDependencies": {
31
- "memfs": "^3.2.0",
32
- "mkdirp": "0",
33
- "rimraf": "^2.2.8",
34
- "tap": "^15.0.6",
35
- "tick": "0.0.6"
36
- },
37
- "tap": {
38
- "before": "test/00-setup.js",
39
- "after": "test/zz-cleanup.js",
40
- "jobs": 1
41
- },
42
- "scripts": {
43
- "prepublish": "npm run benchclean",
44
- "profclean": "rm -f v8.log profile.txt",
45
- "test": "tap",
46
- "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js",
47
- "bench": "bash benchmark.sh",
48
- "prof": "bash prof.sh && cat profile.txt",
49
- "benchclean": "node benchclean.js"
50
- },
51
- "license": "ISC",
52
- "funding": {
53
- "url": "https://github.com/sponsors/isaacs"
54
- }
55
- }
@@ -1,486 +0,0 @@
1
- module.exports = globSync
2
- globSync.GlobSync = GlobSync
3
-
4
- var rp = require('fs.realpath')
5
- var minimatch = require('minimatch')
6
- var Minimatch = minimatch.Minimatch
7
- var Glob = require('./glob.js').Glob
8
- var util = require('util')
9
- var path = require('path')
10
- var assert = require('assert')
11
- var isAbsolute = require('path-is-absolute')
12
- var common = require('./common.js')
13
- var setopts = common.setopts
14
- var ownProp = common.ownProp
15
- var childrenIgnored = common.childrenIgnored
16
- var isIgnored = common.isIgnored
17
-
18
- function globSync (pattern, options) {
19
- if (typeof options === 'function' || arguments.length === 3)
20
- throw new TypeError('callback provided to sync glob\n'+
21
- 'See: https://github.com/isaacs/node-glob/issues/167')
22
-
23
- return new GlobSync(pattern, options).found
24
- }
25
-
26
- function GlobSync (pattern, options) {
27
- if (!pattern)
28
- throw new Error('must provide pattern')
29
-
30
- if (typeof options === 'function' || arguments.length === 3)
31
- throw new TypeError('callback provided to sync glob\n'+
32
- 'See: https://github.com/isaacs/node-glob/issues/167')
33
-
34
- if (!(this instanceof GlobSync))
35
- return new GlobSync(pattern, options)
36
-
37
- setopts(this, pattern, options)
38
-
39
- if (this.noprocess)
40
- return this
41
-
42
- var n = this.minimatch.set.length
43
- this.matches = new Array(n)
44
- for (var i = 0; i < n; i ++) {
45
- this._process(this.minimatch.set[i], i, false)
46
- }
47
- this._finish()
48
- }
49
-
50
- GlobSync.prototype._finish = function () {
51
- assert.ok(this instanceof GlobSync)
52
- if (this.realpath) {
53
- var self = this
54
- this.matches.forEach(function (matchset, index) {
55
- var set = self.matches[index] = Object.create(null)
56
- for (var p in matchset) {
57
- try {
58
- p = self._makeAbs(p)
59
- var real = rp.realpathSync(p, self.realpathCache)
60
- set[real] = true
61
- } catch (er) {
62
- if (er.syscall === 'stat')
63
- set[self._makeAbs(p)] = true
64
- else
65
- throw er
66
- }
67
- }
68
- })
69
- }
70
- common.finish(this)
71
- }
72
-
73
-
74
- GlobSync.prototype._process = function (pattern, index, inGlobStar) {
75
- assert.ok(this instanceof GlobSync)
76
-
77
- // Get the first [n] parts of pattern that are all strings.
78
- var n = 0
79
- while (typeof pattern[n] === 'string') {
80
- n ++
81
- }
82
- // now n is the index of the first one that is *not* a string.
83
-
84
- // See if there's anything else
85
- var prefix
86
- switch (n) {
87
- // if not, then this is rather simple
88
- case pattern.length:
89
- this._processSimple(pattern.join('/'), index)
90
- return
91
-
92
- case 0:
93
- // pattern *starts* with some non-trivial item.
94
- // going to readdir(cwd), but not include the prefix in matches.
95
- prefix = null
96
- break
97
-
98
- default:
99
- // pattern has some string bits in the front.
100
- // whatever it starts with, whether that's 'absolute' like /foo/bar,
101
- // or 'relative' like '../baz'
102
- prefix = pattern.slice(0, n).join('/')
103
- break
104
- }
105
-
106
- var remain = pattern.slice(n)
107
-
108
- // get the list of entries.
109
- var read
110
- if (prefix === null)
111
- read = '.'
112
- else if (isAbsolute(prefix) ||
113
- isAbsolute(pattern.map(function (p) {
114
- return typeof p === 'string' ? p : '[*]'
115
- }).join('/'))) {
116
- if (!prefix || !isAbsolute(prefix))
117
- prefix = '/' + prefix
118
- read = prefix
119
- } else
120
- read = prefix
121
-
122
- var abs = this._makeAbs(read)
123
-
124
- //if ignored, skip processing
125
- if (childrenIgnored(this, read))
126
- return
127
-
128
- var isGlobStar = remain[0] === minimatch.GLOBSTAR
129
- if (isGlobStar)
130
- this._processGlobStar(prefix, read, abs, remain, index, inGlobStar)
131
- else
132
- this._processReaddir(prefix, read, abs, remain, index, inGlobStar)
133
- }
134
-
135
-
136
- GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) {
137
- var entries = this._readdir(abs, inGlobStar)
138
-
139
- // if the abs isn't a dir, then nothing can match!
140
- if (!entries)
141
- return
142
-
143
- // It will only match dot entries if it starts with a dot, or if
144
- // dot is set. Stuff like @(.foo|.bar) isn't allowed.
145
- var pn = remain[0]
146
- var negate = !!this.minimatch.negate
147
- var rawGlob = pn._glob
148
- var dotOk = this.dot || rawGlob.charAt(0) === '.'
149
-
150
- var matchedEntries = []
151
- for (var i = 0; i < entries.length; i++) {
152
- var e = entries[i]
153
- if (e.charAt(0) !== '.' || dotOk) {
154
- var m
155
- if (negate && !prefix) {
156
- m = !e.match(pn)
157
- } else {
158
- m = e.match(pn)
159
- }
160
- if (m)
161
- matchedEntries.push(e)
162
- }
163
- }
164
-
165
- var len = matchedEntries.length
166
- // If there are no matched entries, then nothing matches.
167
- if (len === 0)
168
- return
169
-
170
- // if this is the last remaining pattern bit, then no need for
171
- // an additional stat *unless* the user has specified mark or
172
- // stat explicitly. We know they exist, since readdir returned
173
- // them.
174
-
175
- if (remain.length === 1 && !this.mark && !this.stat) {
176
- if (!this.matches[index])
177
- this.matches[index] = Object.create(null)
178
-
179
- for (var i = 0; i < len; i ++) {
180
- var e = matchedEntries[i]
181
- if (prefix) {
182
- if (prefix.slice(-1) !== '/')
183
- e = prefix + '/' + e
184
- else
185
- e = prefix + e
186
- }
187
-
188
- if (e.charAt(0) === '/' && !this.nomount) {
189
- e = path.join(this.root, e)
190
- }
191
- this._emitMatch(index, e)
192
- }
193
- // This was the last one, and no stats were needed
194
- return
195
- }
196
-
197
- // now test all matched entries as stand-ins for that part
198
- // of the pattern.
199
- remain.shift()
200
- for (var i = 0; i < len; i ++) {
201
- var e = matchedEntries[i]
202
- var newPattern
203
- if (prefix)
204
- newPattern = [prefix, e]
205
- else
206
- newPattern = [e]
207
- this._process(newPattern.concat(remain), index, inGlobStar)
208
- }
209
- }
210
-
211
-
212
- GlobSync.prototype._emitMatch = function (index, e) {
213
- if (isIgnored(this, e))
214
- return
215
-
216
- var abs = this._makeAbs(e)
217
-
218
- if (this.mark)
219
- e = this._mark(e)
220
-
221
- if (this.absolute) {
222
- e = abs
223
- }
224
-
225
- if (this.matches[index][e])
226
- return
227
-
228
- if (this.nodir) {
229
- var c = this.cache[abs]
230
- if (c === 'DIR' || Array.isArray(c))
231
- return
232
- }
233
-
234
- this.matches[index][e] = true
235
-
236
- if (this.stat)
237
- this._stat(e)
238
- }
239
-
240
-
241
- GlobSync.prototype._readdirInGlobStar = function (abs) {
242
- // follow all symlinked directories forever
243
- // just proceed as if this is a non-globstar situation
244
- if (this.follow)
245
- return this._readdir(abs, false)
246
-
247
- var entries
248
- var lstat
249
- var stat
250
- try {
251
- lstat = this.fs.lstatSync(abs)
252
- } catch (er) {
253
- if (er.code === 'ENOENT') {
254
- // lstat failed, doesn't exist
255
- return null
256
- }
257
- }
258
-
259
- var isSym = lstat && lstat.isSymbolicLink()
260
- this.symlinks[abs] = isSym
261
-
262
- // If it's not a symlink or a dir, then it's definitely a regular file.
263
- // don't bother doing a readdir in that case.
264
- if (!isSym && lstat && !lstat.isDirectory())
265
- this.cache[abs] = 'FILE'
266
- else
267
- entries = this._readdir(abs, false)
268
-
269
- return entries
270
- }
271
-
272
- GlobSync.prototype._readdir = function (abs, inGlobStar) {
273
- var entries
274
-
275
- if (inGlobStar && !ownProp(this.symlinks, abs))
276
- return this._readdirInGlobStar(abs)
277
-
278
- if (ownProp(this.cache, abs)) {
279
- var c = this.cache[abs]
280
- if (!c || c === 'FILE')
281
- return null
282
-
283
- if (Array.isArray(c))
284
- return c
285
- }
286
-
287
- try {
288
- return this._readdirEntries(abs, this.fs.readdirSync(abs))
289
- } catch (er) {
290
- this._readdirError(abs, er)
291
- return null
292
- }
293
- }
294
-
295
- GlobSync.prototype._readdirEntries = function (abs, entries) {
296
- // if we haven't asked to stat everything, then just
297
- // assume that everything in there exists, so we can avoid
298
- // having to stat it a second time.
299
- if (!this.mark && !this.stat) {
300
- for (var i = 0; i < entries.length; i ++) {
301
- var e = entries[i]
302
- if (abs === '/')
303
- e = abs + e
304
- else
305
- e = abs + '/' + e
306
- this.cache[e] = true
307
- }
308
- }
309
-
310
- this.cache[abs] = entries
311
-
312
- // mark and cache dir-ness
313
- return entries
314
- }
315
-
316
- GlobSync.prototype._readdirError = function (f, er) {
317
- // handle errors, and cache the information
318
- switch (er.code) {
319
- case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205
320
- case 'ENOTDIR': // totally normal. means it *does* exist.
321
- var abs = this._makeAbs(f)
322
- this.cache[abs] = 'FILE'
323
- if (abs === this.cwdAbs) {
324
- var error = new Error(er.code + ' invalid cwd ' + this.cwd)
325
- error.path = this.cwd
326
- error.code = er.code
327
- throw error
328
- }
329
- break
330
-
331
- case 'ENOENT': // not terribly unusual
332
- case 'ELOOP':
333
- case 'ENAMETOOLONG':
334
- case 'UNKNOWN':
335
- this.cache[this._makeAbs(f)] = false
336
- break
337
-
338
- default: // some unusual error. Treat as failure.
339
- this.cache[this._makeAbs(f)] = false
340
- if (this.strict)
341
- throw er
342
- if (!this.silent)
343
- console.error('glob error', er)
344
- break
345
- }
346
- }
347
-
348
- GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) {
349
-
350
- var entries = this._readdir(abs, inGlobStar)
351
-
352
- // no entries means not a dir, so it can never have matches
353
- // foo.txt/** doesn't match foo.txt
354
- if (!entries)
355
- return
356
-
357
- // test without the globstar, and with every child both below
358
- // and replacing the globstar.
359
- var remainWithoutGlobStar = remain.slice(1)
360
- var gspref = prefix ? [ prefix ] : []
361
- var noGlobStar = gspref.concat(remainWithoutGlobStar)
362
-
363
- // the noGlobStar pattern exits the inGlobStar state
364
- this._process(noGlobStar, index, false)
365
-
366
- var len = entries.length
367
- var isSym = this.symlinks[abs]
368
-
369
- // If it's a symlink, and we're in a globstar, then stop
370
- if (isSym && inGlobStar)
371
- return
372
-
373
- for (var i = 0; i < len; i++) {
374
- var e = entries[i]
375
- if (e.charAt(0) === '.' && !this.dot)
376
- continue
377
-
378
- // these two cases enter the inGlobStar state
379
- var instead = gspref.concat(entries[i], remainWithoutGlobStar)
380
- this._process(instead, index, true)
381
-
382
- var below = gspref.concat(entries[i], remain)
383
- this._process(below, index, true)
384
- }
385
- }
386
-
387
- GlobSync.prototype._processSimple = function (prefix, index) {
388
- // XXX review this. Shouldn't it be doing the mounting etc
389
- // before doing stat? kinda weird?
390
- var exists = this._stat(prefix)
391
-
392
- if (!this.matches[index])
393
- this.matches[index] = Object.create(null)
394
-
395
- // If it doesn't exist, then just mark the lack of results
396
- if (!exists)
397
- return
398
-
399
- if (prefix && isAbsolute(prefix) && !this.nomount) {
400
- var trail = /[\/\\]$/.test(prefix)
401
- if (prefix.charAt(0) === '/') {
402
- prefix = path.join(this.root, prefix)
403
- } else {
404
- prefix = path.resolve(this.root, prefix)
405
- if (trail)
406
- prefix += '/'
407
- }
408
- }
409
-
410
- if (process.platform === 'win32')
411
- prefix = prefix.replace(/\\/g, '/')
412
-
413
- // Mark this as a match
414
- this._emitMatch(index, prefix)
415
- }
416
-
417
- // Returns either 'DIR', 'FILE', or false
418
- GlobSync.prototype._stat = function (f) {
419
- var abs = this._makeAbs(f)
420
- var needDir = f.slice(-1) === '/'
421
-
422
- if (f.length > this.maxLength)
423
- return false
424
-
425
- if (!this.stat && ownProp(this.cache, abs)) {
426
- var c = this.cache[abs]
427
-
428
- if (Array.isArray(c))
429
- c = 'DIR'
430
-
431
- // It exists, but maybe not how we need it
432
- if (!needDir || c === 'DIR')
433
- return c
434
-
435
- if (needDir && c === 'FILE')
436
- return false
437
-
438
- // otherwise we have to stat, because maybe c=true
439
- // if we know it exists, but not what it is.
440
- }
441
-
442
- var exists
443
- var stat = this.statCache[abs]
444
- if (!stat) {
445
- var lstat
446
- try {
447
- lstat = this.fs.lstatSync(abs)
448
- } catch (er) {
449
- if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {
450
- this.statCache[abs] = false
451
- return false
452
- }
453
- }
454
-
455
- if (lstat && lstat.isSymbolicLink()) {
456
- try {
457
- stat = this.fs.statSync(abs)
458
- } catch (er) {
459
- stat = lstat
460
- }
461
- } else {
462
- stat = lstat
463
- }
464
- }
465
-
466
- this.statCache[abs] = stat
467
-
468
- var c = true
469
- if (stat)
470
- c = stat.isDirectory() ? 'DIR' : 'FILE'
471
-
472
- this.cache[abs] = this.cache[abs] || c
473
-
474
- if (needDir && c === 'FILE')
475
- return false
476
-
477
- return c
478
- }
479
-
480
- GlobSync.prototype._mark = function (p) {
481
- return common.mark(this, p)
482
- }
483
-
484
- GlobSync.prototype._makeAbs = function (f) {
485
- return common.makeAbs(this, f)
486
- }
@@ -1,15 +0,0 @@
1
- The ISC License
2
-
3
- Copyright (c) Isaac Z. Schlueter and Contributors
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted, provided that the above
7
- copyright notice and this permission notice appear in all copies.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15
- IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.