fomantic-ui 2.9.1-beta.3 → 2.9.1-beta.30

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 (540) hide show
  1. package/.eslint/eqeqeq-rule.js +18 -0
  2. package/.eslint/index.js +26 -0
  3. package/.eslint/no-extra-parens-rule.js +17 -0
  4. package/.eslint/package.json +11 -0
  5. package/.eslintrc.js +124 -0
  6. package/.github/workflows/ci.yml +37 -4
  7. package/.github/workflows/nightly.yml +1 -1
  8. package/.github/workflows/release.yml +1 -1
  9. package/.prettierrc.js +12 -0
  10. package/.stylelintrc.js +48 -0
  11. package/README.md +1 -1
  12. package/dist/components/accordion.css +35 -53
  13. package/dist/components/accordion.js +568 -595
  14. package/dist/components/accordion.min.css +2 -2
  15. package/dist/components/accordion.min.js +2 -2
  16. package/dist/components/ad.css +34 -45
  17. package/dist/components/ad.min.css +2 -2
  18. package/dist/components/api.js +1157 -1179
  19. package/dist/components/api.min.js +2 -2
  20. package/dist/components/breadcrumb.css +5 -5
  21. package/dist/components/breadcrumb.min.css +2 -2
  22. package/dist/components/button.css +709 -1121
  23. package/dist/components/button.min.css +2 -2
  24. package/dist/components/calendar.css +24 -27
  25. package/dist/components/calendar.js +1934 -1809
  26. package/dist/components/calendar.min.css +2 -2
  27. package/dist/components/calendar.min.js +2 -2
  28. package/dist/components/card.css +219 -365
  29. package/dist/components/card.min.css +2 -2
  30. package/dist/components/checkbox.css +119 -187
  31. package/dist/components/checkbox.js +842 -841
  32. package/dist/components/checkbox.min.css +2 -2
  33. package/dist/components/checkbox.min.js +2 -2
  34. package/dist/components/comment.css +41 -59
  35. package/dist/components/comment.min.css +2 -2
  36. package/dist/components/container.css +7 -6
  37. package/dist/components/container.min.css +2 -2
  38. package/dist/components/dimmer.css +53 -172
  39. package/dist/components/dimmer.js +706 -737
  40. package/dist/components/dimmer.min.css +2 -2
  41. package/dist/components/dimmer.min.js +2 -2
  42. package/dist/components/divider.css +43 -61
  43. package/dist/components/divider.min.css +2 -2
  44. package/dist/components/dropdown.css +252 -386
  45. package/dist/components/dropdown.js +4179 -4236
  46. package/dist/components/dropdown.min.css +2 -2
  47. package/dist/components/dropdown.min.js +2 -2
  48. package/dist/components/embed.css +18 -29
  49. package/dist/components/embed.js +645 -675
  50. package/dist/components/embed.min.css +2 -2
  51. package/dist/components/embed.min.js +2 -2
  52. package/dist/components/emoji.css +9 -9
  53. package/dist/components/emoji.min.css +1 -1
  54. package/dist/components/feed.css +35 -57
  55. package/dist/components/feed.min.css +2 -2
  56. package/dist/components/flag.css +6 -4
  57. package/dist/components/flag.min.css +2 -2
  58. package/dist/components/flyout.css +86 -141
  59. package/dist/components/flyout.js +1457 -1465
  60. package/dist/components/flyout.min.css +2 -2
  61. package/dist/components/flyout.min.js +2 -2
  62. package/dist/components/form.css +244 -339
  63. package/dist/components/form.js +2020 -2004
  64. package/dist/components/form.min.css +2 -2
  65. package/dist/components/form.min.js +2 -2
  66. package/dist/components/grid.css +172 -319
  67. package/dist/components/grid.min.css +2 -2
  68. package/dist/components/header.css +118 -142
  69. package/dist/components/header.min.css +2 -2
  70. package/dist/components/icon.css +660 -718
  71. package/dist/components/icon.min.css +2 -2
  72. package/dist/components/image.css +39 -63
  73. package/dist/components/image.min.css +2 -2
  74. package/dist/components/input.css +356 -274
  75. package/dist/components/input.min.css +2 -2
  76. package/dist/components/item.css +84 -131
  77. package/dist/components/item.min.css +2 -2
  78. package/dist/components/label.css +359 -410
  79. package/dist/components/label.min.css +2 -2
  80. package/dist/components/list.css +49 -70
  81. package/dist/components/list.min.css +2 -2
  82. package/dist/components/loader.css +67 -155
  83. package/dist/components/loader.min.css +2 -2
  84. package/dist/components/menu.css +269 -431
  85. package/dist/components/menu.min.css +1 -1
  86. package/dist/components/message.css +125 -197
  87. package/dist/components/message.min.css +2 -2
  88. package/dist/components/modal.css +119 -154
  89. package/dist/components/modal.js +1488 -1486
  90. package/dist/components/modal.min.css +2 -2
  91. package/dist/components/modal.min.js +2 -2
  92. package/dist/components/nag.css +53 -63
  93. package/dist/components/nag.js +520 -526
  94. package/dist/components/nag.min.css +2 -2
  95. package/dist/components/nag.min.js +2 -2
  96. package/dist/components/placeholder.css +22 -42
  97. package/dist/components/placeholder.min.css +2 -2
  98. package/dist/components/popup.css +423 -201
  99. package/dist/components/popup.js +1454 -1456
  100. package/dist/components/popup.min.css +2 -2
  101. package/dist/components/popup.min.js +2 -2
  102. package/dist/components/progress.css +106 -211
  103. package/dist/components/progress.js +969 -997
  104. package/dist/components/progress.min.css +2 -2
  105. package/dist/components/progress.min.js +2 -2
  106. package/dist/components/rail.css +15 -20
  107. package/dist/components/rail.min.css +1 -1
  108. package/dist/components/rating.css +80 -121
  109. package/dist/components/rating.js +505 -523
  110. package/dist/components/rating.min.css +2 -2
  111. package/dist/components/rating.min.js +2 -2
  112. package/dist/components/reset.css +8 -13
  113. package/dist/components/reset.min.css +2 -2
  114. package/dist/components/reveal.css +44 -83
  115. package/dist/components/reveal.min.css +2 -2
  116. package/dist/components/search.css +69 -98
  117. package/dist/components/search.js +1493 -1534
  118. package/dist/components/search.min.css +2 -2
  119. package/dist/components/search.min.js +2 -2
  120. package/dist/components/segment.css +148 -224
  121. package/dist/components/segment.min.css +2 -2
  122. package/dist/components/shape.css +14 -30
  123. package/dist/components/shape.js +781 -810
  124. package/dist/components/shape.min.css +2 -2
  125. package/dist/components/shape.min.js +2 -2
  126. package/dist/components/sidebar.css +103 -206
  127. package/dist/components/sidebar.js +1061 -1099
  128. package/dist/components/sidebar.min.css +2 -2
  129. package/dist/components/sidebar.min.js +2 -2
  130. package/dist/components/site.css +28 -41
  131. package/dist/components/site.js +436 -476
  132. package/dist/components/site.min.css +2 -2
  133. package/dist/components/site.min.js +2 -2
  134. package/dist/components/slider.css +93 -121
  135. package/dist/components/slider.js +1310 -1311
  136. package/dist/components/slider.min.css +1 -1
  137. package/dist/components/slider.min.js +2 -2
  138. package/dist/components/state.js +639 -657
  139. package/dist/components/state.min.js +2 -2
  140. package/dist/components/statistic.css +75 -116
  141. package/dist/components/statistic.min.css +2 -2
  142. package/dist/components/step.css +77 -150
  143. package/dist/components/step.min.css +2 -2
  144. package/dist/components/sticky.css +1 -5
  145. package/dist/components/sticky.js +848 -901
  146. package/dist/components/sticky.min.css +2 -2
  147. package/dist/components/sticky.min.js +2 -2
  148. package/dist/components/tab.css +10 -14
  149. package/dist/components/tab.js +922 -965
  150. package/dist/components/tab.min.css +2 -2
  151. package/dist/components/tab.min.js +2 -2
  152. package/dist/components/table.css +547 -774
  153. package/dist/components/table.min.css +2 -2
  154. package/dist/components/text.css +32 -32
  155. package/dist/components/text.min.css +1 -1
  156. package/dist/components/toast.css +69 -147
  157. package/dist/components/toast.js +910 -884
  158. package/dist/components/toast.min.css +2 -2
  159. package/dist/components/toast.min.js +2 -2
  160. package/dist/components/transition.css +369 -1280
  161. package/dist/components/transition.js +1047 -1077
  162. package/dist/components/transition.min.css +2 -2
  163. package/dist/components/transition.min.js +2 -2
  164. package/dist/components/visibility.js +1213 -1245
  165. package/dist/components/visibility.min.js +2 -2
  166. package/dist/semantic.css +5637 -8398
  167. package/dist/semantic.js +29021 -29405
  168. package/dist/semantic.min.css +2 -2
  169. package/dist/semantic.min.js +2 -2
  170. package/dist/themes/basic/assets/fonts/icons.woff2 +0 -0
  171. package/dist/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  172. package/dist/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  173. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  174. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  175. package/dist/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  176. package/dist/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  177. package/dist/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  178. package/dist/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  179. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  180. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  181. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  182. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  183. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  184. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  185. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  186. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  187. package/dist/themes/github/assets/fonts/octicons.woff2 +0 -0
  188. package/examples/.eslintrc.js +6 -0
  189. package/examples/assets/show-examples.js +13 -13
  190. package/examples/components/sticky-context.html +1 -1
  191. package/examples/fixed.html +2 -2
  192. package/examples/grid.html +4 -4
  193. package/examples/login.html +1 -1
  194. package/examples/responsive.html +1 -1
  195. package/examples/sticky.html +3 -3
  196. package/gulpfile.js +10 -11
  197. package/package.json +18 -11
  198. package/scripts/nightly-version.js +83 -75
  199. package/src/_site/collections/menu.overrides +1 -1
  200. package/src/_site/elements/flag.variables +2 -2
  201. package/src/_site/globals/site.variables +1 -1
  202. package/src/_site/modules/embed.variables +3 -0
  203. package/src/definitions/behaviors/api.js +1158 -1180
  204. package/src/definitions/behaviors/form.js +2019 -2003
  205. package/src/definitions/behaviors/state.js +645 -663
  206. package/src/definitions/behaviors/visibility.js +1212 -1244
  207. package/src/definitions/collections/breadcrumb.less +43 -47
  208. package/src/definitions/collections/form.less +866 -884
  209. package/src/definitions/collections/grid.less +1680 -1699
  210. package/src/definitions/collections/menu.less +1521 -1544
  211. package/src/definitions/collections/message.less +294 -298
  212. package/src/definitions/collections/table.less +1657 -1661
  213. package/src/definitions/elements/button.less +1714 -1756
  214. package/src/definitions/elements/container.less +211 -211
  215. package/src/definitions/elements/divider.less +198 -211
  216. package/src/definitions/elements/emoji.less +41 -48
  217. package/src/definitions/elements/flag.less +46 -48
  218. package/src/definitions/elements/header.less +351 -359
  219. package/src/definitions/elements/icon.less +541 -484
  220. package/src/definitions/elements/image.less +216 -227
  221. package/src/definitions/elements/input.less +692 -698
  222. package/src/definitions/elements/label.less +784 -806
  223. package/src/definitions/elements/list.less +810 -814
  224. package/src/definitions/elements/loader.less +273 -268
  225. package/src/definitions/elements/placeholder.less +173 -170
  226. package/src/definitions/elements/rail.less +93 -93
  227. package/src/definitions/elements/reveal.less +192 -198
  228. package/src/definitions/elements/segment.less +742 -749
  229. package/src/definitions/elements/step.less +423 -437
  230. package/src/definitions/elements/text.less +34 -36
  231. package/src/definitions/globals/reset.less +11 -8
  232. package/src/definitions/globals/site.js +435 -475
  233. package/src/definitions/globals/site.less +108 -110
  234. package/src/definitions/modules/accordion.js +567 -594
  235. package/src/definitions/modules/accordion.less +244 -248
  236. package/src/definitions/modules/calendar.js +1933 -1808
  237. package/src/definitions/modules/calendar.less +100 -97
  238. package/src/definitions/modules/checkbox.js +841 -840
  239. package/src/definitions/modules/checkbox.less +531 -552
  240. package/src/definitions/modules/dimmer.js +705 -736
  241. package/src/definitions/modules/dimmer.less +294 -305
  242. package/src/definitions/modules/dropdown.js +4178 -4235
  243. package/src/definitions/modules/dropdown.less +1568 -1598
  244. package/src/definitions/modules/embed.js +644 -674
  245. package/src/definitions/modules/embed.less +82 -84
  246. package/src/definitions/modules/flyout.js +1456 -1464
  247. package/src/definitions/modules/flyout.less +445 -456
  248. package/src/definitions/modules/modal.js +1487 -1485
  249. package/src/definitions/modules/modal.less +458 -467
  250. package/src/definitions/modules/nag.js +519 -525
  251. package/src/definitions/modules/nag.less +136 -149
  252. package/src/definitions/modules/popup.js +1453 -1455
  253. package/src/definitions/modules/popup.less +737 -692
  254. package/src/definitions/modules/progress.js +968 -996
  255. package/src/definitions/modules/progress.less +523 -499
  256. package/src/definitions/modules/rating.js +504 -522
  257. package/src/definitions/modules/rating.less +98 -103
  258. package/src/definitions/modules/search.js +1492 -1533
  259. package/src/definitions/modules/search.less +374 -394
  260. package/src/definitions/modules/shape.js +780 -809
  261. package/src/definitions/modules/shape.less +70 -79
  262. package/src/definitions/modules/sidebar.js +1060 -1098
  263. package/src/definitions/modules/sidebar.less +463 -476
  264. package/src/definitions/modules/slider.js +1309 -1310
  265. package/src/definitions/modules/slider.less +309 -310
  266. package/src/definitions/modules/sticky.js +864 -917
  267. package/src/definitions/modules/sticky.less +17 -25
  268. package/src/definitions/modules/tab.js +921 -964
  269. package/src/definitions/modules/tab.less +48 -54
  270. package/src/definitions/modules/toast.js +909 -883
  271. package/src/definitions/modules/toast.less +589 -589
  272. package/src/definitions/modules/transition.js +1046 -1076
  273. package/src/definitions/modules/transition.less +65 -31
  274. package/src/definitions/views/ad.less +207 -208
  275. package/src/definitions/views/card.less +955 -973
  276. package/src/definitions/views/comment.less +192 -200
  277. package/src/definitions/views/feed.less +222 -226
  278. package/src/definitions/views/item.less +437 -448
  279. package/src/definitions/views/statistic.less +273 -279
  280. package/src/semantic.less +8 -6
  281. package/src/theme.config.example +53 -53
  282. package/src/theme.less +30 -33
  283. package/src/themes/amazon/elements/button.overrides +23 -24
  284. package/src/themes/amazon/elements/button.variables +18 -23
  285. package/src/themes/amazon/globals/site.variables +16 -17
  286. package/src/themes/basic/assets/fonts/icons.woff2 +0 -0
  287. package/src/themes/basic/collections/table.overrides +0 -1
  288. package/src/themes/basic/collections/table.variables +3 -3
  289. package/src/themes/basic/elements/button.overrides +0 -1
  290. package/src/themes/basic/elements/button.variables +9 -9
  291. package/src/themes/basic/elements/icon.overrides +9 -169
  292. package/src/themes/basic/elements/icon.variables +161 -18
  293. package/src/themes/basic/elements/step.overrides +2 -2
  294. package/src/themes/basic/elements/step.variables +2 -2
  295. package/src/themes/basic/globals/reset.overrides +1 -1
  296. package/src/themes/basic/globals/reset.variables +1 -1
  297. package/src/themes/basic/modules/progress.variables +2 -2
  298. package/src/themes/basic/views/card.overrides +0 -1
  299. package/src/themes/basic/views/card.variables +6 -6
  300. package/src/themes/bookish/elements/header.overrides +4 -4
  301. package/src/themes/bookish/elements/header.variables +5 -5
  302. package/src/themes/bootstrap3/elements/button.overrides +3 -0
  303. package/src/themes/bootstrap3/elements/button.variables +20 -25
  304. package/src/themes/chubby/collections/form.overrides +9 -9
  305. package/src/themes/chubby/collections/form.variables +3 -3
  306. package/src/themes/chubby/collections/menu.overrides +3 -0
  307. package/src/themes/chubby/collections/menu.variables +3 -3
  308. package/src/themes/chubby/elements/button.overrides +8 -10
  309. package/src/themes/chubby/elements/button.variables +10 -10
  310. package/src/themes/chubby/elements/header.overrides +1 -1
  311. package/src/themes/chubby/elements/header.variables +4 -4
  312. package/src/themes/chubby/modules/accordion.overrides +2 -2
  313. package/src/themes/chubby/modules/accordion.variables +4 -4
  314. package/src/themes/chubby/views/comment.overrides +5 -5
  315. package/src/themes/chubby/views/comment.variables +11 -11
  316. package/src/themes/classic/collections/table.variables +3 -3
  317. package/src/themes/classic/elements/button.variables +36 -43
  318. package/src/themes/classic/elements/header.variables +4 -4
  319. package/src/themes/classic/modules/progress.variables +3 -3
  320. package/src/themes/classic/views/card.overrides +25 -27
  321. package/src/themes/classic/views/card.variables +7 -7
  322. package/src/themes/colored/modules/checkbox.overrides +3 -0
  323. package/src/themes/colored/modules/checkbox.variables +1 -3
  324. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  325. package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  326. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  327. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  328. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  329. package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  330. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  331. package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  332. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  333. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  334. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  335. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  336. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  337. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  338. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  339. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  340. package/src/themes/default/collections/breadcrumb.variables +4 -4
  341. package/src/themes/default/collections/form.variables +15 -16
  342. package/src/themes/default/collections/grid.overrides +0 -1
  343. package/src/themes/default/collections/grid.variables +14 -16
  344. package/src/themes/default/collections/menu.variables +31 -45
  345. package/src/themes/default/collections/message.variables +84 -123
  346. package/src/themes/default/collections/table.overrides +3 -0
  347. package/src/themes/default/collections/table.variables +30 -34
  348. package/src/themes/default/elements/button.variables +45 -52
  349. package/src/themes/default/elements/container.variables +8 -16
  350. package/src/themes/default/elements/divider.overrides +8 -9
  351. package/src/themes/default/elements/divider.variables +5 -6
  352. package/src/themes/default/elements/emoji.overrides +0 -1
  353. package/src/themes/default/elements/emoji.variables +3555 -3555
  354. package/src/themes/default/elements/flag.variables +1594 -1594
  355. package/src/themes/default/elements/header.overrides +0 -1
  356. package/src/themes/default/elements/header.variables +21 -21
  357. package/src/themes/default/elements/icon.variables +2023 -2009
  358. package/src/themes/default/elements/image.variables +6 -7
  359. package/src/themes/default/elements/input.variables +11 -12
  360. package/src/themes/default/elements/label.variables +25 -26
  361. package/src/themes/default/elements/list.variables +17 -21
  362. package/src/themes/default/elements/loader.variables +16 -17
  363. package/src/themes/default/elements/placeholder.variables +12 -9
  364. package/src/themes/default/elements/rail.variables +4 -5
  365. package/src/themes/default/elements/reveal.variables +1 -1
  366. package/src/themes/default/elements/segment.variables +24 -36
  367. package/src/themes/default/elements/step.overrides +4 -4
  368. package/src/themes/default/elements/step.variables +19 -22
  369. package/src/themes/default/elements/text.variables +2 -3
  370. package/src/themes/default/globals/colors.less +588 -588
  371. package/src/themes/default/globals/reset.overrides +63 -59
  372. package/src/themes/default/globals/reset.variables +1 -1
  373. package/src/themes/default/globals/site.variables +1075 -1123
  374. package/src/themes/default/globals/variation.variables +13 -4
  375. package/src/themes/default/modules/accordion.overrides +11 -11
  376. package/src/themes/default/modules/accordion.variables +15 -20
  377. package/src/themes/default/modules/calendar.variables +2 -0
  378. package/src/themes/default/modules/chatroom.variables +1 -1
  379. package/src/themes/default/modules/checkbox.overrides +8 -9
  380. package/src/themes/default/modules/checkbox.variables +24 -33
  381. package/src/themes/default/modules/dimmer.variables +14 -17
  382. package/src/themes/default/modules/dropdown.overrides +17 -17
  383. package/src/themes/default/modules/dropdown.variables +29 -31
  384. package/src/themes/default/modules/embed.variables +9 -13
  385. package/src/themes/default/modules/flyout.variables +8 -8
  386. package/src/themes/default/modules/modal.variables +64 -67
  387. package/src/themes/default/modules/nag.variables +11 -14
  388. package/src/themes/default/modules/popup.variables +14 -13
  389. package/src/themes/default/modules/progress.variables +17 -19
  390. package/src/themes/default/modules/rating.variables +10 -12
  391. package/src/themes/default/modules/search.variables +12 -17
  392. package/src/themes/default/modules/shape.variables +7 -8
  393. package/src/themes/default/modules/sidebar.variables +4 -4
  394. package/src/themes/default/modules/slider.variables +55 -54
  395. package/src/themes/default/modules/sticky.variables +1 -1
  396. package/src/themes/default/modules/toast.variables +8 -8
  397. package/src/themes/default/modules/transition.overrides +936 -915
  398. package/src/themes/default/modules/transition.variables +8 -1
  399. package/src/themes/default/views/ad.variables +1 -1
  400. package/src/themes/default/views/card.variables +33 -45
  401. package/src/themes/default/views/comment.variables +7 -9
  402. package/src/themes/default/views/feed.variables +10 -10
  403. package/src/themes/default/views/item.variables +20 -23
  404. package/src/themes/default/views/statistic.variables +8 -8
  405. package/src/themes/duo/elements/loader.variables +1 -1
  406. package/src/themes/famfamfam/elements/flag.overrides +263 -268
  407. package/src/themes/famfamfam/elements/flag.variables +4 -4
  408. package/src/themes/fixed-width/collections/grid.variables +4 -4
  409. package/src/themes/fixed-width/modules/modal.variables +11 -13
  410. package/src/themes/flat/collections/form.overrides +9 -9
  411. package/src/themes/flat/collections/form.variables +16 -17
  412. package/src/themes/flat/globals/site.variables +69 -74
  413. package/src/themes/github/assets/fonts/octicons.woff2 +0 -0
  414. package/src/themes/github/collections/breadcrumb.variables +0 -1
  415. package/src/themes/github/collections/form.overrides +7 -8
  416. package/src/themes/github/collections/form.variables +16 -18
  417. package/src/themes/github/collections/grid.variables +1 -2
  418. package/src/themes/github/collections/menu.overrides +2 -2
  419. package/src/themes/github/collections/menu.variables +24 -26
  420. package/src/themes/github/collections/message.overrides +3 -3
  421. package/src/themes/github/collections/message.variables +12 -14
  422. package/src/themes/github/collections/table.variables +2 -2
  423. package/src/themes/github/elements/button.overrides +0 -1
  424. package/src/themes/github/elements/button.variables +26 -30
  425. package/src/themes/github/elements/header.variables +2 -2
  426. package/src/themes/github/elements/icon.overrides +3 -208
  427. package/src/themes/github/elements/icon.variables +234 -19
  428. package/src/themes/github/elements/image.variables +1 -1
  429. package/src/themes/github/elements/input.overrides +16 -16
  430. package/src/themes/github/elements/input.variables +4 -5
  431. package/src/themes/github/elements/label.overrides +3 -3
  432. package/src/themes/github/elements/label.variables +0 -1
  433. package/src/themes/github/elements/segment.variables +9 -10
  434. package/src/themes/github/elements/step.overrides +13 -13
  435. package/src/themes/github/elements/step.variables +6 -6
  436. package/src/themes/github/globals/site.variables +16 -16
  437. package/src/themes/github/modules/dropdown.overrides +18 -19
  438. package/src/themes/github/modules/dropdown.variables +8 -10
  439. package/src/themes/github/modules/popup.variables +0 -2
  440. package/src/themes/gmail/collections/message.overrides +3 -0
  441. package/src/themes/gmail/collections/message.variables +4 -4
  442. package/src/themes/instagram/views/card.overrides +4 -5
  443. package/src/themes/instagram/views/card.variables +7 -8
  444. package/src/themes/joypixels/elements/emoji.overrides +0 -2
  445. package/src/themes/joypixels/elements/emoji.variables +3554 -3554
  446. package/src/themes/material/collections/menu.overrides +1 -1
  447. package/src/themes/material/collections/menu.variables +4 -4
  448. package/src/themes/material/elements/button.overrides +7 -9
  449. package/src/themes/material/elements/button.variables +44 -46
  450. package/src/themes/material/elements/header.overrides +3 -3
  451. package/src/themes/material/elements/header.variables +8 -10
  452. package/src/themes/material/elements/icon.overrides +3 -934
  453. package/src/themes/material/elements/icon.variables +958 -18
  454. package/src/themes/material/globals/site.overrides +3 -0
  455. package/src/themes/material/globals/site.variables +83 -84
  456. package/src/themes/material/modules/dropdown.overrides +2 -2
  457. package/src/themes/material/modules/dropdown.variables +5 -5
  458. package/src/themes/material/modules/modal.overrides +3 -3
  459. package/src/themes/material/modules/modal.variables +4 -5
  460. package/src/themes/pulsar/elements/loader.overrides +23 -61
  461. package/src/themes/raised/elements/button.variables +8 -9
  462. package/src/themes/resetcss/globals/reset.overrides +115 -33
  463. package/src/themes/resetcss/globals/reset.variables +1 -1
  464. package/src/themes/round/elements/button.overrides +3 -0
  465. package/src/themes/round/elements/button.variables +33 -38
  466. package/src/themes/rtl/globals/site.overrides +1 -1
  467. package/src/themes/rtl/globals/site.variables +5 -6
  468. package/src/themes/striped/modules/progress.overrides +20 -16
  469. package/src/themes/systemfont/globals/reset.overrides +1 -1
  470. package/src/themes/systemfont/globals/site.variables +6 -6
  471. package/src/themes/timeline/views/feed.overrides +12 -12
  472. package/src/themes/timeline/views/feed.variables +8 -8
  473. package/src/themes/twitter/elements/button.overrides +4 -5
  474. package/src/themes/twitter/elements/button.variables +17 -18
  475. package/src/themes/twitter/elements/emoji.variables +3555 -3555
  476. package/tasks/.eslintrc.js +9 -0
  477. package/tasks/README.md +2 -4
  478. package/tasks/admin/components/create.js +268 -277
  479. package/tasks/admin/components/init.js +123 -130
  480. package/tasks/admin/components/update.js +151 -159
  481. package/tasks/admin/distributions/create.js +183 -189
  482. package/tasks/admin/distributions/init.js +125 -132
  483. package/tasks/admin/distributions/update.js +147 -154
  484. package/tasks/admin/publish.js +5 -9
  485. package/tasks/admin/register.js +37 -39
  486. package/tasks/admin/release.js +8 -12
  487. package/tasks/build/assets.js +43 -40
  488. package/tasks/build/css.js +230 -217
  489. package/tasks/build/javascript.js +120 -114
  490. package/tasks/build.js +11 -11
  491. package/tasks/check-install.js +15 -17
  492. package/tasks/clean.js +6 -6
  493. package/tasks/collections/README.md +3 -5
  494. package/tasks/collections/admin.js +34 -36
  495. package/tasks/collections/build.js +18 -20
  496. package/tasks/collections/docs.js +10 -12
  497. package/tasks/collections/install.js +10 -12
  498. package/tasks/collections/rtl.js +9 -11
  499. package/tasks/collections/various.js +9 -11
  500. package/tasks/config/admin/github.js +17 -19
  501. package/tasks/config/admin/oauth.example.js +4 -4
  502. package/tasks/config/admin/release.js +98 -98
  503. package/tasks/config/admin/templates/README.md +8 -8
  504. package/tasks/config/admin/templates/bower.json +3 -2
  505. package/tasks/config/admin/templates/component-package.js +9 -10
  506. package/tasks/config/admin/templates/css-package.js +19 -21
  507. package/tasks/config/admin/templates/less-package.js +12 -14
  508. package/tasks/config/admin/templates/package.json +5 -5
  509. package/tasks/config/defaults.js +116 -116
  510. package/tasks/config/docs.js +23 -23
  511. package/tasks/config/npm/gulpfile.js +13 -14
  512. package/tasks/config/project/config.js +124 -136
  513. package/tasks/config/project/install.js +722 -719
  514. package/tasks/config/project/release.js +34 -41
  515. package/tasks/config/tasks.js +168 -167
  516. package/tasks/config/user.js +28 -29
  517. package/tasks/docs/build.js +100 -96
  518. package/tasks/docs/metadata.js +91 -98
  519. package/tasks/docs/serve.js +84 -82
  520. package/tasks/install.js +373 -382
  521. package/tasks/rtl/build.js +2 -4
  522. package/tasks/rtl/watch.js +2 -4
  523. package/tasks/version.js +4 -6
  524. package/tasks/watch.js +29 -31
  525. package/test/.eslintrc.js +23 -0
  526. package/test/meteor/assets.js +11 -14
  527. package/test/meteor/fonts.js +12 -13
  528. package/test/modules/accordion.spec.js +6 -8
  529. package/test/modules/checkbox.spec.js +5 -7
  530. package/test/modules/dropdown.spec.js +5 -7
  531. package/test/modules/modal.spec.js +6 -8
  532. package/test/modules/module.spec.js +158 -178
  533. package/test/modules/popup.spec.js +5 -7
  534. package/test/modules/search.spec.js +5 -7
  535. package/test/modules/shape.spec.js +5 -7
  536. package/test/modules/sidebar.spec.js +5 -7
  537. package/test/modules/tab.spec.js +6 -8
  538. package/test/modules/transition.spec.js +5 -7
  539. package/test/modules/video.spec.js +5 -7
  540. package/.github/workflows/codeql.yml +0 -68
