neeto-commons-backend 1.0.89
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.eslintignore +14 -0
- data/.eslintrc.js +87 -0
- data/.husky/helpers/verify_neeto_audit.sh +18 -0
- data/.husky/pre-push +5 -0
- data/.neetoci/neetoci.yml +26 -0
- data/.prettierrc.js +15 -0
- data/.rubocop.yml +626 -0
- data/.ruby-version +1 -0
- data/.semaphore/semaphore.yml +32 -0
- data/.semaphore/staging-deploy.yml +23 -0
- data/Gemfile +92 -0
- data/Gemfile.lock +461 -0
- data/README.md +286 -0
- data/Rakefile +18 -0
- data/app/controllers/api/base_controller.rb +6 -0
- data/app/controllers/neeto_commons_backend/api/base_controller.rb +9 -0
- data/app/controllers/neeto_commons_backend/api/direct_uploads_controller.rb +57 -0
- data/app/controllers/neeto_commons_backend/app_versions_controller.rb +20 -0
- data/app/controllers/neeto_commons_backend/failures_controller.rb +29 -0
- data/app/controllers/neeto_commons_backend/health_check_controller.rb +9 -0
- data/app/controllers/neeto_commons_backend/well_knowns_controller.rb +13 -0
- data/app/mailers/neeto_commons_backend/application_mailer.rb +22 -0
- data/app/models/concerns/neeto_commons_backend/sluggable.rb +27 -0
- data/app/models/concerns/neeto_commons_backend/soft_deletable.rb +20 -0
- data/app/services/neeto_commons_backend/sample_data/common/admin_service.rb +26 -0
- data/app/services/neeto_commons_backend/sample_data/common/app_organization_service.rb +11 -0
- data/app/services/neeto_commons_backend/sample_data/common/base.rb +49 -0
- data/app/services/neeto_commons_backend/sample_data/common/database_cleanup_service.rb +13 -0
- data/app/services/neeto_commons_backend/sample_data/common/loader_service.rb +30 -0
- data/app/services/neeto_commons_backend/sample_data/common/neeto_team_members_service.rb +16 -0
- data/app/services/neeto_commons_backend/sample_data/common/organization_base.rb +36 -0
- data/app/services/neeto_commons_backend/sample_data/common/organization_service.rb +11 -0
- data/app/services/neeto_commons_backend/source_map_publish_service.rb +47 -0
- data/app/views/neeto_commons_backend/failures/show.html.erb +1 -0
- data/app/views/shared/_common.html.erb +8 -0
- data/app/views/shared/_neeto_engineering_replay_widget.html.erb +31 -0
- data/app/views/shared/_neeto_widget.html.erb +30 -0
- data/app/workers/neeto_commons_backend/base_workers/auth.rb +9 -0
- data/app/workers/neeto_commons_backend/base_workers/base.rb +52 -0
- data/app/workers/neeto_commons_backend/base_workers/default.rb +8 -0
- data/app/workers/neeto_commons_backend/base_workers/low.rb +9 -0
- data/app/workers/neeto_commons_backend/base_workers/urgent.rb +9 -0
- data/app/workers/neeto_commons_backend/purge_unattached_files_worker.rb +11 -0
- data/babel.config.js +47 -0
- data/bin/console +15 -0
- data/bin/rails +16 -0
- data/bin/setup +8 -0
- data/config/brakeman.ignore +52 -0
- data/config/locales/en.yml +5 -0
- data/docs/carriers/README.md +5 -0
- data/docs/controller_concerns/README.md +34 -0
- data/docs/controllers/README.md +27 -0
- data/docs/gemfiles/README.md +5 -0
- data/docs/helpers/README.md +21 -0
- data/docs/mailers/README.md +5 -0
- data/docs/model_concerns/README.md +39 -0
- data/docs/routes/README.md +44 -0
- data/docs/scripts/README.md +5 -0
- data/docs/semaphore/README.md +5 -0
- data/docs/services/README.md +23 -0
- data/docs/workers/README.md +32 -0
- data/docs/workflows/README.md +9 -0
- data/lib/Rakefile +4 -0
- data/lib/neeto-commons-backend.rb +62 -0
- data/lib/neeto_commons_backend/.circleci/config.yml +84 -0
- data/lib/neeto_commons_backend/.slugignore +17 -0
- data/lib/neeto_commons_backend/carriers/app_url_carrier.rb +71 -0
- data/lib/neeto_commons_backend/common_files/.bundler-version +1 -0
- data/lib/neeto_commons_backend/common_files/.editorconfig +10 -0
- data/lib/neeto_commons_backend/common_files/.erb-lint.yml +20 -0
- data/lib/neeto_commons_backend/common_files/.eslintignore +14 -0
- data/lib/neeto_commons_backend/common_files/.eslintrc.js +2 -0
- data/lib/neeto_commons_backend/common_files/.gitignore +132 -0
- data/lib/neeto_commons_backend/common_files/.husky/helpers/lint_staged.sh +5 -0
- data/lib/neeto_commons_backend/common_files/.husky/helpers/prevent_conflict_markers.sh +35 -0
- data/lib/neeto_commons_backend/common_files/.husky/helpers/prevent_pushing_to_main.sh +24 -0
- data/lib/neeto_commons_backend/common_files/.husky/helpers/verify_neeto_audit.sh +17 -0
- data/lib/neeto_commons_backend/common_files/.husky/pre-commit +9 -0
- data/lib/neeto_commons_backend/common_files/.husky/pre-push +7 -0
- data/lib/neeto_commons_backend/common_files/.node-version +1 -0
- data/lib/neeto_commons_backend/common_files/.nvmrc +1 -0
- data/lib/neeto_commons_backend/common_files/.postcssrc.yml +6 -0
- data/lib/neeto_commons_backend/common_files/.prettierrc.js +1 -0
- data/lib/neeto_commons_backend/common_files/.rubocop.yml +625 -0
- data/lib/neeto_commons_backend/common_files/.ruby-version +1 -0
- data/lib/neeto_commons_backend/common_files/.semaphore/commands/run_eslint_on_modified_files.sh +5 -0
- data/lib/neeto_commons_backend/common_files/.vscode/extensions.json +10 -0
- data/lib/neeto_commons_backend/common_files/.vscode/settings.json +21 -0
- data/lib/neeto_commons_backend/common_files/Dockerfile.dev +50 -0
- data/lib/neeto_commons_backend/common_files/app/javascript/jsconfig.json +62 -0
- data/lib/neeto_commons_backend/common_files/app/javascript/src/types.d.ts +36 -0
- data/lib/neeto_commons_backend/common_files/babel.config.js +1 -0
- data/lib/neeto_commons_backend/common_files/bin/bundle +5 -0
- data/lib/neeto_commons_backend/common_files/bin/rails +6 -0
- data/lib/neeto_commons_backend/common_files/bin/rake +6 -0
- data/lib/neeto_commons_backend/common_files/bin/setup +40 -0
- data/lib/neeto_commons_backend/common_files/bin/update +33 -0
- data/lib/neeto_commons_backend/common_files/bin/webpacker +17 -0
- data/lib/neeto_commons_backend/common_files/bin/webpacker-dev-server +17 -0
- data/lib/neeto_commons_backend/common_files/bin/yarn +19 -0
- data/lib/neeto_commons_backend/common_files/cypress-tests/.eslintrc.js +57 -0
- data/lib/neeto_commons_backend/common_files/cypress-tests/cypress/plugins/index.js +63 -0
- data/lib/neeto_commons_backend/common_files/github/workflows/auto_update_prs_with_latest_master.yml +21 -0
- data/lib/neeto_commons_backend/common_files/neeto_gems/github/workflows/bump_version.yml +51 -0
- data/lib/neeto_commons_backend/common_files/newrelic.yml +31 -0
- data/lib/neeto_commons_backend/common_files/package-common.json +119 -0
- data/lib/neeto_commons_backend/common_files/roles.yml +34 -0
- data/lib/neeto_commons_backend/common_files/semaphore/semaphore.yml +58 -0
- data/lib/neeto_commons_backend/common_files/sitemap.xml +15 -0
- data/lib/neeto_commons_backend/common_files/test/support/assertion_support.rb +9 -0
- data/lib/neeto_commons_backend/common_files/webpacker.yml +90 -0
- data/lib/neeto_commons_backend/config/secrets.yml +169 -0
- data/lib/neeto_commons_backend/controllers/concerns/api_exceptions.rb +83 -0
- data/lib/neeto_commons_backend/controllers/concerns/api_helpers.rb +9 -0
- data/lib/neeto_commons_backend/controllers/concerns/api_responders.rb +33 -0
- data/lib/neeto_commons_backend/controllers/concerns/authenticatable.rb +51 -0
- data/lib/neeto_commons_backend/controllers/concerns/honeybadger_context.rb +17 -0
- data/lib/neeto_commons_backend/controllers/concerns/store_user_location.rb +23 -0
- data/lib/neeto_commons_backend/cypress/cypress.review.json +13 -0
- data/lib/neeto_commons_backend/cypress/jsconfig.json +17 -0
- data/lib/neeto_commons_backend/cypress/package.json +51 -0
- data/lib/neeto_commons_backend/cypress/resolve.js +16 -0
- data/lib/neeto_commons_backend/cypress/webpack.config.js +21 -0
- data/lib/neeto_commons_backend/engine.rb +6 -0
- data/lib/neeto_commons_backend/environments/application.rb +33 -0
- data/lib/neeto_commons_backend/environments/development.rb +46 -0
- data/lib/neeto_commons_backend/environments/heroku.rb +35 -0
- data/lib/neeto_commons_backend/environments/production.rb +45 -0
- data/lib/neeto_commons_backend/environments/staging.rb +43 -0
- data/lib/neeto_commons_backend/environments/test.rb +29 -0
- data/lib/neeto_commons_backend/gemfiles/Gemfile.common.rb +240 -0
- data/lib/neeto_commons_backend/helpers/auth_server_api.rb +92 -0
- data/lib/neeto_commons_backend/helpers/favicon.rb +18 -0
- data/lib/neeto_commons_backend/helpers/global_props.rb +76 -0
- data/lib/neeto_commons_backend/helpers/neeto_widget_helper.rb +19 -0
- data/lib/neeto_commons_backend/helpers/test_helper.rb +90 -0
- data/lib/neeto_commons_backend/initializers/_enable_extension_hack.rb +32 -0
- data/lib/neeto_commons_backend/initializers/assets.rb +11 -0
- data/lib/neeto_commons_backend/initializers/bullet.rb +26 -0
- data/lib/neeto_commons_backend/initializers/cache_store.rb +27 -0
- data/lib/neeto_commons_backend/initializers/common.rb +33 -0
- data/lib/neeto_commons_backend/initializers/cookies_serializer.rb +11 -0
- data/lib/neeto_commons_backend/initializers/cors.rb +16 -0
- data/lib/neeto_commons_backend/initializers/database_cleaner.rb +11 -0
- data/lib/neeto_commons_backend/initializers/datetime.rb +14 -0
- data/lib/neeto_commons_backend/initializers/email_setup.rb +25 -0
- data/lib/neeto_commons_backend/initializers/filter_parameter_logging.rb +11 -0
- data/lib/neeto_commons_backend/initializers/honeybadger.rb +23 -0
- data/lib/neeto_commons_backend/initializers/kaminari_config.rb +13 -0
- data/lib/neeto_commons_backend/initializers/mime_types.rb +12 -0
- data/lib/neeto_commons_backend/initializers/mini_profiler.rb +14 -0
- data/lib/neeto_commons_backend/initializers/neeto_email_prefixer.rb +40 -0
- data/lib/neeto_commons_backend/initializers/neeto_mail_interceptor.rb +35 -0
- data/lib/neeto_commons_backend/initializers/post_compilation.rb +17 -0
- data/lib/neeto_commons_backend/initializers/rack_attack.rb +38 -0
- data/lib/neeto_commons_backend/initializers/rack_deflater.rb +11 -0
- data/lib/neeto_commons_backend/initializers/rack_timeout.rb +15 -0
- data/lib/neeto_commons_backend/initializers/rails_email_preview.rb +21 -0
- data/lib/neeto_commons_backend/initializers/redis_client_patch.rb +18 -0
- data/lib/neeto_commons_backend/initializers/remove_backtrace_silencers.rb +11 -0
- data/lib/neeto_commons_backend/initializers/session_store.rb +21 -0
- data/lib/neeto_commons_backend/initializers/shared_redis.rb +13 -0
- data/lib/neeto_commons_backend/initializers/sidekiq.rb +46 -0
- data/lib/neeto_commons_backend/initializers/strong_migrations.rb +13 -0
- data/lib/neeto_commons_backend/initializers/wrap_parameters.rb +13 -0
- data/lib/neeto_commons_backend/models/concerns/devise_validator.rb +19 -0
- data/lib/neeto_commons_backend/railtie.rb +20 -0
- data/lib/neeto_commons_backend/routes/catch_all.rb +9 -0
- data/lib/neeto_commons_backend/routes/devise.rb +16 -0
- data/lib/neeto_commons_backend/routes/direct_uploads.rb +9 -0
- data/lib/neeto_commons_backend/routes/draw.rb +29 -0
- data/lib/neeto_commons_backend/routes/email_previews.rb +5 -0
- data/lib/neeto_commons_backend/routes/errors.rb +7 -0
- data/lib/neeto_commons_backend/routes/health.rb +8 -0
- data/lib/neeto_commons_backend/routes/letter_opener.rb +5 -0
- data/lib/neeto_commons_backend/routes/sidekiq.rb +22 -0
- data/lib/neeto_commons_backend/routes/well_knowns.rb +10 -0
- data/lib/neeto_commons_backend/scripts/sync_with_wheel.sh +54 -0
- data/lib/neeto_commons_backend/secrets_management.rb +41 -0
- data/lib/neeto_commons_backend/services/custom_domain_service.rb +40 -0
- data/lib/neeto_commons_backend/tasks/assets.rake +27 -0
- data/lib/neeto_commons_backend/tasks/before_assets_precompile.rake +13 -0
- data/lib/neeto_commons_backend/tasks/simplecov_coverage.rake +25 -0
- data/lib/neeto_commons_backend/version.rb +5 -0
- data/neeto-commons-backend.gemspec +52 -0
- data/package.json +31 -0
- data/yarn.lock +2530 -0
- metadata +497 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 077e17cb2efb5f3c8b07181f421bfaeb3dafd397869dbcefee4ecd2a287f3826
|
4
|
+
data.tar.gz: 2c1470a0386155ca9cd00725fcb40f74ac6e68f43658508bdf6a05202c37eea1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 47f37f3074aaaea24a74b3a81468e68fe7e0b470d5b016bc71e05b9958aa85dc06547debc9e6b73d5a3e84bad92a3cba32a602d5f2b9f8ad86aafc268cd37c0a
|
7
|
+
data.tar.gz: 3b9b41db1d2df60cc57a9a948728e1e25a0f4f4b40665594ff2980627dd800ac80507ab11f53762864a8a1dfc6912d8664208c0be06c44c4c866a8eeed8ee33e
|
data/.eslintignore
ADDED
data/.eslintrc.js
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
module.exports = {
|
2
|
+
env: {
|
3
|
+
browser: true, // window object etc part of browser are made available globally.
|
4
|
+
es2020: true, // to include BigInt support
|
5
|
+
es6: true,
|
6
|
+
commonjs: true,
|
7
|
+
node: true,
|
8
|
+
},
|
9
|
+
/*
|
10
|
+
* The order of extending each plugin matters a LOT!!
|
11
|
+
* Thus don't change order of items in this array
|
12
|
+
* unless you're sure of it.
|
13
|
+
*/
|
14
|
+
extends: [
|
15
|
+
"plugin:json/recommended",
|
16
|
+
"eslint:recommended",
|
17
|
+
"plugin:react/recommended",
|
18
|
+
"prettier",
|
19
|
+
],
|
20
|
+
settings: {
|
21
|
+
react: {
|
22
|
+
version: "detect",
|
23
|
+
},
|
24
|
+
},
|
25
|
+
parserOptions: {
|
26
|
+
ecmaFeatures: { jsx: true },
|
27
|
+
ecmaVersion: 2018,
|
28
|
+
sourceType: "module",
|
29
|
+
},
|
30
|
+
// babel-eslint is deprecated now. This is the latest package.
|
31
|
+
parser: "@babel/eslint-parser",
|
32
|
+
plugins: ["react", "prettier"],
|
33
|
+
rules: {
|
34
|
+
// auto-fixable: Respect all Prettier rules and apply it.
|
35
|
+
"prettier/prettier": "error",
|
36
|
+
// not-auto-fixable: No unused variables allowed.
|
37
|
+
"no-unused-vars": "error",
|
38
|
+
// not-auto-fixable: No undefined variables allowed.
|
39
|
+
"no-undef": "error",
|
40
|
+
// not-auto-fixable: Dont use console statements. Use logger which babel will remove during bundling.
|
41
|
+
"no-console": "error",
|
42
|
+
// not-auto-fixable: require `return` statements to either always or never specify values.
|
43
|
+
"consistent-return": "error",
|
44
|
+
// auto-fixable: disallows repeating variable name when declaring object properties.
|
45
|
+
"object-shorthand": "error",
|
46
|
+
// auto-fixable: sadly this doesn't support guard clauses yet.
|
47
|
+
"padding-line-between-statements": [
|
48
|
+
"error",
|
49
|
+
{ blankLine: "always", prev: "if", next: ["if", "return"] },
|
50
|
+
],
|
51
|
+
// auto-fixable: Single line statements needn't have any braces. But in all other cases enforce curly braces.
|
52
|
+
curly: ["error", "multi-line"],
|
53
|
+
// auto-fixable: Remove the else part, if the "if" or "else-if" chain has a return statement
|
54
|
+
"no-else-return": "error",
|
55
|
+
// auto-fixable: Requires trailing commas when the last element or property is in a different line than the closing ] or }
|
56
|
+
"comma-dangle": [
|
57
|
+
"error",
|
58
|
+
{
|
59
|
+
arrays: "always-multiline",
|
60
|
+
objects: "always-multiline",
|
61
|
+
imports: "always-multiline",
|
62
|
+
exports: "always-multiline",
|
63
|
+
functions: "never",
|
64
|
+
},
|
65
|
+
],
|
66
|
+
// auto-fixable: If a variable is never reassigned, using the const declaration is better.
|
67
|
+
"prefer-const": "error",
|
68
|
+
// auto-fixable: It is considered good practice to use the type-safe equality operators === and !==.
|
69
|
+
eqeqeq: "error",
|
70
|
+
// not-auto-fixable: Rule flags optional chaining expressions in positions where short-circuiting to undefined causes throwing a TypeError afterward.
|
71
|
+
"no-unsafe-optional-chaining": "error",
|
72
|
+
// auto-fixable-1-level-deep: Using nested ternary operators make the code unreadable. Use if/else or switch with if/else. If it's JSX then move it out into a function or a variable. It's fine to use nestedTernary in JSX when it makes code more readable.
|
73
|
+
"no-nested-ternary": "warn",
|
74
|
+
// auto-fixable: Enforces no braces where they can be omitted.
|
75
|
+
"arrow-body-style": ["error", "as-needed"],
|
76
|
+
// auto-fixable: Suggests using template literals instead of string concatenation.
|
77
|
+
"prefer-template": "error",
|
78
|
+
// auto-fixable: Disallows ternary operators when simpler alternatives exist.
|
79
|
+
"no-unneeded-ternary": ["error", { defaultAssignment: false }],
|
80
|
+
// not-auto-fixable: Enforces declaring default params last
|
81
|
+
"default-param-last": "error",
|
82
|
+
// not-auto-fixable: Remove redundant async-awaits
|
83
|
+
"no-return-await": "warn",
|
84
|
+
// not-auto-fixable: Disallow empty block statements
|
85
|
+
"no-empty": ["error", { allowEmptyCatch: true }],
|
86
|
+
},
|
87
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
print_running_neeto_audit() {
|
4
|
+
cat <<EOT
|
5
|
+
======================================================================================
|
6
|
+
Running:
|
7
|
+
|
8
|
+
bundle exec neeto-audit
|
9
|
+
======================================================================================
|
10
|
+
EOT
|
11
|
+
}
|
12
|
+
|
13
|
+
verify_neeto_audit() {
|
14
|
+
print_running_neeto_audit
|
15
|
+
|
16
|
+
bundle exec neeto-audit
|
17
|
+
}
|
18
|
+
|
data/.husky/pre-push
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
version: v1.0
|
2
|
+
name: neetoCi
|
3
|
+
global_job_config:
|
4
|
+
setup:
|
5
|
+
- checkout
|
6
|
+
- neetoci-version ruby 3.2.2
|
7
|
+
- neetoci-version node 18.12
|
8
|
+
- neetoci-service start postgres 13
|
9
|
+
- cp test/dummy/config/database.yml.ci test/dummy/config/database.yml
|
10
|
+
- bundle config set --local without 'development'
|
11
|
+
- cache restore
|
12
|
+
- bundle install --jobs 1
|
13
|
+
- yarn install
|
14
|
+
- cache store
|
15
|
+
- bundle exec rake db:create db:schema:load --trace
|
16
|
+
jobs:
|
17
|
+
- name: CiChecks
|
18
|
+
commands:
|
19
|
+
- bundle exec neeto-audit
|
20
|
+
- bundle exec rubocop
|
21
|
+
# For eslint not to read common_files configuration
|
22
|
+
- mv "lib/neeto_commons_backend/common_files/.eslintrc.js" "lib/neeto_commons_backend/common_files/eslintrc.js"
|
23
|
+
- mv "lib/neeto_commons_backend/common_files/.prettierrc.js" "lib/neeto_commons_backend/common_files/prettierrc.js"
|
24
|
+
- mv "lib/neeto_commons_backend/common_files/cypress-tests/.eslintrc.js" "lib/neeto_commons_backend/common_files/cypress-tests/eslintrc.js"
|
25
|
+
- lib/neeto_commons_backend/common_files/.semaphore/commands/run_eslint_on_modified_files.sh
|
26
|
+
- bundle exec rails test
|
data/.prettierrc.js
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
module.exports = {
|
2
|
+
trailingComma: "es5",
|
3
|
+
arrowParens: "avoid",
|
4
|
+
printWidth: 80,
|
5
|
+
tabWidth: 2,
|
6
|
+
useTabs: false,
|
7
|
+
semi: true,
|
8
|
+
quoteProps: "as-needed",
|
9
|
+
jsxSingleQuote: false,
|
10
|
+
singleQuote: false,
|
11
|
+
bracketSpacing: true,
|
12
|
+
bracketSameLine: false,
|
13
|
+
proseWrap: "always",
|
14
|
+
endOfLine: "lf",
|
15
|
+
};
|