fomantic-ui 2.9.1-beta.2 → 2.9.1-beta.20

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 (339) hide show
  1. package/.eslintrc.js +110 -0
  2. package/.github/workflows/ci.yml +14 -4
  3. package/.stylelintrc.js +46 -0
  4. package/dist/components/accordion.css +19 -26
  5. package/dist/components/accordion.js +568 -595
  6. package/dist/components/accordion.min.css +1 -1
  7. package/dist/components/accordion.min.js +2 -2
  8. package/dist/components/ad.css +31 -41
  9. package/dist/components/ad.min.css +1 -1
  10. package/dist/components/api.js +1161 -1179
  11. package/dist/components/api.min.js +2 -2
  12. package/dist/components/breadcrumb.css +1 -1
  13. package/dist/components/breadcrumb.min.css +1 -1
  14. package/dist/components/button.css +71 -106
  15. package/dist/components/button.min.css +1 -1
  16. package/dist/components/calendar.css +18 -16
  17. package/dist/components/calendar.js +1895 -1809
  18. package/dist/components/calendar.min.css +2 -2
  19. package/dist/components/calendar.min.js +2 -2
  20. package/dist/components/card.css +83 -115
  21. package/dist/components/card.min.css +1 -1
  22. package/dist/components/checkbox.css +47 -64
  23. package/dist/components/checkbox.js +842 -841
  24. package/dist/components/checkbox.min.css +1 -1
  25. package/dist/components/checkbox.min.js +2 -2
  26. package/dist/components/comment.css +37 -51
  27. package/dist/components/comment.min.css +1 -1
  28. package/dist/components/container.css +6 -5
  29. package/dist/components/container.min.css +2 -2
  30. package/dist/components/dimmer.css +31 -41
  31. package/dist/components/dimmer.js +708 -737
  32. package/dist/components/dimmer.min.css +1 -1
  33. package/dist/components/dimmer.min.js +2 -2
  34. package/dist/components/divider.css +32 -44
  35. package/dist/components/divider.min.css +1 -1
  36. package/dist/components/dropdown.css +129 -166
  37. package/dist/components/dropdown.js +4161 -4234
  38. package/dist/components/dropdown.min.css +2 -2
  39. package/dist/components/dropdown.min.js +2 -2
  40. package/dist/components/embed.css +13 -19
  41. package/dist/components/embed.js +651 -675
  42. package/dist/components/embed.min.css +1 -1
  43. package/dist/components/embed.min.js +2 -2
  44. package/dist/components/emoji.css +7 -6
  45. package/dist/components/feed.css +24 -32
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +5 -3
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/flyout.css +44 -58
  50. package/dist/components/flyout.js +1464 -1465
  51. package/dist/components/flyout.min.css +2 -2
  52. package/dist/components/flyout.min.js +2 -2
  53. package/dist/components/form.css +85 -111
  54. package/dist/components/form.js +1979 -2004
  55. package/dist/components/form.min.css +1 -1
  56. package/dist/components/form.min.js +2 -2
  57. package/dist/components/grid.css +70 -96
  58. package/dist/components/grid.min.css +1 -1
  59. package/dist/components/header.css +47 -65
  60. package/dist/components/header.min.css +1 -1
  61. package/dist/components/icon.css +45 -66
  62. package/dist/components/icon.min.css +2 -2
  63. package/dist/components/image.css +32 -42
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +182 -65
  66. package/dist/components/input.min.css +2 -2
  67. package/dist/components/item.css +55 -77
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +68 -91
  70. package/dist/components/label.min.css +2 -2
  71. package/dist/components/list.css +44 -59
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +16 -22
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +126 -186
  76. package/dist/components/message.css +25 -35
  77. package/dist/components/message.min.css +1 -1
  78. package/dist/components/modal.css +39 -40
  79. package/dist/components/modal.js +1491 -1485
  80. package/dist/components/modal.min.css +2 -2
  81. package/dist/components/modal.min.js +2 -2
  82. package/dist/components/nag.css +21 -28
  83. package/dist/components/nag.js +518 -526
  84. package/dist/components/nag.min.css +2 -2
  85. package/dist/components/nag.min.js +2 -2
  86. package/dist/components/placeholder.css +10 -12
  87. package/dist/components/placeholder.min.css +1 -1
  88. package/dist/components/popup.css +352 -59
  89. package/dist/components/popup.js +1437 -1456
  90. package/dist/components/popup.min.css +2 -2
  91. package/dist/components/popup.min.js +2 -2
  92. package/dist/components/progress.css +29 -39
  93. package/dist/components/progress.js +969 -997
  94. package/dist/components/progress.min.css +1 -1
  95. package/dist/components/progress.min.js +2 -2
  96. package/dist/components/rail.css +15 -20
  97. package/dist/components/rail.min.css +1 -1
  98. package/dist/components/rating.css +9 -13
  99. package/dist/components/rating.js +505 -523
  100. package/dist/components/rating.min.css +1 -1
  101. package/dist/components/rating.min.js +2 -2
  102. package/dist/components/reset.css +1 -1
  103. package/dist/components/reset.min.css +1 -1
  104. package/dist/components/reveal.css +19 -26
  105. package/dist/components/reveal.min.css +1 -1
  106. package/dist/components/search.css +43 -58
  107. package/dist/components/search.js +1498 -1534
  108. package/dist/components/search.min.css +2 -2
  109. package/dist/components/search.min.js +2 -2
  110. package/dist/components/segment.css +64 -83
  111. package/dist/components/segment.min.css +2 -2
  112. package/dist/components/shape.css +10 -14
  113. package/dist/components/shape.js +792 -809
  114. package/dist/components/shape.min.css +1 -1
  115. package/dist/components/shape.min.js +2 -2
  116. package/dist/components/sidebar.css +43 -58
  117. package/dist/components/sidebar.js +1071 -1098
  118. package/dist/components/sidebar.min.css +2 -2
  119. package/dist/components/sidebar.min.js +2 -2
  120. package/dist/components/site.css +5 -5
  121. package/dist/components/site.js +462 -476
  122. package/dist/components/site.min.css +1 -1
  123. package/dist/components/site.min.js +2 -2
  124. package/dist/components/slider.css +27 -37
  125. package/dist/components/slider.js +1287 -1306
  126. package/dist/components/slider.min.js +2 -2
  127. package/dist/components/state.js +639 -657
  128. package/dist/components/state.min.js +2 -2
  129. package/dist/components/statistic.css +32 -41
  130. package/dist/components/statistic.min.css +2 -2
  131. package/dist/components/step.css +26 -35
  132. package/dist/components/step.min.css +1 -1
  133. package/dist/components/sticky.css +1 -1
  134. package/dist/components/sticky.js +857 -902
  135. package/dist/components/sticky.min.css +1 -1
  136. package/dist/components/sticky.min.js +2 -2
  137. package/dist/components/tab.css +6 -8
  138. package/dist/components/tab.js +922 -963
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +2 -2
  141. package/dist/components/table.css +93 -119
  142. package/dist/components/table.min.css +2 -2
  143. package/dist/components/text.css +1 -1
  144. package/dist/components/text.min.css +1 -1
  145. package/dist/components/toast.css +4 -6
  146. package/dist/components/toast.js +886 -887
  147. package/dist/components/toast.min.css +1 -1
  148. package/dist/components/toast.min.js +2 -2
  149. package/dist/components/transition.css +150 -3
  150. package/dist/components/transition.js +1041 -1077
  151. package/dist/components/transition.min.css +2 -2
  152. package/dist/components/transition.min.js +2 -2
  153. package/dist/components/visibility.js +1220 -1244
  154. package/dist/components/visibility.min.js +2 -2
  155. package/dist/semantic.css +2529 -1778
  156. package/dist/semantic.js +28928 -29383
  157. package/dist/semantic.min.css +2 -2
  158. package/dist/semantic.min.js +2 -2
  159. package/dist/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  160. package/dist/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  161. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  162. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  163. package/dist/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  164. package/dist/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  165. package/dist/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  166. package/dist/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  167. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  168. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  169. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  170. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  171. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  172. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  173. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  174. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  175. package/examples/assets/show-examples.js +13 -13
  176. package/gulpfile.js +9 -10
  177. package/package.json +13 -8
  178. package/scripts/nightly-version.js +81 -75
  179. package/src/definitions/behaviors/api.js +1162 -1180
  180. package/src/definitions/behaviors/form.js +1978 -2003
  181. package/src/definitions/behaviors/state.js +645 -663
  182. package/src/definitions/behaviors/visibility.js +1219 -1243
  183. package/src/definitions/collections/breadcrumb.less +41 -44
  184. package/src/definitions/collections/form.less +869 -879
  185. package/src/definitions/collections/grid.less +1690 -1695
  186. package/src/definitions/collections/menu.less +1493 -1503
  187. package/src/definitions/collections/message.less +292 -295
  188. package/src/definitions/collections/table.less +1616 -1620
  189. package/src/definitions/elements/button.less +1721 -1743
  190. package/src/definitions/elements/container.less +209 -209
  191. package/src/definitions/elements/divider.less +205 -206
  192. package/src/definitions/elements/emoji.less +38 -44
  193. package/src/definitions/elements/flag.less +44 -46
  194. package/src/definitions/elements/header.less +337 -345
  195. package/src/definitions/elements/icon.less +516 -443
  196. package/src/definitions/elements/image.less +221 -225
  197. package/src/definitions/elements/input.less +663 -659
  198. package/src/definitions/elements/label.less +803 -793
  199. package/src/definitions/elements/list.less +809 -809
  200. package/src/definitions/elements/loader.less +272 -266
  201. package/src/definitions/elements/placeholder.less +171 -168
  202. package/src/definitions/elements/rail.less +91 -91
  203. package/src/definitions/elements/reveal.less +192 -196
  204. package/src/definitions/elements/segment.less +743 -746
  205. package/src/definitions/elements/step.less +425 -433
  206. package/src/definitions/elements/text.less +32 -34
  207. package/src/definitions/globals/reset.less +9 -6
  208. package/src/definitions/globals/site.js +461 -475
  209. package/src/definitions/globals/site.less +106 -108
  210. package/src/definitions/modules/accordion.js +567 -594
  211. package/src/definitions/modules/accordion.less +242 -246
  212. package/src/definitions/modules/calendar.js +1894 -1808
  213. package/src/definitions/modules/calendar.less +98 -95
  214. package/src/definitions/modules/checkbox.js +841 -840
  215. package/src/definitions/modules/checkbox.less +536 -542
  216. package/src/definitions/modules/dimmer.js +707 -736
  217. package/src/definitions/modules/dimmer.less +300 -297
  218. package/src/definitions/modules/dropdown.js +4160 -4233
  219. package/src/definitions/modules/dropdown.less +1577 -1589
  220. package/src/definitions/modules/embed.js +650 -674
  221. package/src/definitions/modules/embed.less +81 -82
  222. package/src/definitions/modules/flyout.js +1463 -1464
  223. package/src/definitions/modules/flyout.less +445 -451
  224. package/src/definitions/modules/modal.js +1490 -1484
  225. package/src/definitions/modules/modal.less +459 -459
  226. package/src/definitions/modules/nag.js +517 -525
  227. package/src/definitions/modules/nag.less +134 -138
  228. package/src/definitions/modules/popup.js +1436 -1455
  229. package/src/definitions/modules/popup.less +742 -687
  230. package/src/definitions/modules/progress.js +968 -996
  231. package/src/definitions/modules/progress.less +521 -494
  232. package/src/definitions/modules/rating.js +504 -522
  233. package/src/definitions/modules/rating.less +94 -101
  234. package/src/definitions/modules/search.js +1497 -1533
  235. package/src/definitions/modules/search.less +375 -382
  236. package/src/definitions/modules/shape.js +791 -808
  237. package/src/definitions/modules/shape.less +71 -76
  238. package/src/definitions/modules/sidebar.js +1070 -1097
  239. package/src/definitions/modules/sidebar.less +463 -472
  240. package/src/definitions/modules/slider.js +1286 -1305
  241. package/src/definitions/modules/slider.less +307 -308
  242. package/src/definitions/modules/sticky.js +873 -918
  243. package/src/definitions/modules/sticky.less +21 -23
  244. package/src/definitions/modules/tab.js +921 -962
  245. package/src/definitions/modules/tab.less +51 -52
  246. package/src/definitions/modules/toast.js +885 -886
  247. package/src/definitions/modules/toast.less +584 -586
  248. package/src/definitions/modules/transition.js +1040 -1076
  249. package/src/definitions/modules/transition.less +62 -28
  250. package/src/definitions/views/ad.less +206 -206
  251. package/src/definitions/views/card.less +968 -970
  252. package/src/definitions/views/comment.less +190 -198
  253. package/src/definitions/views/feed.less +220 -224
  254. package/src/definitions/views/item.less +436 -446
  255. package/src/definitions/views/statistic.less +271 -277
  256. package/src/theme.less +29 -32
  257. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  258. package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  259. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  260. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  261. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  262. package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  263. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  264. package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  265. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  266. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  267. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  268. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  269. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  270. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  271. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  272. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  273. package/src/themes/default/elements/container.variables +0 -7
  274. package/src/themes/default/elements/icon.variables +18 -0
  275. package/src/themes/default/elements/segment.variables +0 -7
  276. package/src/themes/default/globals/colors.less +589 -589
  277. package/src/themes/default/globals/site.variables +8 -0
  278. package/src/themes/default/globals/variation.variables +13 -1
  279. package/src/themes/default/modules/calendar.variables +2 -0
  280. package/src/themes/default/modules/nag.variables +1 -1
  281. package/src/themes/default/modules/popup.variables +2 -0
  282. package/src/themes/default/modules/transition.variables +8 -1
  283. package/tasks/admin/components/create.js +274 -276
  284. package/tasks/admin/components/init.js +123 -130
  285. package/tasks/admin/components/update.js +149 -157
  286. package/tasks/admin/distributions/create.js +184 -187
  287. package/tasks/admin/distributions/init.js +123 -130
  288. package/tasks/admin/distributions/update.js +145 -152
  289. package/tasks/admin/publish.js +5 -7
  290. package/tasks/admin/register.js +36 -38
  291. package/tasks/admin/release.js +8 -10
  292. package/tasks/build/assets.js +42 -39
  293. package/tasks/build/css.js +225 -216
  294. package/tasks/build/javascript.js +118 -113
  295. package/tasks/build.js +10 -10
  296. package/tasks/check-install.js +14 -16
  297. package/tasks/clean.js +5 -5
  298. package/tasks/collections/admin.js +34 -36
  299. package/tasks/collections/build.js +18 -20
  300. package/tasks/collections/docs.js +9 -11
  301. package/tasks/collections/install.js +9 -11
  302. package/tasks/collections/rtl.js +9 -11
  303. package/tasks/collections/various.js +8 -10
  304. package/tasks/config/admin/github.js +17 -17
  305. package/tasks/config/admin/oauth.example.js +4 -4
  306. package/tasks/config/admin/release.js +98 -98
  307. package/tasks/config/admin/templates/component-package.js +9 -10
  308. package/tasks/config/admin/templates/css-package.js +18 -20
  309. package/tasks/config/admin/templates/less-package.js +11 -13
  310. package/tasks/config/defaults.js +116 -114
  311. package/tasks/config/docs.js +23 -23
  312. package/tasks/config/npm/gulpfile.js +8 -9
  313. package/tasks/config/project/config.js +127 -134
  314. package/tasks/config/project/install.js +715 -713
  315. package/tasks/config/project/release.js +32 -38
  316. package/tasks/config/tasks.js +165 -156
  317. package/tasks/config/user.js +23 -26
  318. package/tasks/docs/build.js +97 -95
  319. package/tasks/docs/metadata.js +90 -96
  320. package/tasks/docs/serve.js +80 -81
  321. package/tasks/install.js +370 -378
  322. package/tasks/rtl/build.js +2 -2
  323. package/tasks/rtl/watch.js +2 -2
  324. package/tasks/version.js +4 -4
  325. package/tasks/watch.js +28 -30
  326. package/test/meteor/assets.js +10 -13
  327. package/test/meteor/fonts.js +12 -13
  328. package/test/modules/accordion.spec.js +6 -8
  329. package/test/modules/checkbox.spec.js +5 -7
  330. package/test/modules/dropdown.spec.js +5 -7
  331. package/test/modules/modal.spec.js +6 -8
  332. package/test/modules/module.spec.js +158 -178
  333. package/test/modules/popup.spec.js +5 -7
  334. package/test/modules/search.spec.js +5 -7
  335. package/test/modules/shape.spec.js +5 -7
  336. package/test/modules/sidebar.spec.js +5 -7
  337. package/test/modules/tab.spec.js +6 -8
  338. package/test/modules/transition.spec.js +5 -7
  339. package/test/modules/video.spec.js +5 -7
