@basemaps/lambda-tiler 6.41.0 → 6.44.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 (474) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/__tests__/index.test.js +17 -5
  3. package/build/__tests__/index.test.js.map +1 -1
  4. package/build/cli/render.preview.d.ts +2 -0
  5. package/build/cli/render.preview.d.ts.map +1 -0
  6. package/build/cli/render.preview.js +38 -0
  7. package/build/cli/render.preview.js.map +1 -0
  8. package/build/cli/render.tile.js +25 -10
  9. package/build/cli/render.tile.js.map +1 -1
  10. package/build/index.d.ts.map +1 -1
  11. package/build/index.js +6 -0
  12. package/build/index.js.map +1 -1
  13. package/build/routes/__tests__/preview.index.test.d.ts +2 -0
  14. package/build/routes/__tests__/preview.index.test.d.ts.map +1 -0
  15. package/build/routes/__tests__/preview.index.test.js +82 -0
  16. package/build/routes/__tests__/preview.index.test.js.map +1 -0
  17. package/build/routes/attribution.d.ts.map +1 -1
  18. package/build/routes/attribution.js +1 -3
  19. package/build/routes/attribution.js.map +1 -1
  20. package/build/routes/preview.d.ts +58 -0
  21. package/build/routes/preview.d.ts.map +1 -0
  22. package/build/routes/preview.index.d.ts +23 -0
  23. package/build/routes/preview.index.d.ts.map +1 -0
  24. package/build/routes/preview.index.js +98 -0
  25. package/build/routes/preview.index.js.map +1 -0
  26. package/build/routes/preview.js +159 -0
  27. package/build/routes/preview.js.map +1 -0
  28. package/build/routes/tile.xyz.raster.d.ts +15 -0
  29. package/build/routes/tile.xyz.raster.d.ts.map +1 -1
  30. package/build/routes/tile.xyz.raster.js +45 -26
  31. package/build/routes/tile.xyz.raster.js.map +1 -1
  32. package/build/routes/version.d.ts.map +1 -1
  33. package/build/routes/version.js +17 -1
  34. package/build/routes/version.js.map +1 -1
  35. package/build/util/validate.d.ts +3 -1
  36. package/build/util/validate.d.ts.map +1 -1
  37. package/build/util/validate.js +10 -0
  38. package/build/util/validate.js.map +1 -1
  39. package/bundle.sh +1 -1
  40. package/package.json +9 -9
  41. package/src/__tests__/index.test.ts +20 -5
  42. package/src/cli/render.preview.ts +44 -0
  43. package/src/cli/render.tile.ts +26 -10
  44. package/src/index.ts +7 -0
  45. package/src/routes/__tests__/preview.index.test.ts +94 -0
  46. package/src/routes/attribution.ts +1 -3
  47. package/src/routes/preview.index.ts +119 -0
  48. package/src/routes/preview.ts +234 -0
  49. package/src/routes/tile.xyz.raster.ts +53 -29
  50. package/src/routes/version.ts +17 -1
  51. package/src/util/validate.ts +10 -1
  52. package/tsconfig.tsbuildinfo +1 -1
  53. package/dist/index.js +0 -229
  54. package/dist/node_modules/.package-lock.json +0 -491
  55. package/dist/node_modules/base64-js/LICENSE +0 -21
  56. package/dist/node_modules/base64-js/README.md +0 -34
  57. package/dist/node_modules/base64-js/base64js.min.js +0 -1
  58. package/dist/node_modules/base64-js/index.d.ts +0 -3
  59. package/dist/node_modules/base64-js/index.js +0 -150
  60. package/dist/node_modules/base64-js/package.json +0 -47
  61. package/dist/node_modules/bl/.travis.yml +0 -17
  62. package/dist/node_modules/bl/BufferList.js +0 -396
  63. package/dist/node_modules/bl/LICENSE.md +0 -13
  64. package/dist/node_modules/bl/README.md +0 -247
  65. package/dist/node_modules/bl/bl.js +0 -84
  66. package/dist/node_modules/bl/package.json +0 -37
  67. package/dist/node_modules/bl/test/convert.js +0 -21
  68. package/dist/node_modules/bl/test/indexOf.js +0 -492
  69. package/dist/node_modules/bl/test/isBufferList.js +0 -32
  70. package/dist/node_modules/bl/test/test.js +0 -869
  71. package/dist/node_modules/buffer/AUTHORS.md +0 -70
  72. package/dist/node_modules/buffer/LICENSE +0 -21
  73. package/dist/node_modules/buffer/README.md +0 -410
  74. package/dist/node_modules/buffer/index.d.ts +0 -186
  75. package/dist/node_modules/buffer/index.js +0 -1817
  76. package/dist/node_modules/buffer/package.json +0 -96
  77. package/dist/node_modules/chownr/LICENSE +0 -15
  78. package/dist/node_modules/chownr/README.md +0 -3
  79. package/dist/node_modules/chownr/chownr.js +0 -167
  80. package/dist/node_modules/chownr/package.json +0 -29
  81. package/dist/node_modules/color/LICENSE +0 -21
  82. package/dist/node_modules/color/README.md +0 -123
  83. package/dist/node_modules/color/index.js +0 -496
  84. package/dist/node_modules/color/package.json +0 -47
  85. package/dist/node_modules/color-convert/CHANGELOG.md +0 -54
  86. package/dist/node_modules/color-convert/LICENSE +0 -21
  87. package/dist/node_modules/color-convert/README.md +0 -68
  88. package/dist/node_modules/color-convert/conversions.js +0 -839
  89. package/dist/node_modules/color-convert/index.js +0 -81
  90. package/dist/node_modules/color-convert/package.json +0 -48
  91. package/dist/node_modules/color-convert/route.js +0 -97
  92. package/dist/node_modules/color-name/LICENSE +0 -8
  93. package/dist/node_modules/color-name/README.md +0 -11
  94. package/dist/node_modules/color-name/index.js +0 -152
  95. package/dist/node_modules/color-name/package.json +0 -28
  96. package/dist/node_modules/color-string/LICENSE +0 -21
  97. package/dist/node_modules/color-string/README.md +0 -62
  98. package/dist/node_modules/color-string/index.js +0 -242
  99. package/dist/node_modules/color-string/package.json +0 -39
  100. package/dist/node_modules/decompress-response/index.d.ts +0 -22
  101. package/dist/node_modules/decompress-response/index.js +0 -58
  102. package/dist/node_modules/decompress-response/license +0 -9
  103. package/dist/node_modules/decompress-response/package.json +0 -56
  104. package/dist/node_modules/decompress-response/readme.md +0 -48
  105. package/dist/node_modules/deep-extend/CHANGELOG.md +0 -46
  106. package/dist/node_modules/deep-extend/LICENSE +0 -20
  107. package/dist/node_modules/deep-extend/README.md +0 -91
  108. package/dist/node_modules/deep-extend/index.js +0 -1
  109. package/dist/node_modules/deep-extend/lib/deep-extend.js +0 -150
  110. package/dist/node_modules/deep-extend/package.json +0 -62
  111. package/dist/node_modules/detect-libc/LICENSE +0 -201
  112. package/dist/node_modules/detect-libc/README.md +0 -163
  113. package/dist/node_modules/detect-libc/index.d.ts +0 -14
  114. package/dist/node_modules/detect-libc/lib/detect-libc.js +0 -279
  115. package/dist/node_modules/detect-libc/lib/filesystem.js +0 -41
  116. package/dist/node_modules/detect-libc/lib/process.js +0 -19
  117. package/dist/node_modules/detect-libc/package.json +0 -40
  118. package/dist/node_modules/end-of-stream/LICENSE +0 -21
  119. package/dist/node_modules/end-of-stream/README.md +0 -54
  120. package/dist/node_modules/end-of-stream/index.js +0 -94
  121. package/dist/node_modules/end-of-stream/package.json +0 -37
  122. package/dist/node_modules/expand-template/.travis.yml +0 -6
  123. package/dist/node_modules/expand-template/LICENSE +0 -21
  124. package/dist/node_modules/expand-template/README.md +0 -43
  125. package/dist/node_modules/expand-template/index.js +0 -26
  126. package/dist/node_modules/expand-template/package.json +0 -29
  127. package/dist/node_modules/expand-template/test.js +0 -67
  128. package/dist/node_modules/fs-constants/LICENSE +0 -21
  129. package/dist/node_modules/fs-constants/README.md +0 -26
  130. package/dist/node_modules/fs-constants/browser.js +0 -1
  131. package/dist/node_modules/fs-constants/index.js +0 -1
  132. package/dist/node_modules/fs-constants/package.json +0 -19
  133. package/dist/node_modules/github-from-package/.travis.yml +0 -4
  134. package/dist/node_modules/github-from-package/LICENSE +0 -18
  135. package/dist/node_modules/github-from-package/example/package.json +0 -8
  136. package/dist/node_modules/github-from-package/example/url.js +0 -3
  137. package/dist/node_modules/github-from-package/index.js +0 -17
  138. package/dist/node_modules/github-from-package/package.json +0 -30
  139. package/dist/node_modules/github-from-package/readme.markdown +0 -53
  140. package/dist/node_modules/github-from-package/test/a.json +0 -8
  141. package/dist/node_modules/github-from-package/test/b.json +0 -5
  142. package/dist/node_modules/github-from-package/test/c.json +0 -5
  143. package/dist/node_modules/github-from-package/test/d.json +0 -7
  144. package/dist/node_modules/github-from-package/test/e.json +0 -5
  145. package/dist/node_modules/github-from-package/test/url.js +0 -19
  146. package/dist/node_modules/ieee754/LICENSE +0 -11
  147. package/dist/node_modules/ieee754/README.md +0 -51
  148. package/dist/node_modules/ieee754/index.d.ts +0 -10
  149. package/dist/node_modules/ieee754/index.js +0 -85
  150. package/dist/node_modules/ieee754/package.json +0 -52
  151. package/dist/node_modules/inherits/LICENSE +0 -16
  152. package/dist/node_modules/inherits/README.md +0 -42
  153. package/dist/node_modules/inherits/inherits.js +0 -9
  154. package/dist/node_modules/inherits/inherits_browser.js +0 -27
  155. package/dist/node_modules/inherits/package.json +0 -29
  156. package/dist/node_modules/ini/LICENSE +0 -15
  157. package/dist/node_modules/ini/README.md +0 -102
  158. package/dist/node_modules/ini/ini.js +0 -206
  159. package/dist/node_modules/ini/package.json +0 -33
  160. package/dist/node_modules/is-arrayish/LICENSE +0 -21
  161. package/dist/node_modules/is-arrayish/README.md +0 -16
  162. package/dist/node_modules/is-arrayish/index.js +0 -9
  163. package/dist/node_modules/is-arrayish/package.json +0 -45
  164. package/dist/node_modules/is-arrayish/yarn-error.log +0 -1443
  165. package/dist/node_modules/lru-cache/LICENSE +0 -15
  166. package/dist/node_modules/lru-cache/README.md +0 -166
  167. package/dist/node_modules/lru-cache/index.js +0 -334
  168. package/dist/node_modules/lru-cache/package.json +0 -34
  169. package/dist/node_modules/mimic-response/index.d.ts +0 -17
  170. package/dist/node_modules/mimic-response/index.js +0 -77
  171. package/dist/node_modules/mimic-response/license +0 -9
  172. package/dist/node_modules/mimic-response/package.json +0 -42
  173. package/dist/node_modules/mimic-response/readme.md +0 -78
  174. package/dist/node_modules/minimist/.eslintrc +0 -29
  175. package/dist/node_modules/minimist/.github/FUNDING.yml +0 -12
  176. package/dist/node_modules/minimist/.nycrc +0 -14
  177. package/dist/node_modules/minimist/CHANGELOG.md +0 -298
  178. package/dist/node_modules/minimist/LICENSE +0 -18
  179. package/dist/node_modules/minimist/README.md +0 -121
  180. package/dist/node_modules/minimist/example/parse.js +0 -4
  181. package/dist/node_modules/minimist/index.js +0 -263
  182. package/dist/node_modules/minimist/package.json +0 -75
  183. package/dist/node_modules/minimist/test/all_bool.js +0 -34
  184. package/dist/node_modules/minimist/test/bool.js +0 -177
  185. package/dist/node_modules/minimist/test/dash.js +0 -43
  186. package/dist/node_modules/minimist/test/default_bool.js +0 -37
  187. package/dist/node_modules/minimist/test/dotted.js +0 -24
  188. package/dist/node_modules/minimist/test/kv_short.js +0 -32
  189. package/dist/node_modules/minimist/test/long.js +0 -33
  190. package/dist/node_modules/minimist/test/num.js +0 -38
  191. package/dist/node_modules/minimist/test/parse.js +0 -209
  192. package/dist/node_modules/minimist/test/parse_modified.js +0 -11
  193. package/dist/node_modules/minimist/test/proto.js +0 -64
  194. package/dist/node_modules/minimist/test/short.js +0 -69
  195. package/dist/node_modules/minimist/test/stop_early.js +0 -17
  196. package/dist/node_modules/minimist/test/unknown.js +0 -104
  197. package/dist/node_modules/minimist/test/whitespace.js +0 -10
  198. package/dist/node_modules/mkdirp-classic/LICENSE +0 -21
  199. package/dist/node_modules/mkdirp-classic/README.md +0 -18
  200. package/dist/node_modules/mkdirp-classic/index.js +0 -98
  201. package/dist/node_modules/mkdirp-classic/package.json +0 -18
  202. package/dist/node_modules/napi-build-utils/LICENSE +0 -21
  203. package/dist/node_modules/napi-build-utils/README.md +0 -48
  204. package/dist/node_modules/napi-build-utils/index.js +0 -213
  205. package/dist/node_modules/napi-build-utils/index.md +0 -81
  206. package/dist/node_modules/napi-build-utils/package.json +0 -41
  207. package/dist/node_modules/node-abi/.circleci/config.yml +0 -45
  208. package/dist/node_modules/node-abi/.github/CODEOWNERS +0 -1
  209. package/dist/node_modules/node-abi/.github/workflows/semantic.yml +0 -26
  210. package/dist/node_modules/node-abi/.github/workflows/update-abi.yml +0 -42
  211. package/dist/node_modules/node-abi/.releaserc.json +0 -9
  212. package/dist/node_modules/node-abi/CODE_OF_CONDUCT.md +0 -73
  213. package/dist/node_modules/node-abi/CONTRIBUTING.md +0 -62
  214. package/dist/node_modules/node-abi/LICENSE +0 -21
  215. package/dist/node_modules/node-abi/README.md +0 -52
  216. package/dist/node_modules/node-abi/abi_registry.json +0 -269
  217. package/dist/node_modules/node-abi/index.js +0 -179
  218. package/dist/node_modules/node-abi/package.json +0 -38
  219. package/dist/node_modules/node-abi/scripts/update-abi-registry.js +0 -119
  220. package/dist/node_modules/node-abi/test/index.js +0 -166
  221. package/dist/node_modules/node-addon-api/LICENSE.md +0 -13
  222. package/dist/node_modules/node-addon-api/README.md +0 -317
  223. package/dist/node_modules/node-addon-api/common.gypi +0 -21
  224. package/dist/node_modules/node-addon-api/except.gypi +0 -25
  225. package/dist/node_modules/node-addon-api/index.js +0 -11
  226. package/dist/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  227. package/dist/node_modules/node-addon-api/napi-inl.h +0 -6303
  228. package/dist/node_modules/node-addon-api/napi.h +0 -3114
  229. package/dist/node_modules/node-addon-api/node_api.gyp +0 -9
  230. package/dist/node_modules/node-addon-api/noexcept.gypi +0 -26
  231. package/dist/node_modules/node-addon-api/nothing.c +0 -0
  232. package/dist/node_modules/node-addon-api/package-support.json +0 -21
  233. package/dist/node_modules/node-addon-api/package.json +0 -456
  234. package/dist/node_modules/node-addon-api/tools/README.md +0 -73
  235. package/dist/node_modules/node-addon-api/tools/check-napi.js +0 -99
  236. package/dist/node_modules/node-addon-api/tools/clang-format.js +0 -71
  237. package/dist/node_modules/node-addon-api/tools/conversion.js +0 -301
  238. package/dist/node_modules/node-addon-api/tools/eslint-format.js +0 -79
  239. package/dist/node_modules/once/LICENSE +0 -15
  240. package/dist/node_modules/once/README.md +0 -79
  241. package/dist/node_modules/once/once.js +0 -42
  242. package/dist/node_modules/once/package.json +0 -33
  243. package/dist/node_modules/prebuild-install/CHANGELOG.md +0 -116
  244. package/dist/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  245. package/dist/node_modules/prebuild-install/LICENSE +0 -21
  246. package/dist/node_modules/prebuild-install/README.md +0 -163
  247. package/dist/node_modules/prebuild-install/asset.js +0 -44
  248. package/dist/node_modules/prebuild-install/bin.js +0 -78
  249. package/dist/node_modules/prebuild-install/download.js +0 -142
  250. package/dist/node_modules/prebuild-install/error.js +0 -14
  251. package/dist/node_modules/prebuild-install/help.txt +0 -16
  252. package/dist/node_modules/prebuild-install/index.js +0 -1
  253. package/dist/node_modules/prebuild-install/log.js +0 -33
  254. package/dist/node_modules/prebuild-install/package.json +0 -67
  255. package/dist/node_modules/prebuild-install/proxy.js +0 -35
  256. package/dist/node_modules/prebuild-install/rc.js +0 -64
  257. package/dist/node_modules/prebuild-install/util.js +0 -143
  258. package/dist/node_modules/pump/.travis.yml +0 -5
  259. package/dist/node_modules/pump/LICENSE +0 -21
  260. package/dist/node_modules/pump/README.md +0 -65
  261. package/dist/node_modules/pump/index.js +0 -82
  262. package/dist/node_modules/pump/package.json +0 -24
  263. package/dist/node_modules/pump/test-browser.js +0 -66
  264. package/dist/node_modules/pump/test-node.js +0 -53
  265. package/dist/node_modules/rc/LICENSE.APACHE2 +0 -15
  266. package/dist/node_modules/rc/LICENSE.BSD +0 -26
  267. package/dist/node_modules/rc/LICENSE.MIT +0 -24
  268. package/dist/node_modules/rc/README.md +0 -227
  269. package/dist/node_modules/rc/browser.js +0 -7
  270. package/dist/node_modules/rc/cli.js +0 -4
  271. package/dist/node_modules/rc/index.js +0 -53
  272. package/dist/node_modules/rc/lib/utils.js +0 -104
  273. package/dist/node_modules/rc/package.json +0 -29
  274. package/dist/node_modules/rc/test/ini.js +0 -16
  275. package/dist/node_modules/rc/test/nested-env-vars.js +0 -50
  276. package/dist/node_modules/rc/test/test.js +0 -59
  277. package/dist/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  278. package/dist/node_modules/readable-stream/GOVERNANCE.md +0 -136
  279. package/dist/node_modules/readable-stream/LICENSE +0 -47
  280. package/dist/node_modules/readable-stream/README.md +0 -106
  281. package/dist/node_modules/readable-stream/errors-browser.js +0 -127
  282. package/dist/node_modules/readable-stream/errors.js +0 -116
  283. package/dist/node_modules/readable-stream/experimentalWarning.js +0 -17
  284. package/dist/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  285. package/dist/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  286. package/dist/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  287. package/dist/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  288. package/dist/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  289. package/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  290. package/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  291. package/dist/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  292. package/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  293. package/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  294. package/dist/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  295. package/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  296. package/dist/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  297. package/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  298. package/dist/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  299. package/dist/node_modules/readable-stream/package.json +0 -68
  300. package/dist/node_modules/readable-stream/readable-browser.js +0 -9
  301. package/dist/node_modules/readable-stream/readable.js +0 -16
  302. package/dist/node_modules/safe-buffer/LICENSE +0 -21
  303. package/dist/node_modules/safe-buffer/README.md +0 -584
  304. package/dist/node_modules/safe-buffer/index.d.ts +0 -187
  305. package/dist/node_modules/safe-buffer/index.js +0 -65
  306. package/dist/node_modules/safe-buffer/package.json +0 -51
  307. package/dist/node_modules/semver/LICENSE +0 -15
  308. package/dist/node_modules/semver/README.md +0 -637
  309. package/dist/node_modules/semver/bin/semver.js +0 -197
  310. package/dist/node_modules/semver/classes/comparator.js +0 -141
  311. package/dist/node_modules/semver/classes/index.js +0 -5
  312. package/dist/node_modules/semver/classes/range.js +0 -539
  313. package/dist/node_modules/semver/classes/semver.js +0 -302
  314. package/dist/node_modules/semver/functions/clean.js +0 -6
  315. package/dist/node_modules/semver/functions/cmp.js +0 -52
  316. package/dist/node_modules/semver/functions/coerce.js +0 -52
  317. package/dist/node_modules/semver/functions/compare-build.js +0 -7
  318. package/dist/node_modules/semver/functions/compare-loose.js +0 -3
  319. package/dist/node_modules/semver/functions/compare.js +0 -5
  320. package/dist/node_modules/semver/functions/diff.js +0 -65
  321. package/dist/node_modules/semver/functions/eq.js +0 -3
  322. package/dist/node_modules/semver/functions/gt.js +0 -3
  323. package/dist/node_modules/semver/functions/gte.js +0 -3
  324. package/dist/node_modules/semver/functions/inc.js +0 -19
  325. package/dist/node_modules/semver/functions/lt.js +0 -3
  326. package/dist/node_modules/semver/functions/lte.js +0 -3
  327. package/dist/node_modules/semver/functions/major.js +0 -3
  328. package/dist/node_modules/semver/functions/minor.js +0 -3
  329. package/dist/node_modules/semver/functions/neq.js +0 -3
  330. package/dist/node_modules/semver/functions/parse.js +0 -16
  331. package/dist/node_modules/semver/functions/patch.js +0 -3
  332. package/dist/node_modules/semver/functions/prerelease.js +0 -6
  333. package/dist/node_modules/semver/functions/rcompare.js +0 -3
  334. package/dist/node_modules/semver/functions/rsort.js +0 -3
  335. package/dist/node_modules/semver/functions/satisfies.js +0 -10
  336. package/dist/node_modules/semver/functions/sort.js +0 -3
  337. package/dist/node_modules/semver/functions/valid.js +0 -6
  338. package/dist/node_modules/semver/index.js +0 -89
  339. package/dist/node_modules/semver/internal/constants.js +0 -35
  340. package/dist/node_modules/semver/internal/debug.js +0 -9
  341. package/dist/node_modules/semver/internal/identifiers.js +0 -23
  342. package/dist/node_modules/semver/internal/parse-options.js +0 -15
  343. package/dist/node_modules/semver/internal/re.js +0 -212
  344. package/dist/node_modules/semver/package.json +0 -87
  345. package/dist/node_modules/semver/preload.js +0 -2
  346. package/dist/node_modules/semver/range.bnf +0 -16
  347. package/dist/node_modules/semver/ranges/gtr.js +0 -4
  348. package/dist/node_modules/semver/ranges/intersects.js +0 -7
  349. package/dist/node_modules/semver/ranges/ltr.js +0 -4
  350. package/dist/node_modules/semver/ranges/max-satisfying.js +0 -25
  351. package/dist/node_modules/semver/ranges/min-satisfying.js +0 -24
  352. package/dist/node_modules/semver/ranges/min-version.js +0 -61
  353. package/dist/node_modules/semver/ranges/outside.js +0 -80
  354. package/dist/node_modules/semver/ranges/simplify.js +0 -47
  355. package/dist/node_modules/semver/ranges/subset.js +0 -247
  356. package/dist/node_modules/semver/ranges/to-comparators.js +0 -8
  357. package/dist/node_modules/semver/ranges/valid.js +0 -11
  358. package/dist/node_modules/sharp/LICENSE +0 -191
  359. package/dist/node_modules/sharp/README.md +0 -117
  360. package/dist/node_modules/sharp/binding.gyp +0 -233
  361. package/dist/node_modules/sharp/build/Release/sharp-linux-x64.node +0 -0
  362. package/dist/node_modules/sharp/install/can-compile.js +0 -11
  363. package/dist/node_modules/sharp/install/dll-copy.js +0 -37
  364. package/dist/node_modules/sharp/install/libvips.js +0 -215
  365. package/dist/node_modules/sharp/lib/agent.js +0 -40
  366. package/dist/node_modules/sharp/lib/channel.js +0 -171
  367. package/dist/node_modules/sharp/lib/colour.js +0 -180
  368. package/dist/node_modules/sharp/lib/composite.js +0 -193
  369. package/dist/node_modules/sharp/lib/constructor.js +0 -386
  370. package/dist/node_modules/sharp/lib/index.js +0 -13
  371. package/dist/node_modules/sharp/lib/input.js +0 -507
  372. package/dist/node_modules/sharp/lib/is.js +0 -143
  373. package/dist/node_modules/sharp/lib/libvips.js +0 -136
  374. package/dist/node_modules/sharp/lib/operation.js +0 -803
  375. package/dist/node_modules/sharp/lib/output.js +0 -1231
  376. package/dist/node_modules/sharp/lib/platform.js +0 -27
  377. package/dist/node_modules/sharp/lib/resize.js +0 -473
  378. package/dist/node_modules/sharp/lib/sharp.js +0 -35
  379. package/dist/node_modules/sharp/lib/utility.js +0 -211
  380. package/dist/node_modules/sharp/package.json +0 -196
  381. package/dist/node_modules/sharp/src/common.cc +0 -966
  382. package/dist/node_modules/sharp/src/common.h +0 -352
  383. package/dist/node_modules/sharp/src/libvips/cplusplus/VConnection.cpp +0 -152
  384. package/dist/node_modules/sharp/src/libvips/cplusplus/VError.cpp +0 -50
  385. package/dist/node_modules/sharp/src/libvips/cplusplus/VImage.cpp +0 -1523
  386. package/dist/node_modules/sharp/src/libvips/cplusplus/VInterpolate.cpp +0 -63
  387. package/dist/node_modules/sharp/src/libvips/cplusplus/vips-operators.cpp +0 -3738
  388. package/dist/node_modules/sharp/src/metadata.cc +0 -291
  389. package/dist/node_modules/sharp/src/metadata.h +0 -92
  390. package/dist/node_modules/sharp/src/operations.cc +0 -412
  391. package/dist/node_modules/sharp/src/operations.h +0 -126
  392. package/dist/node_modules/sharp/src/pipeline.cc +0 -1624
  393. package/dist/node_modules/sharp/src/pipeline.h +0 -349
  394. package/dist/node_modules/sharp/src/sharp.cc +0 -52
  395. package/dist/node_modules/sharp/src/stats.cc +0 -193
  396. package/dist/node_modules/sharp/src/stats.h +0 -70
  397. package/dist/node_modules/sharp/src/utilities.cc +0 -243
  398. package/dist/node_modules/sharp/src/utilities.h +0 -29
  399. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/THIRD-PARTY-NOTICES.md +0 -43
  400. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/lib/libvips-cpp.so.42 +0 -0
  401. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/platform.json +0 -1
  402. package/dist/node_modules/sharp/vendor/8.12.2/linux-x64/versions.json +0 -31
  403. package/dist/node_modules/simple-concat/.travis.yml +0 -3
  404. package/dist/node_modules/simple-concat/LICENSE +0 -20
  405. package/dist/node_modules/simple-concat/README.md +0 -44
  406. package/dist/node_modules/simple-concat/index.js +0 -15
  407. package/dist/node_modules/simple-concat/package.json +0 -47
  408. package/dist/node_modules/simple-concat/test/basic.js +0 -41
  409. package/dist/node_modules/simple-get/.github/dependabot.yml +0 -15
  410. package/dist/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  411. package/dist/node_modules/simple-get/LICENSE +0 -20
  412. package/dist/node_modules/simple-get/README.md +0 -333
  413. package/dist/node_modules/simple-get/index.js +0 -108
  414. package/dist/node_modules/simple-get/package.json +0 -67
  415. package/dist/node_modules/simple-swizzle/LICENSE +0 -21
  416. package/dist/node_modules/simple-swizzle/README.md +0 -39
  417. package/dist/node_modules/simple-swizzle/index.js +0 -29
  418. package/dist/node_modules/simple-swizzle/package.json +0 -36
  419. package/dist/node_modules/string_decoder/LICENSE +0 -48
  420. package/dist/node_modules/string_decoder/README.md +0 -47
  421. package/dist/node_modules/string_decoder/lib/string_decoder.js +0 -296
  422. package/dist/node_modules/string_decoder/package.json +0 -34
  423. package/dist/node_modules/strip-json-comments/index.js +0 -70
  424. package/dist/node_modules/strip-json-comments/license +0 -21
  425. package/dist/node_modules/strip-json-comments/package.json +0 -42
  426. package/dist/node_modules/strip-json-comments/readme.md +0 -64
  427. package/dist/node_modules/tar-fs/.travis.yml +0 -6
  428. package/dist/node_modules/tar-fs/LICENSE +0 -21
  429. package/dist/node_modules/tar-fs/README.md +0 -165
  430. package/dist/node_modules/tar-fs/index.js +0 -351
  431. package/dist/node_modules/tar-fs/package.json +0 -41
  432. package/dist/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  433. package/dist/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  434. package/dist/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  435. package/dist/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  436. package/dist/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  437. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  438. package/dist/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  439. package/dist/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  440. package/dist/node_modules/tar-fs/test/fixtures/e/file +0 -0
  441. package/dist/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  442. package/dist/node_modules/tar-fs/test/index.js +0 -346
  443. package/dist/node_modules/tar-stream/LICENSE +0 -21
  444. package/dist/node_modules/tar-stream/README.md +0 -168
  445. package/dist/node_modules/tar-stream/extract.js +0 -257
  446. package/dist/node_modules/tar-stream/headers.js +0 -295
  447. package/dist/node_modules/tar-stream/index.js +0 -2
  448. package/dist/node_modules/tar-stream/pack.js +0 -255
  449. package/dist/node_modules/tar-stream/package.json +0 -58
  450. package/dist/node_modules/tar-stream/sandbox.js +0 -11
  451. package/dist/node_modules/tunnel-agent/LICENSE +0 -55
  452. package/dist/node_modules/tunnel-agent/README.md +0 -4
  453. package/dist/node_modules/tunnel-agent/index.js +0 -244
  454. package/dist/node_modules/tunnel-agent/package.json +0 -22
  455. package/dist/node_modules/util-deprecate/History.md +0 -16
  456. package/dist/node_modules/util-deprecate/LICENSE +0 -24
  457. package/dist/node_modules/util-deprecate/README.md +0 -53
  458. package/dist/node_modules/util-deprecate/browser.js +0 -67
  459. package/dist/node_modules/util-deprecate/node.js +0 -6
  460. package/dist/node_modules/util-deprecate/package.json +0 -27
  461. package/dist/node_modules/wrappy/LICENSE +0 -15
  462. package/dist/node_modules/wrappy/README.md +0 -36
  463. package/dist/node_modules/wrappy/package.json +0 -29
  464. package/dist/node_modules/wrappy/wrappy.js +0 -33
  465. package/dist/node_modules/yallist/LICENSE +0 -15
  466. package/dist/node_modules/yallist/README.md +0 -204
  467. package/dist/node_modules/yallist/iterator.js +0 -8
  468. package/dist/node_modules/yallist/package.json +0 -29
  469. package/dist/node_modules/yallist/yallist.js +0 -426
  470. package/dist/package-lock.json +0 -502
  471. package/dist/package.json +0 -38
  472. package/dist/static/expected_tile_2193_153_255_z7.png +0 -0
  473. package/dist/static/expected_tile_NZTM2000Quad_30_33_z6.png +0 -0
  474. package/dist/static/expected_tile_WebMercatorQuad_252_156_z8.png +0 -0
