fomantic-ui 2.10.0-beta.1 → 2.10.0-beta.11

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 (291) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/.eslintrc.js +0 -10
  3. package/CONTRIBUTING.md +4 -1
  4. package/CONTRIBUTORS.md +1 -0
  5. package/FAQ.md +7 -2
  6. package/README.md +5 -9
  7. package/ROADMAP.md +4 -4
  8. package/SECURITY.md +8 -7
  9. package/changelog-setup.js +64 -70
  10. package/dist/components/accordion.css +1 -1
  11. package/dist/components/accordion.js +103 -142
  12. package/dist/components/accordion.min.css +1 -1
  13. package/dist/components/accordion.min.js +2 -2
  14. package/dist/components/ad.css +1 -1
  15. package/dist/components/ad.min.css +1 -1
  16. package/dist/components/api.js +157 -210
  17. package/dist/components/api.min.js +2 -2
  18. package/dist/components/breadcrumb.css +1 -1
  19. package/dist/components/breadcrumb.min.css +1 -1
  20. package/dist/components/button.css +1 -2
  21. package/dist/components/button.min.css +2 -2
  22. package/dist/components/calendar.css +1 -2
  23. package/dist/components/calendar.js +314 -352
  24. package/dist/components/calendar.min.css +2 -2
  25. package/dist/components/calendar.min.js +2 -2
  26. package/dist/components/card.css +1 -1
  27. package/dist/components/card.min.css +1 -1
  28. package/dist/components/checkbox.css +1 -2
  29. package/dist/components/checkbox.js +85 -135
  30. package/dist/components/checkbox.min.css +2 -2
  31. package/dist/components/checkbox.min.js +2 -2
  32. package/dist/components/comment.css +1 -1
  33. package/dist/components/comment.min.css +1 -1
  34. package/dist/components/container.css +2 -4
  35. package/dist/components/container.min.css +2 -2
  36. package/dist/components/dimmer.css +1 -11
  37. package/dist/components/dimmer.js +61 -94
  38. package/dist/components/dimmer.min.css +2 -2
  39. package/dist/components/dimmer.min.js +2 -2
  40. package/dist/components/divider.css +1 -2
  41. package/dist/components/divider.min.css +2 -2
  42. package/dist/components/dropdown.css +30 -51
  43. package/dist/components/dropdown.js +736 -1055
  44. package/dist/components/dropdown.min.css +2 -2
  45. package/dist/components/dropdown.min.js +2 -2
  46. package/dist/components/embed.css +1 -1
  47. package/dist/components/embed.js +85 -114
  48. package/dist/components/embed.min.css +1 -1
  49. package/dist/components/embed.min.js +2 -2
  50. package/dist/components/emoji.css +3809 -7617
  51. package/dist/components/emoji.min.css +2 -2
  52. package/dist/components/feed.css +1 -1
  53. package/dist/components/feed.min.css +1 -1
  54. package/dist/components/flag.css +1 -1
  55. package/dist/components/flag.min.css +1 -1
  56. package/dist/components/flyout.css +2 -3
  57. package/dist/components/flyout.js +226 -355
  58. package/dist/components/flyout.min.css +2 -2
  59. package/dist/components/flyout.min.js +2 -2
  60. package/dist/components/form.css +5 -95
  61. package/dist/components/form.js +335 -444
  62. package/dist/components/form.min.css +2 -2
  63. package/dist/components/form.min.js +2 -2
  64. package/dist/components/grid.css +2 -58
  65. package/dist/components/grid.min.css +2 -2
  66. package/dist/components/header.css +1 -1
  67. package/dist/components/header.min.css +1 -1
  68. package/dist/components/icon.css +4 -4
  69. package/dist/components/icon.min.css +2 -2
  70. package/dist/components/image.css +1 -1
  71. package/dist/components/image.min.css +1 -1
  72. package/dist/components/input.css +1 -536
  73. package/dist/components/input.min.css +2 -2
  74. package/dist/components/item.css +1 -1
  75. package/dist/components/item.min.css +1 -1
  76. package/dist/components/label.css +1 -1
  77. package/dist/components/label.min.css +1 -1
  78. package/dist/components/list.css +1 -3
  79. package/dist/components/list.min.css +2 -2
  80. package/dist/components/loader.css +1 -1
  81. package/dist/components/loader.min.css +1 -1
  82. package/dist/components/menu.css +40 -48
  83. package/dist/components/menu.min.css +2 -2
  84. package/dist/components/message.css +1 -1
  85. package/dist/components/message.min.css +1 -1
  86. package/dist/components/modal.css +5 -9
  87. package/dist/components/modal.js +261 -384
  88. package/dist/components/modal.min.css +2 -2
  89. package/dist/components/modal.min.js +2 -2
  90. package/dist/components/nag.css +1 -1
  91. package/dist/components/nag.js +68 -98
  92. package/dist/components/nag.min.css +1 -1
  93. package/dist/components/nag.min.js +2 -2
  94. package/dist/components/placeholder.css +1 -1
  95. package/dist/components/placeholder.min.css +1 -1
  96. package/dist/components/popup.css +1 -2
  97. package/dist/components/popup.js +198 -271
  98. package/dist/components/popup.min.css +2 -2
  99. package/dist/components/popup.min.js +2 -2
  100. package/dist/components/progress.css +1 -1
  101. package/dist/components/progress.js +109 -144
  102. package/dist/components/progress.min.css +1 -1
  103. package/dist/components/progress.min.js +2 -2
  104. package/dist/components/rail.css +1 -1
  105. package/dist/components/rail.min.css +1 -1
  106. package/dist/components/rating.css +1 -1
  107. package/dist/components/rating.js +91 -123
  108. package/dist/components/rating.min.css +1 -1
  109. package/dist/components/rating.min.js +2 -2
  110. package/dist/components/reset.css +1 -1
  111. package/dist/components/reset.min.css +1 -1
  112. package/dist/components/reveal.css +1 -1
  113. package/dist/components/reveal.min.css +1 -1
  114. package/dist/components/search.css +2 -9
  115. package/dist/components/search.js +277 -379
  116. package/dist/components/search.min.css +2 -2
  117. package/dist/components/search.min.js +2 -2
  118. package/dist/components/segment.css +2 -7
  119. package/dist/components/segment.min.css +2 -2
  120. package/dist/components/shape.css +1 -2
  121. package/dist/components/shape.js +158 -224
  122. package/dist/components/shape.min.css +2 -2
  123. package/dist/components/shape.min.js +2 -2
  124. package/dist/components/sidebar.css +2 -3
  125. package/dist/components/sidebar.js +124 -206
  126. package/dist/components/sidebar.min.css +2 -2
  127. package/dist/components/sidebar.min.js +2 -2
  128. package/dist/components/site.css +9 -25
  129. package/dist/components/site.js +38 -57
  130. package/dist/components/site.min.css +2 -2
  131. package/dist/components/site.min.js +2 -2
  132. package/dist/components/slider.css +1 -1
  133. package/dist/components/slider.js +246 -329
  134. package/dist/components/slider.min.css +1 -1
  135. package/dist/components/slider.min.js +2 -2
  136. package/dist/components/state.js +70 -100
  137. package/dist/components/state.min.js +2 -2
  138. package/dist/components/statistic.css +1 -1
  139. package/dist/components/statistic.min.css +1 -1
  140. package/dist/components/step.css +1 -1
  141. package/dist/components/step.min.css +1 -1
  142. package/dist/components/sticky.css +1 -1
  143. package/dist/components/sticky.js +135 -180
  144. package/dist/components/sticky.min.css +1 -1
  145. package/dist/components/sticky.min.js +2 -2
  146. package/dist/components/tab.css +1 -1
  147. package/dist/components/tab.js +176 -244
  148. package/dist/components/tab.min.css +1 -1
  149. package/dist/components/tab.min.js +2 -2
  150. package/dist/components/table.css +3 -37
  151. package/dist/components/table.min.css +2 -2
  152. package/dist/components/text.css +1 -1
  153. package/dist/components/text.min.css +1 -1
  154. package/dist/components/toast.css +1 -3
  155. package/dist/components/toast.js +109 -147
  156. package/dist/components/toast.min.css +1 -1
  157. package/dist/components/toast.min.js +2 -2
  158. package/dist/components/transition.css +1 -1
  159. package/dist/components/transition.js +91 -146
  160. package/dist/components/transition.min.css +1 -1
  161. package/dist/components/transition.min.js +2 -2
  162. package/dist/components/visibility.js +146 -224
  163. package/dist/components/visibility.min.js +2 -2
  164. package/dist/semantic.css +3945 -8759
  165. package/dist/semantic.js +4397 -6155
  166. package/dist/semantic.min.css +2 -2
  167. package/dist/semantic.min.js +2 -2
  168. package/examples/assets/show-examples.js +2 -4
  169. package/examples/attached.html +1 -1
  170. package/examples/components/menu.html +1 -1
  171. package/gulpfile.js +5 -7
  172. package/package.json +3 -5
  173. package/scripts/nightly-version.js +7 -10
  174. package/src/README.md +3 -3
  175. package/src/definitions/behaviors/api.js +156 -209
  176. package/src/definitions/behaviors/form.js +334 -443
  177. package/src/definitions/behaviors/state.js +69 -99
  178. package/src/definitions/behaviors/visibility.js +145 -223
  179. package/src/definitions/collections/form.less +1 -13
  180. package/src/definitions/collections/grid.less +1 -61
  181. package/src/definitions/collections/menu.less +101 -107
  182. package/src/definitions/collections/table.less +1 -35
  183. package/src/definitions/elements/input.less +1 -61
  184. package/src/definitions/elements/segment.less +0 -6
  185. package/src/definitions/globals/site.js +37 -56
  186. package/src/definitions/globals/site.less +2 -18
  187. package/src/definitions/modules/accordion.js +102 -141
  188. package/src/definitions/modules/calendar.js +313 -351
  189. package/src/definitions/modules/checkbox.js +84 -134
  190. package/src/definitions/modules/dimmer.js +60 -93
  191. package/src/definitions/modules/dimmer.less +0 -9
  192. package/src/definitions/modules/dropdown.js +735 -1054
  193. package/src/definitions/modules/dropdown.less +31 -47
  194. package/src/definitions/modules/embed.js +84 -113
  195. package/src/definitions/modules/flyout.js +225 -354
  196. package/src/definitions/modules/modal.js +260 -383
  197. package/src/definitions/modules/modal.less +1 -1
  198. package/src/definitions/modules/nag.js +67 -97
  199. package/src/definitions/modules/popup.js +197 -270
  200. package/src/definitions/modules/progress.js +108 -143
  201. package/src/definitions/modules/rating.js +90 -122
  202. package/src/definitions/modules/search.js +276 -378
  203. package/src/definitions/modules/search.less +0 -3
  204. package/src/definitions/modules/shape.js +157 -223
  205. package/src/definitions/modules/sidebar.js +123 -205
  206. package/src/definitions/modules/slider.js +245 -328
  207. package/src/definitions/modules/slider.less +1 -1
  208. package/src/definitions/modules/sticky.js +134 -179
  209. package/src/definitions/modules/tab.js +175 -243
  210. package/src/definitions/modules/toast.js +108 -146
  211. package/src/definitions/modules/toast.less +1 -1
  212. package/src/definitions/modules/transition.js +90 -145
  213. package/src/theme.less +0 -13
  214. package/src/themes/basic/elements/icon.variables +1 -1
  215. package/src/themes/chubby/collections/menu.variables +1 -1
  216. package/src/themes/default/collections/grid.variables +0 -30
  217. package/src/themes/default/collections/menu.variables +23 -23
  218. package/src/themes/default/collections/table.variables +1 -5
  219. package/src/themes/default/elements/icon.variables +3 -3
  220. package/src/themes/default/globals/site.variables +8 -15
  221. package/src/themes/default/globals/variation.variables +3 -3
  222. package/src/themes/default/modules/dropdown.variables +1 -0
  223. package/src/themes/default/modules/slider.variables +1 -1
  224. package/src/themes/github/elements/icon.variables +1 -1
  225. package/src/themes/material/elements/icon.variables +1 -1
  226. package/tasks/README.md +1 -1
  227. package/tasks/admin/components/create.js +89 -122
  228. package/tasks/admin/components/init.js +34 -65
  229. package/tasks/admin/components/update.js +50 -61
  230. package/tasks/admin/distributions/create.js +71 -111
  231. package/tasks/admin/distributions/init.js +32 -63
  232. package/tasks/admin/distributions/update.js +49 -57
  233. package/tasks/admin/publish.js +1 -1
  234. package/tasks/admin/register.js +14 -19
  235. package/tasks/admin/release.js +2 -2
  236. package/tasks/build/assets.js +14 -18
  237. package/tasks/build/css.js +59 -68
  238. package/tasks/build/javascript.js +48 -56
  239. package/tasks/build.js +4 -6
  240. package/tasks/check-install.js +5 -8
  241. package/tasks/clean.js +5 -7
  242. package/tasks/collections/admin.js +14 -16
  243. package/tasks/collections/build.js +6 -8
  244. package/tasks/collections/docs.js +4 -6
  245. package/tasks/collections/install.js +2 -4
  246. package/tasks/collections/rtl.js +2 -4
  247. package/tasks/collections/various.js +2 -4
  248. package/tasks/config/admin/github.js +9 -19
  249. package/tasks/config/admin/templates/README.md +2 -2
  250. package/tasks/config/admin/templates/bower.json +2 -4
  251. package/tasks/config/admin/templates/composer.json +1 -1
  252. package/tasks/config/admin/templates/css-package.js +1 -4
  253. package/tasks/config/admin/templates/less-package.js +1 -3
  254. package/tasks/config/defaults.js +0 -1
  255. package/tasks/config/npm/gulpfile.js +4 -6
  256. package/tasks/config/project/config.js +27 -35
  257. package/tasks/config/project/install.js +64 -82
  258. package/tasks/config/project/release.js +7 -9
  259. package/tasks/config/tasks.js +10 -21
  260. package/tasks/config/user.js +14 -20
  261. package/tasks/docs/build.js +26 -31
  262. package/tasks/docs/metadata.js +30 -39
  263. package/tasks/docs/serve.js +23 -27
  264. package/tasks/install.js +94 -128
  265. package/tasks/rtl/build.js +2 -4
  266. package/tasks/rtl/watch.js +3 -5
  267. package/tasks/watch.js +13 -13
  268. package/test/meteor/fonts.js +1 -2
  269. package/test/modules/module.spec.js +16 -18
  270. package/types/fomantic-ui-calendar.d.ts +1 -1
  271. package/types/fomantic-ui-dropdown.d.ts +45 -1
  272. package/types/fomantic-ui-embed.d.ts +1 -1
  273. package/types/fomantic-ui-flyout.d.ts +1 -1
  274. package/types/fomantic-ui-form.d.ts +0 -7
  275. package/types/fomantic-ui-modal.d.ts +1 -1
  276. package/types/fomantic-ui-search.d.ts +12 -6
  277. package/types/fomantic-ui-toast.d.ts +1 -1
  278. package/src/themes/basic/assets/fonts/icons.woff +0 -0
  279. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  280. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  281. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  282. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  283. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  284. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  285. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  286. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  287. package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
  288. package/src/themes/default/assets/fonts/icons.woff +0 -0
  289. package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
  290. package/src/themes/github/assets/fonts/octicons.woff +0 -0
  291. package/src/themes/material/assets/fonts/icons.woff +0 -0
