# https://jsr.io/@scope/a/meta.json
{"versions": { "1.0.0": {} } }

# https://jsr.io/@scope/a/1.0.0_meta.json
{ "exports": { ".": "./mod.ts" } }

# https://jsr.io/@scope/a/1.0.0/mod.ts
export function test() {
}

// this should raise a diagnostic
test.localDecl = localDecl;

function localDecl(): string {
}

# mod.ts
import 'jsr:@scope/a'

# output
{
  "roots": [
    "file:///mod.ts"
  ],
  "modules": [
    {
      "kind": "esm",
      "dependencies": [
        {
          "specifier": "jsr:@scope/a",
          "code": {
            "specifier": "jsr:@scope/a",
            "resolutionMode": "import",
            "span": {
              "start": {
                "line": 0,
                "character": 7
              },
              "end": {
                "line": 0,
                "character": 21
              }
            }
          }
        }
      ],
      "size": 22,
      "mediaType": "TypeScript",
      "specifier": "file:///mod.ts"
    },
    {
      "kind": "esm",
      "size": 124,
      "mediaType": "TypeScript",
      "specifier": "https://jsr.io/@scope/a/1.0.0/mod.ts"
    }
  ],
  "redirects": {
    "jsr:@scope/a": "https://jsr.io/@scope/a/1.0.0/mod.ts"
  },
  "packages": {
    "@scope/a@*": "@scope/a@1.0.0"
  }
}

Fast check https://jsr.io/@scope/a/1.0.0/mod.ts:
  error[unsupported-expando-property]: expando property referencing 'localDecl' conflicts with 'test.localDecl'
   --> https://jsr.io/@scope/a/1.0.0/mod.ts:5:18
    |
  5 | test.localDecl = localDecl;
    |                  ^^^^^^^^^
    = hint: rename 'localDecl' to something else to avoid conflicts or create a temporary variable with a different name to use in the expando property reference

    info: expando properties get converted to a namespace and the reference conflicts with a namespace export
    docs: https://jsr.io/go/slow-type-unsupported-expando-property
