@iconify/tools 4.2.0 → 5.0.0-beta.2

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 (534) hide show
  1. package/lib/colors/attribs.d.ts +2 -4
  2. package/lib/colors/attribs.js +33 -0
  3. package/lib/colors/detect.d.ts +2 -10
  4. package/lib/colors/detect.js +36 -0
  5. package/lib/colors/parse.d.ts +12 -19
  6. package/lib/colors/parse.js +241 -0
  7. package/lib/colors/validate.d.ts +3 -13
  8. package/lib/colors/validate.js +31 -0
  9. package/lib/css/parse.d.ts +1 -2
  10. package/lib/css/parse.js +18 -0
  11. package/lib/css/parser/error.d.ts +6 -7
  12. package/lib/css/parser/error.js +24 -0
  13. package/lib/css/parser/export.d.ts +2 -4
  14. package/lib/css/parser/export.js +34 -0
  15. package/lib/css/parser/strings.d.ts +2 -4
  16. package/lib/css/parser/strings.js +66 -0
  17. package/lib/css/parser/text.d.ts +2 -4
  18. package/lib/css/parser/text.js +103 -0
  19. package/lib/css/parser/tokens.d.ts +3 -5
  20. package/lib/css/parser/tokens.js +169 -0
  21. package/lib/css/parser/tree.d.ts +2 -4
  22. package/lib/css/parser/tree.js +35 -0
  23. package/lib/css/parser/types.d.ts +21 -22
  24. package/lib/css/parser/types.js +1 -0
  25. package/lib/download/api/cache.d.ts +2 -4
  26. package/lib/download/api/cache.js +84 -0
  27. package/lib/download/api/config.d.ts +6 -8
  28. package/lib/download/api/config.js +10 -0
  29. package/lib/download/api/download.d.ts +2 -4
  30. package/lib/download/api/download.js +26 -0
  31. package/lib/download/api/fetch.d.ts +1 -2
  32. package/lib/download/api/fetch.js +15 -0
  33. package/lib/download/api/index.d.ts +2 -4
  34. package/lib/download/api/index.js +50 -0
  35. package/lib/download/api/queue.d.ts +9 -10
  36. package/lib/download/api/queue.js +94 -0
  37. package/lib/download/api/types.d.ts +6 -7
  38. package/lib/download/api/types.js +1 -0
  39. package/lib/download/git/branch.d.ts +2 -4
  40. package/lib/download/git/branch.js +15 -0
  41. package/lib/download/git/hash.d.ts +2 -4
  42. package/lib/download/git/hash.js +10 -0
  43. package/lib/download/git/index.d.ts +10 -12
  44. package/lib/download/git/index.js +39 -0
  45. package/lib/download/git/reset.d.ts +1 -2
  46. package/lib/download/git/reset.js +12 -0
  47. package/lib/download/github/hash.d.ts +2 -4
  48. package/lib/download/github/hash.js +20 -0
  49. package/lib/download/github/index.d.ts +12 -14
  50. package/lib/download/github/index.js +66 -0
  51. package/lib/download/github/types.d.ts +5 -6
  52. package/lib/download/github/types.js +1 -0
  53. package/lib/download/gitlab/hash.d.ts +2 -4
  54. package/lib/download/gitlab/hash.js +19 -0
  55. package/lib/download/gitlab/index.d.ts +12 -14
  56. package/lib/download/gitlab/index.js +64 -0
  57. package/lib/download/gitlab/types.d.ts +5 -6
  58. package/lib/download/gitlab/types.js +6 -0
  59. package/lib/download/helpers/untar.d.ts +1 -2
  60. package/lib/download/helpers/untar.js +13 -0
  61. package/lib/download/helpers/unzip.d.ts +1 -2
  62. package/lib/download/helpers/unzip.js +39 -0
  63. package/lib/download/index.d.ts +15 -20
  64. package/lib/download/index.js +19 -0
  65. package/lib/download/npm/index.d.ts +11 -13
  66. package/lib/download/npm/index.js +51 -0
  67. package/lib/download/npm/types.d.ts +3 -4
  68. package/lib/download/npm/types.js +1 -0
  69. package/lib/download/npm/version.d.ts +4 -6
  70. package/lib/download/npm/version.js +23 -0
  71. package/lib/download/types/modified.d.ts +1 -2
  72. package/lib/download/types/modified.js +1 -0
  73. package/lib/download/types/sources.d.ts +2 -3
  74. package/lib/download/types/sources.js +1 -0
  75. package/lib/export/directory.d.ts +7 -15
  76. package/lib/export/directory.js +37 -0
  77. package/lib/export/helpers/custom-files.d.ts +2 -3
  78. package/lib/export/helpers/custom-files.js +23 -0
  79. package/lib/export/helpers/prepare.d.ts +3 -4
  80. package/lib/export/helpers/prepare.js +31 -0
  81. package/lib/export/helpers/types-version.d.ts +1 -2
  82. package/lib/export/helpers/types-version.js +19 -0
  83. package/lib/export/icon-package.d.ts +8 -15
  84. package/lib/export/icon-package.js +55 -0
  85. package/lib/export/json-package.d.ts +7 -14
  86. package/lib/export/json-package.js +129 -0
  87. package/lib/icon-set/index.d.ts +144 -147
  88. package/lib/icon-set/index.js +595 -0
  89. package/lib/icon-set/match.d.ts +3 -11
  90. package/lib/icon-set/match.js +45 -0
  91. package/lib/icon-set/merge.d.ts +2 -10
  92. package/lib/icon-set/merge.js +68 -0
  93. package/lib/icon-set/modified.d.ts +2 -10
  94. package/lib/icon-set/modified.js +20 -0
  95. package/lib/icon-set/props.d.ts +2 -5
  96. package/lib/icon-set/props.js +19 -0
  97. package/lib/icon-set/tags.d.ts +7 -15
  98. package/lib/icon-set/tags.js +53 -0
  99. package/lib/icon-set/types.d.ts +16 -21
  100. package/lib/icon-set/types.js +1 -0
  101. package/lib/import/directory.d.ts +11 -20
  102. package/lib/import/directory.js +101 -0
  103. package/lib/import/figma/index.d.ts +4 -15
  104. package/lib/import/figma/index.js +61 -0
  105. package/lib/import/figma/nodes.d.ts +4 -14
  106. package/lib/import/figma/nodes.js +80 -0
  107. package/lib/import/figma/query.d.ts +9 -19
  108. package/lib/import/figma/query.js +183 -0
  109. package/lib/import/figma/types/api.d.ts +26 -27
  110. package/lib/import/figma/types/api.js +1 -0
  111. package/lib/import/figma/types/nodes.d.ts +12 -21
  112. package/lib/import/figma/types/nodes.js +1 -0
  113. package/lib/import/figma/types/options.d.ts +23 -32
  114. package/lib/import/figma/types/options.js +1 -0
  115. package/lib/import/figma/types/result.d.ts +16 -24
  116. package/lib/import/figma/types/result.js +1 -0
  117. package/lib/index.d.ts +55 -80
  118. package/lib/index.js +56 -0
  119. package/lib/misc/bump-version.d.ts +1 -2
  120. package/lib/misc/bump-version.js +13 -0
  121. package/lib/misc/compare-dirs.d.ts +4 -5
  122. package/lib/misc/compare-dirs.js +65 -0
  123. package/lib/misc/exec.d.ts +4 -6
  124. package/lib/misc/exec.js +23 -0
  125. package/lib/misc/keyword.d.ts +1 -2
  126. package/lib/misc/keyword.js +12 -0
  127. package/lib/misc/scan.d.ts +2 -4
  128. package/lib/misc/scan.js +87 -0
  129. package/lib/misc/write-json.d.ts +1 -2
  130. package/lib/misc/write-json.js +10 -0
  131. package/lib/optimise/figma.d.ts +2 -7
  132. package/lib/optimise/figma.js +189 -0
  133. package/lib/optimise/flags.d.ts +2 -7
  134. package/lib/optimise/flags.js +231 -0
  135. package/lib/optimise/global-style.d.ts +2 -7
  136. package/lib/optimise/global-style.js +114 -0
  137. package/lib/optimise/mask.d.ts +9 -14
  138. package/lib/optimise/mask.js +83 -0
  139. package/lib/optimise/origin.d.ts +2 -7
  140. package/lib/optimise/origin.js +22 -0
  141. package/lib/optimise/scale.d.ts +2 -7
  142. package/lib/optimise/scale.js +24 -0
  143. package/lib/optimise/svgo.d.ts +10 -15
  144. package/lib/optimise/svgo.js +90 -0
  145. package/lib/optimise/unwrap.d.ts +2 -7
  146. package/lib/optimise/unwrap.js +25 -0
  147. package/lib/svg/analyse/error.d.ts +2 -7
  148. package/lib/svg/analyse/error.js +12 -0
  149. package/lib/svg/analyse/types.d.ts +31 -35
  150. package/lib/svg/analyse/types.js +1 -0
  151. package/lib/svg/analyse.d.ts +3 -10
  152. package/lib/svg/analyse.js +256 -0
  153. package/lib/svg/cleanup/attribs.d.ts +2 -7
  154. package/lib/svg/cleanup/attribs.js +37 -0
  155. package/lib/svg/cleanup/bad-tags.d.ts +3 -8
  156. package/lib/svg/cleanup/bad-tags.js +57 -0
  157. package/lib/svg/cleanup/inline-style.d.ts +2 -7
  158. package/lib/svg/cleanup/inline-style.js +80 -0
  159. package/lib/svg/cleanup/root-style.d.ts +4 -9
  160. package/lib/svg/cleanup/root-style.js +27 -0
  161. package/lib/svg/cleanup/root-svg.d.ts +2 -7
  162. package/lib/svg/cleanup/root-svg.js +73 -0
  163. package/lib/svg/cleanup/svgo-style.d.ts +2 -7
  164. package/lib/svg/cleanup/svgo-style.js +24 -0
  165. package/lib/svg/cleanup.d.ts +3 -8
  166. package/lib/svg/cleanup.js +20 -0
  167. package/lib/svg/data/attributes.d.ts +1 -2
  168. package/lib/svg/data/attributes.js +451 -0
  169. package/lib/svg/data/tags.d.ts +1 -2
  170. package/lib/svg/data/tags.js +182 -0
  171. package/lib/svg/index.d.ts +38 -47
  172. package/lib/svg/index.js +117 -0
  173. package/lib/svg/parse-style.d.ts +21 -28
  174. package/lib/svg/parse-style.js +199 -0
  175. package/lib/svg/parse.d.ts +8 -16
  176. package/lib/svg/parse.js +32 -0
  177. package/package.json +116 -222
  178. package/lib/colors/attribs.cjs +0 -33
  179. package/lib/colors/attribs.d.cts +0 -27
  180. package/lib/colors/attribs.d.mts +0 -27
  181. package/lib/colors/attribs.mjs +0 -26
  182. package/lib/colors/detect.cjs +0 -66
  183. package/lib/colors/detect.d.cts +0 -16
  184. package/lib/colors/detect.d.mts +0 -16
  185. package/lib/colors/detect.mjs +0 -64
  186. package/lib/colors/parse.cjs +0 -300
  187. package/lib/colors/parse.d.cts +0 -61
  188. package/lib/colors/parse.d.mts +0 -61
  189. package/lib/colors/parse.mjs +0 -297
  190. package/lib/colors/validate.cjs +0 -56
  191. package/lib/colors/validate.d.cts +0 -21
  192. package/lib/colors/validate.d.mts +0 -21
  193. package/lib/colors/validate.mjs +0 -54
  194. package/lib/css/parse.cjs +0 -24
  195. package/lib/css/parse.d.cts +0 -6
  196. package/lib/css/parse.d.mts +0 -6
  197. package/lib/css/parse.mjs +0 -22
  198. package/lib/css/parser/error.cjs +0 -23
  199. package/lib/css/parser/error.d.cts +0 -13
  200. package/lib/css/parser/error.d.mts +0 -13
  201. package/lib/css/parser/error.mjs +0 -21
  202. package/lib/css/parser/export.cjs +0 -37
  203. package/lib/css/parser/export.d.cts +0 -8
  204. package/lib/css/parser/export.d.mts +0 -8
  205. package/lib/css/parser/export.mjs +0 -35
  206. package/lib/css/parser/strings.cjs +0 -83
  207. package/lib/css/parser/strings.d.cts +0 -16
  208. package/lib/css/parser/strings.d.mts +0 -16
  209. package/lib/css/parser/strings.mjs +0 -80
  210. package/lib/css/parser/text.cjs +0 -114
  211. package/lib/css/parser/text.d.cts +0 -20
  212. package/lib/css/parser/text.d.mts +0 -20
  213. package/lib/css/parser/text.mjs +0 -109
  214. package/lib/css/parser/tokens.cjs +0 -206
  215. package/lib/css/parser/tokens.d.cts +0 -9
  216. package/lib/css/parser/tokens.d.mts +0 -9
  217. package/lib/css/parser/tokens.mjs +0 -204
  218. package/lib/css/parser/tree.cjs +0 -40
  219. package/lib/css/parser/tree.d.cts +0 -8
  220. package/lib/css/parser/tree.d.mts +0 -8
  221. package/lib/css/parser/tree.mjs +0 -38
  222. package/lib/css/parser/types.cjs +0 -2
  223. package/lib/css/parser/types.d.cts +0 -52
  224. package/lib/css/parser/types.d.mts +0 -52
  225. package/lib/css/parser/types.mjs +0 -1
  226. package/lib/download/api/cache.cjs +0 -91
  227. package/lib/download/api/cache.d.cts +0 -20
  228. package/lib/download/api/cache.d.mts +0 -20
  229. package/lib/download/api/cache.mjs +0 -86
  230. package/lib/download/api/config.cjs +0 -11
  231. package/lib/download/api/config.d.cts +0 -18
  232. package/lib/download/api/config.d.mts +0 -18
  233. package/lib/download/api/config.mjs +0 -8
  234. package/lib/download/api/download.cjs +0 -26
  235. package/lib/download/api/download.d.cts +0 -8
  236. package/lib/download/api/download.d.mts +0 -8
  237. package/lib/download/api/download.mjs +0 -24
  238. package/lib/download/api/fetch.cjs +0 -12
  239. package/lib/download/api/fetch.d.cts +0 -10
  240. package/lib/download/api/fetch.d.mts +0 -10
  241. package/lib/download/api/fetch.mjs +0 -9
  242. package/lib/download/api/index.cjs +0 -57
  243. package/lib/download/api/index.d.cts +0 -8
  244. package/lib/download/api/index.d.mts +0 -8
  245. package/lib/download/api/index.mjs +0 -55
  246. package/lib/download/api/queue.cjs +0 -104
  247. package/lib/download/api/queue.d.cts +0 -32
  248. package/lib/download/api/queue.d.mts +0 -32
  249. package/lib/download/api/queue.mjs +0 -101
  250. package/lib/download/api/types.cjs +0 -2
  251. package/lib/download/api/types.d.cts +0 -17
  252. package/lib/download/api/types.d.mts +0 -17
  253. package/lib/download/api/types.mjs +0 -1
  254. package/lib/download/git/branch.cjs +0 -19
  255. package/lib/download/git/branch.d.cts +0 -8
  256. package/lib/download/git/branch.d.mts +0 -8
  257. package/lib/download/git/branch.mjs +0 -17
  258. package/lib/download/git/hash.cjs +0 -14
  259. package/lib/download/git/hash.d.cts +0 -8
  260. package/lib/download/git/hash.d.mts +0 -8
  261. package/lib/download/git/hash.mjs +0 -12
  262. package/lib/download/git/index.cjs +0 -76
  263. package/lib/download/git/index.d.cts +0 -29
  264. package/lib/download/git/index.d.mts +0 -29
  265. package/lib/download/git/index.mjs +0 -74
  266. package/lib/download/git/reset.cjs +0 -36
  267. package/lib/download/git/reset.d.cts +0 -6
  268. package/lib/download/git/reset.d.mts +0 -6
  269. package/lib/download/git/reset.mjs +0 -34
  270. package/lib/download/github/hash.cjs +0 -31
  271. package/lib/download/github/hash.d.cts +0 -8
  272. package/lib/download/github/hash.d.mts +0 -8
  273. package/lib/download/github/hash.mjs +0 -29
  274. package/lib/download/github/index.cjs +0 -105
  275. package/lib/download/github/index.d.cts +0 -31
  276. package/lib/download/github/index.d.mts +0 -31
  277. package/lib/download/github/index.mjs +0 -103
  278. package/lib/download/github/types.cjs +0 -2
  279. package/lib/download/github/types.d.cts +0 -11
  280. package/lib/download/github/types.d.mts +0 -11
  281. package/lib/download/github/types.mjs +0 -1
  282. package/lib/download/gitlab/hash.cjs +0 -33
  283. package/lib/download/gitlab/hash.d.cts +0 -8
  284. package/lib/download/gitlab/hash.d.mts +0 -8
  285. package/lib/download/gitlab/hash.mjs +0 -31
  286. package/lib/download/gitlab/index.cjs +0 -105
  287. package/lib/download/gitlab/index.d.cts +0 -31
  288. package/lib/download/gitlab/index.d.mts +0 -31
  289. package/lib/download/gitlab/index.mjs +0 -103
  290. package/lib/download/gitlab/types.cjs +0 -5
  291. package/lib/download/gitlab/types.d.cts +0 -15
  292. package/lib/download/gitlab/types.d.mts +0 -15
  293. package/lib/download/gitlab/types.mjs +0 -3
  294. package/lib/download/helpers/untar.cjs +0 -12
  295. package/lib/download/helpers/untar.d.cts +0 -6
  296. package/lib/download/helpers/untar.d.mts +0 -6
  297. package/lib/download/helpers/untar.mjs +0 -10
  298. package/lib/download/helpers/unzip.cjs +0 -17
  299. package/lib/download/helpers/unzip.d.cts +0 -6
  300. package/lib/download/helpers/unzip.d.mts +0 -6
  301. package/lib/download/helpers/unzip.mjs +0 -11
  302. package/lib/download/index.cjs +0 -64
  303. package/lib/download/index.d.cts +0 -48
  304. package/lib/download/index.d.mts +0 -48
  305. package/lib/download/index.mjs +0 -62
  306. package/lib/download/npm/index.cjs +0 -85
  307. package/lib/download/npm/index.d.cts +0 -30
  308. package/lib/download/npm/index.d.mts +0 -30
  309. package/lib/download/npm/index.mjs +0 -83
  310. package/lib/download/npm/types.cjs +0 -2
  311. package/lib/download/npm/types.d.cts +0 -9
  312. package/lib/download/npm/types.d.mts +0 -9
  313. package/lib/download/npm/types.mjs +0 -1
  314. package/lib/download/npm/version.cjs +0 -29
  315. package/lib/download/npm/version.d.cts +0 -16
  316. package/lib/download/npm/version.d.mts +0 -16
  317. package/lib/download/npm/version.mjs +0 -26
  318. package/lib/download/types/modified.cjs +0 -2
  319. package/lib/download/types/modified.d.cts +0 -6
  320. package/lib/download/types/modified.d.mts +0 -6
  321. package/lib/download/types/modified.mjs +0 -1
  322. package/lib/download/types/sources.cjs +0 -2
  323. package/lib/download/types/sources.d.cts +0 -12
  324. package/lib/download/types/sources.d.mts +0 -12
  325. package/lib/download/types/sources.mjs +0 -1
  326. package/lib/export/directory.cjs +0 -43
  327. package/lib/export/directory.d.cts +0 -26
  328. package/lib/export/directory.d.mts +0 -26
  329. package/lib/export/directory.mjs +0 -41
  330. package/lib/export/helpers/custom-files.cjs +0 -26
  331. package/lib/export/helpers/custom-files.d.cts +0 -12
  332. package/lib/export/helpers/custom-files.d.mts +0 -12
  333. package/lib/export/helpers/custom-files.mjs +0 -24
  334. package/lib/export/helpers/prepare.cjs +0 -34
  335. package/lib/export/helpers/prepare.d.cts +0 -19
  336. package/lib/export/helpers/prepare.d.mts +0 -19
  337. package/lib/export/helpers/prepare.mjs +0 -31
  338. package/lib/export/helpers/types-version.cjs +0 -12
  339. package/lib/export/helpers/types-version.d.cts +0 -6
  340. package/lib/export/helpers/types-version.d.mts +0 -6
  341. package/lib/export/helpers/types-version.mjs +0 -10
  342. package/lib/export/icon-package.cjs +0 -56
  343. package/lib/export/icon-package.d.cts +0 -26
  344. package/lib/export/icon-package.d.mts +0 -26
  345. package/lib/export/icon-package.mjs +0 -54
  346. package/lib/export/json-package.cjs +0 -144
  347. package/lib/export/json-package.d.cts +0 -25
  348. package/lib/export/json-package.d.mts +0 -25
  349. package/lib/export/json-package.mjs +0 -142
  350. package/lib/icon-set/index.cjs +0 -720
  351. package/lib/icon-set/index.d.cts +0 -162
  352. package/lib/icon-set/index.d.mts +0 -162
  353. package/lib/icon-set/index.mjs +0 -716
  354. package/lib/icon-set/match.cjs +0 -56
  355. package/lib/icon-set/match.d.cts +0 -15
  356. package/lib/icon-set/match.d.mts +0 -15
  357. package/lib/icon-set/match.mjs +0 -54
  358. package/lib/icon-set/merge.cjs +0 -87
  359. package/lib/icon-set/merge.d.cts +0 -14
  360. package/lib/icon-set/merge.d.mts +0 -14
  361. package/lib/icon-set/merge.mjs +0 -85
  362. package/lib/icon-set/modified.cjs +0 -25
  363. package/lib/icon-set/modified.d.cts +0 -16
  364. package/lib/icon-set/modified.d.mts +0 -16
  365. package/lib/icon-set/modified.mjs +0 -23
  366. package/lib/icon-set/props.cjs +0 -16
  367. package/lib/icon-set/props.d.cts +0 -13
  368. package/lib/icon-set/props.d.mts +0 -13
  369. package/lib/icon-set/props.mjs +0 -13
  370. package/lib/icon-set/tags.cjs +0 -95
  371. package/lib/icon-set/tags.d.cts +0 -25
  372. package/lib/icon-set/tags.d.mts +0 -25
  373. package/lib/icon-set/tags.mjs +0 -91
  374. package/lib/icon-set/types.cjs +0 -2
  375. package/lib/icon-set/types.d.cts +0 -75
  376. package/lib/icon-set/types.d.mts +0 -75
  377. package/lib/icon-set/types.mjs +0 -1
  378. package/lib/import/directory.cjs +0 -169
  379. package/lib/import/directory.d.cts +0 -52
  380. package/lib/import/directory.d.mts +0 -52
  381. package/lib/import/directory.mjs +0 -166
  382. package/lib/import/figma/index.cjs +0 -115
  383. package/lib/import/figma/index.d.cts +0 -20
  384. package/lib/import/figma/index.d.mts +0 -20
  385. package/lib/import/figma/index.mjs +0 -113
  386. package/lib/import/figma/nodes.cjs +0 -90
  387. package/lib/import/figma/nodes.d.cts +0 -18
  388. package/lib/import/figma/nodes.d.mts +0 -18
  389. package/lib/import/figma/nodes.mjs +0 -88
  390. package/lib/import/figma/query.cjs +0 -260
  391. package/lib/import/figma/query.d.cts +0 -42
  392. package/lib/import/figma/query.d.mts +0 -42
  393. package/lib/import/figma/query.mjs +0 -256
  394. package/lib/import/figma/types/api.cjs +0 -2
  395. package/lib/import/figma/types/api.d.cts +0 -53
  396. package/lib/import/figma/types/api.d.mts +0 -53
  397. package/lib/import/figma/types/api.mjs +0 -1
  398. package/lib/import/figma/types/nodes.cjs +0 -2
  399. package/lib/import/figma/types/nodes.d.cts +0 -44
  400. package/lib/import/figma/types/nodes.d.mts +0 -44
  401. package/lib/import/figma/types/nodes.mjs +0 -1
  402. package/lib/import/figma/types/options.cjs +0 -2
  403. package/lib/import/figma/types/options.d.cts +0 -59
  404. package/lib/import/figma/types/options.d.mts +0 -59
  405. package/lib/import/figma/types/options.mjs +0 -1
  406. package/lib/import/figma/types/result.cjs +0 -2
  407. package/lib/import/figma/types/result.d.cts +0 -44
  408. package/lib/import/figma/types/result.d.mts +0 -44
  409. package/lib/import/figma/types/result.mjs +0 -1
  410. package/lib/index.cjs +0 -157
  411. package/lib/index.d.cts +0 -80
  412. package/lib/index.d.mts +0 -80
  413. package/lib/index.mjs +0 -91
  414. package/lib/misc/bump-version.cjs +0 -15
  415. package/lib/misc/bump-version.d.cts +0 -6
  416. package/lib/misc/bump-version.d.mts +0 -6
  417. package/lib/misc/bump-version.mjs +0 -13
  418. package/lib/misc/cheerio.cjs +0 -2
  419. package/lib/misc/cheerio.d.cts +0 -10
  420. package/lib/misc/cheerio.d.mts +0 -10
  421. package/lib/misc/cheerio.d.ts +0 -10
  422. package/lib/misc/cheerio.mjs +0 -1
  423. package/lib/misc/compare-dirs.cjs +0 -75
  424. package/lib/misc/compare-dirs.d.cts +0 -11
  425. package/lib/misc/compare-dirs.d.mts +0 -11
  426. package/lib/misc/compare-dirs.mjs +0 -73
  427. package/lib/misc/exec.cjs +0 -27
  428. package/lib/misc/exec.d.cts +0 -12
  429. package/lib/misc/exec.d.mts +0 -12
  430. package/lib/misc/exec.mjs +0 -25
  431. package/lib/misc/keyword.cjs +0 -20
  432. package/lib/misc/keyword.d.cts +0 -6
  433. package/lib/misc/keyword.d.mts +0 -6
  434. package/lib/misc/keyword.mjs +0 -18
  435. package/lib/misc/scan.cjs +0 -114
  436. package/lib/misc/scan.d.cts +0 -33
  437. package/lib/misc/scan.d.mts +0 -33
  438. package/lib/misc/scan.mjs +0 -111
  439. package/lib/misc/write-json.cjs +0 -9
  440. package/lib/misc/write-json.d.cts +0 -6
  441. package/lib/misc/write-json.d.mts +0 -6
  442. package/lib/misc/write-json.mjs +0 -7
  443. package/lib/optimise/figma.cjs +0 -232
  444. package/lib/optimise/figma.d.cts +0 -14
  445. package/lib/optimise/figma.d.mts +0 -14
  446. package/lib/optimise/figma.mjs +0 -230
  447. package/lib/optimise/flags.cjs +0 -256
  448. package/lib/optimise/flags.d.cts +0 -11
  449. package/lib/optimise/flags.d.mts +0 -11
  450. package/lib/optimise/flags.mjs +0 -254
  451. package/lib/optimise/global-style.cjs +0 -158
  452. package/lib/optimise/global-style.d.cts +0 -11
  453. package/lib/optimise/global-style.d.mts +0 -11
  454. package/lib/optimise/global-style.mjs +0 -156
  455. package/lib/optimise/mask.cjs +0 -110
  456. package/lib/optimise/mask.d.cts +0 -24
  457. package/lib/optimise/mask.d.mts +0 -24
  458. package/lib/optimise/mask.mjs +0 -108
  459. package/lib/optimise/origin.cjs +0 -23
  460. package/lib/optimise/origin.d.cts +0 -11
  461. package/lib/optimise/origin.d.mts +0 -11
  462. package/lib/optimise/origin.mjs +0 -21
  463. package/lib/optimise/scale.cjs +0 -27
  464. package/lib/optimise/scale.d.cts +0 -11
  465. package/lib/optimise/scale.d.mts +0 -11
  466. package/lib/optimise/scale.mjs +0 -25
  467. package/lib/optimise/svgo.cjs +0 -107
  468. package/lib/optimise/svgo.d.cts +0 -37
  469. package/lib/optimise/svgo.d.mts +0 -37
  470. package/lib/optimise/svgo.mjs +0 -104
  471. package/lib/optimise/unwrap.cjs +0 -31
  472. package/lib/optimise/unwrap.d.cts +0 -11
  473. package/lib/optimise/unwrap.d.mts +0 -11
  474. package/lib/optimise/unwrap.mjs +0 -29
  475. package/lib/svg/analyse/error.cjs +0 -16
  476. package/lib/svg/analyse/error.d.cts +0 -11
  477. package/lib/svg/analyse/error.d.mts +0 -11
  478. package/lib/svg/analyse/error.mjs +0 -14
  479. package/lib/svg/analyse/types.cjs +0 -2
  480. package/lib/svg/analyse/types.d.cts +0 -93
  481. package/lib/svg/analyse/types.d.mts +0 -93
  482. package/lib/svg/analyse/types.mjs +0 -1
  483. package/lib/svg/analyse.cjs +0 -303
  484. package/lib/svg/analyse.d.cts +0 -16
  485. package/lib/svg/analyse.d.mts +0 -16
  486. package/lib/svg/analyse.mjs +0 -301
  487. package/lib/svg/cleanup/attribs.cjs +0 -39
  488. package/lib/svg/cleanup/attribs.d.cts +0 -11
  489. package/lib/svg/cleanup/attribs.d.mts +0 -11
  490. package/lib/svg/cleanup/attribs.mjs +0 -37
  491. package/lib/svg/cleanup/bad-tags.cjs +0 -69
  492. package/lib/svg/cleanup/bad-tags.d.cts +0 -17
  493. package/lib/svg/cleanup/bad-tags.d.mts +0 -17
  494. package/lib/svg/cleanup/bad-tags.mjs +0 -67
  495. package/lib/svg/cleanup/inline-style.cjs +0 -97
  496. package/lib/svg/cleanup/inline-style.d.cts +0 -11
  497. package/lib/svg/cleanup/inline-style.d.mts +0 -11
  498. package/lib/svg/cleanup/inline-style.mjs +0 -95
  499. package/lib/svg/cleanup/root-style.cjs +0 -34
  500. package/lib/svg/cleanup/root-style.d.cts +0 -17
  501. package/lib/svg/cleanup/root-style.d.mts +0 -17
  502. package/lib/svg/cleanup/root-style.mjs +0 -32
  503. package/lib/svg/cleanup/root-svg.cjs +0 -84
  504. package/lib/svg/cleanup/root-svg.d.cts +0 -11
  505. package/lib/svg/cleanup/root-svg.d.mts +0 -11
  506. package/lib/svg/cleanup/root-svg.mjs +0 -82
  507. package/lib/svg/cleanup/svgo-style.cjs +0 -43
  508. package/lib/svg/cleanup/svgo-style.d.cts +0 -11
  509. package/lib/svg/cleanup/svgo-style.d.mts +0 -11
  510. package/lib/svg/cleanup/svgo-style.mjs +0 -41
  511. package/lib/svg/cleanup.cjs +0 -33
  512. package/lib/svg/cleanup.d.cts +0 -16
  513. package/lib/svg/cleanup.d.mts +0 -16
  514. package/lib/svg/cleanup.mjs +0 -31
  515. package/lib/svg/data/attributes.cjs +0 -373
  516. package/lib/svg/data/attributes.d.cts +0 -77
  517. package/lib/svg/data/attributes.d.mts +0 -77
  518. package/lib/svg/data/attributes.mjs +0 -346
  519. package/lib/svg/data/tags.cjs +0 -141
  520. package/lib/svg/data/tags.d.cts +0 -95
  521. package/lib/svg/data/tags.d.mts +0 -95
  522. package/lib/svg/data/tags.mjs +0 -117
  523. package/lib/svg/index.cjs +0 -178
  524. package/lib/svg/index.d.cts +0 -52
  525. package/lib/svg/index.d.mts +0 -52
  526. package/lib/svg/index.mjs +0 -162
  527. package/lib/svg/parse-style.cjs +0 -243
  528. package/lib/svg/parse-style.d.cts +0 -59
  529. package/lib/svg/parse-style.d.mts +0 -59
  530. package/lib/svg/parse-style.mjs +0 -241
  531. package/lib/svg/parse.cjs +0 -46
  532. package/lib/svg/parse.d.cts +0 -31
  533. package/lib/svg/parse.d.mts +0 -31
  534. package/lib/svg/parse.mjs +0 -44
