simpacker 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +18 -7
- data/Rakefile +9 -1
- data/lib/install/javascript/application.ts +3 -0
- data/lib/install/javascript/greeter.ts +3 -0
- data/lib/install/root/tsconfig.json +10 -6
- data/lib/install/root/webpack.config.js +2 -5
- data/lib/install/template.rb +6 -0
- data/lib/simpacker.rb +1 -1
- data/lib/simpacker/helper.rb +2 -2
- data/lib/simpacker/version.rb +1 -1
- data/simpacker.gemspec +3 -1
- metadata +32 -4
- data/lib/install/javascript/packs/application.ts +0 -3
- data/lib/install/javascript/src/greeter.ts +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e51ab5eb4741f00ae413fcc931027a066dc596d52e45b4e200c196feea7e0ee
|
4
|
+
data.tar.gz: 110c2a023025c0891be42412f656f3dde456e5b1572ad40a96fed1c319d8e1b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3ac94fb02775f05cadf37ae24cbd78de58157f8594991bd9cf32b2a609881c28893ca5701feb82c178323323c7c24d5f32b14a095e88e35b1f04dfe90e804b8
|
7
|
+
data.tar.gz: c62c4db865dae9f3a0ccf87e70d755f6b08148e797b97a1e16dba2c12874165f9738ec036056ebc14ff6294ca68d35c16e20ed7743fd3944d314a7eed4d65a1b
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Simpacker
|
2
2
|
|
3
|
-
|
3
|
+
Simpacker provides the feature to integrate modern JavaScript build system with Rails, like a [webpacker](https://github.com/rails/webpacker).
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -22,18 +22,29 @@ Run the following to install Simpacker:
|
|
22
22
|
$ rails simpacker:install
|
23
23
|
```
|
24
24
|
|
25
|
-
|
25
|
+
Add `javascript_pack_tag` in view.
|
26
26
|
|
27
27
|
```
|
28
|
-
|
28
|
+
<%= javascript_pack_tag 'application' %>
|
29
29
|
```
|
30
30
|
|
31
|
-
|
31
|
+
Run the folloing command to build JavaScript.
|
32
32
|
|
33
|
-
|
33
|
+
```
|
34
|
+
$ npx wabpack --watch
|
35
|
+
```
|
34
36
|
|
35
|
-
|
36
|
-
|
37
|
+
## Integrations
|
38
|
+
|
39
|
+
See [examples](https://github.com/hokaccha/simpacker/tree/master/example).
|
40
|
+
|
41
|
+
## Deployment
|
42
|
+
|
43
|
+
Simpacker does not provide feature for deployment. Just run the following command at deployment.
|
44
|
+
|
45
|
+
```
|
46
|
+
$ npm install
|
47
|
+
$ NODE_ENV=production npx webpack
|
37
48
|
```
|
38
49
|
|
39
50
|
## Contributing
|
data/Rakefile
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
{
|
2
2
|
"compilerOptions": {
|
3
3
|
"target": "es5",
|
4
|
-
"lib": ["dom", "
|
4
|
+
"lib": ["es2019", "dom", "dom.iterable"],
|
5
5
|
"module": "es2015",
|
6
6
|
"moduleResolution": "node",
|
7
|
-
"sourceMap": true,
|
8
7
|
"esModuleInterop": true,
|
9
|
-
"
|
10
|
-
"
|
11
|
-
|
12
|
-
|
8
|
+
"downlevelIteration": true,
|
9
|
+
"sourceMap": true,
|
10
|
+
"removeComments": false,
|
11
|
+
"noImplicitAny": false,
|
12
|
+
"strictNullChecks": true,
|
13
|
+
"strictFunctionTypes": true,
|
14
|
+
"strictBindCallApply": true,
|
15
|
+
"strictPropertyInitialization": true,
|
16
|
+
"noImplicitThis": true
|
13
17
|
}
|
14
18
|
}
|
@@ -8,7 +8,7 @@ module.exports = {
|
|
8
8
|
mode: isProd ? "production" : "development",
|
9
9
|
devtool: "source-map",
|
10
10
|
entry: {
|
11
|
-
application: path.resolve(__dirname, "app/javascript/
|
11
|
+
application: path.resolve(__dirname, "app/javascript/application.ts")
|
12
12
|
},
|
13
13
|
output: {
|
14
14
|
path: path.resolve(__dirname, "public/packs"),
|
@@ -17,10 +17,7 @@ module.exports = {
|
|
17
17
|
chunkFilename: "[id]-[chunkhash].js"
|
18
18
|
},
|
19
19
|
resolve: {
|
20
|
-
extensions: [".
|
21
|
-
alias: {
|
22
|
-
"~": path.resolve(__dirname, "app/javascript/src")
|
23
|
-
}
|
20
|
+
extensions: [".js", ".ts"]
|
24
21
|
},
|
25
22
|
module: {
|
26
23
|
rules: [
|
data/lib/install/template.rb
CHANGED
data/lib/simpacker.rb
CHANGED
data/lib/simpacker/helper.rb
CHANGED
@@ -2,14 +2,14 @@ module Simpacker
|
|
2
2
|
module Helper
|
3
3
|
def javascript_pack_tag(*names, **options)
|
4
4
|
sources = names.map do |name|
|
5
|
-
Simpacker.manifest.lookup!("#{name}#{compute_asset_extname(name, type: :javascript)}")
|
5
|
+
Simpacker.manifest.lookup!("#{name}#{compute_asset_extname(name.to_s, type: :javascript)}")
|
6
6
|
end
|
7
7
|
javascript_include_tag(*sources, **options)
|
8
8
|
end
|
9
9
|
|
10
10
|
def stylesheet_pack_tag(*names, **options)
|
11
11
|
sources = names.map do |name|
|
12
|
-
Simpacker.manifest.lookup!("#{name}#{compute_asset_extname(name, type: :stylesheet)}")
|
12
|
+
Simpacker.manifest.lookup!("#{name}#{compute_asset_extname(name.to_s, type: :stylesheet)}")
|
13
13
|
end
|
14
14
|
stylesheet_link_tag(*sources, **options)
|
15
15
|
end
|
data/lib/simpacker/version.rb
CHANGED
data/simpacker.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = "https://github.com/hokaccha/simpacker"
|
14
14
|
spec.license = 'MIT'
|
15
15
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
16
|
-
f.match(%r{^(test|
|
16
|
+
f.match(%r{^(test|example)/})
|
17
17
|
end
|
18
18
|
spec.bindir = "exe"
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
@@ -23,4 +23,6 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.16"
|
25
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
+
spec.add_development_dependency "rails", "~> 5.2"
|
27
|
+
spec.add_development_dependency "minitest", "~> 5.1"
|
26
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simpacker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuhito Hokamura
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -52,6 +52,34 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.2'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '5.2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '5.1'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '5.1'
|
55
83
|
description: Integrate modern JavaScript build system with Rails.
|
56
84
|
email:
|
57
85
|
- k.hokamura@gmail.com
|
@@ -66,8 +94,8 @@ files:
|
|
66
94
|
- bin/console
|
67
95
|
- bin/setup
|
68
96
|
- lib/install/config/simpacker.yml
|
69
|
-
- lib/install/javascript/
|
70
|
-
- lib/install/javascript/
|
97
|
+
- lib/install/javascript/application.ts
|
98
|
+
- lib/install/javascript/greeter.ts
|
71
99
|
- lib/install/root/package.json
|
72
100
|
- lib/install/root/tsconfig.json
|
73
101
|
- lib/install/root/webpack.config.js
|