fomantic-ui 2.9.1-beta.4 → 2.9.1-beta.40

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