Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency typescript to v5.8.2 #805

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 21, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
typescript (source) 5.4.5 -> 5.8.2 age adoption passing confidence

Release Notes

microsoft/TypeScript (typescript)

v5.8.2

Compare Source

v5.7.3: TypeScript 5.7.3

Compare Source

For release notes, check out the release announcement.

Downloads are available on npm

v5.7.2: TypeScript 5.7

Compare Source

For release notes, check out the release announcement.

Downloads are available on:

v5.6.3: TypeScript 5.6.3

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:

v5.6.2: TypeScript 5.6

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:

v5.5.4: TypeScript 5.5.4

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:

v5.5.3: TypeScript 5.5.3

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:

v5.5.2: TypeScript 5.5

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:


Configuration

📅 Schedule: Branch creation - "after 7am and before 11am every weekday" in timezone Europe/London, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

🤖AEP PR SUMMARY🤖

scripts/yarn.lock

  • Updated "typescript" package from version 5.4.5 to 5.8.2 🔄.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jun 21, 2024
@renovate renovate bot requested a review from a team as a code owner June 21, 2024 06:42
@renovate renovate bot enabled auto-merge (rebase) June 21, 2024 06:42
Copy link

Recommendations for Improvement

  1. Ensure Compatibility with Updated TypeScript Version: Upgrading TypeScript from version 5.4.5 to 5.5.2 could introduce breaking changes or new features that impact your project. Review the TypeScript release notes for version 5.5.2 to ensure that there are no breaking changes affecting your project. Example checks include:

    • Verify if any deprecated APIs are in use and update them accordingly.
    • Test the build process and unit tests to ensure they pass without errors.
  2. Audit Third-Party Dependencies: The change in typescript version also implicates a careful review of all related dependencies for compatibility issues. For example:

    • Check if other packages dependent on typescript require updates to work with version 5.5.2.
    • Use npm ls typescript to see which packages depend on typescript and verify their compatibility.
  3. Security Review of Dependencies: Although not directly shown in the diff, upgrading dependencies should always be accompanied by a security assessment. Tools like yarn audit or npm audit can help identify known vulnerabilities in packages. For projects where security is paramount, consider integrating these tools into your CI/CD pipeline to automatically flag security issues when dependencies are updated. Example command:

    • yarn audit for Yarn projects to check for security issues in dependencies.
  4. Performance Benchmarking: Changes in major dependencies like TypeScript might have an impact on your project's build time and performance. It is advisable to:

    • Benchmark the build and execution time before and after the TypeScript version upgrade.
    • Evaluate if the new version introduces any performance regressions or improvements.
  5. Lockfile Maintenance: Regularly updating the yarn.lock file is good practice to incorporate the latest security patches and bug fixes. However, it's crucial to:

    • Only commit yarn.lock changes after verifying that the updates are intentional and tested.
    • Use yarn upgrade judiciously to update dependencies and avoid unintentional major version upgrades.
  6. Documentation: Document the reasons and impact of dependency upgrades in your project's changelog or release notes. This promotes transparency within your team and helps track changes over time. For instance:

    • Maintain a CHANGELOG.md or RELEASE_NOTES.md file in your project to log changes like dependency updates.

In conclusion, while updating dependencies is a routine part of maintaining software projects, it requires careful consideration to avoid introducing issues. Integrating best practices around testing, security, and documentation can help manage these changes more effectively.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (sbox_apim_appgw)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.app-gw.azurerm_application_gateway.ag[0]
    • module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0]
Change Result (Click me)
  # module.app-gw.data.azurerm_monitor_diagnostic_categories.diagnostic_categories will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_monitor_diagnostic_categories" "diagnostic_categories" {
      + id                  = (known after apply)
      + log_category_groups = (known after apply)
      + log_category_types  = (known after apply)
      + logs                = (known after apply)
      + metrics             = (known after apply)
      + resource_id         = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw"
    }

  # module.app-gw.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw"
        name                              = "sdshmcts-apim00-sandbox-agw"
        tags                              = {
            "application"  = "core"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Low"
            "environment"  = "sandbox"
            "expiresAfter" = "3000-01-01"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "sds-api-mgmt-appgw.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw/probes/sds-api-mgmt-appgw-probe" -> null
          - interval                                  = 10 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt-appgw-probe" -> null
          - path                                      = "/status-0123456789abcdef" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "sds-api-mgmt-appgw.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 10
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt-appgw-probe"
          + path                                      = "/status-0123456789abcdef"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (15 unchanged blocks hidden)
    }

  # module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostic_settings" {
        id                             = "/subscriptions/ea3a8c1e-af9d-4108-bc86-a7e2d267f49c/resourceGroups/hmcts-hub-sbox-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-sandbox-agw|AppGw"
        name                           = "AppGw"
        # (5 unchanged attributes hidden)

      ~ metric {
          + eventhub_authorization_rule_id = (known after apply)
          + eventhub_name                  = (known after apply)
          + id                             = (known after apply)
          + log_analytics_destination_type = (known after apply)
          + log_analytics_workspace_id     = (known after apply)
          + name                           = (known after apply)
          + partner_solution_id            = (known after apply)
          + storage_account_id             = (known after apply)
          + target_resource_id             = (known after apply)
        } -> (known after apply)

        # (3 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (sbox_appgateway)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.appgateway.azurerm_application_gateway.ag[0]
    • module.appgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0]
Change Result (Click me)
  # module.appgateway.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw"
        name                              = "aks-fe-00-sbox-agw"
        tags                              = {
            "application"  = "core"
            "autoShutdown" = "true"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Low"
            "environment"  = "sandbox"
            "expiresAfter" = "3000-01-01"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "darts.sandbox.apps.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/darts-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-frontend.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/pip-frontend" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-frontend" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "portal-sbox.pre-recorded-evidence.justice.gov.uk" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/portal-sbox" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "portal-sbox" -> null
          - path                                      = "/SignIn?ReturnUrl=%2F" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pre-portal.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/pre-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pre-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "sds-api-mgmt.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/sds-api-mgmt" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "toffee.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/toffee" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "toffee" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-admin-web.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/vh-admin-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-admin-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-test-web.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/vh-test-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-test-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-video-web.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw/probes/vh-video-web" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-video-web" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "darts.sandbox.apps.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-frontend.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-frontend"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "portal-sbox.pre-recorded-evidence.justice.gov.uk"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "portal-sbox"
          + path                                      = "/SignIn?ReturnUrl=%2F"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pre-portal.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pre-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "sds-api-mgmt.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "toffee.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "toffee"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-admin-web.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-admin-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-test-web.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-test-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-video-web.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-video-web"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (44 unchanged blocks hidden)
    }

  # module.appgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostics_access_logs_sa" {
        id                             = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks-fe-00-sbox-agw|app-gw-storage-account"
        name                           = "app-gw-storage-account"
        # (6 unchanged attributes hidden)

      - metric {
          - category = "AllMetrics" -> null
          - enabled  = false -> null

          - retention_policy {
              - days    = 0 -> null
              - enabled = false -> null
            }
        }

        # (5 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (sbox_shutter_static_webapp)

