nativescript 8.5.3 → 8.5.4-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 (227) hide show
  1. package/config/config.json +0 -5
  2. package/lib/.d.ts +2 -37
  3. package/lib/bootstrap.js +1 -12
  4. package/lib/color.js +5 -0
  5. package/lib/commands/build.js +2 -6
  6. package/lib/commands/clean.js +11 -10
  7. package/lib/commands/config.js +6 -5
  8. package/lib/commands/create-project.js +12 -11
  9. package/lib/commands/debug.js +10 -11
  10. package/lib/commands/plugin/list-plugins.js +3 -2
  11. package/lib/commands/post-install.js +3 -5
  12. package/lib/commands/preview.js +4 -3
  13. package/lib/commands/run.js +17 -19
  14. package/lib/commands/test-init.js +14 -15
  15. package/lib/commands/test.js +0 -3
  16. package/lib/commands/update.js +1 -1
  17. package/lib/common/bootstrap.js +0 -1
  18. package/lib/common/child-process.js +3 -3
  19. package/lib/common/codeGeneration/code-printer.js +1 -1
  20. package/lib/common/commands/device/device-log-stream.js +1 -1
  21. package/lib/common/commands/device/list-devices.js +7 -8
  22. package/lib/common/commands/generate-messages.js +1 -1
  23. package/lib/common/constants.js +11 -11
  24. package/lib/common/declarations.d.ts +1 -53
  25. package/lib/common/definitions/commands-service.d.ts +0 -1
  26. package/lib/common/definitions/commands.d.ts +0 -1
  27. package/lib/common/definitions/google-analytics.d.ts +0 -5
  28. package/lib/common/dispatchers.js +0 -5
  29. package/lib/common/file-system.js +18 -22
  30. package/lib/common/host-info.js +4 -4
  31. package/lib/common/http-client.js +2 -2
  32. package/lib/common/logger/layouts/cli-layout.js +6 -2
  33. package/lib/common/logger/logger.js +7 -7
  34. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  35. package/lib/common/mobile/android/android-log-filter.js +5 -5
  36. package/lib/common/mobile/android/android-virtual-device-service.js +2 -2
  37. package/lib/common/mobile/android/genymotion/genymotion-service.js +2 -2
  38. package/lib/common/mobile/android/logcat-helper.js +1 -1
  39. package/lib/common/mobile/device-log-provider.js +8 -8
  40. package/lib/common/mobile/ios/device/ios-device-file-system.js +1 -1
  41. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +1 -1
  42. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  43. package/lib/common/mobile/mobile-helper.js +1 -1
  44. package/lib/common/mobile/wp8/wp8-emulator-services.js +4 -4
  45. package/lib/common/opener.js +5 -1
  46. package/lib/common/plist-parser.js +3 -3
  47. package/lib/common/project-helper.js +2 -2
  48. package/lib/common/services/analytics/google-analytics-custom-dimensions.d.ts +7 -7
  49. package/lib/common/services/auto-completion-service.js +2 -2
  50. package/lib/common/services/commands-service.js +5 -114
  51. package/lib/common/services/help-service.js +16 -16
  52. package/lib/common/services/hooks-service.js +2 -1
  53. package/lib/common/services/json-file-settings-service.js +3 -3
  54. package/lib/common/services/lock-service.js +5 -5
  55. package/lib/common/services/messages-service.js +6 -6
  56. package/lib/common/services/net-service.js +1 -1
  57. package/lib/common/services/project-files-manager.js +2 -2
  58. package/lib/common/services/settings-service.js +2 -2
  59. package/lib/common/validators/project-name-validator.js +1 -1
  60. package/lib/common/validators/validation-result.js +1 -1
  61. package/lib/common/verify-node-version.js +2 -2
  62. package/lib/config.js +3 -8
  63. package/lib/constants.js +18 -32
  64. package/lib/controllers/build-controller.js +5 -5
  65. package/lib/controllers/debug-controller.js +2 -2
  66. package/lib/controllers/migrate-controller.js +21 -20
  67. package/lib/controllers/update-controller.js +5 -4
  68. package/lib/declarations.d.ts +0 -24
  69. package/lib/definitions/build.d.ts +1 -1
  70. package/lib/definitions/livesync.d.ts +0 -10
  71. package/lib/definitions/project.d.ts +0 -6
  72. package/lib/definitions/xcode.d.ts +1 -1
  73. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +15 -4
  74. package/lib/device-sockets/ios/notification.js +1 -1
  75. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  76. package/lib/helpers/network-connectivity-validator.js +1 -1
  77. package/lib/helpers/options-track-helper.js +1 -1
  78. package/lib/nativescript-cli.js +8 -10
  79. package/lib/options.js +61 -21
  80. package/lib/package-installation-manager.js +5 -4
  81. package/lib/project-data.js +9 -10
  82. package/lib/providers/project-files-provider.js +3 -3
  83. package/lib/services/analytics/analytics-broker-process.js +0 -3
  84. package/lib/services/analytics/analytics-broker.js +5 -5
  85. package/lib/services/analytics/analytics-service.js +0 -4
  86. package/lib/services/analytics/analytics.d.ts +1 -8
  87. package/lib/services/analytics/google-analytics-provider.js +1 -21
  88. package/lib/services/analytics-settings-service.js +3 -11
  89. package/lib/services/android-device-debug-service.js +3 -3
  90. package/lib/services/android-plugin-build-service.js +3 -3
  91. package/lib/services/android-resources-migration-service.js +1 -1
  92. package/lib/services/assets-generation/assets-generation-service.js +5 -5
  93. package/lib/services/{build-artefacts-service.js → build-artifacts-service.js} +4 -4
  94. package/lib/services/cocoapods-service.js +1 -1
  95. package/lib/services/device/device-install-app-service.js +3 -3
  96. package/lib/services/doctor-service.js +10 -9
  97. package/lib/services/extensibility-service.js +8 -8
  98. package/lib/services/ios-entitlements-service.js +1 -1
  99. package/lib/services/ios-project-service.js +5 -5
  100. package/lib/services/ios-provision-service.js +7 -7
  101. package/lib/services/ios-watch-app-service.js +1 -1
  102. package/lib/services/ip-service.js +2 -4
  103. package/lib/services/itmstransporter-service.js +2 -2
  104. package/lib/services/livesync/android-device-livesync-sockets-service.js +1 -1
  105. package/lib/services/livesync/android-livesync-tool.js +5 -5
  106. package/lib/services/livesync/ios-device-livesync-service.js +2 -2
  107. package/lib/services/livesync/platform-livesync-service-base.js +2 -1
  108. package/lib/services/log-parser-service.js +1 -5
  109. package/lib/services/log-source-map-service.js +10 -7
  110. package/lib/services/npm-config-service.js +23 -9
  111. package/lib/services/performance-service.js +3 -3
  112. package/lib/services/platform-environment-requirements.js +1 -1
  113. package/lib/services/plugins-service.js +19 -19
  114. package/lib/services/project-backup-service.js +4 -3
  115. package/lib/services/project-cleanup-service.js +4 -3
  116. package/lib/services/test-execution-service.js +2 -2
  117. package/lib/services/timeline-profiler-service.js +4 -1
  118. package/lib/services/user-settings-service.js +4 -4
  119. package/lib/tools/config-manipulation/config-transformer.js +3 -3
  120. package/lib/tools/node-modules/node-modules-builder.js +1 -1
  121. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  122. package/node_modules/@npmcli/move-file/README.md +69 -0
  123. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  124. package/node_modules/@npmcli/move-file/node_modules/mkdirp/CHANGELOG.md +15 -0
  125. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  126. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  127. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  128. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  129. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  130. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  131. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  132. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  133. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  134. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  135. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  136. package/node_modules/@npmcli/move-file/package.json +47 -0
  137. package/node_modules/balanced-match/.npmignore +5 -0
  138. package/node_modules/balanced-match/LICENSE.md +21 -0
  139. package/node_modules/balanced-match/README.md +91 -0
  140. package/node_modules/balanced-match/index.js +59 -0
  141. package/node_modules/balanced-match/package.json +49 -0
  142. package/node_modules/brace-expansion/LICENSE +21 -0
  143. package/node_modules/brace-expansion/README.md +129 -0
  144. package/node_modules/brace-expansion/index.js +201 -0
  145. package/node_modules/brace-expansion/package.json +47 -0
  146. package/node_modules/concat-map/.travis.yml +4 -0
  147. package/node_modules/concat-map/LICENSE +18 -0
  148. package/node_modules/concat-map/README.markdown +62 -0
  149. package/node_modules/concat-map/example/map.js +6 -0
  150. package/node_modules/concat-map/index.js +13 -0
  151. package/node_modules/concat-map/package.json +43 -0
  152. package/node_modules/concat-map/test/map.js +39 -0
  153. package/node_modules/fs.realpath/LICENSE +43 -0
  154. package/node_modules/fs.realpath/README.md +33 -0
  155. package/node_modules/fs.realpath/index.js +66 -0
  156. package/node_modules/fs.realpath/old.js +303 -0
  157. package/node_modules/fs.realpath/package.json +26 -0
  158. package/node_modules/inflight/LICENSE +15 -0
  159. package/node_modules/inflight/README.md +37 -0
  160. package/node_modules/inflight/inflight.js +54 -0
  161. package/node_modules/inflight/package.json +29 -0
  162. package/node_modules/inherits/LICENSE +16 -0
  163. package/node_modules/inherits/README.md +42 -0
  164. package/node_modules/inherits/inherits.js +9 -0
  165. package/node_modules/inherits/inherits_browser.js +27 -0
  166. package/node_modules/inherits/package.json +29 -0
  167. package/node_modules/once/LICENSE +15 -0
  168. package/node_modules/once/README.md +79 -0
  169. package/node_modules/once/once.js +42 -0
  170. package/node_modules/once/package.json +33 -0
  171. package/node_modules/path-is-absolute/index.js +20 -0
  172. package/node_modules/path-is-absolute/license +21 -0
  173. package/node_modules/path-is-absolute/package.json +43 -0
  174. package/node_modules/path-is-absolute/readme.md +59 -0
  175. package/node_modules/rimraf/CHANGELOG.md +65 -0
  176. package/node_modules/rimraf/LICENSE +15 -0
  177. package/node_modules/rimraf/README.md +101 -0
  178. package/node_modules/rimraf/bin.js +68 -0
  179. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  180. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  181. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  182. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  183. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  184. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  185. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  186. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  187. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  188. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  189. package/node_modules/rimraf/package.json +32 -0
  190. package/node_modules/rimraf/rimraf.js +360 -0
  191. package/node_modules/stringify-package/CHANGELOG.md +16 -0
  192. package/node_modules/stringify-package/LICENSE +13 -0
  193. package/node_modules/stringify-package/README.md +55 -0
  194. package/node_modules/stringify-package/index.js +18 -0
  195. package/node_modules/stringify-package/package.json +38 -0
  196. package/node_modules/wrappy/LICENSE +15 -0
  197. package/node_modules/wrappy/README.md +36 -0
  198. package/node_modules/wrappy/package.json +29 -0
  199. package/node_modules/wrappy/wrappy.js +33 -0
  200. package/package.json +88 -89
  201. package/lib/common/definitions/byline.d.ts +0 -4
  202. package/lib/common/definitions/colors.d.ts +0 -24
  203. package/lib/common/definitions/marked.d.ts +0 -125
  204. package/lib/common/definitions/open.d.ts +0 -5
  205. package/lib/common/definitions/osenv.d.ts +0 -4
  206. package/lib/common/definitions/plist.d.ts +0 -7
  207. package/lib/common/definitions/rimraf.d.ts +0 -9
  208. package/lib/common/definitions/shelljs.d.ts +0 -583
  209. package/lib/common/definitions/simple-plist.d.ts +0 -7
  210. package/lib/common/definitions/xmlhttprequest.d.ts +0 -29
  211. package/lib/controllers/company-insights-controller.js +0 -78
  212. package/lib/controllers/preview-app-controller.js +0 -251
  213. package/lib/definitions/company-insights-controller.d.ts +0 -59
  214. package/lib/definitions/email-validator.d.ts +0 -8
  215. package/lib/definitions/libnpmconfig.d.ts +0 -3
  216. package/lib/definitions/npm.d.ts +0 -12
  217. package/lib/definitions/preview-app-livesync.d.ts +0 -116
  218. package/lib/services/livesync/playground/devices/preview-devices-service.js +0 -67
  219. package/lib/services/livesync/playground/preview-app-constants.js +0 -23
  220. package/lib/services/livesync/playground/preview-app-files-service.js +0 -83
  221. package/lib/services/livesync/playground/preview-app-log-provider.js +0 -14
  222. package/lib/services/livesync/playground/preview-app-plugins-service.js +0 -134
  223. package/lib/services/livesync/playground/preview-qr-code-service.js +0 -109
  224. package/lib/services/livesync/playground/preview-schema-service.js +0 -57
  225. package/lib/services/livesync/playground/preview-sdk-service.js +0 -112
  226. package/lib/services/playground-service.js +0 -65
  227. package/lib/xml-validator.js +0 -47
