graspi 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +3 -0
- data/Rakefile +31 -0
- data/lib/graspi.rb +64 -0
- data/lib/graspi/engine.rb +14 -0
- data/lib/graspi/helpers/assets_include_helper.rb +45 -0
- data/lib/graspi/version.rb +3 -0
- data/lib/grunt/graspi.coffee +87 -0
- data/lib/grunt/task_helpers/abstract.coffee +47 -0
- data/lib/grunt/task_helpers/bower/abstract.coffee +8 -0
- data/lib/grunt/task_helpers/bower/clean.coffee +6 -0
- data/lib/grunt/task_helpers/bower/clean_full.coffee +19 -0
- data/lib/grunt/task_helpers/bower/concat.coffee +37 -0
- data/lib/grunt/task_helpers/bower/concat_check.coffee +40 -0
- data/lib/grunt/task_helpers/browsersync/abstract.coffee +10 -0
- data/lib/grunt/task_helpers/browsersync/browsersync.coffee +25 -0
- data/lib/grunt/task_helpers/css/abstract.coffee +13 -0
- data/lib/grunt/task_helpers/css/clean.coffee +13 -0
- data/lib/grunt/task_helpers/css/clean_full.coffee +22 -0
- data/lib/grunt/task_helpers/css/concat.coffee +32 -0
- data/lib/grunt/task_helpers/css/copy.coffee +33 -0
- data/lib/grunt/task_helpers/css/minify.coffee +41 -0
- data/lib/grunt/task_helpers/css/replace_urls.coffee +58 -0
- data/lib/grunt/task_helpers/css/sass_compile.coffee +54 -0
- data/lib/grunt/task_helpers/filerev/abstract.coffee +13 -0
- data/lib/grunt/task_helpers/filerev/clean.coffee +9 -0
- data/lib/grunt/task_helpers/filerev/clean_full.coffee +14 -0
- data/lib/grunt/task_helpers/filerev/filerev.coffee +165 -0
- data/lib/grunt/task_helpers/image_min/abstract.coffee +8 -0
- data/lib/grunt/task_helpers/image_min/clean.coffee +6 -0
- data/lib/grunt/task_helpers/image_min/clean_full.coffee +14 -0
- data/lib/grunt/task_helpers/image_min/copy.coffee +35 -0
- data/lib/grunt/task_helpers/image_min/imagemin.coffee +67 -0
- data/lib/grunt/task_helpers/image_min/svgmin.coffee +30 -0
- data/lib/grunt/task_helpers/image_min/timestamps.coffee +5 -0
- data/lib/grunt/task_helpers/js/abstract.coffee +13 -0
- data/lib/grunt/task_helpers/js/clean.coffee +13 -0
- data/lib/grunt/task_helpers/js/clean_full.coffee +22 -0
- data/lib/grunt/task_helpers/js/coffee_compile.coffee +39 -0
- data/lib/grunt/task_helpers/js/concat.coffee +32 -0
- data/lib/grunt/task_helpers/js/copy.coffee +33 -0
- data/lib/grunt/task_helpers/js/uglify.coffee +44 -0
- data/lib/grunt/task_helpers/manifest/abstract.coffee +16 -0
- data/lib/grunt/task_helpers/manifest/clean.coffee +9 -0
- data/lib/grunt/task_helpers/manifest/clean_full.coffee +15 -0
- data/lib/grunt/task_helpers/manifest/manifest.coffee +125 -0
- data/lib/grunt/task_helpers/watch/abstract.coffee +10 -0
- data/lib/grunt/task_helpers/watch/watch.coffee +40 -0
- data/lib/grunt/tasks/bower.coffee +21 -0
- data/lib/grunt/tasks/browsersync.coffee +8 -0
- data/lib/grunt/tasks/css.coffee +31 -0
- data/lib/grunt/tasks/filerev.coffee +13 -0
- data/lib/grunt/tasks/image_min.coffee +28 -0
- data/lib/grunt/tasks/js.coffee +28 -0
- data/lib/grunt/tasks/manifest.coffee +13 -0
- data/lib/grunt/tasks/watch.coffee +8 -0
- data/lib/grunt/util/config.coffee +280 -0
- data/lib/grunt/util/config_app.coffee +31 -0
- data/lib/grunt/util/env_app_iterator.coffee +35 -0
- data/lib/grunt/util/file_change_tracker.coffee +79 -0
- data/lib/grunt/util/lodash_extensions.coffee +18 -0
- data/lib/grunt/util/task_runner.coffee +87 -0
- data/lib/tasks/graspi_tasks.rake +4 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/images/base/kitten_1.jpg +0 -0
- data/spec/dummy/app/assets/images/base/kitten_2.jpg +0 -0
- data/spec/dummy/app/assets/images/base/kitten_3.jpg +0 -0
- data/spec/dummy/app/assets/images/base/kitten_4.jpg +0 -0
- data/spec/dummy/app/assets/images/base/kitten_5.jpg +0 -0
- data/spec/dummy/app/assets/images/base/kitten_6.jpg +0 -0
- data/spec/dummy/app/assets/images/base/kitten_7.jpg +0 -0
- data/spec/dummy/app/assets/images/base/kitten_8.jpg +0 -0
- data/spec/dummy/app/assets/images/base/logo.png +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_1.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_2.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_3.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_4.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_5.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_6.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_7.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/kitten_8.jpg +0 -0
- data/spec/dummy/app/assets/images/mixed/logo.png +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_1.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_2.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_3.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_4.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_5.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_6.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_7.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/kitten_8.jpg +0 -0
- data/spec/dummy/app/assets/images/plain/logo.png +0 -0
- data/spec/dummy/app/assets/javascripts/base/application.coffee +0 -0
- data/spec/dummy/app/assets/javascripts/mixed/application.coffee +0 -0
- data/spec/dummy/app/assets/javascripts/mixed/second.js +0 -0
- data/spec/dummy/app/assets/javascripts/plain/application.js +0 -0
- data/spec/dummy/app/assets/javascripts/plain/second.js +0 -0
- data/spec/dummy/app/assets/stylesheets/base/application.sass +6 -0
- data/spec/dummy/app/assets/stylesheets/base/layout/_footer.sass +9 -0
- data/spec/dummy/app/assets/stylesheets/base/layout/_grid.sass +3 -0
- data/spec/dummy/app/assets/stylesheets/base/layout/_layout.sass +22 -0
- data/spec/dummy/app/assets/stylesheets/base/layout/_typography.sass +7 -0
- data/spec/dummy/app/assets/stylesheets/mixed/application.sass +5 -0
- data/spec/dummy/app/assets/stylesheets/mixed/layout/_grid.sass +3 -0
- data/spec/dummy/app/assets/stylesheets/mixed/layout/_layout.sass +22 -0
- data/spec/dummy/app/assets/stylesheets/mixed/layout/_typography.sass +7 -0
- data/spec/dummy/app/assets/stylesheets/mixed/second.css +0 -0
- data/spec/dummy/app/assets/stylesheets/plain/application.css +0 -0
- data/spec/dummy/app/assets/stylesheets/plain/second.css +0 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/pages_controller.rb +24 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.haml +13 -0
- data/spec/dummy/app/views/layouts/base.html.haml +10 -0
- data/spec/dummy/app/views/layouts/mixed.html.haml +10 -0
- data/spec/dummy/app/views/layouts/plain.html.haml +10 -0
- data/spec/dummy/app/views/pages/_view.html.haml +19 -0
- data/spec/dummy/app/views/pages/base.html.haml +1 -0
- data/spec/dummy/app/views/pages/mixed.html.haml +1 -0
- data/spec/dummy/app/views/pages/plain.html.haml +1 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +32 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.example.yml +25 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/graspi.rb +1 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +9 -0
- data/spec/dummy/config/secrets.example.yml +22 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +16 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +10490 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/assets/g-assets.json +43 -0
- data/spec/dummy/public/assets/g-development/base/application.css +589 -0
- data/spec/dummy/public/assets/g-development/base/application.css.map +11 -0
- data/spec/dummy/public/assets/g-development/base/application.js +18691 -0
- data/spec/dummy/public/assets/g-development/base/application.js.map +10 -0
- data/spec/dummy/public/assets/g-development/base/kitten_1.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/kitten_2.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/kitten_3.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/kitten_4.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/kitten_5.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/kitten_6.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/kitten_7.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/kitten_8.jpg +0 -0
- data/spec/dummy/public/assets/g-development/base/logo.png +0 -0
- data/spec/dummy/public/assets/g-development/mixed/application.32d9e45930c83e3769a9ff2f92adfe0cb5bb013c6c146f0eafb35ea3c1cb79a5.js +33 -0
- data/spec/dummy/public/assets/g-development/mixed/application.550e9eaa5b567604fd414ab0d5e9b7c1899ebae67d95f8191c5c273b8dcd34b7.js.map +1 -0
- data/spec/dummy/public/assets/g-development/mixed/application.7ef4ffe5ac778acc4c8195a6ce8a3b0ea47d3cd5bbf8479cec5b143b97dde82e.css +2 -0
- data/spec/dummy/public/assets/g-development/mixed/application.css +2 -0
- data/spec/dummy/public/assets/g-development/mixed/application.css.map +1 -0
- data/spec/dummy/public/assets/g-development/mixed/application.efc51097dff5d27e7434d8055f125e7ea85513534b986e00fc35a8aa2dd93f22.css.map +1 -0
- data/spec/dummy/public/assets/g-development/mixed/application.js +33 -0
- data/spec/dummy/public/assets/g-development/mixed/application.js.map +1 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_1.05e62b1fae8ff9ba745af7e9cf3a8f772a84e4e69689eebd88470fc236e17128.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_1.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_2.0e492e6a90094a6b0bb5f66037e9a612a1401e02ff1095d33e252fd4e110c825.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_2.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_3.e5e57ee0440b05005315aa1ce2beda938be16e00bc74ba093af5e475afa1a47f.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_3.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_4.1c0143065e348b79fe5c471b99cda7b99d6e7bda4663b5d82d21b5aeaed420e4.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_4.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_5.9f4b41712362b832ce672907f0221471aa0ca148c17350107b96f0d54ea2deda.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_5.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_6.d5d7ef1f783685e23ea39c07910073b832ec22872175d7061a9084ab7e4a074d.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_6.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_7.59681fdcfdba95f16db760e490fa04d0cb302b80a91c0f7f5d8e36211811f8d2.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_7.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_8.7225e60000a76c9273ead2e6d8d8c280223e1a5b58e99693f486b5d3cd02d755.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/kitten_8.jpg +0 -0
- data/spec/dummy/public/assets/g-development/mixed/logo.58a56028cf0d44791e113b8cdfd4d3ad704212ba765e7cb600899c19e0cb782c.png +0 -0
- data/spec/dummy/public/assets/g-development/mixed/logo.png +0 -0
- data/spec/dummy/public/assets/g-development/plain/application.css +430 -0
- data/spec/dummy/public/assets/g-development/plain/application.css.map +11 -0
- data/spec/dummy/public/assets/g-development/plain/application.js +11580 -0
- data/spec/dummy/public/assets/g-development/plain/application.js.map +11 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_1.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_2.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_3.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_4.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_5.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_6.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_7.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/kitten_8.jpg +0 -0
- data/spec/dummy/public/assets/g-development/plain/logo.png +0 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/grunt/asset_timestamps.json +216 -0
- data/spec/dummy/tmp/grunt/css/base/application.css/1_bower.css +584 -0
- data/spec/dummy/tmp/grunt/css/base/application.css/base/application.css +2 -0
- data/spec/dummy/tmp/grunt/css/base/application.css/base/application.css.map +7 -0
- data/spec/dummy/tmp/grunt/css/mixed/application.css/1_bower.css +932 -0
- data/spec/dummy/tmp/grunt/css/mixed/application.css/mixed/application.css +2 -0
- data/spec/dummy/tmp/grunt/css/mixed/application.css/mixed/application.css.map +7 -0
- data/spec/dummy/tmp/grunt/css/mixed/application.css/mixed/second.css +2 -0
- data/spec/dummy/tmp/grunt/css/mixed/application.css/mixed/second.css.map +7 -0
- data/spec/dummy/tmp/grunt/css/plain/application.css/1_bower.css +424 -0
- data/spec/dummy/tmp/grunt/css/plain/application.css/plain/application.css +2 -0
- data/spec/dummy/tmp/grunt/css/plain/application.css/plain/application.css.map +7 -0
- data/spec/dummy/tmp/grunt/css/plain/application.css/plain/second.css +2 -0
- data/spec/dummy/tmp/grunt/css/plain/application.css/plain/second.css.map +7 -0
- data/spec/dummy/tmp/grunt/filerevision/development-base.json +15 -0
- data/spec/dummy/tmp/grunt/filerevision/development-mixed.json +15 -0
- data/spec/dummy/tmp/grunt/filerevision/development-plain.json +15 -0
- data/spec/dummy/tmp/grunt/js/base/application.js/1_bower.js +18682 -0
- data/spec/dummy/tmp/grunt/js/base/application.js/base/application.js +6 -0
- data/spec/dummy/tmp/grunt/js/base/application.js/base/application.js.map +10 -0
- data/spec/dummy/tmp/grunt/js/mixed/application.js/1_bower.js +13153 -0
- data/spec/dummy/tmp/grunt/js/mixed/application.js/mixed/application.js +6 -0
- data/spec/dummy/tmp/grunt/js/mixed/application.js/mixed/application.js.map +10 -0
- data/spec/dummy/tmp/grunt/js/mixed/application.js/mixed/second.js +2 -0
- data/spec/dummy/tmp/grunt/js/mixed/application.js/mixed/second.js.map +7 -0
- data/spec/dummy/tmp/grunt/js/plain/application.js/1_bower.js +11574 -0
- data/spec/dummy/tmp/grunt/js/plain/application.js/plain/application.js +2 -0
- data/spec/dummy/tmp/grunt/js/plain/application.js/plain/application.js.map +7 -0
- data/spec/dummy/tmp/grunt/js/plain/application.js/plain/second.js +2 -0
- data/spec/dummy/tmp/grunt/js/plain/application.js/plain/second.js.map +7 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_convert-units.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_directional-values.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_font-source-declaration.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_gradient-positions-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_linear-angle-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_linear-gradient-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_linear-positions-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_linear-side-corner-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_radial-arg-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_radial-gradient-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_radial-positions-parser.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_render-gradients.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_shape-size-stripper.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/08ad877409792dddd715faefc2a5ebd471969650/_str-to-num.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/16d30df860db416a2481ad22d3ff1a747d6219db/application.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/1e3c1dcafa0d8e91f21a327b193bb9bbc5522a0f/_grid.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/1e3c1dcafa0d8e91f21a327b193bb9bbc5522a0f/_layout.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/1e3c1dcafa0d8e91f21a327b193bb9bbc5522a0f/_typography.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_border-color.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_border-radius.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_border-style.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_border-width.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_buttons.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_clearfix.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_ellipsis.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_font-stacks.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_hide-text.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_margin.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_padding.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_position.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_prefixer.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_retina-image.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_size.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_text-inputs.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_timing-functions.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_triangle.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/27de6c9bd1cc1e521ad09b2575de2ae77a566697/_word-wrap.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/326439c8e594c1dca703b9ee873e90079d5f5cb5/_bourbon-deprecated-upcoming.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/326439c8e594c1dca703b9ee873e90079d5f5cb5/_bourbon.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_box-sizing.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_direction-context.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_display-context.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_fill-parent.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_media.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_omega.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_outer-container.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_pad.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_private.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_row.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_shift.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_span-columns.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_to-deprecate.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/3ec69ce433221720b130ca9e42300ea140e6d275/_visual-grid.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_animation.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_appearance.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_backface-visibility.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_background-image.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_background.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_border-image.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_calc.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_columns.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_filter.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_flex-box.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_font-face.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_font-feature-settings.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_hidpi-media-query.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_hyphens.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_image-rendering.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_keyframes.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_linear-gradient.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_perspective.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_placeholder.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_radial-gradient.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_selection.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_text-decoration.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_transform.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_transition.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/4f625854e2c059b207d0b2f78574d69e284dd241/_user-select.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/547e7d669634d2662355e40eb168a731b071c473/application.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_assign-inputs.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_contains-falsy.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_contains.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_is-length.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_is-light.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_is-number.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_is-size.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_modular-scale.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_px-to-em.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_px-to-rem.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_shade.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_strip-units.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_tint.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_transition-property-name.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/5abd7e0c6f1f03692d8b3702912743f79fedc2f3/_unpack.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/9734cd2400af9be4fa8b47bed719f07707107597/_neat-helpers.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/9734cd2400af9be4fa8b47bed719f07707107597/_neat.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/a53529989ccbf12725d42e2e8519a39a49a2ca52/_disable-warnings.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/a53529989ccbf12725d42e2e8519a39a49a2ca52/_grid.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/a53529989ccbf12725d42e2e8519a39a49a2ca52/_visual-grid.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/ac58adafccab62210cad1ab751e37e487323cace/_new-breakpoint.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/ac58adafccab62210cad1ab751e37e487323cace/_private.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/c1fd3f393f01d5e51395ed159f6ce9ebd70b922c/_asset-pipeline.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/c1fd3f393f01d5e51395ed159f6ce9ebd70b922c/_prefixer.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/c1fd3f393f01d5e51395ed159f6ce9ebd70b922c/_px-to-em.scssc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/f99d6590ab65c8c8aa1da236ac0fecd5fcafa344/_footer.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/f99d6590ab65c8c8aa1da236ac0fecd5fcafa344/_grid.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/f99d6590ab65c8c8aa1da236ac0fecd5fcafa344/_layout.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/f99d6590ab65c8c8aa1da236ac0fecd5fcafa344/_test1.sassc +0 -0
- data/spec/dummy/tmp/grunt/sass_cache/f99d6590ab65c8c8aa1da236ac0fecd5fcafa344/_typography.sassc +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/rails_helper.rb +1 -0
- data/spec/spec_helper.rb +58 -0
- metadata +679 -0
@@ -0,0 +1,10 @@
|
|
1
|
+
module.exports = class AbstractTaskHelper extends require('../abstract')
|
2
|
+
|
3
|
+
getCacheKey: ->
|
4
|
+
"watch-#{@eac.env_name}-#{@eac.app_name}"
|
5
|
+
|
6
|
+
isEnabled: ->
|
7
|
+
return false unless super() == true
|
8
|
+
return false unless @_.isObject(@getConfig().watch)
|
9
|
+
|
10
|
+
@getConfig().watch.enabled == true
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module.exports = class TaskHelper extends require('./abstract')
|
2
|
+
|
3
|
+
isEnabled: ->
|
4
|
+
return false unless super() == true
|
5
|
+
|
6
|
+
@_.isObject(@getConfig().watch.groups)
|
7
|
+
|
8
|
+
run: ->
|
9
|
+
return unless @isEnabled()
|
10
|
+
|
11
|
+
cfg = @g.config.get('watch') || {}
|
12
|
+
cfg = @_.merge {}, cfg, @buildConfig()
|
13
|
+
|
14
|
+
@g.config.merge({ watch: cfg })
|
15
|
+
|
16
|
+
buildConfig: ->
|
17
|
+
@setBaseWatchConfig()
|
18
|
+
|
19
|
+
cfg = {}
|
20
|
+
|
21
|
+
@_.each @getConfig().watch.groups, (group, group_name) =>
|
22
|
+
group_name = "#{@eac.env_name}-#{@eac.app_name}-#{group_name}"
|
23
|
+
|
24
|
+
cfg[group_name] = {}
|
25
|
+
cfg[group_name].options = {}
|
26
|
+
cfg[group_name].options.spawn = @getConfig().watch.options.spawn
|
27
|
+
cfg[group_name].options.reload = @getConfig().watch.options.reload
|
28
|
+
cfg[group_name].files = group.files
|
29
|
+
cfg[group_name].tasks = @_.map group.tasks, (task) =>
|
30
|
+
"#{task}:#{@eac.env_name}:#{@eac.app_name}"
|
31
|
+
|
32
|
+
cfg
|
33
|
+
|
34
|
+
setBaseWatchConfig: ->
|
35
|
+
cfg = {}
|
36
|
+
cfg.options = {}
|
37
|
+
cfg.options.forever = true
|
38
|
+
cfg.options.livereload = @getConfig().watch.options.livereload
|
39
|
+
|
40
|
+
@g.config.merge({ watch: cfg })
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_bower', (t1, t2) ->
|
6
|
+
taskRunner.runGruntTask 'graspi_bower_concat_check', t1, t2
|
7
|
+
taskRunner.runGruntTask 'graspi_bower_concat', t1, t2
|
8
|
+
|
9
|
+
grunt.registerTask 'graspi_bower_concat_check', (t1, t2) ->
|
10
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/bower/concat_check'
|
11
|
+
|
12
|
+
grunt.registerTask 'graspi_bower_concat', (t1, t2) ->
|
13
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/bower/concat'
|
14
|
+
|
15
|
+
grunt.registerTask 'graspi_bower_clean', (t1, t2) ->
|
16
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/bower/clean'
|
17
|
+
|
18
|
+
grunt.registerTask 'graspi_bower_clean_full', (t1, t2) ->
|
19
|
+
taskRunner.runGruntTask 'graspi_bower_clean', t1, t2
|
20
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/bower/clean_full'
|
21
|
+
|
@@ -0,0 +1,8 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_browsersync', (t1, t2) ->
|
6
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/browsersync/browsersync'
|
7
|
+
|
8
|
+
taskRunner.runGruntTask 'browserSync', null, null
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_css', (t1, t2) ->
|
6
|
+
taskRunner.runGruntTask 'graspi_css_copy', t1, t2
|
7
|
+
taskRunner.runGruntTask 'graspi_css_sass_compile', t1, t2
|
8
|
+
taskRunner.runGruntTask 'graspi_css_concat', t1, t2
|
9
|
+
taskRunner.runGruntTask 'graspi_css_minify', t1, t2
|
10
|
+
|
11
|
+
grunt.registerTask 'graspi_css_copy', (t1, t2) ->
|
12
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/css/copy'
|
13
|
+
|
14
|
+
grunt.registerTask 'graspi_css_sass_compile', (t1, t2) ->
|
15
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/css/sass_compile'
|
16
|
+
|
17
|
+
grunt.registerTask 'graspi_css_concat', (t1, t2) ->
|
18
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/css/concat'
|
19
|
+
|
20
|
+
grunt.registerTask 'graspi_css_minify', (t1, t2) ->
|
21
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/css/minify'
|
22
|
+
|
23
|
+
grunt.registerTask 'graspi_css_replace_urls', (t1, t2) ->
|
24
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/css/replace_urls'
|
25
|
+
|
26
|
+
grunt.registerTask 'graspi_css_clean', (t1, t2) ->
|
27
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/css/clean'
|
28
|
+
|
29
|
+
grunt.registerTask 'graspi_css_clean_full', (t1, t2) ->
|
30
|
+
taskRunner.runGruntTask 'graspi_css_clean', t1, t2
|
31
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/css/clean_full'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_filerev', (t1, t2) ->
|
6
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/filerev/filerev'
|
7
|
+
|
8
|
+
grunt.registerTask 'graspi_filerev_clean', (t1, t2) ->
|
9
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/filerev/clean'
|
10
|
+
|
11
|
+
grunt.registerTask 'graspi_filerev_clean_full', (t1, t2) ->
|
12
|
+
taskRunner.runGruntTask 'graspi_filerev_clean', t1, t2
|
13
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/filerev/clean_full'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_image_min', (t1, t2) ->
|
6
|
+
taskRunner.runGruntTask 'graspi_image_min_copy', t1, t2
|
7
|
+
taskRunner.runGruntTask 'graspi_image_min_imagemin', t1, t2
|
8
|
+
taskRunner.runGruntTask 'graspi_image_min_svgmin', t1, t2
|
9
|
+
taskRunner.runGruntTask 'graspi_image_min_update_timestamps', t1, t2
|
10
|
+
|
11
|
+
grunt.registerTask 'graspi_image_min_copy', (t1, t2) ->
|
12
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/image_min/copy'
|
13
|
+
|
14
|
+
grunt.registerTask 'graspi_image_min_imagemin', (t1, t2) ->
|
15
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/image_min/imagemin'
|
16
|
+
|
17
|
+
grunt.registerTask 'graspi_image_min_svgmin', (t1, t2) ->
|
18
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/image_min/svgmin'
|
19
|
+
|
20
|
+
grunt.registerTask 'graspi_image_min_update_timestamps', (t1, t2) ->
|
21
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/image_min/timestamps'
|
22
|
+
|
23
|
+
grunt.registerTask 'graspi_image_min_clean', (t1, t2) ->
|
24
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/image_min/clean'
|
25
|
+
|
26
|
+
grunt.registerTask 'graspi_image_min_clean_full', (t1, t2) ->
|
27
|
+
taskRunner.runGruntTask 'graspi_image_min_clean', t1, t2
|
28
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/image_min/clean_full'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_js', (t1, t2) ->
|
6
|
+
taskRunner.runGruntTask 'graspi_js_copy', t1, t2
|
7
|
+
taskRunner.runGruntTask 'graspi_js_coffee_compile', t1, t2
|
8
|
+
taskRunner.runGruntTask 'graspi_js_concat', t1, t2
|
9
|
+
taskRunner.runGruntTask 'graspi_js_uglify', t1, t2
|
10
|
+
|
11
|
+
grunt.registerTask 'graspi_js_copy', (t1, t2) ->
|
12
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/js/copy'
|
13
|
+
|
14
|
+
grunt.registerTask 'graspi_js_coffee_compile', (t1, t2) ->
|
15
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/js/coffee_compile'
|
16
|
+
|
17
|
+
grunt.registerTask 'graspi_js_concat', (t1, t2) ->
|
18
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/js/concat'
|
19
|
+
|
20
|
+
grunt.registerTask 'graspi_js_uglify', (t1, t2) ->
|
21
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/js/uglify'
|
22
|
+
|
23
|
+
grunt.registerTask 'graspi_js_clean', (t1, t2) ->
|
24
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/js/clean'
|
25
|
+
|
26
|
+
grunt.registerTask 'graspi_js_clean_full', (t1, t2) ->
|
27
|
+
taskRunner.runGruntTask 'graspi_js_clean', t1, t2
|
28
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/js/clean_full'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_manifest', (t1, t2) ->
|
6
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/manifest/manifest'
|
7
|
+
|
8
|
+
grunt.registerTask 'graspi_manifest_clean', (t1, t2) ->
|
9
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/manifest/clean'
|
10
|
+
|
11
|
+
grunt.registerTask 'graspi_manifest_clean_full', (t1, t2) ->
|
12
|
+
taskRunner.runGruntTask 'graspi_manifest_clean', t1, t2
|
13
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/manifest/clean_full'
|
@@ -0,0 +1,8 @@
|
|
1
|
+
module.exports = (grunt, configPath) ->
|
2
|
+
|
3
|
+
taskRunner = require('../util/task_runner')(grunt, configPath)
|
4
|
+
|
5
|
+
grunt.registerTask 'graspi_watch', (t1, t2) ->
|
6
|
+
taskRunner.runGraspiTask t1, t2, 'task_helpers/watch/watch'
|
7
|
+
|
8
|
+
taskRunner.runGruntTask 'watch', null, null
|
@@ -0,0 +1,280 @@
|
|
1
|
+
_ = require './lodash_extensions'
|
2
|
+
AppConfig = require './config_app'
|
3
|
+
|
4
|
+
configs = {}
|
5
|
+
|
6
|
+
module.exports = (grunt, configFile) ->
|
7
|
+
if grunt.file.exists(configFile) == false
|
8
|
+
grunt.fail.fatal("graspi: missing config file - #{configFile}")
|
9
|
+
else if _.isEmpty(configs[configFile]) || !_.isObject(configs[configFile])
|
10
|
+
configs[configFile] = new GraspiConfig(grunt, configFile)
|
11
|
+
|
12
|
+
return configs[configFile]
|
13
|
+
|
14
|
+
class GraspiConfig
|
15
|
+
|
16
|
+
constructor: (grunt, configFile) ->
|
17
|
+
@grunt = grunt
|
18
|
+
@configFile = configFile
|
19
|
+
|
20
|
+
@buildConfig()
|
21
|
+
@buildAppConfigs()
|
22
|
+
|
23
|
+
getDefaults: ->
|
24
|
+
environments: []
|
25
|
+
apps: {}
|
26
|
+
assetHost: ''
|
27
|
+
tmp:
|
28
|
+
css: 'tmp/grunt/css'
|
29
|
+
js: 'tmp/grunt/js'
|
30
|
+
images: 'tmp/grunt/images'
|
31
|
+
filerevision: 'tmp/grunt/filerevision'
|
32
|
+
filerev: 'tmp/grunt/filerev'
|
33
|
+
bowerConcat:
|
34
|
+
enabled: true
|
35
|
+
include: []
|
36
|
+
exclude: []
|
37
|
+
dependencies: {}
|
38
|
+
mainFiles: []
|
39
|
+
cssSass:
|
40
|
+
enabed: true
|
41
|
+
trace: false
|
42
|
+
compass: false
|
43
|
+
debugInfo: false
|
44
|
+
lineNumbers: false
|
45
|
+
cacheLocation: 'tmp/grunt/sass_cache'
|
46
|
+
precision: 10
|
47
|
+
quiet: false
|
48
|
+
sourcemap: 'auto'
|
49
|
+
style: 'compressed'
|
50
|
+
update: true
|
51
|
+
loadPath: []
|
52
|
+
cssMinify:
|
53
|
+
enabled: false
|
54
|
+
report: 'min'
|
55
|
+
sourceMap: true
|
56
|
+
cleanCss:
|
57
|
+
advanced: false
|
58
|
+
aggressiveMerging: false
|
59
|
+
compatibility: '*'
|
60
|
+
keepBreaks: false
|
61
|
+
keepSpecialComments: 0
|
62
|
+
mediaMerging: true
|
63
|
+
rebase: false
|
64
|
+
restructuring: true
|
65
|
+
roundingPrecision: -1
|
66
|
+
semanticMerging: false
|
67
|
+
shorthandCompacting: false
|
68
|
+
sourceMapInlineSources: false
|
69
|
+
jsCoffee:
|
70
|
+
enabled: true
|
71
|
+
bare: false
|
72
|
+
uglify: false
|
73
|
+
sourceMap: true
|
74
|
+
jsUglify:
|
75
|
+
enabled: false
|
76
|
+
report: 'min'
|
77
|
+
sourceMap: true
|
78
|
+
options:
|
79
|
+
mangle: false
|
80
|
+
beautify: false
|
81
|
+
maxLineLen: 32000
|
82
|
+
ASCIIOnly: false
|
83
|
+
exportAll: false
|
84
|
+
preserveComments: 'all'
|
85
|
+
banner: ''
|
86
|
+
footer: ''
|
87
|
+
screwIE8: false
|
88
|
+
mangleProperties: false
|
89
|
+
reserveDOMProperties: false
|
90
|
+
nameCache: 'tmp/grunt/coffee_mangle_cache.json'
|
91
|
+
quoteStyle: 0
|
92
|
+
imageMin:
|
93
|
+
enabled: true
|
94
|
+
gifInterlaced: false
|
95
|
+
jpegProgressive: false
|
96
|
+
pngOptimizationLevel: 0
|
97
|
+
jpegRecompressPlugin:
|
98
|
+
enabled: false
|
99
|
+
loops: 6
|
100
|
+
accurate: true
|
101
|
+
quality: 'veryhigh'
|
102
|
+
method: 'ssim'
|
103
|
+
target: 0.9999
|
104
|
+
min: 60
|
105
|
+
max: 99
|
106
|
+
defish: 0
|
107
|
+
progressive: true
|
108
|
+
subsample: 'default'
|
109
|
+
filerevision:
|
110
|
+
enabled: false
|
111
|
+
manifest:
|
112
|
+
prettyPrint: true
|
113
|
+
manifest:
|
114
|
+
enabled: true
|
115
|
+
prettyPrint: true
|
116
|
+
path: 'public/assets/g-assets.json'
|
117
|
+
fileReplacePattern:
|
118
|
+
pattern: '^(\/)?public\/assets\/g\-development(\/)?'
|
119
|
+
replace: ''
|
120
|
+
pathReplacePattern:
|
121
|
+
pattern: '^(\/)?public\/'
|
122
|
+
replace: ''
|
123
|
+
watch:
|
124
|
+
enabled: true
|
125
|
+
options:
|
126
|
+
livereload: 35729
|
127
|
+
spawn: false
|
128
|
+
reload: false
|
129
|
+
gruntfile:
|
130
|
+
files: ['Gruntfile.coffee']
|
131
|
+
browserSync:
|
132
|
+
enabled: true
|
133
|
+
bsFiles: {}
|
134
|
+
options:
|
135
|
+
watchTask: true
|
136
|
+
ui:
|
137
|
+
port: 3001
|
138
|
+
weinre:
|
139
|
+
port: 8080
|
140
|
+
server: false
|
141
|
+
proxy: false
|
142
|
+
port: 3002
|
143
|
+
https: undefined
|
144
|
+
ghostMode:
|
145
|
+
clicks: true
|
146
|
+
scroll: true
|
147
|
+
forms:
|
148
|
+
submit: true
|
149
|
+
inputs: true
|
150
|
+
toggles: true
|
151
|
+
logLevel: 'info'
|
152
|
+
logPrefix: 'BS'
|
153
|
+
logConnections: false
|
154
|
+
logFileChanges: true
|
155
|
+
logSnippet: true
|
156
|
+
snippetOptions:
|
157
|
+
async: true
|
158
|
+
whitelist: []
|
159
|
+
blacklist: []
|
160
|
+
rule:
|
161
|
+
match: /<body[^>]*>/i
|
162
|
+
fn: (snippet, match) ->
|
163
|
+
match + snippet
|
164
|
+
rewriteRules: false
|
165
|
+
tunnel: null
|
166
|
+
online: null
|
167
|
+
open: false
|
168
|
+
browser: 'default'
|
169
|
+
xip: false
|
170
|
+
reloadOnRestart: false
|
171
|
+
notify: true
|
172
|
+
scrollProportionally: true
|
173
|
+
scrollThrottle: 0
|
174
|
+
scrollRestoreTechnique: 'window.name'
|
175
|
+
reloadDelay: 0
|
176
|
+
reloadDebounce: 0
|
177
|
+
plugins: []
|
178
|
+
injectChanges: true
|
179
|
+
startPath: null
|
180
|
+
minify: true
|
181
|
+
host: null
|
182
|
+
codeSync: true
|
183
|
+
timestamps: true
|
184
|
+
scriptPath: undefined
|
185
|
+
socket:
|
186
|
+
path: '/browser-sync/socket.io'
|
187
|
+
clientPath: '/browser-sync'
|
188
|
+
namespace: '/browser-sync'
|
189
|
+
domain: undefined
|
190
|
+
clients:
|
191
|
+
heartbeatTimeout: 5000
|
192
|
+
|
193
|
+
tasks:
|
194
|
+
gt_stylesheets: [
|
195
|
+
'graspi_css_copy'
|
196
|
+
'graspi_css_sass_compile'
|
197
|
+
'graspi_css_concat'
|
198
|
+
'graspi_css_minify'
|
199
|
+
'graspi_filerev'
|
200
|
+
'graspi_manifest'
|
201
|
+
'graspi_css_replace_urls'
|
202
|
+
]
|
203
|
+
gt_css: [
|
204
|
+
'graspi_css_copy'
|
205
|
+
'graspi_css_concat'
|
206
|
+
'graspi_css_minify'
|
207
|
+
'graspi_filerev'
|
208
|
+
'graspi_manifest'
|
209
|
+
'graspi_css_replace_urls'
|
210
|
+
]
|
211
|
+
gt_sass: [
|
212
|
+
'graspi_css_sass_compile'
|
213
|
+
'graspi_css_concat'
|
214
|
+
'graspi_css_minify'
|
215
|
+
'graspi_filerev'
|
216
|
+
'graspi_manifest'
|
217
|
+
'graspi_css_replace_urls'
|
218
|
+
]
|
219
|
+
gt_scripts: [
|
220
|
+
'graspi_js_copy'
|
221
|
+
'graspi_js_coffee_compile'
|
222
|
+
'graspi_js_concat'
|
223
|
+
'graspi_js_uglify'
|
224
|
+
]
|
225
|
+
gt_js: [
|
226
|
+
'graspi_js_copy'
|
227
|
+
'graspi_js_concat'
|
228
|
+
'graspi_js_uglify'
|
229
|
+
]
|
230
|
+
gt_coffee: [
|
231
|
+
'graspi_js_coffee_compile'
|
232
|
+
'graspi_js_concat'
|
233
|
+
'graspi_js_uglify'
|
234
|
+
]
|
235
|
+
|
236
|
+
|
237
|
+
getBaseConfig: ->
|
238
|
+
@baseConfig or= {}
|
239
|
+
|
240
|
+
getConfig: ->
|
241
|
+
@configObject or= {}
|
242
|
+
|
243
|
+
getAppConfigs: ->
|
244
|
+
@appConfigsObject or= {}
|
245
|
+
|
246
|
+
getEnvironment: (env_name) ->
|
247
|
+
@getConfig()[env_name]
|
248
|
+
|
249
|
+
getApp: (env_name, app_name) ->
|
250
|
+
return null unless _.isObject(@getAppConfigs()[app_name])
|
251
|
+
|
252
|
+
@getAppConfigs()[app_name].getConfig(env_name)
|
253
|
+
|
254
|
+
getYamlFileConfig: ->
|
255
|
+
try
|
256
|
+
yaml = @grunt.file.readYAML(@configFile)
|
257
|
+
finally
|
258
|
+
yaml or= {}
|
259
|
+
|
260
|
+
yaml
|
261
|
+
|
262
|
+
buildConfig: ->
|
263
|
+
resultConfig = {}
|
264
|
+
configYaml = @getYamlFileConfig()
|
265
|
+
baseConfig = _.mergeRecursive(@getDefaults(), configYaml)
|
266
|
+
@baseConfig = _.mergeRecursive(@getDefaults(), configYaml)
|
267
|
+
|
268
|
+
_.each baseConfig.environments, (env) =>
|
269
|
+
delete baseConfig[env]
|
270
|
+
|
271
|
+
_.each baseConfig.environments, (env) =>
|
272
|
+
resultConfig[env] = _.mergeRecursive(baseConfig, (configYaml[env] || {}))
|
273
|
+
|
274
|
+
@configObject = resultConfig
|
275
|
+
|
276
|
+
buildAppConfigs: ->
|
277
|
+
_.each @getConfig(), (env, env_name) =>
|
278
|
+
_.each env.apps, (app, app_name) =>
|
279
|
+
@getAppConfigs()[app_name] = new AppConfig(@grunt, @getConfig(), app_name)
|
280
|
+
|