From 70fb66297b26230dce567947131cf700f954079a Mon Sep 17 00:00:00 2001 From: Jeff Morgan Date: Sun, 21 Dec 2014 00:08:50 -0500 Subject: [PATCH 01/18] Basic asset pipeline for atom-shell based development & release --- app/App.js | 55 + app/Store.js | 18 + app/__tests__/sum-test.js | 8 + app/actions.js | 5 + app/index.html | 9 + app/main.js | 4 + .../styles/bootstrap/alerts.less | 0 .../styles/bootstrap/badges.less | 8 +- app/styles/bootstrap/bootstrap.less | 50 + .../styles/bootstrap/breadcrumbs.less | 0 .../styles/bootstrap/button-groups.less | 29 +- .../styles/bootstrap/buttons.less | 11 +- .../styles/bootstrap/carousel.less | 24 + .../styles/bootstrap/close.less | 0 .../styles/bootstrap/code.less | 1 + .../bootstrap/component-animations.less | 7 +- .../styles/bootstrap/dropdowns.less | 10 +- .../styles/bootstrap/forms.less | 86 +- .../styles/bootstrap/glyphicons.less | 3 +- .../styles/bootstrap/grid.less | 0 .../styles/bootstrap/input-groups.less | 0 .../styles/bootstrap/jumbotron.less | 11 +- .../styles/bootstrap/labels.less | 0 .../styles/bootstrap/list-group.less | 9 +- app/styles/bootstrap/media.less | 47 + app/styles/bootstrap/mixins.less | 39 + .../styles/bootstrap/mixins/alerts.less | 0 .../bootstrap/mixins/background-variant.less | 0 .../bootstrap/mixins/border-radius.less | 0 .../styles/bootstrap/mixins/buttons.less | 2 + .../styles/bootstrap/mixins/center-block.less | 0 .../styles/bootstrap/mixins/clearfix.less | 0 .../styles/bootstrap/mixins/forms.less | 8 +- .../styles/bootstrap/mixins/gradients.less | 0 .../bootstrap/mixins/grid-framework.less | 4 +- .../styles/bootstrap/mixins/grid.less | 0 .../styles/bootstrap/mixins/hide-text.less | 0 .../styles/bootstrap/mixins/image.less | 1 - .../styles/bootstrap/mixins/labels.less | 2 +- .../styles/bootstrap/mixins/list-group.less | 0 .../styles/bootstrap/mixins/nav-divider.less | 0 .../bootstrap/mixins/nav-vertical-align.less | 0 .../styles/bootstrap/mixins/opacity.less | 0 .../styles/bootstrap/mixins/pagination.less | 0 .../styles/bootstrap/mixins/panels.less | 0 .../styles/bootstrap/mixins/progress-bar.less | 0 .../styles/bootstrap/mixins/reset-filter.less | 0 .../styles/bootstrap/mixins/resize.less | 0 .../mixins/responsive-visibility.less | 2 +- .../styles/bootstrap/mixins/size.less | 0 .../styles/bootstrap/mixins/tab-focus.less | 0 .../styles/bootstrap/mixins/table-row.less | 0 .../bootstrap/mixins/text-emphasis.less | 0 .../bootstrap/mixins/text-overflow.less | 0 .../bootstrap/mixins/vendor-prefixes.less | 9 +- .../styles/bootstrap/modals.less | 8 +- .../styles/bootstrap/navbar.less | 55 +- .../styles/bootstrap/navs.less | 4 +- .../styles/bootstrap/normalize.less | 8 +- .../styles/bootstrap/pager.less | 3 +- .../styles/bootstrap/pagination.less | 2 +- .../styles/bootstrap/panels.less | 24 +- .../styles/bootstrap/popovers.less | 10 +- app/styles/bootstrap/print.less | 107 + .../styles/bootstrap/progress-bars.less | 20 +- .../styles/bootstrap/responsive-embed.less | 3 +- .../bootstrap/responsive-utilities.less | 0 .../styles/bootstrap/scaffolding.less | 4 +- .../styles/bootstrap/tables.less | 21 +- .../styles/bootstrap/theme.less | 36 +- .../styles/bootstrap/thumbnails.less | 2 +- .../styles/bootstrap/tooltip.less | 16 +- .../styles/bootstrap/type.less | 11 - .../styles/bootstrap/utilities.less | 1 - .../styles/bootstrap/variables.less | 50 +- .../styles/bootstrap/wells.less | 0 app/styles/main.less | 5 + app/sum.js | 5 + browser/main.js | 88 + build/index.html | 9 + build/main.css | 6292 +++++++++++++++++ build/main.js | 90 + gulpfile.js | 178 + index.js | 197 - install.sh | 7 + meteor/.gitignore | 6 - meteor/.jshintrc | 186 - meteor/.meteor/.finished-upgraders | 7 - meteor/.meteor/.gitignore | 1 - meteor/.meteor/.id | 7 - meteor/.meteor/identifier | 1 - meteor/.meteor/packages | 12 - meteor/.meteor/platforms | 2 - meteor/.meteor/release | 1 - meteor/.meteor/versions | 64 - .../javascripts/jquery.serializeObject.js | 40 - meteor/client/lib/apputil.js | 258 - meteor/client/lib/boot2docker.js | 283 - meteor/client/lib/docker.js | 237 - meteor/client/lib/form-schemas.js | 29 - meteor/client/lib/forms.js | 23 - meteor/client/lib/imageutil.js | 334 - meteor/client/lib/ipc.js | 15 - meteor/client/lib/menu.js | 130 - meteor/client/lib/metrics.js | 68 - meteor/client/lib/router.js | 111 - meteor/client/lib/setup.js | 172 - meteor/client/lib/startup.js | 34 - meteor/client/lib/util.js | 192 - meteor/client/lib/validations.js | 141 - meteor/client/lib/virtualbox.js | 118 - meteor/client/main.html | 7 - meteor/client/main.js | 243 - meteor/client/main.less | 12 - .../bootstrap/bootstrap.import.less | 50 - .../stylesheets/bootstrap/media.import.less | 56 - .../stylesheets/bootstrap/mixins.import.less | 39 - .../stylesheets/bootstrap/print.import.less | 101 - .../client/stylesheets/dashboard.import.less | 374 - .../font-awesome/bordered-pulled.import.less | 16 - .../stylesheets/font-awesome/core.import.less | 12 - .../font-awesome/fixed-width.import.less | 6 - .../font-awesome/font-awesome.import.less | 17 - .../font-awesome/icons.import.less | 506 -- .../font-awesome/larger.import.less | 13 - .../stylesheets/font-awesome/list.import.less | 19 - .../font-awesome/mixins.import.less | 20 - .../stylesheets/font-awesome/path.import.less | 14 - .../font-awesome/rotated-flipped.import.less | 9 - .../font-awesome/spinning.import.less | 32 - .../font-awesome/stacked.import.less | 20 - .../font-awesome/variables.import.less | 513 -- meteor/client/stylesheets/intro.import.less | 15 - meteor/client/stylesheets/mac.import.less | 54 - meteor/client/stylesheets/mixins.import.less | 22 - meteor/client/stylesheets/radial.import.less | 109 - meteor/client/stylesheets/spinner.import.less | 83 - meteor/client/stylesheets/theme.import.less | 262 - .../stylesheets/typicons/typicons.import.less | 1040 --- .../client/stylesheets/variables.import.less | 64 - meteor/client/stylesheets/widgets.import.less | 111 - meteor/client/views/application/layout.html | 3 - .../dashboard/apps/dashboard-apps-logs.html | 7 - .../dashboard/apps/dashboard-apps-ports.html | 13 - .../apps/dashboard-apps-settings.html | 72 - .../dashboard/apps/dashboard-apps-settings.js | 81 - .../views/dashboard/apps/dashboard-apps.html | 35 - .../views/dashboard/apps/dashboard-apps.js | 5 - .../dashboard/apps/dashboard-apps.ports.js | 18 - .../dashboard/apps/dashboard-single-app.html | 70 - .../dashboard/apps/dashboard-single-app.js | 112 - .../dashboard/components/dashboard-menu.html | 20 - .../dashboard/components/dashboard-menu.js | 26 - .../dashboard/components/menu-header.html | 4 - .../components/modal-create-app.html | 59 - .../dashboard/components/modal-create-app.js | 79 - .../components/modal-create-image.html | 24 - .../components/modal-create-image.js | 74 - meteor/client/views/dashboard/helpers.js | 14 - .../images/dashboard-images-logs.html | 18 - .../images/dashboard-images-settings.html | 77 - .../images/dashboard-images-settings.js | 45 - .../dashboard/images/dashboard-images.html | 37 - .../dashboard/images/dashboard-images.js | 5 - .../images/dashboard-single-image.html | 46 - .../images/dashboard-single-image.js | 27 - .../client/views/dashboard/intro/intro.html | 20 - meteor/client/views/dashboard/intro/intro.js | 23 - .../layouts/dashboard-apps-layout.html | 42 - .../layouts/dashboard-apps-layout.js | 51 - .../layouts/dashboard-images-layout.html | 42 - .../layouts/dashboard-images-layout.js | 25 - .../dashboard/layouts/dashboard-layout.html | 15 - .../settings/dashboard-settings.html | 47 - .../dashboard/settings/dashboard-settings.js | 30 - .../views/includes/radial-progress.html | 19 - .../client/views/includes/radial-spinner.html | 14 - meteor/client/views/includes/spinner.html | 20 - .../views/includes/update-notification.html | 5 - .../views/includes/update-notification.js | 13 - meteor/collections/apps.js | 73 - meteor/collections/images.js | 38 - meteor/collections/settings.js | 13 - meteor/jshint.sh | 3 - meteor/lib/validations.js | 141 - meteor/packages/.gitignore | 17 - meteor/public/continue.png | Bin 4393 -> 0 bytes meteor/public/continue@2x.png | Bin 6950 -> 0 bytes meteor/public/fonts/FontAwesome.otf | Bin 75188 -> 0 bytes meteor/public/fonts/fontawesome-webfont.eot | Bin 72449 -> 0 bytes meteor/public/fonts/fontawesome-webfont.svg | 504 -- meteor/public/fonts/fontawesome-webfont.ttf | Bin 141564 -> 0 bytes meteor/public/fonts/fontawesome-webfont.woff | Bin 83760 -> 0 bytes meteor/public/fonts/typicons.eot | Bin 100204 -> 0 bytes meteor/public/fonts/typicons.svg | 1180 ---- meteor/public/fonts/typicons.ttf | Bin 99920 -> 0 bytes meteor/public/fonts/typicons.woff | Bin 59872 -> 0 bytes meteor/public/image-placeholder.png | Bin 5796 -> 0 bytes meteor/public/install_finished.png | Bin 9872 -> 0 bytes meteor/public/install_finished@2x.png | Bin 23869 -> 0 bytes meteor/public/logo-square-transparent.png | Bin 1052 -> 0 bytes meteor/public/logo-square-white.png | Bin 1055 -> 0 bytes meteor/public/mac/logo.png | Bin 4134 -> 0 bytes meteor/public/mac/logo@2x.png | Bin 5933 -> 0 bytes meteor/public/mac/mac-close-hover.png | Bin 716 -> 0 bytes meteor/public/mac/mac-close.png | Bin 659 -> 0 bytes meteor/public/mac/mac-maximize-hover.png | Bin 670 -> 0 bytes meteor/public/mac/mac-maximize.png | Bin 664 -> 0 bytes meteor/public/mac/mac-minimize-hover.png | Bin 666 -> 0 bytes meteor/public/mac/mac-minimize.png | Bin 646 -> 0 bytes meteor/public/step_failed.png | Bin 4112 -> 0 bytes meteor/public/step_failed@2x.png | Bin 5829 -> 0 bytes meteor/public/step_finished.png | Bin 4289 -> 0 bytes meteor/public/step_finished@2x.png | Bin 6227 -> 0 bytes meteor/public/step_pending.png | Bin 3916 -> 0 bytes meteor/public/step_pending@2x.png | Bin 5329 -> 0 bytes meteor/server/lib/startup.js | 3 - meteor/server/publications.js | 15 - meteor/settings_dev.json | 7 - package.json | 47 +- script/colors.sh | 12 - script/dist.sh | 78 - script/run.sh | 14 - script/setup.sh | 63 - specs/App-spec.js | 11 + 225 files changed, 7358 insertions(+), 10227 deletions(-) create mode 100644 app/App.js create mode 100644 app/Store.js create mode 100644 app/__tests__/sum-test.js create mode 100644 app/actions.js create mode 100644 app/index.html create mode 100644 app/main.js rename meteor/client/stylesheets/bootstrap/alerts.import.less => app/styles/bootstrap/alerts.less (100%) rename meteor/client/stylesheets/bootstrap/badges.import.less => app/styles/bootstrap/badges.less (88%) create mode 100755 app/styles/bootstrap/bootstrap.less rename meteor/client/stylesheets/bootstrap/breadcrumbs.import.less => app/styles/bootstrap/breadcrumbs.less (100%) rename meteor/client/stylesheets/bootstrap/button-groups.import.less => app/styles/bootstrap/button-groups.less (88%) rename meteor/client/stylesheets/bootstrap/buttons.import.less => app/styles/bootstrap/buttons.less (96%) rename meteor/client/stylesheets/bootstrap/carousel.import.less => app/styles/bootstrap/carousel.less (89%) rename meteor/client/stylesheets/bootstrap/close.import.less => app/styles/bootstrap/close.less (100%) rename meteor/client/stylesheets/bootstrap/code.import.less => app/styles/bootstrap/code.less (98%) rename meteor/client/stylesheets/bootstrap/component-animations.import.less => app/styles/bootstrap/component-animations.less (73%) rename meteor/client/stylesheets/bootstrap/dropdowns.import.less => app/styles/bootstrap/dropdowns.less (96%) rename meteor/client/stylesheets/bootstrap/forms.import.less => app/styles/bootstrap/forms.less (88%) rename meteor/client/stylesheets/bootstrap/glyphicons.import.less => app/styles/bootstrap/glyphicons.less (99%) rename meteor/client/stylesheets/bootstrap/grid.import.less => app/styles/bootstrap/grid.less (100%) rename meteor/client/stylesheets/bootstrap/input-groups.import.less => app/styles/bootstrap/input-groups.less (100%) rename meteor/client/stylesheets/bootstrap/jumbotron.import.less => app/styles/bootstrap/jumbotron.less (81%) rename meteor/client/stylesheets/bootstrap/labels.import.less => app/styles/bootstrap/labels.less (100%) rename meteor/client/stylesheets/bootstrap/list-group.import.less => app/styles/bootstrap/list-group.less (96%) create mode 100755 app/styles/bootstrap/media.less create mode 100755 app/styles/bootstrap/mixins.less rename meteor/client/stylesheets/bootstrap/mixins/alerts.import.less => app/styles/bootstrap/mixins/alerts.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/background-variant.import.less => app/styles/bootstrap/mixins/background-variant.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/border-radius.import.less => app/styles/bootstrap/mixins/border-radius.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/buttons.import.less => app/styles/bootstrap/mixins/buttons.less (97%) rename meteor/client/stylesheets/bootstrap/mixins/center-block.import.less => app/styles/bootstrap/mixins/center-block.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/clearfix.import.less => app/styles/bootstrap/mixins/clearfix.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/forms.import.less => app/styles/bootstrap/mixins/forms.less (92%) rename meteor/client/stylesheets/bootstrap/mixins/gradients.import.less => app/styles/bootstrap/mixins/gradients.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/grid-framework.import.less => app/styles/bootstrap/mixins/grid-framework.less (96%) rename meteor/client/stylesheets/bootstrap/mixins/grid.import.less => app/styles/bootstrap/mixins/grid.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/hide-text.import.less => app/styles/bootstrap/mixins/hide-text.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/image.import.less => app/styles/bootstrap/mixins/image.less (93%) rename meteor/client/stylesheets/bootstrap/mixins/labels.import.less => app/styles/bootstrap/mixins/labels.less (98%) rename meteor/client/stylesheets/bootstrap/mixins/list-group.import.less => app/styles/bootstrap/mixins/list-group.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/nav-divider.import.less => app/styles/bootstrap/mixins/nav-divider.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/nav-vertical-align.import.less => app/styles/bootstrap/mixins/nav-vertical-align.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/opacity.import.less => app/styles/bootstrap/mixins/opacity.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/pagination.import.less => app/styles/bootstrap/mixins/pagination.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/panels.import.less => app/styles/bootstrap/mixins/panels.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/progress-bar.import.less => app/styles/bootstrap/mixins/progress-bar.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/reset-filter.import.less => app/styles/bootstrap/mixins/reset-filter.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/resize.import.less => app/styles/bootstrap/mixins/resize.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/responsive-visibility.import.less => app/styles/bootstrap/mixins/responsive-visibility.less (78%) rename meteor/client/stylesheets/bootstrap/mixins/size.import.less => app/styles/bootstrap/mixins/size.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/tab-focus.import.less => app/styles/bootstrap/mixins/tab-focus.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/table-row.import.less => app/styles/bootstrap/mixins/table-row.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/text-emphasis.import.less => app/styles/bootstrap/mixins/text-emphasis.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/text-overflow.import.less => app/styles/bootstrap/mixins/text-overflow.less (100%) rename meteor/client/stylesheets/bootstrap/mixins/vendor-prefixes.import.less => app/styles/bootstrap/mixins/vendor-prefixes.less (96%) rename meteor/client/stylesheets/bootstrap/modals.import.less => app/styles/bootstrap/modals.less (95%) rename meteor/client/stylesheets/bootstrap/navbar.import.less => app/styles/bootstrap/navbar.less (96%) rename meteor/client/stylesheets/bootstrap/navs.import.less => app/styles/bootstrap/navs.less (98%) rename meteor/client/stylesheets/bootstrap/normalize.import.less => app/styles/bootstrap/normalize.less (98%) rename meteor/client/stylesheets/bootstrap/pager.import.less => app/styles/bootstrap/pager.less (96%) rename meteor/client/stylesheets/bootstrap/pagination.import.less => app/styles/bootstrap/pagination.less (98%) rename meteor/client/stylesheets/bootstrap/panels.import.less => app/styles/bootstrap/panels.less (90%) rename meteor/client/stylesheets/bootstrap/popovers.import.less => app/styles/bootstrap/popovers.less (94%) create mode 100755 app/styles/bootstrap/print.less rename meteor/client/stylesheets/bootstrap/progress-bars.import.less => app/styles/bootstrap/progress-bars.less (85%) rename meteor/client/stylesheets/bootstrap/responsive-embed.import.less => app/styles/bootstrap/responsive-embed.less (96%) rename meteor/client/stylesheets/bootstrap/responsive-utilities.import.less => app/styles/bootstrap/responsive-utilities.less (100%) rename meteor/client/stylesheets/bootstrap/scaffolding.import.less => app/styles/bootstrap/scaffolding.less (95%) rename meteor/client/stylesheets/bootstrap/tables.import.less => app/styles/bootstrap/tables.less (92%) rename meteor/client/stylesheets/bootstrap/theme.import.less => app/styles/bootstrap/theme.less (89%) rename meteor/client/stylesheets/bootstrap/thumbnails.import.less => app/styles/bootstrap/thumbnails.less (94%) rename meteor/client/stylesheets/bootstrap/tooltip.import.less => app/styles/bootstrap/tooltip.less (87%) rename meteor/client/stylesheets/bootstrap/type.import.less => app/styles/bootstrap/type.less (97%) rename meteor/client/stylesheets/bootstrap/utilities.import.less => app/styles/bootstrap/utilities.less (96%) rename meteor/client/stylesheets/bootstrap/variables.import.less => app/styles/bootstrap/variables.less (94%) rename meteor/client/stylesheets/bootstrap/wells.import.less => app/styles/bootstrap/wells.less (100%) create mode 100644 app/styles/main.less create mode 100644 app/sum.js create mode 100644 browser/main.js create mode 100644 build/index.html create mode 100644 build/main.css create mode 100644 build/main.js create mode 100644 gulpfile.js delete mode 100644 index.js create mode 100755 install.sh delete mode 100755 meteor/.gitignore delete mode 100755 meteor/.jshintrc delete mode 100644 meteor/.meteor/.finished-upgraders delete mode 100755 meteor/.meteor/.gitignore delete mode 100644 meteor/.meteor/.id delete mode 100644 meteor/.meteor/identifier delete mode 100755 meteor/.meteor/packages delete mode 100644 meteor/.meteor/platforms delete mode 100755 meteor/.meteor/release delete mode 100644 meteor/.meteor/versions delete mode 100755 meteor/client/javascripts/jquery.serializeObject.js delete mode 100644 meteor/client/lib/apputil.js delete mode 100644 meteor/client/lib/boot2docker.js delete mode 100644 meteor/client/lib/docker.js delete mode 100644 meteor/client/lib/form-schemas.js delete mode 100644 meteor/client/lib/forms.js delete mode 100644 meteor/client/lib/imageutil.js delete mode 100644 meteor/client/lib/ipc.js delete mode 100644 meteor/client/lib/menu.js delete mode 100644 meteor/client/lib/metrics.js delete mode 100755 meteor/client/lib/router.js delete mode 100644 meteor/client/lib/setup.js delete mode 100644 meteor/client/lib/startup.js delete mode 100755 meteor/client/lib/util.js delete mode 100644 meteor/client/lib/validations.js delete mode 100644 meteor/client/lib/virtualbox.js delete mode 100755 meteor/client/main.html delete mode 100755 meteor/client/main.js delete mode 100755 meteor/client/main.less delete mode 100755 meteor/client/stylesheets/bootstrap/bootstrap.import.less delete mode 100755 meteor/client/stylesheets/bootstrap/media.import.less delete mode 100755 meteor/client/stylesheets/bootstrap/mixins.import.less delete mode 100755 meteor/client/stylesheets/bootstrap/print.import.less delete mode 100755 meteor/client/stylesheets/dashboard.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/bordered-pulled.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/core.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/fixed-width.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/font-awesome.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/icons.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/larger.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/list.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/mixins.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/path.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/rotated-flipped.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/spinning.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/stacked.import.less delete mode 100755 meteor/client/stylesheets/font-awesome/variables.import.less delete mode 100644 meteor/client/stylesheets/intro.import.less delete mode 100644 meteor/client/stylesheets/mac.import.less delete mode 100644 meteor/client/stylesheets/mixins.import.less delete mode 100644 meteor/client/stylesheets/radial.import.less delete mode 100644 meteor/client/stylesheets/spinner.import.less delete mode 100755 meteor/client/stylesheets/theme.import.less delete mode 100644 meteor/client/stylesheets/typicons/typicons.import.less delete mode 100755 meteor/client/stylesheets/variables.import.less delete mode 100755 meteor/client/stylesheets/widgets.import.less delete mode 100755 meteor/client/views/application/layout.html delete mode 100644 meteor/client/views/dashboard/apps/dashboard-apps-logs.html delete mode 100644 meteor/client/views/dashboard/apps/dashboard-apps-ports.html delete mode 100755 meteor/client/views/dashboard/apps/dashboard-apps-settings.html delete mode 100755 meteor/client/views/dashboard/apps/dashboard-apps-settings.js delete mode 100755 meteor/client/views/dashboard/apps/dashboard-apps.html delete mode 100755 meteor/client/views/dashboard/apps/dashboard-apps.js delete mode 100644 meteor/client/views/dashboard/apps/dashboard-apps.ports.js delete mode 100755 meteor/client/views/dashboard/apps/dashboard-single-app.html delete mode 100755 meteor/client/views/dashboard/apps/dashboard-single-app.js delete mode 100755 meteor/client/views/dashboard/components/dashboard-menu.html delete mode 100755 meteor/client/views/dashboard/components/dashboard-menu.js delete mode 100644 meteor/client/views/dashboard/components/menu-header.html delete mode 100755 meteor/client/views/dashboard/components/modal-create-app.html delete mode 100755 meteor/client/views/dashboard/components/modal-create-app.js delete mode 100755 meteor/client/views/dashboard/components/modal-create-image.html delete mode 100755 meteor/client/views/dashboard/components/modal-create-image.js delete mode 100755 meteor/client/views/dashboard/helpers.js delete mode 100755 meteor/client/views/dashboard/images/dashboard-images-logs.html delete mode 100755 meteor/client/views/dashboard/images/dashboard-images-settings.html delete mode 100755 meteor/client/views/dashboard/images/dashboard-images-settings.js delete mode 100755 meteor/client/views/dashboard/images/dashboard-images.html delete mode 100755 meteor/client/views/dashboard/images/dashboard-images.js delete mode 100755 meteor/client/views/dashboard/images/dashboard-single-image.html delete mode 100755 meteor/client/views/dashboard/images/dashboard-single-image.js delete mode 100644 meteor/client/views/dashboard/intro/intro.html delete mode 100644 meteor/client/views/dashboard/intro/intro.js delete mode 100755 meteor/client/views/dashboard/layouts/dashboard-apps-layout.html delete mode 100644 meteor/client/views/dashboard/layouts/dashboard-apps-layout.js delete mode 100755 meteor/client/views/dashboard/layouts/dashboard-images-layout.html delete mode 100755 meteor/client/views/dashboard/layouts/dashboard-images-layout.js delete mode 100755 meteor/client/views/dashboard/layouts/dashboard-layout.html delete mode 100644 meteor/client/views/dashboard/settings/dashboard-settings.html delete mode 100644 meteor/client/views/dashboard/settings/dashboard-settings.js delete mode 100644 meteor/client/views/includes/radial-progress.html delete mode 100644 meteor/client/views/includes/radial-spinner.html delete mode 100644 meteor/client/views/includes/spinner.html delete mode 100644 meteor/client/views/includes/update-notification.html delete mode 100644 meteor/client/views/includes/update-notification.js delete mode 100755 meteor/collections/apps.js delete mode 100755 meteor/collections/images.js delete mode 100644 meteor/collections/settings.js delete mode 100755 meteor/jshint.sh delete mode 100755 meteor/lib/validations.js delete mode 100755 meteor/packages/.gitignore delete mode 100644 meteor/public/continue.png delete mode 100644 meteor/public/continue@2x.png delete mode 100644 meteor/public/fonts/FontAwesome.otf delete mode 100755 meteor/public/fonts/fontawesome-webfont.eot delete mode 100755 meteor/public/fonts/fontawesome-webfont.svg delete mode 100755 meteor/public/fonts/fontawesome-webfont.ttf delete mode 100755 meteor/public/fonts/fontawesome-webfont.woff delete mode 100755 meteor/public/fonts/typicons.eot delete mode 100755 meteor/public/fonts/typicons.svg delete mode 100755 meteor/public/fonts/typicons.ttf delete mode 100755 meteor/public/fonts/typicons.woff delete mode 100755 meteor/public/image-placeholder.png delete mode 100644 meteor/public/install_finished.png delete mode 100644 meteor/public/install_finished@2x.png delete mode 100755 meteor/public/logo-square-transparent.png delete mode 100755 meteor/public/logo-square-white.png delete mode 100644 meteor/public/mac/logo.png delete mode 100644 meteor/public/mac/logo@2x.png delete mode 100644 meteor/public/mac/mac-close-hover.png delete mode 100644 meteor/public/mac/mac-close.png delete mode 100644 meteor/public/mac/mac-maximize-hover.png delete mode 100644 meteor/public/mac/mac-maximize.png delete mode 100644 meteor/public/mac/mac-minimize-hover.png delete mode 100644 meteor/public/mac/mac-minimize.png delete mode 100644 meteor/public/step_failed.png delete mode 100644 meteor/public/step_failed@2x.png delete mode 100644 meteor/public/step_finished.png delete mode 100644 meteor/public/step_finished@2x.png delete mode 100644 meteor/public/step_pending.png delete mode 100644 meteor/public/step_pending@2x.png delete mode 100644 meteor/server/lib/startup.js delete mode 100755 meteor/server/publications.js delete mode 100644 meteor/settings_dev.json delete mode 100644 script/colors.sh delete mode 100755 script/dist.sh delete mode 100755 script/run.sh delete mode 100755 script/setup.sh create mode 100644 specs/App-spec.js diff --git a/app/App.js b/app/App.js new file mode 100644 index 0000000000..bb71e66781 --- /dev/null +++ b/app/App.js @@ -0,0 +1,55 @@ +/** @jsx React.DOM */ +var React = require('react'); +var Store = require('./Store.js'); +var actions = require('./actions.js'); + +var App = React.createClass({ + getInitialState: function () { + return { + messages: Store.getMessages(), + newMessage: '' + }; + }, + componentWillMount: function () { + Store.addChangeListener(this.changeState); + }, + componentWillUnmount: function () { + Store.removeChangeListener(this.changeState); + }, + changeState: function () { + this.setState({ + messages: Store.getMessages() + }); + }, + addMessage: function (event) { + event.preventDefault(); + var input = this.refs.newMessage.getDOMNode(); + actions.addMessage(input.value); + this.setState({ + newMessage: '' + }); + }, + updateNewMessage: function (event) { + this.setState({ + newMessage: event.target.value + }); + }, + renderMessages: function (message) { + return ( +
{message}
+ ); + }, + render: function() { + return ( +
+ {this.state.messages.map(this.renderMessages)} +
+ +
+
+ ); + } + +}); + +module.exports = App; diff --git a/app/Store.js b/app/Store.js new file mode 100644 index 0000000000..7a7c0dbc62 --- /dev/null +++ b/app/Store.js @@ -0,0 +1,18 @@ +var flux = require('flux-react'); +var actions = require('./actions.js'); + +module.exports = flux.createStore({ + messages: [], + actions: [ + actions.addMessage + ], + addMessage: function (message) { + this.messages.push(message); + this.emitChange(); + }, + exports: { + getMessages: function () { + return this.messages; + } + } +}); \ No newline at end of file diff --git a/app/__tests__/sum-test.js b/app/__tests__/sum-test.js new file mode 100644 index 0000000000..ead8bcd786 --- /dev/null +++ b/app/__tests__/sum-test.js @@ -0,0 +1,8 @@ +jest.dontMock('../sum'); + +describe('sum', function() { + it('adds 1 + 2 to equal 3', function() { + var sum = require('../sum'); + expect(sum(1, 2)).toBe(3); + }); +}); diff --git a/app/actions.js b/app/actions.js new file mode 100644 index 0000000000..1b984841b3 --- /dev/null +++ b/app/actions.js @@ -0,0 +1,5 @@ +var flux = require('flux-react'); + +module.exports = flux.createActions([ + 'addMessage' +]); \ No newline at end of file diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000000..1914cbaadc --- /dev/null +++ b/app/index.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/main.js b/app/main.js new file mode 100644 index 0000000000..2d7e7a24ba --- /dev/null +++ b/app/main.js @@ -0,0 +1,4 @@ +/** @jsx React.DOM */ +var React = require('react'); +var App = require('./App.js'); +React.render(, document.body); diff --git a/meteor/client/stylesheets/bootstrap/alerts.import.less b/app/styles/bootstrap/alerts.less similarity index 100% rename from meteor/client/stylesheets/bootstrap/alerts.import.less rename to app/styles/bootstrap/alerts.less diff --git a/meteor/client/stylesheets/bootstrap/badges.import.less b/app/styles/bootstrap/badges.less similarity index 88% rename from meteor/client/stylesheets/bootstrap/badges.import.less rename to app/styles/bootstrap/badges.less index 20624f30db..b27c405a30 100755 --- a/meteor/client/stylesheets/bootstrap/badges.import.less +++ b/app/styles/bootstrap/badges.less @@ -44,11 +44,17 @@ } // Account for badges in navs - a.list-group-item.active > &, + .list-group-item.active > &, .nav-pills > .active > a > & { color: @badge-active-color; background-color: @badge-active-bg; } + .list-group-item > & { + float: right; + } + .list-group-item > & + & { + margin-right: 5px; + } .nav-pills > li > a > & { margin-left: 3px; } diff --git a/app/styles/bootstrap/bootstrap.less b/app/styles/bootstrap/bootstrap.less new file mode 100755 index 0000000000..61b77474f9 --- /dev/null +++ b/app/styles/bootstrap/bootstrap.less @@ -0,0 +1,50 @@ +// Core variables and mixins +@import "variables.less"; +@import "mixins.less"; + +// Reset and dependencies +@import "normalize.less"; +@import "print.less"; +@import "glyphicons.less"; + +// Core CSS +@import "scaffolding.less"; +@import "type.less"; +@import "code.less"; +@import "grid.less"; +@import "tables.less"; +@import "forms.less"; +@import "buttons.less"; + +// Components +@import "component-animations.less"; +@import "dropdowns.less"; +@import "button-groups.less"; +@import "input-groups.less"; +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; +@import "labels.less"; +@import "badges.less"; +@import "jumbotron.less"; +@import "thumbnails.less"; +@import "alerts.less"; +@import "progress-bars.less"; +@import "media.less"; +@import "list-group.less"; +@import "panels.less"; +@import "responsive-embed.less"; +@import "wells.less"; +@import "close.less"; + +// Components w/ JavaScript +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; +@import "carousel.less"; + +// Utility classes +@import "utilities.less"; +@import "responsive-utilities.less"; diff --git a/meteor/client/stylesheets/bootstrap/breadcrumbs.import.less b/app/styles/bootstrap/breadcrumbs.less similarity index 100% rename from meteor/client/stylesheets/bootstrap/breadcrumbs.import.less rename to app/styles/bootstrap/breadcrumbs.less diff --git a/meteor/client/stylesheets/bootstrap/button-groups.import.less b/app/styles/bootstrap/button-groups.less similarity index 88% rename from meteor/client/stylesheets/bootstrap/button-groups.import.less rename to app/styles/bootstrap/button-groups.less index 7021ecd171..f84febbd56 100755 --- a/meteor/client/stylesheets/bootstrap/button-groups.import.less +++ b/app/styles/bootstrap/button-groups.less @@ -18,10 +18,6 @@ &.active { z-index: 2; } - &:focus { - // Remove focus outline when dropdown JS adds it after closing the menu - outline: 0; - } } } @@ -198,7 +194,6 @@ } - // Justified button groups // ---------------------- @@ -226,15 +221,23 @@ // Checkbox and radio options // // In order to support the browser's form validation feedback, powered by the -// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot -// use `display: none;` or `visibility: hidden;` as that also hides the popover. +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. // This way, we ensure a DOM element is visible to position the popover from. // -// See https://github.com/twbs/bootstrap/pull/12794 for more. +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - position: absolute; - z-index: -1; - .opacity(0); +[data-toggle="buttons"] { + > .btn, + > .btn-group > .btn { + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none; + } + } } diff --git a/meteor/client/stylesheets/bootstrap/buttons.import.less b/app/styles/bootstrap/buttons.less similarity index 96% rename from meteor/client/stylesheets/bootstrap/buttons.import.less rename to app/styles/bootstrap/buttons.less index 492bdc65ae..40553c6386 100755 --- a/meteor/client/stylesheets/bootstrap/buttons.import.less +++ b/app/styles/bootstrap/buttons.less @@ -12,6 +12,7 @@ font-weight: @btn-font-weight; text-align: center; vertical-align: middle; + touch-action: manipulation; cursor: pointer; background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 border: 1px solid transparent; @@ -22,13 +23,15 @@ &, &:active, &.active { - &:focus { + &:focus, + &.focus { .tab-focus(); } } &:hover, - &:focus { + &:focus, + &.focus { color: @btn-default-color; text-decoration: none; } @@ -43,7 +46,7 @@ &.disabled, &[disabled], fieldset[disabled] & { - cursor: not-allowed; + cursor: @cursor-disabled; pointer-events: none; // Future-proof disabling of clicks .opacity(.65); .box-shadow(none); @@ -85,11 +88,11 @@ .btn-link { color: @link-color; font-weight: normal; - cursor: pointer; border-radius: 0; &, &:active, + &.active, &[disabled], fieldset[disabled] & { background-color: transparent; diff --git a/meteor/client/stylesheets/bootstrap/carousel.import.less b/app/styles/bootstrap/carousel.less similarity index 89% rename from meteor/client/stylesheets/bootstrap/carousel.import.less rename to app/styles/bootstrap/carousel.less index 1644ddf7f5..5724d8a56e 100755 --- a/meteor/client/stylesheets/bootstrap/carousel.import.less +++ b/app/styles/bootstrap/carousel.less @@ -24,6 +24,30 @@ &:extend(.img-responsive); line-height: 1; } + + // WebKit CSS3 transforms for supported devices + @media all and (transform-3d), (-webkit-transform-3d) { + transition: transform .6s ease-in-out; + backface-visibility: hidden; + perspective: 1000; + + &.next, + &.active.right { + transform: translate3d(100%, 0, 0); + left: 0; + } + &.prev, + &.active.left { + transform: translate3d(-100%, 0, 0); + left: 0; + } + &.next.left, + &.prev.right, + &.active { + transform: translate3d(0, 0, 0); + left: 0; + } + } } > .active, diff --git a/meteor/client/stylesheets/bootstrap/close.import.less b/app/styles/bootstrap/close.less similarity index 100% rename from meteor/client/stylesheets/bootstrap/close.import.less rename to app/styles/bootstrap/close.less diff --git a/meteor/client/stylesheets/bootstrap/code.import.less b/app/styles/bootstrap/code.less similarity index 98% rename from meteor/client/stylesheets/bootstrap/code.import.less rename to app/styles/bootstrap/code.less index baa13df613..a08b4d48c4 100755 --- a/meteor/client/stylesheets/bootstrap/code.import.less +++ b/app/styles/bootstrap/code.less @@ -32,6 +32,7 @@ kbd { kbd { padding: 0; font-size: 100%; + font-weight: bold; box-shadow: none; } } diff --git a/meteor/client/stylesheets/bootstrap/component-animations.import.less b/app/styles/bootstrap/component-animations.less similarity index 73% rename from meteor/client/stylesheets/bootstrap/component-animations.import.less rename to app/styles/bootstrap/component-animations.less index 9400a0d32f..967715d98b 100755 --- a/meteor/client/stylesheets/bootstrap/component-animations.import.less +++ b/app/styles/bootstrap/component-animations.less @@ -17,8 +17,9 @@ .collapse { display: none; + visibility: hidden; - &.in { display: block; } + &.in { display: block; visibility: visible; } tr&.in { display: table-row; } tbody&.in { display: table-row-group; } } @@ -27,5 +28,7 @@ position: relative; height: 0; overflow: hidden; - .transition(height .35s ease); + .transition-property(~"height, visibility"); + .transition-duration(.35s); + .transition-timing-function(ease); } diff --git a/meteor/client/stylesheets/bootstrap/dropdowns.import.less b/app/styles/bootstrap/dropdowns.less similarity index 96% rename from meteor/client/stylesheets/bootstrap/dropdowns.import.less rename to app/styles/bootstrap/dropdowns.less index 0881908631..84a48c1413 100755 --- a/meteor/client/stylesheets/bootstrap/dropdowns.import.less +++ b/app/styles/bootstrap/dropdowns.less @@ -103,16 +103,15 @@ &:focus { color: @dropdown-link-disabled-color; } -} -// Nuke hover/focus effects -.dropdown-menu > .disabled > a { + + // Nuke hover/focus effects &:hover, &:focus { text-decoration: none; background-color: transparent; background-image: none; // Remove CSS gradient .reset-filter(); - cursor: not-allowed; + cursor: @cursor-disabled; } } @@ -198,7 +197,7 @@ // Component alignment // -// Reiterate per navbar.import.less and the modified component alignment there. +// Reiterate per navbar.less and the modified component alignment there. @media (min-width: @grid-float-breakpoint) { .navbar-right { @@ -212,4 +211,3 @@ } } } - diff --git a/meteor/client/stylesheets/bootstrap/forms.import.less b/app/styles/bootstrap/forms.less similarity index 88% rename from meteor/client/stylesheets/bootstrap/forms.import.less rename to app/styles/bootstrap/forms.less index 9b7631e770..1bcc2b6b97 100755 --- a/meteor/client/stylesheets/bootstrap/forms.import.less +++ b/app/styles/bootstrap/forms.less @@ -141,7 +141,7 @@ output { &[disabled], &[readonly], fieldset[disabled] & { - cursor: not-allowed; + cursor: @cursor-disabled; background-color: @input-bg-disabled; opacity: 1; // iOS fix for unreadable disabled content } @@ -168,23 +168,27 @@ input[type="search"] { // Special styles for iOS temporal inputs // // In Mobile Safari, setting `display: block` on temporal inputs causes the -// text within the input to become vertically misaligned. -// As a workaround, we set a pixel line-height that matches the -// given height of the input. Since this fucks up everything else, we have to -// appropriately reset it for Internet Explorer and the size variations. +// text within the input to become vertically misaligned. As a workaround, we +// set a pixel line-height that matches the given height of the input, but only +// for Safari. -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - line-height: @input-height-base; - // IE8+ misaligns the text within date inputs, so we reset - line-height: @line-height-base ~"\0"; - - &.input-sm { +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + line-height: @input-height-base; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm { line-height: @input-height-small; } - &.input-lg { + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg { line-height: @input-height-large; } } @@ -208,11 +212,11 @@ input[type="month"] { .checkbox { position: relative; display: block; - min-height: @line-height-computed; // clear the floating input if there is no label text margin-top: 10px; margin-bottom: 10px; label { + min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text padding-left: 20px; margin-bottom: 0; font-weight: normal; @@ -258,7 +262,7 @@ input[type="checkbox"] { &[disabled], &.disabled, fieldset[disabled] & { - cursor: not-allowed; + cursor: @cursor-disabled; } } // These classes are used directly on