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
@@ -12,158 +12,151 @@
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.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() {
40
+ module.exports = function (callback) {
41
+ let
42
+ index = -1,
43
+ total = release.components.length,
44
+ timer,
45
+ stream,
46
+ stepRepo
47
+ ;
58
48
 
59
- index = index + 1;
49
+ if (!oAuth) {
50
+ console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
60
51
 
61
- if(index >= total) {
62
- callback();
63
- return;
52
+ return;
64
53
  }
65
54
 
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,
55
+ // Do Git commands synchronously per component, to avoid issues
56
+ stepRepo = function () {
57
+ index += 1;
71
58
 
72
- gitOptions = { cwd: outputDirectory },
73
- pullOptions = { args: '-q', cwd: outputDirectory, quiet: true },
74
- resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true },
59
+ if (index >= total) {
60
+ callback();
75
61
 
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
- ;
62
+ return;
63
+ }
80
64
 
81
- console.log('Processing repository: ' + outputDirectory);
65
+ let
66
+ component = release.components[index],
67
+ outputDirectory = path.resolve(release.outputRoot + component),
68
+ capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1),
69
+ repoName = release.componentRepoRoot + capitalizedComponent,
82
70
 
83
- // create folder if doesn't exist
84
- if( !fs.existsSync(outputDirectory) ) {
85
- mkdirp.sync(outputDirectory);
86
- }
71
+ gitOptions = { cwd: outputDirectory },
72
+ pullOptions = { args: '-q', cwd: outputDirectory, quiet: true },
73
+ resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true },
87
74
 
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
- }
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'))
78
+ ;
93
79
 
94
- // set-up local repo
95
- function setupRepo() {
96
- if(localRepoSetup) {
97
- addRemote();
98
- }
99
- else {
100
- initRepo();
101
- }
102
- }
80
+ console.log('Processing repository: ' + outputDirectory);
103
81
 
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);
82
+ // create folder if doesn't exist
83
+ if (!fs.existsSync(outputDirectory)) {
84
+ mkdirp.sync(outputDirectory);
109
85
  }
110
- addRemote();
111
- });
112
- }
113
86
 
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
-
125
- function addRemote() {
126
- console.info('Adding remote origin as ' + gitURL);
127
- git.addRemote('origin', gitURL, gitOptions, function(){
128
- pullFiles();
129
- });
130
- }
87
+ // clean folder
88
+ if (release.outputRoot.startsWith('../repos')) {
89
+ console.info('Cleaning dir', outputDirectory);
90
+ del.sync([outputDirectory + '**/*'], { silent: true, force: true });
91
+ }
131
92
 
132
- function pullFiles() {
133
- console.info('Pulling ' + component + ' files');
134
- git.pull('origin', 'master', pullOptions, function(error) {
135
- resetFiles();
136
- });
137
- }
93
+ // set-up local repo
94
+ function setupRepo() {
95
+ if (localRepoSetup) {
96
+ addRemote();
97
+ } else {
98
+ initRepo();
99
+ }
100
+ }
138
101
 
139
- function resetFiles() {
140
- console.info('Resetting files to head');
141
- git.reset('HEAD', resetOptions, function(error) {
142
- nextRepo();
143
- });
144
- }
102
+ function initRepo() {
103
+ console.info('Initializing repository for ' + component);
104
+ git.init(gitOptions, function (error) {
105
+ if (error) {
106
+ console.error('Error initializing repo', error);
107
+ }
108
+ addRemote();
109
+ });
110
+ }
145
111
 
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
- }
112
+ function createRepo() {
113
+ console.info('Creating GitHub repo ' + repoURL);
114
+ github.repos.createFromOrg({
115
+ org: release.org,
116
+ name: repoName,
117
+ homepage: release.homepage,
118
+ }, function () {
119
+ setupRepo();
120
+ });
121
+ }
154
122
 
123
+ function addRemote() {
124
+ console.info('Adding remote origin as ' + gitURL);
125
+ git.addRemote('origin', gitURL, gitOptions, function () {
126
+ pullFiles();
127
+ });
128
+ }
155
129
 
156
- if(localRepoSetup) {
157
- pullFiles();
158
- }
159
- else {
160
- setupRepo();
161
- // createRepo() only use to create remote repo (easier to do manually)
162
- }
130
+ function pullFiles() {
131
+ console.info('Pulling ' + component + ' files');
132
+ git.pull('origin', 'master', pullOptions, function (error) {
133
+ resetFiles();
134
+ });
135
+ }
163
136
 
164
- };
137
+ function resetFiles() {
138
+ console.info('Resetting files to head');
139
+ git.reset('HEAD', resetOptions, function (error) {
140
+ nextRepo();
141
+ });
142
+ }
165
143
 
166
- stepRepo();
144
+ function nextRepo() { // eslint-disable-line unicorn/consistent-function-scoping
145
+ // console.log('Sleeping for 1 second...');
146
+ // avoid rate throttling
147
+ global.clearTimeout(timer);
148
+ timer = global.setTimeout(function () {
149
+ stepRepo();
150
+ }, 0);
151
+ }
167
152
 
153
+ if (localRepoSetup) {
154
+ pullFiles();
155
+ } else {
156
+ setupRepo();
157
+ // createRepo() only use to create remote repo (easier to do manually)
158
+ }
159
+ };
168
160
 