Plan: 0 to add, 1 to change, 0 to destroy.
  • Update
    • module.static_webapp.azurerm_dns_txt_record.zone_validate["toffee"]
Change Result (Click me)
  # module.static_webapp.azurerm_dns_txt_record.zone_validate["toffee"] will be updated in-place
  ~ resource "azurerm_dns_txt_record" "zone_validate" {
        id                  = "/subscriptions/ed302caf-ec27-4c64-a05e-85731c3ce90e/resourceGroups/reformMgmtRG/providers/Microsoft.Network/dnsZones/sandbox.platform.hmcts.net/TXT/_dnsauth.toffee"
        name                = "_dnsauth.toffee"
        tags                = {}
        # (4 unchanged attributes hidden)

      - record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
      + record {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

Plan: 0 to add, 1 to change, 0 to destroy.

@hmcts-platform-operations

Plan Result (dev_trafficmanager)

No changes. Your infrastructure matches the configuration.

@hmcts-platform-operations

Plan Result (sbox_apim)

No changes. Your infrastructure matches the configuration.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (sbox_frontdoor)

Plan: 0 to add, 1 to change, 0 to destroy.
  • Update
    • module.premium_front_door.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0]
Change Result (Click me)
  # module.premium_front_door.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostics_access_logs_sa" {
        id                             = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/lz-sbox-rg/providers/Microsoft.Cdn/profiles/sdshmcts-sbox|fd-log-analytics-logs-sa"
        name                           = "fd-log-analytics-logs-sa"
        # (6 unchanged attributes hidden)

      - metric {
          - category = "AllMetrics" -> null
          - enabled  = false -> null

          - retention_policy {
              - days    = 0 -> null
              - enabled = false -> null
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (sbox_backendappgateway)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.backendappgateway.azurerm_application_gateway.ag[0]
    • module.backendappgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0]
Change Result (Click me)
  # module.backendappgateway.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw"
        name                              = "aks00-sbox-agw"
        tags                              = {
            "application"  = "core"
            "autoShutdown" = "true"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Low"
            "environment"  = "sandbox"
            "expiresAfter" = "3000-01-01"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "darts-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/darts-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "darts-gateway.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/darts-gateway" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-gateway" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "darts-stub-services.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/darts-stub-services" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "darts-stub-services" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "labs-mokainos.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/labs-mokainos" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "labs-mokainos" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-account-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-account-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-account-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-channel-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-channel-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-channel-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-data-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-data-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-data-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-publication-services.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-publication-services" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-publication-services" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pip-subscription-management.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pip-subscription-management" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pip-subscription-management" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pre-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pre-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pre-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "pre-portal.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/pre-portal" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "pre-portal" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "test-override.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/test-override" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "test-override" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "toffee-recipe-backend.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/toffee-recipe-backend" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "toffee-recipe-backend" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-bookings-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-bookings-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-bookings-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-notification-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-notification-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-notification-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-test-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-test-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-test-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-user-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-user-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-user-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      - probe {
          - host                                      = "vh-video-api.sandbox.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw/probes/vh-video-api" -> null
          - interval                                  = 20 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "vh-video-api" -> null
          - path                                      = "/health/liveness" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "darts-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "darts-gateway.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-gateway"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "darts-stub-services.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "darts-stub-services"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "labs-mokainos.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "labs-mokainos"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-account-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-account-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-channel-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-channel-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-data-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-data-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-publication-services.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-publication-services"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pip-subscription-management.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pip-subscription-management"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pre-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pre-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "pre-portal.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "pre-portal"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "test-override.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "test-override"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "toffee-recipe-backend.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "toffee-recipe-backend"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-bookings-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-bookings-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-notification-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-notification-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-test-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-test-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-user-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-user-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }
      + probe {
          + host                                      = "vh-video-api.sandbox.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 20
          + minimum_servers                           = 0
          + name                                      = "vh-video-api"
          + path                                      = "/health/liveness"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

      ~ ssl_policy {
          + min_protocol_version = "TLSv1_2"
            # (4 unchanged attributes hidden)
        }

        # (99 unchanged blocks hidden)
    }

  # module.backendappgateway.azurerm_monitor_diagnostic_setting.diagnostics_access_logs_sa[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostics_access_logs_sa" {
        id                             = "/subscriptions/a8140a9e-f1b0-481f-a4de-09e2ee23f7ab/resourceGroups/ss-sbox-network-rg/providers/Microsoft.Network/applicationGateways/aks00-sbox-agw|app-gw-storage-account"
        name                           = "app-gw-storage-account"
        # (6 unchanged attributes hidden)

      - metric {
          - category = "AllMetrics" -> null
          - enabled  = false -> null

          - retention_policy {
              - days    = 0 -> null
              - enabled = false -> null
            }
        }

        # (5 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (prod_apim_appgw)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.app-gw.azurerm_application_gateway.ag[0]
    • module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0]
Change Result (Click me)
  # module.app-gw.data.azurerm_monitor_diagnostic_categories.diagnostic_categories will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_monitor_diagnostic_categories" "diagnostic_categories" {
      + id                  = (known after apply)
      + log_category_groups = (known after apply)
      + log_category_types  = (known after apply)
      + logs                = (known after apply)
      + metrics             = (known after apply)
      + resource_id         = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-prod-agw"
    }

  # module.app-gw.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-prod-agw"
        name                              = "sdshmcts-apim00-prod-agw"
        tags                              = {
            "application"  = "core"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "High"
            "environment"  = "production"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "sds-api-mgmt-appgw.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-prod-agw/probes/sds-api-mgmt-appgw-probe" -> null
          - interval                                  = 10 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt-appgw-probe" -> null
          - path                                      = "/status-0123456789abcdef" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "sds-api-mgmt-appgw.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 10
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt-appgw-probe"
          + path                                      = "/status-0123456789abcdef"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (15 unchanged blocks hidden)
    }

  # module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostic_settings" {
        id                             = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-prod-agw|AppGw"
        name                           = "AppGw"
        # (5 unchanged attributes hidden)

      ~ metric {
          + eventhub_authorization_rule_id = (known after apply)
          + eventhub_name                  = (known after apply)
          + id                             = (known after apply)
          + log_analytics_destination_type = (known after apply)
          + log_analytics_workspace_id     = (known after apply)
          + name                           = (known after apply)
          + partner_solution_id            = (known after apply)
          + storage_account_id             = (known after apply)
          + target_resource_id             = (known after apply)
        } -> (known after apply)

        # (3 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (dev_apim_appgw)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.app-gw.azurerm_application_gateway.ag[0]
    • module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0]
