jfrog-cli-v2-jf 2.6.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 (1546) hide show
  1. package/README.md +28 -0
  2. package/assets/jfrog.jpg +0 -0
  3. package/bin/jf +0 -0
  4. package/init.js +113 -0
  5. package/node-v8.11.1-linux-x64/CHANGELOG.md +1396 -0
  6. package/node-v8.11.1-linux-x64/LICENSE +1171 -0
  7. package/node-v8.11.1-linux-x64/README.md +601 -0
  8. package/node-v8.11.1-linux-x64/bin/node +0 -0
  9. package/node-v8.11.1-linux-x64/include/node/android-ifaddrs.h +54 -0
  10. package/node-v8.11.1-linux-x64/include/node/common.gypi +431 -0
  11. package/node-v8.11.1-linux-x64/include/node/config.gypi +63 -0
  12. package/node-v8.11.1-linux-x64/include/node/libplatform/libplatform-export.h +29 -0
  13. package/node-v8.11.1-linux-x64/include/node/libplatform/libplatform.h +83 -0
  14. package/node-v8.11.1-linux-x64/include/node/libplatform/v8-tracing.h +284 -0
  15. package/node-v8.11.1-linux-x64/include/node/node.h +782 -0
  16. package/node-v8.11.1-linux-x64/include/node/node_api.h +592 -0
  17. package/node-v8.11.1-linux-x64/include/node/node_api_types.h +115 -0
  18. package/node-v8.11.1-linux-x64/include/node/node_buffer.h +89 -0
  19. package/node-v8.11.1-linux-x64/include/node/node_object_wrap.h +132 -0
  20. package/node-v8.11.1-linux-x64/include/node/node_version.h +110 -0
  21. package/node-v8.11.1-linux-x64/include/node/openssl/aes.h +149 -0
  22. package/node-v8.11.1-linux-x64/include/node/openssl/archs/BSD-x86/opensslconf.h +270 -0
  23. package/node-v8.11.1-linux-x64/include/node/openssl/archs/BSD-x86_64/opensslconf.h +270 -0
  24. package/node-v8.11.1-linux-x64/include/node/openssl/archs/VC-WIN32/opensslconf.h +271 -0
  25. package/node-v8.11.1-linux-x64/include/node/openssl/archs/VC-WIN64A/opensslconf.h +271 -0
  26. package/node-v8.11.1-linux-x64/include/node/openssl/archs/aix-gcc/opensslconf.h +273 -0
  27. package/node-v8.11.1-linux-x64/include/node/openssl/archs/aix64-gcc/opensslconf.h +273 -0
  28. package/node-v8.11.1-linux-x64/include/node/openssl/archs/darwin-i386-cc/opensslconf.h +273 -0
  29. package/node-v8.11.1-linux-x64/include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h +273 -0
  30. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux-aarch64/opensslconf.h +270 -0
  31. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux-armv4/opensslconf.h +270 -0
  32. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux-elf/opensslconf.h +270 -0
  33. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux-ppc/opensslconf.h +270 -0
  34. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux-ppc64/opensslconf.h +270 -0
  35. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux-x32/opensslconf.h +270 -0
  36. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux-x86_64/opensslconf.h +270 -0
  37. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux32-s390x/opensslconf.h +270 -0
  38. package/node-v8.11.1-linux-x64/include/node/openssl/archs/linux64-s390x/opensslconf.h +270 -0
  39. package/node-v8.11.1-linux-x64/include/node/openssl/archs/solaris-x86-gcc/opensslconf.h +270 -0
  40. package/node-v8.11.1-linux-x64/include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +270 -0
  41. package/node-v8.11.1-linux-x64/include/node/openssl/asn1.h +1420 -0
  42. package/node-v8.11.1-linux-x64/include/node/openssl/asn1_mac.h +579 -0
  43. package/node-v8.11.1-linux-x64/include/node/openssl/asn1t.h +973 -0
  44. package/node-v8.11.1-linux-x64/include/node/openssl/bio.h +883 -0
  45. package/node-v8.11.1-linux-x64/include/node/openssl/blowfish.h +130 -0
  46. package/node-v8.11.1-linux-x64/include/node/openssl/bn.h +951 -0
  47. package/node-v8.11.1-linux-x64/include/node/openssl/buffer.h +125 -0
  48. package/node-v8.11.1-linux-x64/include/node/openssl/camellia.h +132 -0
  49. package/node-v8.11.1-linux-x64/include/node/openssl/cast.h +107 -0
  50. package/node-v8.11.1-linux-x64/include/node/openssl/cmac.h +82 -0
  51. package/node-v8.11.1-linux-x64/include/node/openssl/cms.h +555 -0
  52. package/node-v8.11.1-linux-x64/include/node/openssl/comp.h +83 -0
  53. package/node-v8.11.1-linux-x64/include/node/openssl/conf.h +268 -0
  54. package/node-v8.11.1-linux-x64/include/node/openssl/conf_api.h +89 -0
  55. package/node-v8.11.1-linux-x64/include/node/openssl/crypto.h +661 -0
  56. package/node-v8.11.1-linux-x64/include/node/openssl/des.h +257 -0
  57. package/node-v8.11.1-linux-x64/include/node/openssl/des_old.h +497 -0
  58. package/node-v8.11.1-linux-x64/include/node/openssl/dh.h +412 -0
  59. package/node-v8.11.1-linux-x64/include/node/openssl/dsa.h +332 -0
  60. package/node-v8.11.1-linux-x64/include/node/openssl/dso.h +451 -0
  61. package/node-v8.11.1-linux-x64/include/node/openssl/dtls1.h +272 -0
  62. package/node-v8.11.1-linux-x64/include/node/openssl/e_os2.h +328 -0
  63. package/node-v8.11.1-linux-x64/include/node/openssl/ebcdic.h +26 -0
  64. package/node-v8.11.1-linux-x64/include/node/openssl/ec.h +1282 -0
  65. package/node-v8.11.1-linux-x64/include/node/openssl/ecdh.h +134 -0
  66. package/node-v8.11.1-linux-x64/include/node/openssl/ecdsa.h +335 -0
  67. package/node-v8.11.1-linux-x64/include/node/openssl/engine.h +960 -0
  68. package/node-v8.11.1-linux-x64/include/node/openssl/err.h +390 -0
  69. package/node-v8.11.1-linux-x64/include/node/openssl/evp.h +1628 -0
  70. package/node-v8.11.1-linux-x64/include/node/openssl/hmac.h +109 -0
  71. package/node-v8.11.1-linux-x64/include/node/openssl/idea.h +105 -0
  72. package/node-v8.11.1-linux-x64/include/node/openssl/krb5_asn.h +240 -0
  73. package/node-v8.11.1-linux-x64/include/node/openssl/kssl.h +197 -0
  74. package/node-v8.11.1-linux-x64/include/node/openssl/lhash.h +240 -0
  75. package/node-v8.11.1-linux-x64/include/node/openssl/md4.h +119 -0
  76. package/node-v8.11.1-linux-x64/include/node/openssl/md5.h +119 -0
  77. package/node-v8.11.1-linux-x64/include/node/openssl/mdc2.h +94 -0
  78. package/node-v8.11.1-linux-x64/include/node/openssl/modes.h +163 -0
  79. package/node-v8.11.1-linux-x64/include/node/openssl/obj_mac.h +4194 -0
  80. package/node-v8.11.1-linux-x64/include/node/openssl/objects.h +1143 -0
  81. package/node-v8.11.1-linux-x64/include/node/openssl/ocsp.h +637 -0
  82. package/node-v8.11.1-linux-x64/include/node/openssl/opensslconf.h +154 -0
  83. package/node-v8.11.1-linux-x64/include/node/openssl/opensslv.h +97 -0
  84. package/node-v8.11.1-linux-x64/include/node/openssl/ossl_typ.h +213 -0
  85. package/node-v8.11.1-linux-x64/include/node/openssl/pem.h +617 -0
  86. package/node-v8.11.1-linux-x64/include/node/openssl/pem2.h +70 -0
  87. package/node-v8.11.1-linux-x64/include/node/openssl/pkcs12.h +342 -0
  88. package/node-v8.11.1-linux-x64/include/node/openssl/pkcs7.h +481 -0
  89. package/node-v8.11.1-linux-x64/include/node/openssl/pqueue.h +99 -0
  90. package/node-v8.11.1-linux-x64/include/node/openssl/rand.h +150 -0
  91. package/node-v8.11.1-linux-x64/include/node/openssl/rc2.h +103 -0
  92. package/node-v8.11.1-linux-x64/include/node/openssl/rc4.h +88 -0
  93. package/node-v8.11.1-linux-x64/include/node/openssl/ripemd.h +105 -0
  94. package/node-v8.11.1-linux-x64/include/node/openssl/rsa.h +664 -0
  95. package/node-v8.11.1-linux-x64/include/node/openssl/safestack.h +2672 -0
  96. package/node-v8.11.1-linux-x64/include/node/openssl/seed.h +149 -0
  97. package/node-v8.11.1-linux-x64/include/node/openssl/sha.h +214 -0
  98. package/node-v8.11.1-linux-x64/include/node/openssl/srp.h +179 -0
  99. package/node-v8.11.1-linux-x64/include/node/openssl/srtp.h +147 -0
  100. package/node-v8.11.1-linux-x64/include/node/openssl/ssl.h +3163 -0
  101. package/node-v8.11.1-linux-x64/include/node/openssl/ssl2.h +265 -0
  102. package/node-v8.11.1-linux-x64/include/node/openssl/ssl23.h +84 -0
  103. package/node-v8.11.1-linux-x64/include/node/openssl/ssl3.h +774 -0
  104. package/node-v8.11.1-linux-x64/include/node/openssl/stack.h +107 -0
  105. package/node-v8.11.1-linux-x64/include/node/openssl/symhacks.h +518 -0
  106. package/node-v8.11.1-linux-x64/include/node/openssl/tls1.h +810 -0
  107. package/node-v8.11.1-linux-x64/include/node/openssl/ts.h +865 -0
  108. package/node-v8.11.1-linux-x64/include/node/openssl/txt_db.h +112 -0
  109. package/node-v8.11.1-linux-x64/include/node/openssl/ui.h +415 -0
  110. package/node-v8.11.1-linux-x64/include/node/openssl/ui_compat.h +88 -0
  111. package/node-v8.11.1-linux-x64/include/node/openssl/whrlpool.h +41 -0
  112. package/node-v8.11.1-linux-x64/include/node/openssl/x509.h +1330 -0
  113. package/node-v8.11.1-linux-x64/include/node/openssl/x509_vfy.h +652 -0
  114. package/node-v8.11.1-linux-x64/include/node/openssl/x509v3.h +1055 -0
  115. package/node-v8.11.1-linux-x64/include/node/pthread-barrier.h +69 -0
  116. package/node-v8.11.1-linux-x64/include/node/stdint-msvc2008.h +247 -0
  117. package/node-v8.11.1-linux-x64/include/node/tree.h +768 -0
  118. package/node-v8.11.1-linux-x64/include/node/uv-aix.h +32 -0
  119. package/node-v8.11.1-linux-x64/include/node/uv-bsd.h +34 -0
  120. package/node-v8.11.1-linux-x64/include/node/uv-darwin.h +61 -0
  121. package/node-v8.11.1-linux-x64/include/node/uv-errno.h +431 -0
  122. package/node-v8.11.1-linux-x64/include/node/uv-linux.h +34 -0
  123. package/node-v8.11.1-linux-x64/include/node/uv-os390.h +33 -0
  124. package/node-v8.11.1-linux-x64/include/node/uv-posix.h +31 -0
  125. package/node-v8.11.1-linux-x64/include/node/uv-sunos.h +44 -0
  126. package/node-v8.11.1-linux-x64/include/node/uv-threadpool.h +37 -0
  127. package/node-v8.11.1-linux-x64/include/node/uv-unix.h +464 -0
  128. package/node-v8.11.1-linux-x64/include/node/uv-version.h +43 -0
  129. package/node-v8.11.1-linux-x64/include/node/uv-win.h +676 -0
  130. package/node-v8.11.1-linux-x64/include/node/uv.h +1566 -0
  131. package/node-v8.11.1-linux-x64/include/node/v8-debug.h +255 -0
  132. package/node-v8.11.1-linux-x64/include/node/v8-inspector-protocol.h +13 -0
  133. package/node-v8.11.1-linux-x64/include/node/v8-inspector.h +269 -0
  134. package/node-v8.11.1-linux-x64/include/node/v8-platform.h +241 -0
  135. package/node-v8.11.1-linux-x64/include/node/v8-profiler.h +912 -0
  136. package/node-v8.11.1-linux-x64/include/node/v8-testing.h +48 -0
  137. package/node-v8.11.1-linux-x64/include/node/v8-util.h +655 -0
  138. package/node-v8.11.1-linux-x64/include/node/v8-value-serializer-version.h +24 -0
  139. package/node-v8.11.1-linux-x64/include/node/v8-version-string.h +33 -0
  140. package/node-v8.11.1-linux-x64/include/node/v8-version.h +20 -0
  141. package/node-v8.11.1-linux-x64/include/node/v8.h +10342 -0
  142. package/node-v8.11.1-linux-x64/include/node/v8config.h +417 -0
  143. package/node-v8.11.1-linux-x64/include/node/zconf.h +534 -0
  144. package/node-v8.11.1-linux-x64/include/node/zlib.h +1912 -0
  145. package/node-v8.11.1-linux-x64/lib/node_modules/npm/.github/CODEOWNERS +1 -0
  146. package/node-v8.11.1-linux-x64/lib/node_modules/npm/.github/issue_template.md +69 -0
  147. package/node-v8.11.1-linux-x64/lib/node_modules/npm/.mailmap +67 -0
  148. package/node-v8.11.1-linux-x64/lib/node_modules/npm/.npmignore +34 -0
  149. package/node-v8.11.1-linux-x64/lib/node_modules/npm/.travis.yml +38 -0
  150. package/node-v8.11.1-linux-x64/lib/node_modules/npm/AUTHORS +538 -0
  151. package/node-v8.11.1-linux-x64/lib/node_modules/npm/CHANGELOG.md +1488 -0
  152. package/node-v8.11.1-linux-x64/lib/node_modules/npm/CONTRIBUTING.md +82 -0
  153. package/node-v8.11.1-linux-x64/lib/node_modules/npm/LICENSE +235 -0
  154. package/node-v8.11.1-linux-x64/lib/node_modules/npm/Makefile +190 -0
  155. package/node-v8.11.1-linux-x64/lib/node_modules/npm/README.md +169 -0
  156. package/node-v8.11.1-linux-x64/lib/node_modules/npm/TROUBLESHOOTING.md +192 -0
  157. package/node-v8.11.1-linux-x64/lib/node_modules/npm/appveyor.yml +34 -0
  158. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/node-gyp-bin/node-gyp +6 -0
  159. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/node-gyp-bin/node-gyp.cmd +5 -0
  160. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/npm +34 -0
  161. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/npm-cli.js +92 -0
  162. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/npm.cmd +19 -0
  163. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/npx +34 -0
  164. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/npx-cli.js +8 -0
  165. package/node-v8.11.1-linux-x64/lib/node_modules/npm/bin/npx.cmd +19 -0
  166. package/node-v8.11.1-linux-x64/lib/node_modules/npm/changelogs/CHANGELOG-1.md +743 -0
  167. package/node-v8.11.1-linux-x64/lib/node_modules/npm/changelogs/CHANGELOG-2.md +5344 -0
  168. package/node-v8.11.1-linux-x64/lib/node_modules/npm/changelogs/CHANGELOG-3.md +5245 -0
  169. package/node-v8.11.1-linux-x64/lib/node_modules/npm/changelogs/CHANGELOG-4.md +1566 -0
  170. package/node-v8.11.1-linux-x64/lib/node_modules/npm/configure +33 -0
  171. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-access.md +76 -0
  172. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-adduser.md +85 -0
  173. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-bin.md +19 -0
  174. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-bugs.md +43 -0
  175. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-build.md +25 -0
  176. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-bundle.md +14 -0
  177. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-cache.md +83 -0
  178. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-completion.md +31 -0
  179. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-config.md +73 -0
  180. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-dedupe.md +55 -0
  181. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-deprecate.md +26 -0
  182. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-dist-tag.md +88 -0
  183. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-docs.md +44 -0
  184. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-doctor.md +102 -0
  185. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-edit.md +37 -0
  186. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-explore.md +39 -0
  187. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-help-search.md +34 -0
  188. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-help.md +38 -0
  189. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-init.md +38 -0
  190. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-install-test.md +25 -0
  191. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-install.md +444 -0
  192. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-link.md +74 -0
  193. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-logout.md +45 -0
  194. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-ls.md +111 -0
  195. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-outdated.md +112 -0
  196. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-owner.md +39 -0
  197. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-pack.md +27 -0
  198. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-ping.md +24 -0
  199. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-prefix.md +23 -0
  200. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-profile.md +74 -0
  201. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-prune.md +26 -0
  202. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-publish.md +73 -0
  203. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-rebuild.md +19 -0
  204. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-repo.md +27 -0
  205. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-restart.md +40 -0
  206. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-root.md +19 -0
  207. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-run-script.md +78 -0
  208. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-search.md +106 -0
  209. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-shrinkwrap.md +25 -0
  210. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-star.md +22 -0
  211. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-stars.md +21 -0
  212. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-start.md +24 -0
  213. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-stop.md +18 -0
  214. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-team.md +55 -0
  215. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-test.md +20 -0
  216. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-token.md +59 -0
  217. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-uninstall.md +53 -0
  218. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-unpublish.md +43 -0
  219. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-update.md +149 -0
  220. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-version.md +119 -0
  221. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-view.md +96 -0
  222. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm-whoami.md +17 -0
  223. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/cli/npm.md +165 -0
  224. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/files/npm-folders.md +213 -0
  225. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/files/npm-package-locks.md +145 -0
  226. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/files/npm-shrinkwrap.json.md +27 -0
  227. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/files/npmrc.md +90 -0
  228. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/files/package-lock.json.md +132 -0
  229. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/files/package.json.md +785 -0
  230. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-coding-style.md +192 -0
  231. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-config.md +1185 -0
  232. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-developers.md +233 -0
  233. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-disputes.md +130 -0
  234. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-index.md +303 -0
  235. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-orgs.md +90 -0
  236. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-registry.md +92 -0
  237. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-scope.md +113 -0
  238. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/npm-scripts.md +266 -0
  239. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/removing-npm.md +54 -0
  240. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/misc/semver.md +366 -0
  241. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/spec/file-specifiers.md +154 -0
  242. package/node-v8.11.1-linux-x64/lib/node_modules/npm/doc/spec/package-lock.md +276 -0
  243. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/README.html +131 -0
  244. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-access.html +90 -0
  245. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-adduser.html +85 -0
  246. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-bin.html +39 -0
  247. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-bugs.html +59 -0
  248. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-build.html +44 -0
  249. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-bundle.html +35 -0
  250. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-cache.html +93 -0
  251. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-completion.html +47 -0
  252. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-config.html +72 -0
  253. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-dedupe.html +65 -0
  254. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-deprecate.html +42 -0
  255. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-dist-tag.html +92 -0
  256. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-docs.html +60 -0
  257. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-doctor.html +107 -0
  258. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-edit.html +53 -0
  259. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-explore.html +53 -0
  260. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-help-search.html +49 -0
  261. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-help.html +54 -0
  262. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-init.html +52 -0
  263. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-install-test.html +46 -0
  264. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-install.html +373 -0
  265. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-link.html +78 -0
  266. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-logout.html +55 -0
  267. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-ls.html +114 -0
  268. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-outdated.html +120 -0
  269. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-owner.html +58 -0
  270. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-pack.html +45 -0
  271. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-ping.html +40 -0
  272. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-prefix.html +42 -0
  273. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-profile.html +94 -0
  274. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-prune.html +44 -0
  275. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-publish.html +89 -0
  276. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-rebuild.html +39 -0
  277. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-repo.html +45 -0
  278. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-restart.html +57 -0
  279. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-root.html +39 -0
  280. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-run-script.html +84 -0
  281. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-search.html +113 -0
  282. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-shrinkwrap.html +45 -0
  283. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-star.html +40 -0
  284. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-stars.html +40 -0
  285. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-start.html +43 -0
  286. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-stop.html +38 -0
  287. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-team.html +71 -0
  288. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-test.html +40 -0
  289. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-token.html +77 -0
  290. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-uninstall.html +67 -0
  291. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-unpublish.html +55 -0
  292. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-update.html +122 -0
  293. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-version.html +124 -0
  294. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-view.html +90 -0
  295. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm-whoami.html +37 -0
  296. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/cli/npm.html +154 -0
  297. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/npm-folders.html +185 -0
  298. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/npm-global.html +185 -0
  299. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/npm-json.html +607 -0
  300. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/npm-package-locks.html +149 -0
  301. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/npm-shrinkwrap.json.html +46 -0
  302. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/npmrc.html +89 -0
  303. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/package-lock.json.html +128 -0
  304. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/files/package.json.html +607 -0
  305. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/index.html +176 -0
  306. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-coding-style.html +157 -0
  307. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-config.html +1028 -0
  308. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-developers.html +208 -0
  309. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-disputes.html +138 -0
  310. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-index.html +176 -0
  311. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-orgs.html +90 -0
  312. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-registry.html +94 -0
  313. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-scope.html +103 -0
  314. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/npm-scripts.html +243 -0
  315. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/removing-npm.html +61 -0
  316. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/doc/misc/semver.html +340 -0
  317. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/docfoot.html +13 -0
  318. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/dochead.html +11 -0
  319. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/favicon.ico +0 -0
  320. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/index.html +93 -0
  321. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/static/style.css +336 -0
  322. package/node-v8.11.1-linux-x64/lib/node_modules/npm/html/static/toc.js +29 -0
  323. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/access.js +129 -0
  324. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/adduser.js +49 -0
  325. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/auth/legacy.js +57 -0
  326. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/auth/oauth.js +7 -0
  327. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/auth/saml.js +7 -0
  328. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/auth/sso.js +59 -0
  329. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/bin.js +23 -0
  330. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/bugs.js +32 -0
  331. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/build.js +140 -0
  332. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/cache.js +136 -0
  333. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/completion.js +248 -0
  334. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/bin-links.js +32 -0
  335. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/clear-credentials-by-uri.js +16 -0
  336. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/cmd-list.js +119 -0
  337. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/core.js +431 -0
  338. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/defaults.js +430 -0
  339. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/fetch-opts.js +77 -0
  340. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/gentle-fs.js +32 -0
  341. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/get-credentials-by-uri.js +72 -0
  342. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/lifecycle.js +31 -0
  343. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/load-cafile.js +32 -0
  344. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/load-prefix.js +51 -0
  345. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/load-uid.js +15 -0
  346. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/nerf-dart.js +23 -0
  347. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/pacote.js +139 -0
  348. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/reg-client.js +29 -0
  349. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/set-credentials-by-uri.js +39 -0
  350. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config/set-user.js +29 -0
  351. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/config.js +280 -0
  352. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/dedupe.js +160 -0
  353. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/deprecate.js +54 -0
  354. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/dist-tag.js +158 -0
  355. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/docs.js +42 -0
  356. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/doctor/check-files-permission.js +57 -0
  357. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/doctor/check-ping.js +12 -0
  358. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/doctor/get-git-path.js +13 -0
  359. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/doctor/get-latest-nodejs-version.js +27 -0
  360. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/doctor/get-latest-npm-version.js +14 -0
  361. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/doctor/verify-cached-files.js +19 -0
  362. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/doctor.js +113 -0
  363. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/edit.js +35 -0
  364. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/explore.js +59 -0
  365. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/fetch-package-metadata.js +118 -0
  366. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/fetch-package-metadata.md +37 -0
  367. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/get.js +12 -0
  368. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/help-search.js +212 -0
  369. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/help.js +247 -0
  370. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/init.js +41 -0
  371. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/access-error.js +8 -0
  372. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/build.js +13 -0
  373. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/extract-worker.js +18 -0
  374. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/extract.js +160 -0
  375. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/fetch.js +16 -0
  376. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/finalize.js +106 -0
  377. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/global-install.js +17 -0
  378. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/global-link.js +8 -0
  379. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/install.js +8 -0
  380. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/move.js +96 -0
  381. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/postinstall.js +8 -0
  382. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/preinstall.js +8 -0
  383. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/prepare.js +27 -0
  384. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/refresh-package-json.js +45 -0
  385. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/remove.js +85 -0
  386. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/action/unbuild.js +16 -0
  387. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/actions.js +192 -0
  388. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/and-add-parent-to-errors.js +13 -0
  389. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/and-finish-tracker.js +16 -0
  390. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/and-ignore-errors.js +9 -0
  391. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/check-permissions.js +69 -0
  392. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/copy-tree.js +31 -0
  393. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/decompose-actions.js +72 -0
  394. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/deps.js +742 -0
  395. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/diff-trees.js +244 -0
  396. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/exists.js +27 -0
  397. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/flatten-tree.js +42 -0
  398. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/get-requested.js +12 -0
  399. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/inflate-bundled.js +18 -0
  400. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js +206 -0
  401. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/is-dev-dep.js +8 -0
  402. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/is-extraneous.js +27 -0
  403. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/is-fs-access-available.js +22 -0
  404. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/is-only-dev.js +35 -0
  405. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/is-only-optional.js +18 -0
  406. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/is-opt-dep.js +8 -0
  407. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/is-prod-dep.js +9 -0
  408. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/module-staging-path.js +8 -0
  409. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js +140 -0
  410. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/node.js +77 -0
  411. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/read-shrinkwrap.js +58 -0
  412. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/realize-shrinkwrap-specifier.js +22 -0
  413. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/report-optional-failure.js +31 -0
  414. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/save.js +187 -0
  415. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/update-package-json.js +56 -0
  416. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/validate-args.js +73 -0
  417. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/validate-tree.js +95 -0
  418. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install/writable.js +35 -0
  419. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install-test.js +26 -0
  420. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/install.js +959 -0
  421. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/link.js +197 -0
  422. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/logout.js +43 -0
  423. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/ls.js +548 -0
  424. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/npm.js +480 -0
  425. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/outdated.js +425 -0
  426. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/owner.js +277 -0
  427. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/pack.js +232 -0
  428. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/ping.js +27 -0
  429. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/prefix.js +15 -0
  430. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/profile.js +314 -0
  431. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/prune.js +66 -0
  432. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/publish.js +200 -0
  433. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/rebuild.js +78 -0
  434. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/repo.js +51 -0
  435. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/restart.js +1 -0
  436. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/root.js +15 -0
  437. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/run-script.js +181 -0
  438. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/search/all-package-metadata.js +313 -0
  439. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/search/all-package-search.js +50 -0
  440. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/search/esearch.js +64 -0
  441. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/search/format-package-stream.js +172 -0
  442. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/search/package-filter.js +41 -0
  443. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/search.js +108 -0
  444. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/set.js +13 -0
  445. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/shrinkwrap.js +252 -0
  446. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/star.js +45 -0
  447. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/stars.js +47 -0
  448. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/start.js +1 -0
  449. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/stop.js +1 -0
  450. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/substack.js +22 -0
  451. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/team.js +55 -0
  452. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/test.js +15 -0
  453. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/token.js +211 -0
  454. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/unbuild.js +132 -0
  455. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/uninstall.js +79 -0
  456. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/unpublish.js +118 -0
  457. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/update.js +72 -0
  458. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/ansi-trim.js +7 -0
  459. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/child-path.js +10 -0
  460. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/completion/file-completion.js +24 -0
  461. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/completion/installed-deep.js +52 -0
  462. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/completion/installed-shallow.js +87 -0
  463. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/completion.sh +61 -0
  464. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/correct-mkdir.js +123 -0
  465. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/deep-sort-object.js +14 -0
  466. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/depr-check.js +23 -0
  467. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/did-you-mean.js +20 -0
  468. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/error-handler.js +252 -0
  469. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/error-message.js +335 -0
  470. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/escape-arg.js +27 -0
  471. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/escape-exec-path.js +30 -0
  472. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/gently-rm.js +21 -0
  473. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/get-publish-config.js +29 -0
  474. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/git.js +50 -0
  475. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/gunzip-maybe.js +22 -0
  476. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/is-registry.js +12 -0
  477. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/is-windows-bash.js +3 -0
  478. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/is-windows-shell.js +4 -0
  479. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/is-windows.js +2 -0
  480. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/lifecycle-cmd.js +18 -0
  481. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/lifecycle.js +14 -0
  482. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/link.js +8 -0
  483. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/locker.js +73 -0
  484. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/map-to-registry.js +103 -0
  485. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/metrics-launch.js +39 -0
  486. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/metrics.js +73 -0
  487. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/module-name.js +31 -0
  488. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/move.js +12 -0
  489. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/no-progress-while-running.js +23 -0
  490. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/output.js +8 -0
  491. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/package-id.js +15 -0
  492. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/parse-json.js +24 -0
  493. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/perf.js +27 -0
  494. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/pick-manifest-from-registry-metadata.js +26 -0
  495. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/pulse-till-done.js +38 -0
  496. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/read-local-package.js +12 -0
  497. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/read-user-info.js +66 -0
  498. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/save-stack.js +16 -0
  499. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/spawn.js +50 -0
  500. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/temp-filename.js +7 -0
  501. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/umask.js +17 -0
  502. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/unix-format-path.js +5 -0
  503. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/unsupported.js +52 -0
  504. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/usage.js +27 -0
  505. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/utils/warn-deprecated.js +23 -0
  506. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/version.js +334 -0
  507. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/view.js +337 -0
  508. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/visnup.js +43 -0
  509. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/whoami.js +47 -0
  510. package/node-v8.11.1-linux-x64/lib/node_modules/npm/lib/xmas.js +59 -0
  511. package/node-v8.11.1-linux-x64/lib/node_modules/npm/make.bat +3 -0
  512. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-README.1 +178 -0
  513. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-access.1 +92 -0
  514. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-adduser.1 +103 -0
  515. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-bin.1 +30 -0
  516. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-bugs.1 +60 -0
  517. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-build.1 +41 -0
  518. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-bundle.1 +17 -0
  519. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-cache.1 +96 -0
  520. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-completion.1 +42 -0
  521. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-config.1 +97 -0
  522. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-dedupe.1 +71 -0
  523. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-deprecate.1 +37 -0
  524. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-dist-tag.1 +109 -0
  525. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-docs.1 +60 -0
  526. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-doctor.1 +114 -0
  527. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-edit.1 +50 -0
  528. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-explore.1 +55 -0
  529. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-help-search.1 +43 -0
  530. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-help.1 +54 -0
  531. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-init.1 +49 -0
  532. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-install-test.1 +33 -0
  533. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-install.1 +524 -0
  534. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-link.1 +102 -0
  535. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-logout.1 +57 -0
  536. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-ls.1 +153 -0
  537. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-outdated.1 +151 -0
  538. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-owner.1 +53 -0
  539. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-pack.1 +37 -0
  540. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-ping.1 +39 -0
  541. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-prefix.1 +34 -0
  542. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-profile.1 +92 -0
  543. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-prune.1 +34 -0
  544. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-publish.1 +88 -0
  545. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-rebuild.1 +26 -0
  546. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-repo.1 +36 -0
  547. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-restart.1 +61 -0
  548. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-root.1 +30 -0
  549. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-run-script.1 +101 -0
  550. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-search.1 +138 -0
  551. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-shrinkwrap.1 +38 -0
  552. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-star.1 +30 -0
  553. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-stars.1 +30 -0
  554. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-start.1 +34 -0
  555. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-stop.1 +28 -0
  556. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-team.1 +64 -0
  557. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-test.1 +30 -0
  558. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-token.1 +74 -0
  559. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-uninstall.1 +75 -0
  560. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-unpublish.1 +52 -0
  561. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-update.1 +167 -0
  562. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-version.1 +162 -0
  563. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-view.1 +146 -0
  564. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm-whoami.1 +26 -0
  565. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npm.1 +205 -0
  566. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man1/npx.1 +168 -0
  567. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/npm-folders.5 +226 -0
  568. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/npm-global.5 +226 -0
  569. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/npm-json.5 +951 -0
  570. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/npm-package-locks.5 +184 -0
  571. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/npm-shrinkwrap.json.5 +33 -0
  572. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/npmrc.5 +109 -0
  573. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/package-lock.json.5 +145 -0
  574. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man5/package.json.5 +951 -0
  575. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-coding-style.7 +222 -0
  576. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-config.7 +1615 -0
  577. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-developers.7 +292 -0
  578. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-disputes.7 +150 -0
  579. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-index.7 +229 -0
  580. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-orgs.7 +147 -0
  581. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-registry.7 +97 -0
  582. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-scope.7 +137 -0
  583. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/npm-scripts.7 +323 -0
  584. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/removing-npm.7 +78 -0
  585. package/node-v8.11.1-linux-x64/lib/node_modules/npm/man/man7/semver.7 +458 -0
  586. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/.npmignore +2 -0
  587. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/.travis.yml +8 -0
  588. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/LICENSE.APACHE2 +15 -0
  589. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/LICENSE.MIT +24 -0
  590. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/examples/all_docs.js +13 -0
  591. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/index.js +253 -0
  592. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/package.json +75 -0
  593. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/JSONStream/readme.markdown +207 -0
  594. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/abbrev/LICENSE +46 -0
  595. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/abbrev/README.md +23 -0
  596. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/abbrev/abbrev.js +61 -0
  597. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansi-regex/index.js +10 -0
  598. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansi-regex/license +9 -0
  599. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansi-regex/readme.md +46 -0
  600. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansicolors/LICENSE +23 -0
  601. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansicolors/README.md +62 -0
  602. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansicolors/ansicolors.js +65 -0
  603. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansicolors/package.json +60 -0
  604. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansistyles/LICENSE +23 -0
  605. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansistyles/README.md +71 -0
  606. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansistyles/ansistyles.js +38 -0
  607. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ansistyles/package.json +60 -0
  608. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/aproba/LICENSE +14 -0
  609. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/aproba/README.md +94 -0
  610. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/aproba/index.js +105 -0
  611. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/archy/.travis.yml +4 -0
  612. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/archy/LICENSE +18 -0
  613. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/archy/README.markdown +88 -0
  614. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/archy/examples/beep.js +24 -0
  615. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/archy/examples/multi_line.js +25 -0
  616. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/archy/index.js +35 -0
  617. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/archy/package.json +87 -0
  618. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bin-links/CHANGELOG.md +22 -0
  619. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bin-links/LICENSE +235 -0
  620. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bin-links/README.md +47 -0
  621. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bin-links/index.js +187 -0
  622. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/LICENSE +21 -0
  623. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/README.md +52 -0
  624. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/changelog.md +1 -0
  625. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/browser/bluebird.core.js +3781 -0
  626. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/browser/bluebird.core.min.js +31 -0
  627. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/browser/bluebird.js +5623 -0
  628. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/browser/bluebird.min.js +31 -0
  629. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/any.js +21 -0
  630. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/assert.js +55 -0
  631. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/async.js +161 -0
  632. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/bind.js +67 -0
  633. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/bluebird.js +11 -0
  634. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/call_get.js +123 -0
  635. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/cancel.js +129 -0
  636. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/catch_filter.js +42 -0
  637. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/context.js +69 -0
  638. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/debuggability.js +919 -0
  639. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/direct_resolve.js +46 -0
  640. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/each.js +30 -0
  641. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/errors.js +116 -0
  642. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/es5.js +80 -0
  643. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/filter.js +12 -0
  644. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/finally.js +146 -0
  645. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/generators.js +223 -0
  646. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/join.js +168 -0
  647. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/map.js +168 -0
  648. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/method.js +55 -0
  649. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/nodeback.js +51 -0
  650. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/nodeify.js +58 -0
  651. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js +775 -0
  652. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js +185 -0
  653. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js +314 -0
  654. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/props.js +118 -0
  655. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/queue.js +73 -0
  656. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/race.js +49 -0
  657. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js +172 -0
  658. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/schedule.js +61 -0
  659. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/settle.js +43 -0
  660. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/some.js +148 -0
  661. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/synchronous_inspection.js +103 -0
  662. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js +86 -0
  663. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/timers.js +93 -0
  664. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/using.js +226 -0
  665. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/util.js +380 -0
  666. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/CHANGELOG.md +453 -0
  667. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/LICENSE.md +16 -0
  668. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/README.es.md +628 -0
  669. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/README.md +624 -0
  670. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/en.js +3 -0
  671. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/es.js +3 -0
  672. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/get.js +190 -0
  673. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/index.js +3 -0
  674. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/content/path.js +26 -0
  675. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/content/read.js +115 -0
  676. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/content/rm.js +21 -0
  677. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/content/write.js +162 -0
  678. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/entry-index.js +224 -0
  679. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/memoization.js +69 -0
  680. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/util/fix-owner.js +44 -0
  681. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/util/hash-to-segments.js +11 -0
  682. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/util/move-file.js +51 -0
  683. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/util/tmp.js +32 -0
  684. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/util/y.js +25 -0
  685. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/lib/verify.js +213 -0
  686. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/locales/en.js +44 -0
  687. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/locales/en.json +6 -0
  688. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/locales/es.js +46 -0
  689. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/locales/es.json +6 -0
  690. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/ls.js +6 -0
  691. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/put.js +71 -0
  692. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/rm.js +28 -0
  693. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cacache/verify.js +3 -0
  694. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/call-limit/README.md +85 -0
  695. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/call-limit/call-limit.js +86 -0
  696. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/chownr/LICENSE +15 -0
  697. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/chownr/README.md +3 -0
  698. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/chownr/chownr.js +52 -0
  699. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/.npmignore +5 -0
  700. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/.travis.yml +6 -0
  701. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/README.md +215 -0
  702. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/advanced-usage.md +247 -0
  703. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/basic-usage.md +146 -0
  704. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/examples/basic-usage-examples.js +222 -0
  705. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/examples/col-and-row-span-examples.js +358 -0
  706. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/examples/screenshots/basic-usage-with-colors.png +0 -0
  707. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/examples/screenshots/multi-line-colors.png +0 -0
  708. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/examples/screenshots/truncation-with-colors.png +0 -0
  709. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/gulpfile.js +73 -0
  710. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/index.js +1 -0
  711. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/lib/print-example.js +123 -0
  712. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/package.json +84 -0
  713. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/src/cell.js +364 -0
  714. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/src/layout-manager.js +235 -0
  715. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/src/table.js +78 -0
  716. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cli-table2/src/utils.js +304 -0
  717. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cmd-shim/.npmignore +16 -0
  718. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cmd-shim/.travis.yml +4 -0
  719. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cmd-shim/LICENSE +27 -0
  720. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cmd-shim/README.md +44 -0
  721. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cmd-shim/index.js +180 -0
  722. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/cmd-shim/package.json +53 -0
  723. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/LICENSE +21 -0
  724. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/Makefile +9 -0
  725. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/Readme.md +470 -0
  726. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/columnify.js +308 -0
  727. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/index.js +297 -0
  728. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/strip-ansi/index.js +6 -0
  729. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/strip-ansi/license +21 -0
  730. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/strip-ansi/readme.md +33 -0
  731. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/wcwidth/.npmignore +1 -0
  732. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/wcwidth/LICENSE +30 -0
  733. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/wcwidth/Readme.md +33 -0
  734. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/wcwidth/combining.js +50 -0
  735. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/wcwidth/docs/index.md +65 -0
  736. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/wcwidth/index.js +99 -0
  737. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/node_modules/wcwidth/package.json +76 -0
  738. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/package.json +81 -0
  739. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/utils.js +193 -0
  740. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/columnify/width.js +6 -0
  741. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/config-chain/.npmignore +3 -0
  742. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/config-chain/LICENCE +22 -0
  743. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/config-chain/index.js +282 -0
  744. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/config-chain/package.json +62 -0
  745. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/config-chain/readme.markdown +237 -0
  746. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/debuglog/LICENSE +19 -0
  747. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/debuglog/README.md +40 -0
  748. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/debuglog/debuglog.js +22 -0
  749. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/debuglog/package.json +58 -0
  750. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/detect-indent/index.js +122 -0
  751. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/detect-indent/license +21 -0
  752. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/detect-indent/readme.md +111 -0
  753. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/.travis.yml +7 -0
  754. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/LICENSE +15 -0
  755. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/README.md +29 -0
  756. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/dezalgo.js +22 -0
  757. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/CHANGES.md +64 -0
  758. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/LICENSE.md +21 -0
  759. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/README.md +237 -0
  760. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/asap.js +65 -0
  761. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/browser-asap.js +66 -0
  762. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/browser-raw.js +223 -0
  763. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/raw.js +101 -0
  764. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/dezalgo/package.json +76 -0
  765. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/editor/LICENSE +21 -0
  766. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/editor/README.markdown +54 -0
  767. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/editor/example/beep.json +5 -0
  768. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/editor/example/edit.js +4 -0
  769. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/editor/index.js +20 -0
  770. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/editor/package.json +67 -0
  771. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/find-npm-prefix/LICENSE +15 -0
  772. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/find-npm-prefix/README.md +28 -0
  773. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/find-npm-prefix/find-prefix.js +54 -0
  774. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/find-npm-prefix/package.json +59 -0
  775. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-vacuum/.eslintrc +18 -0
  776. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-vacuum/.npmignore +1 -0
  777. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-vacuum/.travis.yml +14 -0
  778. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-vacuum/LICENSE +13 -0
  779. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-vacuum/README.md +33 -0
  780. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-vacuum/package.json +68 -0
  781. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-vacuum/vacuum.js +117 -0
  782. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-write-stream-atomic/.npmignore +3 -0
  783. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-write-stream-atomic/.travis.yml +11 -0
  784. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-write-stream-atomic/LICENSE +15 -0
  785. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-write-stream-atomic/README.md +35 -0
  786. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-write-stream-atomic/index.js +176 -0
  787. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/fs-write-stream-atomic/package.json +67 -0
  788. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/gentle-fs/CHANGELOG.md +63 -0
  789. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/gentle-fs/LICENSE +235 -0
  790. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/gentle-fs/README.md +74 -0
  791. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/gentle-fs/index.js +10 -0
  792. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/gentle-fs/lib/link.js +66 -0
  793. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/gentle-fs/lib/rm.js +256 -0
  794. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/glob/LICENSE +15 -0
  795. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/glob/README.md +368 -0
  796. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/glob/changelog.md +67 -0
  797. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/glob/common.js +240 -0
  798. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/glob/glob.js +790 -0
  799. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/glob/sync.js +486 -0
  800. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/graceful-fs/LICENSE +15 -0
  801. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/graceful-fs/README.md +133 -0
  802. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/graceful-fs/fs.js +21 -0
  803. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js +262 -0
  804. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/graceful-fs/legacy-streams.js +118 -0
  805. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js +330 -0
  806. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/has-unicode/LICENSE +14 -0
  807. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/has-unicode/README.md +43 -0
  808. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/has-unicode/index.js +16 -0
  809. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/hosted-git-info/LICENSE +13 -0
  810. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/hosted-git-info/README.md +132 -0
  811. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/hosted-git-info/git-host-info.js +68 -0
  812. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js +114 -0
  813. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/hosted-git-info/index.js +121 -0
  814. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/iferr/.npmignore +1 -0
  815. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/iferr/LICENSE +21 -0
  816. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/iferr/README.md +40 -0
  817. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/iferr/index.coffee +24 -0
  818. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/iferr/index.js +49 -0
  819. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/iferr/package.json +61 -0
  820. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/imurmurhash/README.md +122 -0
  821. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/imurmurhash/imurmurhash.js +138 -0
  822. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/imurmurhash/imurmurhash.min.js +12 -0
  823. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/imurmurhash/package.json +69 -0
  824. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/inflight/LICENSE +15 -0
  825. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/inflight/README.md +37 -0
  826. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/inflight/inflight.js +54 -0
  827. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/inherits/LICENSE +16 -0
  828. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/inherits/README.md +42 -0
  829. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/inherits/inherits.js +7 -0
  830. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/inherits/inherits_browser.js +23 -0
  831. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ini/LICENSE +15 -0
  832. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ini/README.md +102 -0
  833. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ini/ini.js +190 -0
  834. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/init-package-json/LICENSE +15 -0
  835. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/init-package-json/README.md +45 -0
  836. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/init-package-json/default-input.js +239 -0
  837. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/init-package-json/init-package-json.js +154 -0
  838. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/.npmignore +1 -0
  839. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/.travis.yml +21 -0
  840. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/README.md +58 -0
  841. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/example/example.js +14 -0
  842. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/lib/index.js +18 -0
  843. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/node_modules/cidr-regex/.npmignore +1 -0
  844. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/node_modules/cidr-regex/README.md +49 -0
  845. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/node_modules/cidr-regex/lib/index.js +10 -0
  846. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/node_modules/cidr-regex/package.json +68 -0
  847. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/node_modules/cidr-regex/test.js +200 -0
  848. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/is-cidr/package.json +94 -0
  849. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lazy-property/.npmignore +16 -0
  850. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lazy-property/LICENSE +22 -0
  851. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lazy-property/README.md +44 -0
  852. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lazy-property/component.json +7 -0
  853. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lazy-property/lazyProperty.js +19 -0
  854. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lazy-property/package.json +65 -0
  855. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/CHANGELOG.md +740 -0
  856. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/LICENSE.md +3 -0
  857. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/README.md +159 -0
  858. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/auto-fallback.js +69 -0
  859. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/child.js +86 -0
  860. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/get-prefix.js +54 -0
  861. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/index.js +366 -0
  862. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/libnpx.1 +168 -0
  863. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/ar.json +29 -0
  864. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/ca.json +28 -0
  865. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/cs.json +28 -0
  866. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/de.json +29 -0
  867. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/en.json +29 -0
  868. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/es.json +28 -0
  869. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/fr.json +29 -0
  870. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/id.json +29 -0
  871. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/it.json +28 -0
  872. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/ja.json +28 -0
  873. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/ko.json +29 -0
  874. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/nb.json +29 -0
  875. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/nl.json +29 -0
  876. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/nn.json +30 -0
  877. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/no.json +29 -0
  878. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/pl.json +29 -0
  879. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/pt_BR.json +28 -0
  880. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/ro.json +28 -0
  881. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/ru.json +28 -0
  882. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/sr.json +29 -0
  883. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/tr.json +28 -0
  884. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/uk.json +29 -0
  885. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/zh_CN.json +28 -0
  886. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/locales/zh_TW.json +29 -0
  887. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/parse-args.js +237 -0
  888. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/util.js +17 -0
  889. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/libnpx/y.js +21 -0
  890. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/.npmignore +3 -0
  891. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/.travis.yml +8 -0
  892. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/CHANGELOG.md +101 -0
  893. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/LICENSE +15 -0
  894. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/README.md +86 -0
  895. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/gen-changelog.sh +9 -0
  896. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/lockfile.js +311 -0
  897. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lockfile/package.json +68 -0
  898. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseindexof/LICENSE.txt +22 -0
  899. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseindexof/README.md +20 -0
  900. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseindexof/index.js +57 -0
  901. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseindexof/package.json +80 -0
  902. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/LICENSE +47 -0
  903. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/README.md +18 -0
  904. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/index.js +801 -0
  905. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._createset/LICENSE +47 -0
  906. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._createset/README.md +18 -0
  907. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._createset/index.js +280 -0
  908. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._createset/package.json +70 -0
  909. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._root/LICENSE +23 -0
  910. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._root/README.md +18 -0
  911. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._root/index.js +59 -0
  912. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/node_modules/lodash._root/package.json +70 -0
  913. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._baseuniq/package.json +73 -0
  914. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._bindcallback/LICENSE.txt +22 -0
  915. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._bindcallback/README.md +20 -0
  916. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._bindcallback/index.js +65 -0
  917. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._bindcallback/package.json +80 -0
  918. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._cacheindexof/LICENSE.txt +22 -0
  919. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._cacheindexof/README.md +20 -0
  920. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._cacheindexof/index.js +53 -0
  921. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._cacheindexof/package.json +80 -0
  922. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._createcache/LICENSE +22 -0
  923. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._createcache/README.md +20 -0
  924. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._createcache/index.js +91 -0
  925. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._createcache/package.json +82 -0
  926. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._getnative/LICENSE +22 -0
  927. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._getnative/README.md +20 -0
  928. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._getnative/index.js +137 -0
  929. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash._getnative/package.json +81 -0
  930. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.clonedeep/LICENSE +47 -0
  931. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.clonedeep/README.md +18 -0
  932. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.clonedeep/index.js +1748 -0
  933. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.clonedeep/package.json +74 -0
  934. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.restparam/LICENSE.txt +22 -0
  935. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.restparam/README.md +20 -0
  936. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.restparam/index.js +67 -0
  937. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.restparam/package.json +86 -0
  938. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.union/LICENSE +47 -0
  939. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.union/README.md +18 -0
  940. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.union/index.js +1181 -0
  941. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.union/package.json +74 -0
  942. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.uniq/LICENSE +47 -0
  943. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.uniq/README.md +18 -0
  944. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.uniq/index.js +896 -0
  945. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.uniq/package.json +74 -0
  946. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.without/LICENSE +47 -0
  947. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.without/README.md +18 -0
  948. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.without/index.js +1051 -0
  949. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lodash.without/package.json +74 -0
  950. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lru-cache/LICENSE +15 -0
  951. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lru-cache/README.md +152 -0
  952. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/lru-cache/index.js +467 -0
  953. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/.npmignore +37 -0
  954. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/.travis.yml +16 -0
  955. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/CHANGELOG.md +29 -0
  956. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/LICENSE +21 -0
  957. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/README.md +67 -0
  958. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/index.js +49 -0
  959. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/package.json +56 -0
  960. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/meant/test.js +11 -0
  961. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mississippi/.npmignore +1 -0
  962. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mississippi/index.js +9 -0
  963. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mississippi/package.json +70 -0
  964. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mississippi/readme.md +394 -0
  965. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/.travis.yml +8 -0
  966. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/LICENSE +21 -0
  967. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/README.markdown +100 -0
  968. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/bin/cmd.js +33 -0
  969. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/bin/usage.txt +12 -0
  970. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/examples/pow.js +6 -0
  971. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/index.js +98 -0
  972. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
  973. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
  974. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
  975. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
  976. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/node_modules/minimist/package.json +75 -0
  977. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
  978. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/mkdirp/package.json +75 -0
  979. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/move-concurrently/LICENSE +14 -0
  980. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/move-concurrently/README.md +53 -0
  981. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/move-concurrently/move.js +84 -0
  982. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/.jshintrc +7 -0
  983. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/.npmignore +3 -0
  984. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/CHANGELOG.md +176 -0
  985. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/LICENSE +24 -0
  986. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/README.md +242 -0
  987. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi +133 -0
  988. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js +148 -0
  989. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/.npmignore +1 -0
  990. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/AUTHORS +12 -0
  991. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/DEPS +24 -0
  992. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/LICENSE +27 -0
  993. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/OWNERS +1 -0
  994. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/PRESUBMIT.py +137 -0
  995. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/buildbot/aosp_manifest.xml +466 -0
  996. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py +136 -0
  997. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/buildbot/commit_queue/OWNERS +6 -0
  998. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/buildbot/commit_queue/README +3 -0
  999. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/buildbot/commit_queue/cq_config.json +15 -0
  1000. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/codereview.settings +10 -0
  1001. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
  1002. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp +8 -0
  1003. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp.bat +5 -0
  1004. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py +16 -0
  1005. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyptest.py +274 -0
  1006. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +340 -0
  1007. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +208 -0
  1008. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1096 -0
  1009. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1483 -0
  1010. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +58 -0
  1011. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +147 -0
  1012. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
  1013. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +443 -0
  1014. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +548 -0
  1015. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py +608 -0
  1016. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +72 -0
  1017. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +162 -0
  1018. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +103 -0
  1019. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +54 -0
  1020. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  1021. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +741 -0
  1022. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1095 -0
  1023. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1221 -0
  1024. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +99 -0
  1025. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +425 -0
  1026. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +94 -0
  1027. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +56 -0
  1028. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2220 -0
  1029. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3494 -0
  1030. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +37 -0
  1031. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2410 -0
  1032. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +47 -0
  1033. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1300 -0
  1034. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +23 -0
  1035. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py +2897 -0
  1036. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +90 -0
  1037. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +610 -0
  1038. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1087 -0
  1039. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +160 -0
  1040. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/ordered_dict.py +289 -0
  1041. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +46 -0
  1042. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +314 -0
  1043. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1629 -0
  1044. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +270 -0
  1045. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +2927 -0
  1046. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +69 -0
  1047. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples +81 -0
  1048. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples.bat +5 -0
  1049. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/setup.py +19 -0
  1050. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/README +15 -0
  1051. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/README +5 -0
  1052. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.pbfilespec +27 -0
  1053. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.xclangspec +226 -0
  1054. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/README +12 -0
  1055. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el +63 -0
  1056. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el +275 -0
  1057. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh +7 -0
  1058. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp +1105 -0
  1059. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified +1107 -0
  1060. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/graphviz.py +100 -0
  1061. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py +155 -0
  1062. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py +169 -0
  1063. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +329 -0
  1064. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/Find-VS2017.cs +271 -0
  1065. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/build.js +266 -0
  1066. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/clean.js +22 -0
  1067. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js +523 -0
  1068. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/find-node-directory.js +61 -0
  1069. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/find-vs2017.js +46 -0
  1070. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/install.js +469 -0
  1071. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/list.js +33 -0
  1072. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js +216 -0
  1073. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/process-release.js +155 -0
  1074. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/rebuild.js +14 -0
  1075. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/remove.js +52 -0
  1076. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/package.json +89 -0
  1077. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/src/win_delay_load_hook.cc +36 -0
  1078. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/.npmignore +1 -0
  1079. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/.travis.yml +8 -0
  1080. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/CHANGELOG.md +58 -0
  1081. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/LICENSE +15 -0
  1082. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/README.md +213 -0
  1083. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/bin/nopt.js +54 -0
  1084. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/examples/my-program.js +30 -0
  1085. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/lib/nopt.js +436 -0
  1086. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/nopt/package.json +60 -0
  1087. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/AUTHORS +4 -0
  1088. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/LICENSE +30 -0
  1089. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/README.md +106 -0
  1090. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/lib/extract_description.js +14 -0
  1091. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js +417 -0
  1092. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/lib/make_warning.js +23 -0
  1093. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js +39 -0
  1094. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/lib/safe_format.js +9 -0
  1095. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/lib/typos.json +25 -0
  1096. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/normalize-package-data/lib/warning_messages.json +30 -0
  1097. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-cache-filename/LICENSE +15 -0
  1098. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-cache-filename/README.md +21 -0
  1099. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-cache-filename/index.js +24 -0
  1100. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-cache-filename/package.json +55 -0
  1101. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-cache-filename/test.js +23 -0
  1102. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-install-checks/CHANGELOG.md +10 -0
  1103. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-install-checks/LICENSE +27 -0
  1104. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-install-checks/README.md +27 -0
  1105. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-install-checks/index.js +144 -0
  1106. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-install-checks/package.json +63 -0
  1107. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/CHANGELOG.md +67 -0
  1108. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/LICENSE +235 -0
  1109. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/README.md +50 -0
  1110. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/index.js +448 -0
  1111. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js +65 -0
  1112. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp +6 -0
  1113. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp.cmd +5 -0
  1114. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-package-arg/LICENSE +15 -0
  1115. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-package-arg/README.md +83 -0
  1116. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-package-arg/npa.js +277 -0
  1117. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-packlist/LICENSE +15 -0
  1118. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-packlist/README.md +68 -0
  1119. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-packlist/index.js +220 -0
  1120. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-profile/LICENSE +15 -0
  1121. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-profile/README.md +428 -0
  1122. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-profile/index.js +260 -0
  1123. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/LICENSE +15 -0
  1124. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/README.md +357 -0
  1125. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/index.js +74 -0
  1126. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/access.js +154 -0
  1127. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/adduser.js +129 -0
  1128. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/attempt.js +20 -0
  1129. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/authify.js +26 -0
  1130. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/deprecate.js +42 -0
  1131. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/dist-tags/add.js +43 -0
  1132. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/dist-tags/fetch.js +37 -0
  1133. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/dist-tags/rm.js +38 -0
  1134. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/dist-tags/set.js +39 -0
  1135. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/dist-tags/update.js +39 -0
  1136. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/fetch.js +85 -0
  1137. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js +22 -0
  1138. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/initialize.js +91 -0
  1139. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/logout.js +23 -0
  1140. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/org.js +62 -0
  1141. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/ping.js +21 -0
  1142. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/publish.js +194 -0
  1143. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js +321 -0
  1144. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/send-anonymous-CLI-metrics.js +19 -0
  1145. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/star.js +51 -0
  1146. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/stars.js +18 -0
  1147. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/tag.js +23 -0
  1148. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/team.js +105 -0
  1149. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/unpublish.js +120 -0
  1150. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/whoami.js +21 -0
  1151. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-user-validate/LICENSE +27 -0
  1152. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-user-validate/README.md +6 -0
  1153. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npm-user-validate/npm-user-validate.js +57 -0
  1154. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npmlog/CHANGELOG.md +49 -0
  1155. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npmlog/LICENSE +15 -0
  1156. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npmlog/README.md +216 -0
  1157. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/npmlog/log.js +309 -0
  1158. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/once/LICENSE +15 -0
  1159. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/once/README.md +79 -0
  1160. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/once/once.js +42 -0
  1161. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/opener/LICENSE.txt +47 -0
  1162. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/opener/README.md +57 -0
  1163. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/opener/opener.js +60 -0
  1164. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/osenv/.npmignore +13 -0
  1165. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/osenv/.travis.yml +9 -0
  1166. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/osenv/LICENSE +15 -0
  1167. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/osenv/README.md +63 -0
  1168. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/osenv/osenv.js +72 -0
  1169. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/osenv/package.json +74 -0
  1170. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/osenv/x.tap +39 -0
  1171. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/CHANGELOG.md +919 -0
  1172. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/LICENSE +21 -0
  1173. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/README.md +201 -0
  1174. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/extract.js +100 -0
  1175. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/index.js +9 -0
  1176. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/extract-stream.js +50 -0
  1177. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetch.js +72 -0
  1178. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/directory.js +71 -0
  1179. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/file.js +74 -0
  1180. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/git.js +172 -0
  1181. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/hosted.js +3 -0
  1182. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/range.js +3 -0
  1183. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/check-warning-header.js +39 -0
  1184. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/fetch.js +109 -0
  1185. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/index.js +27 -0
  1186. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/manifest.js +148 -0
  1187. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/pick-registry.js +17 -0
  1188. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/registry-key.js +16 -0
  1189. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/tarball.js +85 -0
  1190. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/remote.js +30 -0
  1191. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/tag.js +3 -0
  1192. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/version.js +3 -0
  1193. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/finalize-manifest.js +250 -0
  1194. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/util/cache-key.js +6 -0
  1195. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/util/git.js +222 -0
  1196. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/util/gunzip-maybe.js +24 -0
  1197. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/util/opt-check.js +63 -0
  1198. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/util/pack-dir.js +44 -0
  1199. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/util/silentlog.js +13 -0
  1200. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/manifest.js +38 -0
  1201. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/prefetch.js +64 -0
  1202. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/pacote/tarball.js +95 -0
  1203. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/path-is-inside/LICENSE.txt +47 -0
  1204. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/path-is-inside/lib/path-is-inside.js +28 -0
  1205. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/promise-inflight/LICENSE +14 -0
  1206. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/promise-inflight/README.md +34 -0
  1207. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/promise-inflight/inflight.js +36 -0
  1208. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/.npmignore +2 -0
  1209. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/.travis.yml +3 -0
  1210. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/LICENSE +222 -0
  1211. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/README.md +81 -0
  1212. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js +68 -0
  1213. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/example/basic.js +2 -0
  1214. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/example/basic.png +0 -0
  1215. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/example/callback.js +4 -0
  1216. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/example/small-qrcode.js +6 -0
  1217. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/lib/main.js +100 -0
  1218. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/package.json +76 -0
  1219. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QR8bitByte.js +22 -0
  1220. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRBitBuffer.js +38 -0
  1221. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js +7 -0
  1222. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRMaskPattern.js +10 -0
  1223. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRMath.js +44 -0
  1224. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRMode.js +6 -0
  1225. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRPolynomial.js +66 -0
  1226. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRRSBlock.js +298 -0
  1227. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRUtil.js +272 -0
  1228. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/index.js +462 -0
  1229. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/query-string/index.js +210 -0
  1230. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/query-string/license +9 -0
  1231. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/query-string/readme.md +186 -0
  1232. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qw/LICENSE +14 -0
  1233. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qw/README.md +35 -0
  1234. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/qw/qw.js +43 -0
  1235. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read/LICENSE +15 -0
  1236. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read/README.md +53 -0
  1237. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read/lib/read.js +113 -0
  1238. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-cmd-shim/.npmignore +3 -0
  1239. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-cmd-shim/README.md +36 -0
  1240. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-cmd-shim/index.js +54 -0
  1241. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-cmd-shim/package.json +60 -0
  1242. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-installed/.npmignore +13 -0
  1243. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-installed/.travis.yml +9 -0
  1244. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-installed/LICENSE +16 -0
  1245. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-installed/README.md +27 -0
  1246. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-installed/package.json +67 -0
  1247. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-installed/read-installed.js +407 -0
  1248. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-package-json/LICENSE +15 -0
  1249. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-package-json/README.md +151 -0
  1250. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-package-json/read-json.js +440 -0
  1251. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-package-tree/LICENSE +15 -0
  1252. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-package-tree/README.md +68 -0
  1253. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/read-package-tree/rpt.js +237 -0
  1254. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/.npmignore +9 -0
  1255. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/.travis.yml +65 -0
  1256. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  1257. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/GOVERNANCE.md +136 -0
  1258. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/LICENSE +47 -0
  1259. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/README.md +57 -0
  1260. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  1261. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/duplex-browser.js +1 -0
  1262. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/duplex.js +1 -0
  1263. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_duplex.js +124 -0
  1264. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  1265. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js +1007 -0
  1266. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  1267. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js +664 -0
  1268. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/internal/streams/BufferList.js +74 -0
  1269. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/internal/streams/destroy.js +72 -0
  1270. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  1271. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  1272. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/core-util-is/LICENSE +19 -0
  1273. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/core-util-is/README.md +3 -0
  1274. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/core-util-is/float.patch +604 -0
  1275. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +107 -0
  1276. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/core-util-is/package.json +66 -0
  1277. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/core-util-is/test.js +68 -0
  1278. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/.npmignore +1 -0
  1279. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/.travis.yml +4 -0
  1280. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/Makefile +6 -0
  1281. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/README.md +60 -0
  1282. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/component.json +19 -0
  1283. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/index.js +5 -0
  1284. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/package.json +76 -0
  1285. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/isarray/test.js +20 -0
  1286. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml +12 -0
  1287. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/process-nextick-args/index.js +43 -0
  1288. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/process-nextick-args/license.md +19 -0
  1289. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/process-nextick-args/package.json +51 -0
  1290. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/process-nextick-args/readme.md +18 -0
  1291. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/process-nextick-args/test.js +24 -0
  1292. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/string_decoder/.npmignore +2 -0
  1293. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/string_decoder/LICENSE +48 -0
  1294. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/string_decoder/README.md +28 -0
  1295. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js +272 -0
  1296. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/string_decoder/package.json +56 -0
  1297. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/util-deprecate/History.md +16 -0
  1298. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/util-deprecate/LICENSE +24 -0
  1299. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/util-deprecate/README.md +53 -0
  1300. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/util-deprecate/browser.js +67 -0
  1301. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/util-deprecate/node.js +6 -0
  1302. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/node_modules/util-deprecate/package.json +61 -0
  1303. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/package.json +103 -0
  1304. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/passthrough.js +1 -0
  1305. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/readable-browser.js +7 -0
  1306. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/readable.js +19 -0
  1307. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/transform.js +1 -0
  1308. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/writable-browser.js +1 -0
  1309. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readable-stream/writable.js +8 -0
  1310. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readdir-scoped-modules/.travis.yml +7 -0
  1311. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readdir-scoped-modules/LICENSE +15 -0
  1312. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readdir-scoped-modules/README.md +17 -0
  1313. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readdir-scoped-modules/package.json +65 -0
  1314. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/readdir-scoped-modules/readdir.js +71 -0
  1315. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/CHANGELOG.md +674 -0
  1316. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/LICENSE +55 -0
  1317. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/README.md +1097 -0
  1318. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/index.js +155 -0
  1319. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/auth.js +167 -0
  1320. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/cookies.js +38 -0
  1321. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/getProxyFromURI.js +79 -0
  1322. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/har.js +205 -0
  1323. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/helpers.js +66 -0
  1324. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/multipart.js +112 -0
  1325. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/oauth.js +148 -0
  1326. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/querystring.js +50 -0
  1327. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/redirect.js +154 -0
  1328. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/lib/tunnel.js +175 -0
  1329. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/request/request.js +1552 -0
  1330. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/.npmignore +2 -0
  1331. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/License +21 -0
  1332. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/Makefile +22 -0
  1333. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/Readme.md +215 -0
  1334. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/equation.gif +0 -0
  1335. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/example/dns.js +31 -0
  1336. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/example/stop.js +40 -0
  1337. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/index.js +1 -0
  1338. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/lib/retry.js +99 -0
  1339. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/lib/retry_operation.js +143 -0
  1340. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/retry/package.json +61 -0
  1341. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/rimraf/LICENSE +15 -0
  1342. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/rimraf/README.md +101 -0
  1343. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/rimraf/bin.js +50 -0
  1344. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/rimraf/rimraf.js +364 -0
  1345. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/safe-buffer/.travis.yml +7 -0
  1346. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/safe-buffer/LICENSE +21 -0
  1347. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/safe-buffer/README.md +584 -0
  1348. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/safe-buffer/index.js +62 -0
  1349. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/safe-buffer/package.json +68 -0
  1350. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/safe-buffer/test.js +101 -0
  1351. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/semver/LICENSE +15 -0
  1352. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/semver/README.md +366 -0
  1353. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/semver/bin/semver +133 -0
  1354. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/semver/range.bnf +16 -0
  1355. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/semver/semver.js +1296 -0
  1356. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sha/.npmignore +4 -0
  1357. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sha/LICENSE +46 -0
  1358. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sha/README.md +49 -0
  1359. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sha/index.js +107 -0
  1360. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sha/package.json +52 -0
  1361. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/LICENSE +15 -0
  1362. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/README.md +143 -0
  1363. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/index.js +1 -0
  1364. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/lib/async-map-ordered.js +65 -0
  1365. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/lib/async-map.js +54 -0
  1366. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js +16 -0
  1367. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/lib/chain.js +20 -0
  1368. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/lib/slide.js +3 -0
  1369. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/slide/package.json +63 -0
  1370. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-object/LICENSE.txt +47 -0
  1371. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-object/lib/sorted-object.js +11 -0
  1372. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/.npmignore +1 -0
  1373. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/.travis.yml +5 -0
  1374. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/LICENSE +21 -0
  1375. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/README.md +80 -0
  1376. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/example.js +15 -0
  1377. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/index.js +59 -0
  1378. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/package.json +66 -0
  1379. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/sorted-union-stream/test.js +154 -0
  1380. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ssri/CHANGELOG.md +190 -0
  1381. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ssri/LICENSE.md +16 -0
  1382. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ssri/README.md +462 -0
  1383. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/ssri/index.js +334 -0
  1384. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/strip-ansi/index.js +4 -0
  1385. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/strip-ansi/license +9 -0
  1386. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/strip-ansi/readme.md +39 -0
  1387. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/LICENSE +15 -0
  1388. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/README.md +883 -0
  1389. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/index.js +18 -0
  1390. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/create.js +110 -0
  1391. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/extract.js +127 -0
  1392. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/header.js +272 -0
  1393. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/high-level-opt.js +29 -0
  1394. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/large-numbers.js +92 -0
  1395. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/list.js +132 -0
  1396. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/mkdir.js +207 -0
  1397. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/pack.js +399 -0
  1398. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/parse.js +415 -0
  1399. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/pax.js +145 -0
  1400. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/read-entry.js +94 -0
  1401. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/replace.js +211 -0
  1402. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/types.js +44 -0
  1403. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/unpack.js +481 -0
  1404. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/update.js +36 -0
  1405. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/warn-mixin.js +14 -0
  1406. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/winchars.js +23 -0
  1407. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/tar/lib/write-entry.js +395 -0
  1408. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/.travis.yml +4 -0
  1409. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/LICENSE +18 -0
  1410. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/example/align.js +8 -0
  1411. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/example/center.js +8 -0
  1412. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/example/dotalign.js +9 -0
  1413. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/example/doubledot.js +11 -0
  1414. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/example/table.js +6 -0
  1415. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/index.js +86 -0
  1416. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/package.json +78 -0
  1417. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/text-table/readme.markdown +134 -0
  1418. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uid-number/LICENSE +15 -0
  1419. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uid-number/README.md +17 -0
  1420. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uid-number/get-uid-gid.js +24 -0
  1421. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uid-number/package.json +53 -0
  1422. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uid-number/uid-number.js +59 -0
  1423. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/umask/.npmignore +28 -0
  1424. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/umask/ChangeLog +9 -0
  1425. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/umask/LICENSE +22 -0
  1426. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/umask/README.md +78 -0
  1427. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/umask/index.js +77 -0
  1428. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/umask/package.json +60 -0
  1429. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/.npmignore +5 -0
  1430. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/README.md +33 -0
  1431. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/__root__/index.html +73 -0
  1432. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/__root__/index.js.html +69 -0
  1433. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/base.css +182 -0
  1434. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/index.html +73 -0
  1435. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/prettify.css +1 -0
  1436. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/prettify.js +1 -0
  1437. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/sort-arrow-sprite.png +0 -0
  1438. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/coverage/sorter.js +156 -0
  1439. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/index.js +8 -0
  1440. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unique-filename/package.json +63 -0
  1441. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unpipe/HISTORY.md +4 -0
  1442. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unpipe/LICENSE +22 -0
  1443. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unpipe/README.md +43 -0
  1444. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/unpipe/index.js +69 -0
  1445. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/update-notifier/check.js +22 -0
  1446. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/update-notifier/index.js +151 -0
  1447. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/update-notifier/readme.md +184 -0
  1448. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/.eslintrc.json +46 -0
  1449. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/AUTHORS +5 -0
  1450. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/HISTORY.md +28 -0
  1451. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/LICENSE.md +21 -0
  1452. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/README.md +227 -0
  1453. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/bin/uuid +50 -0
  1454. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/index.js +8 -0
  1455. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/lib/bytesToUuid.js +23 -0
  1456. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/lib/rng-browser.js +33 -0
  1457. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/lib/rng.js +10 -0
  1458. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/lib/sha1-browser.js +85 -0
  1459. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/lib/sha1.js +21 -0
  1460. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/package.json +82 -0
  1461. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/v1.js +100 -0
  1462. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/v4.js +29 -0
  1463. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/uuid/v5.js +42 -0
  1464. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/LICENSE +174 -0
  1465. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/README.md +113 -0
  1466. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js +84 -0
  1467. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/LICENSE +57 -0
  1468. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/README.md +10 -0
  1469. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/index.js +237 -0
  1470. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/LICENSE +24 -0
  1471. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/README.md +55 -0
  1472. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/spdx-license-ids.json +334 -0
  1473. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json +66 -0
  1474. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/AUTHORS +3 -0
  1475. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/LICENSE +22 -0
  1476. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/README.md +83 -0
  1477. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js +5 -0
  1478. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js +1357 -0
  1479. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-license/package.json +66 -0
  1480. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-name/.npmignore +1 -0
  1481. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-name/.travis.yml +6 -0
  1482. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-name/LICENSE +6 -0
  1483. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-name/README.md +120 -0
  1484. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js +105 -0
  1485. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/validate-npm-package-name/package.json +70 -0
  1486. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/which/CHANGELOG.md +147 -0
  1487. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/which/LICENSE +15 -0
  1488. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/which/README.md +51 -0
  1489. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/which/bin/which +52 -0
  1490. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/which/which.js +135 -0
  1491. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/.travis.yml +11 -0
  1492. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/LICENSE.md +13 -0
  1493. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/README.md +144 -0
  1494. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/examples/basic/child.js +5 -0
  1495. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/examples/basic/index.js +13 -0
  1496. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/examples/pi/calc.js +22 -0
  1497. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/examples/pi/index.js +41 -0
  1498. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/index.d.ts +44 -0
  1499. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/lib/child/index.js +52 -0
  1500. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js +339 -0
  1501. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/lib/fork.js +32 -0
  1502. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/lib/index.js +34 -0
  1503. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/.npmignore +1 -0
  1504. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/README.md +141 -0
  1505. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/build.js +43 -0
  1506. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/cli.js +20 -0
  1507. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/custom.js +55 -0
  1508. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/errno.js +313 -0
  1509. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/package.json +60 -0
  1510. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/errno/test.js +31 -0
  1511. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/.npmignore +1 -0
  1512. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/LICENCE +19 -0
  1513. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/Makefile +4 -0
  1514. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/README.md +32 -0
  1515. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/immutable.js +19 -0
  1516. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/mutable.js +17 -0
  1517. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/package.json +43 -0
  1518. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/node_modules/xtend/test.js +83 -0
  1519. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/worker-farm/package.json +61 -0
  1520. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/wrappy/LICENSE +15 -0
  1521. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/wrappy/README.md +36 -0
  1522. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/wrappy/wrappy.js +33 -0
  1523. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/write-file-atomic/LICENSE +6 -0
  1524. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/write-file-atomic/README.md +47 -0
  1525. package/node-v8.11.1-linux-x64/lib/node_modules/npm/node_modules/write-file-atomic/index.js +134 -0
  1526. package/node-v8.11.1-linux-x64/lib/node_modules/npm/package.json +265 -0
  1527. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/changelog.js +101 -0
  1528. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/clean-old.sh +165 -0
  1529. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/dep-update +6 -0
  1530. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/dev-dep-update +6 -0
  1531. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/doc-build.sh +67 -0
  1532. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/gen-changelog +7 -0
  1533. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/index-build.js +58 -0
  1534. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/install.sh +241 -0
  1535. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/maketest +94 -0
  1536. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/publish-tag.js +3 -0
  1537. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/release.sh +36 -0
  1538. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/relocate.sh +26 -0
  1539. package/node-v8.11.1-linux-x64/lib/node_modules/npm/scripts/update-authors.sh +9 -0
  1540. package/node-v8.11.1-linux-x64/share/doc/node/gdbinit +161 -0
  1541. package/node-v8.11.1-linux-x64/share/doc/node/lldb_commands.py +72 -0
  1542. package/node-v8.11.1-linux-x64/share/doc/node/lldbinit +31 -0
  1543. package/node-v8.11.1-linux-x64/share/man/man1/node.1 +372 -0
  1544. package/node-v8.11.1-linux-x64/share/systemtap/tapset/node.stp +146 -0
  1545. package/node-v8.11.1-linux-x64.tar.xz +0 -0
  1546. package/package.json +53 -0