@@ -1,117 +0,0 @@
1
- # sharp
2
-
3
- <img src="https://cdn.jsdelivr.net/gh/lovell/sharp@main/docs/image/sharp-logo.svg" width="160" height="160" alt="sharp logo" align="right">
4
-
5
- The typical use case for this high speed Node.js module
6
- is to convert large images in common formats to
7
- smaller, web-friendly JPEG, PNG, WebP, GIF and AVIF images of varying dimensions.
8
-
9
- Resizing an image is typically 4x-5x faster than using the
10
- quickest ImageMagick and GraphicsMagick settings
11
- due to its use of [libvips](https://github.com/libvips/libvips).
12
-
13
- Colour spaces, embedded ICC profiles and alpha transparency channels are all handled correctly.
14
- Lanczos resampling ensures quality is not sacrificed for speed.
15
-
16
- As well as image resizing, operations such as
17
- rotation, extraction, compositing and gamma correction are available.
18
-
19
- Most modern macOS, Windows and Linux systems running Node.js >= 12.13.0
20
- do not require any additional install or runtime dependencies.
21
-
22
- ## Documentation
23
-
24
- Visit [sharp.pixelplumbing.com](https://sharp.pixelplumbing.com/) for complete
25
- [installation instructions](https://sharp.pixelplumbing.com/install),
26
- [API documentation](https://sharp.pixelplumbing.com/api-constructor),
27
- [benchmark tests](https://sharp.pixelplumbing.com/performance) and
28
- [changelog](https://sharp.pixelplumbing.com/changelog).
29
-
30
- ## Examples
31
-
32
- ```sh
33
- npm install sharp
34
- ```
35
-
36
- ```javascript
37
- const sharp = require('sharp');
38
- ```
39
-
40
- ### Callback
41
-
42
- ```javascript
43
- sharp(inputBuffer)
44
- .resize(320, 240)
45
- .toFile('output.webp', (err, info) => { ... });
46
- ```
47
-
48
- ### Promise
49
-
50
- ```javascript
51
- sharp('input.jpg')
52
- .rotate()
53
- .resize(200)
54
- .jpeg({ mozjpeg: true })
55
- .toBuffer()
56
- .then( data => { ... })
57
- .catch( err => { ... });
58
- ```
59
-
60
- ### Async/await
61
-
62
- ```javascript
63
- const semiTransparentRedPng = await sharp({
64
- create: {
65
- width: 48,
66
- height: 48,
67
- channels: 4,
68
- background: { r: 255, g: 0, b: 0, alpha: 0.5 }
69
- }
70
- })
71
- .png()
72
- .toBuffer();
73
- ```
74
-
75
- ### Stream
76
-
77
- ```javascript
78
- const roundedCorners = Buffer.from(
79
- '<svg><rect x="0" y="0" width="200" height="200" rx="50" ry="50"/></svg>'
80
- );
81
-
82
- const roundedCornerResizer =
83
- sharp()
84
- .resize(200, 200)
85
- .composite([{
86
- input: roundedCorners,
87
- blend: 'dest-in'
88
- }])
89
- .png();
90
-
91
- readableStream
92
- .pipe(roundedCornerResizer)
93
- .pipe(writableStream);
94
- ```
95
-
96
- ## Contributing
97
-
98
- A [guide for contributors](https://github.com/lovell/sharp/blob/main/.github/CONTRIBUTING.md)
99
- covers reporting bugs, requesting features and submitting code changes.
100
-
101
- [![Test Coverage](https://coveralls.io/repos/lovell/sharp/badge.svg?branch=main)](https://coveralls.io/r/lovell/sharp?branch=main)
102
- [![Node-API v5](https://img.shields.io/badge/Node--API-v5-green.svg)](https://nodejs.org/dist/latest/docs/api/n-api.html#n_api_n_api_version_matrix)
103
-
104
- ## Licensing
105
-
106
- Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Lovell Fuller and contributors.
107
-
108
- Licensed under the Apache License, Version 2.0 (the "License");
109
- you may not use this file except in compliance with the License.
110
- You may obtain a copy of the License at
111
- [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
112
-
113
- Unless required by applicable law or agreed to in writing, software
114
- distributed under the License is distributed on an "AS IS" BASIS,
115
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
116
- See the License for the specific language governing permissions and
117
- limitations under the License.
@@ -1,233 +0,0 @@
1
- {
2
- 'variables': {
3
- 'vips_version': '<!(node -p "require(\'./lib/libvips\').minimumLibvipsVersion")',
4
- 'platform_and_arch': '<!(node -p "require(\'./lib/platform\')()")',
5
- 'sharp_vendor_dir': './vendor/<(vips_version)/<(platform_and_arch)'
6
- },
7
- 'targets': [{
8
- 'target_name': 'libvips-cpp',
9
- 'conditions': [
10
- ['OS == "win"', {
11
- # Build libvips C++ binding for Windows due to MSVC std library ABI changes
12
- 'type': 'shared_library',
13
- 'defines': [
14
- 'VIPS_CPLUSPLUS_EXPORTS',
15
- '_ALLOW_KEYWORD_MACROS'
16
- ],
17
- 'sources': [
18
- 'src/libvips/cplusplus/VError.cpp',
19
- 'src/libvips/cplusplus/VConnection.cpp',
20
- 'src/libvips/cplusplus/VInterpolate.cpp',
21
- 'src/libvips/cplusplus/VImage.cpp'
22
- ],
23
- 'include_dirs': [
24
- '<(sharp_vendor_dir)/include',
25
- '<(sharp_vendor_dir)/include/glib-2.0',
26
- '<(sharp_vendor_dir)/lib/glib-2.0/include'
27
- ],
28
- 'link_settings': {
29
- 'library_dirs': ['<(sharp_vendor_dir)/lib'],
30
- 'libraries': [
31
- 'libvips.lib',
32
- 'libglib-2.0.lib',
33
- 'libgobject-2.0.lib'
34
- ],
35
- },
36
- 'configurations': {
37
- 'Release': {
38
- 'msvs_settings': {
39
- 'VCCLCompilerTool': {
40
- 'ExceptionHandling': 1,
41
- 'Optimization': 1,
42
- 'WholeProgramOptimization': 'true'
43
- },
44
- 'VCLibrarianTool': {
45
- 'AdditionalOptions': [
46
- '/LTCG:INCREMENTAL'
47
- ]
48
- },
49
- 'VCLinkerTool': {
50
- 'ImageHasSafeExceptionHandlers': 'false',
51
- 'OptimizeReferences': 2,
52
- 'EnableCOMDATFolding': 2,
53
- 'LinkIncremental': 1,
54
- 'AdditionalOptions': [
55
- '/LTCG:INCREMENTAL'
56
- ]
57
- }
58
- },
59
- 'msvs_disabled_warnings': [
60
- 4275
61
- ]
62
- }
63
- }
64
- }, {
65
- # Ignore this target for non-Windows
66
- 'type': 'none'
67
- }]
68
- ]
69
- }, {
70
- 'target_name': 'sharp-<(platform_and_arch)',
71
- 'defines': [
72
- 'NAPI_VERSION=5'
73
- ],
74
- 'dependencies': [
75
- '<!(node -p "require(\'node-addon-api\').gyp")',
76
- 'libvips-cpp'
77
- ],
78
- 'variables': {
79
- 'runtime_link%': 'shared',
80
- 'conditions': [
81
- ['OS != "win"', {
82
- 'pkg_config_path': '<!(node -p "require(\'./lib/libvips\').pkgConfigPath()")',
83
- 'use_global_libvips': '<!(node -p "Boolean(require(\'./lib/libvips\').useGlobalLibvips()).toString()")'
84
- }, {
85
- 'pkg_config_path': '',
86
- 'use_global_libvips': ''
87
- }]
88
- ]
89
- },
90
- 'sources': [
91
- 'src/common.cc',
92
- 'src/metadata.cc',
93
- 'src/stats.cc',
94
- 'src/operations.cc',
95
- 'src/pipeline.cc',
96
- 'src/utilities.cc',
97
- 'src/sharp.cc'
98
- ],
99
- 'include_dirs': [
100
- '<!(node -p "require(\'node-addon-api\').include_dir")',
101
- ],
102
- 'conditions': [
103
- ['use_global_libvips == "true"', {
104
- # Use pkg-config for include and lib
105
- 'include_dirs': ['<!@(PKG_CONFIG_PATH="<(pkg_config_path)" pkg-config --cflags-only-I vips-cpp vips glib-2.0 | sed s\/-I//g)'],
106
- 'conditions': [
107
- ['runtime_link == "static"', {
108
- 'libraries': ['<!@(PKG_CONFIG_PATH="<(pkg_config_path)" pkg-config --libs --static vips-cpp)']
109
- }, {
110
- 'libraries': ['<!@(PKG_CONFIG_PATH="<(pkg_config_path)" pkg-config --libs vips-cpp)']
111
- }],
112
- ['OS == "linux"', {
113
- 'defines': [
114
- # Inspect libvips-cpp.so to determine which C++11 ABI version was used and set _GLIBCXX_USE_CXX11_ABI accordingly. This is quite horrible.
115
- '_GLIBCXX_USE_CXX11_ABI=<!(if readelf -Ws "$(PKG_CONFIG_PATH="<(pkg_config_path)" pkg-config --variable libdir vips-cpp)/libvips-cpp.so" | c++filt | grep -qF __cxx11;then echo "1";else echo "0";fi)'
116
- ]
117
- }]
118
- ]
119
- }, {
120
- # Use pre-built libvips stored locally within node_modules
121
- 'include_dirs': [
122
- '<(sharp_vendor_dir)/include',
123
- '<(sharp_vendor_dir)/include/glib-2.0',
124
- '<(sharp_vendor_dir)/lib/glib-2.0/include'
125
- ],
126
- 'conditions': [
127
- ['OS == "win"', {
128
- 'defines': [
129
- '_ALLOW_KEYWORD_MACROS',
130
- '_FILE_OFFSET_BITS=64'
131
- ],
132
- 'link_settings': {
133
- 'library_dirs': ['<(sharp_vendor_dir)/lib'],
134
- 'libraries': [
135
- 'libvips.lib',
136
- 'libglib-2.0.lib',
137
- 'libgobject-2.0.lib'
138
- ]
139
- }
140
- }],
141
- ['OS == "mac"', {
142
- 'link_settings': {
143
- 'library_dirs': ['../<(sharp_vendor_dir)/lib'],
144
- 'libraries': [
145
- 'libvips-cpp.42.dylib'
146
- ]
147
- },
148
- 'xcode_settings': {
149
- 'OTHER_LDFLAGS': [
150
- # Ensure runtime linking is relative to sharp.node
151
- '-Wl,-rpath,\'@loader_path/../../<(sharp_vendor_dir)/lib\''
152
- ]
153
- }
154
- }],
155
- ['OS == "linux"', {
156
- 'defines': [
157
- '_GLIBCXX_USE_CXX11_ABI=1'
158
- ],
159
- 'link_settings': {
160
- 'library_dirs': ['../<(sharp_vendor_dir)/lib'],
161
- 'libraries': [
162
- '-l:libvips-cpp.so.42'
163
- ],
164
- 'ldflags': [
165
- # Ensure runtime linking is relative to sharp.node
166
- '-Wl,-s -Wl,--disable-new-dtags -Wl,-rpath=\'$$ORIGIN/../../<(sharp_vendor_dir)/lib\''
167
- ]
168
- }
169
- }]
170
- ]
171
- }]
172
- ],
173
- 'cflags_cc': [
174
- '-std=c++0x',
175
- '-fexceptions',
176
- '-Wall',
177
- '-Os'
178
- ],
179
- 'xcode_settings': {
180
- 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',
181
- 'MACOSX_DEPLOYMENT_TARGET': '10.9',
182
- 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
183
- 'GCC_ENABLE_CPP_RTTI': 'YES',
184
- 'OTHER_CPLUSPLUSFLAGS': [
185
- '-fexceptions',
186
- '-Wall',
187
- '-Oz'
188
- ]
189
- },
190
- 'configurations': {
191
- 'Release': {
192
- 'conditions': [
193
- ['OS == "linux"', {
194
- 'cflags_cc': [
195
- '-Wno-cast-function-type'
196
- ]
197
- }],
198
- ['target_arch == "arm"', {
199
- 'cflags_cc': [
200
- '-Wno-psabi'
201
- ]
202
- }],
203
- ['OS == "win"', {
204
- 'msvs_settings': {
205
- 'VCCLCompilerTool': {
206
- 'ExceptionHandling': 1,
207
- 'Optimization': 1,
208
- 'WholeProgramOptimization': 'true'
209
- },
210
- 'VCLibrarianTool': {
211
- 'AdditionalOptions': [
212
- '/LTCG:INCREMENTAL'
213
- ]
214
- },
215
- 'VCLinkerTool': {
216
- 'ImageHasSafeExceptionHandlers': 'false',
217
- 'OptimizeReferences': 2,
218
- 'EnableCOMDATFolding': 2,
219
- 'LinkIncremental': 1,
220
- 'AdditionalOptions': [
221
- '/LTCG:INCREMENTAL'
222
- ]
223
- }
224
- },
225
- 'msvs_disabled_warnings': [
226
- 4275
227
- ]
228
- }]
229
- ]
230
- }
231
- },
232
- }]
233
- }
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- const libvips = require('../lib/libvips');
4
-
5
- try {
6
- if (!(libvips.useGlobalLibvips() || libvips.hasVendoredLibvips())) {
7
- process.exitCode = 1;
8
- }
9
- } catch (err) {
10
- process.exitCode = 1;
11
- }
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
-
6
- const libvips = require('../lib/libvips');
7
- const platform = require('../lib/platform');
8
-
9
- const minimumLibvipsVersion = libvips.minimumLibvipsVersion;
10
-
11
- const platformAndArch = platform();
12
-
13
- if (platformAndArch.startsWith('win32')) {
14
- const buildReleaseDir = path.join(__dirname, '..', 'build', 'Release');
15
- libvips.log(`Creating ${buildReleaseDir}`);
16
- try {
17
- libvips.mkdirSync(buildReleaseDir);
18
- } catch (err) {}
19
- const vendorLibDir = path.join(__dirname, '..', 'vendor', minimumLibvipsVersion, platformAndArch, 'lib');
20
- libvips.log(`Copying DLLs from ${vendorLibDir} to ${buildReleaseDir}`);
21
- try {
22
- fs
23
- .readdirSync(vendorLibDir)
24
- .filter(function (filename) {
25
- return /\.dll$/.test(filename);
26
- })
27
- .forEach(function (filename) {
28
- fs.copyFileSync(
29
- path.join(vendorLibDir, filename),
30
- path.join(buildReleaseDir, filename)
31
- );
32
- });
33
- } catch (err) {
34
- libvips.log(err);
35
- process.exit(1);
36
- }
37
- }
@@ -1,215 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const os = require('os');
5
- const path = require('path');
6
- const stream = require('stream');
7
- const zlib = require('zlib');
8
- const { createHash } = require('crypto');
9
-
10
- const detectLibc = require('detect-libc');
11
- const semverLessThan = require('semver/functions/lt');
12
- const semverSatisfies = require('semver/functions/satisfies');
13
- const simpleGet = require('simple-get');
14
- const tarFs = require('tar-fs');
15
-
16
- const agent = require('../lib/agent');
17
- const libvips = require('../lib/libvips');
18
- const platform = require('../lib/platform');
19
-
20
- const minimumGlibcVersionByArch = {
21
- arm: '2.28',
22
- arm64: '2.17',
23
- x64: '2.17'
24
- };
25
-
26
- const hasSharpPrebuild = [
27
- 'darwin-x64',
28
- 'darwin-arm64',
29
- 'linux-arm64',
30
- 'linux-x64',
31
- 'linuxmusl-x64',
32
- 'linuxmusl-arm64',
33
- 'win32-ia32',
34
- 'win32-x64'
35
- ];
36
-
37
- const { minimumLibvipsVersion, minimumLibvipsVersionLabelled } = libvips;
38
- const localLibvipsDir = process.env.npm_config_sharp_libvips_local_prebuilds || '';
39
- const distHost = process.env.npm_config_sharp_libvips_binary_host || 'https://github.com/lovell/sharp-libvips/releases/download';
40
- const distBaseUrl = process.env.npm_config_sharp_dist_base_url || process.env.SHARP_DIST_BASE_URL || `${distHost}/v${minimumLibvipsVersionLabelled}/`;
41
- const installationForced = !!(process.env.npm_config_sharp_install_force || process.env.SHARP_INSTALL_FORCE);
42
-
43
- const fail = function (err) {
44
- libvips.log(err);
45
- if (err.code === 'EACCES') {
46
- libvips.log('Are you trying to install as a root or sudo user?');
47
- libvips.log('- For npm <= v6, try again with the "--unsafe-perm" flag');
48
- libvips.log('- For npm >= v8, the user must own the directory "npm install" is run in');
49
- }
50
- libvips.log('Please see https://sharp.pixelplumbing.com/install for required dependencies');
51
- process.exit(1);
52
- };
53
-
54
- const handleError = function (err) {
55
- if (installationForced) {
56
- libvips.log(`Installation warning: ${err.message}`);
57
- } else {
58
- throw err;
59
- }
60
- };
61
-
62
- const verifyIntegrity = function (platformAndArch) {
63
- const expected = libvips.integrity(platformAndArch);
64
- if (installationForced || !expected) {
65
- libvips.log(`Integrity check skipped for ${platformAndArch}`);
66
- return new stream.PassThrough();
67
- }
68
- const hash = createHash('sha512');
69
- return new stream.Transform({
70
- transform: function (chunk, _encoding, done) {
71
- hash.update(chunk);
72
- done(null, chunk);
73
- },
74
- flush: function (done) {
75
- const digest = `sha512-${hash.digest('base64')}`;
76
- if (expected !== digest) {
77
- libvips.removeVendoredLibvips();
78
- libvips.log(`Integrity expected: ${expected}`);
79
- libvips.log(`Integrity received: ${digest}`);
80
- done(new Error(`Integrity check failed for ${platformAndArch}`));
81
- } else {
82
- libvips.log(`Integrity check passed for ${platformAndArch}`);
83
- done();
84
- }
85
- }
86
- });
87
- };
88
-
89
- const extractTarball = function (tarPath, platformAndArch) {
90
- const versionedVendorPath = path.join(__dirname, '..', 'vendor', minimumLibvipsVersion, platformAndArch);
91
- libvips.mkdirSync(versionedVendorPath);
92
-
93
- const ignoreVendorInclude = hasSharpPrebuild.includes(platformAndArch) && !process.env.npm_config_build_from_source;
94
- const ignore = function (name) {
95
- return ignoreVendorInclude && name.includes('include/');
96
- };
97
-
98
- stream.pipeline(
99
- fs.createReadStream(tarPath),
100
- verifyIntegrity(platformAndArch),
101
- new zlib.BrotliDecompress(),
102
- tarFs.extract(versionedVendorPath, { ignore }),
103
- function (err) {
104
- if (err) {
105
- if (/unexpected end of file/.test(err.message)) {
106
- fail(new Error(`Please delete ${tarPath} as it is not a valid tarball`));
107
- }
108
- fail(err);
109
- }
110
- }
111
- );
112
- };
113
-
114
- try {
115
- const useGlobalLibvips = libvips.useGlobalLibvips();
116
-
117
- if (useGlobalLibvips) {
118
- const globalLibvipsVersion = libvips.globalLibvipsVersion();
119
- libvips.log(`Detected globally-installed libvips v${globalLibvipsVersion}`);
120
- libvips.log('Building from source via node-gyp');
121
- process.exit(1);
122
- } else if (libvips.hasVendoredLibvips()) {
123
- libvips.log(`Using existing vendored libvips v${minimumLibvipsVersion}`);
124
- } else {
125
- // Is this arch/platform supported?
126
- const arch = process.env.npm_config_arch || process.arch;
127
- const platformAndArch = platform();
128
- if (arch === 'ia32' && !platformAndArch.startsWith('win32')) {
129
- throw new Error(`Intel Architecture 32-bit systems require manual installation of libvips >= ${minimumLibvipsVersion}`);
130
- }
131
- if (platformAndArch === 'darwin-arm64') {
132
- throw new Error("Please run 'brew install vips' to install libvips on Apple M1 (ARM64) systems");
133
- }
134
- if (platformAndArch === 'freebsd-x64' || platformAndArch === 'openbsd-x64' || platformAndArch === 'sunos-x64') {
135
- throw new Error(`BSD/SunOS systems require manual installation of libvips >= ${minimumLibvipsVersion}`);
136
- }
137
- // Linux libc version check
138
- const libcFamily = detectLibc.familySync();
139
- const libcVersion = detectLibc.versionSync();
140
- if (libcFamily === detectLibc.GLIBC && libcVersion && minimumGlibcVersionByArch[arch]) {
141
- if (semverLessThan(`${libcVersion}.0`, `${minimumGlibcVersionByArch[arch]}.0`)) {
142
- handleError(new Error(`Use with glibc ${libcVersion} requires manual installation of libvips >= ${minimumLibvipsVersion}`));
143
- }
144
- }
145
- if (libcFamily === detectLibc.MUSL && libcVersion) {
146
- if (semverLessThan(libcVersion, '1.1.24')) {
147
- handleError(new Error(`Use with musl ${libcVersion} requires manual installation of libvips >= ${minimumLibvipsVersion}`));
148
- }
149
- }
150
- // Node.js minimum version check
151
- const supportedNodeVersion = process.env.npm_package_engines_node || require('../package.json').engines.node;
152
- if (!semverSatisfies(process.versions.node, supportedNodeVersion)) {
153
- handleError(new Error(`Expected Node.js version ${supportedNodeVersion} but found ${process.versions.node}`));
154
- }
155
-
156
- // Download to per-process temporary file
157
- const tarFilename = ['libvips', minimumLibvipsVersionLabelled, platformAndArch].join('-') + '.tar.br';
158
- const tarPathCache = path.join(libvips.cachePath(), tarFilename);
159
- if (fs.existsSync(tarPathCache)) {
160
- libvips.log(`Using cached ${tarPathCache}`);
161
- extractTarball(tarPathCache, platformAndArch);
162
- } else if (localLibvipsDir) {
163
- // If localLibvipsDir is given try to use binaries from local directory
164
- const tarPathLocal = path.join(path.resolve(localLibvipsDir), `v${minimumLibvipsVersionLabelled}`, tarFilename);
165
- libvips.log(`Using local libvips from ${tarPathLocal}`);
166
- extractTarball(tarPathLocal, platformAndArch);
167
- } else {
168
- const url = distBaseUrl + tarFilename;
169
- libvips.log(`Downloading ${url}`);
170
- simpleGet({ url: url, agent: agent() }, function (err, response) {
171
- if (err) {
172
- fail(err);
173
- } else if (response.statusCode === 404) {
174
- fail(new Error(`Prebuilt libvips ${minimumLibvipsVersion} binaries are not yet available for ${platformAndArch}`));
175
- } else if (response.statusCode !== 200) {
176
- fail(new Error(`Status ${response.statusCode} ${response.statusMessage}`));
177
- } else {
178
- const tarPathTemp = path.join(os.tmpdir(), `${process.pid}-${tarFilename}`);
179
- const tmpFileStream = fs.createWriteStream(tarPathTemp);
180
- response
181
- .on('error', function (err) {
182
- tmpFileStream.destroy(err);
183
- })
184
- .on('close', function () {
185
- if (!response.complete) {
186
- tmpFileStream.destroy(new Error('Download incomplete (connection was terminated)'));
187
- }
188
- })
189
- .pipe(tmpFileStream);
190
- tmpFileStream
191
- .on('error', function (err) {
192
- // Clean up temporary file
193
- try {
194
- fs.unlinkSync(tarPathTemp);
195
- } catch (e) {}
196
- fail(err);
197
- })
198
- .on('close', function () {
199
- try {
200
- // Attempt to rename
201
- fs.renameSync(tarPathTemp, tarPathCache);
202
- } catch (err) {
203
- // Fall back to copy and unlink
204
- fs.copyFileSync(tarPathTemp, tarPathCache);
205
- fs.unlinkSync(tarPathTemp);
206
- }
207
- extractTarball(tarPathCache, platformAndArch);
208
- });
209
- }
210
- });
211
- }
212
- }
213
- } catch (err) {
214
- fail(err);
215
- }
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- const url = require('url');
4
- const tunnelAgent = require('tunnel-agent');
5
-
6
- const is = require('./is');
7
-
8
- const proxies = [
9
- 'HTTPS_PROXY',
10
- 'https_proxy',
11
- 'HTTP_PROXY',
12
- 'http_proxy',
13
- 'npm_config_https_proxy',
14
- 'npm_config_proxy'
15
- ];
16
-
17
- function env (key) {
18
- return process.env[key];
19
- }
20
-
21
- module.exports = function () {
22
- try {
23
- const proxy = new url.URL(proxies.map(env).find(is.string));
24
- const tunnel = proxy.protocol === 'https:'
25
- ? tunnelAgent.httpsOverHttps
26
- : tunnelAgent.httpsOverHttp;
27
- const proxyAuth = proxy.username && proxy.password
28
- ? `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`
29
- : null;
30
- return tunnel({
31
- proxy: {
32
- port: Number(proxy.port),
33
- host: proxy.hostname,
34
- proxyAuth
35
- }
36
- });
37
- } catch (err) {
38
- return null;
39
- }
40
- };