Hello community,

here is the log from the commit of package perl-Mojolicious-Plugin-AssetPack 
for openSUSE:Factory checked in at 2015-04-18 10:40:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Mojolicious-Plugin-AssetPack"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack/perl-Mojolicious-Plugin-AssetPack.changes
      2015-04-15 16:23:36.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new/perl-Mojolicious-Plugin-AssetPack.changes
 2015-04-18 10:40:02.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 16 19:30:26 UTC 2015 - co...@suse.com
+
+- updated to 0.51
+   see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+-------------------------------------------------------------------

Old:
----
  Mojolicious-Plugin-AssetPack-0.50.tar.gz

New:
----
  Mojolicious-Plugin-AssetPack-0.51.tar.gz
  cpanspec.yml

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Mojolicious-Plugin-AssetPack.spec ++++++
--- /var/tmp/diff_new_pack.NMnN4M/_old  2015-04-18 10:40:03.000000000 +0200
+++ /var/tmp/diff_new_pack.NMnN4M/_new  2015-04-18 10:40:03.000000000 +0200
@@ -17,14 +17,15 @@
 
 
 Name:           perl-Mojolicious-Plugin-AssetPack
-Version:        0.50
+Version:        0.51
 Release:        0
 %define cpan_name Mojolicious-Plugin-AssetPack
 Summary:        Compress and convert css, less, sass, javascript and 
coffeescript files
 License:        Artistic-2.0
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Mojolicious-Plugin-AssetPack/
-Source:         
http://www.cpan.org/authors/id/J/JH/JHTHORSEN/%{cpan_name}-%{version}.tar.gz
+Source0:        
http://www.cpan.org/authors/id/J/JH/JHTHORSEN/%{cpan_name}-%{version}.tar.gz
+Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
@@ -72,6 +73,6 @@
 
 %files -f %{name}.files
 %defattr(-,root,root,755)
-%doc Changes README
+%doc Changes examples README
 
 %changelog