@@ -8,41 +8,36 @@
8
8
 
9
9
  * Commits changes from create repo
10
10
  * Pushes changes to GitHub
11
- * Tag new releases if version changed in main repo
11
+ * Tag new releases if the version changed in main repo
12
12
 
13
13
  */
14
14
 
15
- const
16
- // node dependencies
17
- fs = require('fs'),
18
- path = require('path'),
19
- console = require('@fomantic/better-console'),
20
- gulp = require('gulp'),
21
- git = require('@fomantic/gulp-git'),
15
+ // node dependencies
16
+ const fs = require('node:fs');
17
+ const path = require('node:path');
18
+ const console = require('@fomantic/better-console');
19
+ const gulp = require('gulp');
20
+ const git = require('@fomantic/gulp-git');
22
21
 
23
- // admin files
24
- release = require('../../config/admin/release'),
25
- project = require('../../config/project/release'),
22
+ // admin files
23
+ const release = require('../../config/admin/release');
24
+ const project = require('../../config/project/release');
26
25
 
27
- // oAuth configuration for GitHub
28
- oAuth = fs.existsSync(path.join(__dirname, '/../../config/admin/oauth.js'))
29
- ? require('../../config/admin/oauth.js') // eslint-disable-line import/extensions
30
- : false,
26
+ // oAuth configuration for GitHub
27
+ const oAuth = fs.existsSync(path.join(__dirname, '/../../config/admin/oauth.js'))
28
+ ? require('../../config/admin/oauth.js') // eslint-disable-line import/extensions
29
+ : false;
31
30
 
