fomantic-ui 2.9.1-beta.8 → 2.9.1
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.
- package/.eslint/eqeqeq-rule.js +18 -0
- package/.eslint/index.js +29 -0
- package/.eslint/no-extra-parens-rule.js +17 -0
- package/.eslint/package.json +11 -0
- package/.eslintrc.js +123 -0
- package/.github/auto_assign.yml +0 -1
- package/.github/workflows/ci.yml +37 -4
- package/.github/workflows/nightly.yml +1 -1
- package/.github/workflows/release.yml +1 -1
- package/.prettierrc.js +12 -0
- package/.stylelintrc.js +48 -0
- package/CHANGELOG.md +112 -0
- package/README.md +1 -1
- package/dist/components/accordion.css +35 -53
- package/dist/components/accordion.js +568 -595
- package/dist/components/accordion.min.css +2 -2
- package/dist/components/accordion.min.js +3 -3
- package/dist/components/ad.css +34 -45
- package/dist/components/ad.min.css +2 -2
- package/dist/components/api.js +1157 -1179
- package/dist/components/api.min.js +3 -3
- package/dist/components/breadcrumb.css +5 -5
- package/dist/components/breadcrumb.min.css +2 -2
- package/dist/components/button.css +709 -1111
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +24 -27
- package/dist/components/calendar.js +1934 -1809
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +3 -3
- package/dist/components/card.css +219 -365
- package/dist/components/card.min.css +2 -2
- package/dist/components/checkbox.css +120 -191
- package/dist/components/checkbox.js +842 -841
- package/dist/components/checkbox.min.css +2 -2
- package/dist/components/checkbox.min.js +3 -3
- package/dist/components/comment.css +41 -59
- package/dist/components/comment.min.css +2 -2
- package/dist/components/container.css +7 -6
- package/dist/components/container.min.css +2 -2
- package/dist/components/dimmer.css +53 -172
- package/dist/components/dimmer.js +706 -737
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +3 -3
- package/dist/components/divider.css +43 -61
- package/dist/components/divider.min.css +2 -2
- package/dist/components/dropdown.css +252 -386
- package/dist/components/dropdown.js +4195 -4236
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +3 -3
- package/dist/components/embed.css +18 -29
- package/dist/components/embed.js +645 -675
- package/dist/components/embed.min.css +2 -2
- package/dist/components/embed.min.js +3 -3
- package/dist/components/emoji.css +3556 -3556
- package/dist/components/emoji.min.css +1 -1
- package/dist/components/feed.css +35 -57
- package/dist/components/feed.min.css +2 -2
- package/dist/components/flag.css +270 -268
- package/dist/components/flag.min.css +2 -2
- package/dist/components/flyout.css +95 -141
- package/dist/components/flyout.js +1514 -1465
- package/dist/components/flyout.min.css +2 -2
- package/dist/components/flyout.min.js +3 -3
- package/dist/components/form.css +244 -339
- package/dist/components/form.js +2022 -2004
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +3 -3
- package/dist/components/grid.css +183 -329
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +118 -142
- package/dist/components/header.min.css +2 -2
- package/dist/components/icon.css +662 -745
- package/dist/components/icon.min.css +2 -2
- package/dist/components/image.css +39 -63
- package/dist/components/image.min.css +2 -2
- package/dist/components/input.css +356 -274
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +84 -131
- package/dist/components/item.min.css +2 -2
- package/dist/components/label.css +359 -410
- package/dist/components/label.min.css +2 -2
- package/dist/components/list.css +49 -70
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +67 -155
- package/dist/components/loader.min.css +2 -2
- package/dist/components/menu.css +270 -431
- package/dist/components/menu.min.css +1 -1
- package/dist/components/message.css +125 -197
- package/dist/components/message.min.css +2 -2
- package/dist/components/modal.css +120 -154
- package/dist/components/modal.js +1544 -1486
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +3 -3
- package/dist/components/nag.css +53 -63
- package/dist/components/nag.js +520 -526
- package/dist/components/nag.min.css +2 -2
- package/dist/components/nag.min.js +3 -3
- package/dist/components/placeholder.css +22 -42
- package/dist/components/placeholder.min.css +2 -2
- package/dist/components/popup.css +424 -202
- package/dist/components/popup.js +1456 -1456
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +3 -3
- package/dist/components/progress.css +106 -211
- package/dist/components/progress.js +969 -997
- package/dist/components/progress.min.css +2 -2
- package/dist/components/progress.min.js +3 -3
- package/dist/components/rail.css +15 -20
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +80 -121
- package/dist/components/rating.js +507 -523
- package/dist/components/rating.min.css +2 -2
- package/dist/components/rating.min.js +3 -3
- package/dist/components/reset.css +8 -13
- package/dist/components/reset.min.css +2 -2
- package/dist/components/reveal.css +44 -83
- package/dist/components/reveal.min.css +2 -2
- package/dist/components/search.css +69 -98
- package/dist/components/search.js +1520 -1534
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +3 -3
- package/dist/components/segment.css +148 -224
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +14 -30
- package/dist/components/shape.js +783 -810
- package/dist/components/shape.min.css +2 -2
- package/dist/components/shape.min.js +3 -3
- package/dist/components/sidebar.css +103 -206
- package/dist/components/sidebar.js +1061 -1099
- package/dist/components/sidebar.min.css +2 -2
- package/dist/components/sidebar.min.js +3 -3
- package/dist/components/site.css +28 -41
- package/dist/components/site.js +436 -476
- package/dist/components/site.min.css +2 -2
- package/dist/components/site.min.js +3 -3
- package/dist/components/slider.css +93 -121
- package/dist/components/slider.js +1310 -1311
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +3 -3
- package/dist/components/state.js +638 -657
- package/dist/components/state.min.js +3 -3
- package/dist/components/statistic.css +75 -116
- package/dist/components/statistic.min.css +2 -2
- package/dist/components/step.css +77 -150
- package/dist/components/step.min.css +2 -2
- package/dist/components/sticky.css +1 -5
- package/dist/components/sticky.js +847 -901
- package/dist/components/sticky.min.css +2 -2
- package/dist/components/sticky.min.js +3 -3
- package/dist/components/tab.css +10 -14
- package/dist/components/tab.js +902 -966
- package/dist/components/tab.min.css +2 -2
- package/dist/components/tab.min.js +3 -3
- package/dist/components/table.css +547 -774
- package/dist/components/table.min.css +2 -2
- package/dist/components/text.css +32 -32
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +69 -147
- package/dist/components/toast.js +910 -884
- package/dist/components/toast.min.css +2 -2
- package/dist/components/toast.min.js +3 -3
- package/dist/components/transition.css +299 -1356
- package/dist/components/transition.js +1048 -1077
- package/dist/components/transition.min.css +2 -2
- package/dist/components/transition.min.js +3 -3
- package/dist/components/visibility.js +1213 -1245
- package/dist/components/visibility.min.js +3 -3
- package/dist/semantic.css +9344 -12298
- package/dist/semantic.js +29181 -29423
- package/dist/semantic.min.css +3 -3
- package/dist/semantic.min.js +3 -3
- package/dist/themes/basic/assets/fonts/icons.woff2 +0 -0
- package/dist/themes/github/assets/fonts/octicons.woff2 +0 -0
- package/examples/.eslintrc.js +6 -0
- package/examples/assets/library/jquery.min.js +2 -4
- package/examples/assets/show-examples.js +13 -13
- package/examples/attached.html +1 -1
- package/examples/bootstrap.html +1 -1
- package/examples/components/button.html +1 -1
- package/examples/components/card.html +6 -6
- package/examples/components/input.html +1 -1
- package/examples/components/menu.html +1 -1
- package/examples/components/site.html +1 -1
- package/examples/components/sticky-context.html +2 -2
- package/examples/components/table.html +1 -1
- package/examples/fixed.html +3 -3
- package/examples/grid.html +5 -5
- package/examples/homepage.html +1 -1
- package/examples/login.html +2 -2
- package/examples/responsive.html +2 -2
- package/examples/sticky.html +4 -4
- package/examples/theming.html +1 -1
- package/gulpfile.js +13 -11
- package/package.json +17 -8
- package/scripts/nightly-version.js +83 -75
- package/src/_site/collections/menu.overrides +1 -1
- package/src/_site/elements/flag.variables +2 -2
- package/src/_site/globals/site.variables +1 -1
- package/src/_site/modules/embed.variables +3 -0
- package/src/definitions/behaviors/api.js +1158 -1180
- package/src/definitions/behaviors/form.js +2021 -2003
- package/src/definitions/behaviors/state.js +644 -663
- package/src/definitions/behaviors/visibility.js +1212 -1244
- package/src/definitions/collections/breadcrumb.less +43 -47
- package/src/definitions/collections/form.less +866 -884
- package/src/definitions/collections/grid.less +1681 -1699
- package/src/definitions/collections/menu.less +1522 -1544
- package/src/definitions/collections/message.less +294 -298
- package/src/definitions/collections/table.less +1657 -1661
- package/src/definitions/elements/button.less +1716 -1750
- package/src/definitions/elements/container.less +211 -211
- package/src/definitions/elements/divider.less +198 -211
- package/src/definitions/elements/emoji.less +41 -48
- package/src/definitions/elements/flag.less +46 -48
- package/src/definitions/elements/header.less +351 -359
- package/src/definitions/elements/icon.less +541 -484
- package/src/definitions/elements/image.less +216 -227
- package/src/definitions/elements/input.less +692 -699
- package/src/definitions/elements/label.less +784 -806
- package/src/definitions/elements/list.less +810 -814
- package/src/definitions/elements/loader.less +273 -268
- package/src/definitions/elements/placeholder.less +173 -170
- package/src/definitions/elements/rail.less +93 -93
- package/src/definitions/elements/reveal.less +192 -198
- package/src/definitions/elements/segment.less +742 -749
- package/src/definitions/elements/step.less +423 -437
- package/src/definitions/elements/text.less +34 -36
- package/src/definitions/globals/reset.less +11 -8
- package/src/definitions/globals/site.js +435 -475
- package/src/definitions/globals/site.less +108 -110
- package/src/definitions/modules/accordion.js +567 -594
- package/src/definitions/modules/accordion.less +244 -248
- package/src/definitions/modules/calendar.js +1933 -1808
- package/src/definitions/modules/calendar.less +100 -97
- package/src/definitions/modules/checkbox.js +841 -840
- package/src/definitions/modules/checkbox.less +531 -552
- package/src/definitions/modules/dimmer.js +705 -736
- package/src/definitions/modules/dimmer.less +294 -305
- package/src/definitions/modules/dropdown.js +4194 -4235
- package/src/definitions/modules/dropdown.less +1568 -1598
- package/src/definitions/modules/embed.js +644 -674
- package/src/definitions/modules/embed.less +82 -84
- package/src/definitions/modules/flyout.js +1513 -1464
- package/src/definitions/modules/flyout.less +453 -455
- package/src/definitions/modules/modal.js +1543 -1485
- package/src/definitions/modules/modal.less +459 -467
- package/src/definitions/modules/nag.js +519 -525
- package/src/definitions/modules/nag.less +136 -149
- package/src/definitions/modules/popup.js +1455 -1455
- package/src/definitions/modules/popup.less +738 -693
- package/src/definitions/modules/progress.js +968 -996
- package/src/definitions/modules/progress.less +523 -499
- package/src/definitions/modules/rating.js +506 -522
- package/src/definitions/modules/rating.less +98 -103
- package/src/definitions/modules/search.js +1519 -1533
- package/src/definitions/modules/search.less +374 -394
- package/src/definitions/modules/shape.js +782 -809
- package/src/definitions/modules/shape.less +70 -79
- package/src/definitions/modules/sidebar.js +1060 -1098
- package/src/definitions/modules/sidebar.less +463 -476
- package/src/definitions/modules/slider.js +1309 -1310
- package/src/definitions/modules/slider.less +309 -310
- package/src/definitions/modules/sticky.js +863 -917
- package/src/definitions/modules/sticky.less +17 -25
- package/src/definitions/modules/tab.js +901 -965
- package/src/definitions/modules/tab.less +48 -54
- package/src/definitions/modules/toast.js +909 -883
- package/src/definitions/modules/toast.less +589 -589
- package/src/definitions/modules/transition.js +1047 -1076
- package/src/definitions/modules/transition.less +58 -59
- package/src/definitions/views/ad.less +207 -208
- package/src/definitions/views/card.less +955 -973
- package/src/definitions/views/comment.less +192 -200
- package/src/definitions/views/feed.less +222 -226
- package/src/definitions/views/item.less +437 -448
- package/src/definitions/views/statistic.less +273 -279
- package/src/semantic.less +8 -6
- package/src/theme.config.example +53 -53
- package/src/theme.less +44 -35
- package/src/themes/amazon/elements/button.overrides +23 -24
- package/src/themes/amazon/elements/button.variables +18 -23
- package/src/themes/amazon/globals/site.variables +16 -17
- package/src/themes/basic/assets/fonts/icons.woff2 +0 -0
- package/src/themes/basic/collections/table.overrides +0 -1
- package/src/themes/basic/collections/table.variables +3 -3
- package/src/themes/basic/elements/button.overrides +0 -1
- package/src/themes/basic/elements/button.variables +9 -9
- package/src/themes/basic/elements/icon.overrides +9 -169
- package/src/themes/basic/elements/icon.variables +161 -18
- package/src/themes/basic/elements/step.overrides +2 -2
- package/src/themes/basic/elements/step.variables +2 -2
- package/src/themes/basic/globals/reset.overrides +1 -1
- package/src/themes/basic/globals/reset.variables +1 -1
- package/src/themes/basic/modules/progress.variables +2 -2
- package/src/themes/basic/views/card.overrides +0 -1
- package/src/themes/basic/views/card.variables +6 -6
- package/src/themes/bookish/elements/header.overrides +4 -4
- package/src/themes/bookish/elements/header.variables +5 -5
- package/src/themes/bootstrap3/elements/button.overrides +3 -0
- package/src/themes/bootstrap3/elements/button.variables +20 -25
- package/src/themes/chubby/collections/form.overrides +9 -9
- package/src/themes/chubby/collections/form.variables +3 -3
- package/src/themes/chubby/collections/menu.overrides +3 -0
- package/src/themes/chubby/collections/menu.variables +3 -3
- package/src/themes/chubby/elements/button.overrides +8 -10
- package/src/themes/chubby/elements/button.variables +10 -10
- package/src/themes/chubby/elements/header.overrides +1 -1
- package/src/themes/chubby/elements/header.variables +4 -4
- package/src/themes/chubby/modules/accordion.overrides +2 -2
- package/src/themes/chubby/modules/accordion.variables +4 -4
- package/src/themes/chubby/views/comment.overrides +5 -5
- package/src/themes/chubby/views/comment.variables +11 -11
- package/src/themes/classic/collections/table.variables +3 -3
- package/src/themes/classic/elements/button.variables +36 -43
- package/src/themes/classic/elements/header.variables +4 -4
- package/src/themes/classic/modules/progress.variables +3 -3
- package/src/themes/classic/views/card.overrides +25 -27
- package/src/themes/classic/views/card.variables +7 -7
- package/src/themes/colored/modules/checkbox.overrides +3 -0
- package/src/themes/colored/modules/checkbox.variables +1 -3
- package/src/themes/default/collections/breadcrumb.variables +4 -4
- package/src/themes/default/collections/form.variables +15 -16
- package/src/themes/default/collections/grid.overrides +0 -1
- package/src/themes/default/collections/grid.variables +15 -16
- package/src/themes/default/collections/menu.variables +31 -45
- package/src/themes/default/collections/message.variables +84 -123
- package/src/themes/default/collections/table.overrides +3 -0
- package/src/themes/default/collections/table.variables +30 -34
- package/src/themes/default/elements/button.variables +44 -53
- package/src/themes/default/elements/container.variables +8 -16
- package/src/themes/default/elements/divider.overrides +8 -9
- package/src/themes/default/elements/divider.variables +5 -6
- package/src/themes/default/elements/emoji.overrides +0 -1
- package/src/themes/default/elements/emoji.variables +3556 -3556
- package/src/themes/default/elements/flag.variables +1595 -1595
- package/src/themes/default/elements/header.overrides +0 -1
- package/src/themes/default/elements/header.variables +21 -21
- package/src/themes/default/elements/icon.variables +2016 -2012
- package/src/themes/default/elements/image.variables +6 -7
- package/src/themes/default/elements/input.variables +11 -12
- package/src/themes/default/elements/label.variables +25 -26
- package/src/themes/default/elements/list.variables +17 -21
- package/src/themes/default/elements/loader.variables +16 -17
- package/src/themes/default/elements/placeholder.variables +12 -9
- package/src/themes/default/elements/rail.variables +4 -5
- package/src/themes/default/elements/reveal.variables +1 -1
- package/src/themes/default/elements/segment.variables +24 -36
- package/src/themes/default/elements/step.overrides +4 -4
- package/src/themes/default/elements/step.variables +19 -22
- package/src/themes/default/elements/text.variables +2 -3
- package/src/themes/default/globals/colors.less +588 -588
- package/src/themes/default/globals/reset.overrides +63 -59
- package/src/themes/default/globals/reset.variables +1 -1
- package/src/themes/default/globals/site.variables +1074 -1123
- package/src/themes/default/globals/variation.variables +6 -4
- package/src/themes/default/modules/accordion.overrides +11 -11
- package/src/themes/default/modules/accordion.variables +15 -20
- package/src/themes/default/modules/calendar.variables +2 -0
- package/src/themes/default/modules/chatroom.variables +1 -1
- package/src/themes/default/modules/checkbox.overrides +9 -13
- package/src/themes/default/modules/checkbox.variables +24 -33
- package/src/themes/default/modules/dimmer.variables +14 -17
- package/src/themes/default/modules/dropdown.overrides +17 -17
- package/src/themes/default/modules/dropdown.variables +29 -31
- package/src/themes/default/modules/embed.variables +9 -13
- package/src/themes/default/modules/flyout.variables +10 -8
- package/src/themes/default/modules/modal.variables +64 -67
- package/src/themes/default/modules/nag.variables +11 -14
- package/src/themes/default/modules/popup.variables +14 -13
- package/src/themes/default/modules/progress.variables +17 -19
- package/src/themes/default/modules/rating.variables +10 -12
- package/src/themes/default/modules/search.variables +12 -17
- package/src/themes/default/modules/shape.variables +7 -8
- package/src/themes/default/modules/sidebar.variables +4 -4
- package/src/themes/default/modules/slider.variables +55 -54
- package/src/themes/default/modules/sticky.variables +1 -1
- package/src/themes/default/modules/toast.variables +8 -8
- package/src/themes/default/modules/transition.overrides +936 -915
- package/src/themes/default/modules/transition.variables +1 -1
- package/src/themes/default/views/ad.variables +1 -1
- package/src/themes/default/views/card.variables +33 -45
- package/src/themes/default/views/comment.variables +7 -9
- package/src/themes/default/views/feed.variables +10 -10
- package/src/themes/default/views/item.variables +20 -23
- package/src/themes/default/views/statistic.variables +8 -8
- package/src/themes/duo/elements/loader.variables +1 -1
- package/src/themes/famfamfam/elements/flag.overrides +263 -268
- package/src/themes/famfamfam/elements/flag.variables +4 -4
- package/src/themes/fixed-width/collections/grid.variables +4 -4
- package/src/themes/fixed-width/modules/modal.variables +11 -13
- package/src/themes/flat/collections/form.overrides +9 -9
- package/src/themes/flat/collections/form.variables +16 -17
- package/src/themes/flat/globals/site.variables +69 -74
- package/src/themes/github/assets/fonts/octicons.woff2 +0 -0
- package/src/themes/github/collections/breadcrumb.variables +0 -1
- package/src/themes/github/collections/form.overrides +7 -8
- package/src/themes/github/collections/form.variables +16 -18
- package/src/themes/github/collections/grid.variables +1 -2
- package/src/themes/github/collections/menu.overrides +2 -2
- package/src/themes/github/collections/menu.variables +24 -26
- package/src/themes/github/collections/message.overrides +3 -3
- package/src/themes/github/collections/message.variables +12 -14
- package/src/themes/github/collections/table.variables +2 -2
- package/src/themes/github/elements/button.overrides +0 -1
- package/src/themes/github/elements/button.variables +26 -30
- package/src/themes/github/elements/header.variables +2 -2
- package/src/themes/github/elements/icon.overrides +3 -208
- package/src/themes/github/elements/icon.variables +234 -19
- package/src/themes/github/elements/image.variables +1 -1
- package/src/themes/github/elements/input.overrides +16 -16
- package/src/themes/github/elements/input.variables +4 -5
- package/src/themes/github/elements/label.overrides +3 -3
- package/src/themes/github/elements/label.variables +0 -1
- package/src/themes/github/elements/segment.variables +9 -10
- package/src/themes/github/elements/step.overrides +13 -13
- package/src/themes/github/elements/step.variables +6 -6
- package/src/themes/github/globals/site.variables +16 -16
- package/src/themes/github/modules/dropdown.overrides +18 -19
- package/src/themes/github/modules/dropdown.variables +8 -10
- package/src/themes/github/modules/popup.variables +0 -2
- package/src/themes/gmail/collections/message.overrides +3 -0
- package/src/themes/gmail/collections/message.variables +4 -4
- package/src/themes/instagram/views/card.overrides +4 -5
- package/src/themes/instagram/views/card.variables +7 -8
- package/src/themes/joypixels/elements/emoji.overrides +0 -2
- package/src/themes/joypixels/elements/emoji.variables +3554 -3554
- package/src/themes/material/collections/menu.overrides +1 -1
- package/src/themes/material/collections/menu.variables +4 -4
- package/src/themes/material/elements/button.overrides +7 -9
- package/src/themes/material/elements/button.variables +44 -46
- package/src/themes/material/elements/header.overrides +3 -3
- package/src/themes/material/elements/header.variables +8 -10
- package/src/themes/material/elements/icon.overrides +3 -934
- package/src/themes/material/elements/icon.variables +958 -18
- package/src/themes/material/globals/site.overrides +3 -0
- package/src/themes/material/globals/site.variables +83 -84
- package/src/themes/material/modules/dropdown.overrides +2 -2
- package/src/themes/material/modules/dropdown.variables +5 -5
- package/src/themes/material/modules/modal.overrides +3 -3
- package/src/themes/material/modules/modal.variables +4 -5
- package/src/themes/pulsar/elements/loader.overrides +23 -61
- package/src/themes/raised/elements/button.variables +8 -9
- package/src/themes/resetcss/globals/reset.overrides +115 -33
- package/src/themes/resetcss/globals/reset.variables +1 -1
- package/src/themes/round/elements/button.overrides +3 -0
- package/src/themes/round/elements/button.variables +33 -38
- package/src/themes/rtl/globals/site.overrides +1 -1
- package/src/themes/rtl/globals/site.variables +5 -6
- package/src/themes/striped/modules/progress.overrides +20 -16
- package/src/themes/systemfont/globals/reset.overrides +1 -1
- package/src/themes/systemfont/globals/site.variables +6 -6
- package/src/themes/timeline/views/feed.overrides +12 -12
- package/src/themes/timeline/views/feed.variables +8 -8
- package/src/themes/twitter/elements/button.overrides +4 -5
- package/src/themes/twitter/elements/button.variables +17 -18
- package/src/themes/twitter/elements/emoji.variables +3556 -3556
- package/tasks/.eslintrc.js +9 -0
- package/tasks/README.md +2 -4
- package/tasks/admin/components/create.js +268 -277
- package/tasks/admin/components/init.js +123 -129
- package/tasks/admin/components/update.js +151 -158
- package/tasks/admin/distributions/create.js +183 -189
- package/tasks/admin/distributions/init.js +125 -131
- package/tasks/admin/distributions/update.js +147 -153
- package/tasks/admin/publish.js +5 -9
- package/tasks/admin/register.js +37 -39
- package/tasks/admin/release.js +8 -12
- package/tasks/build/assets.js +43 -40
- package/tasks/build/css.js +230 -217
- package/tasks/build/javascript.js +120 -114
- package/tasks/build.js +11 -11
- package/tasks/check-install.js +15 -17
- package/tasks/clean.js +6 -6
- package/tasks/collections/README.md +3 -5
- package/tasks/collections/admin.js +34 -36
- package/tasks/collections/build.js +19 -21
- package/tasks/collections/docs.js +11 -13
- package/tasks/collections/install.js +11 -13
- package/tasks/collections/rtl.js +9 -12
- package/tasks/collections/various.js +10 -12
- package/tasks/config/admin/github.js +17 -19
- package/tasks/config/admin/oauth.example.js +4 -4
- package/tasks/config/admin/release.js +98 -98
- package/tasks/config/admin/templates/README.md +8 -8
- package/tasks/config/admin/templates/bower.json +3 -2
- package/tasks/config/admin/templates/component-package.js +9 -10
- package/tasks/config/admin/templates/css-package.js +19 -21
- package/tasks/config/admin/templates/less-package.js +12 -14
- package/tasks/config/admin/templates/package.json +6 -6
- package/tasks/config/defaults.js +116 -116
- package/tasks/config/docs.js +23 -23
- package/tasks/config/npm/gulpfile.js +15 -14
- package/tasks/config/project/config.js +124 -136
- package/tasks/config/project/install.js +722 -719
- package/tasks/config/project/release.js +34 -41
- package/tasks/config/tasks.js +168 -167
- package/tasks/config/user.js +28 -32
- package/tasks/docs/build.js +100 -96
- package/tasks/docs/metadata.js +91 -98
- package/tasks/docs/serve.js +84 -82
- package/tasks/install.js +373 -382
- package/tasks/rtl/build.js +4 -3
- package/tasks/rtl/watch.js +4 -3
- package/tasks/version.js +4 -6
- package/tasks/watch.js +29 -31
- package/test/.eslintrc.js +23 -0
- package/test/meteor/assets.js +11 -14
- package/test/meteor/fonts.js +12 -13
- package/test/modules/accordion.spec.js +6 -8
- package/test/modules/checkbox.spec.js +5 -7
- package/test/modules/dropdown.spec.js +5 -7
- package/test/modules/modal.spec.js +6 -8
- package/test/modules/module.spec.js +158 -178
- package/test/modules/popup.spec.js +5 -7
- package/test/modules/search.spec.js +5 -7
- package/test/modules/shape.spec.js +5 -7
- package/test/modules/sidebar.spec.js +5 -7
- package/test/modules/tab.spec.js +6 -8
- package/test/modules/transition.spec.js +5 -7
- package/test/modules/video.spec.js +5 -7
- package/.github/workflows/codeql.yml +0 -68
package/tasks/install.js
CHANGED
@@ -7,434 +7,425 @@
|
|
7
7
|
|
8
8
|
For more notes
|
9
9
|
|
10
|
-
*
|
11
|
-
* (NPM)
|
12
|
-
* (NPM) Upgrade - Will look for semantic install, copy over files and update if new version
|
10
|
+
* (NPM) Install - Will ask for where to put fomantic (outside pm folder)
|
11
|
+
* (NPM) Upgrade - Will look for fomantic install, copy over files and update if new version
|
13
12
|
* Standard installer runs asking for paths to site files etc
|
14
|
-
|
15
13
|
*/
|
16
14
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
15
|
+
const
|
16
|
+
gulp = require('gulp'),
|
17
|
+
|
18
|
+
// node dependencies
|
19
|
+
console = require('better-console'),
|
20
|
+
extend = require('extend'),
|
21
|
+
fs = require('fs'),
|
22
|
+
mkdirp = require('mkdirp'),
|
23
|
+
path = require('path'),
|
24
|
+
|
25
|
+
// gulp dependencies
|
26
|
+
chmod = require('gulp-chmod'),
|
27
|
+
del = require('del'),
|
28
|
+
jsonEditor = require('gulp-json-editor'),
|
29
|
+
plumber = require('gulp-plumber'),
|
30
|
+
inquirer = require('inquirer'),
|
31
|
+
rename = require('gulp-rename'),
|
32
|
+
replace = require('gulp-replace'),
|
33
|
+
requireDotFile = require('require-dot-file'),
|
34
|
+
wrench = require('wrench-sui'),
|
35
|
+
|
36
|
+
// install config
|
37
|
+
install = require('./config/project/install'),
|
38
|
+
|
39
|
+
// user config
|
40
|
+
config = require('./config/user'),
|
41
|
+
|
42
|
+
// release config (name/title/etc)
|
43
|
+
release = require('./config/project/release'),
|
44
|
+
|
45
|
+
// shorthand
|
46
|
+
questions = install.questions,
|
47
|
+
files = install.files,
|
48
|
+
folders = install.folders,
|
49
|
+
regExp = install.regExp,
|
50
|
+
settings = install.settings,
|
51
|
+
source = install.source
|
54
52
|
;
|
55
53
|
|
56
54
|
// Export install task
|
57
55
|
module.exports = function (callback) {
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
answers
|
65
|
-
;
|
66
|
-
|
67
|
-
console.clear();
|
68
|
-
|
69
|
-
/* Test NPM install
|
70
|
-
manager = {
|
71
|
-
name : 'NPM',
|
72
|
-
root : path.normalize(__dirname + '/../')
|
73
|
-
};
|
74
|
-
*/
|
75
|
-
|
76
|
-
|
77
|
-
/* Don't do end user config if SUI is a sub-module */
|
78
|
-
if (install.isSubModule()) {
|
79
|
-
console.info('SUI is a sub-module, skipping end-user install');
|
80
|
-
callback();
|
81
|
-
return;
|
82
|
-
}
|
83
|
-
|
84
|
-
/*-----------------
|
85
|
-
Update SUI
|
86
|
-
-----------------*/
|
87
|
-
|
88
|
-
// run update scripts if semantic.json exists
|
89
|
-
if (currentConfig && manager.name === 'NPM') {
|
90
|
-
|
91
|
-
var
|
92
|
-
updateFolder = path.join(manager.root, currentConfig.base),
|
93
|
-
updatePaths = {
|
94
|
-
config : path.join(manager.root, files.config),
|
95
|
-
tasks : path.join(updateFolder, folders.tasks),
|
96
|
-
themeImport : path.join(updateFolder, folders.themeImport),
|
97
|
-
definition : path.join(currentConfig.paths.source.definitions),
|
98
|
-
site : path.join(currentConfig.paths.source.site),
|
99
|
-
theme : path.join(currentConfig.paths.source.themes),
|
100
|
-
defaultTheme: path.join(currentConfig.paths.source.themes, folders.defaultTheme)
|
101
|
-
}
|
56
|
+
let
|
57
|
+
currentConfig = requireDotFile('semantic.json', process.cwd()),
|
58
|
+
manager = install.getPackageManager(),
|
59
|
+
rootQuestions = questions.root,
|
60
|
+
installFolder = false,
|
61
|
+
answers
|
102
62
|
;
|
103
63
|
|
104
|
-
|
105
|
-
if (fs.existsSync(updatePaths.definition)) {
|
106
|
-
|
107
|
-
// perform update if new version
|
108
|
-
if (currentConfig.version !== release.version) {
|
109
|
-
console.log('Updating Fomantic UI from ' + currentConfig.version + ' to ' + release.version);
|
64
|
+
console.clear();
|
110
65
|
|
111
|
-
|
112
|
-
|
66
|
+
/* Test NPM install
|
67
|
+
manager = {
|
68
|
+
name: 'NPM',
|
69
|
+
root: path.normalize(__dirname + '/../'),
|
70
|
+
}; */
|
113
71
|
|
114
|
-
|
115
|
-
|
116
|
-
|
72
|
+
/* Don't do end user config if SUI is a sub-module */
|
73
|
+
if (install.isSubModule()) {
|
74
|
+
console.info('SUI is a sub-module, skipping end-user install');
|
75
|
+
callback();
|
117
76
|
|
118
|
-
|
119
|
-
|
77
|
+
return;
|
78
|
+
}
|
120
79
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
80
|
+
/* -----------------
|
81
|
+
Update SUI
|
82
|
+
----------------- */
|
83
|
+
|
84
|
+
// run update scripts if semantic.json exists
|
85
|
+
if (currentConfig && manager.name === 'NPM') {
|
86
|
+
let
|
87
|
+
updateFolder = path.join(manager.root, currentConfig.base),
|
88
|
+
updatePaths = {
|
89
|
+
config: path.join(manager.root, files.config),
|
90
|
+
tasks: path.join(updateFolder, folders.tasks),
|
91
|
+
themeImport: path.join(updateFolder, folders.themeImport),
|
92
|
+
definition: path.join(currentConfig.paths.source.definitions),
|
93
|
+
site: path.join(currentConfig.paths.source.site),
|
94
|
+
theme: path.join(currentConfig.paths.source.themes),
|
95
|
+
defaultTheme: path.join(currentConfig.paths.source.themes, folders.defaultTheme),
|
96
|
+
}
|
125
97
|
;
|
126
98
|
|
127
|
-
//
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
;
|
99
|
+
// duck-type if there is a project installed
|
100
|
+
if (fs.existsSync(updatePaths.definition)) {
|
101
|
+
// perform update if new version
|
102
|
+
if (currentConfig.version !== release.version) {
|
103
|
+
console.log('Updating Fomantic UI from ' + currentConfig.version + ' to ' + release.version);
|
133
104
|
|
134
|
-
|
135
|
-
|
105
|
+
console.info('Updating ui definitions...');
|
106
|
+
wrench.copyDirSyncRecursive(source.definitions, updatePaths.definition, settings.wrench.overwrite);
|
136
107
|
|
137
|
-
|
108
|
+
console.info('Updating default theme...');
|
109
|
+
wrench.copyDirSyncRecursive(source.themes, updatePaths.theme, settings.wrench.merge);
|
110
|
+
wrench.copyDirSyncRecursive(source.defaultTheme, updatePaths.defaultTheme, settings.wrench.overwrite);
|
138
111
|
|
139
|
-
|
140
|
-
|
141
|
-
.pipe(plumber())
|
142
|
-
.pipe(rename(settings.rename.json)) // preserve file extension
|
143
|
-
.pipe(jsonEditor({
|
144
|
-
version: release.version
|
145
|
-
}))
|
146
|
-
.pipe(gulp.dest(manager.root))
|
147
|
-
;
|
112
|
+
console.info('Updating tasks...');
|
113
|
+
wrench.copyDirSyncRecursive(source.tasks, updatePaths.tasks, settings.wrench.overwrite);
|
148
114
|
|
149
|
-
|
115
|
+
console.info('Updating gulpfile.js');
|
116
|
+
gulp.src(source.userGulpFile)
|
117
|
+
.pipe(plumber())
|
118
|
+
.pipe(gulp.dest(updateFolder))
|
119
|
+
;
|
150
120
|
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
}
|
121
|
+
// copy theme import
|
122
|
+
console.info('Updating theme import file');
|
123
|
+
gulp.src(source.themeImport)
|
124
|
+
.pipe(plumber())
|
125
|
+
.pipe(gulp.dest(updatePaths.themeImport))
|
126
|
+
;
|
158
127
|
|
159
|
-
|
160
|
-
|
161
|
-
console.log('Running installer');
|
162
|
-
}
|
128
|
+
console.info('Adding new site theme files...');
|
129
|
+
wrench.copyDirSyncRecursive(source.site, updatePaths.site, settings.wrench.merge);
|
163
130
|
|
164
|
-
|
131
|
+
console.info('Updating version...');
|
165
132
|
|
166
|
-
|
167
|
-
|
168
|
-
|
133
|
+
// update version number in semantic.json
|
134
|
+
gulp.src(updatePaths.config)
|
135
|
+
.pipe(plumber())
|
136
|
+
.pipe(rename(settings.rename.json)) // preserve file extension
|
137
|
+
.pipe(jsonEditor({
|
138
|
+
version: release.version,
|
139
|
+
}))
|
140
|
+
.pipe(gulp.dest(manager.root))
|
141
|
+
;
|
169
142
|
|
170
|
-
|
171
|
-
if (manager.name === 'NPM') {
|
172
|
-
rootQuestions[0].message = rootQuestions[0].message
|
173
|
-
.replace('{packageMessage}', 'We detected you are using ' + manager.name + ' Nice!')
|
174
|
-
.replace('{root}', manager.root)
|
175
|
-
;
|
176
|
-
// set default path to detected PM root
|
177
|
-
rootQuestions[0].default = manager.root;
|
178
|
-
rootQuestions[1].default = manager.root;
|
179
|
-
|
180
|
-
// insert PM questions after "Install Type" question
|
181
|
-
Array.prototype.splice.apply(questions.setup, [2, 0].concat(rootQuestions));
|
182
|
-
|
183
|
-
// omit cleanup questions for managed install
|
184
|
-
questions.cleanup = [];
|
185
|
-
}
|
186
|
-
|
187
|
-
|
188
|
-
/*--------------
|
189
|
-
Create SUI
|
190
|
-
---------------*/
|
191
|
-
|
192
|
-
gulp.task('run setup', function (callback) {
|
193
|
-
|
194
|
-
// If auto-install is switched on, we skip the configuration section and simply reuse the configuration from semantic.json
|
195
|
-
if (install.shouldAutoInstall()) {
|
196
|
-
answers = {
|
197
|
-
overwrite : 'yes',
|
198
|
-
install : 'auto',
|
199
|
-
useRoot : true,
|
200
|
-
semanticRoot: currentConfig.base
|
201
|
-
};
|
202
|
-
callback();
|
203
|
-
} else {
|
204
|
-
return inquirer.prompt(questions.setup)
|
205
|
-
.then((setupAnswers) => {
|
206
|
-
// hoist
|
207
|
-
answers = setupAnswers;
|
208
|
-
});
|
209
|
-
}
|
210
|
-
});
|
143
|
+
console.info('Update complete! Run "\u001B[92mgulp build\u001B[0m" to rebuild dist/ files.');
|
211
144
|
|
212
|
-
|
145
|
+
callback();
|
213
146
|
|
214
|
-
|
215
|
-
|
216
|
-
|
147
|
+
return;
|
148
|
+
}
|
149
|
+
|
150
|
+
console.log('Current version of Fomantic UI already installed');
|
151
|
+
callback();
|
217
152
|
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
153
|
+
return;
|
154
|
+
}
|
155
|
+
|
156
|
+
console.error('Cannot locate files to update at path:', updatePaths.definition);
|
157
|
+
console.log('Running installer');
|
222
158
|
}
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
159
|
+
|
160
|
+
/* --------------
|
161
|
+
Determine Root
|
162
|
+
--------------- */
|
163
|
+
|
164
|
+
// PM that supports Build Tools (NPM Only Now)
|
165
|
+
if (manager.name === 'NPM') {
|
166
|
+
rootQuestions[0].message = rootQuestions[0].message
|
167
|
+
.replace('{packageMessage}', 'We detected you are using ' + manager.name + ' Nice!')
|
168
|
+
.replace('{root}', manager.root)
|
169
|
+
;
|
170
|
+
// set default path to detected PM root
|
171
|
+
rootQuestions[0].default = manager.root;
|
172
|
+
rootQuestions[1].default = manager.root;
|
173
|
+
|
174
|
+
// insert PM questions after "Install Type" question
|
175
|
+
Array.prototype.splice.apply(questions.setup, [2, 0].concat(rootQuestions));
|
176
|
+
|
177
|
+
// omit cleanup questions for managed install
|
178
|
+
questions.cleanup = [];
|
228
179
|
}
|
229
|
-
console.log('------------------------------');
|
230
180
|
|
181
|
+
/* --------------
|
182
|
+
Create SUI
|
183
|
+
--------------- */
|
184
|
+
|
185
|
+
gulp.task('run setup', function (callback) {
|
186
|
+
// If auto-install is switched on, we skip the configuration section and simply reuse the configuration from semantic.json
|
187
|
+
if (install.shouldAutoInstall()) {
|
188
|
+
answers = {
|
189
|
+
overwrite: 'yes',
|
190
|
+
install: 'auto',
|
191
|
+
useRoot: true,
|
192
|
+
semanticRoot: currentConfig.base,
|
193
|
+
};
|
194
|
+
callback();
|
195
|
+
} else {
|
196
|
+
return inquirer.prompt(questions.setup)
|
197
|
+
.then((setupAnswers) => {
|
198
|
+
// hoist
|
199
|
+
answers = setupAnswers;
|
200
|
+
})
|
201
|
+
;
|
202
|
+
}
|
203
|
+
});
|
231
204
|
|
232
|
-
|
233
|
-
|
234
|
-
|
205
|
+
gulp.task('create install files', function (callback) {
|
206
|
+
/* --------------
|
207
|
+
Exit Conditions
|
208
|
+
--------------- */
|
235
209
|
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
configFolder : folders.config,
|
240
|
-
site : answers.site || folders.site,
|
241
|
-
themeConfig : files.themeConfig,
|
242
|
-
themeConfigFolder: folders.themeConfig
|
243
|
-
}
|
244
|
-
;
|
210
|
+
// if config exists and user specifies not to proceed
|
211
|
+
if (answers.overwrite !== undefined && answers.overwrite === 'no') {
|
212
|
+
callback();
|
245
213
|
|
246
|
-
|
247
|
-
|
248
|
-
|
214
|
+
return;
|
215
|
+
}
|
216
|
+
console.clear();
|
217
|
+
if (install.shouldAutoInstall()) {
|
218
|
+
console.log('Auto-Installing (Without User Interaction)');
|
219
|
+
} else {
|
220
|
+
console.log('Installing');
|
221
|
+
}
|
222
|
+
console.log('------------------------------');
|
223
|
+
|
224
|
+
/* --------------
|
225
|
+
Paths
|
226
|
+
--------------- */
|
227
|
+
|
228
|
+
let
|
229
|
+
installPaths = {
|
230
|
+
config: files.config,
|
231
|
+
configFolder: folders.config,
|
232
|
+
site: answers.site || folders.site,
|
233
|
+
themeConfig: files.themeConfig,
|
234
|
+
themeConfigFolder: folders.themeConfig,
|
235
|
+
}
|
236
|
+
;
|
237
|
+
|
238
|
+
/* --------------
|
239
|
+
NPM Install
|
240
|
+
--------------- */
|
241
|
+
|
242
|
+
// Check if PM install
|
243
|
+
if (manager && (answers.useRoot || answers.customRoot)) {
|
244
|
+
// Set root to custom root path if set
|
245
|
+
if (answers.customRoot) {
|
246
|
+
if (answers.customRoot === '') {
|
247
|
+
console.log('Unable to proceed, invalid project root');
|
248
|
+
callback();
|
249
|
+
|
250
|
+
return;
|
251
|
+
}
|
252
|
+
manager.root = answers.customRoot;
|
253
|
+
}
|
249
254
|
|
250
|
-
|
251
|
-
|
255
|
+
// special install paths only for PM install
|
256
|
+
installPaths = extend(false, {}, installPaths, {
|
257
|
+
definition: folders.definitions,
|
258
|
+
lessImport: folders.lessImport,
|
259
|
+
tasks: folders.tasks,
|
260
|
+
theme: folders.themes,
|
261
|
+
defaultTheme: path.join(folders.themes, folders.defaultTheme),
|
262
|
+
themeImport: folders.themeImport,
|
263
|
+
});
|
264
|
+
|
265
|
+
// add project root to semantic root
|
266
|
+
installFolder = path.join(manager.root, answers.semanticRoot);
|
267
|
+
|
268
|
+
// add install folder to all output paths
|
269
|
+
for (let destination in installPaths) {
|
270
|
+
if (Object.prototype.hasOwnProperty.call(installPaths, destination)) {
|
271
|
+
// config goes in project root, rest in install folder
|
272
|
+
installPaths[destination] = destination === 'config' || destination === 'configFolder'
|
273
|
+
? path.normalize(path.join(manager.root, installPaths[destination]))
|
274
|
+
: path.normalize(path.join(installFolder, installPaths[destination]));
|
275
|
+
}
|
276
|
+
}
|
277
|
+
|
278
|
+
// create project folders
|
279
|
+
try {
|
280
|
+
mkdirp.sync(installFolder);
|
281
|
+
mkdirp.sync(installPaths.definition);
|
282
|
+
mkdirp.sync(installPaths.theme);
|
283
|
+
mkdirp.sync(installPaths.tasks);
|
284
|
+
} catch (error) {
|
285
|
+
console.error('NPM does not have permissions to create folders at your specified path. Adjust your folders permissions and run "npm install" again');
|
286
|
+
}
|
252
287
|
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
288
|
+
console.log('Installing to \u001B[92m' + answers.semanticRoot + '\u001B[0m');
|
289
|
+
|
290
|
+
console.info('Copying UI definitions');
|
291
|
+
wrench.copyDirSyncRecursive(source.definitions, installPaths.definition, settings.wrench.overwrite);
|
292
|
+
|
293
|
+
console.info('Copying UI themes');
|
294
|
+
wrench.copyDirSyncRecursive(source.themes, installPaths.theme, settings.wrench.merge);
|
295
|
+
wrench.copyDirSyncRecursive(source.defaultTheme, installPaths.defaultTheme, settings.wrench.overwrite);
|
296
|
+
|
297
|
+
console.info('Copying gulp tasks');
|
298
|
+
wrench.copyDirSyncRecursive(source.tasks, installPaths.tasks, settings.wrench.overwrite);
|
299
|
+
|
300
|
+
// copy theme import
|
301
|
+
console.info('Adding theme files');
|
302
|
+
gulp.src(source.themeImport)
|
303
|
+
.pipe(plumber())
|
304
|
+
.pipe(gulp.dest(installPaths.themeImport))
|
305
|
+
;
|
306
|
+
gulp.src(source.lessImport)
|
307
|
+
.pipe(plumber())
|
308
|
+
.pipe(gulp.dest(installPaths.lessImport))
|
309
|
+
;
|
310
|
+
|
311
|
+
// create gulp file
|
312
|
+
console.info('Creating gulpfile.js');
|
313
|
+
gulp.src(source.userGulpFile)
|
314
|
+
.pipe(plumber())
|
315
|
+
.pipe(gulp.dest(installFolder))
|
316
|
+
;
|
259
317
|
}
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
themeImport : folders.themeImport
|
271
|
-
});
|
272
|
-
|
273
|
-
// add project root to semantic root
|
274
|
-
installFolder = path.join(manager.root, answers.semanticRoot);
|
275
|
-
|
276
|
-
// add install folder to all output paths
|
277
|
-
for (var destination in installPaths) {
|
278
|
-
if (installPaths.hasOwnProperty(destination)) {
|
279
|
-
// config goes in project root, rest in install folder
|
280
|
-
installPaths[destination] = (destination == 'config' || destination == 'configFolder')
|
281
|
-
? path.normalize(path.join(manager.root, installPaths[destination]))
|
282
|
-
: path.normalize(path.join(installFolder, installPaths[destination]))
|
283
|
-
;
|
318
|
+
|
319
|
+
/* --------------
|
320
|
+
Site Theme
|
321
|
+
--------------- */
|
322
|
+
|
323
|
+
// Copy _site templates folder to destination
|
324
|
+
if (fs.existsSync(installPaths.site)) {
|
325
|
+
console.info('Site folder exists, merging files (no overwrite)', installPaths.site);
|
326
|
+
} else {
|
327
|
+
console.info('Creating site theme folder', installPaths.site);
|
284
328
|
}
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
gulp.src(source.themeImport)
|
312
|
-
.pipe(plumber())
|
313
|
-
.pipe(gulp.dest(installPaths.themeImport))
|
314
|
-
;
|
315
|
-
gulp.src(source.lessImport)
|
316
|
-
.pipe(plumber())
|
317
|
-
.pipe(gulp.dest(installPaths.lessImport))
|
318
|
-
;
|
319
|
-
|
320
|
-
// create gulp file
|
321
|
-
console.info('Creating gulpfile.js');
|
322
|
-
gulp.src(source.userGulpFile)
|
323
|
-
.pipe(plumber())
|
324
|
-
.pipe(gulp.dest(installFolder))
|
325
|
-
;
|
329
|
+
wrench.copyDirSyncRecursive(source.site, installPaths.site, settings.wrench.merge);
|
330
|
+
|
331
|
+
/* --------------
|
332
|
+
Theme Config
|
333
|
+
--------------- */
|
334
|
+
|
335
|
+
gulp.task('create theme.config', function () {
|
336
|
+
let
|
337
|
+
// determine path to site theme folder from theme config
|
338
|
+
// force CSS path variable to use forward slashes for paths
|
339
|
+
pathToSite = path.relative(path.resolve(installPaths.themeConfigFolder), path.resolve(installPaths.site)).replace(/\\/g, '/'),
|
340
|
+
siteVariable = "@siteFolder: '" + pathToSite + "/';"
|
341
|
+
;
|
342
|
+
|
343
|
+
// rewrite site variable in theme.less
|
344
|
+
console.info('Adjusting @siteFolder to:', pathToSite + '/');
|
345
|
+
|
346
|
+
if (fs.existsSync(installPaths.themeConfig)) {
|
347
|
+
console.info('Modifying src/theme.config (LESS config)', installPaths.themeConfig);
|
348
|
+
|
349
|
+
return gulp.src(installPaths.themeConfig)
|
350
|
+
.pipe(plumber())
|
351
|
+
.pipe(replace(regExp.siteVariable, siteVariable))
|
352
|
+
.pipe(gulp.dest(installPaths.themeConfigFolder))
|
353
|
+
;
|
354
|
+
}
|
326
355
|
|
327
|
-
|
356
|
+
console.info('Creating src/theme.config (LESS config)', installPaths.themeConfig);
|
328
357
|
|
358
|
+
return gulp.src(source.themeConfig)
|
359
|
+
.pipe(plumber())
|
360
|
+
.pipe(rename({ extname: '' }))
|
361
|
+
.pipe(replace(regExp.siteVariable, siteVariable))
|
362
|
+
.pipe(gulp.dest(installPaths.themeConfigFolder))
|
363
|
+
;
|
364
|
+
});
|
329
365
|
|
330
|
-
|
331
|
-
|
332
|
-
|
366
|
+
/* --------------
|
367
|
+
Semantic.json
|
368
|
+
--------------- */
|
369
|
+
|
370
|
+
gulp.task('create semantic.json', function () {
|
371
|
+
let
|
372
|
+
jsonConfig = install.createJSON(answers)
|
373
|
+
;
|
374
|
+
|
375
|
+
// adjust variables in theme.less
|
376
|
+
if (fs.existsSync(installPaths.config)) {
|
377
|
+
console.info('Extending config file (semantic.json)', installPaths.config);
|
378
|
+
|
379
|
+
return gulp.src(installPaths.config)
|
380
|
+
.pipe(plumber())
|
381
|
+
.pipe(rename(settings.rename.json)) // preserve file extension
|
382
|
+
.pipe(jsonEditor(jsonConfig))
|
383
|
+
.pipe(gulp.dest(installPaths.configFolder))
|
384
|
+
;
|
385
|
+
}
|
333
386
|
|
334
|
-
|
335
|
-
if (fs.existsSync(installPaths.site)) {
|
336
|
-
console.info('Site folder exists, merging files (no overwrite)', installPaths.site);
|
337
|
-
} else {
|
338
|
-
console.info('Creating site theme folder', installPaths.site);
|
339
|
-
}
|
340
|
-
wrench.copyDirSyncRecursive(source.site, installPaths.site, settings.wrench.merge);
|
341
|
-
|
342
|
-
/*--------------
|
343
|
-
Theme Config
|
344
|
-
---------------*/
|
345
|
-
|
346
|
-
gulp.task('create theme.config', function () {
|
347
|
-
var
|
348
|
-
// determine path to site theme folder from theme config
|
349
|
-
// force CSS path variable to use forward slashes for paths
|
350
|
-
pathToSite = path.relative(path.resolve(installPaths.themeConfigFolder), path.resolve(installPaths.site)).replace(/\\/g, '/'),
|
351
|
-
siteVariable = "@siteFolder : '" + pathToSite + "/';"
|
352
|
-
;
|
353
|
-
|
354
|
-
// rewrite site variable in theme.less
|
355
|
-
console.info('Adjusting @siteFolder to: ', pathToSite + '/');
|
356
|
-
|
357
|
-
if (fs.existsSync(installPaths.themeConfig)) {
|
358
|
-
console.info('Modifying src/theme.config (LESS config)', installPaths.themeConfig);
|
359
|
-
return gulp.src(installPaths.themeConfig)
|
360
|
-
.pipe(plumber())
|
361
|
-
.pipe(replace(regExp.siteVariable, siteVariable))
|
362
|
-
.pipe(gulp.dest(installPaths.themeConfigFolder))
|
363
|
-
;
|
364
|
-
} else {
|
365
|
-
console.info('Creating src/theme.config (LESS config)', installPaths.themeConfig);
|
366
|
-
return gulp.src(source.themeConfig)
|
367
|
-
.pipe(plumber())
|
368
|
-
.pipe(rename({extname: ''}))
|
369
|
-
.pipe(replace(regExp.siteVariable, siteVariable))
|
370
|
-
.pipe(gulp.dest(installPaths.themeConfigFolder))
|
371
|
-
;
|
372
|
-
}
|
373
|
-
});
|
387
|
+
console.info('Creating config file (semantic.json)', installPaths.config);
|
374
388
|
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
jsonConfig = install.createJSON(answers)
|
383
|
-
;
|
384
|
-
|
385
|
-
// adjust variables in theme.less
|
386
|
-
if (fs.existsSync(installPaths.config)) {
|
387
|
-
console.info('Extending config file (semantic.json)', installPaths.config);
|
388
|
-
return gulp.src(installPaths.config)
|
389
|
-
.pipe(plumber())
|
390
|
-
.pipe(rename(settings.rename.json)) // preserve file extension
|
391
|
-
.pipe(jsonEditor(jsonConfig))
|
392
|
-
.pipe(gulp.dest(installPaths.configFolder))
|
393
|
-
;
|
394
|
-
} else {
|
395
|
-
console.info('Creating config file (semantic.json)', installPaths.config);
|
396
|
-
return gulp.src(source.config)
|
397
|
-
.pipe(plumber())
|
398
|
-
.pipe(rename({extname: ''})) // remove .template from ext
|
399
|
-
.pipe(jsonEditor(jsonConfig, {end_with_newline: true}))
|
400
|
-
.pipe(gulp.dest(installPaths.configFolder))
|
401
|
-
;
|
402
|
-
}
|
389
|
+
return gulp.src(source.config)
|
390
|
+
.pipe(plumber())
|
391
|
+
.pipe(rename({ extname: '' })) // remove .template from ext
|
392
|
+
.pipe(jsonEditor(jsonConfig, { end_with_newline: true }))
|
393
|
+
.pipe(gulp.dest(installPaths.configFolder))
|
394
|
+
;
|
395
|
+
});
|
403
396
|
|
397
|
+
gulp.series('create theme.config', 'create semantic.json')(callback);
|
404
398
|
});
|
405
399
|
|
406
|
-
gulp.
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
// If auto-install is switched on, we skip the configuration section and simply build the dependencies
|
420
|
-
if (install.shouldAutoInstall()) {
|
421
|
-
gulp.series('build')(callback);
|
422
|
-
} else {
|
423
|
-
// We don't return the inquirer promise on purpose because we handle the callback ourselves
|
424
|
-
inquirer.prompt(questions.cleanup)
|
425
|
-
.then((answers) => {
|
426
|
-
if (answers.cleanup === 'yes') {
|
427
|
-
del(install.setupFiles);
|
428
|
-
}
|
429
|
-
if (answers.build === 'yes') {
|
430
|
-
gulp.series('build')(callback);
|
400
|
+
gulp.task('clean up install', function (callback) {
|
401
|
+
// Completion Message
|
402
|
+
if (installFolder && !install.shouldAutoInstall()) {
|
403
|
+
console.log('\n Setup Complete! \n Installing Peer Dependencies. \u001B[0;31mPlease refrain from ctrl + c\u001B[0m... \n After completion navigate to \u001B[92m' + answers.semanticRoot + '\u001B[0m and run "\u001B[92mgulp build\u001B[0m" to build');
|
404
|
+
callback();
|
405
|
+
} else {
|
406
|
+
console.log('');
|
407
|
+
console.log('');
|
408
|
+
|
409
|
+
// If auto-install is switched on, we skip the configuration section and simply build the dependencies
|
410
|
+
if (install.shouldAutoInstall()) {
|
411
|
+
gulp.series('build')(callback);
|
431
412
|
} else {
|
432
|
-
|
413
|
+
// We don't return the inquirer promise on purpose because we handle the callback ourselves
|
414
|
+
inquirer.prompt(questions.cleanup)
|
415
|
+
.then((answers) => {
|
416
|
+
if (answers.cleanup === 'yes') {
|
417
|
+
del(install.setupFiles);
|
418
|
+
}
|
419
|
+
if (answers.build === 'yes') {
|
420
|
+
gulp.series('build')(callback);
|
421
|
+
} else {
|
422
|
+
callback();
|
423
|
+
}
|
424
|
+
})
|
425
|
+
;
|
433
426
|
}
|
434
|
-
|
435
|
-
|
436
|
-
}
|
437
|
-
});
|
427
|
+
}
|
428
|
+
});
|
438
429
|
|
439
|
-
|
430
|
+
gulp.series('run setup', 'create install files', 'clean up install')(callback);
|
440
431
|
};
|