hanamismith 0.49.1 → 1.0.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: f7ca049a274e49896527f571dd75fb145928c5e28f655127e37eca3503c91c30
4
- data.tar.gz: 781e27aaaed6edbc65bc166c21f0ee1c0d13b3252a658550e435cbfce67cbe42
3
+ metadata.gz: 02a11d2710dd43c3b204ac615074bda307f5bac363134265cd16c758358dc94e
4
+ data.tar.gz: 2a1569befa4c6ee79d575c20c546d29541bb2a1bb20b9d4ffdb385218b4c5ad5
5
5
  SHA512:
6
- metadata.gz: 84d651bc213b4496c67d270458f5a937020e9e6a751c6a9b8f138632cea85ea335a38ed5f24d5646e3114ad4cc0fdef6cf9118ec28c802c6e540096c99f718b9
7
- data.tar.gz: 26b68ddb5ceb1a88f9f804e84f56be9dbe6515f677a7e69b3ad02b06654a4b01a27c1acae8a134ad4893a3d085981756c08a86e066cdbeb525f3be2501a9a716
6
+ metadata.gz: 2fc540746ecd3f844195ee3cf76ef32db3d9d9f048c74a2302a86e577a99d7eed19749da67ee746019b008f6bdb34154f6490972d67a1e6c12aa6f252b336e73
7
+ data.tar.gz: 13d630d5cc896cdc2f620881544b4898cb90dfc34707a02c112e33cbe06414e0ef79b54ada18376a19585ef9eca97c1ed82d3d328504225729ac72e6f0e383f5
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -32,14 +32,14 @@ toc::[]
32
32
  * Uses {dotenv_link} for managing your environment configurations.
33
33
  * Provides support for Continuous Integration systems like link:https://circleci.com[Circle CI] (default) and link:https://docs.github.com/en/actions[GitHub Actions].
34
34
  * Provides the `/up` health check endpoint via the `Health` slice.
35
- * Uses link:https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md[YJIT] as a provider so you can deploy with YJIT disabled (i.e. `RUBYOPT=--yjit-disable --yjit-exec-mem-size=192`) and let the application enable upon boot.
35
+ * Configures link:https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md[YJIT] so you can deploy with YJIT disabled (i.e. `RUBYOPT=--yjit-disable --yjit-exec-mem-size=192`) and let the application enable upon boot.
36
36
  * Disables link:https://github.com/ruby/irb[IRB] console autocomplete when used in production-like environments. You can re-enable IRB autocomplete by setting `IRB_USE_AUTOCOMPLETE=true` before launching your console in non development or test environments.
37
37
 
38
38
  == Screenshots/Screencasts
39
39
 
40
40
  image:https://alchemists.io/images/projects/hanamismith/screenshots/home.png[Home,width=702,height=694,role=focal_point]
41
41
 
42
- The above is a screenshot of a _Demo_ project that was generated and run locally. For a fully working demonstration application -- as built by this gem -- check out the link:https://github.com/bkuhlmann/hemo[Hemo] project. Here's a quick screencast overview of this demonstration application in action:
42
+ The above is a screenshot of a _Demo_ project that was generated locally. For a fully working demonstration application -- as built by this gem -- check out the link:https://github.com/bkuhlmann/hemo[Hemo] project as shown in this screencast:
43
43
 
44
44
  video::https://alchemists.io/videos/projects/hemo/demo.mp4[poster=https://alchemists.io/images/projects/hemo/demo.png,width=1280,height=720,role=focal_point]
45
45
 
data/hanamismith.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "hanamismith"
5
- spec.version = "0.49.1"
5
+ spec.version = "1.0.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/hanamismith"
@@ -22,19 +22,19 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = ">= 3.3", "<= 3.4"
26
- spec.add_dependency "cogger", "~> 0.31"
27
- spec.add_dependency "containable", "~> 0.2"
25
+ spec.required_ruby_version = "~> 3.4"
26
+ spec.add_dependency "cogger", "~> 1.0"
27
+ spec.add_dependency "containable", "~> 1.0"
28
28
  spec.add_dependency "dry-monads", "~> 1.6"
