-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
17 changed files
with
1,778 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
# EditorConfig is awesome: http://EditorConfig.org | ||
|
||
# top-most EditorConfig file | ||
root = true | ||
|
||
# Don't use tabs for indentation. | ||
[*] | ||
indent_size = 4 | ||
indent_style = space | ||
tab_width = 4 | ||
end_of_line = lf | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
guidelines = 120 | ||
|
||
# Code files | ||
[*.{cs,csx,vb,vbx}] | ||
indent_size = 4 | ||
|
||
# Xml project files | ||
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] | ||
indent_size = 2 | ||
|
||
# Xml config files | ||
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] | ||
indent_size = 2 | ||
|
||
# JSON files | ||
[*.json] | ||
indent_size = 2 | ||
|
||
# JS files | ||
[*.{js,ts,scss,html}] | ||
indent_size = 2 | ||
|
||
[*.{ts}] | ||
quote_type = single | ||
|
||
[*.{scss,yml,csproj}] | ||
indent_size = 2 | ||
|
||
[*.sln] | ||
indent_style = tab | ||
|
||
# Dotnet code style settings: | ||
[*.{cs,vb}] | ||
# Sort using and Import directives with System.* appearing first | ||
dotnet_sort_system_directives_first = true | ||
# Avoid "this." and "Me." if not necessary | ||
dotnet_style_qualification_for_field = false:suggestion | ||
dotnet_style_qualification_for_property = false:suggestion | ||
dotnet_style_qualification_for_method = false:suggestion | ||
dotnet_style_qualification_for_event = false:suggestion | ||
|
||
# Use language keywords instead of framework type names for type references | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | ||
dotnet_style_predefined_type_for_member_access = true:suggestion | ||
|
||
# Suggest more modern language features when available | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
|
||
# Prefix private members with underscore | ||
dotnet_naming_rule.private_members_with_underscore.symbols = private_fields | ||
dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore | ||
dotnet_naming_rule.private_members_with_underscore.severity = suggestion | ||
|
||
dotnet_naming_symbols.private_fields.applicable_kinds = field | ||
dotnet_naming_symbols.private_fields.applicable_accessibilities = private | ||
|
||
dotnet_naming_style.prefix_underscore.capitalization = camel_case | ||
dotnet_naming_style.prefix_underscore.required_prefix = _ | ||
|
||
# Async methods should have "Async" suffix | ||
dotnet_naming_rule.async_methods_end_in_async.symbols = any_async_methods | ||
dotnet_naming_rule.async_methods_end_in_async.style = end_in_async | ||
dotnet_naming_rule.async_methods_end_in_async.severity = suggestion | ||
|
||
dotnet_naming_symbols.any_async_methods.applicable_kinds = method | ||
dotnet_naming_symbols.any_async_methods.applicable_accessibilities = * | ||
dotnet_naming_symbols.any_async_methods.required_modifiers = async | ||
|
||
dotnet_naming_style.end_in_async.required_prefix = | ||
dotnet_naming_style.end_in_async.required_suffix = Async | ||
dotnet_naming_style.end_in_async.capitalization = pascal_case | ||
dotnet_naming_style.end_in_async.word_separator = | ||
|
||
# Obsolete warnings, this should be removed or changed to warning once we address some of the obsolete items. | ||
dotnet_diagnostic.CS0618.severity = suggestion | ||
|
||
# Obsolete warnings, this should be removed or changed to warning once we address some of the obsolete items. | ||
dotnet_diagnostic.CS0612.severity = suggestion | ||
|
||
# Remove unnecessary using directives https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0005 | ||
dotnet_diagnostic.IDE0005.severity = warning | ||
|
||
# CSharp code style settings: | ||
[*.cs] | ||
# Prefer "var" everywhere | ||
csharp_style_var_for_built_in_types = true:suggestion | ||
csharp_style_var_when_type_is_apparent = true:suggestion | ||
csharp_style_var_elsewhere = true:suggestion | ||
|
||
# Prefer method-like constructs to have a expression-body | ||
csharp_style_expression_bodied_methods = true:none | ||
csharp_style_expression_bodied_constructors = true:none | ||
csharp_style_expression_bodied_operators = true:none | ||
|
||
# Prefer property-like constructs to have an expression-body | ||
csharp_style_expression_bodied_properties = true:none | ||
csharp_style_expression_bodied_indexers = true:none | ||
csharp_style_expression_bodied_accessors = true:none | ||
|
||
# Suggest more modern language features when available | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
|
||
# Newline settings | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
|
||
# Namespace settings | ||
csharp_style_namespace_declarations = file_scoped:warning | ||
|
||
# Switch expression | ||
dotnet_diagnostic.CS8509.severity = error # missing switch case for named enum value | ||
dotnet_diagnostic.CS8524.severity = none # missing switch case for unnamed enum value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* text=auto eol=lf |
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Please sort into logical groups with comment headers. Sort groups in order of specificity. | ||
# For example, default owners should always be the first group. | ||
# Sort lines alphabetically within these groups to avoid accidentally adding duplicates. | ||
# | ||
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners | ||
|
||
# Default file owners | ||
* @bitwarden/tech-leads | ||
|
||
# DevOps for Actions and other workflow changes | ||
.github/workflows @bitwarden/dept-devops |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
blank_issues_enabled: false | ||
contact_links: | ||
- name: Feature Requests | ||
url: https://community.bitwarden.com/c/feature-requests/ | ||
about: Request new features using the Community Forums. Please search existing feature requests before making a new one. | ||
- name: Bitwarden Community Forums | ||
url: https://community.bitwarden.com | ||
about: Please visit the community forums for general community discussion, support and the development roadmap. | ||
- name: Customer Support | ||
url: https://bitwarden.com/contact/ | ||
about: Please contact our customer support for account issues and general customer support. | ||
- name: Security Issues | ||
url: https://hackerone.com/bitwarden | ||
about: We use HackerOne to manage security disclosures. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
## 🎟️ Tracking | ||
|
||
<!-- Paste the link to the Jira or GitHub issue or otherwise describe / point to where this change is coming from. --> | ||
|
||
## 📔 Objective | ||
|
||
<!-- Describe what the purpose of this PR is, for example what bug you're fixing or new feature you're adding. --> | ||
|
||
## 📸 Screenshots | ||
|
||
<!-- Required for any UI changes; delete if not applicable. Use fixed width images for better display. --> | ||
|
||
## ⏰ Reminders before review | ||
|
||
- Contributor guidelines followed | ||
- All formatters and local linters executed and passed | ||
- Written new unit and / or integration tests where applicable | ||
- Protected functional changes with optionality (feature flags) | ||
- Used internationalization (i18n) for all UI strings | ||
- CI builds passed | ||
- Communicated to DevOps any deployment requirements | ||
- Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team | ||
|
||
## 🦮 Reviewer guidelines | ||
|
||
<!-- Suggested interactions but feel free to use (or not) as you desire! --> | ||
|
||
- 👍 (`:+1:`) or similar for great changes | ||
- 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info | ||
- ❓ (`:question:`) for questions | ||
- 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion | ||
- 🎨 (`:art:`) for suggestions / improvements | ||
- ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or concerns needing attention | ||
- 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or indications of technical debt | ||
- ⛏ (`:pick:`) for minor or nitpick changes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
{ | ||
"$schema": "https://docs.renovatebot.com/renovate-schema.json", | ||
"extends": ["github>bitwarden/renovate-config"], | ||
"enabledManagers": ["cargo", "github-actions", "npm", "nuget"], | ||
"packageRules": [ | ||
{ | ||
"groupName": "cargo minor", | ||
"matchManagers": ["cargo"], | ||
"matchUpdateTypes": ["minor", "patch"] | ||
}, | ||
{ | ||
"groupName": "gh minor", | ||
"matchManagers": ["github-actions"], | ||
"matchUpdateTypes": ["minor", "patch"] | ||
}, | ||
{ | ||
"groupName": "npm minor", | ||
"matchManagers": ["npm"], | ||
"matchUpdateTypes": ["minor", "patch"] | ||
}, | ||
{ | ||
"groupName": "nuget minor", | ||
"matchManagers": ["nuget"], | ||
"matchUpdateTypes": ["minor", "patch"] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
name: Scan | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- "main" | ||
- "rc" | ||
- "hotfix-rc" | ||
pull_request_target: | ||
types: [opened, synchronize] | ||
|
||
# TODO: see https://bitwarden.atlassian.net/l/cp/SLtTZJ90 for configuration tips | ||
jobs: | ||
check-run: | ||
name: Check PR run | ||
uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main | ||
|
||
sast: | ||
name: SAST scan | ||
runs-on: ubuntu-22.04 | ||
needs: check-run | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
security-events: write | ||
|
||
steps: | ||
- name: Check out repo | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
|
||
- name: Scan with Checkmarx | ||
uses: checkmarx/ast-github-action@4c637b1cb6b6b63637c7b99578c9fceefebbb08d # 2.0.30 | ||
env: | ||
INCREMENTAL: "${{ contains(github.event_name, 'pull_request') && '--sast-incremental' || '' }}" | ||
with: | ||
project_name: ${{ github.repository }} | ||
cx_tenant: ${{ secrets.CHECKMARX_TENANT }} | ||
base_uri: https://ast.checkmarx.net/ | ||
cx_client_id: ${{ secrets.CHECKMARX_CLIENT_ID }} | ||
cx_client_secret: ${{ secrets.CHECKMARX_SECRET }} | ||
additional_params: | | ||
--report-format sarif \ | ||
--filter "state=TO_VERIFY;PROPOSED_NOT_EXPLOITABLE;CONFIRMED;URGENT" \ | ||
--output-path . ${{ env.INCREMENTAL }} | ||
- name: Upload Checkmarx results to GitHub | ||
uses: github/codeql-action/upload-sarif@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 | ||
with: | ||
sarif_file: cx_result.sarif | ||
|
||
quality: | ||
name: Quality scan | ||
runs-on: ubuntu-22.04 | ||
needs: check-run | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
|
||
steps: | ||
- name: Check out repo | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
fetch-depth: 0 | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
|
||
- name: Scan with SonarCloud | ||
uses: sonarsource/sonarcloud-github-action@e44258b109568baa0df60ed515909fc6c72cba92 # v2.3.0 | ||
env: | ||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
args: > | ||
-Dsonar.organization=${{ github.repository_owner }} | ||
-Dsonar.projectKey=${{ github.repository_owner }}_${{ github.event.repository.name }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
npx lint-staged |
Oops, something went wrong.