161
+ stepRepo();
169
162
  };
@@ -12,171 +12,163 @@
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
+ github = require('../../config/admin/github'),
26
+ release = require('../../config/admin/release'),
27
+ project = require('../../config/project/release'),
28
+
29
+ // oAuth configuration for GitHub
30
+ oAuth = fs.existsSync(path.join(__dirname, '/../../config/admin/oauth.js'))
31
+ ? require('../../config/admin/oauth.js') // eslint-disable-line import/extensions
78
32
  : false,
79
33
 
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 },
34
+ // shorthand
35
+ version = project.version
36
+ ;
94
37
 
95
- localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git')),
96
- canProceed = true
38
+ module.exports = function (callback) {
39
+ let
40
+ index = -1,
41
+ total = release.components.length,
42
+ timer,
43
+ stream,
44
+ stepRepo
97
45
  ;
98
46
 
47
+ if (!oAuth) {
48
+ console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
99
49
 
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
- ;
50
+ return;
133
51
  }
134
52
 
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);
168
- }
169
-
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
-
53
+ // Do Git commands synchronously per component, to avoid issues
54
+ stepRepo = function () {
55
+ index += 1;
56
+ if (index >= total) {
57
+ callback();
58
+
59
+ return;
60
+ }
61
+
62
+ let
63
+ component = release.components[index],
64
+ outputDirectory = path.resolve(path.join(release.outputRoot, component)),
65
+ capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1),
66
+ repoName = release.componentRepoRoot + capitalizedComponent,
67
+
68
+ gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git',
69
+ repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
70
+
71
+ commitArgs = oAuth.name !== undefined && oAuth.email !== undefined
72
+ ? '--author "' + oAuth.name + ' <' + oAuth.email + '>"'
73
+ : '',
74
+
75
+ componentPackage = fs.existsSync(outputDirectory + 'package.json')
76
+ ? require(outputDirectory + 'package.json') // eslint-disable-line import/no-dynamic-require
77
+ : false,
78
+
79
+ isNewVersion = version && componentPackage.version !== version,
80
+
81
+ commitMessage = isNewVersion
82
+ ? 'Updated component to version ' + version
83
+ : 'Updated files from main repo',
84
+
85
+ gitOptions = { cwd: outputDirectory },
86
+ commitOptions = { args: commitArgs, cwd: outputDirectory },
87
+ releaseOptions = { tag_name: version, owner: release.org, repo: repoName },
88
+
89
+ fileModeOptions = { args: 'config core.fileMode false', cwd: outputDirectory },
90
+ usernameOptions = { args: 'config user.name "' + oAuth.name + '"', cwd: outputDirectory },
91
+ emailOptions = { args: 'config user.email "' + oAuth.email + '"', cwd: outputDirectory },
92
+ versionOptions = { args: 'rev-parse --verify HEAD', cwd: outputDirectory },
93
+
94
+ localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git')),
95
+ canProceed = true
96
+ ;
97
+
98
+ console.info('Processing repository:' + outputDirectory);
99
+
100
+ function setConfig() {
101
+ git.exec(fileModeOptions, function () {
102
+ git.exec(usernameOptions, function () {
103
+ git.exec(emailOptions, function () {
104
+ commitFiles();
105
+ });
106
+ });
107
+ });
108
+ }
109
+
110
+ // standard path
111
+ function commitFiles() {
112
+ // commit files
113
+ console.info('Committing ' + component + ' files', commitArgs);
114
+ gulp.src('./', gitOptions)
115
+ .pipe(git.add(gitOptions))
116
+ .pipe(git.commit(commitMessage, commitOptions))
117
+ .on('error', function (error) {
118
+ // canProceed = false; bug in git commit <https://github.com/stevelacy/gulp-git/issues/49>
119
+ })
120
+ .on('finish', function (callback) {
121
+ if (canProceed) {
122
+ pushFiles();
123
+ } else {
124
+ console.info('Nothing new to commit');
125
+ nextRepo();
126
+ }
127
+ })
128
+ ;
129
+ }
130
+
131
+ // push changes to remote
132
+ function pushFiles() {
133
+ console.info('Pushing files for ' + component);
134
+ git.push('origin', 'master', { args: '', cwd: outputDirectory }, function (error) {
135
+ console.info('Push completed successfully');
136
+ getSHA();
137
+ });
138
+ }
139
+
140
+ // gets SHA of last commit
141
+ function getSHA() {
142
+ git.exec(versionOptions, function (error, version) {
143
+ version = version.trim();
144
+ createRelease(version);
145
+ });
146
+ }
147
+
148
+ // create release on GitHub.com
149
+ function createRelease(version) {
150
+ if (version) {
151
+ releaseOptions.target_commitish = version;
152
+ }
153
+ github.repos.createRelease(releaseOptions, function () {
154
+ nextRepo();
155
+ });
156
+ }
157
+
158
+ // Steps to next repository
159
+ function nextRepo() {
160
+ console.log('Sleeping for 1 second...');
161
+ // avoid rate throttling
162
+ global.clearTimeout(timer);
163
+ timer = global.setTimeout(stepRepo, 100);
164
+ }
165
+
166
+ if (localRepoSetup) {
167
+ setConfig();
168
+ } else {
169
+ console.error('Repository must be setup before running update components');
170
+ }
171
+ };
172
+
173
+ stepRepo();
182
174
  };