++++++ Mojolicious-Plugin-AssetPack-0.50.tar.gz -> 
Mojolicious-Plugin-AssetPack-0.51.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-0.50/Changes 
new/Mojolicious-Plugin-AssetPack-0.51/Changes
--- old/Mojolicious-Plugin-AssetPack-0.50/Changes       2015-04-13 
11:37:08.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-0.51/Changes       2015-04-16 
08:15:50.000000000 +0200
@@ -1,241 +1,249 @@
-Revision history for Mojolicious-Plugin-AssetPack
+Revision history for perl distribution Mojolicious-Plugin-AssetPack
+
+0.51 2015-04-16T08:15:50+0200
+
+ - Can reload assets on server reload (EXPERIMENTAL)
+
+0.50 2015-04-13T11:37:08Z +0200
+ - Need to start with a fresh asset to avoid adding duplicate processed
+   data to the same asset.
+
+0.49 2015-04-05T09:54:27Z
+ - Will not pack asset.ext.swp files
+
+0.48 2015-04-05T09:19:01Z
+ - Fix serving in memory assets with Content-Type
+ - Fix serving in memory assets with Last-Modified
+
+0.47 2015-04-04T13:53:32Z
+ - Fix Mojo::Base::tap() does not support arguments before 5.57
+
+0.4602 2015-04-02T18:44:01Z
+ - Improved cpantesters
+
+0.46 2015-04-01T15:09:35Z
+ - Remove "fallback" attribute #44 (experimental)
+ - Remove "process" method
+ - Will prevent AssetPack from registering twice
+ - Will not write assets to "mojo-assetpack-public" in TMPDIR #46
+   (experimental)
+ - Allow in-memory assets with out_dir(""), MOJO_ASSETPACK_DEBUG=1 or
+   read-only static dirs. #46 (experimental)
+
+0.45 2015-03-31T22:02:06Z
+ - Can also fetch remote assets from local $app #30
+ - Will calculate MD5 sum recursively for sass/scss #44
+ - Add Cookbook
+
+0.44 2015-03-23T13:00:45Z
+ - Add ".min.ext" to minified asset filename
+ - Change filename for assets with errors from "-with-error.ext" to
+   ".err.ext"
+ - Will look for existing assets even with MOJO_ASSETPACK_DEBUG=1
+ - Remove errmsg() from Mojolicious::Plugin::AssetPack::Preprocessor
+ - Remove detect() from Mojolicious::Plugin::AssetPack::Preprocessors
+
+0.43 2015-03-20T11:27:22Z
+ - Same CSS::Sass detection for Sass as for Scss preprocessor
+
+0.42 2015-03-16T19:31:36Z
+ - Fix "Unescaped left brace in regex is deprecated" warnings
+
+0.41 2015-03-16T13:47:17Z
+ - Will die on CSS::Sass errors
+
+0.40 2015-03-16T11:04:47Z
+ - Fix reading sass files from SASS_PATH, when using CSS::Sass
+
+0.39 2015-03-06T17:06:19Z
+ - Will default to CSS::Sass if installed
+ - Reversed production/development logic
+ - Fix spelling in documentation (berov)
+
+0.3801 2015-03-02T23:58:21Z
+ - Removed reference to "expand" #38
+
+0.38 2015-03-02T23:55:36Z
+ - Improved documentation.
+ - Less logging
+
+0.37 2015-02-04T16:59:36Z
+ - Will use CSS::Sass if ENABLE_LIBSASS_BINDINGS=1 is set This is candiate
+   to become the default in later releases
+
+0.36 2015-01-30T12:08:51Z
+ - Require JavaScript::Minifier::XS 0.11 which include many bugfixes, such
+   as: JavaScript::Minifier::XS::minify(q|function(s){return /^\s*[\w-"']+
+   *:/.test(s)}|);
+
+0.35 2015-01-29T21:20:25Z
+ - Include original error message when failing to fallback
+ - Will die() instead of return $err on process()
+ - Improved detection of minified JavaScript code #34
+
+0.34 2015-01-23T12:51:25Z
+ - Add preprocessor() method to AssetPack
+ - Add support for assets from __DATA__
+
+0.33 2015-01-06T20:00:42Z
+ - Can fallback to existing assets in production mode
+
+0.32 2014-12-18T12:23:58Z
+ - Add logging of JavaScript code to console on error
+ - Able to pass on attrs to script/link tag generator #33
+
+0.31 2014-10-09T13:19:44Z
+ - Fixed and wrote tests for external AssetPack plugins
+
+0.30 2014-10-08T21:55:37Z
+ - Processed assets can be other places than out_dir()
+
+0.29 2014-10-08T20:53:32Z
+ - Improved error message when unable to find external preprocessor
+   (regression)
+
+0.28 2014-10-07T23:58:45Z
+ - Add support for %= asset "foo.js", { inline => 1 }
+ - Will also generate asset files with md5 from single files
+ - Remove expand()
+ - Remove rebuild()
+
+0.27 2014-10-07T00:28:39Z
+ - Fix t/google-font.t
+
+0.26 2014-10-07T00:16:27Z
+ - Generate a different checksum when unable to process input files
+ - Replaced "/Mojolicious/Plugin/AssetPack/could/not/compile/..." with an
+   actual asset using Preprocessor::Fallback
+
+0.25 2014-10-06T16:28:59Z
+ - Preprocessors are added on the fly
+ - Deprecated "no_autodetect"
+ - Improved documentation
+
+0.24 2014-09-28T20:44:00Z
+ - Add preprocessor classes for every detected preprocessor
+ - Add Preprocessors->can_process method to detect if preprocessors exists
+ - Improved error message from sass preprocessor
+
+0.23 2014-09-07T18:20:35Z
+ - Add AssetPack->fetch() method #24
+ - Can calculate checksum with included .sass and .scss files #25
+ - Can load external assets with minify=0 #27
+ - Support printing sass error to web page #26
+ - Better error message when unable to find asset file
+ - Change to using objects for processing files
+
+0.22 2014-08-21T15:08:56Z
+ - Made compass test more robust
+
+0.21 2014-08-07T21:33:48Z
+ - Add support for more debug output with MOJO_ASSETPACK_DEBUG=1
+ - Add error message for missing "jsx" preprocessor
+ - Will render missing text for all types which is not detected.
+ - Remove map_type() from Mojolicious::Plugin::AssetPack::Preprocessors
+
+0.20 2014-08-01T09:55:12Z
+ - Catch exit code from external applications
+ - Improved error messages
+
+0.19 2014-07-27T20:26:45Z
+ - Fix failing test for "compass"
+
+0.18 2014-07-18T01:29:04Z
+ - Will not continue if asset failed to download
+
+0.17 2014-07-15T03:03:57Z
+ - Fix loading empty javascript file
+
+0.16 2014-07-07T22:39:30Z
+ - Fix CPAN testers error
+   http://www.cpantesters.org/cpan/report/caa7015a-050b-11e4-ae21-9a7d1ff27
+   236
+
+0.15 2014-07-05T11:28:42Z
+ - Add JSX support.
+
+0.14 2014-06-14T12:33:10Z
+ - Add ::Preprocessors->map_type() method.
+ - Add support for .sass files
+ - Add support for sass+compass
+ - Add support for custom base_url for minified assets
+
+0.13 2014-06-09T16:11:57Z
+ - Fix including online assets without extension
+ - Fix Use of uninitialized value $_[3] in concatenation
+
+0.12 2014-05-22T21:39:43Z
+ - Allow asset moniker with same name as expanded packed filename.
+
+0.11 2014-05-08T19:13:41Z
+ - Add CoffeScript support. (Alexander Rymasheusky)
+   https://github.com/jhthorsen/mojolicious-plugin-assetpack/pull/7
+ - Add -I<path_to_dir> to sass command line (Per Edin)
+   https://github.com/jhthorsen/mojolicious-plugin-assetpack/pull/5
+ - Add support for MOJO_ASSETPACK_NO_CACHE=1 (Alexander Rymasheusky)
+   https://github.com/jhthorsen/mojolicious-plugin-assetpack/pull/9
+
+0.10 2014-05-08T19:09:00Z
+ - See 0.11
+
+0.09 2014-03-23T11:45:03Z
+ - Remove option for cleaning up old asset files
+
+0.08 2014-03-22T19:14:00Z
+ - Fix finding compiled files by MD5 sum
+
+0.07 2014-03-16T12:07:46Z
+ - Add support for fetching assets from web
+ - Improved support for finding a writeable out_dir
+
+0.0601 2013-12-30T17:01:20Z
+ - Fix bug when asset has the same moniker as one of the source files
+
+0.06 2013-12-17T20:16:24Z
+ - Will not die, but log with custom error message on missing preprocessor
+
+0.0502 2013-11-27T09:21:33Z
+ - Fix plan in t/expand.t when sass is missing
+
+0.0501 2013-11-26T09:43:06Z
+ - Cannot define assets when missing preprocessors
+
+0.05 2013-11-24T18:20:11Z
+ - Bundling JavaScript::Minifier::XS and CSS::Minifier::XS
+ - Will calculate md5_sum from input files
+ - Add support for getting assets for a moniker
+
+0.0402 2013-11-12T21:17:34Z
+ - Will select the latest processed file when preprocessor is missing
+
+0.0401 2013-10-31T21:09:56Z
+ - Fix cleanup of files without md5
+
+0.04 2013-10-31T18:57:22Z
+ - Add support for custom out_dir
+ - Fix cannot lookup preprocessor based on moniker extension
+
+0.03 2013-10-28T18:31:03Z
+ - Use md5sum instead of timestamp in filenames
+
+0.0201 2013-10-10T20:10:25Z
+ - Fix need to change back to previous working dir
+
+0.02 2013-09-24T09:17:43Z
+ - Will only write asset files if the preprocessors exists
+
+0.0102 2013-09-15T15:15:37Z
+ - Fix AssetPack in embedded apps
+
+0.0101 2013-09-15T14:26:29Z
+ - Fix t/compress.t
+
+0.01 2013-09-15T14:20:22Z
+ - Add "asset" helper
+ - Add support for chained preprocessors
+ - Add default preprocessors for js, css, scss and less
+ - Can expand from moniker to multiple script/link tags
+ - Can compress multiple files to one moniker asset
 
-0.50 2015-04-13T11:37:08+0200
-       * Need to start with a fresh asset to avoid adding duplicate
-         processed data to the same asset.
-
-0.49     Sun Apr  5 09:54:27 2015
-       * Will not pack asset.ext.swp files
-
-0.48     Sun Apr  5 09:19:01 2015
-       * Fix serving in memory assets with Content-Type
-       * Fix serving in memory assets with Last-Modified
-
-0.47     Sat Apr  4 13:53:32 2015
-       * Fix Mojo::Base::tap() does not support arguments before 5.57
-
-0.4602   Thu Apr  2 18:44:01 2015
-       * Improved cpantesters
-
-0.46     Wed Apr  1 15:09:35 2015
-       * Remove "fallback" attribute #44 (experimental)
-       * Remove "process" method
-       * Will prevent AssetPack from registering twice
-       * Will not write assets to "mojo-assetpack-public" in TMPDIR #46 
(experimental)
-       * Allow in-memory assets with out_dir(""), MOJO_ASSETPACK_DEBUG=1 or
-         read-only static dirs. #46 (experimental)
-
-0.45     Tue Mar 31 22:02:06 2015
-       * Can also fetch remote assets from local $app #30
-       * Will calculate MD5 sum recursively for sass/scss #44
-       * Add Cookbook
-
-0.44     Mon Mar 23 13:00:45 2015
-       * Add ".min.ext" to minified asset filename
-       * Change filename for assets with errors from "-with-error.ext" to 
".err.ext"
-       * Will look for existing assets even with MOJO_ASSETPACK_DEBUG=1
-       * Remove errmsg() from Mojolicious::Plugin::AssetPack::Preprocessor
-       * Remove detect() from Mojolicious::Plugin::AssetPack::Preprocessors
-
-0.43     Fri Mar 20 11:27:22 2015
-       * Same CSS::Sass detection for Sass as for Scss preprocessor
-
-0.42     Mon Mar 16 19:31:36 2015
-       * Fix "Unescaped left brace in regex is deprecated" warnings
-
-0.41     Mon Mar 16 13:47:17 2015
-       * Will die on CSS::Sass errors
-
-0.40     Mon Mar 16 11:04:47 2015
-       * Fix reading sass files from SASS_PATH, when using CSS::Sass
-
-0.39     Fri Mar  6 17:06:19 2015
-       * Will default to CSS::Sass if installed
-       * Reversed production/development logic
-       * Fix spelling in documentation (berov)
-
-0.3801   Mon Mar  2 23:58:21 2015
-       * Removed reference to "expand" #38
-
-0.38     Mon Mar  2 23:55:36 2015
-       * Improved documentation.
-       * Less logging
-
-0.37     Wed Feb  4 16:59:36 2015
-       * Will use CSS::Sass if ENABLE_LIBSASS_BINDINGS=1 is set
-         This is candiate to become the default in later releases
-
-0.36     Fri Jan 30 12:08:51 2015
-       * Require JavaScript::Minifier::XS 0.11 which include many bugfixes,
-         such as:
-         JavaScript::Minifier::XS::minify(q|function(s){return /^\s*[\w-"']+ 
*:/.test(s)}|);
-
-0.35     Thu Jan 29 21:20:25 2015
-       * Include original error message when failing to fallback
-       * Will die() instead of return $err on process()
-       * Improved detection of minified JavaScript code #34
-
-0.34     Fri Jan 23 12:51:25 2015
-       * Add preprocessor() method to AssetPack
-       * Add support for assets from __DATA__
-
-0.33     Tue Jan  6 20:00:42 2015
-       * Can fallback to existing assets in production mode
-
-0.32     Thu Dec 18 12:23:58 2014
-       * Add logging of JavaScript code to console on error
-       * Able to pass on attrs to script/link tag generator #33
-
-0.31     Thu Oct  9 13:19:44 2014
-       * Fixed and wrote tests for external AssetPack plugins
-
-0.30     Wed Oct  8 21:55:37 2014
-       * Processed assets can be other places than out_dir()
-
-0.29     Wed Oct  8 20:53:32 2014
-       * Improved error message when unable to find external preprocessor
-         (regression)
-
-0.28     Tue Oct  7 23:58:45 2014
-       * Add support for %= asset "foo.js", { inline => 1 }
-       * Will also generate asset files with md5 from single files
-       * Remove expand()
-       * Remove rebuild()
-
-0.27     Tue Oct  7 00:28:39 2014
-       * Fix t/google-font.t
-
-0.26     Tue Oct  7 00:16:27 2014
-       * Generate a different checksum when unable to process input files
-       * Replaced "/Mojolicious/Plugin/AssetPack/could/not/compile/..."
-         with an actual asset using Preprocessor::Fallback
-
-0.25     Mon Oct  6 16:28:59 2014
-       * Preprocessors are added on the fly
-       * Deprecated "no_autodetect"
-       * Improved documentation
-
-0.24     Sun Sep 28 20:44:00 2014
-       * Add preprocessor classes for every detected preprocessor
-       * Add Preprocessors->can_process method to detect if preprocessors 
exists
-       * Improved error message from sass preprocessor
-
-0.23     Sun Sep  7 18:20:35 2014
-       * Add AssetPack->fetch() method #24
-       * Can calculate checksum with included .sass and .scss files #25
-       * Can load external assets with minify=0 #27
-       * Support printing sass error to web page #26
-       * Better error message when unable to find asset file
-       * Change to using objects for processing files
-
-0.22     Thu Aug 21 15:08:56 2014
-       * Made compass test more robust
-
-0.21     Thu Aug  7 21:33:48 2014
-       * Add support for more debug output with MOJO_ASSETPACK_DEBUG=1
-       * Add error message for missing "jsx" preprocessor
-       * Will render missing text for all types which is not detected.
-       * Remove map_type() from Mojolicious::Plugin::AssetPack::Preprocessors
-
-0.20     Fri Aug  1 09:55:12 2014
-       * Catch exit code from external applications
-       * Improved error messages
-
-0.19     Sun Jul 27 20:26:45 2014
-       * Fix failing test for "compass"
-
-0.18     Fri Jul 18 01:29:04 2014
-       * Will not continue if asset failed to download
-
-0.17     Tue Jul 15 03:03:57 2014
-       * Fix loading empty javascript file
-
-0.16     Mon Jul  7 22:39:30 2014
-       * Fix CPAN testers error
-         
http://www.cpantesters.org/cpan/report/caa7015a-050b-11e4-ae21-9a7d1ff27236
-
-0.15     Sat Jul  5 11:28:42 2014
-       * Add JSX support.
-
-0.14     Sat Jun 14 12:33:10 2014
-       * Add ::Preprocessors->map_type() method.
-       * Add support for .sass files
-       * Add support for sass+compass
-       * Add support for custom base_url for minified assets
-
-0.13     Mon Jun  9 16:11:57 2014
-       * Fix including online assets without extension
-       * Fix Use of uninitialized value $_[3] in concatenation
-
-0.12     Thu May 22 21:39:43 2014
-       * Allow asset moniker with same name as expanded packed filename.
-
-0.11     Thu May  8 19:13:41 2014
-       * Add CoffeScript support. (Alexander Rymasheusky)
-         https://github.com/jhthorsen/mojolicious-plugin-assetpack/pull/7
-       * Add -I<path_to_dir> to sass command line (Per Edin)
-         https://github.com/jhthorsen/mojolicious-plugin-assetpack/pull/5
-       * Add support for MOJO_ASSETPACK_NO_CACHE=1 (Alexander Rymasheusky)
-         https://github.com/jhthorsen/mojolicious-plugin-assetpack/pull/9
-
-0.10     Thu May  8 19:09:00 2014
-       * See 0.11
-
-0.09     Sun Mar 23 11:45:03 2014
-       * Remove option for cleaning up old asset files
-
-0.08     Sat Mar 22 19:14:00 2014
-       * Fix finding compiled files by MD5 sum
-
-0.07     Sun Mar 16 12:07:46 2014
-       * Add support for fetching assets from web
-       * Improved support for finding a writeable out_dir
-
-0.0601   Mon Dec 30 17:01:20 2013
-       * Fix bug when asset has the same moniker as one of the source files
-
-0.06     Tue Dec 17 20:16:24 2013
-       * Will not die, but log with custom error message on missing 
preprocessor
-
-0.0502   Wed Nov 27 09:21:33 2013
-       * Fix plan in t/expand.t when sass is missing
-
-0.0501   Tue Nov 26 09:43:06 2013
-       * Cannot define assets when missing preprocessors
-
-0.05     Sun Nov 24 18:20:11 2013
-       * Bundling JavaScript::Minifier::XS and CSS::Minifier::XS
-       * Will calculate md5_sum from input files
-       * Add support for getting assets for a moniker
-
-0.0402   Tue Nov 12 21:17:34 2013
-       * Will select the latest processed file when preprocessor is missing
-
-0.0401   Thu Oct 31 21:09:56 2013
-       * Fix cleanup of files without md5
-
-0.04     Thu Oct 31 18:57:22 2013
-       * Add support for custom out_dir
-       * Fix cannot lookup preprocessor based on moniker extension
-
-0.03     Mon Oct 28 18:31:03 2013
-       * Use md5sum instead of timestamp in filenames
-
-0.0201   Thu Oct 10 20:10:25 2013
-       * Fix need to change back to previous working dir
-
-0.02     Tue Sep 24 09:17:43 2013
-       * Will only write asset files if the preprocessors exists
-
-0.0102   Sun Sep 15 15:15:37 2013
-       * Fix AssetPack in embedded apps
-
-0.0101   Sun Sep 15 14:26:29 2013
-       * Fix t/compress.t
-
-0.01     Sun Sep 15 14:20:22 2013
-       * Add "asset" helper
-       * Add support for chained preprocessors
-       * Add default preprocessors for js, css, scss and less
-       * Can expand from moniker to multiple script/link tags
-       * Can compress multiple files to one moniker asset
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-0.50/MANIFEST 
new/Mojolicious-Plugin-AssetPack-0.51/MANIFEST
--- old/Mojolicious-Plugin-AssetPack-0.50/MANIFEST      2015-04-13 
11:37:09.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-0.51/MANIFEST      2015-04-16 
08:15:50.000000000 +0200
@@ -3,6 +3,7 @@
 .travis.yml
 Changes
 cpanfile
+examples/reloader.pl
 lib/Mojolicious/Plugin/AssetPack.pm
 lib/Mojolicious/Plugin/AssetPack/Asset.pm
 lib/Mojolicious/Plugin/AssetPack/Manual/Assets.pod
@@ -10,6 +11,7 @@
 lib/Mojolicious/Plugin/AssetPack/Manual/CustomDomain.pod
 lib/Mojolicious/Plugin/AssetPack/Manual/Include.pod
 lib/Mojolicious/Plugin/AssetPack/Manual/Modes.pod
+lib/Mojolicious/Plugin/AssetPack/Manual/Reloader.pod
 lib/Mojolicious/Plugin/AssetPack/Preprocessor.pm
 lib/Mojolicious/Plugin/AssetPack/Preprocessor/CoffeeScript.pm
 lib/Mojolicious/Plugin/AssetPack/Preprocessor/Css.pm
@@ -78,6 +80,7 @@
 
t/read-only-with-existing-assets/packed/my-plugin-existing-7c174b801d6fc968f1576055e88c18cb.css
 t/read-only-with-source-assets/css/my-plugin-a.css
 t/read-only-with-source-assets/css/my-plugin-b.css
+t/reloader.t
 t/sass.t
 t/scss.t
 t/skip-minified.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-0.50/META.json 
new/Mojolicious-Plugin-AssetPack-0.51/META.json
--- old/Mojolicious-Plugin-AssetPack-0.50/META.json     2015-04-13 
11:37:09.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-0.51/META.json     2015-04-16 
08:15:50.000000000 +0200
@@ -50,5 +50,5 @@
          "url" : 
"https://github.com/jhthorsen/mojolicious-plugin-assetpack.git";
       }
    },