Change Result (Click me)
  # module.app-gw.data.azurerm_monitor_diagnostic_categories.diagnostic_categories will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_monitor_diagnostic_categories" "diagnostic_categories" {
      + id                  = (known after apply)
      + log_category_groups = (known after apply)
      + log_category_types  = (known after apply)
      + logs                = (known after apply)
      + metrics             = (known after apply)
      + resource_id         = "/subscriptions/fb084706-583f-4c9a-bdab-949aac66ba5c/resourceGroups/hmcts-hub-nonprodi/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-dev-agw"
    }

  # module.app-gw.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/fb084706-583f-4c9a-bdab-949aac66ba5c/resourceGroups/hmcts-hub-nonprodi/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-dev-agw"
        name                              = "sdshmcts-apim00-dev-agw"
        tags                              = {
            "application"  = "core"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "Low"
            "environment"  = "development"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "sds-api-mgmt-appgw.dev.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/fb084706-583f-4c9a-bdab-949aac66ba5c/resourceGroups/hmcts-hub-nonprodi/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-dev-agw/probes/sds-api-mgmt-appgw-probe" -> null
          - interval                                  = 10 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt-appgw-probe" -> null
          - path                                      = "/status-0123456789abcdef" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "sds-api-mgmt-appgw.dev.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 10
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt-appgw-probe"
          + path                                      = "/status-0123456789abcdef"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (15 unchanged blocks hidden)
    }

  # module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostic_settings" {
        id                             = "/subscriptions/fb084706-583f-4c9a-bdab-949aac66ba5c/resourceGroups/hmcts-hub-nonprodi/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-dev-agw|AppGw"
        name                           = "AppGw"
        # (5 unchanged attributes hidden)

      ~ metric {
          + eventhub_authorization_rule_id = (known after apply)
          + eventhub_name                  = (known after apply)
          + id                             = (known after apply)
          + log_analytics_destination_type = (known after apply)
          + log_analytics_workspace_id     = (known after apply)
          + name                           = (known after apply)
          + partner_solution_id            = (known after apply)
          + storage_account_id             = (known after apply)
          + target_resource_id             = (known after apply)
        } -> (known after apply)

        # (3 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

@hmcts-platform-operations
Copy link

hmcts-platform-operations commented Jun 21, 2024

Plan Result (stg_apim_appgw)

Plan: 0 to add, 2 to change, 0 to destroy.
  • Update
    • module.app-gw.azurerm_application_gateway.ag[0]
    • module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0]
