fomantic-ui 2.10.0-beta.0 → 2.10.0-beta.10

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 (288) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/.eslintrc.js +0 -10
  3. package/.github/workflows/ci.yml +3 -3
  4. package/CONTRIBUTING.md +4 -1
  5. package/CONTRIBUTORS.md +1 -0
  6. package/FAQ.md +7 -2
  7. package/README.md +5 -9
  8. package/ROADMAP.md +4 -4
  9. package/SECURITY.md +8 -7
  10. package/changelog-setup.js +64 -70
  11. package/dist/components/accordion.css +1 -1
  12. package/dist/components/accordion.js +103 -142
  13. package/dist/components/accordion.min.css +1 -1
  14. package/dist/components/accordion.min.js +2 -2
  15. package/dist/components/ad.css +1 -1
  16. package/dist/components/ad.min.css +1 -1
  17. package/dist/components/api.js +157 -210
  18. package/dist/components/api.min.js +2 -2
  19. package/dist/components/breadcrumb.css +1 -1
  20. package/dist/components/breadcrumb.min.css +1 -1
  21. package/dist/components/button.css +1 -2
  22. package/dist/components/button.min.css +2 -2
  23. package/dist/components/calendar.css +1 -2
  24. package/dist/components/calendar.js +314 -352
  25. package/dist/components/calendar.min.css +2 -2
  26. package/dist/components/calendar.min.js +2 -2
  27. package/dist/components/card.css +1 -1
  28. package/dist/components/card.min.css +1 -1
  29. package/dist/components/checkbox.css +1 -2
  30. package/dist/components/checkbox.js +85 -135
  31. package/dist/components/checkbox.min.css +2 -2
  32. package/dist/components/checkbox.min.js +2 -2
  33. package/dist/components/comment.css +1 -1
  34. package/dist/components/comment.min.css +1 -1
  35. package/dist/components/container.css +2 -4
  36. package/dist/components/container.min.css +2 -2
  37. package/dist/components/dimmer.css +1 -11
  38. package/dist/components/dimmer.js +61 -94
  39. package/dist/components/dimmer.min.css +2 -2
  40. package/dist/components/dimmer.min.js +2 -2
  41. package/dist/components/divider.css +1 -2
  42. package/dist/components/divider.min.css +2 -2
  43. package/dist/components/dropdown.css +30 -51
  44. package/dist/components/dropdown.js +736 -1055
  45. package/dist/components/dropdown.min.css +2 -2
  46. package/dist/components/dropdown.min.js +2 -2
  47. package/dist/components/embed.css +1 -1
  48. package/dist/components/embed.js +85 -114
  49. package/dist/components/embed.min.css +1 -1
  50. package/dist/components/embed.min.js +2 -2
  51. package/dist/components/emoji.css +3809 -7617
  52. package/dist/components/emoji.min.css +2 -2
  53. package/dist/components/feed.css +1 -1
  54. package/dist/components/feed.min.css +1 -1
  55. package/dist/components/flag.css +1 -1
  56. package/dist/components/flag.min.css +1 -1
  57. package/dist/components/flyout.css +2 -3
  58. package/dist/components/flyout.js +226 -355
  59. package/dist/components/flyout.min.css +2 -2
  60. package/dist/components/flyout.min.js +2 -2
  61. package/dist/components/form.css +5 -95
  62. package/dist/components/form.js +335 -444
  63. package/dist/components/form.min.css +2 -2
  64. package/dist/components/form.min.js +2 -2
  65. package/dist/components/grid.css +2 -58
  66. package/dist/components/grid.min.css +2 -2
  67. package/dist/components/header.css +1 -1
  68. package/dist/components/header.min.css +1 -1
  69. package/dist/components/icon.css +4 -4
  70. package/dist/components/icon.min.css +2 -2
  71. package/dist/components/image.css +1 -1
  72. package/dist/components/image.min.css +1 -1
  73. package/dist/components/input.css +1 -536
  74. package/dist/components/input.min.css +2 -2
  75. package/dist/components/item.css +1 -1
  76. package/dist/components/item.min.css +1 -1
  77. package/dist/components/label.css +1 -1
  78. package/dist/components/label.min.css +1 -1
  79. package/dist/components/list.css +1 -3
  80. package/dist/components/list.min.css +2 -2
  81. package/dist/components/loader.css +1 -1
  82. package/dist/components/loader.min.css +1 -1
  83. package/dist/components/menu.css +1 -9
  84. package/dist/components/menu.min.css +2 -2
  85. package/dist/components/message.css +1 -1
  86. package/dist/components/message.min.css +1 -1
  87. package/dist/components/modal.css +5 -9
  88. package/dist/components/modal.js +261 -384
  89. package/dist/components/modal.min.css +2 -2
  90. package/dist/components/modal.min.js +2 -2
  91. package/dist/components/nag.css +1 -1
  92. package/dist/components/nag.js +68 -98
  93. package/dist/components/nag.min.css +1 -1
  94. package/dist/components/nag.min.js +2 -2
  95. package/dist/components/placeholder.css +1 -1
  96. package/dist/components/placeholder.min.css +1 -1
  97. package/dist/components/popup.css +1 -2
  98. package/dist/components/popup.js +198 -271
  99. package/dist/components/popup.min.css +2 -2
  100. package/dist/components/popup.min.js +2 -2
  101. package/dist/components/progress.css +1 -1
  102. package/dist/components/progress.js +109 -144
  103. package/dist/components/progress.min.css +1 -1
  104. package/dist/components/progress.min.js +2 -2
  105. package/dist/components/rail.css +1 -1
  106. package/dist/components/rail.min.css +1 -1
  107. package/dist/components/rating.css +1 -1
  108. package/dist/components/rating.js +91 -123
  109. package/dist/components/rating.min.css +1 -1
  110. package/dist/components/rating.min.js +2 -2
  111. package/dist/components/reset.css +1 -1
  112. package/dist/components/reset.min.css +1 -1
  113. package/dist/components/reveal.css +1 -1
  114. package/dist/components/reveal.min.css +1 -1
  115. package/dist/components/search.css +2 -9
  116. package/dist/components/search.js +277 -379
  117. package/dist/components/search.min.css +2 -2
  118. package/dist/components/search.min.js +2 -2
  119. package/dist/components/segment.css +2 -7
  120. package/dist/components/segment.min.css +2 -2
  121. package/dist/components/shape.css +1 -2
  122. package/dist/components/shape.js +158 -224
  123. package/dist/components/shape.min.css +2 -2
  124. package/dist/components/shape.min.js +2 -2
  125. package/dist/components/sidebar.css +2 -3
  126. package/dist/components/sidebar.js +124 -206
  127. package/dist/components/sidebar.min.css +2 -2
  128. package/dist/components/sidebar.min.js +2 -2
  129. package/dist/components/site.css +9 -25
  130. package/dist/components/site.js +38 -57
  131. package/dist/components/site.min.css +2 -2
  132. package/dist/components/site.min.js +2 -2
  133. package/dist/components/slider.css +1 -1
  134. package/dist/components/slider.js +246 -329
  135. package/dist/components/slider.min.css +1 -1
  136. package/dist/components/slider.min.js +2 -2
  137. package/dist/components/state.js +70 -100
  138. package/dist/components/state.min.js +2 -2
  139. package/dist/components/statistic.css +1 -1
  140. package/dist/components/statistic.min.css +1 -1
  141. package/dist/components/step.css +1 -1
  142. package/dist/components/step.min.css +1 -1
  143. package/dist/components/sticky.css +1 -1
  144. package/dist/components/sticky.js +135 -180
  145. package/dist/components/sticky.min.css +1 -1
  146. package/dist/components/sticky.min.js +2 -2
  147. package/dist/components/tab.css +1 -1
  148. package/dist/components/tab.js +176 -244
  149. package/dist/components/tab.min.css +1 -1
  150. package/dist/components/tab.min.js +2 -2
  151. package/dist/components/table.css +3 -37
  152. package/dist/components/table.min.css +2 -2
  153. package/dist/components/text.css +1 -1
  154. package/dist/components/text.min.css +1 -1
  155. package/dist/components/toast.css +1 -3
  156. package/dist/components/toast.js +109 -147
  157. package/dist/components/toast.min.css +1 -1
  158. package/dist/components/toast.min.js +2 -2
  159. package/dist/components/transition.css +1 -1
  160. package/dist/components/transition.js +91 -146
  161. package/dist/components/transition.min.css +1 -1
  162. package/dist/components/transition.min.js +2 -2
  163. package/dist/components/visibility.js +146 -224
  164. package/dist/components/visibility.min.js +2 -2
  165. package/dist/semantic.css +3906 -8720
  166. package/dist/semantic.js +4397 -6155
  167. package/dist/semantic.min.css +2 -2
  168. package/dist/semantic.min.js +2 -2
  169. package/examples/assets/show-examples.js +2 -4
  170. package/gulpfile.js +5 -7
  171. package/package.json +20 -16
  172. package/scripts/nightly-version.js +7 -10
  173. package/src/README.md +3 -3
  174. package/src/definitions/behaviors/api.js +156 -209
  175. package/src/definitions/behaviors/form.js +334 -443
  176. package/src/definitions/behaviors/state.js +69 -99
  177. package/src/definitions/behaviors/visibility.js +145 -223
  178. package/src/definitions/collections/form.less +1 -13
  179. package/src/definitions/collections/grid.less +1 -61
  180. package/src/definitions/collections/menu.less +0 -11
  181. package/src/definitions/collections/table.less +1 -35
  182. package/src/definitions/elements/input.less +1 -61
  183. package/src/definitions/elements/segment.less +0 -6
  184. package/src/definitions/globals/site.js +37 -56
  185. package/src/definitions/globals/site.less +2 -18
  186. package/src/definitions/modules/accordion.js +102 -141
  187. package/src/definitions/modules/calendar.js +313 -351
  188. package/src/definitions/modules/checkbox.js +84 -134
  189. package/src/definitions/modules/dimmer.js +60 -93
  190. package/src/definitions/modules/dimmer.less +0 -9
  191. package/src/definitions/modules/dropdown.js +735 -1054
  192. package/src/definitions/modules/dropdown.less +31 -47
  193. package/src/definitions/modules/embed.js +84 -113
  194. package/src/definitions/modules/flyout.js +225 -354
  195. package/src/definitions/modules/modal.js +260 -383
  196. package/src/definitions/modules/modal.less +1 -1
  197. package/src/definitions/modules/nag.js +67 -97
  198. package/src/definitions/modules/popup.js +197 -270
  199. package/src/definitions/modules/progress.js +108 -143
  200. package/src/definitions/modules/rating.js +90 -122
  201. package/src/definitions/modules/search.js +276 -378
  202. package/src/definitions/modules/search.less +0 -3
  203. package/src/definitions/modules/shape.js +157 -223
  204. package/src/definitions/modules/sidebar.js +123 -205
  205. package/src/definitions/modules/slider.js +245 -328
  206. package/src/definitions/modules/slider.less +1 -1
  207. package/src/definitions/modules/sticky.js +134 -179
  208. package/src/definitions/modules/tab.js +175 -243
  209. package/src/definitions/modules/toast.js +108 -146
  210. package/src/definitions/modules/toast.less +1 -1
  211. package/src/definitions/modules/transition.js +90 -145
  212. package/src/theme.less +0 -13
  213. package/src/themes/basic/elements/icon.variables +1 -1
  214. package/src/themes/default/collections/grid.variables +0 -30
  215. package/src/themes/default/collections/table.variables +1 -5
  216. package/src/themes/default/elements/icon.variables +3 -3
  217. package/src/themes/default/globals/site.variables +8 -15
  218. package/src/themes/default/globals/variation.variables +1 -2
  219. package/src/themes/default/modules/dropdown.variables +1 -0
  220. package/src/themes/default/modules/slider.variables +1 -1
  221. package/src/themes/github/elements/icon.variables +1 -1
  222. package/src/themes/material/elements/icon.variables +1 -1
  223. package/tasks/README.md +1 -1
  224. package/tasks/admin/components/create.js +89 -122
  225. package/tasks/admin/components/init.js +34 -65
  226. package/tasks/admin/components/update.js +50 -61
  227. package/tasks/admin/distributions/create.js +71 -111
  228. package/tasks/admin/distributions/init.js +32 -63
  229. package/tasks/admin/distributions/update.js +49 -57
  230. package/tasks/admin/publish.js +1 -1
  231. package/tasks/admin/register.js +14 -19
  232. package/tasks/admin/release.js +2 -2
  233. package/tasks/build/assets.js +14 -18
  234. package/tasks/build/css.js +59 -68
  235. package/tasks/build/javascript.js +48 -56
  236. package/tasks/build.js +4 -6
  237. package/tasks/check-install.js +5 -8
  238. package/tasks/clean.js +5 -7
  239. package/tasks/collections/admin.js +14 -16
  240. package/tasks/collections/build.js +6 -8
  241. package/tasks/collections/docs.js +4 -6
  242. package/tasks/collections/install.js +2 -4
  243. package/tasks/collections/rtl.js +2 -4
  244. package/tasks/collections/various.js +2 -4
  245. package/tasks/config/admin/github.js +9 -19
  246. package/tasks/config/admin/templates/README.md +2 -2
  247. package/tasks/config/admin/templates/bower.json +2 -4
  248. package/tasks/config/admin/templates/composer.json +1 -1
  249. package/tasks/config/admin/templates/css-package.js +1 -4
  250. package/tasks/config/admin/templates/less-package.js +1 -3
  251. package/tasks/config/defaults.js +0 -1
  252. package/tasks/config/npm/gulpfile.js +4 -6
  253. package/tasks/config/project/config.js +27 -35
  254. package/tasks/config/project/install.js +64 -82
  255. package/tasks/config/project/release.js +7 -9
  256. package/tasks/config/tasks.js +16 -30
  257. package/tasks/config/user.js +14 -20
  258. package/tasks/docs/build.js +26 -31
  259. package/tasks/docs/metadata.js +30 -39
  260. package/tasks/docs/serve.js +23 -27
  261. package/tasks/install.js +94 -128
  262. package/tasks/rtl/build.js +2 -4
  263. package/tasks/rtl/watch.js +3 -5
  264. package/tasks/watch.js +13 -13
  265. package/test/meteor/fonts.js +1 -2
  266. package/test/modules/module.spec.js +16 -18
  267. package/types/fomantic-ui-calendar.d.ts +1 -1
  268. package/types/fomantic-ui-dropdown.d.ts +45 -1
  269. package/types/fomantic-ui-embed.d.ts +1 -1
  270. package/types/fomantic-ui-flyout.d.ts +1 -1
  271. package/types/fomantic-ui-form.d.ts +0 -7
  272. package/types/fomantic-ui-modal.d.ts +1 -1
  273. package/types/fomantic-ui-search.d.ts +12 -6
  274. package/types/fomantic-ui-toast.d.ts +1 -1
  275. package/src/themes/basic/assets/fonts/icons.woff +0 -0
  276. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  277. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  278. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  279. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  280. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  281. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  282. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  283. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  284. package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
  285. package/src/themes/default/assets/fonts/icons.woff +0 -0
  286. package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
  287. package/src/themes/github/assets/fonts/octicons.woff +0 -0
  288. 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