-   "version" : "0.50"
+   "version" : "0.51"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-0.50/META.yml 
new/Mojolicious-Plugin-AssetPack-0.51/META.yml
--- old/Mojolicious-Plugin-AssetPack-0.50/META.yml      2015-04-13 
11:37:09.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-0.51/META.yml      2015-04-16 
08:15:50.000000000 +0200
@@ -27,4 +27,4 @@
   bugtracker: https://github.com/jhthorsen/mojolicious-plugin-assetpack/issues
   homepage: https://github.com/jhthorsen/mojolicious-plugin-assetpack
   repository: https://github.com/jhthorsen/mojolicious-plugin-assetpack.git
-version: '0.50'
+version: '0.51'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-0.50/README 
new/Mojolicious-Plugin-AssetPack-0.51/README
--- old/Mojolicious-Plugin-AssetPack-0.50/README        2015-04-13 
11:37:09.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-0.51/README        2015-04-16 
08:15:50.000000000 +0200
@@ -3,7 +3,7 @@
     javascript and coffeescript files
 
 VERSION
-    0.50
+    0.51
 
 SYNOPSIS
   Application
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-Plugin-AssetPack-0.50/examples/reloader.pl 
new/Mojolicious-Plugin-AssetPack-0.51/examples/reloader.pl
--- old/Mojolicious-Plugin-AssetPack-0.50/examples/reloader.pl  1970-01-01 
01:00:00.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-0.51/examples/reloader.pl  2015-04-16 
08:15:48.000000000 +0200
@@ -0,0 +1,27 @@
+#!/usr/bin/env perl
+use Mojolicious::Lite;
+
+# need to specify to AssetPack that we want to enable "reloader"
+plugin AssetPack => {reloader => {}};
+
+# define our own assets, define some routes and start the app
+app->asset("app.css" => "/css/app.css");
+get "/" => "index";
+app->start;
+
+__DATA__
+@@ css/app.css
+body { background: #eee; }
+@@ index.html.ep
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Reloader demo</title>
+    %= asset "app.css"
+    %# Reloader is only available in development mode
+    %= asset "reloader.js" if app->mode eq "development"
+  </head>
+  <body>
+    Reloader demo. Try to change css/app.css and see this page auto-update.
+  </body>
+</html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-Plugin-AssetPack-0.50/lib/Mojolicious/Plugin/AssetPack/Manual/Reloader.pod
 
new/Mojolicious-Plugin-AssetPack-0.51/lib/Mojolicious/Plugin/AssetPack/Manual/Reloader.pod
--- 
old/Mojolicious-Plugin-AssetPack-0.50/lib/Mojolicious/Plugin/AssetPack/Manual/Reloader.pod
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/Mojolicious-Plugin-AssetPack-0.51/lib/Mojolicious/Plugin/AssetPack/Manual/Reloader.pod
  2015-04-16 08:15:48.000000000 +0200
@@ -0,0 +1,69 @@
+
+=encoding utf8
+
+=head1 NAME
+
+Mojolicious::Plugin::AssetPack::Manual::Reloader - Enable automatic reloading 
of assets
+
+=head1 DESCRIPTION
+
+It is possible to reload assets in the browser, when they are changed on disk.
+
+This feature is EXPERIMENTAL, and should only be used while developing!
+
+=head2 Example application
+
+  use Mojolicious::Lite;
+
+  # need to specify to AssetPack that we want to enable "reloader"
+  plugin AssetPack => {reloader => {}};
+
+  # define our own assets, define some routes and start the app
+  app->asset("app.css" => "/css/app.css");
+  get "/" => "index";
+  app->start;
+
+  __DATA__
+  @@ css/app.css
+  body { background: #eee; }
+  @@ index.html.ep
+  <!DOCTYPE html>
+  <html>
+    <head>
+      <title>Reloader demo</title>
+      %= asset "app.css"
+      %# Reloader is only available in development mode
+      %= asset "reloader.js" if app->mode eq "development"
+    </head>
+    <body>
+      Reloader demo. Try to change css/app.css and see this page auto-update.
+    </body>
+  </html>
+
+=head2 Running the application
+
+To make this work, we need to start L<morbo|Mojo::Server::Morbo> and manually
+make it watch our files:
+
+  $ morbo -w morbo examples/reloader.pl -w lib -w templates -w public/css
+
+=head2 How does it work?
+
+C<reloader.js> contains a JavaScript which connects to a WebSocket in our
+server. Every time the WebSocket connection is broken the JavaScript
+will trigger a refresh.
+
+There are two different refresh strategies available: "head" and "document".
+
+  plugin AssetPack => {
+    reloader => {strategy => "head"}
+  };
+
+Setting the C<strategy> to "head" will only replace the head-tag in your
+document, while the default ("document") will refresh the whole document.
+
+=head1 AUTHOR
+
+Jan Henning Thorsen - C<jhthor...@cpan.org>
+
+=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-Plugin-AssetPack-0.50/lib/Mojolicious/Plugin/AssetPack.pm 
new/Mojolicious-Plugin-AssetPack-0.51/lib/Mojolicious/Plugin/AssetPack.pm
--- old/Mojolicious-Plugin-AssetPack-0.50/lib/Mojolicious/Plugin/AssetPack.pm   
2015-04-13 11:37:08.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-0.51/lib/Mojolicious/Plugin/AssetPack.pm   
2015-04-16 08:15:50.000000000 +0200
@@ -12,7 +12,7 @@
 use constant NO_CACHE => $ENV{MOJO_ASSETPACK_NO_CACHE} || 0;
 use constant DEBUG    => $ENV{MOJO_ASSETPACK_DEBUG}    || 0;
 
-our $VERSION = '0.50';
+our $VERSION = '0.51';
 
 my $MTIME = time;
 
@@ -75,14 +75,15 @@
     return $app->log->debug("AssetPack: Helper $helper() is already 
registered.");
   }
 
+  $self->{assets}    = {};
+  $self->{processed} = {};
+
   $self->_app($app);
   $self->_ua->server->app($app);
   $self->minify($config->{minify} // $app->mode ne 'development');
   $self->out_dir($self->_build_out_dir($config, $app));
   $self->base_url($config->{base_url}) if $config->{base_url};
-
-  $self->{assets}    = {};
-  $self->{processed} = {};
+  $self->_reloader($app, $config->{reloader}) if $config->{reloader};
 
   if (NO_CACHE) {
     $app->log->info('AssetPack Will rebuild assets on each request in memory');
@@ -122,9 +123,10 @@
       my $c    = shift;
       my $path = $c->req->url->path;
 
-      return if $c->res->code;
+      return if $c->req->is_handshake or $c->res->code;
       return unless $path->[1] and 0 == index "$path", $self->base_url;
       return unless my $asset = $c->asset->_asset($path->[1]);
+      return if $asset->{internal};
       $c->res->headers->last_modified(Mojo::Date->new($MTIME))
         ->content_type($c->app->types->type($asset->url =~ /\.(\w+)$/ ? $1 : 
'txt') || 'text/plain');
       $c->reply->asset($asset);
@@ -289,6 +291,24 @@
   map { my $name = _name($_); $self->_process("$name.$ext" => $_) } @files;
 }
 
+sub _reloader {
+  my ($self, $app, $config) = @_;
+  my $reloader = $self->_asset('reloader.js');
+
+  return if !$config->{enabled} and $app->mode ne 'development';
+
+  warn "[ASSETPACK] Adding reloader asset and route\n" if DEBUG;
+  $reloader->url('reloader.js')->{internal} = 1;
+  $self->{assets}{'reloader.js'} = [$reloader];
+  push @{$app->renderer->classes}, __PACKAGE__;
+  $app->routes->get('/packed/reloader')->to(template => 'packed/reloader', 
strategy => 'document', %$config);
+  $app->routes->websocket('/packed/reloader/ws')->to(
+    cb => sub {
+      shift->on(message => sub { shift->send('pong'); });
+    }
+  )->name('assetpack.ws');
+}
+
 # utils
 sub _ext { local $_ = File::Basename::basename($_[0]); /\.(\w+)$/ ? $1 : 
'unknown'; }
 
@@ -309,7 +329,7 @@
 
 =head1 VERSION
 
-0.50
+0.51
 
 =head1 SYNOPSIS
 
@@ -522,3 +542,37 @@
 Viktor Turskyi
 
 =cut
+
+__DATA__
+@@ packed/reloader.js.ep
+;window.addEventListener('load', function(e) {
+  var xhr, socket, t, reloaded = 0;
+  var connect = function() {
+    socket = new WebSocket('<%= 
url_for('assetpack.ws')->userinfo(undef)->to_abs %>'.replace(/^http/, 'ws'));
+    socket.onopen = function(e) {
+      if (reloaded++) {
+        xhr = new XMLHttpRequest();
+        xhr.responseType = 'document';
+        xhr.open('GET', window.location.href);
+        xhr.onreadystatechange = function() {
+          if (xhr.readyState != 4) return;
+          if (window.console) console.log('[AssetPack] Replacing 
<head>...</head>');
+          document.head.innerHTML = 
this.responseXML.getElementsByTagName('head')[0].innerHTML;
+        };
+        xhr.send(null);
+      }
+      t = setInterval(function() { socket.send('ping'); }, 5000);
+    }
+    socket.onclose = function() {
+      if (t) clearTimeout(t);
+      if (window.console) console.log('[AssetPack] Reloading with strategy 
"<%= $strategy %>" (' + reloaded + ')');
+      if ('<%= $strategy %>' == 'document') {
+        return window.location = window.location.href;
+      }
+      else {
+        setTimeout(function() { connect() }, 500);
+      }
+    };
+  };
+  connect();
+});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-0.50/t/00-basic.t 
new/Mojolicious-Plugin-AssetPack-0.51/t/00-basic.t
--- old/Mojolicious-Plugin-AssetPack-0.50/t/00-basic.t  2015-03-02 
23:33:48.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-0.51/t/00-basic.t  2015-04-15 
17:35:56.000000000 +0200
@@ -14,22 +14,24 @@
     SKIP: { skip "pod_coverage_ok(@_) (Test::Pod::Coverage is required)", 1 }
   };
 }
+if (!eval 'use Test::CPAN::Changes; 1') {
+  *Test::CPAN::Changes::changes_file_ok = sub {
+    SKIP: { skip "changes_ok(@_) (Test::CPAN::Changes is required)", 4 }
+  };
+}
 
-find({wanted => sub { /\.(pm|pod)$/ and push @files, $File::Find::name }, 
no_chdir => 1}, -e 'blib' ? 'blib' : 'lib',);
+find({wanted => sub { /\.pm$/ and push @files, $File::Find::name }, no_chdir 
=> 1}, -e 'blib' ? 'blib' : 'lib',);
 
-my $n = 0;
-$n += /\.pm$/ ? 3 : 1 for @files;
-plan tests => $n;
+plan tests => @files * 3 + 4;
 
 for my $file (@files) {
   my $module = $file;
+  $module =~ s,\.pm$,,;
   $module =~ s,.*/?lib/,,;
   $module =~ s,/,::,g;
-
+  ok eval "use $module; 1", "use $module" or diag $@;
   Test::Pod::pod_file_ok($file);
-
-  if ($module =~ s,\.pm$,,) {
-    ok eval "use $module; 1", "use $module" or diag $@;
-    Test::Pod::Coverage::pod_coverage_ok($module);
-  }
+  Test::Pod::Coverage::pod_coverage_ok($module, {also_private => 
[qr/^[A-Z_]+$/],});
 }
+
+Test::CPAN::Changes::changes_file_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-0.50/t/reloader.t 
new/Mojolicious-Plugin-AssetPack-0.51/t/reloader.t
--- old/Mojolicious-Plugin-AssetPack-0.50/t/reloader.t  1970-01-01 
01:00:00.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-0.51/t/reloader.t  2015-04-16 
08:15:48.000000000 +0200
@@ -0,0 +1,14 @@
+use t::Helper;
+my $t = t::Helper->t({minify => 0, reloader => {}});
+
+$t->get_ok('/test1')->status_is(200)->element_exists('script[src="/packed/reloader.js"]');
+
+local $TODO = 'inline is not yet supported';
+$t->text_like('script', qr{new WebSocket});
+
+done_testing;
+
+__DATA__
+@@ test1.html.ep
+%= asset 'reloader.js', {inline => 1}
+%= asset 'reloader.js';

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
#preamble: |-
# BuildRequires:  gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: -
#./Build build flags=%{?_smp_mflags} --myflag

Reply via email to