Skip to content

Commit a8b39ae

Browse files
Merge pull request #230 from internetee/change-webpack-confs
changed webpack confs
2 parents c77ae70 + d0447e6 commit a8b39ae

File tree

11 files changed

+3264
-1987
lines changed

11 files changed

+3264
-1987
lines changed

.github/workflows/ruby.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ubuntu-18.04]
18+
os: [ubuntu-20.04]
1919
ruby: [ '3.0.3' ]
2020
runs-on: ${{ matrix.os }}
2121
continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}
@@ -87,9 +87,9 @@ jobs:
8787
upload_coverage:
8888
strategy:
8989
matrix:
90-
os: [ ubuntu-18.04 ]
90+
os: [ubuntu-20.04]
9191
ruby: [ '3.0.3' ]
92-
runs-on: ubuntu-18.04
92+
runs-on: ubuntu-20.04
9393

9494
env:
9595
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ gem 'rexml', '~> 3.2', '>= 3.2.4'
3535
gem 'faraday'
3636
gem 'faraday_middleware'
3737
gem 'figaro'
38+
gem 'terser'
3839

3940
group :development, :test do
4041
# Call 'byebug' anywhere in the code to stop execution and get a debugger console

Gemfile.lock

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ GEM
8484
xpath (~> 3.2)
8585
childprocess (4.1.0)
8686
coderay (1.1.3)
87-
concurrent-ruby (1.1.10)
87+
concurrent-ruby (1.2.2)
8888
crass (1.0.6)
8989
database_cleaner (2.0.1)
9090
database_cleaner-active_record (~> 2.0.0)
@@ -100,7 +100,8 @@ GEM
100100
warden (~> 1.2.3)
101101
diff-lcs (1.5.0)
102102
docile (1.4.0)
103-
erubi (1.11.0)
103+
erubi (1.12.0)
104+
execjs (2.8.1)
104105
factory_bot (6.2.1)
105106
activesupport (>= 5.0.0)
106107
factory_bot_rails (6.2.0)
@@ -159,7 +160,7 @@ GEM
159160
listen (3.7.1)
160161
rb-fsevent (~> 0.10, >= 0.10.3)
161162
rb-inotify (~> 0.9, >= 0.9.10)
162-
loofah (2.19.1)
163+
loofah (2.20.0)
163164
crass (~> 1.0.2)
164165
nokogiri (>= 1.5.9)
165166
mail (2.7.1)
@@ -168,12 +169,12 @@ GEM
168169
matrix (0.4.2)
169170
method_source (1.0.0)
170171
mini_mime (1.1.2)
171-
minitest (5.17.0)
172+
minitest (5.18.0)
172173
msgpack (1.5.2)
173174
multipart-post (2.2.0)
174175
nested_form (0.3.2)
175176
nio4r (2.5.8)
176-
nokogiri (1.13.10-x86_64-linux)
177+
nokogiri (1.14.3-x86_64-linux)
177178
racc (~> 1.4)
178179
orm_adapter (0.5.0)
179180
pg (1.3.5)
@@ -183,13 +184,13 @@ GEM
183184
public_suffix (4.0.7)
184185
puma (6.0.0)
185186
nio4r (~> 2.0)
186-
racc (1.6.1)
187-
rack (2.2.6.2)
187+
racc (1.6.2)
188+
rack (2.2.6.4)
188189
rack-mini-profiler (3.0.0)
189190
rack (>= 1.2.0)
190-
rack-proxy (0.7.2)
191+
rack-proxy (0.7.6)
191192
rack
192-
rack-test (2.0.2)
193+
rack-test (2.1.0)
193194
rack (>= 1.3)
194195
rails (6.1.6)
195196
actioncable (= 6.1.6)
@@ -213,7 +214,7 @@ GEM
213214
rails-dom-testing (2.0.3)
214215
activesupport (>= 4.2.0)
215216
nokogiri (>= 1.6)
216-
rails-html-sanitizer (1.4.4)
217+
rails-html-sanitizer (1.5.0)
217218
loofah (~> 2.19, >= 2.19.1)
218219
rails_admin (3.0.0)
219220
activemodel-serializers-xml (>= 1.0)
@@ -286,6 +287,8 @@ GEM
286287
sprockets (>= 3.0.0)
287288
tailwindcss-rails (2.0.8-x86_64-linux)
288289
railties (>= 6.0.0)
290+
terser (1.1.14)
291+
execjs (>= 0.3.0, < 3)
289292
thor (1.2.1)
290293
tilt (2.0.10)
291294
turbo-rails (1.1.1)
@@ -295,7 +298,7 @@ GEM
295298
turbolinks (5.2.1)
296299
turbolinks-source (~> 5.2)
297300
turbolinks-source (5.2.0)
298-
tzinfo (2.0.5)
301+
tzinfo (2.0.6)
299302
concurrent-ruby (~> 1.0)
300303
warden (1.2.9)
301304
rack (>= 2.0.9)
@@ -308,7 +311,7 @@ GEM
308311
nokogiri (~> 1.6)
309312
rubyzip (>= 1.3.0)
310313
selenium-webdriver (~> 4.0)
311-
webpacker (5.4.3)
314+
webpacker (5.4.4)
312315
activesupport (>= 5.2)
313316
rack-proxy (>= 0.6.1)
314317
railties (>= 5.2)
@@ -319,7 +322,7 @@ GEM
319322
websocket-extensions (0.1.5)
320323
xpath (3.2.0)
321324
nokogiri (~> 1.8)
322-
zeitwerk (2.6.6)
325+
zeitwerk (2.6.7)
323326

