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
@@ -10,199 +10,196 @@
10
10
  */
11
11
 
12
12
  var
13
- gulp = require('gulp'),
14
-
15
- // node dependencies
16
- fs = require('fs'),
17
- path = require('path'),
18
- mergeStream = require('merge-stream'),
19
-
20
- // admin dependencies
21
- flatten = require('gulp-flatten'),
22
- jsonEditor = require('gulp-json-editor'),
23
- plumber = require('gulp-plumber'),
24
- rename = require('gulp-rename'),
25
- replace = require('gulp-replace'),
26
-
27
- // config
28
- config = require('../../config/user'),
29
- release = require('../../config/admin/release'),
30
- project = require('../../config/project/release'),
31
-
32
- // shorthand
33
- version = project.version,
34
- output = config.paths.output
35
-
13
+ gulp = require('gulp'),
14
+
15
+ // node dependencies
16
+ fs = require('fs'),
17
+ path = require('path'),
18
+ mergeStream = require('merge-stream'),
19
+
20
+ // admin dependencies
21
+ flatten = require('gulp-flatten'),
22
+ jsonEditor = require('gulp-json-editor'),
23
+ plumber = require('gulp-plumber'),
24
+ rename = require('gulp-rename'),
25
+ replace = require('gulp-replace'),
26
+
27
+ // config
28
+ config = require('../../config/user'),
29
+ release = require('../../config/admin/release'),
30
+ project = require('../../config/project/release'),
31
+
32
+ // shorthand
33
+ version = project.version,
34
+ output = config.paths.output
36
35
  ;
37
36
 
