fomantic-ui 2.9.1-beta.16 → 2.9.1-beta.18

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 (252) hide show
  1. package/.eslintrc.js +109 -0
  2. package/.github/workflows/ci.yml +13 -3
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +571 -598
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +1 -1
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +1164 -1186
  10. package/dist/components/api.min.js +1 -1
  11. package/dist/components/breadcrumb.css +1 -1
  12. package/dist/components/breadcrumb.min.css +1 -1
  13. package/dist/components/button.css +1 -1
  14. package/dist/components/button.min.css +1 -1
  15. package/dist/components/calendar.css +1 -1
  16. package/dist/components/calendar.js +1897 -1818
  17. package/dist/components/calendar.min.css +1 -1
  18. package/dist/components/calendar.min.js +1 -1
  19. package/dist/components/card.css +1 -1
  20. package/dist/components/card.min.css +1 -1
  21. package/dist/components/checkbox.css +1 -1
  22. package/dist/components/checkbox.js +844 -841
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +1 -1
  25. package/dist/components/comment.css +1 -1
  26. package/dist/components/comment.min.css +1 -1
  27. package/dist/components/container.css +3 -1
  28. package/dist/components/container.min.css +2 -2
  29. package/dist/components/dimmer.css +1 -1
  30. package/dist/components/dimmer.js +710 -737
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +1 -1
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +11 -8
  36. package/dist/components/dropdown.js +4163 -4234
  37. package/dist/components/dropdown.min.css +2 -2
  38. package/dist/components/dropdown.min.js +2 -2
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +653 -675
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +1 -1
  43. package/dist/components/feed.css +1 -1
  44. package/dist/components/feed.min.css +1 -1
  45. package/dist/components/flag.css +1 -1
  46. package/dist/components/flag.min.css +1 -1
  47. package/dist/components/flyout.css +6 -3
  48. package/dist/components/flyout.js +1466 -1467
  49. package/dist/components/flyout.min.css +2 -2
  50. package/dist/components/flyout.min.js +1 -1
  51. package/dist/components/form.css +1 -1
  52. package/dist/components/form.js +1981 -2004
  53. package/dist/components/form.min.css +1 -1
  54. package/dist/components/form.min.js +1 -1
  55. package/dist/components/grid.css +1 -1
  56. package/dist/components/grid.min.css +1 -1
  57. package/dist/components/header.css +1 -1
  58. package/dist/components/header.min.css +1 -1
  59. package/dist/components/icon.css +1 -1
  60. package/dist/components/icon.min.css +1 -1
  61. package/dist/components/image.css +1 -1
  62. package/dist/components/image.min.css +1 -1
  63. package/dist/components/input.css +1 -1
  64. package/dist/components/input.min.css +1 -1
  65. package/dist/components/item.css +1 -1
  66. package/dist/components/item.min.css +1 -1
  67. package/dist/components/label.css +1 -1
  68. package/dist/components/label.min.css +1 -1
  69. package/dist/components/list.css +1 -1
  70. package/dist/components/list.min.css +1 -1
  71. package/dist/components/loader.css +1 -1
  72. package/dist/components/loader.min.css +1 -1
  73. package/dist/components/message.css +1 -1
  74. package/dist/components/message.min.css +1 -1
  75. package/dist/components/modal.css +7 -1
  76. package/dist/components/modal.js +1493 -1487
  77. package/dist/components/modal.min.css +2 -2
  78. package/dist/components/modal.min.js +1 -1
  79. package/dist/components/nag.css +1 -1
  80. package/dist/components/nag.js +520 -529
  81. package/dist/components/nag.min.css +1 -1
  82. package/dist/components/nag.min.js +1 -1
  83. package/dist/components/placeholder.css +1 -1
  84. package/dist/components/placeholder.min.css +1 -1
  85. package/dist/components/popup.css +1 -1
  86. package/dist/components/popup.js +1439 -1456
  87. package/dist/components/popup.min.css +1 -1
  88. package/dist/components/popup.min.js +1 -1
  89. package/dist/components/progress.css +1 -1
  90. package/dist/components/progress.js +971 -997
  91. package/dist/components/progress.min.css +1 -1
  92. package/dist/components/progress.min.js +1 -1
  93. package/dist/components/rail.css +1 -1
  94. package/dist/components/rail.min.css +1 -1
  95. package/dist/components/rating.css +1 -1
  96. package/dist/components/rating.js +508 -524
  97. package/dist/components/rating.min.css +1 -1
  98. package/dist/components/rating.min.js +1 -1
  99. package/dist/components/reset.css +1 -1
  100. package/dist/components/reset.min.css +1 -1
  101. package/dist/components/reveal.css +1 -1
  102. package/dist/components/reveal.min.css +1 -1
  103. package/dist/components/search.css +3 -1
  104. package/dist/components/search.js +1500 -1534
  105. package/dist/components/search.min.css +2 -2
  106. package/dist/components/search.min.js +1 -1
  107. package/dist/components/segment.css +3 -1
  108. package/dist/components/segment.min.css +2 -2
  109. package/dist/components/shape.css +1 -1
  110. package/dist/components/shape.js +794 -809
  111. package/dist/components/shape.min.css +1 -1
  112. package/dist/components/shape.min.js +1 -1
  113. package/dist/components/sidebar.css +3 -1
  114. package/dist/components/sidebar.js +1079 -1104
  115. package/dist/components/sidebar.min.css +2 -2
  116. package/dist/components/sidebar.min.js +1 -1
  117. package/dist/components/site.css +1 -1
  118. package/dist/components/site.js +457 -472
  119. package/dist/components/site.min.css +1 -1
  120. package/dist/components/site.min.js +1 -1
  121. package/dist/components/slider.js +1289 -1311
  122. package/dist/components/slider.min.js +1 -1
  123. package/dist/components/state.js +641 -657
  124. package/dist/components/state.min.js +1 -1
  125. package/dist/components/statistic.css +1 -1
  126. package/dist/components/statistic.min.css +1 -1
  127. package/dist/components/step.css +1 -1
  128. package/dist/components/step.min.css +1 -1
  129. package/dist/components/sticky.css +1 -1
  130. package/dist/components/sticky.js +859 -903
  131. package/dist/components/sticky.min.css +1 -1
  132. package/dist/components/sticky.min.js +1 -1
  133. package/dist/components/tab.css +1 -1
  134. package/dist/components/tab.js +923 -963
  135. package/dist/components/tab.min.css +1 -1
  136. package/dist/components/tab.min.js +1 -1
  137. package/dist/components/table.css +5 -1
  138. package/dist/components/table.min.css +2 -2
  139. package/dist/components/text.css +1 -1
  140. package/dist/components/text.min.css +1 -1
  141. package/dist/components/toast.css +1 -1
  142. package/dist/components/toast.js +889 -891
  143. package/dist/components/toast.min.css +1 -1
  144. package/dist/components/toast.min.js +1 -1
  145. package/dist/components/transition.css +1 -1
  146. package/dist/components/transition.js +1043 -1077
  147. package/dist/components/transition.min.css +1 -1
  148. package/dist/components/transition.min.js +1 -1
  149. package/dist/components/visibility.js +1222 -1244
  150. package/dist/components/visibility.min.js +1 -1
  151. package/dist/semantic.css +84 -60
  152. package/dist/semantic.js +29033 -29475
  153. package/dist/semantic.min.css +2 -2
  154. package/dist/semantic.min.js +2 -2
  155. package/examples/assets/show-examples.js +13 -13
  156. package/gulpfile.js +9 -10
  157. package/package.json +5 -2
  158. package/scripts/nightly-version.js +81 -75
  159. package/src/definitions/behaviors/api.js +1163 -1185
  160. package/src/definitions/behaviors/form.js +1980 -2003
  161. package/src/definitions/behaviors/state.js +647 -663
  162. package/src/definitions/behaviors/visibility.js +1221 -1243
  163. package/src/definitions/collections/table.less +2 -0
  164. package/src/definitions/elements/container.less +1 -0
  165. package/src/definitions/elements/segment.less +1 -0
  166. package/src/definitions/globals/site.js +456 -471
  167. package/src/definitions/modules/accordion.js +570 -597
  168. package/src/definitions/modules/calendar.js +1896 -1817
  169. package/src/definitions/modules/checkbox.js +849 -846
  170. package/src/definitions/modules/dimmer.js +709 -736
  171. package/src/definitions/modules/dropdown.js +4162 -4233
  172. package/src/definitions/modules/dropdown.less +5 -8
  173. package/src/definitions/modules/embed.js +652 -674
  174. package/src/definitions/modules/flyout.js +1465 -1466
  175. package/src/definitions/modules/flyout.less +15 -12
  176. package/src/definitions/modules/modal.js +1492 -1486
  177. package/src/definitions/modules/modal.less +3 -0
  178. package/src/definitions/modules/nag.js +519 -528
  179. package/src/definitions/modules/popup.js +1438 -1455
  180. package/src/definitions/modules/progress.js +970 -996
  181. package/src/definitions/modules/rating.js +507 -523
  182. package/src/definitions/modules/search.js +1499 -1533
  183. package/src/definitions/modules/search.less +1 -0
  184. package/src/definitions/modules/shape.js +801 -816
  185. package/src/definitions/modules/sidebar.js +1078 -1103
  186. package/src/definitions/modules/sidebar.less +1 -0
  187. package/src/definitions/modules/slider.js +1288 -1310
  188. package/src/definitions/modules/sticky.js +875 -919
  189. package/src/definitions/modules/tab.js +922 -962
  190. package/src/definitions/modules/toast.js +888 -890
  191. package/src/definitions/modules/transition.js +1048 -1082
  192. package/src/themes/default/elements/container.variables +0 -7
  193. package/src/themes/default/elements/segment.variables +0 -7
  194. package/src/themes/default/globals/site.variables +7 -0
  195. package/src/themes/default/globals/variation.variables +1 -0
  196. package/tasks/admin/components/create.js +274 -276
  197. package/tasks/admin/components/init.js +123 -130
  198. package/tasks/admin/components/update.js +149 -157
  199. package/tasks/admin/distributions/create.js +184 -187
  200. package/tasks/admin/distributions/init.js +123 -130
  201. package/tasks/admin/distributions/update.js +145 -152
  202. package/tasks/admin/publish.js +5 -7
  203. package/tasks/admin/register.js +36 -38
  204. package/tasks/admin/release.js +8 -10
  205. package/tasks/build/assets.js +42 -39
  206. package/tasks/build/css.js +225 -216
  207. package/tasks/build/javascript.js +118 -113
  208. package/tasks/build.js +10 -10
  209. package/tasks/check-install.js +14 -16
  210. package/tasks/clean.js +5 -5
  211. package/tasks/collections/admin.js +34 -36
  212. package/tasks/collections/build.js +18 -20
  213. package/tasks/collections/docs.js +9 -11
  214. package/tasks/collections/install.js +9 -11
  215. package/tasks/collections/rtl.js +9 -11
  216. package/tasks/collections/various.js +8 -10
  217. package/tasks/config/admin/github.js +17 -17
  218. package/tasks/config/admin/oauth.example.js +4 -4
  219. package/tasks/config/admin/release.js +98 -98
  220. package/tasks/config/admin/templates/component-package.js +9 -10
  221. package/tasks/config/admin/templates/css-package.js +18 -20
  222. package/tasks/config/admin/templates/less-package.js +11 -13
  223. package/tasks/config/defaults.js +116 -116
  224. package/tasks/config/docs.js +23 -23
  225. package/tasks/config/npm/gulpfile.js +8 -9
  226. package/tasks/config/project/config.js +127 -134
  227. package/tasks/config/project/install.js +715 -713
  228. package/tasks/config/project/release.js +32 -38
  229. package/tasks/config/tasks.js +163 -164
  230. package/tasks/config/user.js +23 -29
  231. package/tasks/docs/build.js +97 -95
  232. package/tasks/docs/metadata.js +90 -96
  233. package/tasks/docs/serve.js +80 -81
  234. package/tasks/install.js +370 -378
  235. package/tasks/rtl/build.js +2 -2
  236. package/tasks/rtl/watch.js +2 -2
  237. package/tasks/version.js +4 -4
  238. package/tasks/watch.js +28 -30
  239. package/test/meteor/assets.js +10 -13
  240. package/test/meteor/fonts.js +12 -13
  241. package/test/modules/accordion.spec.js +6 -8
  242. package/test/modules/checkbox.spec.js +5 -7
  243. package/test/modules/dropdown.spec.js +5 -7
  244. package/test/modules/modal.spec.js +6 -8
  245. package/test/modules/module.spec.js +158 -178
  246. package/test/modules/popup.spec.js +5 -7
  247. package/test/modules/search.spec.js +5 -7
  248. package/test/modules/shape.spec.js +5 -7
  249. package/test/modules/sidebar.spec.js +5 -7
  250. package/test/modules/tab.spec.js +6 -8
  251. package/test/modules/transition.spec.js +5 -7
  252. 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
  };