webpacker_uploader 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,33 @@
1
+ {
2
+ "bootstrap.css": "/packs/bootstrap-c38deda30895059837cf.css",
3
+ "application.css": "/packs/application-dd6b1cd38bfa093df600.css",
4
+ "application.css.map": "/packs/application-dd6b1cd38bfa093df600.css.map",
5
+ "bootstrap.js": "/packs/bootstrap-300631c4f0e0f9c865bc.js",
6
+ "application.js": "/packs/application-k344a6d59eef8632c9d1.js",
7
+ "application.png": "/packs/application-k344a6d59eef8632c9d1.png",
8
+ "fonts/fa-regular-400.woff2": "/packs/fonts/fa-regular-400-944fb546bd7018b07190a32244f67dc9.woff2",
9
+ "media/images/image.jpg": "/packs/media/images/image-c38deda30895059837cf.jpg",
10
+ "media/images/image-2x.jpg": "/packs/media/images/image-2x-7cca48e6cae66ec07b8e.jpg",
11
+ "media/images/nested/image.jpg": "/packs/media/images/nested/image-c38deda30895059837cf.jpg",
12
+ "media/images/mb-icon.png": "/packs/media/images/mb-icon-c38deda30895059837cf.png",
13
+ "media/images/nested/mb-icon.png": "/packs/media/images/nested/mb-icon-c38deda30895059837cf.png",
14
+ "entrypoints": {
15
+ "application": {
16
+ "js": [
17
+ "/packs/vendors~application~bootstrap-c20632e7baf2c81200d3.chunk.js",
18
+ "/packs/vendors~application-e55f2aae30c07fb6d82a.chunk.js",
19
+ "/packs/application-k344a6d59eef8632c9d1.js"
20
+ ],
21
+ "css": [
22
+ "/packs/1-c20632e7baf2c81200d3.chunk.css",
23
+ "/packs/application-k344a6d59eef8632c9d1.chunk.css"
24
+ ]
25
+ },
26
+ "hello_stimulus": {
27
+ "css": [
28
+ "/packs/1-c20632e7baf2c81200d3.chunk.css",
29
+ "/packs/hello_stimulus-k344a6d59eef8632c9d1.chunk.css"
30
+ ]
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "minitest/autorun"
4
+ require "rails"
5
+ require "rails/test_help"
6
+ require "webpacker"
7
+ require "webpacker_uploader"
8
+
9
+ module TestApp
10
+ class Application < ::Rails::Application
11
+ config.root = File.join(File.dirname(__FILE__), "test_app")
12
+ config.eager_load = true
13
+ end
14
+ end
15
+
16
+ TestApp::Application.initialize!
17
+
18
+ module WebpackerUploader::Providers
19
+ class TestProvider
20
+ def initialize(asset_objects)
21
+ @asset_objects = asset_objects
22
+ end
23
+
24
+ def upload!(object_key, file, content_type = "")
25
+ @asset_objects << { object_key: object_key, file: file, content_type: content_type }
26
+ end
27
+ end
28
+ end
29
+
30
+ module WebpackerUploader
31
+ def reset!
32
+ WebpackerUploader.instance.config = nil
33
+ end
34
+ module_function :reset!
35
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ class WebpackerUploaderTest < Minitest::Test
6
+ def setup
7
+ @asset_objects = []
8
+ @provider = WebpackerUploader::Providers::TestProvider.new(@asset_objects)
9
+
10
+ WebpackerUploader.config.log_output = false
11
+ end
12
+
13
+ def teardown
14
+ WebpackerUploader.reset!
15
+ end
16
+
17
+ def test_upload
18
+ WebpackerUploader.upload!(@provider)
19
+
20
+ assert_equal "packs/bootstrap-c38deda30895059837cf.css", @asset_objects.first[:object_key]
21
+ assert_instance_of Pathname, @asset_objects.first[:file]
22
+ assert_equal "text/css", @asset_objects.first[:content_type]
23
+ end
24
+
25
+ def test_upload_with_prefix
26
+ WebpackerUploader.upload!(@provider, prefix: "prefix")
27
+
28
+ assert_equal "prefix/packs/bootstrap-c38deda30895059837cf.css", @asset_objects.first[:object_key]
29
+ assert_instance_of Pathname, @asset_objects.first[:file]
30
+ assert_equal "text/css", @asset_objects.first[:content_type]
31
+ end
32
+ end
@@ -20,20 +20,16 @@ Gem::Specification.new do |s|
20
20
  "source_code_uri" => "https://github.com/tlatsas/webpacker_uploader/tree/v#{s.version}"
21
21
  }
22
22
 
23
- # Specify which files should be added to the gem when it is released.
24
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- s.files = Dir.chdir(File.expand_path("..", __FILE__)) do
26
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
27
- end
28
-
29
- s.bindir = "exe"
30
- s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ s.files = `git ls-files`.split("\n").reject { |f| f.match(%r{^(bin|test|.github)/}) }
24
+ s.test_files = `git ls-files -- test/*`.split("\n")
31
25
  s.require_paths = ["lib"]
32
26
 
33
27
  s.add_dependency "webpacker", ">= 5.1"
34
28
  s.add_dependency "mime-types"
29
+ s.add_dependency "rack", "~> 2.0"
35
30
 
36
31
  s.add_development_dependency "bundler", ">= 1.3.0"
37
- s.add_development_dependency "rubocop", "< 0.69"
32
+ s.add_development_dependency "rubocop", "1.11.0"
38
33
  s.add_development_dependency "rubocop-performance"
34
+ s.add_development_dependency "rubocop-minitest"
39
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpacker_uploader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tasos Latsas
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-06 00:00:00.000000000 Z
11
+ date: 2021-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: webpacker
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rack
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -56,16 +70,16 @@ dependencies:
56
70
  name: rubocop
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "<"
73
+ - - '='
60
74
  - !ruby/object:Gem::Version
61
- version: '0.69'
75
+ version: 1.11.0
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "<"
80
+ - - '='
67
81
  - !ruby/object:Gem::Version
68
- version: '0.69'
82
+ version: 1.11.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rubocop-performance
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +94,20 @@ dependencies:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop-minitest
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
83
111
  description: Uploads manifest.json file contents to the cloud
84
112
  email:
85
113
  - tlatsas@hey.com
@@ -87,10 +115,9 @@ executables: []
87
115
  extensions: []
88
116
  extra_rdoc_files: []
89
117
  files:
90
- - ".github/workflows/rubocop.yml"
91
- - ".github/workflows/ruby.yml"
92
118
  - ".gitignore"
93
119
  - ".rubocop.yml"
120
+ - ".yardopts"
94
121
  - CHANGELOG.md
95
122
  - CONTRIBUTING.md
96
123
  - Gemfile
@@ -98,8 +125,6 @@ files:
98
125
  - MIT-LICENSE
99
126
  - README.md
100
127
  - Rakefile
101
- - bin/console
102
- - bin/setup
103
128
  - lib/webpacker_uploader.rb
104
129
  - lib/webpacker_uploader/configuration.rb
105
130
  - lib/webpacker_uploader/instance.rb
@@ -107,6 +132,13 @@ files:
107
132
  - lib/webpacker_uploader/mime.rb
108
133
  - lib/webpacker_uploader/providers/aws.rb
109
134
  - lib/webpacker_uploader/version.rb
135
+ - test/configuration_test.rb
136
+ - test/manifest_test.rb
137
+ - test/mime_test.rb
138
+ - test/test_app/config/webpacker.yml
139
+ - test/test_app/public/packs/manifest.json
140
+ - test/test_helper.rb
141
+ - test/webpacker_uploader_test.rb
110
142
  - webpacker_uploader.gemspec
111
143
  homepage: https://github.com/tlatsas/webpacker_uploader
112
144
  licenses:
@@ -115,7 +147,7 @@ metadata:
115
147
  homepage_uri: https://github.com/tlatsas/webpacker_uploader
116
148
  bug_tracker_uri: https://github.com/tlatsas/webpacker_uploader/issues
117
149
  changelog_uri: https://github.com/tlatsas/webpacker_uploader/blob/main/CHANGELOG.md
118
- source_code_uri: https://github.com/tlatsas/webpacker_uploader/tree/v0.3.0
150
+ source_code_uri: https://github.com/tlatsas/webpacker_uploader/tree/v0.4.0
119
151
  post_install_message:
120
152
  rdoc_options: []
121
153
  require_paths:
@@ -135,4 +167,11 @@ rubygems_version: 3.1.4
135
167
  signing_key:
136
168
  specification_version: 4
137
169
  summary: Uploads manifest.json file contents to the cloud
138
- test_files: []
170
+ test_files:
171
+ - test/configuration_test.rb
172
+ - test/manifest_test.rb
173
+ - test/mime_test.rb
174
+ - test/test_app/config/webpacker.yml
175
+ - test/test_app/public/packs/manifest.json
176
+ - test/test_helper.rb
177
+ - test/webpacker_uploader_test.rb
@@ -1,35 +0,0 @@
1
- name: RuboCop
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- build:
7
- name: RuboCop
8
- runs-on: ${{ matrix.os }}
9
- env:
10
- BUNDLE_JOBS: 4
11
- BUNDLE_RETRY: 3
12
- strategy:
13
- matrix:
14
- os: [ ubuntu-latest ]
15
- ruby: [
16
- 2.7
17
- ]
18
- steps:
19
- - uses: actions/checkout@v2
20
- - uses: actions/cache@v2
21
- with:
22
- path: vendor/bundle
23
- key: ${{ runner.os }}-rubocop-${{ hashFiles('**/Gemfile.lock') }}
24
- restore-keys: |
25
- ${{ runner.os }}-rubocop-
26
- - uses: ruby/setup-ruby@v1
27
- with:
28
- ruby-version: ${{ matrix.ruby }}
29
- - name: Bundle install
30
- run: |
31
- gem install bundler -v 2.1.4
32
- bundle config path vendor/bundle
33
- bundle install
34
- - name: Run RuboCop
35
- run: bundle exec rubocop
@@ -1,39 +0,0 @@
1
- name: Ruby tests
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- build:
7
- name: Ruby tests
8
- runs-on: ${{ matrix.os }}
9
- env:
10
- BUNDLE_JOBS: 4
11
- BUNDLE_RETRY: 3
12
- strategy:
13
- fail-fast: false
14
- matrix:
15
- os: [ubuntu-latest]
16
- ruby: [
17
- 2.5,
18
- 2.6,
19
- 2.7,
20
- 3.0
21
- ]
22
- steps:
23
- - uses: actions/checkout@v2
24
- - uses: actions/cache@v2
25
- with:
26
- path: vendor/bundle
27
- key: ${{ runner.os }}-ruby-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/*.gemspec') }}
28
- restore-keys: |
29
- ${{ runner.os }}-ruby-${{ matrix.ruby }}-gems-
30
- - uses: ruby/setup-ruby@v1
31
- with:
32
- ruby-version: ${{ matrix.ruby }}
33
- - name: Bundle install
34
- run: |
35
- gem install bundler -v 2.1.4
36
- bundle config path vendor/bundle
37
- bundle install
38
- - name: Run tests
39
- run: bundle exec rake test
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "webpacker_uploader"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here