29
29
  spec.add_dependency "dry-schema", "~> 1.13"
30
- spec.add_dependency "etcher", "~> 2.7"
31
- spec.add_dependency "htmx", "~> 1.0"
32
- spec.add_dependency "infusible", "~> 3.12"
33
- spec.add_dependency "refinements", "~> 12.10"
34
- spec.add_dependency "rubysmith", "~> 7.9"
35
- spec.add_dependency "runcom", "~> 11.10"
36
- spec.add_dependency "sod", "~> 0.20"
37
- spec.add_dependency "spek", "~> 3.0"
30
+ spec.add_dependency "etcher", "~> 3.0"
31
+ spec.add_dependency "htmx", "~> 2.0"
32
+ spec.add_dependency "infusible", "~> 4.0"
33
+ spec.add_dependency "refinements", "~> 13.0"
34
+ spec.add_dependency "rubysmith", "~> 8.0"
35
+ spec.add_dependency "runcom", "~> 12.0"
36
+ spec.add_dependency "sod", "~> 1.0"
37
+ spec.add_dependency "spek", "~> 4.0"
38
38
  spec.add_dependency "zeitwerk", "~> 2.7"
39
39
 
40
40
  spec.bindir = "exe"
@@ -52,7 +52,7 @@ module Hanamismith
52
52
  gem "dry-types", "~> 1.7"
53
53
  gem "dry-validation", "~> 1.10"
54
54
  gem "htmx", "~> 1.0"
55
- gem "puma", "~> 6.4"
55
+ gem "puma", "~> 6.5"
56
56
  gem "rack-attack", "~> 6.7"
57
57
  CONTENT
58
58
  end
@@ -5,7 +5,7 @@ module Hanamismith
5
5
  module Git
6
6
  # Builds project skeleton initial Git commit message.
7
7
  class Commit < Rubysmith::Builders::Git::Commit
8
- include Import[:specification]
8
+ include Dependencies[:specification]
9
9
  end
10
10
  end
11
11
  end
@@ -7,13 +7,12 @@ module Hanamismith
7
7
  module Commands
8
8
  # Handles the build command.
9
9
  class Build < Sod::Command
10
- include Hanamismith::Import[:settings, :logger]
10
+ include Dependencies[:settings, :logger]
11
11
 
12
12
  # Order matters.