Change Result (Click me)
  # module.app-gw.data.azurerm_monitor_diagnostic_categories.diagnostic_categories will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_monitor_diagnostic_categories" "diagnostic_categories" {
      + id                  = (known after apply)
      + log_category_groups = (known after apply)
      + log_category_types  = (known after apply)
      + logs                = (known after apply)
      + metrics             = (known after apply)
      + resource_id         = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-stg-agw"
    }

  # module.app-gw.azurerm_application_gateway.ag[0] will be updated in-place
  ~ resource "azurerm_application_gateway" "ag" {
        id                                = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-stg-agw"
        name                              = "sdshmcts-apim00-stg-agw"
        tags                              = {
            "application"  = "core"
            "builtFrom"    = "hmcts/sds-azure-platform"
            "businessArea" = "Cross-Cutting"
            "criticality"  = "High"
            "environment"  = "staging"
            "startupMode"  = "always"
        }
        # (8 unchanged attributes hidden)

      - probe {
          - host                                      = "sds-api-mgmt-appgw.staging.platform.hmcts.net" -> null
          - id                                        = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-stg-agw/probes/sds-api-mgmt-appgw-probe" -> null
          - interval                                  = 10 -> null
          - minimum_servers                           = 0 -> null
          - name                                      = "sds-api-mgmt-appgw-probe" -> null
          - path                                      = "/status-0123456789abcdef" -> null
          - pick_host_name_from_backend_http_settings = false -> null
          - port                                      = 0 -> null
          - protocol                                  = "Http" -> null
          - timeout                                   = 15 -> null
          - unhealthy_threshold                       = 3 -> null

          - match {
              - status_code = [
                  - "200-399",
                ] -> null
                # (1 unchanged attribute hidden)
            }
        }
      + probe {
          + host                                      = "sds-api-mgmt-appgw.staging.platform.hmcts.net"
          + id                                        = (known after apply)
          + interval                                  = 10
          + minimum_servers                           = 0
          + name                                      = "sds-api-mgmt-appgw-probe"
          + path                                      = "/status-0123456789abcdef"
          + pick_host_name_from_backend_http_settings = false
          + protocol                                  = "Http"
          + timeout                                   = 15
          + unhealthy_threshold                       = 3
        }

        # (15 unchanged blocks hidden)
    }

  # module.app-gw.azurerm_monitor_diagnostic_setting.diagnostic_settings[0] will be updated in-place
  ~ resource "azurerm_monitor_diagnostic_setting" "diagnostic_settings" {
        id                             = "/subscriptions/0978315c-75fe-4ada-9d11-1eb5e0e0b214/resourceGroups/hmcts-hub-prod-int/providers/Microsoft.Network/applicationGateways/sdshmcts-apim00-stg-agw|AppGw"
        name                           = "AppGw"
        # (5 unchanged attributes hidden)

      ~ metric {
          + eventhub_authorization_rule_id = (known after apply)
          + eventhub_name                  = (known after apply)
          + id                             = (known after apply)
          + log_analytics_destination_type = (known after apply)
          + log_analytics_workspace_id     = (known after apply)
          + name                           = (known after apply)
          + partner_solution_id            = (known after apply)
          + storage_account_id             = (known after apply)
          + target_resource_id             = (known after apply)
        } -> (known after apply)

        # (3 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

Copy link

github-actions bot commented Feb 6, 2025

The provided git diff shows an update of the TypeScript package from version 5.4.5 to 5.7.3 in the yarn.lock file. This change indicates an effort to keep dependencies up-to-date, which is a good practice for maintaining software security and performance. However, additional improvements and considerations can be made:

Further Dependency Updates

  • Check all dependencies: Ensure all dependencies are updated alongside TypeScript to maintain compatibility and leverage improvements or security patches. This includes direct dependencies in your package.json and indirect dependencies visible in yarn.lock.
  • Audit dependencies: Use yarn audit to check for known vulnerabilities in the updated package set. Address any vulnerabilities as suggested.

Testing

  • Run tests: After dependency updates, it's crucial to run the full suite of automated tests to ensure that the update does not break any existing functionality. This includes unit tests, integration tests, and end-to-end tests if applicable.
  • Manual Testing: Perform manual tests or exploratory testing, focusing on features that heavily rely on TypeScript, to catch any issues automated tests may miss.

Review TypeScript Changes

  • Changelog Review: Review the TypeScript changelog for versions between 5.4.5 and 5.7.3 to understand new features, deprecations, and breaking changes. This helps in updating your codebase to use new features or modify usage based on deprecations and breaking changes.
  • Adjust TypeScript Configuration: Depending on changes in TypeScript, you may need to adjust your tsconfig.json settings to optimize for the newer version.

Codebase Update

  • Refactoring: Leverage new TypeScript features or syntax to improve code quality. If the newer version introduced enhanced type-checking capabilities, refactor the code to tighten type definitions.
  • Remove workarounds: Previous versions might have necessitated workarounds for bugs or unsupported features. With the update, assess if these workarounds are still necessary and remove them if not.

Performance and Cost Implications

  • Bundle Size Impact: Verify if the update influences the final bundle size, especially for frontend projects. An increased bundle size could impact page load times and, indirectly, hosting costs.
  • Build Performance: Monitor the build time before and after the update; newer TypeScript versions might have optimizations that improve or adversely affect build times.

Environmental Consideration

  • Carbon Footprint: An indirect consideration, but optimizing bundle size and build processes can contribute to lower computational resource usage, which has a positive impact on carbon footprint.

Documentation

  • Document the Update: Update project documentation to reflect the dependency version change. Include a summary of major changes and their impact on the project for future reference.

By following these recommendations, you not only update a dependency but also enhance the overall health and maintainability of your project.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from 5127ef2 to 31d748c Compare February 6, 2025 14:45
Copy link

github-actions bot commented Feb 6, 2025

Code Review Report for yarn.lock Update

Changes Reviewed:

  • Update of TypeScript from version 5.4.5 to 5.7.3.

Recommendations:

  1. Validate Dependencies for Compatibility:
    Ensure that the update of TypeScript doesn't introduce any compatibility issues with existing code or other dependencies. It would be beneficial to run all test suites and check for deprecated features or breaking changes mentioned in the TypeScript change logs between these versions.

  2. Review Changelog for TypeScript:
    It's important to review the changelog for TypeScript from version 5.4.5 to 5.7.3 to understand the improvements or changes that come with the newer version. This can highlight new features that could be utilized or bugs that have been fixed.

  3. Check for Deprecated Features:
    Given the version bump, review your codebase for the usage of any TypeScript features that may have been deprecated or altered in the new version. Refactor the code accordingly to ensure it adheres to the new version's best practices and capabilities.

  4. Performance and Security Analysis:
    While version updates generally include security patches and performance improvements, it's crucial to analyze the specific changes that the new TypeScript version brings. Assess if these changes could affect your project's performance or security posture. No direct cost or carbon usage impact here, but better security and performance can indirectly lead to cost savings and reduced resource usage over time.

  5. Peer Dependency Check:
    Ensure that other packages relying on TypeScript as a peer dependency are compatible with version 5.7.3. If some libraries have not yet updated their compatibility range, it might cause warnings or errors during installation or runtime.

  6. Update Documentation:
    If the project has documentation specifying the TypeScript version, make sure to update it accordingly. This helps in maintaining accurate project setup instructions for new developers or in deployment pipelines.

  7. Monitor Deployment and Build Processes:
    After updating, monitor the build and deployment processes for any unexpected warnings or errors that may arise due to the TypeScript version update. This is vital to ensure a smooth transition and to address any issues promptly.

Financial and Environmental Impact (Estimated):

  • Cost: No direct financial cost associated with the update itself. Indirect costs/benefits come from potential efficiency gains or the need for code refactoring.
  • Carbon Usage: Indirectly, adopting newer versions with better performance could lead to reduced compute time, potentially lowering carbon footprint. However, this heavily depends on the nature of the changes in the TypeScript version and how they are utilized within your project.

In conclusion, the update from TypeScript 5.4.5 to 5.7.3 appears straightforward, but due attention should be given to the compatibility, security, and performance implications it might have on the project.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from 31d748c to 623ff07 Compare February 18, 2025 10:04
Copy link

Code Review on yarn.lock Update

Summary:

The update from TypeScript version 5.4.5 to 5.7.3 is observed in the yarn.lock file. This seems to be a routine dependency upgrade. However, it's important to consider a few aspects surrounding this update:

  1. Compatibility and Testing:

    • Action: Ensure thorough testing of the application with the new TypeScript version to prevent breaking changes or incompatibility issues. TypeScript updates can introduce new checks or stricter type enforcement that might require adjustments in the codebase.
    • Example: Modify any TypeScript code that is incompatible with version 5.7.3. Use TypeScript's release notes as a guide to address any breaking changes.
  2. Performance and Cost:

    • TypeScript upgrades generally do not have a direct impact on runtime performance or cost; however, they can improve build time efficiency or detect type errors early, which indirectly saves time and resources.
    • Action: Monitor build times before and after the upgrade to identify any significant changes.
  3. Security:

    • Upgrading dependencies can address known security vulnerabilities in previous versions.
    • Action: Check the TypeScript release notes and security advisories for the versions being upgraded from and to, ensuring that none of the resolved vulnerabilities affects your codebase.
  4. Best Practice: Keeping dependencies up-to-date is a crucial practice for maintaining the security and reliability of software applications.

    • Action: Implement a strategy for regular dependency updates, possibly using tools that automate the detection and resolution of outdated or vulnerable dependencies.
  5. Carbon Usage:

    • While the direct impact on carbon usage from updating TypeScript is minimal, efficient and error-free code contributes to lesser compute times and thus can have a small, positive environmental impact in the long run.
    • Action: Leverage the TypeScript compiler's advanced settings for optimizing the output, which could lead to more efficient JavaScript, potentially reducing runtime costs and associated carbon footprint.

Conclusion:

This update appears straightforward, but it requires careful integration and testing to ensure it doesn't introduce issues within your project. No additional costs are directly associated with this update, but the indirect benefits of staying up-to-date with dependencies (e.g., security, potential performance improvements) can be substantial over time. There's no significant environmental impact from this change alone, but maintaining efficient and updated software contributes to overall sustainability efforts.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from 623ff07 to 8ba4d17 Compare February 18, 2025 10:54
Copy link

Reviewing the provided git diff focused on the yarn.lock file changes, it appears the modification consists of updating TypeScript from version 5.4.5 to 5.7.3. Here are some recommendations and considerations based on this update:

Code Quality and Best Practices

  • Peer Dependency Compatibility: Ensure that any libraries or projects depending on TypeScript directly have also been tested or are compatible with TypeScript version 5.7.3. Major TypeScript updates can sometimes introduce breaking changes or require code modifications.

  • Use of Latest Features: Given that TypeScript updates often include new features, optimizations, and bug fixes, consider reviewing the TypeScript 5.7 release notes to utilize any new language features or compiler options that could improve your codebase.

Security

  • Review Security Advisories: Check if updating to TypeScript 5.7.3 addresses any security vulnerabilities present in 5.4.5. This could be done through tools like GitHub Dependabot or npm audit. The update could potentially mitigate security risks.

Cost (GBP) and Carbon Usage

  • Build Time: New versions of TypeScript can have different performance characteristics. Faster build times can reduce cloud computing costs and, indirectly, carbon usage. Assuming your project uses cloud CI/CD pipelines:

    • If the newer TypeScript version improves compilation performance, this could reduce the cost associated with CI/CD build minutes. The specific cost savings would depend on your cloud provider's pricing model and the complexity of your project.
    • Conversely, if 5.7.3 is significantly slower or your codebase requires modifications to adapt to the new version, this could temporarily increase costs.
  • Cost Estimates: Without specific details on your cloud infrastructure, estimating exact cost changes in GBP is challenging. Generally, if the update to TypeScript 5.7.3 reduces your compilation time by even a few seconds per build, and you have a high number of daily builds, the savings can accumulate. For instance, if you're using GitHub Actions, which charges approximately £0.007 per minute (as of my last update), reducing build time by 1 minute for 100 daily builds would save about £0.7 daily or approximately £21 monthly.

Recommendations

  • Testing: Beyond ensuring compatibility, run a full regression test of your application. This helps in identifying any runtime issues that static type checking might not catch.

  • Changelog and Team Communication: Clearly communicate the TypeScript upgrade to your development team, especially mentioning any breaking changes or new features that developers should be aware of. This can be done through a changelog update or a team meeting.

Specific Example

  • Utilize New TypeScript Features: If TypeScript 5.7.3 introduced a new utility type that simplifies complex type definitions used across your codebase, refactor your types to use this new utility where applicable. This could lead to more maintainable and readable code.

Overall, updating TypeScript is a positive step towards maintaining an up-to-date codebase, assuming the outlined considerations are addressed.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from 8ba4d17 to cd54f1f Compare February 19, 2025 10:56
Copy link

Code Review Feedback

The yarn.lock file update from TypeScript version 5.4.5 to 5.7.3 seems appropriate for staying up-to-date with the latest features, bug fixes, and security improvements offered by the newer TypeScript version. However, there are additional considerations and potential improvements to ensure the upgrade's effectiveness and security:

  1. Testing: Ensure thorough testing of the application with the new TypeScript version. This includes unit, integration, and end-to-end tests to catch any potential issues caused by breaking changes in the TypeScript compiler or type definitions. Specific examples are:

    • Look out for any TypeScript compilation errors that may arise due to stricter type checks or deprecated functionality.
    • Test critical features of your application to ensure they still function as expected.
  2. Review TypeScript's Release Notes: It is crucial to review the release notes between the current and target versions (i.e., 5.4.5 to 5.7.3). This can help identify any breaking changes or new features that might impact your codebase. For instance, if a new, stricter type check is introduced, you might need to refactor parts of your code to conform to these new rules.

  3. Peer Review: Conduct peer reviews focusing on areas of the codebase most affected by the TypeScript version upgrade. This can help spread knowledge about TypeScript updates and their impact on your project among the team.

  4. Dependencies Compatibility: Check the compatibility of other dependencies with the new TypeScript version. Some libraries might have specific peer dependency requirements for TypeScript, and upgrading without ensuring compatibility can lead to unexpected issues.

  5. Update Related Development Tools: If you're using tools like linters, formatters, or IDE plugins that depend on TypeScript, ensure they are updated to versions that support TypeScript 5.7.3. This might involve updating configurations or even the tools themselves.

  6. Cost and Carbon Usage Implications: Given that this change is purely in the development dependencies and does not directly affect the runtime efficiency or size of the deployed application, there's negligible direct cost or carbon usage impact from this update itself. However, improved developer tooling and potentially more efficient compiled code could indirectly reduce development time and computational resources required for compiling or type-checking, offering minimal but positive long-term benefits.

Recommendation: Proceed with the TypeScript version upgrade after addressing the above considerations to ensure a smooth transition and to harness the improvements and fixes in the newer TypeScript version.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from cd54f1f to 1af3e32 Compare February 27, 2025 13:16
Copy link

Review of typescript Dependency Upgrade in yarn.lock

The upgrade of typescript from version 5.4.5 to 5.7.3 as shown in the change to yarn.lock is generally a good practice, ensuring that the project uses the latest features, performance improvements, and security patches. Here are further considerations and improvements that could be made:

1. Assess Breaking Changes:

  • Example: Before finalizing the update, thorough testing and review of the TypeScript release notes between 5.4.5 and 5.7.3 should be conducted to identify and handle any breaking changes or deprecated features that might affect your project.

2. Update via Dependency Management Commands:

  • Example: Ensure that the upgrade was performed using the appropriate package manager commands (e.g., yarn upgrade typescript@5.7.3) rather than directly editing the yarn.lock file, which can lead to inconsistencies or missed updates in the package.json file.

3. Keep package.json in Sync:

  • Example: Verify that the package.json file reflects this change accurately in the typescript version range to avoid confusion and ensure reproducible builds. For instance, adjusting the version specified to \"typescript\": \"^5.7.0\" if aiming to accept minor updates automatically.

4. Review Dependency Impact on Bundle Size:

  • Cost & Carbon Usage Consideration: Assess the impact of the upgraded typescript version on the final bundle size, especially for client-facing applications where increased size could lead to longer load times, affecting user experience and potentially increasing operational costs and carbon footprint due to heightened resource consumption.

    • Resolution Example: Utilize tools like webpack-bundle-analyzer or source-map-explorer to evaluate the impact of this upgrade on your project's bundle size.

5. Check for Compatibility with Other Dependencies:

  • Example: Ensure compatibility between the new typescript version and other dependencies or plugins (e.g., TSLint, ts-node) that rely on typescript, since major version upgrades can sometimes introduce incompatibilities.

6. Security:

  • Example: Since the yarn.lock file shows that the dependency is fetched from a standard registry (https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz), verify that this URL hasn’t been compromised and that HTTPS is used to prevent MITM attacks. Additionally, consider setting up automated dependency scanning for vulnerabilities in the newly upgraded packages.

7. Cost & Carbon Usage Note:

  • The direct cost impact of upgrading a dependency like typescript in terms of GBP is most likely minimal and primarily resides in the potential need for increased compute resources during compilation if the newer version is more resource-intensive. However, this is speculative and would require benchmarking to confirm.
  • Carbon usage implications are similarly indirect and would also depend on factors like increased compilation time or additional work required to resolve incompatibilities or refactor code due to breaking changes introduced by the update.

Copy link

Code Review on yarn.lock Changes

Overview

The provided diff snippet indicates an update to the TypeScript version from 5.4.5 to 5.7.3 in the yarn.lock file. Generally, keeping dependencies up-to-date is a good practice for the sake of security patches and accessing new features.

Specific Improvements

  1. Review Changelog: Ensure the changes between 5.4.5 and 5.7.3 do not introduce breaking changes that could affect your project. Review TypeScript's official release notes or changelog for any migration tips.

  2. Semantic Versioning Compliance: It's ideal to specify dependency ranges in package.json that adhere to semantic versioning principles. If your project specifies TypeScript with ^5.0.0, this update is automatically allowed. However, reviewing if the specified version range is too permissive or too restrictive is recommended as TypeScript's evolution could introduce significant changes.

  3. Testing: After updating TypeScript, run a full test suite to catch any potential breaks or unintended behavior changes in your codebase. Consider adding or updating unit tests if the new TypeScript version affects type checking in a way that could impact runtime behavior.

  4. Audit Dependency Tree: Updates in the yarn.lock file might also affect sub-dependencies. Use tools such as yarn audit to detect newly introduced vulnerabilities and address them as needed.

  5. Performance: Evaluate the compilation time and type-checking performance between TypeScript versions. In some cases, new compiler versions come with optimizations but could also introduce regressions in performance. There's no direct cost or carbon usage impact provided here due to the nature of the update, but efficiency in development processes can indirectly affect these factors.

  6. Peer Dependencies: Check other dependencies for peer dependency requirements on TypeScript. Updating TypeScript may resolve, or conversely introduce, peer dependency conflicts.

  7. Documentation: Update any project documentation that specifies the development environment or required tool versions to include the newly updated TypeScript version.

Cost, Security, and Best Practice

  • Cost: There is no direct additional cost in GBP associated with upgrading TypeScript itself. However, the time spent testing and potentially fixing issues discovered during the update can incur development costs.
  • Security: Staying up-to-date with dependencies can mitigate known vulnerabilities. No specific security issues are addressed in this change snippet, but a general principle is being followed.
  • Best Practice: Regularly updating dependencies like TypeScript is a best practice for software maintenance. It allows you to leverage new language features and improvements, while also keeping your codebase secure.

Example for Improvement:

Consider automating dependency updates with tools like Dependabot or Renovate to routinely check and create PRs for updating dependencies, including TypeScript. This can streamline the maintenance process and ensure your project frequently receives the benefits of dependency updates.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from f2dd92e to af6da16 Compare February 28, 2025 08:27
Copy link

Evaluating the provided diff, there are a few areas where improvements can be recommended. Here's a breakdown based on the concerned criteria:

  1. Code Quality:

    • Upgrading TypeScript from 5.4.5 to 5.7.3 is generally a good practice as it likely introduces new features, enhances performance, and fixes bugs. It's crucial to ensure that this upgrade doesn't introduce compatibility issues with your current codebase or with other dependencies. To assure quality:
      • Test Extensively: Before finalizing the upgrade, extensive testing (unit, integration, and end-to-end tests) should be conducted to catch any potential issues introduced by the new TypeScript version.
      • Review Release Notes: Examine the TypeScript release notes for version 5.7.3 to understand the changes, deprecations, and new features.
  2. Security:

    • Updating dependencies can also address known vulnerabilities in the previous versions. While this diff does not directly indicate a security improvement, it's recommended to:
      • Vulnerability Check: Use tools like npm audit or yarn audit to scan for any known vulnerabilities with the new version.
  3. Best Practice:

    • Semantic Versioning (SemVer): The update respects SemVer practices by upgrading within the major version, which is a good practice to maintain compatibility.
    • Lock File Integrity: Keeping the yarn.lock file updated ensures that other developers and environments use the exact same package versions, reducing "it works on my machine" problems.
  4. Cost:

    • In the context of a library update, the direct cost implications (in GBP or any other currency) are minimal to none. The costs are more associated with the time taken to test and potentially fix issues arising from the update.
    • Indirectly, if the new TypeScript version enhances performance or reduces build times, there could be savings on CI/CD pipeline costs over time, though these savings are challenging to quantify without specific data.
  5. Carbon Usage:

    • Similar to cost, direct carbon usage implications due to a TypeScript version update are minimal. However, any improvements in compile-time efficiency or runtime performance could indirectly result in lower carbon usage due to reduced compute and energy requirements. Again, quantifying this impact would require specific performance benchmark data.

Examples for Improvement:

  • Implement Automated Regression Testing: To ensure code quality and security are not compromised by the upgrade, implement or enhance automated regression testing within your CI/CD pipeline.
  • Monitor Performance: After upgrading, monitor application performance metrics to capture any improvements or regressions caused by the new TypeScript version. This can assist in evaluating both cost and carbon usage impacts.

In sum, while the direct changes from the git diff primarily concern version updates in the yarn.lock file, the advised examples for improvement span across wider development practices to ensure that such updates are beneficial and seamlessly integrated into your projects.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from af6da16 to 52a5fe5 Compare February 28, 2025 15:10
@renovate renovate bot changed the title fix(deps): update dependency typescript to v5.7.3 Update dependency typescript to v5.7.3 Feb 28, 2025
Copy link

Yarn.lock Update Review

1. Dependency Update:

  • The update from TypeScript version 5.4.5 to 5.7.3 is noted. Be sure to verify that your codebase is compatible with this newer version. Specifically, review the TypeScript release notes for versions 5.5.0 to 5.7.3 to ensure there are no breaking changes affecting your project.

2. Security Concerns:

  • Always confirm the integrity SHA checksums for reliability and security. The new version's integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== appears correctly updated. However, proactively running a yarn audit after such updates can highlight any newly introduced vulnerabilities.

3. Performance and Cost:

  • There's no direct cost associated with updating a package version in yarn.lock, but indirect costs can stem from necessary changes in your codebase or potential downtime if the update introduces bugs or incompatibilities.
  • The updated TypeScript version may improve build times or efficiency through optimizations introduced in newer versions, although such improvements are highly specific to the changes made in the versions skipped.

4. Best Practices:

  • Version Compatibility: Ensure your project’s other dependencies are compatible with TypeScript 5.7.3. Compatibility issues might not be immediately apparent but could cause problems in the future.
  • Testing: After updating, run your full test suite to catch any issues that might arise from this update. This includes unit tests, integration tests, and ideally, end-to-end tests.

5. Carbon Usage:

  • Indirectly, using more efficient software can contribute to lower energy consumption, especially in large-scale or heavily used applications. However, the impact on carbon usage from this single version update is difficult to quantify without specific benchmarks showing performance improvements.

Additional Notes:

  • Documentation: Update any project documentation that specifies which versions of TypeScript are supported or required.
  • Continuous Integration (CI): Ensure that your CI pipelines reflect this update and that all environments where your code is built or deployed are using the updated TypeScript version.

Examples:

Testing for TypeScript Updates:

  • You could include a simple GitHub Actions workflow step that runs unit tests against the updated TypeScript version, assuming your project is hosted on GitHub):
    yaml
    jobs:
    test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-node@v2
    with:
    node-version: '14'
    - run: yarn install
    - run: yarn test
    
    