324327
PLATFORMS
325328
x86_64-linux
@@ -352,6 +355,7 @@ DEPENDENCIES
352355
simplecov (= 0.17.1)
353356
spring
354357
tailwindcss-rails (~> 2.0.0)
358+
terser
355359
turbolinks (~> 5)
356360
tzinfo-data
357361
web-console (>= 4.1.0)

config/application.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ class Application < Rails::Application
2121
# config.time_zone = "Central Time (US & Canada)"
2222
# config.eager_load_paths << Rails.root.join("extras")
2323
config.middleware.use Rack::Deflater
24+
25+
config.assets.js_compressor = Terser::Compressor.new
26+
config.assets.css_compressor = :sass
2427
end
2528

2629
Rails.application.config.assets.configure do |env|

config/environments/production.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
2727

2828
# Compress CSS using a preprocessor.
29-
config.assets.css_compressor = :purger
29+
# config.assets.css_compressor = :purger
3030

3131
# Do not fallback to assets pipeline if a precompiled asset is missed.
3232
config.assets.compile = true

config/environments/staging.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66
require 'syslog/logger'
77
config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new(ENV['app_name'] || 'accreditation'))
88

9-
# Enable stdout logger
10-
config.logger = Logger.new(STDOUT)
11-
12-
# Set log level
13-
config.log_level = :ERROR
9+
# Enable stdout logger
10+
config.logger = Logger.new(STDOUT)
1411

12+
# Set log level
13+
config.log_level = :ERROR
1514
end

config/webpack/base.js

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,39 @@
1-
// const { webpackConfig } = require('@rails/webpacker')
1+
const { environment } = require('@rails/webpacker')
22

3-
// module.exports = webpackConfig
4-
5-
const { webpackConfig, merge } = require('@rails/webpacker')
6-
const webpack = require('webpack');
7-
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
3+
const customConfig = {
4+
resolve: {
5+
fallback: {
6+
dgram: false,
7+
fs: false,
8+
net: false,
9+
tls: false,
10+
child_process: false
11+
}
12+
}
13+
};
814

9-
const plugins = [
10-
new webpack.ProvidePlugin({
11-
$: 'jquery',
12-
jQuery: 'jquery',
13-
jquery: 'jquery'
14-
}),
15-
new MiniCssExtractPlugin({
16-
filename: "[name].css",
17-
chunkFilename: "[id].css",
18-
}),
19-
]
15+
environment.config.delete('node.dgram')
16+
environment.config.delete('node.fs')
17+
environment.config.delete('node.net')
18+
environment.config.delete('node.tls')
19+
environment.config.delete('node.child_process')
2020