32
- // shorthand
33
- version = project.version
34
- ;
31
+ // shorthand
32
+ const version = project.version;
35
33
 
36
34
  module.exports = function (callback) {
37
35
  const github = require('../../config/admin/github'); // eslint-disable-line global-require
38
36
 
39
- let
40
- index = -1,
41
- total = release.components.length,
42
- timer,
43
- stream,
44
- stepRepo
45
- ;
37
+ let index = -1;
38
+ let total = release.components.length;
39
+ let timer;
40
+ let stepRepo;
46
41
 
47
42
  if (!oAuth) {
48
43
  console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
@@ -50,7 +45,7 @@ module.exports = function (callback) {
50
45
  return;
51
46
  }
52
47
 
53
- // Do Git commands synchronously per component, to avoid issues
48
+ // Do the Git commands synchronously per component, to avoid issues
54
49
  stepRepo = function () {
55
50
  index += 1;
56
51
  if (index >= total) {
@@ -59,41 +54,36 @@ module.exports = function (callback) {
59
54
  return;
60
55
  }
61
56
 
62
- let
63
- component = release.components[index],
64
- outputDirectory = path.resolve(path.join(release.outputRoot, component)),
65
- capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1),
66
- repoName = release.componentRepoRoot + capitalizedComponent,
57
+ let component = release.components[index];
58
+ let outputDirectory = path.resolve(path.join(release.outputRoot, component));
59
+ let capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1);
60
+ let repoName = release.componentRepoRoot + capitalizedComponent;
67
61
 
68
- gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git',
69
- repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
62
+ let commitArgs = oAuth.name !== undefined && oAuth.email !== undefined
63
+ ? '--author "' + oAuth.name + ' <' + oAuth.email + '>"'
64
+ : '';
70
65
 
71
- commitArgs = oAuth.name !== undefined && oAuth.email !== undefined
72
- ? '--author "' + oAuth.name + ' <' + oAuth.email + '>"'
73
- : '',
66
+ let componentPackage = fs.existsSync(outputDirectory + 'package.json')
67
+ ? require(outputDirectory + 'package.json') // eslint-disable-line global-require, import/no-dynamic-require
68
+ : false;
74
69
 
75
- componentPackage = fs.existsSync(outputDirectory + 'package.json')
76
- ? require(outputDirectory + 'package.json') // eslint-disable-line global-require, import/no-dynamic-require
77
- : false,
70
+ let isNewVersion = version && componentPackage.version !== version;
78
71
 
79
- isNewVersion = version && componentPackage.version !== version,
72
+ let commitMessage = isNewVersion
73
+ ? 'Updated component to version ' + version
74
+ : 'Updated files from main repo';
80
75
 
81
- commitMessage = isNewVersion
82
- ? 'Updated component to version ' + version
83
- : 'Updated files from main repo',
76
+ let gitOptions = { cwd: outputDirectory };
77
+ let commitOptions = { args: commitArgs, cwd: outputDirectory };
78
+ let releaseOptions = { tag_name: version, owner: release.org, repo: repoName };
84
79
 
85
- gitOptions = { cwd: outputDirectory },
86
- commitOptions = { args: commitArgs, cwd: outputDirectory },
87
- releaseOptions = { tag_name: version, owner: release.org, repo: repoName },
80
+ let fileModeOptions = { args: 'config core.fileMode false', cwd: outputDirectory };
81
+ let usernameOptions = { args: 'config user.name "' + oAuth.name + '"', cwd: outputDirectory };
82
+ let emailOptions = { args: 'config user.email "' + oAuth.email + '"', cwd: outputDirectory };
83
+ let versionOptions = { args: 'rev-parse --verify HEAD', cwd: outputDirectory };
88
84
 
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
- ;
85
+ let localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git'));
86
+ let canProceed = true;
97
87
 
98
88
  console.info('Processing repository:' + outputDirectory);
99
89
 
@@ -114,24 +104,23 @@ module.exports = function (callback) {
114
104
  gulp.src('./', gitOptions)
115
105
  .pipe(git.add(gitOptions))
116
106
  .pipe(git.commit(commitMessage, commitOptions), function () {})
117
- .on('error', function (error) {
107
+ .on('error', function () {
118
108
  // canProceed = false; bug in git commit <https://github.com/stevelacy/gulp-git/issues/49>
119
109
  })
120
- .on('finish', function (callback) {
110
+ .on('finish', function () {
121
111
  if (canProceed) {
122
112
  pushFiles();
123
113
  } else {
124
114
  console.info('Nothing new to commit');
125
115
  nextRepo();
126
116
  }
127
- })
128
- ;
117
+ });
129
118
  }
130
119
 
131
120
  // push changes to remote
132
121
  function pushFiles() {
133
122
  console.info('Pushing files for ' + component);
134
- git.push('origin', 'master', { args: '', cwd: outputDirectory }, function (error) {
123
+ git.push('origin', 'master', { args: '', cwd: outputDirectory }, function () {
135
124
  console.info('Push completed successfully');
136
125
  getSHA();
137
126
  });
@@ -152,10 +141,10 @@ module.exports = function (callback) {
152
141
  }
153
142
  github.repos.createRelease(releaseOptions, function () {
154
143
  nextRepo();
155
- });
144
+ }).then();
156
145
  }
157
146
 
158
- // Steps to next repository
147
+ // Steps to the next repository
159
148
  function nextRepo() {
160
149
  console.log('Sleeping for 1 second...');
161
150
  // avoid rate throttling
@@ -9,88 +9,66 @@
9
9
  * update package.json file
10
10
  */
11
11
 
12
- const
13
- // node dependencies
14
- fs = require('fs'),
15
- path = require('path'),
16
- gulp = require('gulp'),
17
- mergeStream = require('merge-stream'),
18
-
19
- // admin dependencies
20
- flatten = require('gulp-flatten'),
21
- jsonEditor = require('gulp-json-editor'),
22
- plumber = require('@fomantic/gulp-plumber'),
23
- rename = require('gulp-rename'),
24
- replace = require('gulp-replace'),
25
-
26
- // config
27
- config = require('../../config/user'),
28
- release = require('../../config/admin/release'),
29
- project = require('../../config/project/release'),
30
-
31
- // shorthand
32
- version = project.version,
33
- output = config.paths.output
34
- ;
12
+ // node dependencies
13
+ const fs = require('node:fs');
14
+ const path = require('node:path');
15
+ const gulp = require('gulp');
16
+ const mergeStream = require('merge-stream');
17
+
18
+ // admin dependencies
19
+ const flatten = require('gulp-flatten');
20
+ const jsonEditor = require('gulp-json-editor');
21
+ const plumber = require('@fomantic/gulp-plumber');
22
+ const rename = require('gulp-rename');
23
+ const replace = require('gulp-replace');
24
+
25
+ // config
26
+ const release = require('../../config/admin/release');
27
+ const project = require('../../config/project/release');
28
+
29
+ // shorthand
30
+ const version = project.version;
35
31
 
36
32
  module.exports = function (callback) {
37
- let
38
- stream,
39
- index,
40
- tasks = []
41
- ;
33
+ let index;
34
+ let tasks = [];
42
35
 
43
36
  for (index in release.distributions) {
44
- let
45
- distribution = release.distributions[index]
46
- ;
37
+ let distribution = release.distributions[index];
47
38
 
48
39
  // streams... designed to save time and make coding fun...
49
40
  (function (distribution) {
50
- let
51
- distLowerCase = distribution.toLowerCase(),
52
- outputDirectory = path.join(release.outputRoot, distLowerCase),
53
- packageFile = path.join(outputDirectory, release.files.npm),
54
- repoName = release.distRepoRoot + distribution,
55
- regExp = {
56
- match: {
57
- files: '{files}',
58
- version: '{version}',
59
- },
41
+ let distLowerCase = distribution.toLowerCase();
42
+ let outputDirectory = path.join(release.outputRoot, distLowerCase);
43
+ let packageFile = path.join(outputDirectory, release.files.npm);
44
+ let regExp = {
45
+ match: {
46
+ files: '{files}',
47
+ version: '{version}',
60
48
  },
61
- task = {
62
- all: distribution + ' copying files',
63
- repo: distribution + ' create repo',
64
- meteor: distribution + ' create meteor package.js',
65
- package: distribution + ' create package.json',
66
- },
67
- gatherFiles,
68
- createList
69
- ;
49
+ };
50
+ let gatherFiles;
51
+ let createList;
70
52
 
71
53
  // get files for meteor
72
54
  gatherFiles = function (dir) {
73
55
  dir = dir || path.resolve('.');
74
- let
75
- list = fs.readdirSync(dir),
76
- omitted = [
77
- '.git',
78
- 'node_modules',
79
- 'package.js',
80
- 'LICENSE',
81
- 'README.md',
82
- 'package.json',
83
- 'bower.json',
84
- '.gitignore',
85
- ],
86
- files = []
87
- ;
56
+ let list = fs.readdirSync(dir);
57
+ let omitted = [
58
+ '.git',
59
+ 'node_modules',
60
+ 'package.js',
61
+ 'LICENSE',
62
+ 'README.md',
63
+ 'package.json',
64
+ 'bower.json',
65
+ '.gitignore',
66
+ ];
67
+ let files = [];
88
68
  list.forEach(function (file) {
89
- let
90
- isOmitted = omitted.indexOf(file) > -1,
91
- filePath = path.join(dir, file),
92
- stat = fs.statSync(filePath)
93
- ;
69
+ let isOmitted = omitted.indexOf(file) > -1;
70
+ let filePath = path.join(dir, file);
71
+ let stat = fs.statSync(filePath);
94
72
  if (!isOmitted) {
95
73
  if (stat && stat.isDirectory()) {
96
74
  files = files.concat(gatherFiles(filePath));
@@ -115,71 +93,54 @@ module.exports = function (callback) {
115
93
  };
116
94
 
117
95
  tasks.push(function () {
118
- let
119
- files = gatherFiles(outputDirectory),
120
- filenames = createList(files)
121
- ;
96
+ let files = gatherFiles(outputDirectory);
97
+ let filenames = createList(files);
122
98
  gulp.src(release.templates.meteor[distLowerCase])
123
99
  .pipe(plumber())
124
100
  .pipe(flatten())
125
101
  .pipe(replace(regExp.match.version, version))
126
102
  .pipe(replace(regExp.match.files, filenames))
127
103
  .pipe(rename(release.files.meteor))
128
- .pipe(gulp.dest(outputDirectory))
129
- ;
104
+ .pipe(gulp.dest(outputDirectory));
130
105
  });
131
106
 
132
107
  if (distribution === 'CSS') {
133
108
  tasks.push(function () {
134
- let
135
- themes,
136
- components,
137
- releases
138
- ;
109
+ let themes;
110
+ let components;
111
+ let releases;
139
112
  themes = gulp.src('dist/themes/default/**/*', { base: 'dist/', encoding: false })
140
- .pipe(gulp.dest(outputDirectory))
141
- ;
113
+ .pipe(gulp.dest(outputDirectory));
142
114
  components = gulp.src('dist/components/*', { base: 'dist/' })
143
- .pipe(gulp.dest(outputDirectory))
144
- ;
115
+ .pipe(gulp.dest(outputDirectory));
145
116
  releases = gulp.src('dist/*', { base: 'dist/' })
146
- .pipe(gulp.dest(outputDirectory))
147
- ;
117
+ .pipe(gulp.dest(outputDirectory));
148
118
 
149
119
  return mergeStream(themes, components, releases);
150
120
  });
151
121
  } else if (distribution === 'LESS') {
152
122
  tasks.push(function () {
153
- let
154
- definitions,
155
- overridesImport,
156
- lessImport,
157
- themeImport,
158
- themeConfig,
159
- siteTheme,
160
- themes
161
- ;
123
+ let definitions;
124
+ let overridesImport;
125
+ let lessImport;
126
+ let themeImport;
127
+ let themeConfig;
128
+ let siteTheme;
129
+ let themes;
162
130
  definitions = gulp.src('src/definitions/**/*', { base: 'src/' })
163
- .pipe(gulp.dest(outputDirectory))
164
- ;
131
+ .pipe(gulp.dest(outputDirectory));
165
132
  overridesImport = gulp.src('src/overrides.less', { base: 'src/' })
166
- .pipe(gulp.dest(outputDirectory))
167
- ;
133
+ .pipe(gulp.dest(outputDirectory));
168
134
  lessImport = gulp.src('src/semantic.less', { base: 'src/' })
169
- .pipe(gulp.dest(outputDirectory))
170
- ;
135
+ .pipe(gulp.dest(outputDirectory));
171
136
  themeImport = gulp.src('src/theme.less', { base: 'src/' })
172
- .pipe(gulp.dest(outputDirectory))
173
- ;
137
+ .pipe(gulp.dest(outputDirectory));
174
138
  themeConfig = gulp.src('src/theme.config.example', { base: 'src/' })
175
- .pipe(gulp.dest(outputDirectory))
176
- ;
139
+ .pipe(gulp.dest(outputDirectory));
177
140
  siteTheme = gulp.src('src/_site/**/*', { base: 'src/' })
178
- .pipe(gulp.dest(outputDirectory))
179
- ;
141
+ .pipe(gulp.dest(outputDirectory));
180
142
  themes = gulp.src('src/themes/**/*', { base: 'src/', encoding: false })
181
- .pipe(gulp.dest(outputDirectory))
182
- ;
143
+ .pipe(gulp.dest(outputDirectory));
183
144
 
184
145
  return mergeStream(definitions, overridesImport, lessImport, themeImport, themeConfig, siteTheme, themes);
185
146
  });
@@ -196,8 +157,7 @@ module.exports = function (callback) {
196
157
 
197
158
  return pkg;
198
159
  }))
199
- .pipe(gulp.dest(outputDirectory))
200
- ;
160
+ .pipe(gulp.dest(outputDirectory));
201
161
  });
202
162
  })(distribution);
203
163
  }
@@ -7,44 +7,30 @@
7
7
  This task pulls the latest version of distribution from GitHub
8
8
 
9
9
  * Creates new repo if doesn't exist (locally & GitHub)
10
- * Adds remote it doesn't exists
10
+ * Adds remote it doesn't exist
11
11
  * Pulls latest changes from repo
12
12
 
13
13
  */
14
14
 
15
- const
16
- // node dependencies
17
- fs = require('fs'),
18
- path = require('path'),
19
- del = require('del'),
20
- console = require('@fomantic/better-console'),
21
- gulp = require('gulp'),
22
- git = require('@fomantic/gulp-git'),
23
- mkdirp = require('mkdirp'),
24
-
25
- // admin files
26
- release = require('../../config/admin/release'),
27
- project = require('../../config/project/release'),
28
-
29
- // oAuth configuration for GitHub
30
- oAuth = fs.existsSync(path.join(__dirname, '/../../config/admin/oauth.js'))
31
- ? require('../../config/admin/oauth.js') // eslint-disable-line import/extensions
32
- : false,
33
-
34
- // shorthand
35
- version = project.version
36
- ;
15
+ // node dependencies
16
+ const fs = require('fs-extra');
17
+ const path = require('node:path');
18
+ const console = require('@fomantic/better-console');
19
+ const git = require('@fomantic/gulp-git');
37
20
 
38
- module.exports = function (callback) {
39
- const github = require('../../config/admin/github'); // eslint-disable-line global-require
21
+ // admin files
22
+ const release = require('../../config/admin/release');
23
+
24
+ // oAuth configuration for GitHub
25
+ const oAuth = fs.pathExistsSync(path.join(__dirname, '/../../config/admin/oauth.js'))
26
+ ? require('../../config/admin/oauth.js') // eslint-disable-line import/extensions
27
+ : false;
40
28
 
41
- let
42
- index = -1,
43
- total = release.distributions.length,
44
- timer,
45
- stream,
46
- stepRepo
47
- ;
29
+ module.exports = function (callback) {
30
+ let index = -1;
31
+ let total = release.distributions.length;
32
+ let timer;
33
+ let stepRepo;
48
34
 
49
35
  if (!oAuth) {
50
36
  console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
@@ -62,31 +48,26 @@ module.exports = function (callback) {
62
48
  return;
63
49
  }
64
50
 
65
- let
66
- component = release.distributions[index],
67
- lowerCaseComponent = component.toLowerCase(),
68
- outputDirectory = path.resolve(release.outputRoot + lowerCaseComponent),
69
- repoName = release.distRepoRoot + component,
51
+ let component = release.distributions[index];
52
+ let lowerCaseComponent = component.toLowerCase();
53
+ let outputDirectory = path.resolve(release.outputRoot + lowerCaseComponent);
54
+ let repoName = release.distRepoRoot + component;
70
55
 
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
- ;
56
+ let gitOptions = { cwd: outputDirectory };
57
+ let pullOptions = { args: '-q', cwd: outputDirectory, quiet: true };
58
+ let resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true };
59
+ let gitURL = 'git@github.com:' + release.org + '/' + repoName + '.git';
60
+ let localRepoSetup = fs.pathExistsSync(path.join(outputDirectory, '.git'));
78
61
 
79
62
  console.log('Processing repository: ' + outputDirectory);
80
63
 
81
- // create folder if doesn't exist
82
- if (!fs.existsSync(outputDirectory)) {
83
- mkdirp.sync(outputDirectory);
84
- }
64
+ // create folder if it doesn't exist
65
+ fs.ensureDirSync(outputDirectory);
85
66
 
86
67
  // clean folder
87
68
  if (release.outputRoot.startsWith('../repos')) {
88
69
  console.info('Cleaning dir', outputDirectory);
89
- del.sync([outputDirectory + '**/*'], { silent: true, force: true });
70
+ fs.removeSync(outputDirectory);
90
71
  }
91
72
 
92
73
  // set-up local repo
@@ -108,17 +89,6 @@ module.exports = function (callback) {
108
89
  });
109
90
  }
110
91
 
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
- }
121
-
122
92
  function addRemote() {
123
93
  console.info('Adding remote origin as ' + gitURL);
124
94
  git.addRemote('origin', gitURL, gitOptions, function () {
@@ -128,14 +98,14 @@ module.exports = function (callback) {
128
98
 
129
99
  function pullFiles() {
130
100
  console.info('Pulling ' + component + ' files');
131
- git.pull('origin', 'master', pullOptions, function (error) {
101
+ git.pull('origin', 'master', pullOptions, function () {
132
102
  resetFiles();
133
103
  });
134
104
  }
135
105
 
136
106
  function resetFiles() {
137
107
  console.info('Resetting files to head');
138
- git.reset('HEAD', resetOptions, function (error) {
108
+ git.reset('HEAD', resetOptions, function () {
139
109
  nextRepo();
140
110
  });
141
111
  }
@@ -153,7 +123,6 @@ module.exports = function (callback) {
153
123
  pullFiles();
154
124
  } else {
155
125
  setupRepo();
156
- // createRepo() only use to create remote repo (easier to do manually)
157
126
  }
158
127
  };
159
128