@@ -1,105 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const export_helpers_prepare = require('../../export/helpers/prepare.cjs');
5
- const download_github_hash = require('./hash.cjs');
6
- const download_api_download = require('../api/download.cjs');
7
- const download_helpers_unzip = require('../helpers/unzip.cjs');
8
- require('pathe');
9
- require('../api/index.cjs');
10
- require('../api/cache.cjs');
11
- require('crypto');
12
- require('../../misc/scan.cjs');
13
- require('../api/config.cjs');
14
- require('../api/fetch.cjs');
15
- require('fs/promises');
16
- require('extract-zip');
17
-
18
- async function findMatchingDirs(rootDir, hash) {
19
- const matches = [];
20
- const files = await fs.promises.readdir(rootDir);
21
- for (let i = 0; i < files.length; i++) {
22
- const file = files[i];
23
- const lastChunk = file.split("-").pop();
24
- if (lastChunk.length < 4 || lastChunk !== hash.slice(0, lastChunk.length)) {
25
- continue;
26
- }
27
- const stat = await fs.promises.stat(rootDir + "/" + file);
28
- if (stat.isDirectory()) {
29
- matches.push(file);
30
- }
31
- }
32
- return matches;
33
- }
34
- async function downloadGitHubRepo(options) {
35
- const hash = await download_github_hash.getGitHubRepoHash(options);
36
- const ifModifiedSince = options.ifModifiedSince;
37
- if (ifModifiedSince) {
38
- const expectedHash = typeof ifModifiedSince === "string" ? ifModifiedSince : ifModifiedSince.downloadType === "github" ? ifModifiedSince.hash : null;
39
- if (hash === expectedHash) {
40
- return "not_modified";
41
- }
42
- }
43
- options.target = options.target.replace("{hash}", hash);
44
- const rootDir = options.target = await export_helpers_prepare.prepareDirectoryForExport(options);
45
- const archiveTarget = rootDir + "/" + hash + ".zip";
46
- let exists = false;
47
- try {
48
- const stat = await fs.promises.stat(archiveTarget);
49
- exists = stat.isFile();
50
- } catch (err) {
51
- }
52
- if (!exists) {
53
- const uri = `https://api.github.com/repos/${options.user}/${options.repo}/zipball/${hash}`;
54
- await download_api_download.downloadFile(
55
- {
56
- uri,
57
- headers: {
58
- Accept: "application/vnd.github.v3+json",
59
- Authorization: "token " + options.token
60
- }
61
- },
62
- archiveTarget
63
- );
64
- }
65
- const files = await fs.promises.readdir(rootDir);
66
- const hashSearch = "-" + hash;
67
- for (let i = 0; i < files.length; i++) {
68
- const file = files[i];
69
- if (file === hash + ".zip") {
70
- continue;
71
- }
72
- const filename = rootDir + "/" + files[i];
73
- const stat = await fs.promises.lstat(filename);
74
- const isDir = stat.isDirectory();
75
- if (
76
- // Remove symbolic links
77
- stat.isSymbolicLink() || // Remove if directory matches hash to avoid errors extracting zip
78
- isDir && filename.slice(0 - hashSearch.length) === hashSearch || // Remove if directory and cleanupOldDirectories is not disabled
79
- isDir && options.cleanupOldDirectories !== false || // Remove if file and cleanupOldFiles is enabled
80
- !isDir && options.cleanupOldFiles
81
- ) {
82
- try {
83
- await fs.promises.rm(filename, {
84
- force: true,
85
- recursive: true
86
- });
87
- } catch (err) {
88
- }
89
- }
90
- }
91
- await download_helpers_unzip.unzip(archiveTarget, rootDir);
92
- const matchingDirs = await findMatchingDirs(rootDir, hash);
93
- if (matchingDirs.length !== 1) {
94
- throw new Error(`Error unpacking ${hash}.zip`);
95
- }
96
- const contentsDir = rootDir + "/" + matchingDirs[0];
97
- return {
98
- downloadType: "github",
99
- rootDir,
100
- contentsDir,
101
- hash
102
- };
103
- }
104
-
105
- exports.downloadGitHubRepo = downloadGitHubRepo;
@@ -1,31 +0,0 @@
1
- import { ExportTargetOptions } from '../../export/helpers/prepare.cjs';
2
- import { DocumentNotModified } from '../types/modified.cjs';
3
- import { GitHubAPIOptions } from './types.cjs';
4
- import { DownloadSourceMixin } from '../types/sources.cjs';
5
-
6
- interface IfModifiedSinceOption {
7
- ifModifiedSince: string | DownloadGitHubRepoResult;
8
- }
9
- /**
10
- * Options for downloadGitHubRepo()
11
- */
12
- interface DownloadGitHubRepoOptions extends ExportTargetOptions, GitHubAPIOptions, Partial<IfModifiedSinceOption> {
13
- cleanupOldFiles?: boolean;
14
- cleanupOldDirectories?: boolean;
15
- log?: boolean;
16
- }
17
- /**
18
- * Result
19
- */
20
- interface DownloadGitHubRepoResult extends DownloadSourceMixin<'github'> {
21
- rootDir: string;
22
- contentsDir: string;
23
- hash: string;
24
- }
25
- /**
26
- * Download GitHub repo using API
27
- */
28
- declare function downloadGitHubRepo<T extends IfModifiedSinceOption & DownloadGitHubRepoOptions>(options: T): Promise<DownloadGitHubRepoResult | DocumentNotModified>;
29
- declare function downloadGitHubRepo(options: DownloadGitHubRepoOptions): Promise<DownloadGitHubRepoResult>;
30
-
31
- export { type DownloadGitHubRepoOptions, type DownloadGitHubRepoResult, downloadGitHubRepo };
@@ -1,31 +0,0 @@
1
- import { ExportTargetOptions } from '../../export/helpers/prepare.mjs';
2
- import { DocumentNotModified } from '../types/modified.mjs';
3
- import { GitHubAPIOptions } from './types.mjs';
4
- import { DownloadSourceMixin } from '../types/sources.mjs';
5
-
6
- interface IfModifiedSinceOption {
7
- ifModifiedSince: string | DownloadGitHubRepoResult;
8
- }
9
- /**
10
- * Options for downloadGitHubRepo()
11
- */
12
- interface DownloadGitHubRepoOptions extends ExportTargetOptions, GitHubAPIOptions, Partial<IfModifiedSinceOption> {
13
- cleanupOldFiles?: boolean;
14
- cleanupOldDirectories?: boolean;
15
- log?: boolean;
16
- }
17
- /**
18
- * Result
19
- */
20
- interface DownloadGitHubRepoResult extends DownloadSourceMixin<'github'> {
21
- rootDir: string;
22
- contentsDir: string;
23
- hash: string;
24
- }
25
- /**
26
- * Download GitHub repo using API
27
- */
28
- declare function downloadGitHubRepo<T extends IfModifiedSinceOption & DownloadGitHubRepoOptions>(options: T): Promise<DownloadGitHubRepoResult | DocumentNotModified>;
29
- declare function downloadGitHubRepo(options: DownloadGitHubRepoOptions): Promise<DownloadGitHubRepoResult>;
30
-
31
- export { type DownloadGitHubRepoOptions, type DownloadGitHubRepoResult, downloadGitHubRepo };
@@ -1,103 +0,0 @@
1
- import { promises } from 'fs';
2
- import { prepareDirectoryForExport } from '../../export/helpers/prepare.mjs';
3
- import { getGitHubRepoHash } from './hash.mjs';
4
- import { downloadFile } from '../api/download.mjs';
5
- import { unzip } from '../helpers/unzip.mjs';
6
- import 'pathe';
7
- import '../api/index.mjs';
8
- import '../api/cache.mjs';
9
- import 'crypto';
10
- import '../../misc/scan.mjs';
11
- import '../api/config.mjs';
12
- import '../api/fetch.mjs';
13
- import 'fs/promises';
14
- import 'extract-zip';
15
-
16
- async function findMatchingDirs(rootDir, hash) {
17
- const matches = [];
18
- const files = await promises.readdir(rootDir);
19
- for (let i = 0; i < files.length; i++) {
20
- const file = files[i];
21
- const lastChunk = file.split("-").pop();
22
- if (lastChunk.length < 4 || lastChunk !== hash.slice(0, lastChunk.length)) {
23
- continue;
24
- }
25
- const stat = await promises.stat(rootDir + "/" + file);
26
- if (stat.isDirectory()) {
27
- matches.push(file);
28
- }
29
- }
30
- return matches;
31
- }
32
- async function downloadGitHubRepo(options) {
33
- const hash = await getGitHubRepoHash(options);
34
- const ifModifiedSince = options.ifModifiedSince;
35
- if (ifModifiedSince) {
36
- const expectedHash = typeof ifModifiedSince === "string" ? ifModifiedSince : ifModifiedSince.downloadType === "github" ? ifModifiedSince.hash : null;
37
- if (hash === expectedHash) {
38
- return "not_modified";
39
- }
40
- }
41
- options.target = options.target.replace("{hash}", hash);
42
- const rootDir = options.target = await prepareDirectoryForExport(options);
43
- const archiveTarget = rootDir + "/" + hash + ".zip";
44
- let exists = false;
45
- try {
46
- const stat = await promises.stat(archiveTarget);
47
- exists = stat.isFile();
48
- } catch (err) {
49
- }
50
- if (!exists) {
51
- const uri = `https://api.github.com/repos/${options.user}/${options.repo}/zipball/${hash}`;
52
- await downloadFile(
53
- {
54
- uri,
55
- headers: {
56
- Accept: "application/vnd.github.v3+json",
57
- Authorization: "token " + options.token
58
- }
59
- },
60
- archiveTarget
61
- );
62
- }
63
- const files = await promises.readdir(rootDir);
64
- const hashSearch = "-" + hash;
65
- for (let i = 0; i < files.length; i++) {
66
- const file = files[i];
67
- if (file === hash + ".zip") {
68
- continue;
69
- }
70
- const filename = rootDir + "/" + files[i];
71
- const stat = await promises.lstat(filename);
72
- const isDir = stat.isDirectory();
73
- if (
74
- // Remove symbolic links
75
- stat.isSymbolicLink() || // Remove if directory matches hash to avoid errors extracting zip
76
- isDir && filename.slice(0 - hashSearch.length) === hashSearch || // Remove if directory and cleanupOldDirectories is not disabled
77
- isDir && options.cleanupOldDirectories !== false || // Remove if file and cleanupOldFiles is enabled
78
- !isDir && options.cleanupOldFiles
79
- ) {
80
- try {
81
- await promises.rm(filename, {
82
- force: true,
83
- recursive: true
84
- });
85
- } catch (err) {
86
- }
87
- }
88
- }
89
- await unzip(archiveTarget, rootDir);
90
- const matchingDirs = await findMatchingDirs(rootDir, hash);
91
- if (matchingDirs.length !== 1) {
92
- throw new Error(`Error unpacking ${hash}.zip`);
93
- }
94
- const contentsDir = rootDir + "/" + matchingDirs[0];
95
- return {
96
- downloadType: "github",
97
- rootDir,
98
- contentsDir,
99
- hash
100
- };
101
- }
102
-
103
- export { downloadGitHubRepo };
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
@@ -1,11 +0,0 @@
1
- /**
2
- * API options
3
- */
4
- interface GitHubAPIOptions {
5
- token: string;
6
- user: string;
7
- repo: string;
8
- branch: string;
9
- }
10
-
11
- export type { GitHubAPIOptions };
@@ -1,11 +0,0 @@
1
- /**
2
- * API options
3
- */
4
- interface GitHubAPIOptions {
5
- token: string;
6
- user: string;
7
- repo: string;
8
- branch: string;
9
- }
10
-
11
- export type { GitHubAPIOptions };
@@ -1 +0,0 @@
1
-
@@ -1,33 +0,0 @@
1
- 'use strict';
2
-
3
- const download_api_index = require('../api/index.cjs');
4
- const download_gitlab_types = require('./types.cjs');
5
- require('../api/cache.cjs');
6
- require('fs');
7
- require('crypto');
8
- require('../../misc/scan.cjs');
9
- require('../api/config.cjs');
10
- require('../api/fetch.cjs');
11
-
12
- async function getGitLabRepoHash(options) {
13
- const uri = `${options.uri || download_gitlab_types.defaultGitLabBaseURI}/${options.project}/repository/branches/${options.branch}/`;
14
- const data = await download_api_index.sendAPIQuery({
15
- uri,
16
- headers: {
17
- Authorization: "token " + options.token
18
- }
19
- });
20
- if (typeof data !== "string") {
21
- throw new Error(`Error downloading data from GitLab API: ${data}`);
22
- }
23
- const content = JSON.parse(data);
24
- const item = (content instanceof Array ? content : [content]).find(
25
- (item2) => item2.name === options.branch && typeof item2.commit.id === "string"
26
- );
27
- if (!item) {
28
- throw new Error("Error parsing GitLab API response");
29
- }
30
- return item.commit.id;
31
- }
32
-
33
- exports.getGitLabRepoHash = getGitLabRepoHash;
@@ -1,8 +0,0 @@
1
- import { GitLabAPIOptions } from './types.cjs';
2
-
3
- /**
4
- * Get latest hash from GitHub using API
5
- */
6
- declare function getGitLabRepoHash(options: GitLabAPIOptions): Promise<string>;
7
-
8
- export { getGitLabRepoHash };
@@ -1,8 +0,0 @@
1
- import { GitLabAPIOptions } from './types.mjs';
2
-
3
- /**
4
- * Get latest hash from GitHub using API
5
- */
6
- declare function getGitLabRepoHash(options: GitLabAPIOptions): Promise<string>;
7
-
8
- export { getGitLabRepoHash };
@@ -1,31 +0,0 @@
1
- import { sendAPIQuery } from '../api/index.mjs';
2
- import { defaultGitLabBaseURI } from './types.mjs';
3
- import '../api/cache.mjs';
4
- import 'fs';
5
- import 'crypto';
6
- import '../../misc/scan.mjs';
7
- import '../api/config.mjs';
8
- import '../api/fetch.mjs';
9
-
10
- async function getGitLabRepoHash(options) {
11
- const uri = `${options.uri || defaultGitLabBaseURI}/${options.project}/repository/branches/${options.branch}/`;
12
- const data = await sendAPIQuery({
13
- uri,
14
- headers: {
15
- Authorization: "token " + options.token
16
- }
17
- });
18
- if (typeof data !== "string") {
19
- throw new Error(`Error downloading data from GitLab API: ${data}`);
20
- }
21
- const content = JSON.parse(data);
22
- const item = (content instanceof Array ? content : [content]).find(
23
- (item2) => item2.name === options.branch && typeof item2.commit.id === "string"
24
- );
25
- if (!item) {
26
- throw new Error("Error parsing GitLab API response");
27
- }
28
- return item.commit.id;
29
- }
30
-
31
- export { getGitLabRepoHash };
@@ -1,105 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const export_helpers_prepare = require('../../export/helpers/prepare.cjs');
5
- const download_gitlab_hash = require('./hash.cjs');
6
- const download_gitlab_types = require('./types.cjs');
7
- const download_api_download = require('../api/download.cjs');
8
- const download_helpers_unzip = require('../helpers/unzip.cjs');
9
- require('pathe');
10
- require('../api/index.cjs');
11
- require('../api/cache.cjs');
12
- require('crypto');
13
- require('../../misc/scan.cjs');
14
- require('../api/config.cjs');
15
- require('../api/fetch.cjs');
16
- require('fs/promises');
17
- require('extract-zip');
18
-
19
- async function findMatchingDirs(rootDir, hash) {
20
- const matches = [];
21
- const files = await fs.promises.readdir(rootDir);
22
- for (let i = 0; i < files.length; i++) {
23
- const file = files[i];
24
- const lastChunk = file.split("-").pop();
25
- if (lastChunk.length < 4 || lastChunk !== hash.slice(0, lastChunk.length)) {
26
- continue;
27
- }
28
- const stat = await fs.promises.stat(rootDir + "/" + file);
29
- if (stat.isDirectory()) {
30
- matches.push(file);
31
- }
32
- }
33
- return matches;
34
- }
35
- async function downloadGitLabRepo(options) {
36
- const hash = await download_gitlab_hash.getGitLabRepoHash(options);
37
- const ifModifiedSince = options.ifModifiedSince;
38
- if (ifModifiedSince) {
39
- const expectedHash = typeof ifModifiedSince === "string" ? ifModifiedSince : ifModifiedSince.downloadType === "gitlab" ? ifModifiedSince.hash : null;
40
- if (hash === expectedHash) {
41
- return "not_modified";
42
- }
43
- }
44
- options.target = options.target.replace("{hash}", hash);
45
- const rootDir = options.target = await export_helpers_prepare.prepareDirectoryForExport(options);
46
- const archiveTarget = rootDir + "/" + hash + ".zip";
47
- let exists = false;
48
- try {
49
- const stat = await fs.promises.stat(archiveTarget);
50
- exists = stat.isFile();
51
- } catch (err) {
52
- }
53
- if (!exists) {
54
- const uri = `${options.uri || download_gitlab_types.defaultGitLabBaseURI}/${options.project}/repository/archive.zip?sha=${hash}`;
55
- await download_api_download.downloadFile(
56
- {
57
- uri,
58
- headers: {
59
- Authorization: "token " + options.token
60
- }
61
- },
62
- archiveTarget
63
- );
64
- }
65
- const files = await fs.promises.readdir(rootDir);
66
- const hashSearch = "-" + hash;
67
- for (let i = 0; i < files.length; i++) {
68
- const file = files[i];
69
- if (file === hash + ".zip") {
70
- continue;
71
- }
72
- const filename = rootDir + "/" + files[i];
73
- const stat = await fs.promises.lstat(filename);
74
- const isDir = stat.isDirectory();
75
- if (
76
- // Remove symbolic links
77
- stat.isSymbolicLink() || // Remove if directory matches hash to avoid errors extracting zip
78
- isDir && filename.slice(0 - hashSearch.length) === hashSearch || // Remove if directory and cleanupOldDirectories is not disabled
79
- isDir && options.cleanupOldDirectories !== false || // Remove if file and cleanupOldFiles is enabled
80
- !isDir && options.cleanupOldFiles
81
- ) {
82
- try {
83
- await fs.promises.rm(filename, {
84
- force: true,
85
- recursive: true
86
- });
87
- } catch (err) {
88
- }
89
- }
90
- }
91
- await download_helpers_unzip.unzip(archiveTarget, rootDir);
92
- const matchingDirs = await findMatchingDirs(rootDir, hash);
93
- if (matchingDirs.length !== 1) {
94
- throw new Error(`Error unpacking ${hash}.zip`);
95
- }
96
- const contentsDir = rootDir + "/" + matchingDirs[0];
97
- return {
98
- downloadType: "gitlab",
99
- rootDir,
100
- contentsDir,
101
- hash
102
- };
103
- }
104
-
105
- exports.downloadGitLabRepo = downloadGitLabRepo;
@@ -1,31 +0,0 @@
1
- import { ExportTargetOptions } from '../../export/helpers/prepare.cjs';
2
- import { DocumentNotModified } from '../types/modified.cjs';
3
- import { GitLabAPIOptions } from './types.cjs';
4
- import { DownloadSourceMixin } from '../types/sources.cjs';
5
-
6
- interface IfModifiedSinceOption {
7
- ifModifiedSince: string | DownloadGitLabRepoResult;
8
- }
9
- /**
10
- * Options for downloadGitLabRepo()
11
- */
12
- interface DownloadGitLabRepoOptions extends ExportTargetOptions, GitLabAPIOptions, Partial<IfModifiedSinceOption> {
13
- cleanupOldFiles?: boolean;
14
- cleanupOldDirectories?: boolean;
15
- log?: boolean;
16
- }
17
- /**
18
- * Result
19
- */
20
- interface DownloadGitLabRepoResult extends DownloadSourceMixin<'gitlab'> {
21
- rootDir: string;
22
- contentsDir: string;
23
- hash: string;
24
- }
25
- /**
26
- * Download GitLab repo using API
27
- */
28
- declare function downloadGitLabRepo<T extends IfModifiedSinceOption & DownloadGitLabRepoOptions>(options: T): Promise<DownloadGitLabRepoResult | DocumentNotModified>;
29
- declare function downloadGitLabRepo(options: DownloadGitLabRepoOptions): Promise<DownloadGitLabRepoResult>;
30
-
31
- export { type DownloadGitLabRepoOptions, type DownloadGitLabRepoResult, downloadGitLabRepo };
@@ -1,31 +0,0 @@
1
- import { ExportTargetOptions } from '../../export/helpers/prepare.mjs';
2
- import { DocumentNotModified } from '../types/modified.mjs';
3
- import { GitLabAPIOptions } from './types.mjs';
4
- import { DownloadSourceMixin } from '../types/sources.mjs';
5
-
6
- interface IfModifiedSinceOption {
7
- ifModifiedSince: string | DownloadGitLabRepoResult;
8
- }
9
- /**
10
- * Options for downloadGitLabRepo()
11
- */
12
- interface DownloadGitLabRepoOptions extends ExportTargetOptions, GitLabAPIOptions, Partial<IfModifiedSinceOption> {
13
- cleanupOldFiles?: boolean;
14
- cleanupOldDirectories?: boolean;
15
- log?: boolean;
16
- }
17
- /**
18
- * Result
19
- */
20
- interface DownloadGitLabRepoResult extends DownloadSourceMixin<'gitlab'> {
21
- rootDir: string;
22
- contentsDir: string;
23
- hash: string;
24
- }
25
- /**
26
- * Download GitLab repo using API
27
- */
28
- declare function downloadGitLabRepo<T extends IfModifiedSinceOption & DownloadGitLabRepoOptions>(options: T): Promise<DownloadGitLabRepoResult | DocumentNotModified>;
29
- declare function downloadGitLabRepo(options: DownloadGitLabRepoOptions): Promise<DownloadGitLabRepoResult>;
30
-
31
- export { type DownloadGitLabRepoOptions, type DownloadGitLabRepoResult, downloadGitLabRepo };
@@ -1,103 +0,0 @@
1
- import { promises } from 'fs';
2
- import { prepareDirectoryForExport } from '../../export/helpers/prepare.mjs';
3
- import { getGitLabRepoHash } from './hash.mjs';
4
- import { defaultGitLabBaseURI } from './types.mjs';
5
- import { downloadFile } from '../api/download.mjs';
6
- import { unzip } from '../helpers/unzip.mjs';
7
- import 'pathe';
8
- import '../api/index.mjs';
9
- import '../api/cache.mjs';
10
- import 'crypto';
11
- import '../../misc/scan.mjs';
12
- import '../api/config.mjs';
13
- import '../api/fetch.mjs';
14
- import 'fs/promises';
15
- import 'extract-zip';
16
-
17
- async function findMatchingDirs(rootDir, hash) {
18
- const matches = [];
19
- const files = await promises.readdir(rootDir);
20
- for (let i = 0; i < files.length; i++) {
21
- const file = files[i];
22
- const lastChunk = file.split("-").pop();
23
- if (lastChunk.length < 4 || lastChunk !== hash.slice(0, lastChunk.length)) {
24
- continue;
25
- }
26
- const stat = await promises.stat(rootDir + "/" + file);
27
- if (stat.isDirectory()) {
28
- matches.push(file);
29
- }
30
- }
31
- return matches;
32
- }
33
- async function downloadGitLabRepo(options) {
34
- const hash = await getGitLabRepoHash(options);
35
- const ifModifiedSince = options.ifModifiedSince;
36
- if (ifModifiedSince) {
37
- const expectedHash = typeof ifModifiedSince === "string" ? ifModifiedSince : ifModifiedSince.downloadType === "gitlab" ? ifModifiedSince.hash : null;
38
- if (hash === expectedHash) {
39
- return "not_modified";
40
- }
41
- }
42
- options.target = options.target.replace("{hash}", hash);
43
- const rootDir = options.target = await prepareDirectoryForExport(options);
44
- const archiveTarget = rootDir + "/" + hash + ".zip";
45
- let exists = false;
46
- try {
47
- const stat = await promises.stat(archiveTarget);
48
- exists = stat.isFile();
49
- } catch (err) {
50
- }
51
- if (!exists) {
52
- const uri = `${options.uri || defaultGitLabBaseURI}/${options.project}/repository/archive.zip?sha=${hash}`;
53
- await downloadFile(
54
- {
55
- uri,
56
- headers: {
57
- Authorization: "token " + options.token
58
- }
59
- },
60
- archiveTarget
61
- );
62
- }
63
- const files = await promises.readdir(rootDir);
64
- const hashSearch = "-" + hash;
65
- for (let i = 0; i < files.length; i++) {
66
- const file = files[i];
67
- if (file === hash + ".zip") {
68
- continue;
69
- }
70
- const filename = rootDir + "/" + files[i];
71
- const stat = await promises.lstat(filename);
72
- const isDir = stat.isDirectory();
73
- if (
74
- // Remove symbolic links
75
- stat.isSymbolicLink() || // Remove if directory matches hash to avoid errors extracting zip
76
- isDir && filename.slice(0 - hashSearch.length) === hashSearch || // Remove if directory and cleanupOldDirectories is not disabled
77
- isDir && options.cleanupOldDirectories !== false || // Remove if file and cleanupOldFiles is enabled
78
- !isDir && options.cleanupOldFiles
79
- ) {
80
- try {
81
- await promises.rm(filename, {
82
- force: true,
83
- recursive: true
84
- });
85
- } catch (err) {
86
- }
87
- }
88
- }
89
- await unzip(archiveTarget, rootDir);
90
- const matchingDirs = await findMatchingDirs(rootDir, hash);
91
- if (matchingDirs.length !== 1) {
92
- throw new Error(`Error unpacking ${hash}.zip`);
93
- }
94
- const contentsDir = rootDir + "/" + matchingDirs[0];
95
- return {
96
- downloadType: "gitlab",
97
- rootDir,
98
- contentsDir,
99
- hash
100
- };
101
- }
102
-
103
- export { downloadGitLabRepo };
@@ -1,5 +0,0 @@
1
- 'use strict';
2
-
3
- const defaultGitLabBaseURI = "https://gitlab.com/api/v4/projects";
4
-
5
- exports.defaultGitLabBaseURI = defaultGitLabBaseURI;