21-
module.exports = merge(
22-
webpackConfig,
23-
{
24-
module: {
25-
rules: []
21+
environment.loaders.append('sass', {
22+
test: /\.scss$/,
23+
use: [
24+
'style-loader',
25+
'css-loader',
26+
{
27+
loader: 'sass-loader',
28+
options: {
29+
sassOptions: {
30+
includePaths: ['app/assets/stylesheets'],
31+
},
2632
},
27-
plugins: plugins,
28-
}
29-
)
33+
},
34+
],
35+
});
36+
37+
environment.config.merge(customConfig);
3038

31-
const scssConfigIndex = webpackConfig.module.rules.findIndex((config) => ".scss".match(config.test))
32-
webpackConfig.module.rules.splice(scssConfigIndex, 1)
39+
module.exports = environment

config/webpack/development.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const { environment } = require('@rails/webpacker')
2+
13
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
24

35
// const environment = require('./environment')

config/webpack/environment.js

Lines changed: 47 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,51 @@
1+
// const { environment } = require('@rails/webpacker')
2+
3+
// const webpack = require('webpack');
4+
// environment.plugins.append('Provide', new webpack.ProvidePlugin({
5+
// $: 'jquery',
6+
// jQuery: 'jquery',
7+
// Popper: ['popper.js', 'default']
8+
// }))
9+
10+
// module.exports = environment
11+
112
const { environment } = require('@rails/webpacker')
213

3-
const webpack = require('webpack');
4-
environment.plugins.append('Provide', new webpack.ProvidePlugin({
5-
$: 'jquery',
6-
jQuery: 'jquery',
7-
Popper: ['popper.js', 'default']
8-
}))
14+
const customConfig = {
15+
resolve: {
16+
fallback: {
17+
dgram: false,
18+
fs: false,
19+
net: false,
20+
tls: false,
21+
child_process: false
22+
}
23+
}
24+
};
25+
26+
environment.config.delete('node.dgram')
27+
environment.config.delete('node.fs')
28+
environment.config.delete('node.net')
29+
environment.config.delete('node.tls')
30+
environment.config.delete('node.child_process')
31+
32+
environment.loaders.append('sass', {
33+
test: /\.scss$/,
34+
use: [
35+
'style-loader',
36+
'css-loader',
37+
{
38+
loader: 'sass-loader',
39+
options: {
40+
sassOptions: {
41+
includePaths: ['app/assets/stylesheets'],
42+
},
43+
},
44+
},
45+
],
46+
});
47+
48+
environment.config.merge(customConfig);
949

1050
module.exports = environment
51+

package.json

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,30 @@
77
"@rails/ujs": "^7.0.0",
88
"@rails/webpacker": "5.4.4",
99
"jquery": "^3.6.0",
10+
"node-polyfill-webpack-plugin": "^2.0.1",
1011
"popper.js": "^1.16.1",
1112
"toastr": "^2.1.4",
1213
"turbolinks": "^5.2.0",
1314
"webpack": "^5.0.0",
14-
"webpack-cli": "^5.0.0"
15+
"webpack-cli": "^5.0.0",
16+
"@babel/core": "^7.21.4",
17+
"@babel/preset-env": "^7.21.4",
18+
"babel-loader": "^9.1.2",
19+
"sass-loader": "^13.2.2",
20+
"style-loader": "^3.3.2",
21+
"css-loader": "^6.7.3"
1522
},
1623
"version": "0.1.0",
1724
"devDependencies": {
18-
"webpack-dev-server": "^4.11.1"
25+
"@babel/core": "^7.21.4",
26+
"@babel/preset-env": "^7.21.4",
27+
"babel-loader": "^9.1.2",
28+
"css-loader": "^6.7.3",
29+
"mini-css-extract-plugin": "^2.7.5",
30+
"node-sass": "^8.0.0",
31+
"sass-loader": "^13.2.2",
32+
"style-loader": "^3.3.2",
33+
"webpack-dev-server": "^4.11.1",
34+
"webpack-merge": "^5.8.0"
1935
}
2036
}

0 commit comments

Comments
 (0)