Registry
Ccodemod avatar

codemod/arm-detect-prod-debug-settings

Disable production-unsafe ARM template debug settings in JSON templates and embedded JS/TS object literals by turning verbose deployment diagnostics and app-service tracing flags into safe production defaults.

codemod0 executions

  • arm
  • azure
  • json
  • transformation
  • production-hardening
Connect a repo
npx codemod @codemod/arm-detect-prod-debug-settings

@codemod/arm-detect-prod-debug-settings

Disable production-unsafe debug settings in Azure Resource Manager (ARM) templates and embedded ARM resource objects.

Installation

bash
# Install from registry
npx codemod@latest @codemod/arm-detect-prod-debug-settings

# Or run locally
npx codemod@latest workflow run -w .

Usage

This codemod rewrites ARM deployment templates and embedded ARM object literals when they contain resource-template markers such as $schema, resources, apiVersion, or ARM resource type values.

It makes these source rewrites:

  • debugSetting.detailLevel -> "none"
  • debugSetting.enabled -> false
  • detailedErrorLoggingEnabled -> false
  • failedRequestTracingEnabled -> false
  • httpLoggingEnabled -> false
  • remoteDebuggingEnabled -> false
  • requestTracingEnabled -> false

Targeted files:

  • .json ARM templates
  • .js, .mjs, .cjs, .ts, .jsx, .tsx files that embed ARM template/resource objects

Preserve/no-op cases:

  • Non-ARM JSON or object literals with similarly named keys stay unchanged
  • Settings already at safe values stay unchanged
  • Unrelated local variables such as const requestTracingEnabled = true stay unchanged

Example:

json
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2022-09-01",
      "properties": {
        "debugSetting": {
          "detailLevel": "requestContent,responseContent",
          "enabled": true
        }
      }
    }
  ]
}

becomes:

json
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2022-09-01",
      "properties": {
        "debugSetting": {
          "detailLevel": "none",
          "enabled": false
        }
      }
    }
  ]
}

Development

bash
# Test the transformation
pnpm test

# Validate the workflow
npx codemod@latest workflow validate -w .

# Publish to registry
npx codemod@latest login
npx codemod@latest publish

License

MIT

Ready to evolve your codebase?

Build tailored, compiler-aware skills to assess, plan, and automate complex codebase changes.