Documentation Update for TypeScript Version:

  • In your project’s README.md, mention the TypeScript version used:

    Prerequisites

    • Node.js 14.x
    • Yarn 1.x
    • TypeScript 5.7.3
    
    

Conclusion:

Ensure that the benefits of updating TypeScript outweigh any potential costs in terms of required codebase changes or compatibility issues. Regular dependency updates are crucial for security and performance but should be undertaken with due diligence.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from 52a5fe5 to cc2aad2 Compare February 28, 2025 15:41
Copy link

General Recommendations

  1. Version Management:

    • Ensure that the upgrade to TypeScript version 5.7.3 does not introduce breaking changes to your application. Review the TypeScript release notes for potential incompatibilities.
    • Consider using dependency ranges for TypeScript to automatically receive non-breaking updates. For example, using \"typescript\": \"^5.7.0\" instead of a fixed version can help with receiving bug fixes and minor features without manual updates, while still avoiding major version changes that might include breaking changes.
  2. Security:

    • Regularly check for security vulnerabilities in your dependencies. Remember, updating dependencies can introduce unanticipated security flaws. Use tools like yarn audit to analyze and mitigate vulnerability risks.
  3. Performance and Cost:

    • Dependency updates can have indirect effects on performance. Ensure that the new version of TypeScript does not negatively impact the compilation time or the runtime efficiency of your project. This is generally minor but can add up in large, complex projects.
    • The cost implications are minor for this change unless the project compilation time significantly increases, leading to increased build times in CI/CD pipelines. Monitor build times pre and post-update.
  4. Carbon Usage:

    • Indirect effect: if the new TypeScript version is more efficient or enables more efficient coding patterns, it could reduce computing resource needs. This, in turn, could lower carbon usage. Conversely, if it increases resource requirements, the opposite could be true. The effect is likely negligible for most projects but worth considering for large-scale applications.
  5. Code Quality and Best Practices:

    • Take advantage of new features and improvements in TypeScript 5.7.3 to enhance code quality. Review the new features and refactor your codebase where applicable to make the code more readable, maintainable, and efficient.
    • Ensure that all developers working on the project are aware of the TypeScript version change to avoid confusion or inconsistencies in developer environments. Consider updating documentation if necessary.
  6. Testing:

    • After updating TypeScript, thoroughly test your application to ensure that there are no regressions. Automated tests should be your first line of defense, but also consider manual testing for critical paths that might be affected by the update.
  7. Dependency Audit:

    • Review other dependencies in yarn.lock for updates, especially those closely related to TypeScript or those that might have compatibility issues with newer TypeScript versions.

