nextgen 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +143 -0
  4. data/config/generators.yml +146 -0
  5. data/exe/nextgen +13 -0
  6. data/lib/nextgen/actions/bundler.rb +62 -0
  7. data/lib/nextgen/actions/git.rb +56 -0
  8. data/lib/nextgen/actions/yarn.rb +32 -0
  9. data/lib/nextgen/actions.rb +155 -0
  10. data/lib/nextgen/cli.rb +19 -0
  11. data/lib/nextgen/commands/create.rb +312 -0
  12. data/lib/nextgen/ext/prompt/list.rb +13 -0
  13. data/lib/nextgen/ext/prompt/multilist.rb +16 -0
  14. data/lib/nextgen/generators/action_mailer.rb +26 -0
  15. data/lib/nextgen/generators/annotate.rb +2 -0
  16. data/lib/nextgen/generators/base.rb +60 -0
  17. data/lib/nextgen/generators/basic_auth.rb +5 -0
  18. data/lib/nextgen/generators/brakeman.rb +2 -0
  19. data/lib/nextgen/generators/bundler_audit.rb +2 -0
  20. data/lib/nextgen/generators/capybara_lockstep.rb +4 -0
  21. data/lib/nextgen/generators/clean_gemfile.rb +1 -0
  22. data/lib/nextgen/generators/dotenv.rb +3 -0
  23. data/lib/nextgen/generators/erb_lint.rb +11 -0
  24. data/lib/nextgen/generators/eslint.rb +24 -0
  25. data/lib/nextgen/generators/factory_bot_rails.rb +16 -0
  26. data/lib/nextgen/generators/git_safe.rb +4 -0
  27. data/lib/nextgen/generators/github_actions.rb +2 -0
  28. data/lib/nextgen/generators/good_migrations.rb +1 -0
  29. data/lib/nextgen/generators/home_controller.rb +3 -0
  30. data/lib/nextgen/generators/initial_git_commit.rb +5 -0
  31. data/lib/nextgen/generators/initial_migrations.rb +11 -0
  32. data/lib/nextgen/generators/letter_opener.rb +8 -0
  33. data/lib/nextgen/generators/node.rb +5 -0
  34. data/lib/nextgen/generators/open_browser_on_start.rb +12 -0
  35. data/lib/nextgen/generators/overcommit.rb +1 -0
  36. data/lib/nextgen/generators/pgcli_rails.rb +1 -0
  37. data/lib/nextgen/generators/rack_canonical_host.rb +8 -0
  38. data/lib/nextgen/generators/rack_mini_profiler.rb +2 -0
  39. data/lib/nextgen/generators/rspec_rails.rb +19 -0
  40. data/lib/nextgen/generators/rspec_system_testing.rb +5 -0
  41. data/lib/nextgen/generators/rubocop.rb +32 -0
  42. data/lib/nextgen/generators/shoulda.rb +6 -0
  43. data/lib/nextgen/generators/sidekiq.rb +30 -0
  44. data/lib/nextgen/generators/stylelint.rb +24 -0
  45. data/lib/nextgen/generators/thor.rb +2 -0
  46. data/lib/nextgen/generators/tomo.rb +10 -0
  47. data/lib/nextgen/generators/vite.rb +103 -0
  48. data/lib/nextgen/generators.rb +87 -0
  49. data/lib/nextgen/rails.rb +39 -0
  50. data/lib/nextgen/rails_options.rb +191 -0
  51. data/lib/nextgen/thor_extensions.rb +48 -0
  52. data/lib/nextgen/tidy_gemfile.rb +71 -0
  53. data/lib/nextgen/version.rb +3 -0
  54. data/lib/nextgen.rb +17 -0
  55. data/template/.editorconfig +14 -0
  56. data/template/.env.sample +2 -0
  57. data/template/.erb-lint.yml.tt +25 -0
  58. data/template/.eslintrc.cjs +26 -0
  59. data/template/.github/workflows/ci.yml.tt +142 -0
  60. data/template/.overcommit.yml.tt +86 -0
  61. data/template/.prettierrc.cjs +6 -0
  62. data/template/.rubocop.yml.tt +269 -0
  63. data/template/.stylelintrc.cjs +52 -0
  64. data/template/DEPLOYMENT.md +10 -0
  65. data/template/Procfile.tt +4 -0
  66. data/template/README.md.tt +52 -0
  67. data/template/Thorfile +7 -0
  68. data/template/app/controllers/concerns/basic_auth.rb +20 -0
  69. data/template/app/controllers/home_controller.rb +4 -0
  70. data/template/app/frontend/controllers/index.js +5 -0
  71. data/template/app/frontend/images/example.svg +3 -0
  72. data/template/app/frontend/stylesheets/base.css +8 -0
  73. data/template/app/frontend/stylesheets/index.css +3 -0
  74. data/template/app/frontend/stylesheets/reset.css +36 -0
  75. data/template/app/helpers/inline_svg_helper.rb +9 -0
  76. data/template/app/views/home/index.html.erb.tt +5 -0
  77. data/template/bin/setup +107 -0
  78. data/template/config/initializers/generators.rb +5 -0
  79. data/template/config/initializers/rack_mini_profiler.rb +4 -0
  80. data/template/config/initializers/sidekiq.rb +32 -0
  81. data/template/config/sidekiq.yml +5 -0
  82. data/template/lib/puma/plugin/open.rb +14 -0
  83. data/template/lib/tasks/auto_annotate_models.rake +52 -0
  84. data/template/lib/tasks/erblint.rake +11 -0
  85. data/template/lib/tasks/eslint.rake +11 -0
  86. data/template/lib/tasks/rubocop.rake +4 -0
  87. data/template/lib/tasks/stylelint.rake +11 -0
  88. data/template/lib/templates/rspec/system/system_spec.rb +10 -0
  89. data/template/lib/vite_inline_svg_file_loader.rb +25 -0
  90. data/template/package.json +6 -0
  91. data/template/postcss.config.js +3 -0
  92. data/template/spec/support/factory_bot.rb +3 -0
  93. data/template/spec/support/mailer.rb +5 -0
  94. data/template/spec/support/shoulda.rb +6 -0
  95. data/template/spec/support/system.rb +17 -0
  96. data/template/test/application_system_test_case.rb +18 -0
  97. data/template/test/helpers/inline_svg_helper_test.rb +23 -0
  98. data/template/test/support/factory_bot.rb +3 -0
  99. data/template/test/support/mailer.rb +3 -0
  100. data/template/test/support/shoulda.rb +6 -0
  101. data/template/test/support/vite.rb +5 -0
  102. metadata +220 -0
metadata ADDED
@@ -0,0 +1,220 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nextgen
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Matt Brictson
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-10-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 7.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 7.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: tty-prompt
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.23.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.23.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: tty-screen
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.8.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: zeitwerk
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.6'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.6'
83
+ description: Nextgen is an interactive and flexible alternative to `rails new` that
84
+ includes opt-in support for modern frontend development with Vite.
85
+ email:
86
+ - opensource@mattbrictson.com
87
+ executables:
88
+ - nextgen
89
+ extensions: []
90
+ extra_rdoc_files: []
91
+ files:
92
+ - LICENSE.txt
93
+ - README.md
94
+ - config/generators.yml
95
+ - exe/nextgen
96
+ - lib/nextgen.rb
97
+ - lib/nextgen/actions.rb
98
+ - lib/nextgen/actions/bundler.rb
99
+ - lib/nextgen/actions/git.rb
100
+ - lib/nextgen/actions/yarn.rb
101
+ - lib/nextgen/cli.rb
102
+ - lib/nextgen/commands/create.rb
103
+ - lib/nextgen/ext/prompt/list.rb
104
+ - lib/nextgen/ext/prompt/multilist.rb
105
+ - lib/nextgen/generators.rb
106
+ - lib/nextgen/generators/action_mailer.rb
107
+ - lib/nextgen/generators/annotate.rb
108
+ - lib/nextgen/generators/base.rb
109
+ - lib/nextgen/generators/basic_auth.rb
110
+ - lib/nextgen/generators/brakeman.rb
111
+ - lib/nextgen/generators/bundler_audit.rb
112
+ - lib/nextgen/generators/capybara_lockstep.rb
113
+ - lib/nextgen/generators/clean_gemfile.rb
114
+ - lib/nextgen/generators/dotenv.rb
115
+ - lib/nextgen/generators/erb_lint.rb
116
+ - lib/nextgen/generators/eslint.rb
117
+ - lib/nextgen/generators/factory_bot_rails.rb
118
+ - lib/nextgen/generators/git_safe.rb
119
+ - lib/nextgen/generators/github_actions.rb
120
+ - lib/nextgen/generators/good_migrations.rb
121
+ - lib/nextgen/generators/home_controller.rb
122
+ - lib/nextgen/generators/initial_git_commit.rb
123
+ - lib/nextgen/generators/initial_migrations.rb
124
+ - lib/nextgen/generators/letter_opener.rb
125
+ - lib/nextgen/generators/node.rb
126
+ - lib/nextgen/generators/open_browser_on_start.rb
127
+ - lib/nextgen/generators/overcommit.rb
128
+ - lib/nextgen/generators/pgcli_rails.rb
129
+ - lib/nextgen/generators/rack_canonical_host.rb
130
+ - lib/nextgen/generators/rack_mini_profiler.rb
131
+ - lib/nextgen/generators/rspec_rails.rb
132
+ - lib/nextgen/generators/rspec_system_testing.rb
133
+ - lib/nextgen/generators/rubocop.rb
134
+ - lib/nextgen/generators/shoulda.rb
135
+ - lib/nextgen/generators/sidekiq.rb
136
+ - lib/nextgen/generators/stylelint.rb
137
+ - lib/nextgen/generators/thor.rb
138
+ - lib/nextgen/generators/tomo.rb
139
+ - lib/nextgen/generators/vite.rb
140
+ - lib/nextgen/rails.rb
141
+ - lib/nextgen/rails_options.rb
142
+ - lib/nextgen/thor_extensions.rb
143
+ - lib/nextgen/tidy_gemfile.rb
144
+ - lib/nextgen/version.rb
145
+ - template/.editorconfig
146
+ - template/.env.sample
147
+ - template/.erb-lint.yml.tt
148
+ - template/.eslintrc.cjs
149
+ - template/.github/workflows/ci.yml.tt
150
+ - template/.overcommit.yml.tt
151
+ - template/.prettierrc.cjs
152
+ - template/.rubocop.yml.tt
153
+ - template/.stylelintrc.cjs
154
+ - template/DEPLOYMENT.md
155
+ - template/Procfile.tt
156
+ - template/README.md.tt
157
+ - template/Thorfile
158
+ - template/app/controllers/concerns/basic_auth.rb
159
+ - template/app/controllers/home_controller.rb
160
+ - template/app/frontend/controllers/index.js
161
+ - template/app/frontend/images/example.svg
162
+ - template/app/frontend/stylesheets/base.css
163
+ - template/app/frontend/stylesheets/index.css
164
+ - template/app/frontend/stylesheets/reset.css
165
+ - template/app/helpers/inline_svg_helper.rb
166
+ - template/app/views/home/index.html.erb.tt
167
+ - template/bin/setup
168
+ - template/config/initializers/generators.rb
169
+ - template/config/initializers/rack_mini_profiler.rb
170
+ - template/config/initializers/sidekiq.rb
171
+ - template/config/sidekiq.yml
172
+ - template/lib/puma/plugin/open.rb
173
+ - template/lib/tasks/auto_annotate_models.rake
174
+ - template/lib/tasks/erblint.rake
175
+ - template/lib/tasks/eslint.rake
176
+ - template/lib/tasks/rubocop.rake
177
+ - template/lib/tasks/stylelint.rake
178
+ - template/lib/templates/rspec/system/system_spec.rb
179
+ - template/lib/vite_inline_svg_file_loader.rb
180
+ - template/package.json
181
+ - template/postcss.config.js
182
+ - template/spec/support/factory_bot.rb
183
+ - template/spec/support/mailer.rb
184
+ - template/spec/support/shoulda.rb
185
+ - template/spec/support/system.rb
186
+ - template/test/application_system_test_case.rb
187
+ - template/test/helpers/inline_svg_helper_test.rb
188
+ - template/test/support/factory_bot.rb
189
+ - template/test/support/mailer.rb
190
+ - template/test/support/shoulda.rb
191
+ - template/test/support/vite.rb
192
+ homepage: https://github.com/mattbrictson/nextgen
193
+ licenses:
194
+ - MIT
195
+ metadata:
196
+ bug_tracker_uri: https://github.com/mattbrictson/nextgen/issues
197
+ changelog_uri: https://github.com/mattbrictson/nextgen/releases
198
+ source_code_uri: https://github.com/mattbrictson/nextgen
199
+ homepage_uri: https://github.com/mattbrictson/nextgen
200
+ rubygems_mfa_required: 'true'
201
+ post_install_message:
202
+ rdoc_options: []
203
+ require_paths:
204
+ - lib
205
+ required_ruby_version: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '3.0'
210
+ required_rubygems_version: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ requirements: []
216
+ rubygems_version: 3.4.19
217
+ signing_key:
218
+ specification_version: 4
219
+ summary: Generate your next Rails app interactively!
220
+ test_files: []