railpack 1.1.0 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b3e4dc439bbb5438759c1492f706730b2b5a6ee9f512d0b0e05f855c47ef871
4
- data.tar.gz: ed18f188d9b661d8f586bf72a51c50be18b8b28847d1718f0d9c7079acf910e4
3
+ metadata.gz: f4cf01b31cb480bdb2b7d85ca9ceeaf13c68e6af06a07973c9f7f6556db79ff8
4
+ data.tar.gz: 420869e82fb9dbb02bb1987310cd6d69286a7088cc7ff59ec8af8326d1fe5cad
5
5
  SHA512:
6
- metadata.gz: 65d0365b6f91183b5aca5c2389e4ee694b9f485ce4320c84efadecc466d7487954648bb2cc7fa3ab608d9506921606a9e4a5f20c2d927246d4906abe87a0f685
7
- data.tar.gz: d934544d629a2ec050a88688f6c4a6ca65e4ac8577e0237af0c10a46e7baa77ee2fff63d59d47893093eff219ab503be1a35428de9e8421275e61e24773827cc
6
+ metadata.gz: 7646ebccf13db91534a0609c41f2de4baa5e7efb530d0dea04e48d757c3430e4a7e233cd4b48fe7e78d37e76c31f8ccb5c9648f654be9ed29851d99448607fe3
7
+ data.tar.gz: 748fb9d2f66906f7e9810da731d0d78ffdcb5dcfe36048f2c8aeed7b871867cbedcedb581310a2b8ba6316d21b64ba08c2b068efb22f5a5f435c9b44b3982a0d
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Features
6
6
 
7
- - 🚀 **Multiple Bundlers**: Bun, esbuild, Rollup support
7
+ - 🚀 **Multiple Bundlers**: Bun, esbuild, Rollup, Webpack support
8
8
  - 🔧 **Unified API**: Same interface regardless of bundler
9
9
  - 🎯 **Rails Integration**: Seamless asset pipeline integration
10
10
  - ⚡ **Hot Module Replacement**: Development server with live reload
@@ -0,0 +1,49 @@
1
+ module Railpack
2
+ class RollupBundler < Bundler
3
+ def commands
4
+ {
5
+ build: "rollup",
6
+ watch: "rollup --watch",
7
+ build_dev: "rollup",
8
+ clean: "rm -rf dist/",
9
+ install: "npm install",
10
+ add: "npm install",
11
+ remove: "npm uninstall",
12
+ exec: "node",
13
+ version: "rollup --version"
14
+ }
15
+ end
16
+
17
+ def build!(args = [])
18
+ execute!([commands[:build], *args])
19
+ end
20
+
21
+ def watch(args = [])
22
+ execute([commands[:watch], *args])
23
+ end
24
+
25
+ def install!(args = [])
26
+ execute!([commands[:install], *args])
27
+ end
28
+
29
+ def add(*packages)
30
+ execute([commands[:add], *packages])
31
+ end
32
+
33
+ def remove(*packages)
34
+ execute([commands[:remove], *packages])
35
+ end
36
+
37
+ def exec(*args)
38
+ execute([commands[:exec], *args])
39
+ end
40
+
41
+ def version
42
+ `#{commands[:version]}`.strip
43
+ end
44
+
45
+ def installed?
46
+ system("#{commands[:version]} > /dev/null 2>&1")
47
+ end
48
+ end
49
+ end
@@ -137,6 +137,10 @@ module Railpack
137
137
  "format" => "esm",
138
138
  "sourcemap" => true
139
139
  },
140
+ "webpack" => {
141
+ "mode" => "production",
142
+ "target" => "web"
143
+ },
140
144
  "development" => {
141
145
  "sourcemap" => true
142
146
  },
@@ -3,7 +3,8 @@ module Railpack
3
3
  BUNDLERS = {
4
4
  'bun' => BunBundler,
5
5
  'esbuild' => EsbuildBundler,
6
- 'rollup' => RollupBundler
6
+ 'rollup' => RollupBundler,
7
+ 'webpack' => WebpackBundler
7
8
  }
8
9
 
9
10
  def initialize
@@ -1,3 +1,3 @@
1
1
  module Railpack
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
data/lib/railpack.rb CHANGED
@@ -4,6 +4,7 @@ require_relative "railpack/bundler"
4
4
  require_relative "railpack/bundlers/bun_bundler"
5
5
  require_relative "railpack/bundlers/esbuild_bundler"
6
6
  require_relative "railpack/bundlers/rollup_bundler"
7
+ require_relative "railpack/bundlers/webpack_bundler"
7
8
  require_relative "railpack/config"
8
9
  require_relative "railpack/manager"
9
10
 
@@ -20,8 +20,10 @@ class RailpackTest < Minitest::Test
20
20
  assert_includes Railpack::Manager::BUNDLERS.keys, 'bun'
21
21
  assert_includes Railpack::Manager::BUNDLERS.keys, 'esbuild'
22
22
  assert_includes Railpack::Manager::BUNDLERS.keys, 'rollup'
23
+ assert_includes Railpack::Manager::BUNDLERS.keys, 'webpack'
23
24
  assert_equal Railpack::BunBundler, Railpack::Manager::BUNDLERS['bun']
24
25
  assert_equal Railpack::EsbuildBundler, Railpack::Manager::BUNDLERS['esbuild']
25
26
  assert_equal Railpack::RollupBundler, Railpack::Manager::BUNDLERS['rollup']
27
+ assert_equal Railpack::WebpackBundler, Railpack::Manager::BUNDLERS['webpack']
26
28
  end
27
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - 21tycoons LLC
@@ -41,6 +41,7 @@ files:
41
41
  - lib/railpack/bundler.rb
42
42
  - lib/railpack/bundlers/bun_bundler.rb
43
43
  - lib/railpack/bundlers/esbuild_bundler.rb
44
+ - lib/railpack/bundlers/rollup_bundler.rb
44
45
  - lib/railpack/config.rb
45
46
  - lib/railpack/manager.rb
46
47
  - lib/railpack/version.rb