Specific Example Enhancements

  • Before the Update:
    yaml
    typescript@^5.0.0:
    version "5.4.5"
    resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz
    integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
  • After the Update:
    typescript@^5.0.0:
      version \"5.7.3\"
      resolved \"https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz
      integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==
    • Ensure team members update their local development environments to avoid discrepancies in development and production.
    • Review and refactor the codebase to leverage new TypeScript features, such as new compiler options or syntax enhancements, for potential improvement in code quality and performance.
    • Plan and conduct a testing phase specifically targeted to evaluate the impact of the TypeScript version update, covering unit tests, integration tests, and end-to-end tests to ensure no regression occurs.

Adhering to these recommendations will help maintain a healthy, secure, and efficient codebase while leveraging the latest TypeScript version's benefits.

@renovate renovate bot changed the title Update dependency typescript to v5.7.3 Update dependency typescript to v5.8.2 Feb 28, 2025
@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from cc2aad2 to de13ce2 Compare February 28, 2025 17:25
Copy link

This diff indicates an upgrade of the TypeScript version from 5.4.5 to 5.8.2 in the yarn.lock file. Below are some areas for potential further improvement related to this change:

Code Quality

  • Verify Compatibility: Ensure that all your TypeScript code and any type definitions you rely on are compatible with TypeScript version 5.8.2. Sometimes, minor updates can introduce breaking changes or deprecations that might affect your codebase.

