neeto-commons-backend 1.0.89
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/.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
|
+
};
|