hanamismith 0.49.1 → 1.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
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +2 -2
- data/hanamismith.gemspec +12 -12
- data/lib/hanamismith/builders/bundler.rb +1 -1
- data/lib/hanamismith/builders/git/commit.rb +1 -1
- data/lib/hanamismith/cli/commands/build.rb +1 -4
- data/lib/hanamismith/cli/shell.rb +1 -1
- data/lib/hanamismith/{import.rb → dependencies.rb} +1 -1
- data/lib/hanamismith/extensions/asset.rb +1 -1
- data/lib/hanamismith/extensions/npm.rb +1 -1
- data/lib/hanamismith/templates/%project_name%/config/app.rb.erb +1 -0
- data.tar.gz.sig +0 -0
- metadata +25 -34
- metadata.gz.sig +0 -0
- data/lib/hanamismith/builders/guard.rb +0 -20
- data/lib/hanamismith/builders/providers/yjit.rb +0 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 02a11d2710dd43c3b204ac615074bda307f5bac363134265cd16c758358dc94e
|
|
4
|
+
data.tar.gz: 2a1569befa4c6ee79d575c20c546d29541bb2a1bb20b9d4ffdb385218b4c5ad5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
*
|
|
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
|
|
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.
|
|
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 = "
|
|
26
|
-
spec.add_dependency "cogger", "~> 0
|
|
27
|
-
spec.add_dependency "containable", "~> 0
|
|
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", "~>
|
|
31
|
-
spec.add_dependency "htmx", "~>
|
|
32
|
-
spec.add_dependency "infusible", "~>
|
|
33
|
-
spec.add_dependency "refinements", "~>
|
|
34
|
-
spec.add_dependency "rubysmith", "~>
|
|
35
|
-
spec.add_dependency "runcom", "~>
|
|
36
|
-
spec.add_dependency "sod", "~> 0
|
|
37
|
-
spec.add_dependency "spek", "~>
|
|
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"
|
|
@@ -7,13 +7,12 @@ module Hanamismith
|
|
|
7
7
|
module Commands
|
|
8
8
|
# Handles the build command.
|
|
9
9
|
class Build < Sod::Command
|
|
10
|
-
include
|
|
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
|
|
9
|
+
include Dependencies[:defaults_path, :xdg_config, :specification]
|
|
10
10
|
|
|
11
11
|
def initialize(context: Sod::Context, dsl: Sod, **)
|
|
12
12
|
super(**)
|
|
@@ -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
|
|
10
|
+
include Dependencies[:settings, :kernel, :logger]
|
|
11
11
|
|
|
12
12
|
using Refinements::IO
|
|
13
13
|
using Refinements::Pathname
|
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.
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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
|
|
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
|
|
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: '
|
|
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: '
|
|
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.
|
|
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
|