Security

  • Audit for Vulnerabilities: While updating dependencies, it's a good practice to run a security audit (yarn audit or npm audit) to check for any new vulnerabilities that the newer package versions might have.

Best Practice

  • Update Documentation: If there are specific TypeScript version requirements or features being used that are only available in TypeScript 5.8.2, make sure to update the project documentation accordingly.
  • Peer Dependencies: If your project is a library that is used by other projects, make sure that this TypeScript version update does not break the peer dependency requirements.

Cost & Carbon Usage

  • An upgrade like this shouldn't significantly impact direct costs or carbon usage. However, indirectly, using the latest versions can contribute to improved efficiency and reduced runtime costs if the newer version has performance optimizations. There's no specific cost or carbon usage change associated with this particular upgrade unless it either improves the overall efficiency of the code or requires more resources to run. Typically, TypeScript compilation time could slightly increase with more complex type checking in newer versions, but this is more of a build-time consideration than a runtime cost.

Example Actions:

  1. Testing: Perform thorough testing, including unit and integration tests, to ensure that the TypeScript upgrade does not introduce any issues.
  2. Peer Review: Have the code changes reviewed by team members who might be aware of potential compatibility issues with the new TypeScript version.
  3. Performance Monitoring: After deployment, closely monitor application performance metrics to ensure that the TypeScript upgrade does not negatively impact runtime efficiency.

