Hello community,
here is the log from the commit of package perl-Mojolicious-Plugin-AssetPack for openSUSE:Factory checked in at 2017-01-18 21:43:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 2017-01-16 11:14:53.621105841 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new/perl-Mojolicious-Plugin-AssetPack.changes 2017-01-18 21:43:34.913517629 +0100
@@ -1,0 +2,10 @@
+Sat Jan 14 06:06:31 UTC 2017 - coolo@suse.com
+
+- updated to 1.37
+ see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+ 1.37 2017-01-12T20:52:18+0100
+ - Add support for sass source maps
+ - No need to delete known media types in AssetPack::Store
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-Plugin-AssetPack-1.36.tar.gz
New:
----
Mojolicious-Plugin-AssetPack-1.37.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious-Plugin-AssetPack.spec ++++++
--- /var/tmp/diff_new_pack.SIT83w/_old 2017-01-18 21:43:35.305462192 +0100
+++ /var/tmp/diff_new_pack.SIT83w/_new 2017-01-18 21:43:35.305462192 +0100
@@ -17,7 +17,7 @@
Name: perl-Mojolicious-Plugin-AssetPack
-Version: 1.36
+Version: 1.37
Release: 0
%define cpan_name Mojolicious-Plugin-AssetPack
Summary: Compress and convert css, less, sass, javascript and coffeescript files
++++++ Mojolicious-Plugin-AssetPack-1.36.tar.gz -> Mojolicious-Plugin-AssetPack-1.37.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.36/Changes new/Mojolicious-Plugin-AssetPack-1.37/Changes
--- old/Mojolicious-Plugin-AssetPack-1.36/Changes 2017-01-11 11:18:45.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.37/Changes 2017-01-12 20:52:18.000000000 +0100
@@ -1,5 +1,9 @@
Revision history for perl distribution Mojolicious-Plugin-AssetPack
+1.37 2017-01-12T20:52:18+0100
+ - Add support for sass source maps
+ - No need to delete known media types in AssetPack::Store
+
1.36 2017-01-11T11:18:45+0100
- Fix bug in Fetch pipe, fixing t/font-awesome.t
- Change Mojolicious::Plugin::AssetPack::Asset::path() to return a Mojo::File object
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.36/MANIFEST new/Mojolicious-Plugin-AssetPack-1.37/MANIFEST
--- old/Mojolicious-Plugin-AssetPack-1.36/MANIFEST 2017-01-11 11:18:46.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.37/MANIFEST 2017-01-12 20:52:20.000000000 +0100
@@ -88,6 +88,7 @@
t/sass-bin.t
t/sass-dynamic-include.t
t/sass-functions.t
+t/sass-source-map.t
t/sass-unable-to-download.t
t/sass-utf8.t
t/sass.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.36/META.json new/Mojolicious-Plugin-AssetPack-1.37/META.json
--- old/Mojolicious-Plugin-AssetPack-1.36/META.json 2017-01-11 11:18:46.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.37/META.json 2017-01-12 20:52:19.000000000 +0100
@@ -48,6 +48,6 @@
"url" : "https://github.com/jhthorsen/mojolicious-plugin-assetpack.git"
}
},
- "version" : "1.36",
+ "version" : "1.37",
"x_serialization_backend" : "JSON::PP version 2.27300"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.36/META.yml new/Mojolicious-Plugin-AssetPack-1.37/META.yml
--- old/Mojolicious-Plugin-AssetPack-1.36/META.yml 2017-01-11 11:18:46.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.37/META.yml 2017-01-12 20:52:19.000000000 +0100
@@ -25,5 +25,5 @@
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: '1.36'
+version: '1.37'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.36/README new/Mojolicious-Plugin-AssetPack-1.37/README
--- old/Mojolicious-Plugin-AssetPack-1.36/README 2017-01-11 11:18:45.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.37/README 2017-01-12 20:52:19.000000000 +0100
@@ -3,7 +3,7 @@
javascript and coffeescript files
VERSION
- 1.36
+ 1.37
SYNOPSIS
Application
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm new/Mojolicious-Plugin-AssetPack-1.37/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm
--- old/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2017-01-11 11:16:59.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.37/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2017-01-12 20:45:08.000000000 +0100
@@ -1,12 +1,18 @@
package Mojolicious::Plugin::AssetPack::Pipe::Sass;
use Mojo::Base 'Mojolicious::Plugin::AssetPack::Pipe';
+
use Mojolicious::Plugin::AssetPack::Util qw(checksum diag dumper load_module DEBUG);
+use Mojo::JSON qw(decode_json encode_json);
use Mojo::Util;
-my $FORMAT_RE = qr{^s[ac]ss$};
-my $IMPORT_RE = qr{( \@import \s+ (["']) (.*?) \2 \s* ; )}x;
+my $FORMAT_RE = qr{^s[ac]ss$};
+my $IMPORT_RE = qr{( \@import \s+ (["']) (.*?) \2 \s* ; )}x;
+my $SOURCE_MAP_PLACEHOLDER = sprintf '__%s__', __PACKAGE__;
+
+$SOURCE_MAP_PLACEHOLDER =~ s!::!_!g;
has functions => sub { +{} };
+has generate_source_map => sub { shift->app->mode eq 'development' ? 1 : 0 };
sub process {
my ($self, $assets) = @_;
@@ -19,6 +25,11 @@
$opts{sass_functions}{$name} = sub { $self->$cb(@_); };
}
+ if ($self->generate_source_map) {
+ $opts{source_map_file} = $SOURCE_MAP_PLACEHOLDER;
+ $opts{source_map_file_urls} = $self->app->mode eq 'development' ? 1 : 0;
+ }
+
return $assets->each(
sub {
my ($asset, $index) = @_;
@@ -47,6 +58,8 @@
$asset->url, dumper(\%opts), $err;
}
$css = Mojo::Util::encode('UTF-8', $css);
+ $self->_add_source_map_asset($asset, \$css, $stats)
+ if $stats->{source_map_string};
$asset->content($store->save(\$css, $attrs))->FROM_JSON($attrs);
}
else {
@@ -59,6 +72,25 @@
);
}
+sub _add_source_map_asset {
+ my ($self, $asset, $css, $stats) = @_;
+ my $data = decode_json $stats->{source_map_string};
+ my $source_map = Mojolicious::Plugin::AssetPack::Asset->new(
+ url => sprintf('%s.css.map', $asset->name));
+
+ # override "stdin" with real file
+ $data->{file} = sprintf 'file://%s', $asset->path if $asset->path;
+ $data->{sources}[0] = $data->{file};
+ $source_map->content(encode_json $data);
+
+ my $relative = join '/', '..', $source_map->checksum, $source_map->url;
+ $$css =~ s!$SOURCE_MAP_PLACEHOLDER!$relative!;
+
+ # TODO
+ $self->assetpack->{by_checksum}{$source_map->checksum} = $source_map;
+ $self->assetpack->{by_topic}{$source_map->url} = Mojo::Collection->new($source_map);
+}
+
sub _checksum {
my ($self, $ref, $asset, $paths) = @_;
my $ext = $asset->format;
@@ -177,6 +209,22 @@
See L</SYNOPSIS> for example.
+=head2 generate_source_map
+
+ $bool = $self->generate_source_map;
+ $self = $self->generate_source_map(1);
+
+This pipe will generate source maps if true. Default is "1" if
+L