38
-
39
- module.exports = function(callback) {
40
- var
41
- stream,
42
- index,
43
- tasks = []
44
- ;
45
-
46
- for(index in release.distributions) {
47
-
37
+ module.exports = function (callback) {
48
38
  var
49
- distribution = release.distributions[index]
39
+ stream,
40
+ index,
41
+ tasks = []
50
42
  ;
51
43
 
52
- // streams... designed to save time and make coding fun...
53
- (function(distribution) {
54
-
55
- var
56
- distLowerCase = distribution.toLowerCase(),
57
- outputDirectory = path.join(release.outputRoot, distLowerCase),
58
- packageFile = path.join(outputDirectory, release.files.npm),
59
- repoName = release.distRepoRoot + distribution,
60
- regExp = {
61
- match : {
62
- files : '{files}',
63
- version : '{version}'
64
- }
65
- },
66
- task = {
67
- all : distribution + ' copying files',
68
- repo : distribution + ' create repo',
69
- meteor : distribution + ' create meteor package.js',
70
- package : distribution + ' create package.json'
71
- },
72
- gatherFiles,
73
- createList
74
- ;
75
-
76
- // get files for meteor
77
- gatherFiles = function(dir) {
44
+ for (index in release.distributions) {
78
45
  var
79
- dir = dir || path.resolve('.'),
80
- list = fs.readdirSync(dir),
81
- omitted = [
82
- '.git',
83
- 'node_modules',
84
- 'package.js',
85
- 'LICENSE',
86
- 'README.md',
87
- 'package.json',
88
- 'bower.json',
89
- '.gitignore'
90
- ],
91
- files = []
92
- ;
93
- list.forEach(function(file) {
94
- var
95
- isOmitted = (omitted.indexOf(file) > -1),
96
- filePath = path.join(dir, file),
97
- stat = fs.statSync(filePath)
98
- ;
99
- if(!isOmitted) {
100
- if(stat && stat.isDirectory()) {
101
- files = files.concat(gatherFiles(filePath));
102
- }
103
- else {
104
- files.push(filePath.replace(outputDirectory + path.sep, ''));
105
- }
106
- }
107
- });
108
- return files;
109
- };
110
-
111
- // spaces out list correctly
112
- createList = function(files) {
113
- var filenames = '';
114
- for(var file in files) {
115
- if(file == (files.length - 1) ) {
116
- filenames += "'" + files[file] + "'";
117
- }
118
- else {
119
- filenames += "'" + files[file] + "',\n ";
120
- }
121
- }
122
- return filenames;
123
- };
124
-
125
- tasks.push(function() {
126
- var
127
- files = gatherFiles(outputDirectory),
128
- filenames = createList(files)
129
- ;
130
- gulp.src(release.templates.meteor[distLowerCase])
131
- .pipe(plumber())
132
- .pipe(flatten())
133
- .pipe(replace(regExp.match.version, version))
134
- .pipe(replace(regExp.match.files, filenames))
135
- .pipe(rename(release.files.meteor))
136
- .pipe(gulp.dest(outputDirectory))
137
- ;
138
- });
139
-
140
- if(distribution == 'CSS') {
141
- tasks.push(function() {
142
- var
143
- themes,
144
- components,
145
- releases
146
- ;
147
- themes = gulp.src('dist/themes/default/**/*', { base: 'dist/' })
148
- .pipe(gulp.dest(outputDirectory))
149
- ;
150
- components = gulp.src('dist/components/*', { base: 'dist/' })
151
- .pipe(gulp.dest(outputDirectory))
152
- ;
153
- releases = gulp.src('dist/*', { base: 'dist/' })
154
- .pipe(gulp.dest(outputDirectory))
155
- ;
156
- return mergeStream(themes, components, releases);
157
- });
158
- }
159
- else if(distribution == 'LESS') {
160
- tasks.push(function() {
161
- var
162
- definitions,
163
- themeImport,
164
- themeConfig,
165
- siteTheme,
166
- themes
167
- ;
168
- definitions = gulp.src('src/definitions/**/*', { base: 'src/' })
169
- .pipe(gulp.dest(outputDirectory))
170
- ;
171
- themeImport = gulp.src('src/semantic.less', { base: 'src/' })
172
- .pipe(gulp.dest(outputDirectory))
173
- ;
174
- themeImport = gulp.src('src/theme.less', { base: 'src/' })
175
- .pipe(gulp.dest(outputDirectory))
176
- ;
177
- themeConfig = gulp.src('src/theme.config.example', { base: 'src/' })
178
- .pipe(gulp.dest(outputDirectory))
179
- ;
180
- siteTheme = gulp.src('src/_site/**/*', { base: 'src/' })
181
- .pipe(gulp.dest(outputDirectory))
182
- ;
183
- themes = gulp.src('src/themes/**/*', { base: 'src/' })
184
- .pipe(gulp.dest(outputDirectory))
185
- ;
186
- return mergeStream(definitions, themeImport, themeConfig, siteTheme, themes);
187
- });
188
- }
189
-
190
- // extend package.json
191
- tasks.push(function() {
192
- return gulp.src(packageFile)
193
- .pipe(plumber())
194
- .pipe(jsonEditor(function(package) {
195
- if(version) {
196
- package.version = version;
197
- }
198
- return package;
199
- }))
200
- .pipe(gulp.dest(outputDirectory))
201
- ;
202
- });
46
+ distribution = release.distributions[index]
47
+ ;
203
48
 
204
- })(distribution);
205
- }
49
+ // streams... designed to save time and make coding fun...
50
+ (function (distribution) {
51
+ var
52
+ distLowerCase = distribution.toLowerCase(),
53
+ outputDirectory = path.join(release.outputRoot, distLowerCase),
54
+ packageFile = path.join(outputDirectory, release.files.npm),
55
+ repoName = release.distRepoRoot + distribution,
56
+ regExp = {
57
+ match: {
58
+ files: '{files}',
59
+ version: '{version}',
60
+ },
61
+ },
62
+ task = {
63
+ all: distribution + ' copying files',
64
+ repo: distribution + ' create repo',
65
+ meteor: distribution + ' create meteor package.js',
66
+ package: distribution + ' create package.json',
67
+ },
68
+ gatherFiles,
69
+ createList
70
+ ;
71
+
72
+ // get files for meteor
73
+ gatherFiles = function (dir) {
74
+ var
75
+ dir = dir || path.resolve('.'),
76
+ list = fs.readdirSync(dir),
77
+ omitted = [
78
+ '.git',
79
+ 'node_modules',
80
+ 'package.js',
81
+ 'LICENSE',
82
+ 'README.md',
83
+ 'package.json',
84
+ 'bower.json',
85
+ '.gitignore',
86
+ ],
87
+ files = []
88
+ ;
89
+ list.forEach(function (file) {
90
+ var
91
+ isOmitted = (omitted.indexOf(file) > -1),
92
+ filePath = path.join(dir, file),
93
+ stat = fs.statSync(filePath)
94
+ ;
95
+ if (!isOmitted) {
96
+ if (stat && stat.isDirectory()) {
97
+ files = files.concat(gatherFiles(filePath));
98
+ } else {
99
+ files.push(filePath.replace(outputDirectory + path.sep, ''));
100
+ }
101
+ }
102
+ });
103
+
104
+ return files;
105
+ };
106
+
107
+ // spaces out list correctly
108
+ createList = function (files) {
109
+ var filenames = '';
110
+ for (var file in files) {
111
+ if (file == (files.length - 1)) {
112
+ filenames += "'" + files[file] + "'";
113
+ } else {
114
+ filenames += "'" + files[file] + "',\n ";
115
+ }
116
+ }
117
+
118
+ return filenames;
119
+ };
120
+
121
+ tasks.push(function () {
122
+ var
123
+ files = gatherFiles(outputDirectory),
124
+ filenames = createList(files)
125
+ ;
126
+ gulp.src(release.templates.meteor[distLowerCase])
127
+ .pipe(plumber())
128
+ .pipe(flatten())
129
+ .pipe(replace(regExp.match.version, version))
130
+ .pipe(replace(regExp.match.files, filenames))
131
+ .pipe(rename(release.files.meteor))
132
+ .pipe(gulp.dest(outputDirectory))
133
+ ;
134
+ });
135
+
136
+ if (distribution == 'CSS') {
137
+ tasks.push(function () {
138
+ var
139
+ themes,
140
+ components,
141
+ releases
142
+ ;
143
+ themes = gulp.src('dist/themes/default/**/*', { base: 'dist/' })
144
+ .pipe(gulp.dest(outputDirectory))
145
+ ;
146
+ components = gulp.src('dist/components/*', { base: 'dist/' })
147
+ .pipe(gulp.dest(outputDirectory))
148
+ ;
149
+ releases = gulp.src('dist/*', { base: 'dist/' })
150
+ .pipe(gulp.dest(outputDirectory))
151
+ ;
152
+
153
+ return mergeStream(themes, components, releases);
154
+ });
155
+ } else if (distribution == 'LESS') {
156
+ tasks.push(function () {
157
+ var
158
+ definitions,
159
+ themeImport,
160
+ themeConfig,
161
+ siteTheme,
162
+ themes
163
+ ;
164
+ definitions = gulp.src('src/definitions/**/*', { base: 'src/' })
165
+ .pipe(gulp.dest(outputDirectory))
166
+ ;
167
+ themeImport = gulp.src('src/semantic.less', { base: 'src/' })
168
+ .pipe(gulp.dest(outputDirectory))
169
+ ;
170
+ themeImport = gulp.src('src/theme.less', { base: 'src/' })
171
+ .pipe(gulp.dest(outputDirectory))
172
+ ;
173
+ themeConfig = gulp.src('src/theme.config.example', { base: 'src/' })
174
+ .pipe(gulp.dest(outputDirectory))
175
+ ;
176
+ siteTheme = gulp.src('src/_site/**/*', { base: 'src/' })
177
+ .pipe(gulp.dest(outputDirectory))
178
+ ;
179
+ themes = gulp.src('src/themes/**/*', { base: 'src/' })
180
+ .pipe(gulp.dest(outputDirectory))
181
+ ;
182
+
183
+ return mergeStream(definitions, themeImport, themeConfig, siteTheme, themes);
184
+ });
185
+ }
206
186
 
207
- gulp.series(...tasks)(callback);
187
+ // extend package.json
188
+ tasks.push(function () {
189
+ return gulp.src(packageFile)
190
+ .pipe(plumber())
191
+ .pipe(jsonEditor(function (pkg) {
192
+ if (version) {
193
+ pkg.version = version;
194
+ }
195
+
196
+ return pkg;
197
+ }))
198
+ .pipe(gulp.dest(outputDirectory))
199
+ ;
200
+ });
201
+ })(distribution);
202
+ }
203
+
204
+ gulp.series(...tasks)(callback);
208
205
  };
@@ -13,156 +13,149 @@
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) {
42
-
43
- var
44
- index = -1,
45
- total = release.distributions.length,
46
- timer,
47
- stream,
48
- stepRepo
49
- ;
50
-
51
- if(!oAuth) {
52
- console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
53
- return;
54
- }
55
-
56
- // Do Git commands synchronously per component, to avoid issues
57
- stepRepo = function() {
58
-
59
- index = index + 1;
60
-
61
- if(index >= total) {
62
- callback();
63
- return;
64
- }
65
-
40
+ module.exports = function (callback) {
66
41
  var
67
- component = release.distributions[index],
68
- lowerCaseComponent = component.toLowerCase(),
69
- outputDirectory = path.resolve(release.outputRoot + lowerCaseComponent),
70
- repoName = release.distRepoRoot + component,
71
-
72
- gitOptions = { cwd: outputDirectory },
73
- pullOptions = { args: '-q', cwd: outputDirectory, quiet: true },
74
- resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true },
75
- gitURL = 'git@github.com:' + release.org + '/' + repoName + '.git',
76
- repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
77
- localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git'))
42
+ index = -1,
43
+ total = release.distributions.length,
44
+ timer,
45
+ stream,
46
+ stepRepo
78
47
  ;
79
48
 
80
- console.log('Processing repository: ' + outputDirectory);
49
+ if (!oAuth) {
50
+ console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
81
51
 
82
- // create folder if doesn't exist
83
- if( !fs.existsSync(outputDirectory) ) {
84
- mkdirp.sync(outputDirectory);
52
+ return;
85
53
  }
86
54
 
87
- // clean folder
88
- if(release.outputRoot.search('../repos') == 0) {
89
- console.info('Cleaning dir', outputDirectory);
90
- del.sync([outputDirectory + '**/*'], {silent: true, force: true});
91
- }
55
+ // Do Git commands synchronously per component, to avoid issues
56
+ stepRepo = function () {
57
+ index += 1;
92
58
 
93
- // set-up local repo
94
- function setupRepo() {
95
- if(localRepoSetup) {
96
- addRemote();
97
- }
98
- else {
99
- initRepo();
100
- }
101
- }
59
+ if (index >= total) {
60
+ callback();
102
61
 
103
- function initRepo() {
104
- console.info('Initializing repository for ' + component);
105
- git.init(gitOptions, function(error) {
106
- if(error) {
107
- console.error('Error initializing repo', error);
62
+ return;
108
63
  }
109
- addRemote();
110
- });
111
- }
112
64
 
113
- function createRepo() {
114
- console.info('Creating GitHub repo ' + repoURL);
115
- github.repos.createFromOrg({
116
- org : release.org,
117
- name : repoName,
118
- homepage : release.homepage
119
- }, function() {
120
- setupRepo();
121
- });
122
- }
65
+ var
66
+ component = release.distributions[index],
67
+ lowerCaseComponent = component.toLowerCase(),
68
+ outputDirectory = path.resolve(release.outputRoot + lowerCaseComponent),
69
+ repoName = release.distRepoRoot + component,
70
+
71
+ gitOptions = { cwd: outputDirectory },
72
+ pullOptions = { args: '-q', cwd: outputDirectory, quiet: true },
73
+ resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true },
74
+ gitURL = 'git@github.com:' + release.org + '/' + repoName + '.git',
75
+ repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
76
+ localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git'))
77
+ ;
78
+
79
+ console.log('Processing repository: ' + outputDirectory);
80
+
81
+ // create folder if doesn't exist
82
+ if (!fs.existsSync(outputDirectory)) {
83
+ mkdirp.sync(outputDirectory);
84
+ }
123
85
 
124
- function addRemote() {
125
- console.info('Adding remote origin as ' + gitURL);
126
- git.addRemote('origin', gitURL, gitOptions, function(){
127
- pullFiles();
128
- });
129
- }
86
+ // clean folder
87
+ if (release.outputRoot.search('../repos') == 0) {
88
+ console.info('Cleaning dir', outputDirectory);
89
+ del.sync([outputDirectory + '**/*'], { silent: true, force: true });
90
+ }
130
91
 
131
- function pullFiles() {
132
- console.info('Pulling ' + component + ' files');
133
- git.pull('origin', 'master', pullOptions, function(error) {
134
- resetFiles();
135
- });
136
- }
92
+ // set-up local repo
93
+ function setupRepo() {
94
+ if (localRepoSetup) {
95
+ addRemote();
96
+ } else {
97
+ initRepo();
98
+ }
99
+ }
137
100
 
138
- function resetFiles() {
139
- console.info('Resetting files to head');
140
- git.reset('HEAD', resetOptions, function(error) {
141
- nextRepo();
142
- });
143
- }
101
+ function initRepo() {
102
+ console.info('Initializing repository for ' + component);
103
+ git.init(gitOptions, function (error) {
104
+ if (error) {
105
+ console.error('Error initializing repo', error);
106
+ }
107
+ addRemote();
108
+ });
109
+ }
144
110
 
145
- function nextRepo() {
146
- //console.log('Sleeping for 1 second...');
147
- // avoid rate throttling
148
- global.clearTimeout(timer);
149
- timer = global.setTimeout(function() {
150
- stepRepo()
151
- }, 0);
152
- }
111
+ function createRepo() {
112
+ console.info('Creating GitHub repo ' + repoURL);
113
+ github.repos.createFromOrg({
114
+ org: release.org,
115
+ name: repoName,
116
+ homepage: release.homepage,
117
+ }, function () {
118
+ setupRepo();
119
+ });
120
+ }
153
121
 
122
+ function addRemote() {
123
+ console.info('Adding remote origin as ' + gitURL);
124
+ git.addRemote('origin', gitURL, gitOptions, function () {
125
+ pullFiles();
126
+ });
127
+ }
154
128
 
155
- if(localRepoSetup) {
156
- pullFiles();
157
- }
158
- else {
159
- setupRepo();
160
- // createRepo() only use to create remote repo (easier to do manually)
161
- }
129
+ function pullFiles() {
130
+ console.info('Pulling ' + component + ' files');
131
+ git.pull('origin', 'master', pullOptions, function (error) {
132
+ resetFiles();
133
+ });
134
+ }
162
135
 
163
- };
136
+ function resetFiles() {
137
+ console.info('Resetting files to head');
138
+ git.reset('HEAD', resetOptions, function (error) {
139
+ nextRepo();
140
+ });
141
+ }
164
142
 
165
- stepRepo();
143
+ function nextRepo() {
144
+ // console.log('Sleeping for 1 second...');
145
+ // avoid rate throttling
146
+ global.clearTimeout(timer);
147
+ timer = global.setTimeout(function () {
148
+ stepRepo();
149
+ }, 0);
150
+ }
166
151
 
152
+ if (localRepoSetup) {
153
+ pullFiles();
154
+ } else {
155
+ setupRepo();
156
+ // createRepo() only use to create remote repo (easier to do manually)
157
+ }
158
+ };
167
159
 
160
+ stepRepo();
168
161
  };