shakapacker 9.0.0.beta.11 → 9.0.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 +4 -4
- data/.prettierignore +3 -0
- data/Gemfile.lock +1 -1
- data/lib/install/config/rspack/rspack.config.js +1 -1
- data/lib/install/config/rspack/rspack.config.ts +7 -0
- data/lib/install/config/webpack/webpack.config.ts +7 -0
- data/lib/install/template.rb +19 -3
- data/lib/shakapacker/version.rb +1 -1
- data/lib/tasks/shakapacker/install.rake +9 -3
- data/package.json +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4cfe1097512ba4c08cc57b061192f0bb0ad8d5d41a508a5f978068d447eae8c
|
4
|
+
data.tar.gz: 9dfe66dc0d435f1b045bb51455869fb7da0008055e9d062673b666722a360221
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f09b82882e96e0867be91135dda3eff2d77b629571d4ff7fde8b2a6c4748cb9749ce9e6a80c47ec117b083ef79734d23b99ddb971950f941c328b52877277ccb
|
7
|
+
data.tar.gz: c19b394a110cd6beebe23715af218fbc932d5052498911ea51824a790c917a4d7fbd76ed92b3144d5d605e886a648b6d05c27b179dacc097fee5936446a1ce65
|
data/.prettierignore
ADDED
data/Gemfile.lock
CHANGED
@@ -0,0 +1,7 @@
|
|
1
|
+
// See the shakacode/shakapacker README and docs directory for advice on customizing your rspackConfig.
|
2
|
+
import { generateRspackConfig } from 'shakapacker/rspack'
|
3
|
+
import type { RspackOptions } from '@rspack/core'
|
4
|
+
|
5
|
+
const rspackConfig: RspackOptions = generateRspackConfig()
|
6
|
+
|
7
|
+
export default rspackConfig
|
@@ -0,0 +1,7 @@
|
|
1
|
+
// See the shakacode/shakapacker README and docs directory for advice on customizing your webpackConfig.
|
2
|
+
import { generateWebpackConfig } from 'shakapacker'
|
3
|
+
import type { Configuration } from 'webpack'
|
4
|
+
|
5
|
+
const webpackConfig: Configuration = generateWebpackConfig()
|
6
|
+
|
7
|
+
export default webpackConfig
|
data/lib/install/template.rb
CHANGED
@@ -40,8 +40,24 @@ if @transpiler_to_install == "babel" && !ENV["JAVASCRIPT_TRANSPILER"]
|
|
40
40
|
say " 📝 Updated config/shakapacker.yml to use Babel transpiler", :green
|
41
41
|
end
|
42
42
|
|
43
|
-
|
44
|
-
|
43
|
+
# Detect TypeScript usage
|
44
|
+
# Auto-detect from tsconfig.json or explicit via SHAKAPACKER_USE_TYPESCRIPT env var
|
45
|
+
@use_typescript = File.exist?(Rails.root.join("tsconfig.json")) ||
|
46
|
+
ENV["SHAKAPACKER_USE_TYPESCRIPT"] == "true"
|
47
|
+
assets_bundler = ENV["SHAKAPACKER_ASSETS_BUNDLER"] || "webpack"
|
48
|
+
config_extension = @use_typescript ? "ts" : "js"
|
49
|
+
|
50
|
+
say "Copying #{assets_bundler} core config (#{config_extension.upcase})"
|
51
|
+
config_file = "#{assets_bundler}.config.#{config_extension}"
|
52
|
+
source_config = "#{install_dir}/config/#{assets_bundler}/#{config_file}"
|
53
|
+
dest_config = "config/#{assets_bundler}/#{config_file}"
|
54
|
+
|
55
|
+
empty_directory "config/#{assets_bundler}"
|
56
|
+
copy_file source_config, dest_config, force_option
|
57
|
+
|
58
|
+
if @use_typescript
|
59
|
+
say " ✨ Using TypeScript config for enhanced type safety", :green
|
60
|
+
end
|
45
61
|
|
46
62
|
if Dir.exist?(Shakapacker.config.source_path)
|
47
63
|
say "The packs app source directory already exists"
|
@@ -195,7 +211,7 @@ Dir.chdir(Rails.root) do
|
|
195
211
|
end
|
196
212
|
|
197
213
|
# Inline fetch_peer_dependencies and fetch_common_dependencies
|
198
|
-
peers = PackageJson.read(install_dir).fetch(ENV["
|
214
|
+
peers = PackageJson.read(install_dir).fetch(ENV["SHAKAPACKER_ASSETS_BUNDLER"] || "webpack")
|
199
215
|
common_deps = ENV["SKIP_COMMON_LOADERS"] ? {} : PackageJson.read(install_dir).fetch("common")
|
200
216
|
peers = peers.merge(common_deps)
|
201
217
|
|
data/lib/shakapacker/version.rb
CHANGED
@@ -2,14 +2,20 @@ install_template_path = File.expand_path("../../install/template.rb", __dir__).f
|
|
2
2
|
bin_path = ENV["BUNDLE_BIN"] || Rails.root.join("bin")
|
3
3
|
|
4
4
|
namespace :shakapacker do
|
5
|
-
desc "Install Shakapacker in this application (use
|
6
|
-
task :install, [:bundler] => [:check_node] do |task, args|
|
5
|
+
desc "Install Shakapacker in this application (use SHAKAPACKER_ASSETS_BUNDLER=rspack for Rspack, --typescript for TypeScript)"
|
6
|
+
task :install, [:bundler, :typescript] => [:check_node] do |task, args|
|
7
7
|
Shakapacker::Configuration.installing = true
|
8
8
|
|
9
|
-
if args[:bundler] == "rspack" || ENV["
|
9
|
+
if args[:bundler] == "rspack" || ENV["SHAKAPACKER_ASSETS_BUNDLER"] == "rspack"
|
10
10
|
ENV["SHAKAPACKER_ASSETS_BUNDLER"] = "rspack"
|
11
11
|
end
|
12
12
|
|
13
|
+
# Set typescript flag if passed as argument
|
14
|
+
# Accepts: typescript, true, or any truthy value
|
15
|
+
if args[:typescript] && args[:typescript] != "false"
|
16
|
+
ENV["SHAKAPACKER_USE_TYPESCRIPT"] = "true"
|
17
|
+
end
|
18
|
+
|
13
19
|
prefix = task.name.split(/#|shakapacker:install/).first
|
14
20
|
|
15
21
|
if Rails::VERSION::MAJOR >= 5
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shakapacker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.0.0
|
4
|
+
version: 9.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
@@ -150,6 +150,7 @@ files:
|
|
150
150
|
- ".husky/pre-commit"
|
151
151
|
- ".node-version"
|
152
152
|
- ".npmignore"
|
153
|
+
- ".prettierignore"
|
153
154
|
- ".rspec"
|
154
155
|
- ".rubocop.yml"
|
155
156
|
- ".yalcignore"
|
@@ -207,8 +208,10 @@ files:
|
|
207
208
|
- lib/install/bin/shakapacker-dev-server
|
208
209
|
- lib/install/binstubs.rb
|
209
210
|
- lib/install/config/rspack/rspack.config.js
|
211
|
+
- lib/install/config/rspack/rspack.config.ts
|
210
212
|
- lib/install/config/shakapacker.yml
|
211
213
|
- lib/install/config/webpack/webpack.config.js
|
214
|
+
- lib/install/config/webpack/webpack.config.ts
|
212
215
|
- lib/install/package.json
|
213
216
|
- lib/install/template.rb
|
214
217
|
- lib/shakapacker.rb
|
@@ -347,7 +350,7 @@ homepage: https://github.com/shakacode/shakapacker
|
|
347
350
|
licenses:
|
348
351
|
- MIT
|
349
352
|
metadata:
|
350
|
-
source_code_uri: https://github.com/shakacode/shakapacker/tree/v9.0.0
|
353
|
+
source_code_uri: https://github.com/shakacode/shakapacker/tree/v9.0.0
|
351
354
|
rdoc_options: []
|
352
355
|
require_paths:
|
353
356
|
- lib
|