Hello community, here is the log from the commit of package rubygem-webpacker for openSUSE:Factory checked in at 2020-03-07 21:40:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-webpacker (Old) and /work/SRC/openSUSE:Factory/.rubygem-webpacker.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-webpacker" Sat Mar 7 21:40:43 2020 rev:2 rq:773866 version:4.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-webpacker/rubygem-webpacker.changes 2019-12-03 12:43:21.154116622 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-webpacker.new.26092/rubygem-webpacker.changes 2020-03-07 21:40:46.324374790 +0100 @@ -1,0 +2,14 @@ +Mon Feb 10 16:04:14 UTC 2020 - Stephan Kulow <co...@suse.com> + +- updated to version 4.2.2 + see installed CHANGELOG.md + + ## [[4.2.2]](https://github.com/rails/webpacker/compare/v4.2.1...v4.2.2) - 2019-12-09 + + - Fixed issue with webpack clean task for nested assets [#2391](https://github.com/rails/webpacker/pull/2391) + + ## [[4.2.1]](https://github.com/rails/webpacker/compare/v4.2.0...v4.2.1) - 2019-12-09 + + - Fixed issue with webpack clean task [#2389](https://github.com/rails/webpacker/pull/2389) + +------------------------------------------------------------------- Old: ---- webpacker-4.2.0.gem New: ---- gem2rpm.yml webpacker-4.2.2.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-webpacker.spec ++++++ --- /var/tmp/diff_new_pack.6U3W61/_old 2020-03-07 21:40:48.152376025 +0100 +++ /var/tmp/diff_new_pack.6U3W61/_new 2020-03-07 21:40:48.192376051 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-webpacker # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,20 +12,29 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# +# This file was generated with a gem2rpm.yml and not just plain gem2rpm. +# All sections marked as MANUAL, license headers, summaries and descriptions +# can be maintained in that file. Please consult this file before editing any +# of those fields # Name: rubygem-webpacker -Version: 4.2.0 +Version: 4.2.2 Release: 0 %define mod_name webpacker %define mod_full_name %{mod_name}-%{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: ruby-macros >= 5 BuildRequires: %{ruby >= 2.2.0} BuildRequires: %{rubygem gem2rpm} -Url: https://github.com/rails/webpacker +BuildRequires: ruby-macros >= 5 +URL: https://github.com/rails/webpacker Source: https://rubygems.org/gems/%{mod_full_name}.gem +Source1: gem2rpm.yml Summary: Use webpack to manage app-like JavaScript modules in Rails License: MIT Group: Development/Languages/Ruby ++++++ gem2rpm.yml ++++++ # --- # ## used by gem2rpm # :summary: this is a custom summary # ## used by gem2rpm # :description: |- # this is a custom description # # it can be multiline # ## used by gem2rpm # :license: MIT or Ruby # ## used by gem2rpm and gem_packages # :version_suffix: -x_y # ## used by gem2rpm and gem_packages # :disable_docs: true # ## used by gem2rpm # :disable_automatic_rdoc_dep: true # ## used by gem2rpm # :preamble: |- # BuildRequires: foobar # Requires: foobar # ## used by gem2rpm # :patches: # foo.patch: -p1 # bar.patch: # :post_patch: # if you need to fiddle with the source dir before rebuilding the gem # ## used by gem2rpm :sources: # - foo.desktop # - bar.desktop # :gem_install_args: '....' # ## used by gem2rpm # :pre_install: |- # %if 0%{?use_system_libev} # export USE_VENDORED_LIBEV="no" # %endif # ## used by gem2rpm # :post_install: |- # # delete custom files here or do other fancy stuff # install -D -m 0644 %{S:1} %{buildroot}%{_bindir}/gem2rpm-opensuse # ## used by gem2rpm # :testsuite_command: |- # (pushd %{buildroot}%{gem_base}/gems/%{mod_full_name} && rake test) # ## used by gem2rpm # :filelist: |- # /usr/bin/gem2rpm-opensuse # ## used by gem2rpm # :scripts: # :post: |- # /bin/echo foo # ## used by gem_packages # :main: # :preamble: |- # Requires: util-linux # Recommends: pwgen # :filelist: |- # /usr/bin/gem2rpm-opensuse # ## used by gem_packages # :custom_pkgs: # apache: # :preamble: |- # Requires: ..... # :filelist: |- # /etc/apache2/conf.d/passenger.conf # :summary: Custom summary is optional # :description: |- # Custom description is optional # # bar # :post: |- # /bin/echo foo # :preamble: |- # %if 0%{?suse_version} && 0%{?suse_version} < 1330 # %define rb_build_versions ruby24 ruby25 # %define rb_default_ruby_abi ruby:2.4.0 ruby:2.5.0 # %endif ++++++ webpacker-4.2.0.gem -> webpacker-4.2.2.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2019-11-12 13:27:17.000000000 +0100 +++ new/CHANGELOG.md 2019-12-09 12:55:16.000000000 +0100 @@ -2,6 +2,14 @@ **Please note that Webpacker 4.1.0 has an installer bug. Please use 4.2.0 or above** +## [[4.2.2]](https://github.com/rails/webpacker/compare/v4.2.1...v4.2.2) - 2019-12-09 + +- Fixed issue with webpack clean task for nested assets [#2391](https://github.com/rails/webpacker/pull/2391) + +## [[4.2.1]](https://github.com/rails/webpacker/compare/v4.2.0...v4.2.1) - 2019-12-09 + +- Fixed issue with webpack clean task [#2389](https://github.com/rails/webpacker/pull/2389) + ## [[4.2.0]](https://github.com/rails/webpacker/compare/v4.1.0...v4.2.0) - 2019-11-12 - Fixed installer bug [#2366](https://github.com/rails/webpacker/pull/2366) @@ -49,14 +57,14 @@ In each of your `/packs/*.js` files, change this: ```js -import "@babel/polyfill"; +import '@babel/polyfill' ``` to this: ```js -import "core-js/stable"; -import "regenerator-runtime/runtime"; +import 'core-js/stable' +import 'regenerator-runtime/runtime' ``` Don't forget to install those dependencies directly! @@ -93,10 +101,10 @@ ```js // config/webpack/production.js -const environment = require("./environment"); -environment.config.merge({ devtool: "none" }); +const environment = require('./environment') +environment.config.merge({ devtool: 'none' }) -module.exports = environment.toWebpackConfig(); +module.exports = environment.toWebpackConfig() ``` - Reintroduced `context` to the file loader. Reverting the simpler paths change @@ -147,12 +155,12 @@ ```js // config/webpack/environment.js -const { environment, config } = require("@rails/webpacker"); -const { join } = require("path"); +const { environment, config } = require('@rails/webpacker') +const { join } = require('path') -const fileLoader = environment.loaders.get("file"); -fileLoader.use[0].options.name = "[path][name]-[hash].[ext]"; -fileLoader.use[0].options.context = join(config.source_path); // optional if you don't want to expose full paths +const fileLoader = environment.loaders.get('file') +fileLoader.use[0].options.name = '[path][name]-[hash].[ext]' +fileLoader.use[0].options.context = join(config.source_path) // optional if you don't want to expose full paths ``` ### Added @@ -246,7 +254,7 @@ depending on how you want to process packs [#1823](https://github.com/rails/webpacker/pull/1823) ```js -environment.loaders.prepend(); +environment.loaders.prepend() ``` - Separate CSS extraction from build environment [#1625](https://github.com/rails/webpacker/pull/1625) @@ -281,13 +289,13 @@ - Add split chunks api (undocumented) ```js -const { environment } = require("@rails/webpacker"); +const { environment } = require('@rails/webpacker') // Enable with default config -environment.splitChunks(); +environment.splitChunks() // Configure via a callback environment.splitChunks(config => Object.assign({}, config, { optimization: { splitChunks: false } }) -); +) ``` - Allow changing static file extensions using webpacker.yml (undocumented) @@ -418,12 +426,12 @@ ```js // config/webpack/environment.js -const { environment } = require("@rails/webpacker"); +const { environment } = require('@rails/webpacker') -environment.loaders.append("json", { +environment.loaders.append('json', { test: /\.json$/, - use: "json-loader" -}); + use: 'json-loader' +}) ``` ### Fixed @@ -490,17 +498,17 @@ directory and add it to webpack build from `config/webpack/environment.js` ```js -const erb = require("./loaders/erb"); -const elm = require("./loaders/elm"); -const typescript = require("./loaders/typescript"); -const vue = require("./loaders/vue"); -const coffee = require("./loaders/coffee"); - -environment.loaders.append("coffee", coffee); -environment.loaders.append("vue", vue); -environment.loaders.append("typescript", typescript); -environment.loaders.append("elm", elm); -environment.loaders.append("erb", erb); +const erb = require('./loaders/erb') +const elm = require('./loaders/elm') +const typescript = require('./loaders/typescript') +const vue = require('./loaders/vue') +const coffee = require('./loaders/coffee') + +environment.loaders.append('coffee', coffee) +environment.loaders.append('vue', vue) +environment.loaders.append('typescript', typescript) +environment.loaders.append('elm', elm) +environment.loaders.append('erb', erb) ``` In `.postcssrc.yml` you need to change the plugin name from `postcss-smart-import` to `postcss-import`: @@ -553,15 +561,15 @@ - Expose base config from environment ```js -environment.config.set("resolve.extensions", [".foo", ".bar"]); -environment.config.set("output.filename", "[name].js"); -environment.config.delete("output.chunkFilename"); -environment.config.get("resolve"); +environment.config.set('resolve.extensions', ['.foo', '.bar']) +environment.config.set('output.filename', '[name].js') +environment.config.delete('output.chunkFilename') +environment.config.get('resolve') environment.config.merge({ output: { - filename: "[name].js" + filename: '[name].js' } -}); +}) ``` - Expose new API's for loaders and plugins to insert at position @@ -570,34 +578,34 @@ const jsonLoader = { test: /\.json$/, exclude: /node_modules/, - loader: "json-loader" -}; + loader: 'json-loader' +} -environment.loaders.append("json", jsonLoader); -environment.loaders.prepend("json", jsonLoader); -environment.loaders.insert("json", jsonLoader, { after: "style" }); -environment.loaders.insert("json", jsonLoader, { before: "babel" }); +environment.loaders.append('json', jsonLoader) +environment.loaders.prepend('json', jsonLoader) +environment.loaders.insert('json', jsonLoader, { after: 'style' }) +environment.loaders.insert('json', jsonLoader, { before: 'babel' }) // Update a plugin -const manifestPlugin = environment.plugins.get("Manifest"); -manifestPlugin.opts.writeToFileEmit = false; +const manifestPlugin = environment.plugins.get('Manifest') +manifestPlugin.opts.writeToFileEmit = false // Update coffee loader to use coffeescript 2 -const babelLoader = environment.loaders.get("babel"); +const babelLoader = environment.loaders.get('babel') environment.loaders.insert( - "coffee", + 'coffee', { test: /\.coffee(\.erb)?$/, - use: babelLoader.use.concat(["coffee-loader"]) + use: babelLoader.use.concat(['coffee-loader']) }, - { before: "json" } -); + { before: 'json' } +) ``` - Expose `resolve.modules` paths like loaders and plugins ```js -environment.resolvedModules.append("vendor", "vendor"); +environment.resolvedModules.append('vendor', 'vendor') ``` - Enable sourcemaps in `style` and `css` loader @@ -608,13 +616,13 @@ ```js // Enable css modules with sass loader -const sassLoader = environment.loaders.get("sass"); -const cssLoader = sassLoader.use.find(loader => loader.loader === "css-loader"); +const sassLoader = environment.loaders.get('sass') +const cssLoader = sassLoader.use.find(loader => loader.loader === 'css-loader') cssLoader.options = Object.assign({}, cssLoader.options, { modules: true, - localIdentName: "[path][name]__[local]--[hash:base64:5]" -}); + localIdentName: '[path][name]__[local]--[hash:base64:5]' +}) ``` - Expose rest of configurable dev server options from webpacker.yml @@ -622,7 +630,7 @@ ```yml quiet: false headers: - "Access-Control-Allow-Origin": "*" + 'Access-Control-Allow-Origin': '*' watch_options: ignored: /node_modules/ ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile.lock new/Gemfile.lock --- old/Gemfile.lock 2019-11-12 13:27:17.000000000 +0100 +++ new/Gemfile.lock 2019-12-09 12:55:16.000000000 +0100 @@ -1,7 +1,7 @@ PATH remote: . specs: - webpacker (4.2.0) + webpacker (4.2.2) activesupport (>= 4.2) rack-proxy (>= 0.6.1) railties (>= 4.2) Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/install/template.rb new/lib/install/template.rb --- old/lib/install/template.rb 2019-11-12 13:27:17.000000000 +0100 +++ new/lib/install/template.rb 2019-12-09 12:55:16.000000000 +0100 @@ -36,7 +36,7 @@ if Webpacker::VERSION =~ /^[0-9]+\.[0-9]+\.[0-9]+$/ say "Installing all JavaScript dependencies [#{Webpacker::VERSION}]" - run "yarn add @rails/webpacker" + run "yarn add @rails/webpacker@#{Webpacker::VERSION}" else say "Installing all JavaScript dependencies [from prerelease rails/webpacker]" run "yarn add @rails/webpacker@next" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/tasks/webpacker/clean.rake new/lib/tasks/webpacker/clean.rake --- old/lib/tasks/webpacker/clean.rake 2019-11-12 13:27:17.000000000 +0100 +++ new/lib/tasks/webpacker/clean.rake 2019-12-09 12:55:16.000000000 +0100 @@ -1,9 +1,13 @@ +$stdout.sync = true + require "webpacker/configuration" namespace :webpacker do desc "Remove old compiled webpacks" task :clean, [:keep] => ["webpacker:verify_install", :environment] do |_, args| - Webpacker.clean(Integer(args.keep || 2)) + Webpacker.ensure_log_goes_to_stdout do + Webpacker.clean(Integer(args.keep || 2)) + end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/tasks/webpacker/compile.rake new/lib/tasks/webpacker/compile.rake --- old/lib/tasks/webpacker/compile.rake 2019-11-12 13:27:17.000000000 +0100 +++ new/lib/tasks/webpacker/compile.rake 2019-12-09 12:55:16.000000000 +0100 @@ -1,13 +1,5 @@ $stdout.sync = true -def ensure_log_goes_to_stdout - old_logger = Webpacker.logger - Webpacker.logger = ActiveSupport::Logger.new(STDOUT) - yield -ensure - Webpacker.logger = old_logger -end - def yarn_install_available? rails_major = Rails::VERSION::MAJOR rails_minor = Rails::VERSION::MINOR @@ -27,7 +19,7 @@ desc "Compile JavaScript packs using webpack for production with digests" task compile: ["webpacker:verify_install", :environment] do Webpacker.with_node_env(ENV.fetch("NODE_ENV", "production")) do - ensure_log_goes_to_stdout do + Webpacker.ensure_log_goes_to_stdout do if Webpacker.compile # Successful compilation! else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/webpacker/commands.rb new/lib/webpacker/commands.rb --- old/lib/webpacker/commands.rb 2019-11-12 13:27:17.000000000 +0100 +++ new/lib/webpacker/commands.rb 2019-12-09 12:55:16.000000000 +0100 @@ -1,25 +1,19 @@ class Webpacker::Commands - delegate :config, :compiler, :manifest, to: :@webpacker + delegate :config, :compiler, :manifest, :logger, to: :@webpacker def initialize(webpacker) @webpacker = webpacker end - def clean(count_to_keep = 2) - if config.public_output_path.exist? && config.public_manifest_path.exist? - files_in_manifest = process_manifest_hash(manifest.refresh) - files_to_be_removed = files_in_manifest.flat_map do |file_in_manifest| - file_prefix, file_ext = file_in_manifest.scan(/(.*)[0-9a-f]{20}(.*)/).first - versions_of_file = Dir.glob("#{file_prefix}*#{file_ext}").grep(/#{file_prefix}[0-9a-f]{20}#{file_ext}/) - versions_of_file.map do |version_of_file| - next if version_of_file == file_in_manifest - - [version_of_file, File.mtime(version_of_file).utc.to_i] - end.compact.sort_by(&:last).reverse.drop(count_to_keep).map(&:first) + def clean(count = 2) + if config.public_output_path.exist? && config.public_manifest_path.exist? && versions.count > count + versions.drop(count).flat_map(&:last).each do |file| + File.delete(file) if File.file?(file) + logger.info "Removed #{file}" end - - files_to_be_removed.each { |f| File.delete f } end + + true end def clobber @@ -38,11 +32,19 @@ end private - def process_manifest_hash(manifest_hash) - manifest_hash.values.map do |value| - next process_manifest_hash(value) if value.is_a?(Hash) + def versions + all_files = Dir.glob("#{config.public_output_path}/**/*") + manifest_config = Dir.glob("#{config.public_manifest_path}*") + + packs = all_files - manifest_config - current_version + packs.group_by { |file| File.mtime(file).utc.to_i }.sort.reverse + end + + def current_version + manifest.refresh.values.map do |value| + next if value.is_a?(Hash) File.join(config.root_path, "public", value) - end.flatten + end.compact end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/webpacker/version.rb new/lib/webpacker/version.rb --- old/lib/webpacker/version.rb 2019-11-12 13:27:17.000000000 +0100 +++ new/lib/webpacker/version.rb 2019-12-09 12:55:16.000000000 +0100 @@ -1,4 +1,4 @@ module Webpacker # Change the version in package.json too, please! - VERSION = "4.2.0".freeze + VERSION = "4.2.2".freeze end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/webpacker.rb new/lib/webpacker.rb --- old/lib/webpacker.rb 2019-11-12 13:27:17.000000000 +0100 +++ new/lib/webpacker.rb 2019-12-09 12:55:16.000000000 +0100 @@ -22,6 +22,14 @@ ENV["NODE_ENV"] = original end + def ensure_log_goes_to_stdout + old_logger = Webpacker.logger + Webpacker.logger = ActiveSupport::Logger.new(STDOUT) + yield + ensure + Webpacker.logger = old_logger + end + delegate :logger, :logger=, :env, to: :instance delegate :config, :compiler, :manifest, :commands, :dev_server, to: :instance delegate :bootstrap, :clean, :clobber, :compile, to: :commands diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2019-11-12 13:27:17.000000000 +0100 +++ new/metadata 2019-12-09 12:55:16.000000000 +0100 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: webpacker version: !ruby/object:Gem::Version - version: 4.2.0 + version: 4.2.2 platform: ruby authors: - David Heinemeier Hansson @@ -9,7 +9,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2019-11-12 00:00:00.000000000 Z +date: 2019-12-09 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: activesupport @@ -287,8 +287,8 @@ licenses: - MIT metadata: - source_code_uri: https://github.com/rails/webpacker/tree/v4.2.0 - changelog_uri: https://github.com/rails/webpacker/blob/v4.2.0/CHANGELOG.md + source_code_uri: https://github.com/rails/webpacker/tree/v4.2.2 + changelog_uri: https://github.com/rails/webpacker/blob/v4.2.2/CHANGELOG.md post_install_message: rdoc_options: [] require_paths: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/package.json new/package.json --- old/package.json 2019-11-12 13:27:17.000000000 +0100 +++ new/package.json 2019-12-09 12:55:16.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@rails/webpacker", - "version": "4.2.0", + "version": "4.2.2", "description": "Use webpack to manage app-like JavaScript modules in Rails", "main": "package/index.js", "files": [