@@ -0,0 +1,2410 @@
1
+ # Copyright (c) 2013 Google Inc. All rights reserved.
2
+ # Use of this source code is governed by a BSD-style license that can be
3
+ # found in the LICENSE file.
4
+
5
+ import collections
6
+ import copy
7
+ import hashlib
8
+ import json
9
+ import multiprocessing
10
+ import os.path
11
+ import re
12
+ import signal
13
+ import subprocess
14
+ import sys
15
+ import gyp
16
+ import gyp.common
17
+ from gyp.common import OrderedSet
18
+ import gyp.msvs_emulation
19
+ import gyp.MSVSUtil as MSVSUtil
20
+ import gyp.xcode_emulation
21
+ from cStringIO import StringIO
22
+
23
+ from gyp.common import GetEnvironFallback
24
+ import gyp.ninja_syntax as ninja_syntax
25
+
26
+ generator_default_variables = {
27
+ 'EXECUTABLE_PREFIX': '',
28
+ 'EXECUTABLE_SUFFIX': '',
29
+ 'STATIC_LIB_PREFIX': 'lib',
30
+ 'STATIC_LIB_SUFFIX': '.a',
31
+ 'SHARED_LIB_PREFIX': 'lib',
32
+
33
+ # Gyp expects the following variables to be expandable by the build
34
+ # system to the appropriate locations. Ninja prefers paths to be
35
+ # known at gyp time. To resolve this, introduce special
36
+ # variables starting with $! and $| (which begin with a $ so gyp knows it
37
+ # should be treated specially, but is otherwise an invalid
38
+ # ninja/shell variable) that are passed to gyp here but expanded
39
+ # before writing out into the target .ninja files; see
40
+ # ExpandSpecial.
41
+ # $! is used for variables that represent a path and that can only appear at
42
+ # the start of a string, while $| is used for variables that can appear
43
+ # anywhere in a string.
44
+ 'INTERMEDIATE_DIR': '$!INTERMEDIATE_DIR',
45
+ 'SHARED_INTERMEDIATE_DIR': '$!PRODUCT_DIR/gen',
46
+ 'PRODUCT_DIR': '$!PRODUCT_DIR',
47
+ 'CONFIGURATION_NAME': '$|CONFIGURATION_NAME',
48
+
49
+ # Special variables that may be used by gyp 'rule' targets.
50
+ # We generate definitions for these variables on the fly when processing a
51
+ # rule.
52
+ 'RULE_INPUT_ROOT': '${root}',
53
+ 'RULE_INPUT_DIRNAME': '${dirname}',
54
+ 'RULE_INPUT_PATH': '${source}',
55
+ 'RULE_INPUT_EXT': '${ext}',
56
+ 'RULE_INPUT_NAME': '${name}',
57
+ }
58
+
59
+ # Placates pylint.
60
+ generator_additional_non_configuration_keys = []
61
+ generator_additional_path_sections = []
62
+ generator_extra_sources_for_rules = []
63
+ generator_filelist_paths = None
64
+
65
+ generator_supports_multiple_toolsets = gyp.common.CrossCompileRequested()
66
+
67
+ def StripPrefix(arg, prefix):
68
+ if arg.startswith(prefix):
69
+ return arg[len(prefix):]
70
+ return arg
71
+
72
+
73
+ def QuoteShellArgument(arg, flavor):
74
+ """Quote a string such that it will be interpreted as a single argument
75
+ by the shell."""
76
+ # Rather than attempting to enumerate the bad shell characters, just
77
+ # whitelist common OK ones and quote anything else.
78
+ if re.match(r'^[a-zA-Z0-9_=.\\/-]+$', arg):
79
+ return arg # No quoting necessary.
80
+ if flavor == 'win':
81
+ return gyp.msvs_emulation.QuoteForRspFile(arg)
82
+ return "'" + arg.replace("'", "'" + '"\'"' + "'") + "'"
83
+
84
+
85
+ def Define(d, flavor):
86
+ """Takes a preprocessor define and returns a -D parameter that's ninja- and
87
+ shell-escaped."""
88
+ if flavor == 'win':
89
+ # cl.exe replaces literal # characters with = in preprocesor definitions for
90
+ # some reason. Octal-encode to work around that.
91
+ d = d.replace('#', '\\%03o' % ord('#'))
92
+ return QuoteShellArgument(ninja_syntax.escape('-D' + d), flavor)
93
+
94
+
95
+ def AddArch(output, arch):
96
+ """Adds an arch string to an output path."""
97
+ output, extension = os.path.splitext(output)
98
+ return '%s.%s%s' % (output, arch, extension)
99
+
100
+
101
+ class Target(object):
102
+ """Target represents the paths used within a single gyp target.
103
+
104
+ Conceptually, building a single target A is a series of steps:
105
+
106
+ 1) actions/rules/copies generates source/resources/etc.
107
+ 2) compiles generates .o files
108
+ 3) link generates a binary (library/executable)
109
+ 4) bundle merges the above in a mac bundle
110
+
111
+ (Any of these steps can be optional.)
112
+
113
+ From a build ordering perspective, a dependent target B could just
114
+ depend on the last output of this series of steps.
115
+
116
+ But some dependent commands sometimes need to reach inside the box.
117
+ For example, when linking B it needs to get the path to the static
118
+ library generated by A.
119
+
120
+ This object stores those paths. To keep things simple, member
121
+ variables only store concrete paths to single files, while methods
122
+ compute derived values like "the last output of the target".
123
+ """
124
+ def __init__(self, type):
125
+ # Gyp type ("static_library", etc.) of this target.
126
+ self.type = type
127
+ # File representing whether any input dependencies necessary for
128
+ # dependent actions have completed.
129
+ self.preaction_stamp = None
130
+ # File representing whether any input dependencies necessary for
131
+ # dependent compiles have completed.
132
+ self.precompile_stamp = None
133
+ # File representing the completion of actions/rules/copies, if any.
134
+ self.actions_stamp = None
135
+ # Path to the output of the link step, if any.
136
+ self.binary = None
137
+ # Path to the file representing the completion of building the bundle,
138
+ # if any.
139
+ self.bundle = None
140
+ # On Windows, incremental linking requires linking against all the .objs
141
+ # that compose a .lib (rather than the .lib itself). That list is stored
142
+ # here. In this case, we also need to save the compile_deps for the target,
143
+ # so that the the target that directly depends on the .objs can also depend
144
+ # on those.
145
+ self.component_objs = None
146
+ self.compile_deps = None
147
+ # Windows only. The import .lib is the output of a build step, but
148
+ # because dependents only link against the lib (not both the lib and the
149
+ # dll) we keep track of the import library here.
150
+ self.import_lib = None
151
+
152
+ def Linkable(self):
153
+ """Return true if this is a target that can be linked against."""
154
+ return self.type in ('static_library', 'shared_library')
155
+
156
+ def UsesToc(self, flavor):
157
+ """Return true if the target should produce a restat rule based on a TOC
158
+ file."""
159
+ # For bundles, the .TOC should be produced for the binary, not for
160
+ # FinalOutput(). But the naive approach would put the TOC file into the
161
+ # bundle, so don't do this for bundles for now.
162
+ if flavor == 'win' or self.bundle:
163
+ return False
164
+ return self.type in ('shared_library', 'loadable_module')
165
+
166
+ def PreActionInput(self, flavor):
167
+ """Return the path, if any, that should be used as a dependency of
168
+ any dependent action step."""
169
+ if self.UsesToc(flavor):
170
+ return self.FinalOutput() + '.TOC'
171
+ return self.FinalOutput() or self.preaction_stamp
172
+
173
+ def PreCompileInput(self):
174
+ """Return the path, if any, that should be used as a dependency of
175
+ any dependent compile step."""
176
+ return self.actions_stamp or self.precompile_stamp
177
+
178
+ def FinalOutput(self):
179
+ """Return the last output of the target, which depends on all prior
180
+ steps."""
181
+ return self.bundle or self.binary or self.actions_stamp
182
+
183
+
184
+ # A small discourse on paths as used within the Ninja build:
185
+ # All files we produce (both at gyp and at build time) appear in the
186
+ # build directory (e.g. out/Debug).
187
+ #
188
+ # Paths within a given .gyp file are always relative to the directory
189
+ # containing the .gyp file. Call these "gyp paths". This includes
190
+ # sources as well as the starting directory a given gyp rule/action
191
+ # expects to be run from. We call the path from the source root to
192
+ # the gyp file the "base directory" within the per-.gyp-file
193
+ # NinjaWriter code.
194
+ #
195
+ # All paths as written into the .ninja files are relative to the build
196
+ # directory. Call these paths "ninja paths".
197
+ #
198
+ # We translate between these two notions of paths with two helper
199
+ # functions:
200
+ #
201
+ # - GypPathToNinja translates a gyp path (i.e. relative to the .gyp file)
202
+ # into the equivalent ninja path.
203
+ #
204
+ # - GypPathToUniqueOutput translates a gyp path into a ninja path to write
205
+ # an output file; the result can be namespaced such that it is unique
206
+ # to the input file name as well as the output target name.
207
+
208
+ class NinjaWriter(object):
209
+ def __init__(self, hash_for_rules, target_outputs, base_dir, build_dir,
210
+ output_file, toplevel_build, output_file_name, flavor,
211
+ toplevel_dir=None):
212
+ """
213
+ base_dir: path from source root to directory containing this gyp file,
214
+ by gyp semantics, all input paths are relative to this
215
+ build_dir: path from source root to build output
216
+ toplevel_dir: path to the toplevel directory
217
+ """
218
+
219
+ self.hash_for_rules = hash_for_rules
220
+ self.target_outputs = target_outputs
221
+ self.base_dir = base_dir
222
+ self.build_dir = build_dir
223
+ self.ninja = ninja_syntax.Writer(output_file)
224
+ self.toplevel_build = toplevel_build
225
+ self.output_file_name = output_file_name
226
+
227
+ self.flavor = flavor
228
+ self.abs_build_dir = None
229
+ if toplevel_dir is not None:
230
+ self.abs_build_dir = os.path.abspath(os.path.join(toplevel_dir,
231
+ build_dir))
232
+ self.obj_ext = '.obj' if flavor == 'win' else '.o'
233
+ if flavor == 'win':
234
+ # See docstring of msvs_emulation.GenerateEnvironmentFiles().
235
+ self.win_env = {}
236
+ for arch in ('x86', 'x64'):
237
+ self.win_env[arch] = 'environment.' + arch
238
+
239
+ # Relative path from build output dir to base dir.
240
+ build_to_top = gyp.common.InvertRelativePath(build_dir, toplevel_dir)
241
+ self.build_to_base = os.path.join(build_to_top, base_dir)
242
+ # Relative path from base dir to build dir.
243
+ base_to_top = gyp.common.InvertRelativePath(base_dir, toplevel_dir)
244
+ self.base_to_build = os.path.join(base_to_top, build_dir)
245
+
246
+ def ExpandSpecial(self, path, product_dir=None):
247
+ """Expand specials like $!PRODUCT_DIR in |path|.
248
+
249
+ If |product_dir| is None, assumes the cwd is already the product
250
+ dir. Otherwise, |product_dir| is the relative path to the product
251
+ dir.
252
+ """
253
+
254
+ PRODUCT_DIR = '$!PRODUCT_DIR'
255
+ if PRODUCT_DIR in path:
256
+ if product_dir:
257
+ path = path.replace(PRODUCT_DIR, product_dir)
258
+ else:
259
+ path = path.replace(PRODUCT_DIR + '/', '')
260
+ path = path.replace(PRODUCT_DIR + '\\', '')
261
+ path = path.replace(PRODUCT_DIR, '.')
262
+
263
+ INTERMEDIATE_DIR = '$!INTERMEDIATE_DIR'
264
+ if INTERMEDIATE_DIR in path:
265
+ int_dir = self.GypPathToUniqueOutput('gen')
266
+ # GypPathToUniqueOutput generates a path relative to the product dir,
267
+ # so insert product_dir in front if it is provided.
268
+ path = path.replace(INTERMEDIATE_DIR,
269
+ os.path.join(product_dir or '', int_dir))
270
+
271
+ CONFIGURATION_NAME = '$|CONFIGURATION_NAME'
272
+ path = path.replace(CONFIGURATION_NAME, self.config_name)
273
+
274
+ return path
275
+
276
+ def ExpandRuleVariables(self, path, root, dirname, source, ext, name):
277
+ if self.flavor == 'win':
278
+ path = self.msvs_settings.ConvertVSMacros(
279
+ path, config=self.config_name)
280
+ path = path.replace(generator_default_variables['RULE_INPUT_ROOT'], root)
281
+ path = path.replace(generator_default_variables['RULE_INPUT_DIRNAME'],
282
+ dirname)
283
+ path = path.replace(generator_default_variables['RULE_INPUT_PATH'], source)
284
+ path = path.replace(generator_default_variables['RULE_INPUT_EXT'], ext)
285
+ path = path.replace(generator_default_variables['RULE_INPUT_NAME'], name)
286
+ return path
287
+
288
+ def GypPathToNinja(self, path, env=None):
289
+ """Translate a gyp path to a ninja path, optionally expanding environment
290
+ variable references in |path| with |env|.
291
+
292
+ See the above discourse on path conversions."""
293
+ if env:
294
+ if self.flavor == 'mac':
295
+ path = gyp.xcode_emulation.ExpandEnvVars(path, env)
296
+ elif self.flavor == 'win':
297
+ path = gyp.msvs_emulation.ExpandMacros(path, env)
298
+ if path.startswith('$!'):
299
+ expanded = self.ExpandSpecial(path)
300
+ if self.flavor == 'win':
301
+ expanded = os.path.normpath(expanded)
302
+ return expanded
303
+ if '$|' in path:
304
+ path = self.ExpandSpecial(path)
305
+ assert '$' not in path, path
306
+ return os.path.normpath(os.path.join(self.build_to_base, path))
307
+
308
+ def GypPathToUniqueOutput(self, path, qualified=True):
309
+ """Translate a gyp path to a ninja path for writing output.
310
+
311
+ If qualified is True, qualify the resulting filename with the name
312
+ of the target. This is necessary when e.g. compiling the same
313
+ path twice for two separate output targets.
314
+
315
+ See the above discourse on path conversions."""
316
+
317
+ path = self.ExpandSpecial(path)
318
+ assert not path.startswith('$'), path
319
+
320
+ # Translate the path following this scheme:
321
+ # Input: foo/bar.gyp, target targ, references baz/out.o
322
+ # Output: obj/foo/baz/targ.out.o (if qualified)
323
+ # obj/foo/baz/out.o (otherwise)
324
+ # (and obj.host instead of obj for cross-compiles)
325
+ #
326
+ # Why this scheme and not some other one?
327
+ # 1) for a given input, you can compute all derived outputs by matching
328
+ # its path, even if the input is brought via a gyp file with '..'.
329
+ # 2) simple files like libraries and stamps have a simple filename.
330
+
331
+ obj = 'obj'
332
+ if self.toolset != 'target':
333
+ obj += '.' + self.toolset
334
+
335
+ path_dir, path_basename = os.path.split(path)
336
+ assert not os.path.isabs(path_dir), (
337
+ "'%s' can not be absolute path (see crbug.com/462153)." % path_dir)
338
+
339
+ if qualified:
340
+ path_basename = self.name + '.' + path_basename
341
+ return os.path.normpath(os.path.join(obj, self.base_dir, path_dir,
342
+ path_basename))
343
+
344
+ def WriteCollapsedDependencies(self, name, targets, order_only=None):
345
+ """Given a list of targets, return a path for a single file
346
+ representing the result of building all the targets or None.
347
+
348
+ Uses a stamp file if necessary."""
349
+
350
+ assert targets == filter(None, targets), targets
351
+ if len(targets) == 0:
352
+ assert not order_only
353
+ return None
354
+ if len(targets) > 1 or order_only:
355
+ stamp = self.GypPathToUniqueOutput(name + '.stamp')
356
+ targets = self.ninja.build(stamp, 'stamp', targets, order_only=order_only)
357
+ self.ninja.newline()
358
+ return targets[0]
359
+
360
+ def _SubninjaNameForArch(self, arch):
361
+ output_file_base = os.path.splitext(self.output_file_name)[0]
362
+ return '%s.%s.ninja' % (output_file_base, arch)
363
+
364
+ def WriteSpec(self, spec, config_name, generator_flags):
365
+ """The main entry point for NinjaWriter: write the build rules for a spec.
366
+
367
+ Returns a Target object, which represents the output paths for this spec.
368
+ Returns None if there are no outputs (e.g. a settings-only 'none' type
369
+ target)."""
370
+
371
+ self.config_name = config_name
372
+ self.name = spec['target_name']
373
+ self.toolset = spec['toolset']
374
+ config = spec['configurations'][config_name]
375
+ self.target = Target(spec['type'])
376
+ self.is_standalone_static_library = bool(
377
+ spec.get('standalone_static_library', 0))
378
+ # Track if this target contains any C++ files, to decide if gcc or g++
379
+ # should be used for linking.
380
+ self.uses_cpp = False
381
+
382
+ self.is_mac_bundle = gyp.xcode_emulation.IsMacBundle(self.flavor, spec)
383
+ self.xcode_settings = self.msvs_settings = None
384
+ if self.flavor == 'mac':
385
+ self.xcode_settings = gyp.xcode_emulation.XcodeSettings(spec)
386
+ if self.flavor == 'win':
387
+ self.msvs_settings = gyp.msvs_emulation.MsvsSettings(spec,
388
+ generator_flags)
389
+ arch = self.msvs_settings.GetArch(config_name)
390
+ self.ninja.variable('arch', self.win_env[arch])
391
+ self.ninja.variable('cc', '$cl_' + arch)
392
+ self.ninja.variable('cxx', '$cl_' + arch)
393
+ self.ninja.variable('cc_host', '$cl_' + arch)
394
+ self.ninja.variable('cxx_host', '$cl_' + arch)
395
+ self.ninja.variable('asm', '$ml_' + arch)
396
+
397
+ if self.flavor == 'mac':
398
+ self.archs = self.xcode_settings.GetActiveArchs(config_name)
399
+ if len(self.archs) > 1:
400
+ self.arch_subninjas = dict(
401
+ (arch, ninja_syntax.Writer(
402
+ OpenOutput(os.path.join(self.toplevel_build,
403
+ self._SubninjaNameForArch(arch)),
404
+ 'w')))
405
+ for arch in self.archs)
406
+
407
+ # Compute predepends for all rules.
408
+ # actions_depends is the dependencies this target depends on before running
409
+ # any of its action/rule/copy steps.
410
+ # compile_depends is the dependencies this target depends on before running
411
+ # any of its compile steps.
412
+ actions_depends = []
413
+ compile_depends = []
414
+ # TODO(evan): it is rather confusing which things are lists and which
415
+ # are strings. Fix these.
416
+ if 'dependencies' in spec:
417
+ for dep in spec['dependencies']:
418
+ if dep in self.target_outputs:
419
+ target = self.target_outputs[dep]
420
+ actions_depends.append(target.PreActionInput(self.flavor))
421
+ compile_depends.append(target.PreCompileInput())
422
+ actions_depends = filter(None, actions_depends)
423
+ compile_depends = filter(None, compile_depends)
424
+ actions_depends = self.WriteCollapsedDependencies('actions_depends',
425
+ actions_depends)
426
+ compile_depends = self.WriteCollapsedDependencies('compile_depends',
427
+ compile_depends)
428
+ self.target.preaction_stamp = actions_depends
429
+ self.target.precompile_stamp = compile_depends
430
+
431
+ # Write out actions, rules, and copies. These must happen before we
432
+ # compile any sources, so compute a list of predependencies for sources
433
+ # while we do it.
434
+ extra_sources = []
435
+ mac_bundle_depends = []
436
+ self.target.actions_stamp = self.WriteActionsRulesCopies(
437
+ spec, extra_sources, actions_depends, mac_bundle_depends)
438
+
439
+ # If we have actions/rules/copies, we depend directly on those, but
440
+ # otherwise we depend on dependent target's actions/rules/copies etc.
441
+ # We never need to explicitly depend on previous target's link steps,
442
+ # because no compile ever depends on them.
443
+ compile_depends_stamp = (self.target.actions_stamp or compile_depends)
444
+
445
+ # Write out the compilation steps, if any.
446
+ link_deps = []
447
+ sources = extra_sources + spec.get('sources', [])
448
+ if sources:
449
+ if self.flavor == 'mac' and len(self.archs) > 1:
450
+ # Write subninja file containing compile and link commands scoped to
451
+ # a single arch if a fat binary is being built.
452
+ for arch in self.archs:
453
+ self.ninja.subninja(self._SubninjaNameForArch(arch))
454
+
455
+ pch = None
456
+ if self.flavor == 'win':
457
+ gyp.msvs_emulation.VerifyMissingSources(
458
+ sources, self.abs_build_dir, generator_flags, self.GypPathToNinja)
459
+ pch = gyp.msvs_emulation.PrecompiledHeader(
460
+ self.msvs_settings, config_name, self.GypPathToNinja,
461
+ self.GypPathToUniqueOutput, self.obj_ext)
462
+ else:
463
+ pch = gyp.xcode_emulation.MacPrefixHeader(
464
+ self.xcode_settings, self.GypPathToNinja,
465
+ lambda path, lang: self.GypPathToUniqueOutput(path + '-' + lang))
466
+ link_deps = self.WriteSources(
467
+ self.ninja, config_name, config, sources, compile_depends_stamp, pch,
468
+ spec)
469
+ # Some actions/rules output 'sources' that are already object files.
470
+ obj_outputs = [f for f in sources if f.endswith(self.obj_ext)]
471
+ if obj_outputs:
472
+ if self.flavor != 'mac' or len(self.archs) == 1:
473
+ link_deps += [self.GypPathToNinja(o) for o in obj_outputs]
474
+ else:
475
+ print "Warning: Actions/rules writing object files don't work with " \
476
+ "multiarch targets, dropping. (target %s)" % spec['target_name']
477
+ elif self.flavor == 'mac' and len(self.archs) > 1:
478
+ link_deps = collections.defaultdict(list)
479
+
480
+ compile_deps = self.target.actions_stamp or actions_depends
481
+ if self.flavor == 'win' and self.target.type == 'static_library':
482
+ self.target.component_objs = link_deps
483
+ self.target.compile_deps = compile_deps
484
+
485
+ # Write out a link step, if needed.
486
+ output = None
487
+ is_empty_bundle = not link_deps and not mac_bundle_depends
488
+ if link_deps or self.target.actions_stamp or actions_depends:
489
+ output = self.WriteTarget(spec, config_name, config, link_deps,
490
+ compile_deps)
491
+ if self.is_mac_bundle:
492
+ mac_bundle_depends.append(output)
493
+
494
+ # Bundle all of the above together, if needed.
495
+ if self.is_mac_bundle:
496
+ output = self.WriteMacBundle(spec, mac_bundle_depends, is_empty_bundle)
497
+
498
+ if not output:
499
+ return None
500
+
501
+ assert self.target.FinalOutput(), output
502
+ return self.target
503
+
504
+ def _WinIdlRule(self, source, prebuild, outputs):
505
+ """Handle the implicit VS .idl rule for one source file. Fills |outputs|
506
+ with files that are generated."""
507
+ outdir, output, vars, flags = self.msvs_settings.GetIdlBuildData(
508
+ source, self.config_name)
509
+ outdir = self.GypPathToNinja(outdir)
510
+ def fix_path(path, rel=None):
511
+ path = os.path.join(outdir, path)
512
+ dirname, basename = os.path.split(source)
513
+ root, ext = os.path.splitext(basename)
514
+ path = self.ExpandRuleVariables(
515
+ path, root, dirname, source, ext, basename)
516
+ if rel:
517
+ path = os.path.relpath(path, rel)
518
+ return path
519
+ vars = [(name, fix_path(value, outdir)) for name, value in vars]
520
+ output = [fix_path(p) for p in output]
521
+ vars.append(('outdir', outdir))
522
+ vars.append(('idlflags', flags))
523
+ input = self.GypPathToNinja(source)
524
+ self.ninja.build(output, 'idl', input,
525
+ variables=vars, order_only=prebuild)
526
+ outputs.extend(output)
527
+
528
+ def WriteWinIdlFiles(self, spec, prebuild):
529
+ """Writes rules to match MSVS's implicit idl handling."""
530
+ assert self.flavor == 'win'
531
+ if self.msvs_settings.HasExplicitIdlRulesOrActions(spec):
532
+ return []
533
+ outputs = []
534
+ for source in filter(lambda x: x.endswith('.idl'), spec['sources']):
535
+ self._WinIdlRule(source, prebuild, outputs)
536
+ return outputs
537
+
538
+ def WriteActionsRulesCopies(self, spec, extra_sources, prebuild,
539
+ mac_bundle_depends):
540
+ """Write out the Actions, Rules, and Copies steps. Return a path
541
+ representing the outputs of these steps."""
542
+ outputs = []
543
+ if self.is_mac_bundle:
544
+ mac_bundle_resources = spec.get('mac_bundle_resources', [])[:]
545
+ else:
546
+ mac_bundle_resources = []
547
+ extra_mac_bundle_resources = []
548
+
549
+ if 'actions' in spec:
550
+ outputs += self.WriteActions(spec['actions'], extra_sources, prebuild,
551
+ extra_mac_bundle_resources)
552
+ if 'rules' in spec:
553
+ outputs += self.WriteRules(spec['rules'], extra_sources, prebuild,
554
+ mac_bundle_resources,
555
+ extra_mac_bundle_resources)
556
+ if 'copies' in spec:
557
+ outputs += self.WriteCopies(spec['copies'], prebuild, mac_bundle_depends)
558
+
559
+ if 'sources' in spec and self.flavor == 'win':
560
+ outputs += self.WriteWinIdlFiles(spec, prebuild)
561
+
562
+ stamp = self.WriteCollapsedDependencies('actions_rules_copies', outputs)
563
+
564
+ if self.is_mac_bundle:
565
+ xcassets = self.WriteMacBundleResources(
566
+ extra_mac_bundle_resources + mac_bundle_resources, mac_bundle_depends)
567
+ partial_info_plist = self.WriteMacXCassets(xcassets, mac_bundle_depends)
568
+ self.WriteMacInfoPlist(partial_info_plist, mac_bundle_depends)
569
+
570
+ return stamp
571
+
572
+ def GenerateDescription(self, verb, message, fallback):
573
+ """Generate and return a description of a build step.
574
+
575
+ |verb| is the short summary, e.g. ACTION or RULE.
576
+ |message| is a hand-written description, or None if not available.
577
+ |fallback| is the gyp-level name of the step, usable as a fallback.
578
+ """
579
+ if self.toolset != 'target':
580
+ verb += '(%s)' % self.toolset
581
+ if message:
582
+ return '%s %s' % (verb, self.ExpandSpecial(message))
583
+ else:
584
+ return '%s %s: %s' % (verb, self.name, fallback)
585
+
586
+ def WriteActions(self, actions, extra_sources, prebuild,
587
+ extra_mac_bundle_resources):
588
+ # Actions cd into the base directory.
589
+ env = self.GetToolchainEnv()
590
+ all_outputs = []
591
+ for action in actions:
592
+ # First write out a rule for the action.
593
+ name = '%s_%s' % (action['action_name'], self.hash_for_rules)
594
+ description = self.GenerateDescription('ACTION',
595
+ action.get('message', None),
596
+ name)
597
+ is_cygwin = (self.msvs_settings.IsRuleRunUnderCygwin(action)
598
+ if self.flavor == 'win' else False)
599
+ args = action['action']
600
+ depfile = action.get('depfile', None)
601
+ if depfile:
602
+ depfile = self.ExpandSpecial(depfile, self.base_to_build)
603
+ pool = 'console' if int(action.get('ninja_use_console', 0)) else None
604
+ rule_name, _ = self.WriteNewNinjaRule(name, args, description,
605
+ is_cygwin, env, pool,
606
+ depfile=depfile)
607
+
608
+ inputs = [self.GypPathToNinja(i, env) for i in action['inputs']]
609
+ if int(action.get('process_outputs_as_sources', False)):
610
+ extra_sources += action['outputs']
611
+ if int(action.get('process_outputs_as_mac_bundle_resources', False)):
612
+ extra_mac_bundle_resources += action['outputs']
613
+ outputs = [self.GypPathToNinja(o, env) for o in action['outputs']]
614
+
615
+ # Then write out an edge using the rule.
616
+ self.ninja.build(outputs, rule_name, inputs,
617
+ order_only=prebuild)
618
+ all_outputs += outputs
619
+
620
+ self.ninja.newline()
621
+
622
+ return all_outputs
623
+
624
+ def WriteRules(self, rules, extra_sources, prebuild,
625
+ mac_bundle_resources, extra_mac_bundle_resources):
626
+ env = self.GetToolchainEnv()
627
+ all_outputs = []
628
+ for rule in rules:
629
+ # Skip a rule with no action and no inputs.
630
+ if 'action' not in rule and not rule.get('rule_sources', []):
631
+ continue
632
+
633
+ # First write out a rule for the rule action.
634
+ name = '%s_%s' % (rule['rule_name'], self.hash_for_rules)
635
+
636
+ args = rule['action']
637
+ description = self.GenerateDescription(
638
+ 'RULE',
639
+ rule.get('message', None),
640
+ ('%s ' + generator_default_variables['RULE_INPUT_PATH']) % name)
641
+ is_cygwin = (self.msvs_settings.IsRuleRunUnderCygwin(rule)
642
+ if self.flavor == 'win' else False)
643
+ pool = 'console' if int(rule.get('ninja_use_console', 0)) else None
644
+ rule_name, args = self.WriteNewNinjaRule(
645
+ name, args, description, is_cygwin, env, pool)
646
+
647
+ # TODO: if the command references the outputs directly, we should
648
+ # simplify it to just use $out.
649
+
650
+ # Rules can potentially make use of some special variables which
651
+ # must vary per source file.
652
+ # Compute the list of variables we'll need to provide.
653
+ special_locals = ('source', 'root', 'dirname', 'ext', 'name')
654
+ needed_variables = set(['source'])
655
+ for argument in args:
656
+ for var in special_locals:
657
+ if '${%s}' % var in argument:
658
+ needed_variables.add(var)
659
+
660
+ def cygwin_munge(path):
661
+ # pylint: disable=cell-var-from-loop
662
+ if is_cygwin:
663
+ return path.replace('\\', '/')
664
+ return path
665
+
666
+ inputs = [self.GypPathToNinja(i, env) for i in rule.get('inputs', [])]
667
+
668
+ # If there are n source files matching the rule, and m additional rule
669
+ # inputs, then adding 'inputs' to each build edge written below will
670
+ # write m * n inputs. Collapsing reduces this to m + n.
671
+ sources = rule.get('rule_sources', [])
672
+ num_inputs = len(inputs)
673
+ if prebuild:
674
+ num_inputs += 1
675
+ if num_inputs > 2 and len(sources) > 2:
676
+ inputs = [self.WriteCollapsedDependencies(
677
+ rule['rule_name'], inputs, order_only=prebuild)]
678
+ prebuild = []
679
+
680
+ # For each source file, write an edge that generates all the outputs.
681
+ for source in sources:
682
+ source = os.path.normpath(source)
683
+ dirname, basename = os.path.split(source)
684
+ root, ext = os.path.splitext(basename)
685
+
686
+ # Gather the list of inputs and outputs, expanding $vars if possible.
687
+ outputs = [self.ExpandRuleVariables(o, root, dirname,
688
+ source, ext, basename)
689
+ for o in rule['outputs']]
690
+
691
+ if int(rule.get('process_outputs_as_sources', False)):
692
+ extra_sources += outputs
693
+
694
+ was_mac_bundle_resource = source in mac_bundle_resources
695
+ if was_mac_bundle_resource or \
696
+ int(rule.get('process_outputs_as_mac_bundle_resources', False)):
697
+ extra_mac_bundle_resources += outputs
698
+ # Note: This is n_resources * n_outputs_in_rule. Put to-be-removed
699
+ # items in a set and remove them all in a single pass if this becomes
700
+ # a performance issue.
701
+ if was_mac_bundle_resource:
702
+ mac_bundle_resources.remove(source)
703
+
704
+ extra_bindings = []
705
+ for var in needed_variables:
706
+ if var == 'root':
707
+ extra_bindings.append(('root', cygwin_munge(root)))
708
+ elif var == 'dirname':
709
+ # '$dirname' is a parameter to the rule action, which means
710
+ # it shouldn't be converted to a Ninja path. But we don't
711
+ # want $!PRODUCT_DIR in there either.
712
+ dirname_expanded = self.ExpandSpecial(dirname, self.base_to_build)
713
+ extra_bindings.append(('dirname', cygwin_munge(dirname_expanded)))
714
+ elif var == 'source':
715
+ # '$source' is a parameter to the rule action, which means
716
+ # it shouldn't be converted to a Ninja path. But we don't
717
+ # want $!PRODUCT_DIR in there either.
718
+ source_expanded = self.ExpandSpecial(source, self.base_to_build)
719
+ extra_bindings.append(('source', cygwin_munge(source_expanded)))
720
+ elif var == 'ext':
721
+ extra_bindings.append(('ext', ext))
722
+ elif var == 'name':
723
+ extra_bindings.append(('name', cygwin_munge(basename)))
724
+ else:
725
+ assert var == None, repr(var)
726
+
727
+ outputs = [self.GypPathToNinja(o, env) for o in outputs]
728
+ if self.flavor == 'win':
729
+ # WriteNewNinjaRule uses unique_name for creating an rsp file on win.
730
+ extra_bindings.append(('unique_name',
731
+ hashlib.md5(outputs[0]).hexdigest()))
732
+ self.ninja.build(outputs, rule_name, self.GypPathToNinja(source),
733
+ implicit=inputs,
734
+ order_only=prebuild,
735
+ variables=extra_bindings)
736
+
737
+ all_outputs.extend(outputs)
738
+
739
+ return all_outputs
740
+
741
+ def WriteCopies(self, copies, prebuild, mac_bundle_depends):
742
+ outputs = []
743
+ env = self.GetToolchainEnv()
744
+ for copy in copies:
745
+ for path in copy['files']:
746
+ # Normalize the path so trailing slashes don't confuse us.
747
+ path = os.path.normpath(path)
748
+ basename = os.path.split(path)[1]
749
+ src = self.GypPathToNinja(path, env)
750
+ dst = self.GypPathToNinja(os.path.join(copy['destination'], basename),
751
+ env)
752
+ outputs += self.ninja.build(dst, 'copy', src, order_only=prebuild)
753
+ if self.is_mac_bundle:
754
+ # gyp has mac_bundle_resources to copy things into a bundle's
755
+ # Resources folder, but there's no built-in way to copy files to other
756
+ # places in the bundle. Hence, some targets use copies for this. Check
757
+ # if this file is copied into the current bundle, and if so add it to
758
+ # the bundle depends so that dependent targets get rebuilt if the copy
759
+ # input changes.
760
+ if dst.startswith(self.xcode_settings.GetBundleContentsFolderPath()):
761
+ mac_bundle_depends.append(dst)
762
+
763
+ return outputs
764
+
765
+ def WriteMacBundleResources(self, resources, bundle_depends):
766
+ """Writes ninja edges for 'mac_bundle_resources'."""
767
+ xcassets = []
768
+ for output, res in gyp.xcode_emulation.GetMacBundleResources(
769
+ generator_default_variables['PRODUCT_DIR'],
770
+ self.xcode_settings, map(self.GypPathToNinja, resources)):
771
+ output = self.ExpandSpecial(output)
772
+ if os.path.splitext(output)[-1] != '.xcassets':
773
+ isBinary = self.xcode_settings.IsBinaryOutputFormat(self.config_name)
774
+ self.ninja.build(output, 'mac_tool', res,
775
+ variables=[('mactool_cmd', 'copy-bundle-resource'), \
776
+ ('binary', isBinary)])
777
+ bundle_depends.append(output)
778
+ else:
779
+ xcassets.append(res)
780
+ return xcassets
781
+
782
+ def WriteMacXCassets(self, xcassets, bundle_depends):
783
+ """Writes ninja edges for 'mac_bundle_resources' .xcassets files.
784
+
785
+ This add an invocation of 'actool' via the 'mac_tool.py' helper script.
786
+ It assumes that the assets catalogs define at least one imageset and
787
+ thus an Assets.car file will be generated in the application resources
788
+ directory. If this is not the case, then the build will probably be done
789
+ at each invocation of ninja."""
790
+ if not xcassets:
791
+ return
792
+
793
+ extra_arguments = {}
794
+ settings_to_arg = {
795
+ 'XCASSETS_APP_ICON': 'app-icon',
796
+ 'XCASSETS_LAUNCH_IMAGE': 'launch-image',
797
+ }
798
+ settings = self.xcode_settings.xcode_settings[self.config_name]
799
+ for settings_key, arg_name in settings_to_arg.iteritems():
800
+ value = settings.get(settings_key)
801
+ if value:
802
+ extra_arguments[arg_name] = value
803
+
804
+ partial_info_plist = None
805
+ if extra_arguments:
806
+ partial_info_plist = self.GypPathToUniqueOutput(
807
+ 'assetcatalog_generated_info.plist')
808
+ extra_arguments['output-partial-info-plist'] = partial_info_plist
809
+
810
+ outputs = []
811
+ outputs.append(
812
+ os.path.join(
813
+ self.xcode_settings.GetBundleResourceFolder(),
814
+ 'Assets.car'))
815
+ if partial_info_plist:
816
+ outputs.append(partial_info_plist)
817
+
818
+ keys = QuoteShellArgument(json.dumps(extra_arguments), self.flavor)
819
+ extra_env = self.xcode_settings.GetPerTargetSettings()
820
+ env = self.GetSortedXcodeEnv(additional_settings=extra_env)
821
+ env = self.ComputeExportEnvString(env)
822
+
823
+ bundle_depends.extend(self.ninja.build(
824
+ outputs, 'compile_xcassets', xcassets,
825
+ variables=[('env', env), ('keys', keys)]))
826
+ return partial_info_plist
827
+
828
+ def WriteMacInfoPlist(self, partial_info_plist, bundle_depends):
829
+ """Write build rules for bundle Info.plist files."""
830
+ info_plist, out, defines, extra_env = gyp.xcode_emulation.GetMacInfoPlist(
831
+ generator_default_variables['PRODUCT_DIR'],
832
+ self.xcode_settings, self.GypPathToNinja)
833
+ if not info_plist:
834
+ return
835
+ out = self.ExpandSpecial(out)
836
+ if defines:
837
+ # Create an intermediate file to store preprocessed results.
838
+ intermediate_plist = self.GypPathToUniqueOutput(
839
+ os.path.basename(info_plist))
840
+ defines = ' '.join([Define(d, self.flavor) for d in defines])
841
+ info_plist = self.ninja.build(
842
+ intermediate_plist, 'preprocess_infoplist', info_plist,
843
+ variables=[('defines',defines)])
844
+
845
+ env = self.GetSortedXcodeEnv(additional_settings=extra_env)
846
+ env = self.ComputeExportEnvString(env)
847
+
848
+ if partial_info_plist:
849
+ intermediate_plist = self.GypPathToUniqueOutput('merged_info.plist')
850
+ info_plist = self.ninja.build(
851
+ intermediate_plist, 'merge_infoplist',
852
+ [partial_info_plist, info_plist])
853
+
854
+ keys = self.xcode_settings.GetExtraPlistItems(self.config_name)
855
+ keys = QuoteShellArgument(json.dumps(keys), self.flavor)
856
+ isBinary = self.xcode_settings.IsBinaryOutputFormat(self.config_name)
857
+ self.ninja.build(out, 'copy_infoplist', info_plist,
858
+ variables=[('env', env), ('keys', keys),
859
+ ('binary', isBinary)])
860
+ bundle_depends.append(out)
861
+
862
+ def WriteSources(self, ninja_file, config_name, config, sources, predepends,
863
+ precompiled_header, spec):
864
+ """Write build rules to compile all of |sources|."""
865
+ if self.toolset == 'host':
866
+ self.ninja.variable('ar', '$ar_host')
867
+ self.ninja.variable('cc', '$cc_host')
868
+ self.ninja.variable('cxx', '$cxx_host')
869
+ self.ninja.variable('ld', '$ld_host')
870
+ self.ninja.variable('ldxx', '$ldxx_host')
871
+ self.ninja.variable('nm', '$nm_host')
872
+ self.ninja.variable('readelf', '$readelf_host')
873
+
874
+ if self.flavor != 'mac' or len(self.archs) == 1:
875
+ return self.WriteSourcesForArch(
876
+ self.ninja, config_name, config, sources, predepends,
877
+ precompiled_header, spec)
878
+ else:
879
+ return dict((arch, self.WriteSourcesForArch(
880
+ self.arch_subninjas[arch], config_name, config, sources, predepends,
881
+ precompiled_header, spec, arch=arch))
882
+ for arch in self.archs)
883
+
884
+ def WriteSourcesForArch(self, ninja_file, config_name, config, sources,
885
+ predepends, precompiled_header, spec, arch=None):
886
+ """Write build rules to compile all of |sources|."""
887
+
888
+ extra_defines = []
889
+ if self.flavor == 'mac':
890
+ cflags = self.xcode_settings.GetCflags(config_name, arch=arch)
891
+ cflags_c = self.xcode_settings.GetCflagsC(config_name)
892
+ cflags_cc = self.xcode_settings.GetCflagsCC(config_name)
893
+ cflags_objc = ['$cflags_c'] + \
894
+ self.xcode_settings.GetCflagsObjC(config_name)
895
+ cflags_objcc = ['$cflags_cc'] + \
896
+ self.xcode_settings.GetCflagsObjCC(config_name)
897
+ elif self.flavor == 'win':
898
+ asmflags = self.msvs_settings.GetAsmflags(config_name)
899
+ cflags = self.msvs_settings.GetCflags(config_name)
900
+ cflags_c = self.msvs_settings.GetCflagsC(config_name)
901
+ cflags_cc = self.msvs_settings.GetCflagsCC(config_name)
902
+ extra_defines = self.msvs_settings.GetComputedDefines(config_name)
903
+ # See comment at cc_command for why there's two .pdb files.
904
+ pdbpath_c = pdbpath_cc = self.msvs_settings.GetCompilerPdbName(
905
+ config_name, self.ExpandSpecial)
906
+ if not pdbpath_c:
907
+ obj = 'obj'
908
+ if self.toolset != 'target':
909
+ obj += '.' + self.toolset
910
+ pdbpath = os.path.normpath(os.path.join(obj, self.base_dir, self.name))
911
+ pdbpath_c = pdbpath + '.c.pdb'
912
+ pdbpath_cc = pdbpath + '.cc.pdb'
913
+ self.WriteVariableList(ninja_file, 'pdbname_c', [pdbpath_c])
914
+ self.WriteVariableList(ninja_file, 'pdbname_cc', [pdbpath_cc])
915
+ self.WriteVariableList(ninja_file, 'pchprefix', [self.name])
916
+ else:
917
+ cflags = config.get('cflags', [])
918
+ cflags_c = config.get('cflags_c', [])
919
+ cflags_cc = config.get('cflags_cc', [])
920
+
921
+ # Respect environment variables related to build, but target-specific
922
+ # flags can still override them.
923
+ if self.toolset == 'target':
924
+ cflags_c = (os.environ.get('CPPFLAGS', '').split() +
925
+ os.environ.get('CFLAGS', '').split() + cflags_c)
926
+ cflags_cc = (os.environ.get('CPPFLAGS', '').split() +
927
+ os.environ.get('CXXFLAGS', '').split() + cflags_cc)
928
+ elif self.toolset == 'host':
929
+ cflags_c = (os.environ.get('CPPFLAGS_host', '').split() +
930
+ os.environ.get('CFLAGS_host', '').split() + cflags_c)
931
+ cflags_cc = (os.environ.get('CPPFLAGS_host', '').split() +
932
+ os.environ.get('CXXFLAGS_host', '').split() + cflags_cc)
933
+
934
+ defines = config.get('defines', []) + extra_defines
935
+ self.WriteVariableList(ninja_file, 'defines',
936
+ [Define(d, self.flavor) for d in defines])
937
+ if self.flavor == 'win':
938
+ self.WriteVariableList(ninja_file, 'asmflags',
939
+ map(self.ExpandSpecial, asmflags))
940
+ self.WriteVariableList(ninja_file, 'rcflags',
941
+ [QuoteShellArgument(self.ExpandSpecial(f), self.flavor)
942
+ for f in self.msvs_settings.GetRcflags(config_name,
943
+ self.GypPathToNinja)])
944
+
945
+ include_dirs = config.get('include_dirs', [])
946
+
947
+ env = self.GetToolchainEnv()
948
+ if self.flavor == 'win':
949
+ include_dirs = self.msvs_settings.AdjustIncludeDirs(include_dirs,
950
+ config_name)
951
+ self.WriteVariableList(ninja_file, 'includes',
952
+ [QuoteShellArgument('-I' + self.GypPathToNinja(i, env), self.flavor)
953
+ for i in include_dirs])
954
+
955
+ if self.flavor == 'win':
956
+ midl_include_dirs = config.get('midl_include_dirs', [])
957
+ midl_include_dirs = self.msvs_settings.AdjustMidlIncludeDirs(
958
+ midl_include_dirs, config_name)
959
+ self.WriteVariableList(ninja_file, 'midl_includes',
960
+ [QuoteShellArgument('-I' + self.GypPathToNinja(i, env), self.flavor)
961
+ for i in midl_include_dirs])
962
+
963
+ pch_commands = precompiled_header.GetPchBuildCommands(arch)
964
+ if self.flavor == 'mac':
965
+ # Most targets use no precompiled headers, so only write these if needed.
966
+ for ext, var in [('c', 'cflags_pch_c'), ('cc', 'cflags_pch_cc'),
967
+ ('m', 'cflags_pch_objc'), ('mm', 'cflags_pch_objcc')]:
968
+ include = precompiled_header.GetInclude(ext, arch)
969
+ if include: ninja_file.variable(var, include)
970
+
971
+ arflags = config.get('arflags', [])
972
+
973
+ self.WriteVariableList(ninja_file, 'cflags',
974
+ map(self.ExpandSpecial, cflags))
975
+ self.WriteVariableList(ninja_file, 'cflags_c',
976
+ map(self.ExpandSpecial, cflags_c))
977
+ self.WriteVariableList(ninja_file, 'cflags_cc',
978
+ map(self.ExpandSpecial, cflags_cc))
979
+ if self.flavor == 'mac':
980
+ self.WriteVariableList(ninja_file, 'cflags_objc',
981
+ map(self.ExpandSpecial, cflags_objc))
982
+ self.WriteVariableList(ninja_file, 'cflags_objcc',
983
+ map(self.ExpandSpecial, cflags_objcc))
984
+ self.WriteVariableList(ninja_file, 'arflags',
985
+ map(self.ExpandSpecial, arflags))
986
+ ninja_file.newline()
987
+ outputs = []
988
+ has_rc_source = False
989
+ for source in sources:
990
+ filename, ext = os.path.splitext(source)
991
+ ext = ext[1:]
992
+ obj_ext = self.obj_ext
993
+ if ext in ('cc', 'cpp', 'cxx'):
994
+ command = 'cxx'
995
+ self.uses_cpp = True
996
+ elif ext == 'c' or (ext == 'S' and self.flavor != 'win'):
997
+ command = 'cc'
998
+ elif ext == 's' and self.flavor != 'win': # Doesn't generate .o.d files.
999
+ command = 'cc_s'
1000
+ elif (self.flavor == 'win' and ext == 'asm' and
1001
+ not self.msvs_settings.HasExplicitAsmRules(spec)):
1002
+ command = 'asm'
1003
+ # Add the _asm suffix as msvs is capable of handling .cc and
1004
+ # .asm files of the same name without collision.
1005
+ obj_ext = '_asm.obj'
1006
+ elif self.flavor == 'mac' and ext == 'm':
1007
+ command = 'objc'
1008
+ elif self.flavor == 'mac' and ext == 'mm':
1009
+ command = 'objcxx'
1010
+ self.uses_cpp = True
1011
+ elif self.flavor == 'win' and ext == 'rc':
1012
+ command = 'rc'
1013
+ obj_ext = '.res'
1014
+ has_rc_source = True
1015
+ else:
1016
+ # Ignore unhandled extensions.
1017
+ continue
1018
+ input = self.GypPathToNinja(source)
1019
+ output = self.GypPathToUniqueOutput(filename + obj_ext)
1020
+ if arch is not None:
1021
+ output = AddArch(output, arch)
1022
+ implicit = precompiled_header.GetObjDependencies([input], [output], arch)
1023
+ variables = []
1024
+ if self.flavor == 'win':
1025
+ variables, output, implicit = precompiled_header.GetFlagsModifications(
1026
+ input, output, implicit, command, cflags_c, cflags_cc,
1027
+ self.ExpandSpecial)
1028
+ ninja_file.build(output, command, input,
1029
+ implicit=[gch for _, _, gch in implicit],
1030
+ order_only=predepends, variables=variables)
1031
+ outputs.append(output)
1032
+
1033
+ if has_rc_source:
1034
+ resource_include_dirs = config.get('resource_include_dirs', include_dirs)
1035
+ self.WriteVariableList(ninja_file, 'resource_includes',
1036
+ [QuoteShellArgument('-I' + self.GypPathToNinja(i, env), self.flavor)
1037
+ for i in resource_include_dirs])
1038
+
1039
+ self.WritePchTargets(ninja_file, pch_commands)
1040
+
1041
+ ninja_file.newline()
1042
+ return outputs
1043
+
1044
+ def WritePchTargets(self, ninja_file, pch_commands):
1045
+ """Writes ninja rules to compile prefix headers."""
1046
+ if not pch_commands:
1047
+ return
1048
+
1049
+ for gch, lang_flag, lang, input in pch_commands:
1050
+ var_name = {
1051
+ 'c': 'cflags_pch_c',
1052
+ 'cc': 'cflags_pch_cc',
1053
+ 'm': 'cflags_pch_objc',
1054
+ 'mm': 'cflags_pch_objcc',
1055
+ }[lang]
1056
+
1057
+ map = { 'c': 'cc', 'cc': 'cxx', 'm': 'objc', 'mm': 'objcxx', }
1058
+ cmd = map.get(lang)
1059
+ ninja_file.build(gch, cmd, input, variables=[(var_name, lang_flag)])
1060
+
1061
+ def WriteLink(self, spec, config_name, config, link_deps):
1062
+ """Write out a link step. Fills out target.binary. """
1063
+ if self.flavor != 'mac' or len(self.archs) == 1:
1064
+ return self.WriteLinkForArch(
1065
+ self.ninja, spec, config_name, config, link_deps)
1066
+ else:
1067
+ output = self.ComputeOutput(spec)
1068
+ inputs = [self.WriteLinkForArch(self.arch_subninjas[arch], spec,
1069
+ config_name, config, link_deps[arch],
1070
+ arch=arch)
1071
+ for arch in self.archs]
1072
+ extra_bindings = []
1073
+ build_output = output
1074
+ if not self.is_mac_bundle:
1075
+ self.AppendPostbuildVariable(extra_bindings, spec, output, output)
1076
+
1077
+ # TODO(yyanagisawa): more work needed to fix:
1078
+ # https://code.google.com/p/gyp/issues/detail?id=411
1079
+ if (spec['type'] in ('shared_library', 'loadable_module') and
1080
+ not self.is_mac_bundle):
1081
+ extra_bindings.append(('lib', output))
1082
+ self.ninja.build([output, output + '.TOC'], 'solipo', inputs,
1083
+ variables=extra_bindings)
1084
+ else:
1085
+ self.ninja.build(build_output, 'lipo', inputs, variables=extra_bindings)
1086
+ return output
1087
+
1088
+ def WriteLinkForArch(self, ninja_file, spec, config_name, config,
1089
+ link_deps, arch=None):
1090
+ """Write out a link step. Fills out target.binary. """
1091
+ command = {
1092
+ 'executable': 'link',
1093
+ 'loadable_module': 'solink_module',
1094
+ 'shared_library': 'solink',
1095
+ }[spec['type']]
1096
+ command_suffix = ''
1097
+
1098
+ implicit_deps = set()
1099
+ solibs = set()
1100
+ order_deps = set()
1101
+
1102
+ if 'dependencies' in spec:
1103
+ # Two kinds of dependencies:
1104
+ # - Linkable dependencies (like a .a or a .so): add them to the link line.
1105
+ # - Non-linkable dependencies (like a rule that generates a file
1106
+ # and writes a stamp file): add them to implicit_deps
1107
+ extra_link_deps = set()
1108
+ for dep in spec['dependencies']:
1109
+ target = self.target_outputs.get(dep)
1110
+ if not target:
1111
+ continue
1112
+ linkable = target.Linkable()
1113
+ if linkable:
1114
+ new_deps = []
1115
+ if (self.flavor == 'win' and
1116
+ target.component_objs and
1117
+ self.msvs_settings.IsUseLibraryDependencyInputs(config_name)):
1118
+ new_deps = target.component_objs
1119
+ if target.compile_deps:
1120
+ order_deps.add(target.compile_deps)
1121
+ elif self.flavor == 'win' and target.import_lib:
1122
+ new_deps = [target.import_lib]
1123
+ elif target.UsesToc(self.flavor):
1124
+ solibs.add(target.binary)
1125
+ implicit_deps.add(target.binary + '.TOC')
1126
+ else:
1127
+ new_deps = [target.binary]
1128
+ for new_dep in new_deps:
1129
+ if new_dep not in extra_link_deps:
1130
+ extra_link_deps.add(new_dep)
1131
+ link_deps.append(new_dep)
1132
+
1133
+ final_output = target.FinalOutput()
1134
+ if not linkable or final_output != target.binary:
1135
+ implicit_deps.add(final_output)
1136
+
1137
+ extra_bindings = []
1138
+ if self.uses_cpp and self.flavor != 'win':
1139
+ extra_bindings.append(('ld', '$ldxx'))
1140
+
1141
+ output = self.ComputeOutput(spec, arch)
1142
+ if arch is None and not self.is_mac_bundle:
1143
+ self.AppendPostbuildVariable(extra_bindings, spec, output, output)
1144
+
1145
+ is_executable = spec['type'] == 'executable'
1146
+ # The ldflags config key is not used on mac or win. On those platforms
1147
+ # linker flags are set via xcode_settings and msvs_settings, respectively.
1148
+ env_ldflags = os.environ.get('LDFLAGS', '').split()
1149
+ if self.flavor == 'mac':
1150
+ ldflags = self.xcode_settings.GetLdflags(config_name,
1151
+ self.ExpandSpecial(generator_default_variables['PRODUCT_DIR']),
1152
+ self.GypPathToNinja, arch)
1153
+ ldflags = env_ldflags + ldflags
1154
+ elif self.flavor == 'win':
1155
+ manifest_base_name = self.GypPathToUniqueOutput(
1156
+ self.ComputeOutputFileName(spec))
1157
+ ldflags, intermediate_manifest, manifest_files = \
1158
+ self.msvs_settings.GetLdflags(config_name, self.GypPathToNinja,
1159
+ self.ExpandSpecial, manifest_base_name,
1160
+ output, is_executable,
1161
+ self.toplevel_build)
1162
+ ldflags = env_ldflags + ldflags
1163
+ self.WriteVariableList(ninja_file, 'manifests', manifest_files)
1164
+ implicit_deps = implicit_deps.union(manifest_files)
1165
+ if intermediate_manifest:
1166
+ self.WriteVariableList(
1167
+ ninja_file, 'intermediatemanifest', [intermediate_manifest])
1168
+ command_suffix = _GetWinLinkRuleNameSuffix(
1169
+ self.msvs_settings.IsEmbedManifest(config_name))
1170
+ def_file = self.msvs_settings.GetDefFile(self.GypPathToNinja)
1171
+ if def_file:
1172
+ implicit_deps.add(def_file)
1173
+ else:
1174
+ # Respect environment variables related to build, but target-specific
1175
+ # flags can still override them.
1176
+ ldflags = env_ldflags + config.get('ldflags', [])
1177
+ if is_executable and len(solibs):
1178
+ rpath = 'lib/'
1179
+ if self.toolset != 'target':
1180
+ rpath += self.toolset
1181
+ ldflags.append(r'-Wl,-rpath=\$$ORIGIN/%s' % rpath)
1182
+ ldflags.append('-Wl,-rpath-link=%s' % rpath)
1183
+ self.WriteVariableList(ninja_file, 'ldflags',
1184
+ map(self.ExpandSpecial, ldflags))
1185
+
1186
+ library_dirs = config.get('library_dirs', [])
1187
+ if self.flavor == 'win':
1188
+ library_dirs = [self.msvs_settings.ConvertVSMacros(l, config_name)
1189
+ for l in library_dirs]
1190
+ library_dirs = ['/LIBPATH:' + QuoteShellArgument(self.GypPathToNinja(l),
1191
+ self.flavor)
1192
+ for l in library_dirs]
1193
+ else:
1194
+ library_dirs = [QuoteShellArgument('-L' + self.GypPathToNinja(l),
1195
+ self.flavor)
1196
+ for l in library_dirs]
1197
+
1198
+ libraries = gyp.common.uniquer(map(self.ExpandSpecial,
1199
+ spec.get('libraries', [])))
1200
+ if self.flavor == 'mac':
1201
+ libraries = self.xcode_settings.AdjustLibraries(libraries, config_name)
1202
+ elif self.flavor == 'win':
1203
+ libraries = self.msvs_settings.AdjustLibraries(libraries)
1204
+
1205
+ self.WriteVariableList(ninja_file, 'libs', library_dirs + libraries)
1206
+
1207
+ linked_binary = output
1208
+
1209
+ if command in ('solink', 'solink_module'):
1210
+ extra_bindings.append(('soname', os.path.split(output)[1]))
1211
+ extra_bindings.append(('lib',
1212
+ gyp.common.EncodePOSIXShellArgument(output)))
1213
+ if self.flavor != 'win':
1214
+ link_file_list = output
1215
+ if self.is_mac_bundle:
1216
+ # 'Dependency Framework.framework/Versions/A/Dependency Framework' ->
1217
+ # 'Dependency Framework.framework.rsp'
1218
+ link_file_list = self.xcode_settings.GetWrapperName()
1219
+ if arch:
1220
+ link_file_list += '.' + arch
1221
+ link_file_list += '.rsp'
1222
+ # If an rspfile contains spaces, ninja surrounds the filename with
1223
+ # quotes around it and then passes it to open(), creating a file with
1224
+ # quotes in its name (and when looking for the rsp file, the name
1225
+ # makes it through bash which strips the quotes) :-/
1226
+ link_file_list = link_file_list.replace(' ', '_')
1227
+ extra_bindings.append(
1228
+ ('link_file_list',
1229
+ gyp.common.EncodePOSIXShellArgument(link_file_list)))
1230
+ if self.flavor == 'win':
1231
+ extra_bindings.append(('binary', output))
1232
+ if ('/NOENTRY' not in ldflags and
1233
+ not self.msvs_settings.GetNoImportLibrary(config_name)):
1234
+ self.target.import_lib = output + '.lib'
1235
+ extra_bindings.append(('implibflag',
1236
+ '/IMPLIB:%s' % self.target.import_lib))
1237
+ pdbname = self.msvs_settings.GetPDBName(
1238
+ config_name, self.ExpandSpecial, output + '.pdb')
1239
+ output = [output, self.target.import_lib]
1240
+ if pdbname:
1241
+ output.append(pdbname)
1242
+ elif not self.is_mac_bundle:
1243
+ output = [output, output + '.TOC']
1244
+ else:
1245
+ command = command + '_notoc'
1246
+ elif self.flavor == 'win':
1247
+ extra_bindings.append(('binary', output))
1248
+ pdbname = self.msvs_settings.GetPDBName(
1249
+ config_name, self.ExpandSpecial, output + '.pdb')
1250
+ if pdbname:
1251
+ output = [output, pdbname]
1252
+
1253
+
1254
+ if len(solibs):
1255
+ extra_bindings.append(('solibs', gyp.common.EncodePOSIXShellList(solibs)))
1256
+
1257
+ ninja_file.build(output, command + command_suffix, link_deps,
1258
+ implicit=list(implicit_deps),
1259
+ order_only=list(order_deps),
1260
+ variables=extra_bindings)
1261
+ return linked_binary
1262
+
1263
+ def WriteTarget(self, spec, config_name, config, link_deps, compile_deps):
1264
+ extra_link_deps = any(self.target_outputs.get(dep).Linkable()
1265
+ for dep in spec.get('dependencies', [])
1266
+ if dep in self.target_outputs)
1267
+ if spec['type'] == 'none' or (not link_deps and not extra_link_deps):
1268
+ # TODO(evan): don't call this function for 'none' target types, as
1269
+ # it doesn't do anything, and we fake out a 'binary' with a stamp file.
1270
+ self.target.binary = compile_deps
1271
+ self.target.type = 'none'
1272
+ elif spec['type'] == 'static_library':
1273
+ self.target.binary = self.ComputeOutput(spec)
1274
+ if (self.flavor not in ('mac', 'openbsd', 'netbsd', 'win') and not
1275
+ self.is_standalone_static_library):
1276
+ self.ninja.build(self.target.binary, 'alink_thin', link_deps,
1277
+ order_only=compile_deps)
1278
+ else:
1279
+ variables = []
1280
+ if self.xcode_settings:
1281
+ libtool_flags = self.xcode_settings.GetLibtoolflags(config_name)
1282
+ if libtool_flags:
1283
+ variables.append(('libtool_flags', libtool_flags))
1284
+ if self.msvs_settings:
1285
+ libflags = self.msvs_settings.GetLibFlags(config_name,
1286
+ self.GypPathToNinja)
1287
+ variables.append(('libflags', libflags))
1288
+
1289
+ if self.flavor != 'mac' or len(self.archs) == 1:
1290
+ self.AppendPostbuildVariable(variables, spec,
1291
+ self.target.binary, self.target.binary)
1292
+ self.ninja.build(self.target.binary, 'alink', link_deps,
1293
+ order_only=compile_deps, variables=variables)
1294
+ else:
1295
+ inputs = []
1296
+ for arch in self.archs:
1297
+ output = self.ComputeOutput(spec, arch)
1298
+ self.arch_subninjas[arch].build(output, 'alink', link_deps[arch],
1299
+ order_only=compile_deps,
1300
+ variables=variables)
1301
+ inputs.append(output)
1302
+ # TODO: It's not clear if libtool_flags should be passed to the alink
1303
+ # call that combines single-arch .a files into a fat .a file.
1304
+ self.AppendPostbuildVariable(variables, spec,
1305
+ self.target.binary, self.target.binary)
1306
+ self.ninja.build(self.target.binary, 'alink', inputs,
1307
+ # FIXME: test proving order_only=compile_deps isn't
1308
+ # needed.
1309
+ variables=variables)
1310
+ else:
1311
+ self.target.binary = self.WriteLink(spec, config_name, config, link_deps)
1312
+ return self.target.binary
1313
+
1314
+ def WriteMacBundle(self, spec, mac_bundle_depends, is_empty):
1315
+ assert self.is_mac_bundle
1316
+ package_framework = spec['type'] in ('shared_library', 'loadable_module')
1317
+ output = self.ComputeMacBundleOutput()
1318
+ if is_empty:
1319
+ output += '.stamp'
1320
+ variables = []
1321
+ self.AppendPostbuildVariable(variables, spec, output, self.target.binary,
1322
+ is_command_start=not package_framework)
1323
+ if package_framework and not is_empty:
1324
+ variables.append(('version', self.xcode_settings.GetFrameworkVersion()))
1325
+ self.ninja.build(output, 'package_framework', mac_bundle_depends,
1326
+ variables=variables)
1327
+ else:
1328
+ self.ninja.build(output, 'stamp', mac_bundle_depends,
1329
+ variables=variables)
1330
+ self.target.bundle = output
1331
+ return output
1332
+
1333
+ def GetToolchainEnv(self, additional_settings=None):
1334
+ """Returns the variables toolchain would set for build steps."""
1335
+ env = self.GetSortedXcodeEnv(additional_settings=additional_settings)
1336
+ if self.flavor == 'win':
1337
+ env = self.GetMsvsToolchainEnv(
1338
+ additional_settings=additional_settings)
1339
+ return env
1340
+
1341
+ def GetMsvsToolchainEnv(self, additional_settings=None):
1342
+ """Returns the variables Visual Studio would set for build steps."""
1343
+ return self.msvs_settings.GetVSMacroEnv('$!PRODUCT_DIR',
1344
+ config=self.config_name)
1345
+
1346
+ def GetSortedXcodeEnv(self, additional_settings=None):
1347
+ """Returns the variables Xcode would set for build steps."""
1348
+ assert self.abs_build_dir
1349
+ abs_build_dir = self.abs_build_dir
1350
+ return gyp.xcode_emulation.GetSortedXcodeEnv(
1351
+ self.xcode_settings, abs_build_dir,
1352
+ os.path.join(abs_build_dir, self.build_to_base), self.config_name,
1353
+ additional_settings)
1354
+
1355
+ def GetSortedXcodePostbuildEnv(self):
1356
+ """Returns the variables Xcode would set for postbuild steps."""
1357
+ postbuild_settings = {}
1358
+ # CHROMIUM_STRIP_SAVE_FILE is a chromium-specific hack.
1359
+ # TODO(thakis): It would be nice to have some general mechanism instead.
1360
+ strip_save_file = self.xcode_settings.GetPerTargetSetting(
1361
+ 'CHROMIUM_STRIP_SAVE_FILE')
1362
+ if strip_save_file:
1363
+ postbuild_settings['CHROMIUM_STRIP_SAVE_FILE'] = strip_save_file
1364
+ return self.GetSortedXcodeEnv(additional_settings=postbuild_settings)
1365
+
1366
+ def AppendPostbuildVariable(self, variables, spec, output, binary,
1367
+ is_command_start=False):
1368
+ """Adds a 'postbuild' variable if there is a postbuild for |output|."""
1369
+ postbuild = self.GetPostbuildCommand(spec, output, binary, is_command_start)
1370
+ if postbuild:
1371
+ variables.append(('postbuilds', postbuild))
1372
+
1373
+ def GetPostbuildCommand(self, spec, output, output_binary, is_command_start):
1374
+ """Returns a shell command that runs all the postbuilds, and removes
1375
+ |output| if any of them fails. If |is_command_start| is False, then the
1376
+ returned string will start with ' && '."""
1377
+ if not self.xcode_settings or spec['type'] == 'none' or not output:
1378
+ return ''
1379
+ output = QuoteShellArgument(output, self.flavor)
1380
+ postbuilds = gyp.xcode_emulation.GetSpecPostbuildCommands(spec, quiet=True)
1381
+ if output_binary is not None:
1382
+ postbuilds = self.xcode_settings.AddImplicitPostbuilds(
1383
+ self.config_name,
1384
+ os.path.normpath(os.path.join(self.base_to_build, output)),
1385
+ QuoteShellArgument(
1386
+ os.path.normpath(os.path.join(self.base_to_build, output_binary)),
1387
+ self.flavor),
1388
+ postbuilds, quiet=True)
1389
+
1390
+ if not postbuilds:
1391
+ return ''
1392
+ # Postbuilds expect to be run in the gyp file's directory, so insert an
1393
+ # implicit postbuild to cd to there.
1394
+ postbuilds.insert(0, gyp.common.EncodePOSIXShellList(
1395
+ ['cd', self.build_to_base]))
1396
+ env = self.ComputeExportEnvString(self.GetSortedXcodePostbuildEnv())
1397
+ # G will be non-null if any postbuild fails. Run all postbuilds in a
1398
+ # subshell.
1399
+ commands = env + ' (' + \
1400
+ ' && '.join([ninja_syntax.escape(command) for command in postbuilds])
1401
+ command_string = (commands + '); G=$$?; '
1402
+ # Remove the final output if any postbuild failed.
1403
+ '((exit $$G) || rm -rf %s) ' % output + '&& exit $$G)')
1404
+ if is_command_start:
1405
+ return '(' + command_string + ' && '
1406
+ else:
1407
+ return '$ && (' + command_string
1408
+
1409
+ def ComputeExportEnvString(self, env):
1410
+ """Given an environment, returns a string looking like
1411
+ 'export FOO=foo; export BAR="${FOO} bar;'
1412
+ that exports |env| to the shell."""
1413
+ export_str = []
1414
+ for k, v in env:
1415
+ export_str.append('export %s=%s;' %
1416
+ (k, ninja_syntax.escape(gyp.common.EncodePOSIXShellArgument(v))))
1417
+ return ' '.join(export_str)
1418
+
1419
+ def ComputeMacBundleOutput(self):
1420
+ """Return the 'output' (full output path) to a bundle output directory."""
1421
+ assert self.is_mac_bundle
1422
+ path = generator_default_variables['PRODUCT_DIR']
1423
+ return self.ExpandSpecial(
1424
+ os.path.join(path, self.xcode_settings.GetWrapperName()))
1425
+
1426
+ def ComputeOutputFileName(self, spec, type=None):
1427
+ """Compute the filename of the final output for the current target."""
1428
+ if not type:
1429
+ type = spec['type']
1430
+
1431
+ default_variables = copy.copy(generator_default_variables)
1432
+ CalculateVariables(default_variables, {'flavor': self.flavor})
1433
+
1434
+ # Compute filename prefix: the product prefix, or a default for
1435
+ # the product type.
1436
+ DEFAULT_PREFIX = {
1437
+ 'loadable_module': default_variables['SHARED_LIB_PREFIX'],
1438
+ 'shared_library': default_variables['SHARED_LIB_PREFIX'],
1439
+ 'static_library': default_variables['STATIC_LIB_PREFIX'],
1440
+ 'executable': default_variables['EXECUTABLE_PREFIX'],
1441
+ }
1442
+ prefix = spec.get('product_prefix', DEFAULT_PREFIX.get(type, ''))
1443
+
1444
+ # Compute filename extension: the product extension, or a default
1445
+ # for the product type.
1446
+ DEFAULT_EXTENSION = {
1447
+ 'loadable_module': default_variables['SHARED_LIB_SUFFIX'],
1448
+ 'shared_library': default_variables['SHARED_LIB_SUFFIX'],
1449
+ 'static_library': default_variables['STATIC_LIB_SUFFIX'],
1450
+ 'executable': default_variables['EXECUTABLE_SUFFIX'],
1451
+ }
1452
+ extension = spec.get('product_extension')
1453
+ if extension:
1454
+ extension = '.' + extension
1455
+ else:
1456
+ extension = DEFAULT_EXTENSION.get(type, '')
1457
+
1458
+ if 'product_name' in spec:
1459
+ # If we were given an explicit name, use that.
1460
+ target = spec['product_name']
1461
+ else:
1462
+ # Otherwise, derive a name from the target name.
1463
+ target = spec['target_name']
1464
+ if prefix == 'lib':
1465
+ # Snip out an extra 'lib' from libs if appropriate.
1466
+ target = StripPrefix(target, 'lib')
1467
+
1468
+ if type in ('static_library', 'loadable_module', 'shared_library',
1469
+ 'executable'):
1470
+ return '%s%s%s' % (prefix, target, extension)
1471
+ elif type == 'none':
1472
+ return '%s.stamp' % target
1473
+ else:
1474
+ raise Exception('Unhandled output type %s' % type)
1475
+
1476
+ def ComputeOutput(self, spec, arch=None):
1477
+ """Compute the path for the final output of the spec."""
1478
+ type = spec['type']
1479
+
1480
+ if self.flavor == 'win':
1481
+ override = self.msvs_settings.GetOutputName(self.config_name,
1482
+ self.ExpandSpecial)
1483
+ if override:
1484
+ return override
1485
+
1486
+ if arch is None and self.flavor == 'mac' and type in (
1487
+ 'static_library', 'executable', 'shared_library', 'loadable_module'):
1488
+ filename = self.xcode_settings.GetExecutablePath()
1489
+ else:
1490
+ filename = self.ComputeOutputFileName(spec, type)
1491
+
1492
+ if arch is None and 'product_dir' in spec:
1493
+ path = os.path.join(spec['product_dir'], filename)
1494
+ return self.ExpandSpecial(path)
1495
+
1496
+ # Some products go into the output root, libraries go into shared library
1497
+ # dir, and everything else goes into the normal place.
1498
+ type_in_output_root = ['executable', 'loadable_module']
1499
+ if self.flavor == 'mac' and self.toolset == 'target':
1500
+ type_in_output_root += ['shared_library', 'static_library']
1501
+ elif self.flavor == 'win' and self.toolset == 'target':
1502
+ type_in_output_root += ['shared_library']
1503
+
1504
+ if arch is not None:
1505
+ # Make sure partial executables don't end up in a bundle or the regular
1506
+ # output directory.
1507
+ archdir = 'arch'
1508
+ if self.toolset != 'target':
1509
+ archdir = os.path.join('arch', '%s' % self.toolset)
1510
+ return os.path.join(archdir, AddArch(filename, arch))
1511
+ elif type in type_in_output_root or self.is_standalone_static_library:
1512
+ return filename
1513
+ elif type == 'shared_library':
1514
+ libdir = 'lib'
1515
+ if self.toolset != 'target':
1516
+ libdir = os.path.join('lib', '%s' % self.toolset)
1517
+ return os.path.join(libdir, filename)
1518
+ else:
1519
+ return self.GypPathToUniqueOutput(filename, qualified=False)
1520
+
1521
+ def WriteVariableList(self, ninja_file, var, values):
1522
+ assert not isinstance(values, str)
1523
+ if values is None:
1524
+ values = []
1525
+ ninja_file.variable(var, ' '.join(values))
1526
+
1527
+ def WriteNewNinjaRule(self, name, args, description, is_cygwin, env, pool,
1528
+ depfile=None):
1529
+ """Write out a new ninja "rule" statement for a given command.
1530
+
1531
+ Returns the name of the new rule, and a copy of |args| with variables
1532
+ expanded."""
1533
+
1534
+ if self.flavor == 'win':
1535
+ args = [self.msvs_settings.ConvertVSMacros(
1536
+ arg, self.base_to_build, config=self.config_name)
1537
+ for arg in args]
1538
+ description = self.msvs_settings.ConvertVSMacros(
1539
+ description, config=self.config_name)
1540
+ elif self.flavor == 'mac':
1541
+ # |env| is an empty list on non-mac.
1542
+ args = [gyp.xcode_emulation.ExpandEnvVars(arg, env) for arg in args]
1543
+ description = gyp.xcode_emulation.ExpandEnvVars(description, env)
1544
+
1545
+ # TODO: we shouldn't need to qualify names; we do it because
1546
+ # currently the ninja rule namespace is global, but it really
1547
+ # should be scoped to the subninja.
1548
+ rule_name = self.name
1549
+ if self.toolset == 'target':
1550
+ rule_name += '.' + self.toolset
1551
+ rule_name += '.' + name
1552
+ rule_name = re.sub('[^a-zA-Z0-9_]', '_', rule_name)
1553
+
1554
+ # Remove variable references, but not if they refer to the magic rule
1555
+ # variables. This is not quite right, as it also protects these for
1556
+ # actions, not just for rules where they are valid. Good enough.
1557
+ protect = [ '${root}', '${dirname}', '${source}', '${ext}', '${name}' ]
1558
+ protect = '(?!' + '|'.join(map(re.escape, protect)) + ')'
1559
+ description = re.sub(protect + r'\$', '_', description)
1560
+
1561
+ # gyp dictates that commands are run from the base directory.
1562
+ # cd into the directory before running, and adjust paths in
1563
+ # the arguments to point to the proper locations.
1564
+ rspfile = None
1565
+ rspfile_content = None
1566
+ args = [self.ExpandSpecial(arg, self.base_to_build) for arg in args]
1567
+ if self.flavor == 'win':
1568
+ rspfile = rule_name + '.$unique_name.rsp'
1569
+ # The cygwin case handles this inside the bash sub-shell.
1570
+ run_in = '' if is_cygwin else ' ' + self.build_to_base
1571
+ if is_cygwin:
1572
+ rspfile_content = self.msvs_settings.BuildCygwinBashCommandLine(
1573
+ args, self.build_to_base)
1574
+ else:
1575
+ rspfile_content = gyp.msvs_emulation.EncodeRspFileList(args)
1576
+ command = ('%s gyp-win-tool action-wrapper $arch ' % sys.executable +
1577
+ rspfile + run_in)
1578
+ else:
1579
+ env = self.ComputeExportEnvString(env)
1580
+ command = gyp.common.EncodePOSIXShellList(args)
1581
+ command = 'cd %s; ' % self.build_to_base + env + command
1582
+
1583
+ # GYP rules/actions express being no-ops by not touching their outputs.
1584
+ # Avoid executing downstream dependencies in this case by specifying
1585
+ # restat=1 to ninja.
1586
+ self.ninja.rule(rule_name, command, description, depfile=depfile,
1587
+ restat=True, pool=pool,
1588
+ rspfile=rspfile, rspfile_content=rspfile_content)
1589
+ self.ninja.newline()
1590
+
1591
+ return rule_name, args
1592
+
1593
+
1594
+ def CalculateVariables(default_variables, params):
1595
+ """Calculate additional variables for use in the build (called by gyp)."""
1596
+ global generator_additional_non_configuration_keys
1597
+ global generator_additional_path_sections
1598
+ flavor = gyp.common.GetFlavor(params)
1599
+ if flavor == 'mac':
1600
+ default_variables.setdefault('OS', 'mac')
1601
+ default_variables.setdefault('SHARED_LIB_SUFFIX', '.dylib')
1602
+ default_variables.setdefault('SHARED_LIB_DIR',
1603
+ generator_default_variables['PRODUCT_DIR'])
1604
+ default_variables.setdefault('LIB_DIR',
1605
+ generator_default_variables['PRODUCT_DIR'])
1606
+
1607
+ # Copy additional generator configuration data from Xcode, which is shared
1608
+ # by the Mac Ninja generator.
1609
+ import gyp.generator.xcode as xcode_generator
1610
+ generator_additional_non_configuration_keys = getattr(xcode_generator,
1611
+ 'generator_additional_non_configuration_keys', [])
1612
+ generator_additional_path_sections = getattr(xcode_generator,
1613
+ 'generator_additional_path_sections', [])
1614
+ global generator_extra_sources_for_rules
1615
+ generator_extra_sources_for_rules = getattr(xcode_generator,
1616
+ 'generator_extra_sources_for_rules', [])
1617
+ elif flavor == 'win':
1618
+ exts = gyp.MSVSUtil.TARGET_TYPE_EXT
1619
+ default_variables.setdefault('OS', 'win')
1620
+ default_variables['EXECUTABLE_SUFFIX'] = '.' + exts['executable']
1621
+ default_variables['STATIC_LIB_PREFIX'] = ''
1622
+ default_variables['STATIC_LIB_SUFFIX'] = '.' + exts['static_library']
1623
+ default_variables['SHARED_LIB_PREFIX'] = ''
1624
+ default_variables['SHARED_LIB_SUFFIX'] = '.' + exts['shared_library']
1625
+
1626
+ # Copy additional generator configuration data from VS, which is shared
1627
+ # by the Windows Ninja generator.
1628
+ import gyp.generator.msvs as msvs_generator
1629
+ generator_additional_non_configuration_keys = getattr(msvs_generator,
1630
+ 'generator_additional_non_configuration_keys', [])
1631
+ generator_additional_path_sections = getattr(msvs_generator,
1632
+ 'generator_additional_path_sections', [])
1633
+
1634
+ gyp.msvs_emulation.CalculateCommonVariables(default_variables, params)
1635
+ else:
1636
+ operating_system = flavor
1637
+ if flavor == 'android':
1638
+ operating_system = 'linux' # Keep this legacy behavior for now.
1639
+ default_variables.setdefault('OS', operating_system)
1640
+ default_variables.setdefault('SHARED_LIB_SUFFIX', '.so')
1641
+ default_variables.setdefault('SHARED_LIB_DIR',
1642
+ os.path.join('$!PRODUCT_DIR', 'lib'))
1643
+ default_variables.setdefault('LIB_DIR',
1644
+ os.path.join('$!PRODUCT_DIR', 'obj'))
1645
+
1646
+ def ComputeOutputDir(params):
1647
+ """Returns the path from the toplevel_dir to the build output directory."""
1648
+ # generator_dir: relative path from pwd to where make puts build files.
1649
+ # Makes migrating from make to ninja easier, ninja doesn't put anything here.
1650
+ generator_dir = os.path.relpath(params['options'].generator_output or '.')
1651
+
1652
+ # output_dir: relative path from generator_dir to the build directory.
1653
+ output_dir = params.get('generator_flags', {}).get('output_dir', 'out')
1654
+
1655
+ # Relative path from source root to our output files. e.g. "out"
1656
+ return os.path.normpath(os.path.join(generator_dir, output_dir))
1657
+
1658
+
1659
+ def CalculateGeneratorInputInfo(params):
1660
+ """Called by __init__ to initialize generator values based on params."""
1661
+ # E.g. "out/gypfiles"
1662
+ toplevel = params['options'].toplevel_dir
1663
+ qualified_out_dir = os.path.normpath(os.path.join(
1664
+ toplevel, ComputeOutputDir(params), 'gypfiles'))
1665
+
1666
+ global generator_filelist_paths
1667
+ generator_filelist_paths = {
1668
+ 'toplevel': toplevel,
1669
+ 'qualified_out_dir': qualified_out_dir,
1670
+ }
1671
+
1672
+
1673
+ def OpenOutput(path, mode='w'):
1674
+ """Open |path| for writing, creating directories if necessary."""
1675
+ gyp.common.EnsureDirExists(path)
1676
+ return open(path, mode)
1677
+
1678
+
1679
+ def CommandWithWrapper(cmd, wrappers, prog):
1680
+ wrapper = wrappers.get(cmd, '')
1681
+ if wrapper:
1682
+ return wrapper + ' ' + prog
1683
+ return prog
1684
+
1685
+
1686
+ def GetDefaultConcurrentLinks():
1687
+ """Returns a best-guess for a number of concurrent links."""
1688
+ pool_size = int(os.environ.get('GYP_LINK_CONCURRENCY', 0))
1689
+ if pool_size:
1690
+ return pool_size
1691
+
1692
+ if sys.platform in ('win32', 'cygwin'):
1693
+ import ctypes
1694
+
1695
+ class MEMORYSTATUSEX(ctypes.Structure):
1696
+ _fields_ = [
1697
+ ("dwLength", ctypes.c_ulong),
1698
+ ("dwMemoryLoad", ctypes.c_ulong),
1699
+ ("ullTotalPhys", ctypes.c_ulonglong),
1700
+ ("ullAvailPhys", ctypes.c_ulonglong),
1701
+ ("ullTotalPageFile", ctypes.c_ulonglong),
1702
+ ("ullAvailPageFile", ctypes.c_ulonglong),
1703
+ ("ullTotalVirtual", ctypes.c_ulonglong),
1704
+ ("ullAvailVirtual", ctypes.c_ulonglong),
1705
+ ("sullAvailExtendedVirtual", ctypes.c_ulonglong),
1706
+ ]
1707
+
1708
+ stat = MEMORYSTATUSEX()
1709
+ stat.dwLength = ctypes.sizeof(stat)
1710
+ ctypes.windll.kernel32.GlobalMemoryStatusEx(ctypes.byref(stat))
1711
+
1712
+ # VS 2015 uses 20% more working set than VS 2013 and can consume all RAM
1713
+ # on a 64 GB machine.
1714
+ mem_limit = max(1, stat.ullTotalPhys / (5 * (2 ** 30))) # total / 5GB
1715
+ hard_cap = max(1, int(os.environ.get('GYP_LINK_CONCURRENCY_MAX', 2**32)))
1716
+ return min(mem_limit, hard_cap)
1717
+ elif sys.platform.startswith('linux'):
1718
+ if os.path.exists("/proc/meminfo"):
1719
+ with open("/proc/meminfo") as meminfo:
1720
+ memtotal_re = re.compile(r'^MemTotal:\s*(\d*)\s*kB')
1721
+ for line in meminfo:
1722
+ match = memtotal_re.match(line)
1723
+ if not match:
1724
+ continue
1725
+ # Allow 8Gb per link on Linux because Gold is quite memory hungry
1726
+ return max(1, int(match.group(1)) / (8 * (2 ** 20)))
1727
+ return 1
1728
+ elif sys.platform == 'darwin':
1729
+ try:
1730
+ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
1731
+ # A static library debug build of Chromium's unit_tests takes ~2.7GB, so
1732
+ # 4GB per ld process allows for some more bloat.
1733
+ return max(1, avail_bytes / (4 * (2 ** 30))) # total / 4GB
1734
+ except:
1735
+ return 1
1736
+ else:
1737
+ # TODO(scottmg): Implement this for other platforms.
1738
+ return 1
1739
+
1740
+
1741
+ def _GetWinLinkRuleNameSuffix(embed_manifest):
1742
+ """Returns the suffix used to select an appropriate linking rule depending on
1743
+ whether the manifest embedding is enabled."""
1744
+ return '_embed' if embed_manifest else ''
1745
+
1746
+
1747
+ def _AddWinLinkRules(master_ninja, embed_manifest):
1748
+ """Adds link rules for Windows platform to |master_ninja|."""
1749
+ def FullLinkCommand(ldcmd, out, binary_type):
1750
+ resource_name = {
1751
+ 'exe': '1',
1752
+ 'dll': '2',
1753
+ }[binary_type]
1754
+ return '%(python)s gyp-win-tool link-with-manifests $arch %(embed)s ' \
1755
+ '%(out)s "%(ldcmd)s" %(resname)s $mt $rc "$intermediatemanifest" ' \
1756
+ '$manifests' % {
1757
+ 'python': sys.executable,
1758
+ 'out': out,
1759
+ 'ldcmd': ldcmd,
1760
+ 'resname': resource_name,
1761
+ 'embed': embed_manifest }
1762
+ rule_name_suffix = _GetWinLinkRuleNameSuffix(embed_manifest)
1763
+ use_separate_mspdbsrv = (
1764
+ int(os.environ.get('GYP_USE_SEPARATE_MSPDBSRV', '0')) != 0)
1765
+ dlldesc = 'LINK%s(DLL) $binary' % rule_name_suffix.upper()
1766
+ dllcmd = ('%s gyp-win-tool link-wrapper $arch %s '
1767
+ '$ld /nologo $implibflag /DLL /OUT:$binary '
1768
+ '@$binary.rsp' % (sys.executable, use_separate_mspdbsrv))
1769
+ dllcmd = FullLinkCommand(dllcmd, '$binary', 'dll')
1770
+ master_ninja.rule('solink' + rule_name_suffix,
1771
+ description=dlldesc, command=dllcmd,
1772
+ rspfile='$binary.rsp',
1773
+ rspfile_content='$libs $in_newline $ldflags',
1774
+ restat=True,
1775
+ pool='link_pool')
1776
+ master_ninja.rule('solink_module' + rule_name_suffix,
1777
+ description=dlldesc, command=dllcmd,
1778
+ rspfile='$binary.rsp',
1779
+ rspfile_content='$libs $in_newline $ldflags',
1780
+ restat=True,
1781
+ pool='link_pool')
1782
+ # Note that ldflags goes at the end so that it has the option of
1783
+ # overriding default settings earlier in the command line.
1784
+ exe_cmd = ('%s gyp-win-tool link-wrapper $arch %s '
1785
+ '$ld /nologo /OUT:$binary @$binary.rsp' %
1786
+ (sys.executable, use_separate_mspdbsrv))
1787
+ exe_cmd = FullLinkCommand(exe_cmd, '$binary', 'exe')
1788
+ master_ninja.rule('link' + rule_name_suffix,
1789
+ description='LINK%s $binary' % rule_name_suffix.upper(),
1790
+ command=exe_cmd,
1791
+ rspfile='$binary.rsp',
1792
+ rspfile_content='$in_newline $libs $ldflags',
1793
+ pool='link_pool')
1794
+
1795
+
1796
+ def GenerateOutputForConfig(target_list, target_dicts, data, params,
1797
+ config_name):
1798
+ options = params['options']
1799
+ flavor = gyp.common.GetFlavor(params)
1800
+ generator_flags = params.get('generator_flags', {})
1801
+
1802
+ # build_dir: relative path from source root to our output files.
1803
+ # e.g. "out/Debug"
1804
+ build_dir = os.path.normpath(
1805
+ os.path.join(ComputeOutputDir(params), config_name))
1806
+
1807
+ toplevel_build = os.path.join(options.toplevel_dir, build_dir)
1808
+
1809
+ master_ninja_file = OpenOutput(os.path.join(toplevel_build, 'build.ninja'))
1810
+ master_ninja = ninja_syntax.Writer(master_ninja_file, width=120)
1811
+
1812
+ # Put build-time support tools in out/{config_name}.
1813
+ gyp.common.CopyTool(flavor, toplevel_build)
1814
+
1815
+ # Grab make settings for CC/CXX.
1816
+ # The rules are
1817
+ # - The priority from low to high is gcc/g++, the 'make_global_settings' in
1818
+ # gyp, the environment variable.
1819
+ # - If there is no 'make_global_settings' for CC.host/CXX.host or
1820
+ # 'CC_host'/'CXX_host' enviroment variable, cc_host/cxx_host should be set
1821
+ # to cc/cxx.
1822
+ if flavor == 'win':
1823
+ ar = 'lib.exe'
1824
+ # cc and cxx must be set to the correct architecture by overriding with one
1825
+ # of cl_x86 or cl_x64 below.
1826
+ cc = 'UNSET'
1827
+ cxx = 'UNSET'
1828
+ ld = 'link.exe'
1829
+ ld_host = '$ld'
1830
+ else:
1831
+ ar = 'ar'
1832
+ cc = 'cc'
1833
+ cxx = 'c++'
1834
+ ld = '$cc'
1835
+ ldxx = '$cxx'
1836
+ ld_host = '$cc_host'
1837
+ ldxx_host = '$cxx_host'
1838
+
1839
+ ar_host = 'ar'
1840
+ cc_host = None
1841
+ cxx_host = None
1842
+ cc_host_global_setting = None
1843
+ cxx_host_global_setting = None
1844
+ clang_cl = None
1845
+ nm = 'nm'
1846
+ nm_host = 'nm'
1847
+ readelf = 'readelf'
1848
+ readelf_host = 'readelf'
1849
+
1850
+ build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0])
1851
+ make_global_settings = data[build_file].get('make_global_settings', [])
1852
+ build_to_root = gyp.common.InvertRelativePath(build_dir,
1853
+ options.toplevel_dir)
1854
+ wrappers = {}
1855
+ for key, value in make_global_settings:
1856
+ if key == 'AR':
1857
+ ar = os.path.join(build_to_root, value)
1858
+ if key == 'AR.host':
1859
+ ar_host = os.path.join(build_to_root, value)
1860
+ if key == 'CC':
1861
+ cc = os.path.join(build_to_root, value)
1862
+ if cc.endswith('clang-cl'):
1863
+ clang_cl = cc
1864
+ if key == 'CXX':
1865
+ cxx = os.path.join(build_to_root, value)
1866
+ if key == 'CC.host':
1867
+ cc_host = os.path.join(build_to_root, value)
1868
+ cc_host_global_setting = value
1869
+ if key == 'CXX.host':
1870
+ cxx_host = os.path.join(build_to_root, value)
1871
+ cxx_host_global_setting = value
1872
+ if key == 'LD':
1873
+ ld = os.path.join(build_to_root, value)
1874
+ if key == 'LD.host':
1875
+ ld_host = os.path.join(build_to_root, value)
1876
+ if key == 'NM':
1877
+ nm = os.path.join(build_to_root, value)
1878
+ if key == 'NM.host':
1879
+ nm_host = os.path.join(build_to_root, value)
1880
+ if key == 'READELF':
1881
+ readelf = os.path.join(build_to_root, value)
1882
+ if key == 'READELF.host':
1883
+ readelf_host = os.path.join(build_to_root, value)
1884
+ if key.endswith('_wrapper'):
1885
+ wrappers[key[:-len('_wrapper')]] = os.path.join(build_to_root, value)
1886
+
1887
+ # Support wrappers from environment variables too.
1888
+ for key, value in os.environ.iteritems():
1889
+ if key.lower().endswith('_wrapper'):
1890
+ key_prefix = key[:-len('_wrapper')]
1891
+ key_prefix = re.sub(r'\.HOST$', '.host', key_prefix)
1892
+ wrappers[key_prefix] = os.path.join(build_to_root, value)
1893
+
1894
+ if flavor == 'win':
1895
+ configs = [target_dicts[qualified_target]['configurations'][config_name]
1896
+ for qualified_target in target_list]
1897
+ shared_system_includes = None
1898
+ if not generator_flags.get('ninja_use_custom_environment_files', 0):
1899
+ shared_system_includes = \
1900
+ gyp.msvs_emulation.ExtractSharedMSVSSystemIncludes(
1901
+ configs, generator_flags)
1902
+ cl_paths = gyp.msvs_emulation.GenerateEnvironmentFiles(
1903
+ toplevel_build, generator_flags, shared_system_includes, OpenOutput)
1904
+ for arch, path in cl_paths.iteritems():
1905
+ if clang_cl:
1906
+ # If we have selected clang-cl, use that instead.
1907
+ path = clang_cl
1908
+ command = CommandWithWrapper('CC', wrappers,
1909
+ QuoteShellArgument(path, 'win'))
1910
+ if clang_cl:
1911
+ # Use clang-cl to cross-compile for x86 or x86_64.
1912
+ command += (' -m32' if arch == 'x86' else ' -m64')
1913
+ master_ninja.variable('cl_' + arch, command)
1914
+
1915
+ cc = GetEnvironFallback(['CC_target', 'CC'], cc)
1916
+ master_ninja.variable('cc', CommandWithWrapper('CC', wrappers, cc))
1917
+ cxx = GetEnvironFallback(['CXX_target', 'CXX'], cxx)
1918
+ master_ninja.variable('cxx', CommandWithWrapper('CXX', wrappers, cxx))
1919
+
1920
+ if flavor == 'win':
1921
+ master_ninja.variable('ld', ld)
1922
+ master_ninja.variable('idl', 'midl.exe')
1923
+ master_ninja.variable('ar', ar)
1924
+ master_ninja.variable('rc', 'rc.exe')
1925
+ master_ninja.variable('ml_x86', 'ml.exe')
1926
+ master_ninja.variable('ml_x64', 'ml64.exe')
1927
+ master_ninja.variable('mt', 'mt.exe')
1928
+ else:
1929
+ master_ninja.variable('ld', CommandWithWrapper('LINK', wrappers, ld))
1930
+ master_ninja.variable('ldxx', CommandWithWrapper('LINK', wrappers, ldxx))
1931
+ master_ninja.variable('ar', GetEnvironFallback(['AR_target', 'AR'], ar))
1932
+ if flavor != 'mac':
1933
+ # Mac does not use readelf/nm for .TOC generation, so avoiding polluting
1934
+ # the master ninja with extra unused variables.
1935
+ master_ninja.variable(
1936
+ 'nm', GetEnvironFallback(['NM_target', 'NM'], nm))
1937
+ master_ninja.variable(
1938
+ 'readelf', GetEnvironFallback(['READELF_target', 'READELF'], readelf))
1939
+
1940
+ if generator_supports_multiple_toolsets:
1941
+ if not cc_host:
1942
+ cc_host = cc
1943
+ if not cxx_host:
1944
+ cxx_host = cxx
1945
+
1946
+ master_ninja.variable('ar_host', GetEnvironFallback(['AR_host'], ar_host))
1947
+ master_ninja.variable('nm_host', GetEnvironFallback(['NM_host'], nm_host))
1948
+ master_ninja.variable('readelf_host',
1949
+ GetEnvironFallback(['READELF_host'], readelf_host))
1950
+ cc_host = GetEnvironFallback(['CC_host'], cc_host)
1951
+ cxx_host = GetEnvironFallback(['CXX_host'], cxx_host)
1952
+
1953
+ # The environment variable could be used in 'make_global_settings', like
1954
+ # ['CC.host', '$(CC)'] or ['CXX.host', '$(CXX)'], transform them here.
1955
+ if '$(CC)' in cc_host and cc_host_global_setting:
1956
+ cc_host = cc_host_global_setting.replace('$(CC)', cc)
1957
+ if '$(CXX)' in cxx_host and cxx_host_global_setting:
1958
+ cxx_host = cxx_host_global_setting.replace('$(CXX)', cxx)
1959
+ master_ninja.variable('cc_host',
1960
+ CommandWithWrapper('CC.host', wrappers, cc_host))
1961
+ master_ninja.variable('cxx_host',
1962
+ CommandWithWrapper('CXX.host', wrappers, cxx_host))
1963
+ if flavor == 'win':
1964
+ master_ninja.variable('ld_host', ld_host)
1965
+ else:
1966
+ master_ninja.variable('ld_host', CommandWithWrapper(
1967
+ 'LINK', wrappers, ld_host))
1968
+ master_ninja.variable('ldxx_host', CommandWithWrapper(
1969
+ 'LINK', wrappers, ldxx_host))
1970
+
1971
+ master_ninja.newline()
1972
+
1973
+ master_ninja.pool('link_pool', depth=GetDefaultConcurrentLinks())
1974
+ master_ninja.newline()
1975
+
1976
+ deps = 'msvc' if flavor == 'win' else 'gcc'
1977
+
1978
+ if flavor != 'win':
1979
+ master_ninja.rule(
1980
+ 'cc',
1981
+ description='CC $out',
1982
+ command=('$cc -MMD -MF $out.d $defines $includes $cflags $cflags_c '
1983
+ '$cflags_pch_c -c $in -o $out'),
1984
+ depfile='$out.d',
1985
+ deps=deps)
1986
+ master_ninja.rule(
1987
+ 'cc_s',
1988
+ description='CC $out',
1989
+ command=('$cc $defines $includes $cflags $cflags_c '
1990
+ '$cflags_pch_c -c $in -o $out'))
1991
+ master_ninja.rule(
1992
+ 'cxx',
1993
+ description='CXX $out',
1994
+ command=('$cxx -MMD -MF $out.d $defines $includes $cflags $cflags_cc '
1995
+ '$cflags_pch_cc -c $in -o $out'),
1996
+ depfile='$out.d',
1997
+ deps=deps)
1998
+ else:
1999
+ # TODO(scottmg) Separate pdb names is a test to see if it works around
2000
+ # http://crbug.com/142362. It seems there's a race between the creation of
2001
+ # the .pdb by the precompiled header step for .cc and the compilation of
2002
+ # .c files. This should be handled by mspdbsrv, but rarely errors out with
2003
+ # c1xx : fatal error C1033: cannot open program database
2004
+ # By making the rules target separate pdb files this might be avoided.
2005
+ cc_command = ('ninja -t msvc -e $arch ' +
2006
+ '-- '
2007
+ '$cc /nologo /showIncludes /FC '
2008
+ '@$out.rsp /c $in /Fo$out /Fd$pdbname_c ')
2009
+ cxx_command = ('ninja -t msvc -e $arch ' +
2010
+ '-- '
2011
+ '$cxx /nologo /showIncludes /FC '
2012
+ '@$out.rsp /c $in /Fo$out /Fd$pdbname_cc ')
2013
+ master_ninja.rule(
2014
+ 'cc',
2015
+ description='CC $out',
2016
+ command=cc_command,
2017
+ rspfile='$out.rsp',
2018
+ rspfile_content='$defines $includes $cflags $cflags_c',
2019
+ deps=deps)
2020
+ master_ninja.rule(
2021
+ 'cxx',
2022
+ description='CXX $out',
2023
+ command=cxx_command,
2024
+ rspfile='$out.rsp',
2025
+ rspfile_content='$defines $includes $cflags $cflags_cc',
2026
+ deps=deps)
2027
+ master_ninja.rule(
2028
+ 'idl',
2029
+ description='IDL $in',
2030
+ command=('%s gyp-win-tool midl-wrapper $arch $outdir '
2031
+ '$tlb $h $dlldata $iid $proxy $in '
2032
+ '$midl_includes $idlflags' % sys.executable))
2033
+ master_ninja.rule(
2034
+ 'rc',
2035
+ description='RC $in',
2036
+ # Note: $in must be last otherwise rc.exe complains.
2037
+ command=('%s gyp-win-tool rc-wrapper '
2038
+ '$arch $rc $defines $resource_includes $rcflags /fo$out $in' %
2039
+ sys.executable))
2040
+ master_ninja.rule(
2041
+ 'asm',
2042
+ description='ASM $out',
2043
+ command=('%s gyp-win-tool asm-wrapper '
2044
+ '$arch $asm $defines $includes $asmflags /c /Fo $out $in' %
2045
+ sys.executable))
2046
+
2047
+ if flavor != 'mac' and flavor != 'win':
2048
+ master_ninja.rule(
2049
+ 'alink',
2050
+ description='AR $out',
2051
+ command='rm -f $out && $ar rcs $arflags $out $in')
2052
+ master_ninja.rule(
2053
+ 'alink_thin',
2054
+ description='AR $out',
2055
+ command='rm -f $out && $ar rcsT $arflags $out $in')
2056
+
2057
+ # This allows targets that only need to depend on $lib's API to declare an
2058
+ # order-only dependency on $lib.TOC and avoid relinking such downstream
2059
+ # dependencies when $lib changes only in non-public ways.
2060
+ # The resulting string leaves an uninterpolated %{suffix} which
2061
+ # is used in the final substitution below.
2062
+ mtime_preserving_solink_base = (
2063
+ 'if [ ! -e $lib -o ! -e $lib.TOC ]; then '
2064
+ '%(solink)s && %(extract_toc)s > $lib.TOC; else '
2065
+ '%(solink)s && %(extract_toc)s > $lib.tmp && '
2066
+ 'if ! cmp -s $lib.tmp $lib.TOC; then mv $lib.tmp $lib.TOC ; '
2067
+ 'fi; fi'
2068
+ % { 'solink':
2069
+ '$ld -shared $ldflags -o $lib -Wl,-soname=$soname %(suffix)s',
2070
+ 'extract_toc':
2071
+ ('{ $readelf -d $lib | grep SONAME ; '
2072
+ '$nm -gD -f p $lib | cut -f1-2 -d\' \'; }')})
2073
+
2074
+ master_ninja.rule(
2075
+ 'solink',
2076
+ description='SOLINK $lib',
2077
+ restat=True,
2078
+ command=mtime_preserving_solink_base % {'suffix': '@$link_file_list'},
2079
+ rspfile='$link_file_list',
2080
+ rspfile_content=
2081
+ '-Wl,--whole-archive $in $solibs -Wl,--no-whole-archive $libs',
2082
+ pool='link_pool')
2083
+ master_ninja.rule(
2084
+ 'solink_module',
2085
+ description='SOLINK(module) $lib',
2086
+ restat=True,
2087
+ command=mtime_preserving_solink_base % {'suffix': '@$link_file_list'},
2088
+ rspfile='$link_file_list',
2089
+ rspfile_content='-Wl,--start-group $in -Wl,--end-group $solibs $libs',
2090
+ pool='link_pool')
2091
+ master_ninja.rule(
2092
+ 'link',
2093
+ description='LINK $out',
2094
+ command=('$ld $ldflags -o $out '
2095
+ '-Wl,--start-group $in -Wl,--end-group $solibs $libs'),
2096
+ pool='link_pool')
2097
+ elif flavor == 'win':
2098
+ master_ninja.rule(
2099
+ 'alink',
2100
+ description='LIB $out',
2101
+ command=('%s gyp-win-tool link-wrapper $arch False '
2102
+ '$ar /nologo /ignore:4221 /OUT:$out @$out.rsp' %
2103
+ sys.executable),
2104
+ rspfile='$out.rsp',
2105
+ rspfile_content='$in_newline $libflags')
2106
+ _AddWinLinkRules(master_ninja, embed_manifest=True)
2107
+ _AddWinLinkRules(master_ninja, embed_manifest=False)
2108
+ else:
2109
+ master_ninja.rule(
2110
+ 'objc',
2111
+ description='OBJC $out',
2112
+ command=('$cc -MMD -MF $out.d $defines $includes $cflags $cflags_objc '
2113
+ '$cflags_pch_objc -c $in -o $out'),
2114
+ depfile='$out.d',
2115
+ deps=deps)
2116
+ master_ninja.rule(
2117
+ 'objcxx',
2118
+ description='OBJCXX $out',
2119
+ command=('$cxx -MMD -MF $out.d $defines $includes $cflags $cflags_objcc '
2120
+ '$cflags_pch_objcc -c $in -o $out'),
2121
+ depfile='$out.d',
2122
+ deps=deps)
2123
+ master_ninja.rule(
2124
+ 'alink',
2125
+ description='LIBTOOL-STATIC $out, POSTBUILDS',
2126
+ command='rm -f $out && '
2127
+ './gyp-mac-tool filter-libtool libtool $libtool_flags '
2128
+ '-static -o $out $in'
2129
+ '$postbuilds')
2130
+ master_ninja.rule(
2131
+ 'lipo',
2132
+ description='LIPO $out, POSTBUILDS',
2133
+ command='rm -f $out && lipo -create $in -output $out$postbuilds')
2134
+ master_ninja.rule(
2135
+ 'solipo',
2136
+ description='SOLIPO $out, POSTBUILDS',
2137
+ command=(
2138
+ 'rm -f $lib $lib.TOC && lipo -create $in -output $lib$postbuilds &&'
2139
+ '%(extract_toc)s > $lib.TOC'
2140
+ % { 'extract_toc':
2141
+ '{ otool -l $lib | grep LC_ID_DYLIB -A 5; '
2142
+ 'nm -gP $lib | cut -f1-2 -d\' \' | grep -v U$$; true; }'}))
2143
+
2144
+
2145
+ # Record the public interface of $lib in $lib.TOC. See the corresponding
2146
+ # comment in the posix section above for details.
2147
+ solink_base = '$ld %(type)s $ldflags -o $lib %(suffix)s'
2148
+ mtime_preserving_solink_base = (
2149
+ 'if [ ! -e $lib -o ! -e $lib.TOC ] || '
2150
+ # Always force dependent targets to relink if this library
2151
+ # reexports something. Handling this correctly would require
2152
+ # recursive TOC dumping but this is rare in practice, so punt.
2153
+ 'otool -l $lib | grep -q LC_REEXPORT_DYLIB ; then '
2154
+ '%(solink)s && %(extract_toc)s > $lib.TOC; '
2155
+ 'else '
2156
+ '%(solink)s && %(extract_toc)s > $lib.tmp && '
2157
+ 'if ! cmp -s $lib.tmp $lib.TOC; then '
2158
+ 'mv $lib.tmp $lib.TOC ; '
2159
+ 'fi; '
2160
+ 'fi'
2161
+ % { 'solink': solink_base,
2162
+ 'extract_toc':
2163
+ '{ otool -l $lib | grep LC_ID_DYLIB -A 5; '
2164
+ 'nm -gP $lib | cut -f1-2 -d\' \' | grep -v U$$; true; }'})
2165
+
2166
+
2167
+ solink_suffix = '@$link_file_list$postbuilds'
2168
+ master_ninja.rule(
2169
+ 'solink',
2170
+ description='SOLINK $lib, POSTBUILDS',
2171
+ restat=True,
2172
+ command=mtime_preserving_solink_base % {'suffix': solink_suffix,
2173
+ 'type': '-shared'},
2174
+ rspfile='$link_file_list',
2175
+ rspfile_content='$in $solibs $libs',
2176
+ pool='link_pool')
2177
+ master_ninja.rule(
2178
+ 'solink_notoc',
2179
+ description='SOLINK $lib, POSTBUILDS',
2180
+ restat=True,
2181
+ command=solink_base % {'suffix':solink_suffix, 'type': '-shared'},
2182
+ rspfile='$link_file_list',
2183
+ rspfile_content='$in $solibs $libs',
2184
+ pool='link_pool')
2185
+
2186
+ master_ninja.rule(
2187
+ 'solink_module',
2188
+ description='SOLINK(module) $lib, POSTBUILDS',
2189
+ restat=True,
2190
+ command=mtime_preserving_solink_base % {'suffix': solink_suffix,
2191
+ 'type': '-bundle'},
2192
+ rspfile='$link_file_list',
2193
+ rspfile_content='$in $solibs $libs',
2194
+ pool='link_pool')
2195
+ master_ninja.rule(
2196
+ 'solink_module_notoc',
2197
+ description='SOLINK(module) $lib, POSTBUILDS',
2198
+ restat=True,
2199
+ command=solink_base % {'suffix': solink_suffix, 'type': '-bundle'},
2200
+ rspfile='$link_file_list',
2201
+ rspfile_content='$in $solibs $libs',
2202
+ pool='link_pool')
2203
+
2204
+ master_ninja.rule(
2205
+ 'link',
2206
+ description='LINK $out, POSTBUILDS',
2207
+ command=('$ld $ldflags -o $out '
2208
+ '$in $solibs $libs$postbuilds'),
2209
+ pool='link_pool')
2210
+ master_ninja.rule(
2211
+ 'preprocess_infoplist',
2212
+ description='PREPROCESS INFOPLIST $out',
2213
+ command=('$cc -E -P -Wno-trigraphs -x c $defines $in -o $out && '
2214
+ 'plutil -convert xml1 $out $out'))
2215
+ master_ninja.rule(
2216
+ 'copy_infoplist',
2217
+ description='COPY INFOPLIST $in',
2218
+ command='$env ./gyp-mac-tool copy-info-plist $in $out $binary $keys')
2219
+ master_ninja.rule(
2220
+ 'merge_infoplist',
2221
+ description='MERGE INFOPLISTS $in',
2222
+ command='$env ./gyp-mac-tool merge-info-plist $out $in')
2223
+ master_ninja.rule(
2224
+ 'compile_xcassets',
2225
+ description='COMPILE XCASSETS $in',
2226
+ command='$env ./gyp-mac-tool compile-xcassets $keys $in')
2227
+ master_ninja.rule(
2228
+ 'mac_tool',
2229
+ description='MACTOOL $mactool_cmd $in',
2230
+ command='$env ./gyp-mac-tool $mactool_cmd $in $out $binary')
2231
+ master_ninja.rule(
2232
+ 'package_framework',
2233
+ description='PACKAGE FRAMEWORK $out, POSTBUILDS',
2234
+ command='./gyp-mac-tool package-framework $out $version$postbuilds '
2235
+ '&& touch $out')
2236
+ if flavor == 'win':
2237
+ master_ninja.rule(
2238
+ 'stamp',
2239
+ description='STAMP $out',
2240
+ command='%s gyp-win-tool stamp $out' % sys.executable)
2241
+ master_ninja.rule(
2242
+ 'copy',
2243
+ description='COPY $in $out',
2244
+ command='%s gyp-win-tool recursive-mirror $in $out' % sys.executable)
2245
+ else:
2246
+ master_ninja.rule(
2247
+ 'stamp',
2248
+ description='STAMP $out',
2249
+ command='${postbuilds}touch $out')
2250
+ master_ninja.rule(
2251
+ 'copy',
2252
+ description='COPY $in $out',
2253
+ command='rm -rf $out && cp -af $in $out')
2254
+ master_ninja.newline()
2255
+
2256
+ all_targets = set()
2257
+ for build_file in params['build_files']:
2258
+ for target in gyp.common.AllTargets(target_list,
2259
+ target_dicts,
2260
+ os.path.normpath(build_file)):
2261
+ all_targets.add(target)
2262
+ all_outputs = set()
2263
+
2264
+ # target_outputs is a map from qualified target name to a Target object.
2265
+ target_outputs = {}
2266
+ # target_short_names is a map from target short name to a list of Target
2267
+ # objects.
2268
+ target_short_names = {}
2269
+
2270
+ # short name of targets that were skipped because they didn't contain anything
2271
+ # interesting.
2272
+ # NOTE: there may be overlap between this an non_empty_target_names.
2273
+ empty_target_names = set()
2274
+
2275
+ # Set of non-empty short target names.
2276
+ # NOTE: there may be overlap between this an empty_target_names.
2277
+ non_empty_target_names = set()
2278
+
2279
+ for qualified_target in target_list:
2280
+ # qualified_target is like: third_party/icu/icu.gyp:icui18n#target
2281
+ build_file, name, toolset = \
2282
+ gyp.common.ParseQualifiedTarget(qualified_target)
2283
+
2284
+ this_make_global_settings = data[build_file].get('make_global_settings', [])
2285
+ assert make_global_settings == this_make_global_settings, (
2286
+ "make_global_settings needs to be the same for all targets. %s vs. %s" %
2287
+ (this_make_global_settings, make_global_settings))
2288
+
2289
+ spec = target_dicts[qualified_target]
2290
+ if flavor == 'mac':
2291
+ gyp.xcode_emulation.MergeGlobalXcodeSettingsToSpec(data[build_file], spec)
2292
+
2293
+ # If build_file is a symlink, we must not follow it because there's a chance
2294
+ # it could point to a path above toplevel_dir, and we cannot correctly deal
2295
+ # with that case at the moment.
2296
+ build_file = gyp.common.RelativePath(build_file, options.toplevel_dir,
2297
+ False)
2298
+
2299
+ qualified_target_for_hash = gyp.common.QualifiedTarget(build_file, name,
2300
+ toolset)
2301
+ hash_for_rules = hashlib.md5(qualified_target_for_hash).hexdigest()
2302
+
2303
+ base_path = os.path.dirname(build_file)
2304
+ obj = 'obj'
2305
+ if toolset != 'target':
2306
+ obj += '.' + toolset
2307
+ output_file = os.path.join(obj, base_path, name + '.ninja')
2308
+
2309
+ ninja_output = StringIO()
2310
+ writer = NinjaWriter(hash_for_rules, target_outputs, base_path, build_dir,
2311
+ ninja_output,
2312
+ toplevel_build, output_file,
2313
+ flavor, toplevel_dir=options.toplevel_dir)
2314
+
2315
+ target = writer.WriteSpec(spec, config_name, generator_flags)
2316
+
2317
+ if ninja_output.tell() > 0:
2318
+ # Only create files for ninja files that actually have contents.
2319
+ with OpenOutput(os.path.join(toplevel_build, output_file)) as ninja_file:
2320
+ ninja_file.write(ninja_output.getvalue())
2321
+ ninja_output.close()
2322
+ master_ninja.subninja(output_file)
2323
+
2324
+ if target:
2325
+ if name != target.FinalOutput() and spec['toolset'] == 'target':
2326
+ target_short_names.setdefault(name, []).append(target)
2327
+ target_outputs[qualified_target] = target
2328
+ if qualified_target in all_targets:
2329
+ all_outputs.add(target.FinalOutput())
2330
+ non_empty_target_names.add(name)
2331
+ else:
2332
+ empty_target_names.add(name)
2333
+
2334
+ if target_short_names:
2335
+ # Write a short name to build this target. This benefits both the
2336
+ # "build chrome" case as well as the gyp tests, which expect to be
2337
+ # able to run actions and build libraries by their short name.
2338
+ master_ninja.newline()
2339
+ master_ninja.comment('Short names for targets.')
2340
+ for short_name in target_short_names:
2341
+ master_ninja.build(short_name, 'phony', [x.FinalOutput() for x in
2342
+ target_short_names[short_name]])
2343
+
2344
+ # Write phony targets for any empty targets that weren't written yet. As
2345
+ # short names are not necessarily unique only do this for short names that
2346
+ # haven't already been output for another target.
2347
+ empty_target_names = empty_target_names - non_empty_target_names
2348
+ if empty_target_names:
2349
+ master_ninja.newline()
2350
+ master_ninja.comment('Empty targets (output for completeness).')
2351
+ for name in sorted(empty_target_names):
2352
+ master_ninja.build(name, 'phony')
2353
+
2354
+ if all_outputs:
2355
+ master_ninja.newline()
2356
+ master_ninja.build('all', 'phony', list(all_outputs))
2357
+ master_ninja.default(generator_flags.get('default_target', 'all'))
2358
+
2359
+ master_ninja_file.close()
2360
+
2361
+
2362
+ def PerformBuild(data, configurations, params):
2363
+ options = params['options']
2364
+ for config in configurations:
2365
+ builddir = os.path.join(options.toplevel_dir, 'out', config)
2366
+ arguments = ['ninja', '-C', builddir]
2367
+ print 'Building [%s]: %s' % (config, arguments)
2368
+ subprocess.check_call(arguments)
2369
+
2370
+
2371
+ def CallGenerateOutputForConfig(arglist):
2372
+ # Ignore the interrupt signal so that the parent process catches it and
2373
+ # kills all multiprocessing children.
2374
+ signal.signal(signal.SIGINT, signal.SIG_IGN)
2375
+
2376
+ (target_list, target_dicts, data, params, config_name) = arglist
2377
+ GenerateOutputForConfig(target_list, target_dicts, data, params, config_name)
2378
+
2379
+
2380
+ def GenerateOutput(target_list, target_dicts, data, params):
2381
+ # Update target_dicts for iOS device builds.
2382
+ target_dicts = gyp.xcode_emulation.CloneConfigurationForDeviceAndEmulator(
2383
+ target_dicts)
2384
+
2385
+ user_config = params.get('generator_flags', {}).get('config', None)
2386
+ if gyp.common.GetFlavor(params) == 'win':
2387
+ target_list, target_dicts = MSVSUtil.ShardTargets(target_list, target_dicts)
2388
+ target_list, target_dicts = MSVSUtil.InsertLargePdbShims(
2389
+ target_list, target_dicts, generator_default_variables)
2390
+
2391
+ if user_config:
2392
+ GenerateOutputForConfig(target_list, target_dicts, data, params,
2393
+ user_config)
2394
+ else:
2395
+ config_names = target_dicts[target_list[0]]['configurations'].keys()
2396
+ if params['parallel']:
2397
+ try:
2398
+ pool = multiprocessing.Pool(len(config_names))
2399
+ arglists = []
2400
+ for config_name in config_names:
2401
+ arglists.append(
2402
+ (target_list, target_dicts, data, params, config_name))
2403
+ pool.map(CallGenerateOutputForConfig, arglists)
2404
+ except KeyboardInterrupt, e:
2405
+ pool.terminate()
2406
+ raise e
2407
+ else:
2408
+ for config_name in config_names:
2409
+ GenerateOutputForConfig(target_list, target_dicts, data, params,
2410
+ config_name)