13
13
  BUILDERS = [
14
14
  Rubysmith::Builders::Init,
15
15
  Builders::Core,
16
- Builders::Providers::YJIT,
17
16
  Builders::Refinement,
18
17
  Builders::Icon,
19
18
  Builders::Stylesheet,
@@ -41,7 +40,6 @@ module Hanamismith
41
40
  Rubysmith::Builders::GitHub::Funding,
42
41
  Builders::GitHub::CI,
43
42
  Builders::Setup,
44
- Builders::Guard,
45
43
  Rubysmith::Builders::Reek,
46
44
  Rubysmith::Builders::RSpec::Binstub,
47
45
  Rubysmith::Builders::RSpec::Context,
@@ -96,7 +94,6 @@ module Hanamismith
96
94
  on Rubysmith::CLI::Actions::GitHub, settings: Container[:settings]
97
95
  on Rubysmith::CLI::Actions::GitHubCI, settings: Container[:settings]
98
96
  on Rubysmith::CLI::Actions::GitLint, settings: Container[:settings]
99
- on Rubysmith::CLI::Actions::Guard, settings: Container[:settings]
100
97
  on Rubysmith::CLI::Actions::IRBKit, settings: Container[:settings]
101
98
  on Rubysmith::CLI::Actions::License, settings: Container[:settings]
102
99
  on Rubysmith::CLI::Actions::Maximum, settings: Container[:settings]
@@ -6,7 +6,7 @@ module Hanamismith
6
6
  module CLI
7
7
  # The main Command Line Interface (CLI) object.
8
8
  class Shell
9
- include Import[:defaults_path, :xdg_config, :specification]
9
+ include Dependencies[:defaults_path, :xdg_config, :specification]
10
10
 
11
11
  def initialize(context: Sod::Context, dsl: Sod, **)
12
12
  super(**)
@@ -3,5 +3,5 @@
3
3
  require "infusible"
4
4
 
5
5
  module Hanamismith
6
- Import = Infusible[Container]
6
+ Dependencies = Infusible[Container]
7
7
  end
@@ -6,7 +6,7 @@ module Hanamismith
6
6
  module Extensions
7
7
  # Ensures assets are compiled.
8
8
  class Asset
9
- include Import[:settings, :kernel, :logger]
9
+ include Dependencies[:settings, :kernel, :logger]
10
10
 
11
11
  using Refinements::Pathname
12
12
 
@@ -7,7 +7,7 @@ module Hanamismith
7
7
  module Extensions
8
8
  # Ensures NPM packages are installed if NPM is available.
9
9
  class NPM
10
- include Import[:settings, :kernel, :logger]
10
+ include Dependencies[:settings, :kernel, :logger]
11
11
 
12
12
  using Refinements::IO
13
13
  using Refinements::Pathname
@@ -3,6 +3,7 @@ require "hanami"
3
3
  <% namespace do %>
4
4
  # The application base configuration.
5
5
  class App < Hanami::App
6
+ RubyVM::YJIT.enable
6
7
  Dry::Schema.load_extensions :monads
7
8
  Dry::Validation.load_extensions :monads
8
9
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanamismith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.49.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain:
11
10
  - |
@@ -35,7 +34,7 @@ cert_chain:
35
34
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
35
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
36
  -----END CERTIFICATE-----
38
- date: 2024-11-15 00:00:00.000000000 Z
37
+ date: 2024-12-28 00:00:00.000000000 Z
39
38
  dependencies:
40
39
  - !ruby/object:Gem::Dependency
41
40
  name: cogger
@@ -43,28 +42,28 @@ dependencies:
43
42
  requirements:
44
43
  - - "~>"
45
44
  - !ruby/object:Gem::Version
46
- version: '0.31'
45
+ version: '1.0'
47
46
  type: :runtime
48
47
  prerelease: false
49
48
  version_requirements: !ruby/object:Gem::Requirement
50
49
  requirements:
51
50
  - - "~>"
52
51
  - !ruby/object:Gem::Version
53
- version: '0.31'
52
+ version: '1.0'
54
53
  - !ruby/object:Gem::Dependency
55
54
  name: containable
56
55
  requirement: !ruby/object:Gem::Requirement
57
56
  requirements:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
- version: '0.2'
59
+ version: '1.0'
61
60
  type: :runtime
62
61
  prerelease: false
63
62
  version_requirements: !ruby/object:Gem::Requirement
64
63
  requirements:
65
64
  - - "~>"
66
65
  - !ruby/object:Gem::Version
67
- version: '0.2'
66
+ version: '1.0'
68
67
  - !ruby/object:Gem::Dependency
69
68
  name: dry-monads
70
69
  requirement: !ruby/object:Gem::Requirement
@@ -99,112 +98,112 @@ dependencies:
99
98
  requirements:
100
99
  - - "~>"
101
100
  - !ruby/object:Gem::Version
102
- version: '2.7'
101
+ version: '3.0'
103
102
  type: :runtime
104
103
  prerelease: false
105
104
  version_requirements: !ruby/object:Gem::Requirement
106
105
  requirements:
107
106
  - - "~>"
108
107
  - !ruby/object:Gem::Version
109
- version: '2.7'
108
+ version: '3.0'
110
109
  - !ruby/object:Gem::Dependency
111
110
  name: htmx
112
111
  requirement: !ruby/object:Gem::Requirement
113
112
  requirements:
114
113
  - - "~>"
115
114
  - !ruby/object:Gem::Version
116
- version: '1.0'
115
+ version: '2.0'
117
116
  type: :runtime
118
117
  prerelease: false
119
118
  version_requirements: !ruby/object:Gem::Requirement
120
119
  requirements:
121
120
  - - "~>"
122
121
  - !ruby/object:Gem::Version
123
- version: '1.0'
122
+ version: '2.0'
124
123
  - !ruby/object:Gem::Dependency
125
124
  name: infusible
126
125
  requirement: !ruby/object:Gem::Requirement
127
126
  requirements:
128
127
  - - "~>"
129
128
  - !ruby/object:Gem::Version
130
- version: '3.12'
129
+ version: '4.0'
131
130
  type: :runtime
132
131
  prerelease: false
133
132
  version_requirements: !ruby/object:Gem::Requirement
134
133
  requirements:
135
134
  - - "~>"
136
135
  - !ruby/object:Gem::Version
137
- version: '3.12'
136
+ version: '4.0'
138
137
  - !ruby/object:Gem::Dependency
139
138
  name: refinements
140
139
  requirement: !ruby/object:Gem::Requirement
141
140
  requirements:
142
141
  - - "~>"
143
142
  - !ruby/object:Gem::Version
144
- version: '12.10'
143
+ version: '13.0'
145
144
  type: :runtime
146
145
  prerelease: false
147
146
  version_requirements: !ruby/object:Gem::Requirement
148
147
  requirements:
149
148
  - - "~>"
150
149
  - !ruby/object:Gem::Version
151
- version: '12.10'
150
+ version: '13.0'
152
151
  - !ruby/object:Gem::Dependency
153
152
  name: rubysmith
154
153
  requirement: !ruby/object:Gem::Requirement
155
154
  requirements:
156
155
  - - "~>"
157
156
  - !ruby/object:Gem::Version
158
- version: '7.9'
157
+ version: '8.0'
159
158
  type: :runtime
160
159
  prerelease: false
161
160
  version_requirements: !ruby/object:Gem::Requirement
162
161
  requirements:
163
162
  - - "~>"
164
163
  - !ruby/object:Gem::Version
165
- version: '7.9'
164
+ version: '8.0'
166
165
  - !ruby/object:Gem::Dependency
167
166
  name: runcom
168
167
  requirement: !ruby/object:Gem::Requirement
169
168
  requirements:
170
169
  - - "~>"
171
170
  - !ruby/object:Gem::Version
172
- version: '11.10'
171
+ version: '12.0'
173
172
  type: :runtime
174
173
  prerelease: false
175
174
  version_requirements: !ruby/object:Gem::Requirement
176
175
  requirements:
177
176
  - - "~>"
178
177
  - !ruby/object:Gem::Version
179
- version: '11.10'
178
+ version: '12.0'
180
179
  - !ruby/object:Gem::Dependency
181
180
  name: sod
182
181
  requirement: !ruby/object:Gem::Requirement
183
182
  requirements:
184
183
  - - "~>"
185
184
  - !ruby/object:Gem::Version
186
- version: '0.20'
185
+ version: '1.0'
187
186
  type: :runtime
188
187
  prerelease: false
189
188
  version_requirements: !ruby/object:Gem::Requirement
190
189
  requirements:
191
190
  - - "~>"
192
191
  - !ruby/object:Gem::Version
193
- version: '0.20'
192
+ version: '1.0'
194
193
  - !ruby/object:Gem::Dependency
195
194
  name: spek
196
195
  requirement: !ruby/object:Gem::Requirement
197
196
  requirements:
198
197
  - - "~>"
199
198
  - !ruby/object:Gem::Version
200
- version: '3.0'
199
+ version: '4.0'
201
200
  type: :runtime
202
201
  prerelease: false
203
202
  version_requirements: !ruby/object:Gem::Requirement
204
203
  requirements:
205
204
  - - "~>"
206
205
  - !ruby/object:Gem::Version
207
- version: '3.0'
206
+ version: '4.0'
208
207
  - !ruby/object:Gem::Dependency
209
208
  name: zeitwerk
210
209
  requirement: !ruby/object:Gem::Requirement
@@ -219,7 +218,6 @@ dependencies:
219
218
  - - "~>"
220
219
  - !ruby/object:Gem::Version
221
220
  version: '2.7'
222
- description:
223
221
  email:
224
222
  - brooke@alchemists.io
225
223
  executables:
@@ -248,11 +246,9 @@ files:
248
246
  - lib/hanamismith/builders/git/commit.rb
249
247
  - lib/hanamismith/builders/git/ignore.rb
250
248
  - lib/hanamismith/builders/git_hub/ci.rb
251
- - lib/hanamismith/builders/guard.rb
252
249
  - lib/hanamismith/builders/icon.rb
253
250
  - lib/hanamismith/builders/javascript.rb
254
251
  - lib/hanamismith/builders/node.rb
255
- - lib/hanamismith/builders/providers/yjit.rb
256
252
  - lib/hanamismith/builders/puma/configuration.rb
257
253
  - lib/hanamismith/builders/puma/procfile.rb
258
254
  - lib/hanamismith/builders/pwa.rb
@@ -271,9 +267,9 @@ files:
271
267
  - lib/hanamismith/cli/commands/build.rb
272
268
  - lib/hanamismith/cli/shell.rb
273
269
  - lib/hanamismith/container.rb
270
+ - lib/hanamismith/dependencies.rb
274
271
  - lib/hanamismith/extensions/asset.rb
275
272
  - lib/hanamismith/extensions/npm.rb
276
- - lib/hanamismith/import.rb
277
273
  - lib/hanamismith/templates/%project_name%/.circleci/config.yml.erb
278
274
  - lib/hanamismith/templates/%project_name%/.github/workflows/ci.yml.erb
279
275
  - lib/hanamismith/templates/%project_name%/Guardfile.erb
@@ -339,16 +335,12 @@ metadata:
339
335
  label: Hanamismith
340
336
  rubygems_mfa_required: 'true'
341
337
  source_code_uri: https://github.com/bkuhlmann/hanamismith
342
- post_install_message:
343
338
  rdoc_options: []
344
339
  require_paths:
345
340
  - lib
346
341
  required_ruby_version: !ruby/object:Gem::Requirement
347
342
  requirements:
348
- - - ">="
349
- - !ruby/object:Gem::Version
350
- version: '3.3'
351
- - - "<="
343
+ - - "~>"
352
344
  - !ruby/object:Gem::Version
353
345
  version: '3.4'
354
346
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -357,8 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
357
349
  - !ruby/object:Gem::Version
358
350
  version: '0'
359
351
  requirements: []
360
- rubygems_version: 3.5.23
361
- signing_key:
352
+ rubygems_version: 3.6.2
362
353
  specification_version: 4
363
354
  summary: A command line interface for smithing Hanami projects.
364
355
  test_files: []
metadata.gz.sig CHANGED
Binary file
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "refinements/struct"
4
-
5
- module Hanamismith
6
- module Builders
7
- # Builds project skeleton Guard support for a red, green, refactor loop.
8
- class Guard < Rubysmith::Builders::Guard
9
- using Refinements::Struct
10
-
11
- def call
12
- return false unless settings.build_guard
13
-
14
- super
15
- builder.call(settings.merge(template_path: "%project_name%/Guardfile.erb")).render
16
- true
17
- end
18
- end
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "refinements/struct"
4
-
5
- module Hanamismith
6
- module Builders
7
- module Providers
8
- # Builds project skeleton for YJIT provider.
9
- class YJIT < Rubysmith::Builders::Abstract
10
- using Refinements::Struct
11
-
12
- def call
13
- path = "%project_name%/config/providers/yjit.rb.erb"
14
- builder.call(settings.merge(template_path: path)).render
15
- true
16
- end
17
- end
18
- end
19
- end
20
- end