In summary, while the diff shows a straightforward dependency version bump, it's crucial to take a holistic approach to ensure that this upgrade seamlessly integrates with your project without introducing unexpected issues.

@renovate renovate bot force-pushed the renovate/typescript-5.x-lockfile branch from de13ce2 to 1e35df5 Compare March 3, 2025 20:13
Copy link

github-actions bot commented Mar 3, 2025

Review of TypeScript Version Update in yarn.lock

Code Quality and Best Practice

  1. Dependencies Update Justification:
    Ensure the need to update TypeScript from 5.4.5 to 5.8.2 is clearly documented, either in the commit message or project documentation. Include reasons such as bug fixes, security patches, or new features required by the project.

  2. Compatibility Check:
    Verify that the updated TypeScript version is compatible with other dependencies in the project. Incompatibilities might lead to build or runtime errors. Explicitly test or review the project's dependencies for any noted compatibility issues with TypeScript 5.8.2.

  3. Testing and Validation:

    • Prior to merging this update into a main branch, extensive testing should be performed to ensure that existing functionality is not broken.
    • Utilize TypeScript's stricter type checks, if any are introduced in 5.8.2, to enhance code quality.
  4. Migration Guide Review:

    • Review the TypeScript 5.8.2 release notes and migration guide for any breaking changes or deprecations. Implement necessary changes in the codebase to conform with the new version's best practices.

Security

  • Regular Updates: Applying regular updates, as shown, can improve security by including patches for vulnerabilities found in earlier versions. Ensure to keep this practice for all dependencies, not just TypeScript.

  • Audit for Vulnerabilities:

    • Utilize tools like yarn audit to scan for vulnerabilities in dependencies, including TypeScript. While this update is a good step, it's essential to continuously monitor for new vulnerabilities.

Cost and Carbon Usage

  • The direct cost impact of updating a TypeScript version in development dependencies is minimal in terms of GBP. However, if the new version leads to significantly faster compile times or runtime improvements, this could indirectly affect cost by reducing the computing resources needed during development and deployment cycles.
  • Assuming a more efficient TypeScript version could lead to a slight reduction in electricity use and thus, a minor decrease in carbon footprint. This is speculative and would need practical benchmarking to confirm. The real impact is likely negligible on a small to medium scale but could be more pronounced in large-scale applications.

Example Recommendations:

  • Commit Message Example: "Updated TypeScript to 5.8.2 for [Reasons: bug fixes, improved typing, performance improvements]. Extensively tested all functionalities for compatibility with no issues found. Reviewed migration guide; no breaking changes affecting our codebase."

  • Documentation Note Example: In the project's technical documentation or the relevant update section, include a note like: "TypeScript was updated to version 5.8.2 on [Date]. This update was applied to introduce [Feature Improvements/Performance Enhancements] and to keep our dependencies secure and up-to-date. All existing functionalities were tested post-update to ensure compatibility."

By adhering to these recommended practices, your project can maintain high standards of quality, security, and performance while potentially contributing to cost efficiency and environmental sustainability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
demo_apim - TerraformPlanApply/no-changes demo_apim_appgw - TerraformPlanApply/add-or-update demo_apim_appgw/add-or-update demo_apim/no-changes demo_appgateway - TerraformPlanApply/add-or-update demo_appgateway/add-or-update demo_backendappgateway/add-or-update demo_frontdoor - TerraformPlanApply/add-or-update demo_frontdoor/add-or-update dependencies Pull requests that update a dependency file dev_apim - TerraformPlanApply/no-changes dev_apim_appgw - TerraformPlanApply/add-or-update dev_apim_appgw/add-or-update dev_apim/no-changes dev_appgateway - TerraformPlanApply/add-or-update dev_appgateway/add-or-update dev_backendappgateway/add-or-update dev_frontdoor - TerraformPlanApply/add-or-update dev_frontdoor/add-or-update dev_trafficmanager - TerraformPlanApply/no-changes dev_trafficmanager/no-changes ithc_apim - TerraformPlanApply/no-changes ithc_apim_appgw - TerraformPlanApply/add-or-update ithc_apim_appgw/add-or-update ithc_apim/no-changes ithc_appgateway - TerraformPlanApply/add-or-update ithc_appgateway/add-or-update ithc_backendappgateway/add-or-update ithc_frontdoor - TerraformPlanApply/add-or-update ithc_frontdoor/add-or-update prod_apim - TerraformPlanApply/no-changes prod_apim_appgw - TerraformPlanApply/add-or-update prod_apim_appgw/add-or-update prod_apim/no-changes prod_appgateway - TerraformPlanApply/add-or-update prod_appgateway/add-or-update prod_backendappgateway/add-or-update prod_frontdoor - TerraformPlanApply/add-or-update prod_frontdoor/add-or-update prod_shutter_static_webapp/add-or-update prod_trafficmanager/no-changes sbox_apim - TerraformPlanApply/no-changes sbox_apim_appgw - TerraformPlanApply/add-or-update sbox_apim_appgw/add-or-update sbox_apim/no-changes sbox_appgateway - TerraformPlanApply/add-or-update sbox_appgateway/add-or-update sbox_backendappgateway/add-or-update sbox_frontdoor - TerraformPlanApply/add-or-update sbox_frontdoor/add-or-update sbox_shutter_static_webapp/add-or-update stg_apim - TerraformPlanApply/no-changes stg_apim_appgw - TerraformPlanApply/add-or-update stg_apim_appgw/add-or-update stg_apim/no-changes stg_appgateway - TerraformPlanApply/add-or-update stg_appgateway/add-or-update stg_backendappgateway/add-or-update stg_frontdoor - TerraformPlanApply/add-or-update stg_frontdoor/add-or-update test_apim - TerraformPlanApply/no-changes test_apim_appgw - TerraformPlanApply/add-or-update test_apim_appgw/add-or-update test_apim/no-changes test_appgateway - TerraformPlanApply/add-or-update test_appgateway/add-or-update test_backendappgateway/add-or-update test_frontdoor - TerraformPlanApply/add-or-update test_frontdoor/add-or-update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant