jt_tools 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.standard.yml +10 -0
- data/Gemfile +3 -1
- data/Rakefile +5 -5
- data/bin/test +4 -3
- data/jt_tools.gemspec +14 -14
- data/lib/install/.editorconfig +1 -232
- data/lib/install/.erb-lint.yml +6 -6
- data/lib/install/.rubocop.yml +6 -0
- data/lib/install/.simplecov +6 -6
- data/lib/install/Brewfile +13 -13
- data/lib/install/Gemfile.tools +2 -0
- data/lib/install/app.json +4 -0
- data/lib/jt_tools.rb +2 -2
- data/lib/jt_tools/railtie.rb +2 -2
- data/lib/jt_tools/version.rb +1 -1
- data/lib/tasks/install.rake +3 -3
- data/rejuvenation.rb +4 -5
- data/template.rb +103 -99
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 110820f3c765883cb41d8be9ab041d2378e7bb02d2f0932274f0ea60130e616d
|
4
|
+
data.tar.gz: c2507a76f727d277f1e58457ed3f3d47732f48fdc42dc66529c3c65b5311d709
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0031d018dd400ecb1762a59e2a3a7907cada91ded4059b166bcd56fc6ab9995ab12caad80822750a269361c617abab31cb80612604bccd9771d112bc186ab445
|
7
|
+
data.tar.gz: 8edd821baf1efc31ce37f31930daf29b3cb997cb9ce48db4937060cc77a142e9bea44b8a077ed80d51a52b17993e38fe4b13be717903d58b9653853fc2b81905
|
data/.standard.yml
ADDED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rake/testtask"
|
5
5
|
|
6
6
|
Rake::TestTask.new(:test) do |t|
|
7
|
-
t.libs <<
|
8
|
-
t.libs <<
|
9
|
-
t.test_files = FileList[
|
7
|
+
t.libs << "test"
|
8
|
+
t.libs << "lib"
|
9
|
+
t.test_files = FileList["test/**/*_test.rb"]
|
10
10
|
end
|
11
11
|
|
12
12
|
task default: :test
|
data/bin/test
CHANGED
@@ -16,11 +16,11 @@ rm -rf test_tmpl
|
|
16
16
|
# Test installation of missed gems on applying template
|
17
17
|
gem uninstall oj || true
|
18
18
|
|
19
|
-
if [[ "TEST_APP_TEMPLATE" == "true" ]]
|
19
|
+
if [[ "$TEST_APP_TEMPLATE" == "true" ]]
|
20
20
|
then
|
21
21
|
rails new test_tmpl --quiet --database postgresql
|
22
22
|
cd test_tmpl
|
23
|
-
rails app:template LOCATION
|
23
|
+
rails app:template LOCATION=../../template.rb
|
24
24
|
else
|
25
25
|
rails new test_tmpl --template ../template.rb --quiet --database postgresql
|
26
26
|
cd test_tmpl
|
@@ -50,7 +50,8 @@ git commit -m 'Adds sample_for_linters'
|
|
50
50
|
bin/rubocop --fail-level F sample_for_linters.rb
|
51
51
|
bin/pronto run -c HEAD~1 --no-exit-code
|
52
52
|
BUNDLE_GEMFILE=Gemfile.tools bin/bundle exec rails_best_practices --without-color --silent --test .
|
53
|
-
|
53
|
+
# FIXME: https://github.com/Shopify/erb-lint/issues/162
|
54
|
+
# BUNDLE_GEMFILE=Gemfile.tools bin/bundle exec erblint --config ../../lib/install/.erb-lint.yml --autocorrect .
|
54
55
|
|
55
56
|
CIRCLECI=false bin/lint-pr -f text
|
56
57
|
|
data/jt_tools.gemspec
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
lib = File.expand_path(
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require
|
5
|
+
require "jt_tools/version"
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.name =
|
8
|
+
spec.name = "jt_tools"
|
9
9
|
spec.version = JtTools::VERSION
|
10
|
-
spec.authors = [
|
11
|
-
spec.email = [
|
10
|
+
spec.authors = ["Paul Keen"]
|
11
|
+
spec.email = ["pftg@users.noreply.github.com"]
|
12
12
|
|
13
|
-
spec.summary =
|
14
|
-
spec.description =
|
15
|
-
spec.homepage =
|
16
|
-
spec.license =
|
13
|
+
spec.summary = "Setup development scripts to manage code base effectively"
|
14
|
+
spec.description = "Helpful scripts to run linters locally and on CI"
|
15
|
+
spec.homepage = "https://jtway.co"
|
16
|
+
spec.license = "MIT"
|
17
17
|
|
18
|
-
spec.metadata[
|
19
|
-
spec.metadata[
|
20
|
-
spec.metadata[
|
18
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
19
|
+
spec.metadata["source_code_uri"] = "https://github.com/jetthoughts/jt-tools/"
|
20
|
+
spec.metadata["changelog_uri"] = "https://github.com/jetthoughts/jt-tools/"
|
21
21
|
|
22
|
-
spec.add_dependency
|
22
|
+
spec.add_dependency "railties", ">= 4.2"
|
23
23
|
|
24
24
|
# Specify which files should be added to the gem when it is released.
|
25
25
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
|
|
27
27
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
28
28
|
end
|
29
29
|
|
30
|
-
spec.require_paths = [
|
30
|
+
spec.require_paths = ["lib"]
|
31
31
|
end
|
data/lib/install/.editorconfig
CHANGED
@@ -15,268 +15,37 @@ ij_continuation_indent_size = 2
|
|
15
15
|
ij_css_align_closing_brace_with_properties = false
|
16
16
|
ij_css_blank_lines_around_nested_selector = 1
|
17
17
|
ij_css_blank_lines_between_blocks = 1
|
18
|
-
# ij_css_brace_placement = 0
|
19
|
-
# ij_css_enforce_quotes_on_format = false
|
20
|
-
# ij_css_hex_color_long_format = false
|
21
|
-
# ij_css_hex_color_lower_case = false
|
22
|
-
# ij_css_hex_color_short_format = false
|
23
|
-
# ij_css_hex_color_upper_case = false
|
24
18
|
ij_css_keep_blank_lines_in_code = 2
|
25
|
-
# ij_css_keep_indents_on_empty_lines = false
|
26
|
-
# ij_css_keep_single_line_blocks = false
|
27
19
|
ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
|
28
|
-
# ij_css_space_after_colon = true
|
29
|
-
# ij_css_space_before_opening_brace = true
|
30
|
-
# ij_css_use_double_quotes = true
|
31
|
-
# ij_css_value_alignment = 0
|
32
20
|
|
33
21
|
[*.haml]
|
34
22
|
tab_width = 2
|
35
23
|
ij_haml_keep_indents_on_empty_lines = false
|
36
24
|
|
37
25
|
[*.properties]
|
38
|
-
# ij_properties_align_group_field_declarations = false
|
39
26
|
|
40
27
|
[*.scss]
|
41
28
|
ij_continuation_indent_size = 2
|
42
29
|
ij_scss_align_closing_brace_with_properties = false
|
43
30
|
ij_scss_blank_lines_around_nested_selector = 1
|
44
31
|
ij_scss_blank_lines_between_blocks = 1
|
45
|
-
# ij_scss_brace_placement = 0
|
46
|
-
# ij_scss_enforce_quotes_on_format = false
|
47
|
-
# ij_scss_hex_color_long_format = false
|
48
|
-
# ij_scss_hex_color_lower_case = false
|
49
|
-
# ij_scss_hex_color_short_format = false
|
50
|
-
# ij_scss_hex_color_upper_case = false
|
51
|
-
# ij_scss_keep_blank_lines_in_code = 2
|
52
|
-
# ij_scss_keep_indents_on_empty_lines = false
|
53
|
-
# ij_scss_keep_single_line_blocks = false
|
54
|
-
# ij_scss_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
|
55
|
-
# ij_scss_space_after_colon = true
|
56
|
-
# ij_scss_space_before_opening_brace = true
|
57
|
-
# ij_scss_use_double_quotes = true
|
58
|
-
# ij_scss_value_alignment = 0
|
59
32
|
|
60
33
|
[.editorconfig]
|
61
|
-
# ij_editorconfig_align_group_field_declarations = true
|
62
|
-
# ij_editorconfig_space_after_colon = true
|
63
|
-
# ij_editorconfig_space_after_comma = true
|
64
|
-
# ij_editorconfig_space_before_colon = false
|
65
|
-
# ij_editorconfig_space_before_comma = false
|
66
|
-
# ij_editorconfig_spaces_around_assignment_operators = true
|
67
34
|
|
68
35
|
[{*.js,*.cjs}]
|
69
36
|
ij_continuation_indent_size = 2
|
70
|
-
# ij_javascript_align_imports = false
|
71
|
-
# ij_javascript_align_multiline_array_initializer_expression = false
|
72
|
-
# ij_javascript_align_multiline_binary_operation = false
|
73
|
-
# ij_javascript_align_multiline_chained_methods = false
|
74
|
-
# ij_javascript_align_multiline_extends_list = false
|
75
|
-
# ij_javascript_align_multiline_for = false
|
76
|
-
# ij_javascript_align_multiline_parameters = false
|
77
|
-
# ij_javascript_align_multiline_parameters_in_calls = false
|
78
|
-
# ij_javascript_align_multiline_ternary_operation = false
|
79
|
-
# ij_javascript_align_object_properties = 0
|
80
|
-
# ij_javascript_align_union_types = false
|
81
|
-
# ij_javascript_align_var_statements = 0
|
82
|
-
# ij_javascript_array_initializer_new_line_after_left_brace = false
|
83
|
-
# ij_javascript_array_initializer_right_brace_on_new_line = false
|
84
|
-
# ij_javascript_array_initializer_wrap = off
|
85
|
-
# ij_javascript_assignment_wrap = off
|
86
|
-
# ij_javascript_binary_operation_sign_on_next_line = false
|
87
|
-
# ij_javascript_binary_operation_wrap = off
|
88
|
-
# ij_javascript_blacklist_imports = rxjs/Rx,node_modules/**/*,@angular/material,@angular/material/typings/**
|
89
|
-
# ij_javascript_blank_lines_after_imports = 1
|
90
|
-
# ij_javascript_blank_lines_around_class = 1
|
91
|
-
# ij_javascript_blank_lines_around_field = 0
|
92
|
-
# ij_javascript_blank_lines_around_function = 1
|
93
|
-
# ij_javascript_blank_lines_around_method = 1
|
94
|
-
# ij_javascript_block_brace_style = end_of_line
|
95
|
-
# ij_javascript_call_parameters_new_line_after_left_paren = false
|
96
|
-
# ij_javascript_call_parameters_right_paren_on_new_line = false
|
97
|
-
# ij_javascript_call_parameters_wrap = off
|
98
|
-
# ij_javascript_catch_on_new_line = false
|
99
|
-
# ij_javascript_chained_call_dot_on_new_line = true
|
100
|
-
# ij_javascript_class_brace_style = end_of_line
|
101
|
-
# ij_javascript_comma_on_new_line = false
|
102
|
-
# ij_javascript_do_while_brace_force = never
|
103
|
-
# ij_javascript_else_on_new_line = false
|
104
|
-
# ij_javascript_enforce_trailing_comma = keep
|
105
|
-
# ij_javascript_extends_keyword_wrap = off
|
106
|
-
# ij_javascript_extends_list_wrap = off
|
107
|
-
# ij_javascript_field_prefix = _
|
108
|
-
# ij_javascript_file_name_style = relaxed
|
109
|
-
# ij_javascript_finally_on_new_line = false
|
110
|
-
# ij_javascript_for_brace_force = never
|
111
|
-
# ij_javascript_for_statement_new_line_after_left_paren = false
|
112
|
-
# ij_javascript_for_statement_right_paren_on_new_line = false
|
113
|
-
# ij_javascript_for_statement_wrap = off
|
114
|
-
# ij_javascript_force_quote_style = true
|
115
|
-
# ij_javascript_force_semicolon_style = true
|
116
|
-
# ij_javascript_function_expression_brace_style = end_of_line
|
117
|
-
# ij_javascript_if_brace_force = never
|
118
|
-
# ij_javascript_import_merge_members = global
|
119
|
-
# ij_javascript_import_prefer_absolute_path = global
|
120
|
-
# ij_javascript_import_sort_members = true
|
121
|
-
# ij_javascript_import_sort_module_name = false
|
122
|
-
# ij_javascript_import_use_node_resolution = true
|
123
|
-
# ij_javascript_imports_wrap = on_every_item
|
124
|
-
# ij_javascript_indent_case_from_switch = true
|
125
|
-
# ij_javascript_indent_chained_calls = true
|
126
|
-
# ij_javascript_indent_package_children = 0
|
127
|
-
# ij_javascript_jsx_attribute_value = braces
|
128
|
-
# ij_javascript_keep_blank_lines_in_code = 1
|
129
|
-
# ij_javascript_keep_first_column_comment = true
|
130
|
-
# ij_javascript_keep_indents_on_empty_lines = false
|
131
|
-
# ij_javascript_keep_line_breaks = true
|
132
|
-
# ij_javascript_keep_simple_blocks_in_one_line = true
|
133
|
-
# ij_javascript_keep_simple_methods_in_one_line = true
|
134
|
-
# ij_javascript_line_comment_add_space = true
|
135
|
-
# ij_javascript_line_comment_at_first_column = false
|
136
|
-
# ij_javascript_method_brace_style = end_of_line
|
137
|
-
# ij_javascript_method_call_chain_wrap = off
|
138
|
-
# ij_javascript_method_parameters_new_line_after_left_paren = false
|
139
|
-
# ij_javascript_method_parameters_right_paren_on_new_line = false
|
140
|
-
# ij_javascript_method_parameters_wrap = off
|
141
|
-
# ij_javascript_object_literal_wrap = on_every_item
|
142
|
-
# ij_javascript_parentheses_expression_new_line_after_left_paren = false
|
143
|
-
# ij_javascript_parentheses_expression_right_paren_on_new_line = false
|
144
|
-
# ij_javascript_place_assignment_sign_on_next_line = false
|
145
|
-
# ij_javascript_prefer_as_type_cast = false
|
146
|
-
# ij_javascript_prefer_parameters_wrap = false
|
147
|
-
# ij_javascript_reformat_c_style_comments = false
|
148
|
-
# ij_javascript_space_after_colon = true
|
149
|
-
# ij_javascript_space_after_comma = true
|
150
|
-
# ij_javascript_space_after_dots_in_rest_parameter = false
|
151
|
-
# ij_javascript_space_after_generator_mult = true
|
152
|
-
# ij_javascript_space_after_property_colon = true
|
153
|
-
# ij_javascript_space_after_quest = true
|
154
|
-
# ij_javascript_space_after_type_colon = true
|
155
|
-
# ij_javascript_space_after_unary_not = false
|
156
|
-
# ij_javascript_space_before_async_arrow_lparen = true
|
157
|
-
# ij_javascript_space_before_catch_keyword = true
|
158
|
-
# ij_javascript_space_before_catch_left_brace = true
|
159
|
-
# ij_javascript_space_before_catch_parentheses = true
|
160
|
-
# ij_javascript_space_before_class_lbrace = true
|
161
|
-
# ij_javascript_space_before_class_left_brace = true
|
162
|
-
# ij_javascript_space_before_colon = true
|
163
|
-
# ij_javascript_space_before_comma = false
|
164
|
-
# ij_javascript_space_before_do_left_brace = true
|
165
|
-
# ij_javascript_space_before_else_keyword = true
|
166
|
-
# ij_javascript_space_before_else_left_brace = true
|
167
|
-
# ij_javascript_space_before_finally_keyword = true
|
168
|
-
# ij_javascript_space_before_finally_left_brace = true
|
169
|
-
# ij_javascript_space_before_for_left_brace = true
|
170
|
-
# ij_javascript_space_before_for_parentheses = true
|
171
|
-
# ij_javascript_space_before_for_semicolon = false
|
172
|
-
# ij_javascript_space_before_function_left_parenth = true
|
173
|
-
# ij_javascript_space_before_generator_mult = true
|
174
|
-
# ij_javascript_space_before_if_left_brace = true
|
175
|
-
# ij_javascript_space_before_if_parentheses = true
|
176
|
-
# ij_javascript_space_before_method_call_parentheses = false
|
177
|
-
# ij_javascript_space_before_method_left_brace = true
|
178
|
-
# ij_javascript_space_before_method_parentheses = true
|
179
|
-
# ij_javascript_space_before_property_colon = false
|
180
|
-
# ij_javascript_space_before_quest = true
|
181
|
-
# ij_javascript_space_before_switch_left_brace = true
|
182
|
-
# ij_javascript_space_before_switch_parentheses = true
|
183
|
-
# ij_javascript_space_before_try_left_brace = true
|
184
|
-
# ij_javascript_space_before_type_colon = false
|
185
|
-
# ij_javascript_space_before_unary_not = false
|
186
|
-
# ij_javascript_space_before_while_keyword = true
|
187
|
-
# ij_javascript_space_before_while_left_brace = true
|
188
|
-
# ij_javascript_space_before_while_parentheses = true
|
189
|
-
# ij_javascript_spaces_around_additive_operators = true
|
190
|
-
# ij_javascript_spaces_around_arrow_function_operator = true
|
191
|
-
# ij_javascript_spaces_around_assignment_operators = true
|
192
|
-
# ij_javascript_spaces_around_bitwise_operators = true
|
193
|
-
# ij_javascript_spaces_around_equality_operators = true
|
194
|
-
# ij_javascript_spaces_around_logical_operators = true
|
195
|
-
# ij_javascript_spaces_around_multiplicative_operators = true
|
196
|
-
# ij_javascript_spaces_around_relational_operators = true
|
197
|
-
# ij_javascript_spaces_around_shift_operators = true
|
198
|
-
# ij_javascript_spaces_around_unary_operator = false
|
199
|
-
# ij_javascript_spaces_within_array_initializer_brackets = false
|
200
|
-
# ij_javascript_spaces_within_brackets = false
|
201
|
-
# ij_javascript_spaces_within_catch_parentheses = false
|
202
|
-
# ij_javascript_spaces_within_for_parentheses = false
|
203
|
-
# ij_javascript_spaces_within_if_parentheses = false
|
204
|
-
# ij_javascript_spaces_within_imports = true
|
205
|
-
# ij_javascript_spaces_within_interpolation_expressions = false
|
206
|
-
# ij_javascript_spaces_within_method_call_parentheses = false
|
207
|
-
# ij_javascript_spaces_within_method_parentheses = false
|
208
|
-
# ij_javascript_spaces_within_object_literal_braces = true
|
209
|
-
# ij_javascript_spaces_within_object_type_braces = true
|
210
|
-
# ij_javascript_spaces_within_parentheses = false
|
211
|
-
# ij_javascript_spaces_within_switch_parentheses = false
|
212
|
-
# ij_javascript_spaces_within_type_assertion = false
|
213
|
-
# ij_javascript_spaces_within_union_types = true
|
214
|
-
# ij_javascript_spaces_within_while_parentheses = false
|
215
|
-
# ij_javascript_special_else_if_treatment = true
|
216
|
-
# ij_javascript_ternary_operation_signs_on_next_line = true
|
217
|
-
# ij_javascript_ternary_operation_wrap = off
|
218
|
-
# ij_javascript_union_types_wrap = on_every_item
|
219
|
-
# ij_javascript_use_chained_calls_group_indents = false
|
220
|
-
# ij_javascript_use_double_quotes = false
|
221
|
-
# ij_javascript_use_explicit_js_extension = global
|
222
|
-
# ij_javascript_use_path_mapping = always
|
223
|
-
# ij_javascript_use_public_modifier = false
|
224
|
-
# ij_javascript_use_semicolon_after_statement = false
|
225
|
-
# ij_javascript_var_declaration_wrap = normal
|
226
|
-
# ij_javascript_while_brace_force = never
|
227
|
-
# ij_javascript_while_on_new_line = false
|
228
|
-
# ij_javascript_wrap_comments = false
|
229
37
|
|
230
38
|
[{*.sht,*.html,*.shtm,*.shtml,*.htm}]
|
231
39
|
ij_continuation_indent_size = 2
|
232
|
-
# ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
|
233
|
-
# ij_html_align_attributes = true
|
234
|
-
# ij_html_align_text = false
|
235
|
-
# ij_html_attribute_wrap = normal
|
236
|
-
# ij_html_block_comment_at_first_column = true
|
237
|
-
# ij_html_do_not_align_children_of_min_lines = 0
|
238
|
-
# ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
|
239
|
-
# ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot,script,style
|
240
|
-
# ij_html_enforce_quotes = false
|
241
|
-
# ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
|
242
|
-
# ij_html_keep_blank_lines = 2
|
243
|
-
# ij_html_keep_indents_on_empty_lines = false
|
244
|
-
# ij_html_keep_line_breaks = true
|
245
|
-
# ij_html_keep_line_breaks_in_text = true
|
246
|
-
# ij_html_keep_whitespaces = false
|
247
|
-
# ij_html_keep_whitespaces_inside = span,pre,textarea
|
248
|
-
# ij_html_line_comment_at_first_column = true
|
249
|
-
# ij_html_new_line_after_last_attribute = never
|
250
|
-
# ij_html_new_line_before_first_attribute = never
|
251
|
-
# ij_html_quote_style = double
|
252
|
-
# ij_html_remove_new_line_before_tags = br
|
253
|
-
# ij_html_space_after_tag_name = false
|
254
|
-
# ij_html_space_around_equality_in_attribute = false
|
255
|
-
# ij_html_space_inside_empty_tag = true
|
256
|
-
# ij_html_text_wrap = normal
|
257
40
|
|
258
41
|
[{*.xslt,*.rng,*.ant,*.xsl,*.xsd,*.xul,*.jhm,*.xml,*.tld,*.fxml,*.wsdl,*.jrxml,*.jnlp}]
|
259
42
|
tab_width = 2
|
260
|
-
# ij_xml_block_comment_at_first_column = true
|
261
|
-
# ij_xml_keep_indents_on_empty_lines = false
|
262
|
-
# ij_xml_line_comment_at_first_column = true
|
263
43
|
|
264
44
|
[{*.yml,*.yaml}]
|
265
|
-
|
266
|
-
# ij_yaml_keep_line_breaks = true
|
45
|
+
tab_width = 2
|
267
46
|
|
268
47
|
[{.babelrc,.stylelintrc,.eslintrc,jest.config,.resultset.json.lock,bowerrc,*.json,*.jsb3,*.jsb2}]
|
269
48
|
tab_width = 2
|
270
|
-
# ij_json_keep_blank_lines_in_code = 0
|
271
|
-
# ij_json_keep_indents_on_empty_lines = false
|
272
|
-
# ij_json_keep_line_breaks = true
|
273
|
-
# ij_json_space_after_colon = true
|
274
|
-
# ij_json_space_after_comma = true
|
275
|
-
# ij_json_space_before_colon = true
|
276
|
-
# ij_json_space_before_comma = false
|
277
|
-
# ij_json_spaces_within_braces = false
|
278
|
-
# ij_json_spaces_within_brackets = false
|
279
|
-
# ij_json_wrap_long_lines = false
|
280
49
|
|
281
50
|
[{Podfile,Brewfile,cucumber,yarn,spork,Gemfile.tools,rake,.simplecov,rcov,rails,spec,capfile,gemfile,rakefile,guardfile,isolate,vagrantfile,*.gemspec,*.jbuilder,*.thor,*.rbw,*.ru,*.rb,*.rake}]
|
282
51
|
ij_ruby_align_group_field_declarations = false
|
data/lib/install/.erb-lint.yml
CHANGED
@@ -10,17 +10,17 @@ linters:
|
|
10
10
|
- .rubocop.yml
|
11
11
|
Layout/InitialIndentation:
|
12
12
|
Enabled: false
|
13
|
+
Layout/LineLength:
|
14
|
+
Enabled: false
|
13
15
|
Layout/TrailingEmptyLines:
|
14
16
|
Enabled: false
|
15
17
|
Layout/TrailingWhitespace:
|
16
18
|
Enabled: false
|
17
|
-
Naming/FileName:
|
18
|
-
Enabled: false
|
19
|
-
Style/FrozenStringLiteralComment:
|
20
|
-
Enabled: false
|
21
|
-
Layout/LineLength:
|
22
|
-
Enabled: false
|
23
19
|
Lint/UselessAssignment:
|
24
20
|
Enabled: false
|
21
|
+
Naming/FileName:
|
22
|
+
Enabled: false
|
25
23
|
Rails/OutputSafety:
|
26
24
|
Enabled: false
|
25
|
+
Style/FrozenStringLiteralComment:
|
26
|
+
Enabled: false
|
data/lib/install/.rubocop.yml
CHANGED
@@ -9,6 +9,10 @@ AllCops:
|
|
9
9
|
- 'db/migrate/**/*'
|
10
10
|
- 'db/schema.rb'
|
11
11
|
|
12
|
+
Layout/DotPosition:
|
13
|
+
Enabled: true
|
14
|
+
EnforcedStyle: leading
|
15
|
+
|
12
16
|
Layout/EmptyLinesAroundAttributeAccessor:
|
13
17
|
Enabled: true
|
14
18
|
|
@@ -115,6 +119,8 @@ Style/StabbyLambdaParentheses:
|
|
115
119
|
EnforcedStyle: require_no_parentheses
|
116
120
|
|
117
121
|
Style/StringLiterals:
|
122
|
+
Enabled: true
|
123
|
+
EnforcedStyle: double_quotes
|
118
124
|
Exclude:
|
119
125
|
- 'db/schema.rb'
|
120
126
|
|
data/lib/install/.simplecov
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
if defined?(Spring) && ENV[
|
4
|
-
puts
|
5
|
-
puts
|
3
|
+
if defined?(Spring) && ENV["DISABLE_SPRING"].nil?
|
4
|
+
puts "**** NO COVERAGE FOR YOU! ****"
|
5
|
+
puts "Please disable Spring to get COVERAGE by `DISABLE_SPRING=1 COVERAGE=1 bin/rspec`"
|
6
6
|
else
|
7
|
-
SimpleCov.start
|
7
|
+
SimpleCov.start "rails" do
|
8
8
|
add_filter %w[app/views bin spec test]
|
9
9
|
|
10
10
|
maximum_coverage_drop 0.5
|
11
11
|
end
|
12
12
|
|
13
|
-
if ENV[
|
14
|
-
require
|
13
|
+
if ENV["CODECOV_TOKEN"]
|
14
|
+
require "codecov"
|
15
15
|
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
16
16
|
end
|
17
17
|
end
|
data/lib/install/Brewfile
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
tap
|
4
|
-
cask_args appdir:
|
3
|
+
tap "caskroom/cask"
|
4
|
+
cask_args appdir: "/Applications"
|
5
5
|
|
6
|
-
tap
|
6
|
+
tap "heroku/brew"
|
7
7
|
|
8
|
-
brew
|
9
|
-
brew
|
10
|
-
brew
|
11
|
-
brew
|
12
|
-
brew
|
13
|
-
brew
|
14
|
-
brew
|
15
|
-
brew
|
16
|
-
brew
|
17
|
-
brew
|
8
|
+
brew "circleci"
|
9
|
+
brew "graphicsmagick" # For ActiveStorage
|
10
|
+
brew "heroku"
|
11
|
+
brew "hub" # For creating Pull Request from CLI
|
12
|
+
brew "postgresql"
|
13
|
+
brew "rbenv"
|
14
|
+
brew "ruby-build"
|
15
|
+
brew "vips" # For ActiveStorage
|
16
|
+
brew "yamllint" # For Linters
|
17
|
+
brew "yarn"
|
data/lib/install/Gemfile.tools
CHANGED
@@ -20,6 +20,8 @@ group :tools do
|
|
20
20
|
gem 'pronto-rubocop', require: false
|
21
21
|
gem 'pronto-yamllint', require: false
|
22
22
|
|
23
|
+
# gem 'rubocop-minitest', require: false
|
23
24
|
gem 'rubocop-performance', require: false
|
24
25
|
gem 'rubocop-rails', require: false
|
26
|
+
# gem 'rubocop-rspec', require: false
|
25
27
|
end
|
data/lib/install/app.json
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
"env": {
|
7
7
|
"BUNDLE_WITHOUT": "development:test:production",
|
8
8
|
"DISABLE_DATABASE_ENVIRONMENT_CHECK": "1",
|
9
|
+
"JEMALLOC_ENABLED": "true",
|
9
10
|
"LANG": "en_US.UTF-8",
|
10
11
|
"MALLOC_ARENA_MAX": "2",
|
11
12
|
"NODE_ENV": "production",
|
@@ -38,6 +39,9 @@
|
|
38
39
|
"redistogo:nano"
|
39
40
|
],
|
40
41
|
"buildpacks": [
|
42
|
+
{
|
43
|
+
"url": "https://github.com/gaffneyc/heroku-buildpack-jemalloc.git"
|
44
|
+
},
|
41
45
|
{
|
42
46
|
"url": "heroku/nodejs"
|
43
47
|
},
|
data/lib/jt_tools.rb
CHANGED
data/lib/jt_tools/railtie.rb
CHANGED
data/lib/jt_tools/version.rb
CHANGED
data/lib/tasks/install.rake
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
install_template_path = File.expand_path(
|
4
|
-
bin_path = ENV[
|
3
|
+
install_template_path = File.expand_path("../../template.rb", __dir__).freeze
|
4
|
+
bin_path = ENV["BUNDLE_BIN"] || "./bin"
|
5
5
|
|
6
6
|
namespace :jt_tools do
|
7
|
-
desc
|
7
|
+
desc "Install jt-tools in this application"
|
8
8
|
task install: :environment do
|
9
9
|
exec "#{RbConfig.ruby} #{bin_path}/rails app:template LOCATION=#{install_template_path}"
|
10
10
|
end
|
data/rejuvenation.rb
CHANGED
@@ -1,18 +1,17 @@
|
|
1
|
-
|
2
|
-
require 'json'
|
1
|
+
require "json"
|
3
2
|
|
4
3
|
EXTRACT_DEPENDENCY_NAME = /"?(.+?)@.+?"?(?:,\s+|\Z)/.freeze
|
5
4
|
EXTRACT_DEPENDENCY_DETAILS = /(^((?!= ).*?):\n.*?(?:\n\n|\Z))/m.freeze
|
6
5
|
|
7
6
|
def direct_dependencies_names
|
8
|
-
package_json = JSON.parse(File.open(
|
9
|
-
direct_dependencies = package_json.fetch_values(
|
7
|
+
package_json = JSON.parse(File.open("package.json").read)
|
8
|
+
direct_dependencies = package_json.fetch_values("dependencies", "devDependencies", "peerDependencies") {}
|
10
9
|
direct_dependencies.compact.inject([]) { |memo, v| memo.concat(v.keys) }
|
11
10
|
end
|
12
11
|
|
13
12
|
@dependencies = direct_dependencies_names
|
14
13
|
|
15
|
-
yarn_lock_content = File.open(
|
14
|
+
yarn_lock_content = File.open("yarn.lock").read
|
16
15
|
yarn_lock_content.scan(EXTRACT_DEPENDENCY_DETAILS).each do |dependency_block|
|
17
16
|
direct_dep = @dependencies.include?(dependency_block[1].match(EXTRACT_DEPENDENCY_NAME).to_a[1])
|
18
17
|
puts dependency_block[0] if direct_dep
|
data/template.rb
CHANGED
@@ -7,17 +7,17 @@
|
|
7
7
|
# In that case, use `git clone` to download them to a local temporary dir.
|
8
8
|
def add_template_repository_to_source_path
|
9
9
|
if __FILE__.match?(%r{\Ahttps?://})
|
10
|
-
require
|
11
|
-
require
|
10
|
+
require "shellwords"
|
11
|
+
require "tmpdir"
|
12
12
|
|
13
|
-
source_paths.unshift(temp_dir = Dir.mktmpdir(
|
13
|
+
source_paths.unshift(temp_dir = Dir.mktmpdir("jt_tools-"))
|
14
14
|
at_exit { FileUtils.remove_entry(temp_dir) }
|
15
15
|
git clone: [
|
16
|
-
|
17
|
-
|
16
|
+
"--quiet",
|
17
|
+
"https://github.com/jetthoughts/jt_tools.git",
|
18
18
|
temp_dir
|
19
19
|
].map { |args| Shellwords.escape(args) }
|
20
|
-
.join(
|
20
|
+
.join(" ")
|
21
21
|
|
22
22
|
if (branch = __FILE__[%r{jt_tools/(.+)/template.rb}, 1])
|
23
23
|
Dir.chdir(temp_dir) { git checkout: branch }
|
@@ -29,131 +29,134 @@ end
|
|
29
29
|
|
30
30
|
add_template_repository_to_source_path
|
31
31
|
|
32
|
-
say
|
33
|
-
directory
|
32
|
+
say "=> Copying binstubs"
|
33
|
+
directory "lib/install/bin", "bin"
|
34
34
|
|
35
|
-
chmod
|
35
|
+
chmod "bin", 0o755 & ~File.umask, verbose: false
|
36
36
|
|
37
|
-
say
|
38
|
-
copy_file
|
37
|
+
say "=> Copying tools gemfile"
|
38
|
+
copy_file "lib/install/Gemfile.tools", "Gemfile.tools"
|
39
39
|
|
40
|
-
run
|
40
|
+
run "yarn add -D eslint jest-junit"
|
41
41
|
|
42
|
-
say
|
43
|
-
copy_file
|
44
|
-
copy_file
|
45
|
-
copy_file
|
46
|
-
copy_file
|
47
|
-
copy_file
|
48
|
-
copy_file
|
49
|
-
copy_file
|
50
|
-
copy_file
|
51
|
-
copy_file
|
52
|
-
copy_file
|
42
|
+
say "Copying lint configurations"
|
43
|
+
copy_file "lib/install/.better-html.yml", ".better-html.yml"
|
44
|
+
copy_file "lib/install/.erb-lint.yml", ".erb-lint.yml"
|
45
|
+
copy_file "lib/install/.eslintrc.js", ".eslintrc.js"
|
46
|
+
copy_file "lib/install/.pronto.yml", ".pronto.yml"
|
47
|
+
copy_file "lib/install/.pronto_eslint_npm.yml", ".pronto_eslint_npm.yml"
|
48
|
+
copy_file "lib/install/.rubocop.yml", ".rubocop.yml"
|
49
|
+
copy_file "lib/install/.yamllint.yml", ".yamllint.yml"
|
50
|
+
copy_file "lib/install/.reek.yml", ".reek.yml"
|
51
|
+
copy_file "lib/install/config/rails_best_practices.yml", "config/rails_best_practices.yml"
|
52
|
+
copy_file "lib/install/.editorconfig", ".editorconfig"
|
53
53
|
|
54
|
-
say
|
55
|
-
copy_file
|
56
|
-
copy_file
|
54
|
+
say "=> Copying services configuration"
|
55
|
+
copy_file "lib/install/.simplecov", ".simplecov"
|
56
|
+
copy_file "lib/install/codecov.yml", "codecov.yml"
|
57
57
|
|
58
|
-
|
59
|
-
say '=> Adds service client API gems'
|
58
|
+
say "=> Adds service client API gems"
|
60
59
|
|
61
60
|
gem_group :test do
|
62
|
-
gem
|
63
|
-
gem
|
61
|
+
gem "simplecov", require: false, group: :test
|
62
|
+
gem "codecov", require: false, group: :test
|
64
63
|
end
|
65
64
|
|
66
|
-
gem
|
65
|
+
gem "oj"
|
67
66
|
|
68
67
|
gem_group :production, :staging do
|
69
|
-
gem
|
70
|
-
gem
|
71
|
-
gem
|
68
|
+
gem "dalli"
|
69
|
+
gem "r7insight"
|
70
|
+
gem "rollbar"
|
72
71
|
end
|
73
72
|
|
74
|
-
directory
|
73
|
+
directory "lib/install/.circleci", ".circleci"
|
75
74
|
|
76
|
-
if File.read(
|
77
|
-
gem
|
75
|
+
if File.read("Gemfile").include? "rspec"
|
76
|
+
gem "rspec_junit_formatter", require: false, group: :test
|
78
77
|
insert_into_file(
|
79
|
-
|
78
|
+
"spec/spec_helper.rb",
|
80
79
|
"require 'simplecov' if ENV['COVERAGE']\n",
|
81
80
|
after: /\A/
|
82
81
|
)
|
83
82
|
insert_into_file(
|
84
|
-
|
85
|
-
"\n" +
|
86
|
-
after:
|
83
|
+
".circleci/config.yml",
|
84
|
+
"\n" + " - run: bin/rspec --format RspecJunitFormatter --out tmp/reports/rspec-results.xml --format progress",
|
85
|
+
after: "# rails test"
|
87
86
|
)
|
88
87
|
else
|
89
|
-
gem
|
88
|
+
gem "minitest-ci", require: false, group: :test
|
90
89
|
insert_into_file(
|
91
|
-
|
90
|
+
"test/test_helper.rb",
|
92
91
|
"require 'simplecov' if ENV['COVERAGE']\n",
|
93
92
|
after: /\A/
|
94
93
|
)
|
95
94
|
insert_into_file(
|
96
|
-
|
95
|
+
".circleci/config.yml",
|
97
96
|
"\n" + ' - run: bin/rails test "test/**/*_test.rb"',
|
98
|
-
after:
|
97
|
+
after: "# rails test"
|
99
98
|
)
|
99
|
+
|
100
|
+
gsub_file "test/test_helper.rb",
|
101
|
+
"parallelize(workers: :number_of_processors)",
|
102
|
+
"parallelize(workers: :number_of_processors) unless ENV['COVERAGE']"
|
100
103
|
end
|
101
104
|
|
102
|
-
directory
|
105
|
+
directory "lib/install/.dependabot", ".dependabot"
|
103
106
|
|
104
|
-
say
|
105
|
-
copy_file
|
106
|
-
copy_file
|
107
|
+
say "=> Copying heroku configuration"
|
108
|
+
copy_file "lib/install/app.json", "app.json"
|
109
|
+
copy_file "lib/install/Procfile", "Procfile"
|
107
110
|
|
108
|
-
say
|
109
|
-
copy_file
|
111
|
+
say "=> Install Brew dependencies"
|
112
|
+
copy_file "lib/install/Brewfile", "Brewfile"
|
110
113
|
|
111
|
-
say
|
112
|
-
directory
|
114
|
+
say "Setup git hooks"
|
115
|
+
directory "lib/install/bin/git-hooks", "bin/git-hooks"
|
113
116
|
|
114
|
-
require
|
117
|
+
require "bundler"
|
115
118
|
Bundler.with_original_env do
|
116
|
-
say
|
117
|
-
run
|
119
|
+
say "=> Install tools"
|
120
|
+
run "bin/tools-setup"
|
118
121
|
|
119
|
-
say
|
120
|
-
run
|
121
|
-
run
|
122
|
+
say "=> Generate binstubs for linters"
|
123
|
+
run "BUNDLE_GEMFILE=Gemfile.tools bundle binstub --force pronto"
|
124
|
+
run "BUNDLE_GEMFILE=Gemfile.tools bundle binstub --force rubocop"
|
122
125
|
end
|
123
126
|
|
124
|
-
say
|
125
|
-
run
|
127
|
+
say "=> Set git hooks"
|
128
|
+
run "git config core.hooksPath ./bin/git-hooks"
|
129
|
+
say "=> Install all new dependencies"
|
126
130
|
|
127
|
-
say '=> Install all new dependencies'
|
128
131
|
run <<~BREW_INSTALL
|
129
132
|
hash brew 2> /dev/null \
|
130
133
|
&& (brew bundle check || brew bundle install) \
|
131
134
|
|| echo "Please install Homebrew: https://brew.sh/"
|
132
135
|
BREW_INSTALL
|
133
136
|
|
134
|
-
say
|
135
|
-
uncomment_lines
|
137
|
+
say "=> Update development config"
|
138
|
+
uncomment_lines "config/environments/development.rb", /config\.file_watcher = ActiveSupport::EventedFileUpdateChecker/
|
136
139
|
|
137
|
-
say
|
140
|
+
say "=> Set up R7Insight"
|
138
141
|
r7insight_config = <<-CODE
|
139
142
|
if ENV['R7INSIGHT_TOKEN'].present?
|
140
143
|
Rails.logger = R7Insight.new(ENV['R7INSIGHT_TOKEN'], ENV['R7INSIGHT_REGION'])
|
141
144
|
end
|
142
145
|
CODE
|
143
|
-
insert_into_file
|
144
|
-
|
145
|
-
|
146
|
-
environment(r7insight_config, env:
|
147
|
-
if File.exist?(
|
148
|
-
insert_into_file
|
149
|
-
|
150
|
-
|
151
|
-
environment(r7insight_config, env:
|
146
|
+
insert_into_file "config/environments/production.rb",
|
147
|
+
"require 'r7_insight.rb'" + "\n\n",
|
148
|
+
before: "Rails.application.configure do"
|
149
|
+
environment(r7insight_config, env: "production")
|
150
|
+
if File.exist?("config/environments/staging.rb")
|
151
|
+
insert_into_file "config/environments/staging.rb",
|
152
|
+
"require 'r7_insight.rb'" + "\n\n",
|
153
|
+
before: "Rails.application.configure do"
|
154
|
+
environment(r7insight_config, env: "staging")
|
152
155
|
end
|
153
156
|
|
154
|
-
gem
|
157
|
+
gem "connection_pool"
|
155
158
|
|
156
|
-
say
|
159
|
+
say "=> Set up Memcachier"
|
157
160
|
memcachier_config = <<-CODE
|
158
161
|
if ENV["MEMCACHIER_SERVERS"]
|
159
162
|
config.cache_store = :mem_cache_store,
|
@@ -165,31 +168,32 @@ memcachier_config = <<-CODE
|
|
165
168
|
end
|
166
169
|
|
167
170
|
CODE
|
168
|
-
environment(memcachier_config, env:
|
169
|
-
if File.exist?(
|
170
|
-
environment(memcachier_config, env:
|
171
|
+
environment(memcachier_config, env: "production")
|
172
|
+
if File.exist?("config/environments/staging.rb")
|
173
|
+
environment(memcachier_config, env: "staging")
|
171
174
|
end
|
172
175
|
|
176
|
+
Bundler.with_original_env do
|
177
|
+
say "=> Setup default bundle config"
|
178
|
+
run "bundle config jobs 4"
|
179
|
+
run "bundle config retry 3"
|
173
180
|
|
174
|
-
|
175
|
-
say '=> Setup default bundle config'
|
176
|
-
run 'bundle config jobs 4'
|
177
|
-
run 'bundle config retry 3'
|
181
|
+
run "bundle"
|
178
182
|
end
|
179
183
|
|
180
|
-
say
|
181
|
-
say
|
182
|
-
say
|
183
|
-
say
|
184
|
-
say
|
185
|
-
say
|
186
|
-
say
|
187
|
-
say
|
188
|
-
say
|
189
|
-
say
|
190
|
-
say
|
191
|
-
say
|
192
|
-
say
|
193
|
-
say
|
194
|
-
say
|
195
|
-
say
|
184
|
+
say "**************************************************************************"
|
185
|
+
say "**************************************************************************"
|
186
|
+
say ""
|
187
|
+
say "1. Recommended Heroku Addons: Mailtrap, Rollbar, Cloudinary"
|
188
|
+
say ""
|
189
|
+
say "2. Setup Git Hooks to auto-check code and cleanup staled branches:"
|
190
|
+
say "$ `git config core.hooksPath bin/git-hooks`"
|
191
|
+
say ""
|
192
|
+
say "3. Please, set CODECOV_TOKEN, GITHUB_TOKEN and PRONTO_GITHUB_ACCESS_TOKEN"
|
193
|
+
say "environment variables in CircleCI and your local env"
|
194
|
+
say ""
|
195
|
+
say " For code coverage report aggregator, running code static analysis"
|
196
|
+
say "and auto-update of the tools."
|
197
|
+
say ""
|
198
|
+
say "**************************************************************************"
|
199
|
+
say "**************************************************************************"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jt_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Keen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-05-
|
11
|
+
date: 2020-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -37,6 +37,7 @@ files:
|
|
37
37
|
- ".github/ISSUE_TEMPLATE/custom.md"
|
38
38
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
39
39
|
- ".gitignore"
|
40
|
+
- ".standard.yml"
|
40
41
|
- Gemfile
|
41
42
|
- LICENSE
|
42
43
|
- LICENSE.txt
|