@@ -9,200 +9,194 @@
9
9
  * update package.json file
10
10
  */
11
11
 
12
- var
13
- gulp = require('gulp'),
14
-
15
- // node dependencies
16
- fs = require('fs'),
17
- path = require('path'),
18
- mergeStream = require('merge-stream'),
19
-
20
- // admin dependencies
21
- flatten = require('gulp-flatten'),
22
- jsonEditor = require('gulp-json-editor'),
23
- plumber = require('gulp-plumber'),
24
- rename = require('gulp-rename'),
25
- replace = require('gulp-replace'),
26
-
27
- // config
28
- config = require('../../config/user'),
29
- release = require('../../config/admin/release'),
30
- project = require('../../config/project/release'),
31
-
32
- // shorthand
33
- version = project.version,
34
- output = config.paths.output
35
-
12
+ const
13
+ gulp = require('gulp'),
14
+
15
+ // node dependencies
16
+ fs = require('fs'),
17
+ path = require('path'),
18
+ mergeStream = require('merge-stream'),
19
+
20
+ // admin dependencies
21
+ flatten = require('gulp-flatten'),
22
+ jsonEditor = require('gulp-json-editor'),
23
+ plumber = require('gulp-plumber'),
24
+ rename = require('gulp-rename'),
25
+ replace = require('gulp-replace'),
26
+
27
+ // config
28
+ config = require('../../config/user'),
29
+ release = require('../../config/admin/release'),
30
+ project = require('../../config/project/release'),
31
+
32
+ // shorthand
33
+ version = project.version,
34
+ output = config.paths.output
36
35
  ;