@@ -0,0 +1,79 @@
1
+ # once
2
+
3
+ Only call a function once.
4
+
5
+ ## usage
6
+
7
+ ```javascript
8
+ var once = require('once')
9
+
10
+ function load (file, cb) {
11
+ cb = once(cb)
12
+ loader.load('file')
13
+ loader.once('load', cb)
14
+ loader.once('error', cb)
15
+ }
16
+ ```
17
+
18
+ Or add to the Function.prototype in a responsible way:
19
+
20
+ ```javascript
21
+ // only has to be done once
22
+ require('once').proto()
23
+
24
+ function load (file, cb) {
25
+ cb = cb.once()
26
+ loader.load('file')
27
+ loader.once('load', cb)
28
+ loader.once('error', cb)
29
+ }
30
+ ```
31
+
32
+ Ironically, the prototype feature makes this module twice as
33
+ complicated as necessary.
34
+
35
+ To check whether you function has been called, use `fn.called`. Once the
36
+ function is called for the first time the return value of the original
37
+ function is saved in `fn.value` and subsequent calls will continue to
38
+ return this value.
39
+
40
+ ```javascript
41
+ var once = require('once')
42
+
43
+ function load (cb) {
44
+ cb = once(cb)
45
+ var stream = createStream()
46
+ stream.once('data', cb)
47
+ stream.once('end', function () {
48
+ if (!cb.called) cb(new Error('not found'))
49
+ })
50
+ }
51
+ ```
52
+
53
+ ## `once.strict(func)`
54
+
55
+ Throw an error if the function is called twice.
56
+
57
+ Some functions are expected to be called only once. Using `once` for them would
58
+ potentially hide logical errors.
59
+
60
+ In the example below, the `greet` function has to call the callback only once:
61
+
62
+ ```javascript
63
+ function greet (name, cb) {
64
+ // return is missing from the if statement
65
+ // when no name is passed, the callback is called twice
66
+ if (!name) cb('Hello anonymous')
67
+ cb('Hello ' + name)
68
+ }
69
+
70
+ function log (msg) {
71
+ console.log(msg)
72
+ }
73
+
74
+ // this will print 'Hello anonymous' but the logical error will be missed
75
+ greet(null, once(msg))
76
+
77
+ // once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
78
+ greet(null, once.strict(msg))
79
+ ```
@@ -0,0 +1,42 @@
1
+ var wrappy = require('wrappy')
2
+ module.exports = wrappy(once)
3
+ module.exports.strict = wrappy(onceStrict)
4
+
5
+ once.proto = once(function () {
6
+ Object.defineProperty(Function.prototype, 'once', {
7
+ value: function () {
8
+ return once(this)
9
+ },
10
+ configurable: true
11
+ })
12
+
13
+ Object.defineProperty(Function.prototype, 'onceStrict', {
14
+ value: function () {
15
+ return onceStrict(this)
16
+ },
17
+ configurable: true
18
+ })
19
+ })
20
+
21
+ function once (fn) {
22
+ var f = function () {
23
+ if (f.called) return f.value
24
+ f.called = true
25
+ return f.value = fn.apply(this, arguments)
26
+ }
27
+ f.called = false
28
+ return f
29
+ }
30
+
31
+ function onceStrict (fn) {
32
+ var f = function () {
33
+ if (f.called)
34
+ throw new Error(f.onceError)
35
+ f.called = true
36
+ return f.value = fn.apply(this, arguments)
37
+ }
38
+ var name = fn.name || 'Function wrapped with `once`'
39
+ f.onceError = name + " shouldn't be called more than once"
40
+ f.called = false
41
+ return f
42
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "once",
3
+ "version": "1.4.0",
4
+ "description": "Run a function exactly one time",
5
+ "main": "once.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "dependencies": {
10
+ "wrappy": "1"
11
+ },
12
+ "devDependencies": {
13
+ "tap": "^7.0.1"
14
+ },
15
+ "scripts": {
16
+ "test": "tap test/*.js"
17
+ },
18
+ "files": [
19
+ "once.js"
20
+ ],
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git://github.com/isaacs/once"
24
+ },
25
+ "keywords": [
26
+ "once",
27
+ "function",
28
+ "one",
29
+ "single"
30
+ ],
31
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
32
+ "license": "ISC"
33
+ }
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ function posix(path) {
4
+ return path.charAt(0) === '/';
5
+ }
6
+
7
+ function win32(path) {
8
+ // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56
9
+ var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
10
+ var result = splitDeviceRe.exec(path);
11
+ var device = result[1] || '';
12
+ var isUnc = Boolean(device && device.charAt(1) !== ':');
13
+
14
+ // UNC paths are always absolute
15
+ return Boolean(result[2] || isUnc);
16
+ }
17
+
18
+ module.exports = process.platform === 'win32' ? win32 : posix;
19
+ module.exports.posix = posix;
20
+ module.exports.win32 = win32;
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "path-is-absolute",
3
+ "version": "1.0.1",
4
+ "description": "Node.js 0.12 path.isAbsolute() ponyfill",
5
+ "license": "MIT",
6
+ "repository": "sindresorhus/path-is-absolute",
7
+ "author": {
8
+ "name": "Sindre Sorhus",
9
+ "email": "sindresorhus@gmail.com",
10
+ "url": "sindresorhus.com"
11
+ },
12
+ "engines": {
13
+ "node": ">=0.10.0"
14
+ },
15
+ "scripts": {
16
+ "test": "xo && node test.js"
17
+ },
18
+ "files": [
19
+ "index.js"
20
+ ],
21
+ "keywords": [
22
+ "path",
23
+ "paths",
24
+ "file",
25
+ "dir",
26
+ "absolute",
27
+ "isabsolute",
28
+ "is-absolute",
29
+ "built-in",
30
+ "util",
31
+ "utils",
32
+ "core",
33
+ "ponyfill",
34
+ "polyfill",
35
+ "shim",
36
+ "is",
37
+ "detect",
38
+ "check"
39
+ ],
40
+ "devDependencies": {
41
+ "xo": "^0.16.0"
42
+ }
43
+ }
@@ -0,0 +1,59 @@
1
+ # path-is-absolute [![Build Status](https://travis-ci.org/sindresorhus/path-is-absolute.svg?branch=master)](https://travis-ci.org/sindresorhus/path-is-absolute)
2
+
3
+ > Node.js 0.12 [`path.isAbsolute()`](http://nodejs.org/api/path.html#path_path_isabsolute_path) [ponyfill](https://ponyfill.com)
4
+
5
+
6
+ ## Install
7
+
8
+ ```
9
+ $ npm install --save path-is-absolute
10
+ ```
11
+
12
+
13
+ ## Usage
14
+
15
+ ```js
16
+ const pathIsAbsolute = require('path-is-absolute');
17
+
18
+ // Running on Linux
19
+ pathIsAbsolute('/home/foo');
20
+ //=> true
21
+ pathIsAbsolute('C:/Users/foo');
22
+ //=> false
23
+
24
+ // Running on Windows
25
+ pathIsAbsolute('C:/Users/foo');
26
+ //=> true
27
+ pathIsAbsolute('/home/foo');
28
+ //=> false
29
+
30
+ // Running on any OS
31
+ pathIsAbsolute.posix('/home/foo');
32
+ //=> true
33
+ pathIsAbsolute.posix('C:/Users/foo');
34
+ //=> false
35
+ pathIsAbsolute.win32('C:/Users/foo');
36
+ //=> true
37
+ pathIsAbsolute.win32('/home/foo');
38
+ //=> false
39
+ ```
40
+
41
+
42
+ ## API
43
+
44
+ See the [`path.isAbsolute()` docs](http://nodejs.org/api/path.html#path_path_isabsolute_path).
45
+
46
+ ### pathIsAbsolute(path)
47
+
48
+ ### pathIsAbsolute.posix(path)
49
+
50
+ POSIX specific version.
51
+
52
+ ### pathIsAbsolute.win32(path)
53
+
54
+ Windows specific version.
55
+
56
+
57
+ ## License
58
+
59
+ MIT © [Sindre Sorhus](https://sindresorhus.com)
@@ -0,0 +1,65 @@
1
+ # v3.0
2
+
3
+ - Add `--preserve-root` option to executable (default true)
4
+ - Drop support for Node.js below version 6
5
+
6
+ # v2.7
7
+
8
+ - Make `glob` an optional dependency
9
+
10
+ # 2.6
11
+
12
+ - Retry on EBUSY on non-windows platforms as well
13
+ - Make `rimraf.sync` 10000% more reliable on Windows
14
+
15
+ # 2.5
16
+
17
+ - Handle Windows EPERM when lstat-ing read-only dirs
18
+ - Add glob option to pass options to glob
19
+
20
+ # 2.4
21
+
22
+ - Add EPERM to delay/retry loop
23
+ - Add `disableGlob` option
24
+
25
+ # 2.3
26
+
27
+ - Make maxBusyTries and emfileWait configurable
28
+ - Handle weird SunOS unlink-dir issue
29
+ - Glob the CLI arg for better Windows support
30
+
31
+ # 2.2
32
+
33
+ - Handle ENOENT properly on Windows
34
+ - Allow overriding fs methods
35
+ - Treat EPERM as indicative of non-empty dir
36
+ - Remove optional graceful-fs dep
37
+ - Consistently return null error instead of undefined on success
38
+ - win32: Treat ENOTEMPTY the same as EBUSY
39
+ - Add `rimraf` binary
40
+
41
+ # 2.1
42
+
43
+ - Fix SunOS error code for a non-empty directory
44
+ - Try rmdir before readdir
45
+ - Treat EISDIR like EPERM
46
+ - Remove chmod
47
+ - Remove lstat polyfill, node 0.7 is not supported
48
+
49
+ # 2.0
50
+
51
+ - Fix myGid call to check process.getgid
52
+ - Simplify the EBUSY backoff logic.
53
+ - Use fs.lstat in node >= 0.7.9
54
+ - Remove gently option
55
+ - remove fiber implementation
56
+ - Delete files that are marked read-only
57
+
58
+ # 1.0
59
+
60
+ - Allow ENOENT in sync method
61
+ - Throw when no callback is provided
62
+ - Make opts.gently an absolute path
63
+ - use 'stat' if 'lstat' is not available
64
+ - Consistent error naming, and rethrow non-ENOENT stat errors
65
+ - add fiber implementation
@@ -0,0 +1,15 @@
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.
@@ -0,0 +1,101 @@
1
+ [![Build Status](https://travis-ci.org/isaacs/rimraf.svg?branch=master)](https://travis-ci.org/isaacs/rimraf) [![Dependency Status](https://david-dm.org/isaacs/rimraf.svg)](https://david-dm.org/isaacs/rimraf) [![devDependency Status](https://david-dm.org/isaacs/rimraf/dev-status.svg)](https://david-dm.org/isaacs/rimraf#info=devDependencies)
2
+
3
+ The [UNIX command](http://en.wikipedia.org/wiki/Rm_(Unix)) `rm -rf` for node.
4
+
5
+ Install with `npm install rimraf`, or just drop rimraf.js somewhere.
6
+
7
+ ## API
8
+
9
+ `rimraf(f, [opts], callback)`
10
+
11
+ The first parameter will be interpreted as a globbing pattern for files. If you
12
+ want to disable globbing you can do so with `opts.disableGlob` (defaults to
13
+ `false`). This might be handy, for instance, if you have filenames that contain
14
+ globbing wildcard characters.
15
+
16
+ The callback will be called with an error if there is one. Certain
17
+ errors are handled for you:
18
+
19
+ * Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of
20
+ `opts.maxBusyTries` times before giving up, adding 100ms of wait
21
+ between each attempt. The default `maxBusyTries` is 3.
22
+ * `ENOENT` - If the file doesn't exist, rimraf will return
23
+ successfully, since your desired outcome is already the case.
24
+ * `EMFILE` - Since `readdir` requires opening a file descriptor, it's
25
+ possible to hit `EMFILE` if too many file descriptors are in use.
26
+ In the sync case, there's nothing to be done for this. But in the
27
+ async case, rimraf will gradually back off with timeouts up to
28
+ `opts.emfileWait` ms, which defaults to 1000.
29
+
30
+ ## options
31
+
32
+ * unlink, chmod, stat, lstat, rmdir, readdir,
33
+ unlinkSync, chmodSync, statSync, lstatSync, rmdirSync, readdirSync
34
+
35
+ In order to use a custom file system library, you can override
36
+ specific fs functions on the options object.
37
+
38
+ If any of these functions are present on the options object, then
39
+ the supplied function will be used instead of the default fs
40
+ method.
41
+
42
+ Sync methods are only relevant for `rimraf.sync()`, of course.
43
+
44
+ For example:
45
+
46
+ ```javascript
47
+ var myCustomFS = require('some-custom-fs')
48
+
49
+ rimraf('some-thing', myCustomFS, callback)
50
+ ```
51
+
52
+ * maxBusyTries
53
+
54
+ If an `EBUSY`, `ENOTEMPTY`, or `EPERM` error code is encountered
55
+ on Windows systems, then rimraf will retry with a linear backoff
56
+ wait of 100ms longer on each try. The default maxBusyTries is 3.
57
+
58
+ Only relevant for async usage.
59
+
60
+ * emfileWait
61
+
62
+ If an `EMFILE` error is encountered, then rimraf will retry
63
+ repeatedly with a linear backoff of 1ms longer on each try, until
64
+ the timeout counter hits this max. The default limit is 1000.
65
+
66
+ If you repeatedly encounter `EMFILE` errors, then consider using
67
+ [graceful-fs](http://npm.im/graceful-fs) in your program.
68
+
69
+ Only relevant for async usage.
70
+
71
+ * glob
72
+
73
+ Set to `false` to disable [glob](http://npm.im/glob) pattern
74
+ matching.
75
+
76
+ Set to an object to pass options to the glob module. The default
77
+ glob options are `{ nosort: true, silent: true }`.
78
+
79
+ Glob version 6 is used in this module.
80
+
81
+ Relevant for both sync and async usage.
82
+
83
+ * disableGlob
84
+
85
+ Set to any non-falsey value to disable globbing entirely.
86
+ (Equivalent to setting `glob: false`.)
87
+
88
+ ## rimraf.sync
89
+
90
+ It can remove stuff synchronously, too. But that's not so good. Use
91
+ the async API. It's better.
92
+
93
+ ## CLI
94
+
95
+ If installed with `npm install rimraf -g` it can be used as a global
96
+ command `rimraf <path> [<path> ...]` which is useful for cross platform support.
97
+
98
+ ## mkdirp
99
+
100
+ If you need to create a directory recursively, check out
101
+ [mkdirp](https://github.com/substack/node-mkdirp).
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env node
2
+
3
+ const rimraf = require('./')
4
+
5
+ const path = require('path')
6
+
7
+ const isRoot = arg => /^(\/|[a-zA-Z]:\\)$/.test(path.resolve(arg))
8
+ const filterOutRoot = arg => {
9
+ const ok = preserveRoot === false || !isRoot(arg)
10
+ if (!ok) {
11
+ console.error(`refusing to remove ${arg}`)
12
+ console.error('Set --no-preserve-root to allow this')
13
+ }
14
+ return ok
15
+ }
16
+
17
+ let help = false
18
+ let dashdash = false
19
+ let noglob = false
20
+ let preserveRoot = true
21
+ const args = process.argv.slice(2).filter(arg => {
22
+ if (dashdash)
23
+ return !!arg
24
+ else if (arg === '--')
25
+ dashdash = true
26
+ else if (arg === '--no-glob' || arg === '-G')
27
+ noglob = true
28
+ else if (arg === '--glob' || arg === '-g')
29
+ noglob = false
30
+ else if (arg.match(/^(-+|\/)(h(elp)?|\?)$/))
31
+ help = true
32
+ else if (arg === '--preserve-root')
33
+ preserveRoot = true
34
+ else if (arg === '--no-preserve-root')
35
+ preserveRoot = false
36
+ else
37
+ return !!arg
38
+ }).filter(arg => !preserveRoot || filterOutRoot(arg))
39
+
40
+ const go = n => {
41
+ if (n >= args.length)
42
+ return
43
+ const options = noglob ? { glob: false } : {}
44
+ rimraf(args[n], options, er => {
45
+ if (er)
46
+ throw er
47
+ go(n+1)
48
+ })
49
+ }
50
+
51
+ if (help || args.length === 0) {
52
+ // If they didn't ask for help, then this is not a "success"
53
+ const log = help ? console.log : console.error
54
+ log('Usage: rimraf <path> [<path> ...]')
55
+ log('')
56
+ log(' Deletes all files and folders at "path" recursively.')
57
+ log('')
58
+ log('Options:')
59
+ log('')
60
+ log(' -h, --help Display this usage info')
61
+ log(' -G, --no-glob Do not expand glob patterns in arguments')
62
+ log(' -g, --glob Expand glob patterns in arguments (default)')
63
+ log(' --preserve-root Do not remove \'/\' (default)')
64
+ log(' --no-preserve-root Do not treat \'/\' specially')
65
+ log(' -- Stop parsing flags')
66
+ process.exit(help ? 0 : 1)
67
+ } else
68
+ go(0)
@@ -0,0 +1,21 @@
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.
16
+
17
+ ## Glob Logo
18
+
19
+ Glob's logo created by Tanya Brassie <http://tanyabrassie.com/>, licensed
20
+ under a Creative Commons Attribution-ShareAlike 4.0 International License
21
+ https://creativecommons.org/licenses/by-sa/4.0/