@@ -13,157 +13,150 @@
13
13
  */
14
14
 
15
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
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
+ // oAuth configuration for GitHub
32
+ oAuth = fs.existsSync(__dirname + '/../../config/admin/oauth.js')
33
+ ? require('../../config/admin/oauth')
34
+ : false,
35
+
36
+ // shorthand
37
+ version = project.version
39
38
  ;
40
39
 
41
- module.exports = function(callback) {
40
+ module.exports = function (callback) {
41
+ var
42
+ index = -1,
43
+ total = release.components.length,
44
+ timer,
45
+ stream,
46
+ stepRepo
47
+ ;
42
48
 
43
- var
44
- index = -1,
45
- total = release.components.length,
46
- timer,
47
- stream,
48
- stepRepo
49
- ;
49
+ if (!oAuth) {
50
+ console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
50
51
 
51
- if(!oAuth) {
52
- console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
53
- return;
54
- }
52
+ return;
53
+ }
55
54
 
56
- // Do Git commands synchronously per component, to avoid issues
57
- stepRepo = function() {
55
+ // Do Git commands synchronously per component, to avoid issues
56
+ stepRepo = function () {
57
+ index += 1;
58
58
 
59
- index = index + 1;
59
+ if (index >= total) {
60
+ callback();
60
61
 
61
- if(index >= total) {
62
- callback();
63
- return;
64
- }
65
-
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,
71
-
72
- gitOptions = { cwd: outputDirectory },
73
- pullOptions = { args: '-q', cwd: outputDirectory, quiet: true },
74
- resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true },
75
-
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
+ var
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.search('../repos') == 0) {
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() {
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
  };
@@ -13,170 +13,162 @@
13
13
  */
14
14
 
15
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,
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
+ // oAuth configuration for GitHub
30
+ oAuth = fs.existsSync(__dirname + '/../../config/admin/oauth.js')
31
+ ? require('../../config/admin/oauth')
32
+ : false,
34
33
 
35
- // shorthand
36
- version = project.version
34
+ // shorthand
35
+ version = project.version
37
36
  ;
38
37
 
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
-
38
+ module.exports = function (callback) {
63
39
  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')
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
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
+ var
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')
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
  };