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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ac94b7ca7ff8dd46cde4e074b7f273037999f0b533703f89adc067b7786897b
4
- data.tar.gz: 93173bafc209891df117fa2a8758f1d52e6be59c5d3c1e3d6a5b3813bc83b166
3
+ metadata.gz: 6e51ab5eb4741f00ae413fcc931027a066dc596d52e45b4e200c196feea7e0ee
4
+ data.tar.gz: 110c2a023025c0891be42412f656f3dde456e5b1572ad40a96fed1c319d8e1b5
5
5
  SHA512:
6
- metadata.gz: 2674d3dfeaa7e01f431d387acd370e0830b0ed1d443f60042c7884d698f98946d3a0b5b6f98c2a8b868628f9e6d176d0741b867e1b931c8ee07118a225f84efc
7
- data.tar.gz: 7df76f3b8759c38f350ab1371c53f1d521f50de3598c85613191c2a714454088e7dd7b88bc3abdb89ee3c1bb914f78779ac32c56bd97a51d9658a0e25f564ce9
6
+ metadata.gz: a3ac94fb02775f05cadf37ae24cbd78de58157f8594991bd9cf32b2a609881c28893ca5701feb82c178323323c7c24d5f32b14a095e88e35b1f04dfe90e804b8
7
+ data.tar.gz: c62c4db865dae9f3a0ccf87e70d755f6b08148e797b97a1e16dba2c12874165f9738ec036056ebc14ff6294ca68d35c16e20ed7743fd3944d314a7eed4d65a1b
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Simpacker
2
2
 
3
- Yet another [webpacker](https://github.com/rails/webpacker).
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
- Run the folloing command to build JavaScript and watch files.
25
+ Add `javascript_pack_tag` in view.
26
26
 
27
27
  ```
28
- $ npx webpack --watch
28
+ <%= javascript_pack_tag 'application' %>
29
29
  ```
30
30
 
31
- ## Usage
31
+ Run the folloing command to build JavaScript.
32
32
 
33
- You can use `javascript_pack_tag` in view.
33
+ ```
34
+ $ npx wabpack --watch
35
+ ```
34
36
 
35
- ```erb
36
- <%= javascript_pack_tag 'application' %>
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,2 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
- task :default => :spec
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << "test"
6
+ t.test_files = FileList["test/**/*_test.rb"]
7
+ t.verbose = true
8
+ end
9
+
10
+ task default: :test
@@ -0,0 +1,3 @@
1
+ import { hello } from "./greeter";
2
+
3
+ console.log(hello("Rails"));
@@ -0,0 +1,3 @@
1
+ export function hello(name: string): string {
2
+ return `Hello ${name}!`;
3
+ }
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "target": "es5",
4
- "lib": ["dom", "es2015"],
4
+ "lib": ["es2019", "dom", "dom.iterable"],
5
5
  "module": "es2015",
6
6
  "moduleResolution": "node",
7
- "sourceMap": true,
8
7
  "esModuleInterop": true,
9
- "baseUrl": ".",
10
- "paths": {
11
- "~/*": ["./app/javascript/src"]
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/packs/application.ts")
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: [".tsx", ".ts", ".js"],
21
- alias: {
22
- "~": path.resolve(__dirname, "app/javascript/src")
23
- }
20
+ extensions: [".js", ".ts"]
24
21
  },
25
22
  module: {
26
23
  rules: [
@@ -14,6 +14,12 @@ else
14
14
  directory "#{__dir__}/javascript", 'app/javascript'
15
15
  end
16
16
 
17
+ if File.exists?(".gitignore")
18
+ append_to_file ".gitignore" do
19
+ "\n/public/packs\n"
20
+ end
21
+ end
22
+
17
23
  dep_packages = %w(
18
24
  webpack
19
25
  webpack-cli
data/lib/simpacker.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require "simpacker/configuration"
2
2
  require "simpacker/manifest"
3
3
  require "simpacker/helper"
4
- require "simpacker/railtie" if defined?(Rails)
4
+ require "simpacker/railtie"
5
5
 
6
6
  module Simpacker
7
7
  def self.config
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Simpacker
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
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|spec|features|examples)/})
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.1.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-19 00:00:00.000000000 Z
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/packs/application.ts
70
- - lib/install/javascript/src/greeter.ts
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
@@ -1,3 +0,0 @@
1
- import { hello } from "~/greeter";
2
-
3
- hello("Rails");
@@ -1,3 +0,0 @@
1
- export function hello(name: string): void {
2
- console.log(`Hello ${name}!`);
3
- }