kowl 0.0.1
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 +7 -0
- data/LICENSE +7 -0
- data/README.md +383 -0
- data/bin/console +14 -0
- data/bin/kowl +106 -0
- data/bin/setup +13 -0
- data/lib/kowl/actions.rb +240 -0
- data/lib/kowl/docker.rb +447 -0
- data/lib/kowl/generators/README.md +5 -0
- data/lib/kowl/generators/action_generator.rb +113 -0
- data/lib/kowl/generators/admin_generator.rb +114 -0
- data/lib/kowl/generators/assets_generator.rb +188 -0
- data/lib/kowl/generators/base.rb +40 -0
- data/lib/kowl/generators/circleci_generator.rb +11 -0
- data/lib/kowl/generators/config_generator.rb +180 -0
- data/lib/kowl/generators/controller_generator.rb +64 -0
- data/lib/kowl/generators/database_generator.rb +42 -0
- data/lib/kowl/generators/decorators_generator.rb +16 -0
- data/lib/kowl/generators/docker_generator.rb +40 -0
- data/lib/kowl/generators/dotfiles_generator.rb +73 -0
- data/lib/kowl/generators/libs_generator.rb +19 -0
- data/lib/kowl/generators/mailer_generator.rb +58 -0
- data/lib/kowl/generators/misc_generator.rb +20 -0
- data/lib/kowl/generators/overrides/app_base.rb +15 -0
- data/lib/kowl/generators/overrides/app_builder.rb +58 -0
- data/lib/kowl/generators/overrides/app_generator.rb +249 -0
- data/lib/kowl/generators/pages_generator.rb +46 -0
- data/lib/kowl/generators/routes_generator.rb +20 -0
- data/lib/kowl/generators/sidekiq_generator.rb +31 -0
- data/lib/kowl/generators/staging_generator.rb +14 -0
- data/lib/kowl/generators/test_generator.rb +42 -0
- data/lib/kowl/generators/text_files_generator.rb +41 -0
- data/lib/kowl/generators/users_and_auth_generator.rb +143 -0
- data/lib/kowl/generators/uuid_generator.rb +39 -0
- data/lib/kowl/generators/views_and_helpers_generator.rb +104 -0
- data/lib/kowl/geodb.rb +96 -0
- data/lib/kowl/helpers.rb +139 -0
- data/lib/kowl/templates/Gemfile.erb.tt +253 -0
- data/lib/kowl/templates/README.md.erb +33 -0
- data/lib/kowl/templates/app/assets/javascripts/semantic.js.tt +26 -0
- data/lib/kowl/templates/app/assets/stylesheets/administrate/application.scss +44 -0
- data/lib/kowl/templates/app/assets/stylesheets/bootstrap/_custom_styling.scss +38 -0
- data/lib/kowl/templates/app/assets/stylesheets/bootstrap/application-mailer.scss +1 -0
- data/lib/kowl/templates/app/assets/stylesheets/bootstrap/application.scss +14 -0
- data/lib/kowl/templates/app/assets/stylesheets/bootstrap/components/_alerts.scss +7 -0
- data/lib/kowl/templates/app/assets/stylesheets/bootstrap/components/_errors.scss +28 -0
- data/lib/kowl/templates/app/assets/stylesheets/bootstrap/components/_navbar.scss +17 -0
- data/lib/kowl/templates/app/assets/stylesheets/bootstrap/variables.scss +6 -0
- data/lib/kowl/templates/app/assets/stylesheets/semantic/_custom_styling.scss +20 -0
- data/lib/kowl/templates/app/assets/stylesheets/semantic/application.scss +24 -0
- data/lib/kowl/templates/app/controllers/admin/application_controller.rb +29 -0
- data/lib/kowl/templates/app/controllers/admin/login_activities_controller.rb +29 -0
- data/lib/kowl/templates/app/controllers/admin/users_controller.rb +37 -0
- data/lib/kowl/templates/app/controllers/concerns/auth/authentication.rb +18 -0
- data/lib/kowl/templates/app/controllers/concerns/auth/authorization.rb +20 -0
- data/lib/kowl/templates/app/controllers/concerns/auth/error_handlers.rb +27 -0
- data/lib/kowl/templates/app/controllers/concerns/noauth/error_handlers.rb +25 -0
- data/lib/kowl/templates/app/controllers/users_controller.rb +17 -0
- data/lib/kowl/templates/app/dashboards/login_activity_dashboard.rb.tt +59 -0
- data/lib/kowl/templates/app/dashboards/rich_text_body_dashboard.rb.tt +17 -0
- data/lib/kowl/templates/app/dashboards/user_dashboard.rb.tt +60 -0
- data/lib/kowl/templates/app/fields/gravatar_field.rb +10 -0
- data/lib/kowl/templates/app/fields/rich_text_area_field.rb +8 -0
- data/lib/kowl/templates/app/inputs/rich_text_area_input.rb +11 -0
- data/lib/kowl/templates/app/javascript/administrate/components/date_time_picker.js.tt +32 -0
- data/lib/kowl/templates/app/javascript/administrate/components/table.js.tt +49 -0
- data/lib/kowl/templates/app/javascript/administrate/index.js +3 -0
- data/lib/kowl/templates/app/javascript/packs/administrate.js.tt +21 -0
- data/lib/kowl/templates/app/javascript/packs/semantic.js +11 -0
- data/lib/kowl/templates/app/mailers/application_mailer.rb +7 -0
- data/lib/kowl/templates/app/mailers/devise_mailer.rb +5 -0
- data/lib/kowl/templates/app/models/login_activity.rb.tt +29 -0
- data/lib/kowl/templates/app/models/user.rb.tt +72 -0
- data/lib/kowl/templates/app/policies/application_policy.rb +38 -0
- data/lib/kowl/templates/app/policies/login_activity_policy.rb +35 -0
- data/lib/kowl/templates/app/policies/user_policy.rb +43 -0
- data/lib/kowl/templates/app/views/admin/templates/navigation.erb.tt +23 -0
- data/lib/kowl/templates/app/views/admin/views/application/_javascript.html.erb +21 -0
- data/lib/kowl/templates/app/views/admin/views/users/_collection.html.erb +102 -0
- data/lib/kowl/templates/app/views/admin/views/users/_form.html.erb +46 -0
- data/lib/kowl/templates/app/views/admin/views/users/edit.html.erb +36 -0
- data/lib/kowl/templates/app/views/admin/views/users/index.html.erb +66 -0
- data/lib/kowl/templates/app/views/fields/gravatar_field/_form.html.erb +6 -0
- data/lib/kowl/templates/app/views/fields/gravatar_field/_index.html.erb +1 -0
- data/lib/kowl/templates/app/views/fields/gravatar_field/_show.html.erb +1 -0
- data/lib/kowl/templates/app/views/fields/rich_text_area_field/_form.html.erb +6 -0
- data/lib/kowl/templates/app/views/fields/rich_text_area_field/_index.html.erb +1 -0
- data/lib/kowl/templates/app/views/fields/rich_text_area_field/_show.html.erb +1 -0
- data/lib/kowl/templates/app/views/layouts/admin.html.erb.tt +47 -0
- data/lib/kowl/templates/app/views/layouts/devise_mailer.html.erb +14 -0
- data/lib/kowl/templates/app/views/pages/welcome/bootstrap.html.erb +18 -0
- data/lib/kowl/templates/app/views/pages/welcome/bootstrap.html.haml +17 -0
- data/lib/kowl/templates/app/views/pages/welcome/bootstrap.html.slim +17 -0
- data/lib/kowl/templates/app/views/pages/welcome/default.html.erb +0 -0
- data/lib/kowl/templates/app/views/pages/welcome/default.html.haml +0 -0
- data/lib/kowl/templates/app/views/pages/welcome/default.html.slim +0 -0
- data/lib/kowl/templates/app/views/pages/welcome/semantic.html.erb +20 -0
- data/lib/kowl/templates/app/views/pages/welcome/semantic.html.haml +17 -0
- data/lib/kowl/templates/app/views/pages/welcome/semantic.html.slim +17 -0
- data/lib/kowl/templates/app/views/shared/footer/bootstrap.html.erb.tt +5 -0
- data/lib/kowl/templates/app/views/shared/footer/bootstrap.html.haml.tt +3 -0
- data/lib/kowl/templates/app/views/shared/footer/bootstrap.html.slim.tt +3 -0
- data/lib/kowl/templates/app/views/shared/footer/semantic.html.erb.tt +7 -0
- data/lib/kowl/templates/app/views/shared/footer/semantic.html.haml.tt +5 -0
- data/lib/kowl/templates/app/views/shared/footer/semantic.html.slim.tt +5 -0
- data/lib/kowl/templates/app/views/shared/navigation/bootstrap.html.erb.tt +51 -0
- data/lib/kowl/templates/app/views/shared/navigation/bootstrap.html.haml.tt +36 -0
- data/lib/kowl/templates/app/views/shared/navigation/bootstrap.html.slim.tt +36 -0
- data/lib/kowl/templates/app/views/shared/navigation/semantic.html.erb.tt +48 -0
- data/lib/kowl/templates/app/views/shared/navigation/semantic.html.haml.tt +36 -0
- data/lib/kowl/templates/app/views/shared/navigation/semantic.html.slim.tt +36 -0
- data/lib/kowl/templates/app/workers/scheduler/pghero_scheduler.rb +11 -0
- data/lib/kowl/templates/config/autoprefixer.yml +4 -0
- data/lib/kowl/templates/config/db/mysql.yml.tt +43 -0
- data/lib/kowl/templates/config/db/oracle.yml.tt +29 -0
- data/lib/kowl/templates/config/db/postgresql.yml.tt +37 -0
- data/lib/kowl/templates/config/db/sqlite3.yml.tt +20 -0
- data/lib/kowl/templates/config/db/sqlserver.yml.tt +28 -0
- data/lib/kowl/templates/config/initializers/administrate.rb.tt +9 -0
- data/lib/kowl/templates/config/initializers/bullet.rb +21 -0
- data/lib/kowl/templates/config/initializers/devise-security.rb +44 -0
- data/lib/kowl/templates/config/initializers/devise_argon2.rb +29 -0
- data/lib/kowl/templates/config/initializers/faker.rb +6 -0
- data/lib/kowl/templates/config/initializers/generators.rb.tt +31 -0
- data/lib/kowl/templates/config/initializers/geocoder.rb +10 -0
- data/lib/kowl/templates/config/initializers/letter_opener.rb +13 -0
- data/lib/kowl/templates/config/initializers/lockbox.rb +11 -0
- data/lib/kowl/templates/config/initializers/logging.rb +6 -0
- data/lib/kowl/templates/config/initializers/lograge.rb +7 -0
- data/lib/kowl/templates/config/initializers/logstop.rb +4 -0
- data/lib/kowl/templates/config/initializers/middleware.rb +9 -0
- data/lib/kowl/templates/config/initializers/oj.rb +7 -0
- data/lib/kowl/templates/config/initializers/pagy.rb.tt +16 -0
- data/lib/kowl/templates/config/initializers/postmark.rb +8 -0
- data/lib/kowl/templates/config/initializers/rack_attack.rb.tt +71 -0
- data/lib/kowl/templates/config/initializers/sass.rb +5 -0
- data/lib/kowl/templates/config/initializers/sidekiq.rb +11 -0
- data/lib/kowl/templates/config/initializers/simpleform/semantic.rb +225 -0
- data/lib/kowl/templates/config/initializers/slim.rb +6 -0
- data/lib/kowl/templates/config/initializers/sparkpost.rb +13 -0
- data/lib/kowl/templates/config/routes.rb.tt +28 -0
- data/lib/kowl/templates/config/sidekiq.yml.tt +17 -0
- data/lib/kowl/templates/db/migrations/create_action_text_tables.action_text.rb.tt +16 -0
- data/lib/kowl/templates/db/migrations/create_active_storage_tables.active_storage.rb.tt +29 -0
- data/lib/kowl/templates/db/migrations/devise.rb.tt +59 -0
- data/lib/kowl/templates/db/migrations/login_activities.rb.tt +41 -0
- data/lib/kowl/templates/db/seeds.rb.tt +14 -0
- data/lib/kowl/templates/docker/Dockerfile.alpine.tt +92 -0
- data/lib/kowl/templates/docker/Dockerfile.debian.tt +133 -0
- data/lib/kowl/templates/docker/docker-compose.yml.tt +55 -0
- data/lib/kowl/templates/docker/mysql/Dockerfile.tt +15 -0
- data/lib/kowl/templates/dotfiles/Aptfile.tt +34 -0
- data/lib/kowl/templates/dotfiles/Brewfile.tt +49 -0
- data/lib/kowl/templates/dotfiles/Procfile.tt +12 -0
- data/lib/kowl/templates/dotfiles/codeclimate.yml +76 -0
- data/lib/kowl/templates/dotfiles/coffeelint.json +10 -0
- data/lib/kowl/templates/dotfiles/coffeelintignore +15 -0
- data/lib/kowl/templates/dotfiles/dockerignore +23 -0
- data/lib/kowl/templates/dotfiles/editorconfig +13 -0
- data/lib/kowl/templates/dotfiles/env.tt +58 -0
- data/lib/kowl/templates/dotfiles/erb-lint.yml +10 -0
- data/lib/kowl/templates/dotfiles/erdconfig.tt +24 -0
- data/lib/kowl/templates/dotfiles/eslintignore +20 -0
- data/lib/kowl/templates/dotfiles/eslintrc.js +31 -0
- data/lib/kowl/templates/dotfiles/fasterer.yml +14 -0
- data/lib/kowl/templates/dotfiles/foreman +1 -0
- data/lib/kowl/templates/dotfiles/gitattributes +15 -0
- data/lib/kowl/templates/dotfiles/gitignore +69 -0
- data/lib/kowl/templates/dotfiles/haml-lint.yml +23 -0
- data/lib/kowl/templates/dotfiles/jsbeautifyrc +15 -0
- data/lib/kowl/templates/dotfiles/jshintrc +3 -0
- data/lib/kowl/templates/dotfiles/mailmap +3 -0
- data/lib/kowl/templates/dotfiles/nvmrc +1 -0
- data/lib/kowl/templates/dotfiles/prettierignore +21 -0
- data/lib/kowl/templates/dotfiles/prettierrc.js +62 -0
- data/lib/kowl/templates/dotfiles/pryrc +7 -0
- data/lib/kowl/templates/dotfiles/rspec +3 -0
- data/lib/kowl/templates/dotfiles/rubocop.yml.tt +78 -0
- data/lib/kowl/templates/dotfiles/scss-lint.yml +132 -0
- data/lib/kowl/templates/dotfiles/simplecov +19 -0
- data/lib/kowl/templates/dotfiles/slim-lint.yml +23 -0
- data/lib/kowl/templates/dotfiles/slugignore +10 -0
- data/lib/kowl/templates/dotfiles/yamllint +7 -0
- data/lib/kowl/templates/dotfiles/yarnclean +46 -0
- data/lib/kowl/templates/lib/tasks/stats.rake +42 -0
- data/lib/kowl/templates/tests/factories/README.md +0 -0
- data/lib/kowl/templates/tests/factories/login_activity.rb +11 -0
- data/lib/kowl/templates/tests/factories/user.rb +11 -0
- data/lib/kowl/templates/tests/minitest/README.md +3 -0
- data/lib/kowl/templates/tests/minitest/application_system_test_case.rb +7 -0
- data/lib/kowl/templates/tests/minitest/controllers/pages_controller_test.rb +10 -0
- data/lib/kowl/templates/tests/minitest/models/login_activity_test.rb +8 -0
- data/lib/kowl/templates/tests/minitest/models/user_test.rb +15 -0
- data/lib/kowl/templates/tests/minitest/policies/login_activity_policy_test.rb +7 -0
- data/lib/kowl/templates/tests/minitest/policies/user_policy_test.rb +7 -0
- data/lib/kowl/templates/tests/minitest/support/capybara.rb +38 -0
- data/lib/kowl/templates/tests/minitest/support/database_cleaner.rb +20 -0
- data/lib/kowl/templates/tests/minitest/support/database_cleaner_support.rb +15 -0
- data/lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb +21 -0
- data/lib/kowl/templates/tests/minitest/support/devise.rb +16 -0
- data/lib/kowl/templates/tests/minitest/support/factories.rb +6 -0
- data/lib/kowl/templates/tests/minitest/support/formulaic.rb +8 -0
- data/lib/kowl/templates/tests/minitest/support/helpers/devise_helper.rb +57 -0
- data/lib/kowl/templates/tests/minitest/support/papertrail.rb +17 -0
- data/lib/kowl/templates/tests/minitest/support/pundit.rb +0 -0
- data/lib/kowl/templates/tests/minitest/support/shoulda.rb +11 -0
- data/lib/kowl/templates/tests/minitest/support/simplecov.rb +8 -0
- data/lib/kowl/templates/tests/minitest/test_helper.rb +17 -0
- data/lib/kowl/templates/tests/rspec/README.md +9 -0
- data/lib/kowl/templates/tests/rspec/controllers/admin/application_controller_spec.rb +12 -0
- data/lib/kowl/templates/tests/rspec/controllers/admin/users_controller_spec.rb +14 -0
- data/lib/kowl/templates/tests/rspec/controllers/pages_controller_spec.rb +10 -0
- data/lib/kowl/templates/tests/rspec/features/README.md +15 -0
- data/lib/kowl/templates/tests/rspec/features/visitor_sign_up_spec.rb +25 -0
- data/lib/kowl/templates/tests/rspec/helpers/application_helper_spec.rb +7 -0
- data/lib/kowl/templates/tests/rspec/helpers/pages_helper_spec.rb +15 -0
- data/lib/kowl/templates/tests/rspec/models/login_activity_spec.rb +11 -0
- data/lib/kowl/templates/tests/rspec/models/user_spec.rb +21 -0
- data/lib/kowl/templates/tests/rspec/policies/login_activity_policy_spec.rb +59 -0
- data/lib/kowl/templates/tests/rspec/policies/user_policy_spec.rb +56 -0
- data/lib/kowl/templates/tests/rspec/rails_helper.rb +72 -0
- data/lib/kowl/templates/tests/rspec/requests/pages_spec.rb +11 -0
- data/lib/kowl/templates/tests/rspec/spec_helper.rb +96 -0
- data/lib/kowl/templates/tests/rspec/support/bullet.rb +17 -0
- data/lib/kowl/templates/tests/rspec/support/capybara.rb +37 -0
- data/lib/kowl/templates/tests/rspec/support/controller_testing.rb +10 -0
- data/lib/kowl/templates/tests/rspec/support/database_cleaner.rb +55 -0
- data/lib/kowl/templates/tests/rspec/support/deferred_garbage_collection.rb +32 -0
- data/lib/kowl/templates/tests/rspec/support/devise.rb +21 -0
- data/lib/kowl/templates/tests/rspec/support/factories.rb +5 -0
- data/lib/kowl/templates/tests/rspec/support/formulaic.rb +8 -0
- data/lib/kowl/templates/tests/rspec/support/helpers/devise_helpers.rb +56 -0
- data/lib/kowl/templates/tests/rspec/support/papertrail.rb +5 -0
- data/lib/kowl/templates/tests/rspec/support/pi_ci.rb +6 -0
- data/lib/kowl/templates/tests/rspec/support/pundit.rb +6 -0
- data/lib/kowl/templates/tests/rspec/support/shoulda.rb +10 -0
- data/lib/kowl/templates/tests/rspec/support/sidekiq.rb +10 -0
- data/lib/kowl/templates/tests/rspec/support/simplecov.rb +7 -0
- data/lib/kowl/templates/tests/rspec/support/warden.rb +8 -0
- data/lib/kowl/templates/text_files/AUTHORS.md +4 -0
- data/lib/kowl/templates/text_files/CHANGELOG.md.tt +12 -0
- data/lib/kowl/templates/text_files/CODE_OF_CONDUCT.md +76 -0
- data/lib/kowl/templates/text_files/TODO.md +7 -0
- data/lib/kowl/templates/text_files/VERSION +1 -0
- data/lib/kowl/templates/text_files/humans.txt.tt +15 -0
- data/lib/kowl/templates/text_files/robots.txt.tt +6 -0
- data/lib/kowl/templates/text_files/security.txt +6 -0
- data/lib/kowl/version.rb +9 -0
- data/lib/kowl.rb +18 -0
- metadata +404 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
attributes:
|
2
|
+
- content
|
3
|
+
- primary_key
|
4
|
+
- timestamp
|
5
|
+
- foreign_key
|
6
|
+
- inheritance
|
7
|
+
disconnected: true
|
8
|
+
filename: <%= app_name.parameterize %>_erd
|
9
|
+
filetype: png
|
10
|
+
indirect: true
|
11
|
+
inheritance: true
|
12
|
+
markup: true
|
13
|
+
notation: bachman
|
14
|
+
orientation: horizontal
|
15
|
+
polymorphism: true
|
16
|
+
sort: true
|
17
|
+
warn: false
|
18
|
+
title: <%= app_name.titleize %> ERD Diagram
|
19
|
+
exclude: "ApplicationRecord,Version,PaperTrail::Version,ActiveRecord::InternalMetadata,ActiveRecord::SchemaMigration"
|
20
|
+
only: null
|
21
|
+
only_recursion_depth: null
|
22
|
+
prepend_primary: false
|
23
|
+
cluster: false
|
24
|
+
splines: spline
|
@@ -0,0 +1,20 @@
|
|
1
|
+
app/assets/javascripts/locale/**/app.js
|
2
|
+
bin/
|
3
|
+
build/
|
4
|
+
builds/
|
5
|
+
config/
|
6
|
+
coverage/
|
7
|
+
db/
|
8
|
+
lib/
|
9
|
+
log/
|
10
|
+
node_modules/
|
11
|
+
public/
|
12
|
+
scripts/
|
13
|
+
spec/
|
14
|
+
storage/
|
15
|
+
test/
|
16
|
+
tmp/
|
17
|
+
vendor/
|
18
|
+
karma.config.js
|
19
|
+
webpack.config.js
|
20
|
+
!.eslintrc.js
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// https://eslint.org/docs/rules/
|
2
|
+
// https://github.com/airbnb/javascript
|
3
|
+
{
|
4
|
+
"env": {
|
5
|
+
"browser": true,
|
6
|
+
"node": true,
|
7
|
+
"es6": true
|
8
|
+
},
|
9
|
+
|
10
|
+
extends: ['eslint:recommended'],
|
11
|
+
"parserOptions": {
|
12
|
+
"ecmaVersion": 6,
|
13
|
+
"sourceType": "module",
|
14
|
+
},
|
15
|
+
|
16
|
+
// https://eslint.org/docs/user-guide/configuring#configuring-rules
|
17
|
+
rules: {
|
18
|
+
'arrow-parens': ["error", "always"],
|
19
|
+
'arrow-spacing': ["error", { "before": true, "after": true }],
|
20
|
+
'block-spacing': [2, "always"],
|
21
|
+
'comma-dangle': ["error", "never"],
|
22
|
+
'keyword-spacing': 2,
|
23
|
+
'max-len': ["error", { "ignoreComments": true,
|
24
|
+
"ignoreTrailingComments": true}],
|
25
|
+
'no-unused-vars': 0, // allow functions to have unused variables
|
26
|
+
'object-curly-spacing': [2, "always"],
|
27
|
+
'semi': [2, 'always'],
|
28
|
+
'space-before-blocks': 2,
|
29
|
+
'space-before-function-paren': [2,'never']
|
30
|
+
}
|
31
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
exclude_paths:
|
2
|
+
- 'app/assets/**/**'
|
3
|
+
- 'app/javascript/**/**'
|
4
|
+
- 'bin/**/**'
|
5
|
+
- 'coverage/**/**'
|
6
|
+
- 'db/**/*.rb'
|
7
|
+
- 'doc/**/**'
|
8
|
+
- 'log/**/**'
|
9
|
+
- 'node_modulse/**/**'
|
10
|
+
- 'public/**/**'
|
11
|
+
- 'storage/**/**'
|
12
|
+
- 'tmp/**/**'
|
13
|
+
- 'vendor/**/*.rb'
|
14
|
+
- '**.yml'
|
@@ -0,0 +1 @@
|
|
1
|
+
procfile: Procfile.dev
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
2
|
+
#
|
3
|
+
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
+
# or operating system, you probably want to add a global ignore instead:
|
5
|
+
# git config --global core.excludesfile '~/.gitignore_global'
|
6
|
+
|
7
|
+
# Ignore OS based config files
|
8
|
+
*.swp
|
9
|
+
*.Thumbs.db
|
10
|
+
*.DS_Store
|
11
|
+
*/.DS_Store
|
12
|
+
.backup
|
13
|
+
.idea
|
14
|
+
.local
|
15
|
+
.project
|
16
|
+
.vscode
|
17
|
+
dump.rdb
|
18
|
+
|
19
|
+
# Ignore Rails generated caching files
|
20
|
+
.bundle/
|
21
|
+
cache/
|
22
|
+
coverage/
|
23
|
+
.sass-cache/
|
24
|
+
vendor/bundle
|
25
|
+
vendor/cache
|
26
|
+
|
27
|
+
# Ignore basic notes, docs, etc
|
28
|
+
docs/*
|
29
|
+
|
30
|
+
# Ignore Generated files, that should be build when pushing to production
|
31
|
+
public/assets/*
|
32
|
+
public/javascripts/*.js
|
33
|
+
public/packs
|
34
|
+
public/stylesheets/*.css
|
35
|
+
|
36
|
+
# Ignore the default SQLite database.
|
37
|
+
*.sql
|
38
|
+
/db/*.sqlite3
|
39
|
+
/db/*.sqlite3-journal
|
40
|
+
db/database.sqlite.yml
|
41
|
+
db/database.oracle.yml
|
42
|
+
db/data/seed.rb
|
43
|
+
db/scheme.rb
|
44
|
+
|
45
|
+
# Ignore Vims files
|
46
|
+
*~
|
47
|
+
*.swp
|
48
|
+
|
49
|
+
# Ignore all logfiles and tempfiles.
|
50
|
+
.byebug_history
|
51
|
+
/log/*
|
52
|
+
/tmp/*
|
53
|
+
!/log/.keep
|
54
|
+
!/tmp/.keep
|
55
|
+
|
56
|
+
# Ignore uploaded files in development
|
57
|
+
/storage/*
|
58
|
+
!/storage/.keep
|
59
|
+
|
60
|
+
# Node / Yarn package files
|
61
|
+
node_modules
|
62
|
+
node_modules/
|
63
|
+
yarn-error.log
|
64
|
+
|
65
|
+
# Ignore master key for decrypting credentials and more.
|
66
|
+
/config/master.key
|
67
|
+
|
68
|
+
# Ignore application based files
|
69
|
+
.vagrant
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# src: https://github.com/sds/haml-lint
|
2
|
+
# => https://github.com/sds/haml-lint/blob/master/config/default.yml
|
3
|
+
# sample: https://github.com/gitlabhq/gitlabhq/blob/master/.haml-lint.yml
|
4
|
+
|
5
|
+
skip_frontmatter: false
|
6
|
+
exclude:
|
7
|
+
- 'bin/*'
|
8
|
+
- 'config/**/*'
|
9
|
+
- 'coverage/**/*'
|
10
|
+
- 'db/**/*'
|
11
|
+
- 'log/**/*'
|
12
|
+
- 'node_modules/**/*'
|
13
|
+
- 'public/**/*'
|
14
|
+
- 'spec/**/*'
|
15
|
+
- 'storage/**/*''
|
16
|
+
- 'test/**/*'
|
17
|
+
- 'tmp/**/*'
|
18
|
+
- 'vendor/**/*'
|
19
|
+
|
20
|
+
|
21
|
+
linters:
|
22
|
+
LineLength:
|
23
|
+
enabled: false
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# https://gist.github.com/wzup/fc3254562236c1ec3f69
|
2
|
+
# https://github.com/beautify-web/js-beautify/blob/master/jsbeautifyrc
|
3
|
+
{
|
4
|
+
"end-with-newline": true,
|
5
|
+
"indent_char": " ",
|
6
|
+
"indent_level": 0,
|
7
|
+
"indent_size": 2,
|
8
|
+
"indent_with_tabs": false,
|
9
|
+
"indent_handlebars": true,
|
10
|
+
"jslint_happy": true,
|
11
|
+
"max_preserve_newlines": 2,
|
12
|
+
"object": {},
|
13
|
+
"other": " ",
|
14
|
+
"preserve_newlines": true,
|
15
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
12
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# https://prettier.io/docs/en/ignore.html
|
2
|
+
# https://github.com/gitlabhq/gitlabhq/blob/master/.prettierignore
|
3
|
+
app/assets/javascripts/locale/**/app.js
|
4
|
+
app/assets/stylesheets/vendor/
|
5
|
+
node_modules/
|
6
|
+
package.json
|
7
|
+
plugins/**/assets/stylesheets/vendor/
|
8
|
+
public/
|
9
|
+
storage/
|
10
|
+
tmp/
|
11
|
+
vendor/
|
12
|
+
build
|
13
|
+
.build
|
14
|
+
|
15
|
+
# ignore stylesheets for now as this clashes with our linter
|
16
|
+
*.css
|
17
|
+
*.scss
|
18
|
+
|
19
|
+
# Ignore locale (i18n config) files
|
20
|
+
config/locales/**/*.yml
|
21
|
+
!config/locales/**/*.en.yml
|
@@ -0,0 +1,62 @@
|
|
1
|
+
// https://prettier.io/
|
2
|
+
// http://json.schemastore.org/prettierrc
|
3
|
+
// https://github.com/prettier/prettier-atom
|
4
|
+
// https://prettier.io/docs/en/configuration.html
|
5
|
+
// https://github.com/obartra/prettierrc/blob/master/example/.prettierrc
|
6
|
+
module.exports = {
|
7
|
+
"eslintIntegration": true,
|
8
|
+
"bracketSpacing": true,
|
9
|
+
"useTabs": false, // Indent lines with tabs instead of spaces.
|
10
|
+
"printWidth": 80, // Specify the length of line that the printer will wrap on.
|
11
|
+
"tabWidth": 2, // Specify the number of spaces per indentation-level.
|
12
|
+
"singleQuote": true, // Use single quotes instead of double quotes.
|
13
|
+
/**
|
14
|
+
* Print trailing commas wherever possible.
|
15
|
+
* Valid options:
|
16
|
+
* - "none" - no trailing commas
|
17
|
+
* - "es5" - trailing commas where valid in ES5 (objects, arrays, etc)
|
18
|
+
* - "all" - trailing commas wherever possible (function arguments)
|
19
|
+
*/
|
20
|
+
// "trailingComma": "none",
|
21
|
+
"trailingComma":"es5",
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Do not print spaces between brackets.
|
25
|
+
* If true, puts the > of a multi-line jsx element at the end of the last line instead of being
|
26
|
+
* alone on the next line
|
27
|
+
*/
|
28
|
+
"jsxBracketSameLine": false,
|
29
|
+
/**
|
30
|
+
* Specify which parse to use.
|
31
|
+
* Valid options:
|
32
|
+
* - "flow"
|
33
|
+
* - "babylon"
|
34
|
+
*/
|
35
|
+
"parser": "babylon",
|
36
|
+
/**
|
37
|
+
* Do not print semicolons, except at the beginning of lines which may need them.
|
38
|
+
* Valid options:
|
39
|
+
* - true - add a semicolon at the end of every line
|
40
|
+
* - false - only add semicolons at the beginning of lines that may introduce ASI failures
|
41
|
+
*/
|
42
|
+
"noSemi": true,
|
43
|
+
"semi": true,
|
44
|
+
/**
|
45
|
+
* Add additional logging from prettierrc (not prettier itself).
|
46
|
+
* Defaults to false
|
47
|
+
* Valid options:
|
48
|
+
* - true - enable additional logging
|
49
|
+
* - false - disable additional logging
|
50
|
+
*/
|
51
|
+
"rcVerbose": true,
|
52
|
+
|
53
|
+
// All files specified will be figured using the override values
|
54
|
+
"overrides": [
|
55
|
+
{
|
56
|
+
"files": ["**/app/**/*", "**/spec/**/*"],
|
57
|
+
"options": {
|
58
|
+
"trailingComma": "all"
|
59
|
+
}
|
60
|
+
}
|
61
|
+
]
|
62
|
+
};
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require:
|
2
|
+
- rubocop-performance
|
3
|
+
- rubocop-rails
|
4
|
+
<%- if options[:test_engine] == 'minitest' && !options[:skip_tests] -%>
|
5
|
+
- rubocop-minitest
|
6
|
+
<%- elsif options[:test_engine] == 'rspec' && !options[:skip_tests] -%>
|
7
|
+
- rubocop-rspec
|
8
|
+
<%- end -%>
|
9
|
+
|
10
|
+
AllCops:
|
11
|
+
NewCops: disable
|
12
|
+
Exclude:
|
13
|
+
- Aptfile
|
14
|
+
- Brewfile
|
15
|
+
- Gemfile
|
16
|
+
- Guardfile
|
17
|
+
- Rakefile
|
18
|
+
- '.**'
|
19
|
+
- '**/*.md'
|
20
|
+
- '**/**.yml'
|
21
|
+
- 'app/assets/**/*'
|
22
|
+
- 'benches/**/*'
|
23
|
+
- 'bin/**/*'
|
24
|
+
- 'config/**/*'
|
25
|
+
- 'db/**/*'
|
26
|
+
- 'docs/**/*'
|
27
|
+
- 'hidden/**/*'
|
28
|
+
- 'lib/**/*'
|
29
|
+
- 'log/**/*'
|
30
|
+
- 'node_modules/**/*'
|
31
|
+
- 'pkg/**/*'
|
32
|
+
- 'public/**/*
|
33
|
+
- 'storage/**/*'
|
34
|
+
- 'test/**/*'
|
35
|
+
- 'spec/rails_helper.rb'
|
36
|
+
- 'spec/spec_helper.rb'
|
37
|
+
- 'spec/support/**/**'
|
38
|
+
- 'tmp/**/*'
|
39
|
+
- 'vendor/**/*'
|
40
|
+
TargetRubyVersion: <%= RUBY_VERSION.to_f %>
|
41
|
+
UseCache: true
|
42
|
+
Layout/LineLength:
|
43
|
+
AllowURI: true
|
44
|
+
Enabled: false
|
45
|
+
Metrics/AbcSize:
|
46
|
+
Max: 42
|
47
|
+
Metrics/BlockLength:
|
48
|
+
Enabled: false
|
49
|
+
Metrics/CyclomaticComplexity:
|
50
|
+
Max: 12
|
51
|
+
Metrics/MethodLength:
|
52
|
+
CountComments: false
|
53
|
+
Max: 43
|
54
|
+
Metrics/ModuleLength:
|
55
|
+
Max: 164
|
56
|
+
Metrics/PerceivedComplexity:
|
57
|
+
Max: 14
|
58
|
+
Style/Documentation:
|
59
|
+
Enabled: false
|
60
|
+
Style/EmptyMethod:
|
61
|
+
EnforcedStyle: expanded
|
62
|
+
Style/HashEachMethods:
|
63
|
+
Enabled: false
|
64
|
+
Style/HashTransformValues:
|
65
|
+
Enabled: false
|
66
|
+
Style/HashTransformKeys:
|
67
|
+
Enabled: false
|
68
|
+
# Style/FrozenStringLiteralComment:
|
69
|
+
# Description: ">- Apply frozen_string_literal to the top of ruby files\nThis is for transitioniting from Ruby 2.3 to Ruby 3.0"
|
70
|
+
# Enabled: false
|
71
|
+
|
72
|
+
##############################
|
73
|
+
# Rails specific
|
74
|
+
##############################
|
75
|
+
Rails/HasManyOrHasOneDependent:
|
76
|
+
Enabled: false
|
77
|
+
Rails/InverseOf:
|
78
|
+
Enabled: false
|
@@ -0,0 +1,132 @@
|
|
1
|
+
# https://github.com/brigade/scss-lint/blob/master/lib/scss_lint/linter/README.md
|
2
|
+
# https://github.com/tootsuite/mastodon/blob/master/.scss-lint.yml
|
3
|
+
# Exclude foreign made assets and stylesheets
|
4
|
+
exclude:
|
5
|
+
- 'lib/*'
|
6
|
+
- 'test/*'
|
7
|
+
- 'spec/*'
|
8
|
+
- 'storage/**/*'
|
9
|
+
- 'tmp/**/*'
|
10
|
+
- 'vender/*'
|
11
|
+
|
12
|
+
linters:
|
13
|
+
# Reports when you use improper spacing around ! (the "bang") in !default,
|
14
|
+
# !global, !important, and !optional flags.
|
15
|
+
BangFormat:
|
16
|
+
enabled: true
|
17
|
+
|
18
|
+
# Whether or not to prefer `border: 0` over `border: none`.
|
19
|
+
BorderZero:
|
20
|
+
enabled: true
|
21
|
+
|
22
|
+
# this allows you to use #fff rather than specifing a color through a variable
|
23
|
+
ColorVariable:
|
24
|
+
enabled: false
|
25
|
+
|
26
|
+
# Allow you to use /* multiline */ comments rather and limited to //
|
27
|
+
Comment:
|
28
|
+
enabled: false
|
29
|
+
|
30
|
+
# Reports when you define the same property twice in a single rule set.
|
31
|
+
DuplicateProperty:
|
32
|
+
enabled: true
|
33
|
+
ignore_consecutive:
|
34
|
+
- cursor
|
35
|
+
|
36
|
+
# Separate rule, function, and mixin declarations with empty lines.
|
37
|
+
EmptyLineBetweenBlocks:
|
38
|
+
enabled: true
|
39
|
+
|
40
|
+
# Reports when you have an empty rule set.
|
41
|
+
EmptyRule:
|
42
|
+
enabled: true
|
43
|
+
|
44
|
+
# Files should always have a final newline. This results in better diffs
|
45
|
+
# when adding lines to the file, since SCM systems such as git won't
|
46
|
+
# think that you touched the last line.
|
47
|
+
FinalNewline:
|
48
|
+
enabled: true
|
49
|
+
|
50
|
+
# HEX color values should use lower-case colors to differentiate between
|
51
|
+
# letters and numbers, e.g. `#E3E3E3` vs. `#e3e3e3`.
|
52
|
+
HexNotation:
|
53
|
+
enabled: true
|
54
|
+
|
55
|
+
# allow #ids to be used
|
56
|
+
IdSelector:
|
57
|
+
enabled: false
|
58
|
+
|
59
|
+
# allows you to use !important
|
60
|
+
ImportantRule:
|
61
|
+
enabled: false
|
62
|
+
|
63
|
+
Indentation:
|
64
|
+
severity: warning
|
65
|
+
width: 2
|
66
|
+
|
67
|
+
# Don't write leading zeros for numeric values with a decimal point.
|
68
|
+
LeadingZero:
|
69
|
+
enabled: false
|
70
|
+
|
71
|
+
# Avoid nesting selectors too deeply.
|
72
|
+
NestingDepth:
|
73
|
+
enabled: true
|
74
|
+
max_depth: 6 # default is 3, revert back to 3 after cleanup
|
75
|
+
ignore_parent_selectors: false
|
76
|
+
|
77
|
+
# Reports when you use an unknown or disabled CSS property
|
78
|
+
# (ignoring vendor-prefixed properties).
|
79
|
+
PropertySpelling:
|
80
|
+
enabled: false
|
81
|
+
|
82
|
+
# Avoid qualifying elements in selectors (also known as "tag-qualifying").
|
83
|
+
QualifyingElement:
|
84
|
+
enabled: false
|
85
|
+
allow_element_with_attribute: false
|
86
|
+
allow_element_with_class: false
|
87
|
+
allow_element_with_id: false
|
88
|
+
|
89
|
+
# Don't write selectors with a depth of applicability greater than max_depth
|
90
|
+
SelectorDepth:
|
91
|
+
enabled: true
|
92
|
+
max_depth: 6 # default is 3, revert back to 3 after cleanup
|
93
|
+
|
94
|
+
# ENABLE: currently disabled to remove errors from addons (icheckbox, etc.)
|
95
|
+
SelectorFormat:
|
96
|
+
enabled: true
|
97
|
+
|
98
|
+
# Prefer the shortest shorthand form possible for properties that support it.
|
99
|
+
Shorthand:
|
100
|
+
enabled: true
|
101
|
+
|
102
|
+
# Each property should have its own line, except in the special case of
|
103
|
+
# single line rulesets.
|
104
|
+
SingleLinePerProperty:
|
105
|
+
enabled: true
|
106
|
+
allow_single_line_rule_sets: true
|
107
|
+
|
108
|
+
# allow selectors to be listed all in the same line: h1, h2, h3
|
109
|
+
SingleLinePerSelector:
|
110
|
+
enabled: false
|
111
|
+
|
112
|
+
# Commas in lists should be followed by a space.
|
113
|
+
SpaceAfterComma:
|
114
|
+
enabled: false
|
115
|
+
|
116
|
+
# Properties should be formatted with a single space separating the colon
|
117
|
+
# from the property's value.
|
118
|
+
SpaceAfterPropertyColon:
|
119
|
+
enabled: true
|
120
|
+
|
121
|
+
# Property values, @extend, @include, and @import directives, and variable
|
122
|
+
# declarations should always end with a semicolon.
|
123
|
+
TrailingSemicolon:
|
124
|
+
enabled: true
|
125
|
+
|
126
|
+
# avoid errors caused by using VenderPrefixes
|
127
|
+
VendorPrefix:
|
128
|
+
enabled: false
|
129
|
+
|
130
|
+
# Omit length units on zero values, e.g. `0px` vs. `0`.
|
131
|
+
ZeroUnit:
|
132
|
+
enabled: true
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'simplecov'
|
4
|
+
SimpleCov.start('rails') do
|
5
|
+
add_group 'Policies', 'app/policies'
|
6
|
+
|
7
|
+
add_filter('/bin/')
|
8
|
+
add_filter('/config/')
|
9
|
+
add_filter('/db/')
|
10
|
+
add_filter('/docs/')
|
11
|
+
add_filter('/lib/tasks/auto_annotate_models.rake')
|
12
|
+
add_filter('/lib/tasks/coverage.rake')
|
13
|
+
add_filter('/node_modules/')
|
14
|
+
add_filter('/public/')
|
15
|
+
add_filter('/storage/')
|
16
|
+
add_filter('/tmp/')
|
17
|
+
end
|
18
|
+
SimpleCov.minimum_coverage(90)
|
19
|
+
SimpleCov.use_merging(false)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# configuration for using slim-lint
|
2
|
+
# src: https://github.com/sds/slim-lint
|
3
|
+
# => https://github.com/sds/slim-lint/blob/master/config/default.yml
|
4
|
+
exclude:
|
5
|
+
- app/assets/*
|
6
|
+
- /bin/**/*
|
7
|
+
- db/**/*
|
8
|
+
- config/**/*
|
9
|
+
- coverage/**/*
|
10
|
+
- db/**/*
|
11
|
+
- log/**/*
|
12
|
+
- node_modules/**/*
|
13
|
+
- public/*
|
14
|
+
- spec/*
|
15
|
+
- storage/*
|
16
|
+
- test/*
|
17
|
+
- tmp/*
|
18
|
+
|
19
|
+
|
20
|
+
linters:
|
21
|
+
LineLength:
|
22
|
+
enabled: false
|
23
|
+
#max: 100
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# https://yarnpkg.com/lang/en/docs/cli/autoclean/
|
2
|
+
# https://github.com/tootsuite/mastodon/blob/master/.yarnclean
|
3
|
+
|
4
|
+
# test directories
|
5
|
+
__tests__
|
6
|
+
test
|
7
|
+
tests
|
8
|
+
powered-test
|
9
|
+
|
10
|
+
# asset directories
|
11
|
+
docs
|
12
|
+
doc
|
13
|
+
website
|
14
|
+
images
|
15
|
+
# assets
|
16
|
+
|
17
|
+
# editor configs
|
18
|
+
.idea
|
19
|
+
.vscode
|
20
|
+
|
21
|
+
# examples
|
22
|
+
example
|
23
|
+
examples
|
24
|
+
|
25
|
+
# code coverage directories
|
26
|
+
coverage
|
27
|
+
.nyc_output
|
28
|
+
|
29
|
+
# configs
|
30
|
+
.gitattributes
|
31
|
+
.editorconfig
|
32
|
+
.*ignore
|
33
|
+
.eslintrc
|
34
|
+
.jshintrc
|
35
|
+
.flowconfig
|
36
|
+
.documentup.json
|
37
|
+
.yarn-metadata.json
|
38
|
+
|
39
|
+
|
40
|
+
# misc
|
41
|
+
*.gz
|
42
|
+
*.md
|
43
|
+
|
44
|
+
# for specific ignore
|
45
|
+
!.svgo.yml
|
46
|
+
!sass-lint/**/*.yml
|