37
36
 
37
+ module.exports = function (callback) {
38
+ let
39
+ stream,
40
+ index,
41
+ tasks = []
42
+ ;
38
43
 
39
- module.exports = function(callback) {
40
- var
41
- stream,
42
- index,
43
- tasks = []
44
- ;
45
-
46
- for(index in release.distributions) {
47
-
48
- var
49
- distribution = release.distributions[index]
44
+ for (index in release.distributions) {
45
+ let
46
+ distribution = release.distributions[index]
50
47
  ;
51
48
 
52
- // streams... designed to save time and make coding fun...
53
- (function(distribution) {
54
-
55
- var
56
- distLowerCase = distribution.toLowerCase(),
57
- outputDirectory = path.join(release.outputRoot, distLowerCase),
58
- packageFile = path.join(outputDirectory, release.files.npm),
59
- repoName = release.distRepoRoot + distribution,
60
- regExp = {
61
- match : {
62
- files : '{files}',
63
- version : '{version}'
64
- }
65
- },
66
- task = {
67
- all : distribution + ' copying files',
68
- repo : distribution + ' create repo',
69
- meteor : distribution + ' create meteor package.js',
70
- package : distribution + ' create package.json'
71
- },
72
- gatherFiles,
73
- createList
74
- ;
75
-
76
- // get files for meteor
77
- gatherFiles = function(dir) {
78
- var
79
- dir = dir || path.resolve('.'),
80
- list = fs.readdirSync(dir),
81
- omitted = [
82
- '.git',
83
- 'node_modules',
84
- 'package.js',
85
- 'LICENSE',
86
- 'README.md',
87
- 'package.json',
88
- 'bower.json',
89
- '.gitignore'
90
- ],
91
- files = []
92
- ;
93
- list.forEach(function(file) {
94
- var
95
- isOmitted = (omitted.indexOf(file) > -1),
96
- filePath = path.join(dir, file),
97
- stat = fs.statSync(filePath)
98
- ;
99
- if(!isOmitted) {
100
- if(stat && stat.isDirectory()) {
101
- files = files.concat(gatherFiles(filePath));
49
+ // streams... designed to save time and make coding fun...
50
+ (function (distribution) {
51
+ let
52
+ distLowerCase = distribution.toLowerCase(),
53
+ outputDirectory = path.join(release.outputRoot, distLowerCase),
54
+ packageFile = path.join(outputDirectory, release.files.npm),
55
+ repoName = release.distRepoRoot + distribution,
56
+ regExp = {
57
+ match: {
58
+ files: '{files}',
59
+ version: '{version}',
60
+ },
61
+ },
62
+ task = {
63
+ all: distribution + ' copying files',
64
+ repo: distribution + ' create repo',
65
+ meteor: distribution + ' create meteor package.js',
66
+ package: distribution + ' create package.json',
67
+ },
68
+ gatherFiles,
69
+ createList
70
+ ;
71
+
72
+ // get files for meteor
73
+ gatherFiles = function (dir) {
74
+ dir = dir || path.resolve('.');
75
+ let
76
+ list = fs.readdirSync(dir),
77
+ omitted = [
78
+ '.git',
79
+ 'node_modules',
80
+ 'package.js',
81
+ 'LICENSE',
82
+ 'README.md',
83
+ 'package.json',
84
+ 'bower.json',
85
+ '.gitignore',
86
+ ],
87
+ files = []
88
+ ;
89
+ list.forEach(function (file) {
90
+ let
91
+ isOmitted = omitted.indexOf(file) > -1,
92
+ filePath = path.join(dir, file),
93
+ stat = fs.statSync(filePath)
94
+ ;
95
+ if (!isOmitted) {
96
+ if (stat && stat.isDirectory()) {
97
+ files = files.concat(gatherFiles(filePath));
98
+ } else {
99
+ files.push(filePath.replace(outputDirectory + path.sep, ''));
100
+ }
101
+ }
102
+ });
103
+
104
+ return files;
105
+ };
106
+
107
+ // spaces out list correctly
108
+ createList = function (files) {
109
+ let filenames = '';
110
+ for (let file in files) {
111
+ filenames += "'" + files[file] + "'"
112
+ + (file === files.length - 1 ? '' : ',\n ');
113
+ }
114
+
115
+ return filenames;
116
+ };
117
+
118
+ tasks.push(function () {
119
+ let
120
+ files = gatherFiles(outputDirectory),
121
+ filenames = createList(files)
122
+ ;
123
+ gulp.src(release.templates.meteor[distLowerCase])
124
+ .pipe(plumber())
125
+ .pipe(flatten())
126
+ .pipe(replace(regExp.match.version, version))
127
+ .pipe(replace(regExp.match.files, filenames))
128
+ .pipe(rename(release.files.meteor))
129
+ .pipe(gulp.dest(outputDirectory))
130
+ ;
131
+ });
132
+
133
+ if (distribution === 'CSS') {
134
+ tasks.push(function () {
135
+ let
136
+ themes,
137
+ components,
138
+ releases
139
+ ;
140
+ themes = gulp.src('dist/themes/default/**/*', { base: 'dist/' })
141
+ .pipe(gulp.dest(outputDirectory))
142
+ ;
143
+ components = gulp.src('dist/components/*', { base: 'dist/' })
144
+ .pipe(gulp.dest(outputDirectory))
145
+ ;
146
+ releases = gulp.src('dist/*', { base: 'dist/' })
147
+ .pipe(gulp.dest(outputDirectory))
148
+ ;
149
+
150
+ return mergeStream(themes, components, releases);
151
+ });
152
+ } else if (distribution === 'LESS') {
153
+ tasks.push(function () {
154
+ let
155
+ definitions,
156
+ themeImport,
157
+ themeConfig,
158
+ siteTheme,
159
+ themes
160
+ ;
161
+ definitions = gulp.src('src/definitions/**/*', { base: 'src/' })
162
+ .pipe(gulp.dest(outputDirectory))
163
+ ;
164
+ themeImport = gulp.src('src/semantic.less', { base: 'src/' })
165
+ .pipe(gulp.dest(outputDirectory))
166
+ ;
167
+ themeImport = gulp.src('src/theme.less', { base: 'src/' })
168
+ .pipe(gulp.dest(outputDirectory))
169
+ ;
170
+ themeConfig = gulp.src('src/theme.config.example', { base: 'src/' })
171
+ .pipe(gulp.dest(outputDirectory))
172
+ ;
173
+ siteTheme = gulp.src('src/_site/**/*', { base: 'src/' })
174
+ .pipe(gulp.dest(outputDirectory))
175
+ ;
176
+ themes = gulp.src('src/themes/**/*', { base: 'src/' })
177
+ .pipe(gulp.dest(outputDirectory))
178
+ ;
179
+
180
+ return mergeStream(definitions, themeImport, themeConfig, siteTheme, themes);
181
+ });
102
182
  }
103
- else {
104
- files.push(filePath.replace(outputDirectory + path.sep, ''));
105
- }
106
- }
107
- });
108
- return files;
109
- };
110
-
111
- // spaces out list correctly
112
- createList = function(files) {
113
- var filenames = '';
114
- for(var file in files) {
115
- if(file == (files.length - 1) ) {
116
- filenames += "'" + files[file] + "'";
117
- }
118
- else {
119
- filenames += "'" + files[file] + "',\n ";
120
- }
121
- }
122
- return filenames;
123
- };
124
-
125
- tasks.push(function() {
126
- var
127
- files = gatherFiles(outputDirectory),
128
- filenames = createList(files)
129
- ;
130
- gulp.src(release.templates.meteor[distLowerCase])
131
- .pipe(plumber())
132
- .pipe(flatten())
133
- .pipe(replace(regExp.match.version, version))
134
- .pipe(replace(regExp.match.files, filenames))
135
- .pipe(rename(release.files.meteor))
136
- .pipe(gulp.dest(outputDirectory))
137
- ;
138
- });
139
-
140
- if(distribution == 'CSS') {
141
- tasks.push(function() {
142
- var
143
- themes,
144
- components,
145
- releases
146
- ;
147
- themes = gulp.src('dist/themes/default/**/*', { base: 'dist/' })
148
- .pipe(gulp.dest(outputDirectory))
149
- ;
150
- components = gulp.src('dist/components/*', { base: 'dist/' })
151
- .pipe(gulp.dest(outputDirectory))
152
- ;
153
- releases = gulp.src('dist/*', { base: 'dist/' })
154
- .pipe(gulp.dest(outputDirectory))
155
- ;
156
- return mergeStream(themes, components, releases);
157
- });
158
- }
159
- else if(distribution == 'LESS') {
160
- tasks.push(function() {
161
- var
162
- definitions,
163
- themeImport,
164
- themeConfig,
165
- siteTheme,
166
- themes
167
- ;
168
- definitions = gulp.src('src/definitions/**/*', { base: 'src/' })
169
- .pipe(gulp.dest(outputDirectory))
170
- ;
171
- themeImport = gulp.src('src/semantic.less', { base: 'src/' })
172
- .pipe(gulp.dest(outputDirectory))
173
- ;
174
- themeImport = gulp.src('src/theme.less', { base: 'src/' })
175
- .pipe(gulp.dest(outputDirectory))
176
- ;
177
- themeConfig = gulp.src('src/theme.config.example', { base: 'src/' })
178
- .pipe(gulp.dest(outputDirectory))
179
- ;
180
- siteTheme = gulp.src('src/_site/**/*', { base: 'src/' })
181
- .pipe(gulp.dest(outputDirectory))
182
- ;
183
- themes = gulp.src('src/themes/**/*', { base: 'src/' })
184
- .pipe(gulp.dest(outputDirectory))
185
- ;
186
- return mergeStream(definitions, themeImport, themeConfig, siteTheme, themes);
187
- });
188
- }
189
-
190
- // extend package.json
191
- tasks.push(function() {
192
- return gulp.src(packageFile)
193
- .pipe(plumber())
194
- .pipe(jsonEditor(function(package) {
195
- if(version) {
196
- package.version = version;
197
- }
198
- return package;
199
- }))
200
- .pipe(gulp.dest(outputDirectory))
201
- ;
202
- });
203
-
204
- })(distribution);
205
- }
206
183
 
207
- gulp.series(...tasks)(callback);
184
+ // extend package.json
185
+ tasks.push(function () {
186
+ return gulp.src(packageFile)
187
+ .pipe(plumber())
188
+ .pipe(jsonEditor(function (pkg) {
189
+ if (version) {
190
+ pkg.version = version;
191
+ }
192
+
193
+ return pkg;
194
+ }))
195
+ .pipe(gulp.dest(outputDirectory))
196
+ ;
197
+ });
198
+ })(distribution);
199
+ }
200
+
201
+ gulp.series(...tasks)(callback);
208
202
  };
@@ -12,157 +12,150 @@
12
12
 
13
13
  */
14
14
 
15
- var
16
- gulp = require('gulp'),
17
-
18
- // node dependencies
19
- console = require('better-console'),
20
- del = require('del'),
21
- fs = require('fs'),
22
- path = require('path'),
23
- git = require('gulp-git'),
24
- mkdirp = require('mkdirp'),
25
-
26
- // admin files
27
- github = require('../../config/admin/github.js'),
28
- release = require('../../config/admin/release'),
29
- project = require('../../config/project/release'),
30
-
31
-
32
- // oAuth configuration for GitHub
33
- oAuth = fs.existsSync(__dirname + '/../../config/admin/oauth.js')
34
- ? require('../../config/admin/oauth')
35
- : false,
36
-
37
- // shorthand
38
- version = project.version
15
+ const
16
+ gulp = require('gulp'),
17
+
18
+ // node dependencies
19
+ console = require('better-console'),
20
+ del = require('del'),
21
+ fs = require('fs'),
22
+ path = require('path'),
23
+ git = require('gulp-git'),
24
+ mkdirp = require('mkdirp'),
25
+
26
+ // admin files
27
+ github = require('../../config/admin/github'),
28
+ release = require('../../config/admin/release'),
29
+ project = require('../../config/project/release'),
30
+
31
+ // oAuth configuration for GitHub
32
+ oAuth = fs.existsSync(path.join(__dirname, '/../../config/admin/oauth.js'))
33
+ ? require('../../config/admin/oauth.js') // eslint-disable-line import/extensions
34
+ : false,
35
+
36
+ // shorthand
37
+ version = project.version
39
38
  ;
40
39
 
41
- module.exports = function(callback) {
42
-
43
- var
44
- index = -1,
45
- total = release.distributions.length,
46
- timer,
47
- stream,
48
- stepRepo
49
- ;
50
-
51
- if(!oAuth) {
52
- console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
53
- return;
54
- }
55
-
56
- // Do Git commands synchronously per component, to avoid issues
57
- stepRepo = function() {
58
-
59
- index = index + 1;
60
-
61
- if(index >= total) {
62
- callback();
63
- return;
64
- }
65
-
66
- var
67
- component = release.distributions[index],
68
- lowerCaseComponent = component.toLowerCase(),
69
- outputDirectory = path.resolve(release.outputRoot + lowerCaseComponent),
70
- repoName = release.distRepoRoot + component,
71
-
72
- gitOptions = { cwd: outputDirectory },
73
- pullOptions = { args: '-q', cwd: outputDirectory, quiet: true },
74
- resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true },
75
- gitURL = 'git@github.com:' + release.org + '/' + repoName + '.git',
76
- repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
77
- localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git'))
40
+ module.exports = function (callback) {
41
+ let
42
+ index = -1,
43
+ total = release.distributions.length,
44
+ timer,
45
+ stream,
46
+ stepRepo
78
47
  ;
79
48
 
80
- console.log('Processing repository: ' + outputDirectory);
49
+ if (!oAuth) {
50
+ console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
81
51
 
82
- // create folder if doesn't exist
83
- if( !fs.existsSync(outputDirectory) ) {
84
- mkdirp.sync(outputDirectory);
52
+ return;
85
53
  }
86
54
 
87
- // clean folder
88
- if(release.outputRoot.search('../repos') == 0) {
89
- console.info('Cleaning dir', outputDirectory);
90
- del.sync([outputDirectory + '**/*'], {silent: true, force: true});
91
- }
55
+ // Do Git commands synchronously per component, to avoid issues
56
+ stepRepo = function () {
57
+ index += 1;
92
58
 
93
- // set-up local repo
94
- function setupRepo() {
95
- if(localRepoSetup) {
96
- addRemote();
97
- }
98
- else {
99
- initRepo();
100
- }
101
- }
59
+ if (index >= total) {
60
+ callback();
102
61
 
103
- function initRepo() {
104
- console.info('Initializing repository for ' + component);
105
- git.init(gitOptions, function(error) {
106
- if(error) {
107
- console.error('Error initializing repo', error);
62
+ return;
108
63
  }
109
- addRemote();
110
- });
111
- }
112
64
 
113
- function createRepo() {
114
- console.info('Creating GitHub repo ' + repoURL);
115
- github.repos.createFromOrg({
116
- org : release.org,
117
- name : repoName,
118
- homepage : release.homepage
119
- }, function() {
120
- setupRepo();
121
- });
122
- }
65
+ let
66
+ component = release.distributions[index],
67
+ lowerCaseComponent = component.toLowerCase(),
68
+ outputDirectory = path.resolve(release.outputRoot + lowerCaseComponent),
69
+ repoName = release.distRepoRoot + component,
70
+
71
+ gitOptions = { cwd: outputDirectory },
72
+ pullOptions = { args: '-q', cwd: outputDirectory, quiet: true },
73
+ resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true },
74
+ gitURL = 'git@github.com:' + release.org + '/' + repoName + '.git',
75
+ repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
76
+ localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git'))
77
+ ;
78
+
79
+ console.log('Processing repository: ' + outputDirectory);
80
+
81
+ // create folder if doesn't exist
82
+ if (!fs.existsSync(outputDirectory)) {
83
+ mkdirp.sync(outputDirectory);
84
+ }
123
85
 
124
- function addRemote() {
125
- console.info('Adding remote origin as ' + gitURL);
126
- git.addRemote('origin', gitURL, gitOptions, function(){
127
- pullFiles();
128
- });
129
- }
86
+ // clean folder
87
+ if (release.outputRoot.startsWith('../repos')) {
88
+ console.info('Cleaning dir', outputDirectory);
89
+ del.sync([outputDirectory + '**/*'], { silent: true, force: true });
90
+ }
130
91
 
131
- function pullFiles() {
132
- console.info('Pulling ' + component + ' files');
133
- git.pull('origin', 'master', pullOptions, function(error) {
134
- resetFiles();
135
- });
136
- }
92
+ // set-up local repo
93
+ function setupRepo() {
94
+ if (localRepoSetup) {
95
+ addRemote();
96
+ } else {
97
+ initRepo();
98
+ }
99
+ }
137
100
 
138
- function resetFiles() {
139
- console.info('Resetting files to head');
140
- git.reset('HEAD', resetOptions, function(error) {
141
- nextRepo();
142
- });
143
- }
101
+ function initRepo() {
102
+ console.info('Initializing repository for ' + component);
103
+ git.init(gitOptions, function (error) {
104
+ if (error) {
105
+ console.error('Error initializing repo', error);
106
+ }
107
+ addRemote();
108
+ });
109
+ }
144
110
 
145
- function nextRepo() {
146
- //console.log('Sleeping for 1 second...');
147
- // avoid rate throttling
148
- global.clearTimeout(timer);
149
- timer = global.setTimeout(function() {
150
- stepRepo()
151
- }, 0);
152
- }
111
+ function createRepo() {
112
+ console.info('Creating GitHub repo ' + repoURL);
113
+ github.repos.createFromOrg({
114
+ org: release.org,
115
+ name: repoName,
116
+ homepage: release.homepage,
117
+ }, function () {
118
+ setupRepo();
119
+ });
120
+ }
153
121
 
122
+ function addRemote() {
123
+ console.info('Adding remote origin as ' + gitURL);
124
+ git.addRemote('origin', gitURL, gitOptions, function () {
125
+ pullFiles();
126
+ });
127
+ }
154
128
 
155
- if(localRepoSetup) {
156
- pullFiles();
157
- }
158
- else {
159
- setupRepo();
160
- // createRepo() only use to create remote repo (easier to do manually)
161
- }
129
+ function pullFiles() {
130
+ console.info('Pulling ' + component + ' files');
131
+ git.pull('origin', 'master', pullOptions, function (error) {
132
+ resetFiles();
133
+ });
134
+ }
162
135
 
163
- };
136
+ function resetFiles() {
137
+ console.info('Resetting files to head');
138
+ git.reset('HEAD', resetOptions, function (error) {
139
+ nextRepo();
140
+ });
141
+ }
164
142
 
165
- stepRepo();
143
+ function nextRepo() { // eslint-disable-line unicorn/consistent-function-scoping
144
+ // console.log('Sleeping for 1 second...');
145
+ // avoid rate throttling
146
+ global.clearTimeout(timer);
147
+ timer = global.setTimeout(function () {
148
+ stepRepo();
149
+ }, 0);
150
+ }
166
151
 
152
+ if (localRepoSetup) {
153
+ pullFiles();
154
+ } else {
155
+ setupRepo();
156
+ // createRepo() only use to create remote repo (easier to do manually)
157
+ }
158
+ };
167
159
 
160
+ stepRepo();
168
161
  };