Skip to content

Missing Sources in Source Map Since v0.24.1 #4104

@alan-agius4

Description

@alan-agius4

Issue: Missing Sources in Source Map Since v0.24.1

Expected Source Map Output

{
  "version": 3,
  "sources": ["entry.js", "app.component.html", "app.component.ts"],
  "sourcesContent": [
    "import { bootstrapApplication } from '@angular/platform-browser';\nimport { AppComponent } from './app.js';\n\nbootstrapApplication(AppComponent)\n  .catch((err) => console.error(err));",
    "<div>",
    "import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n  selector: 'app-root',\n  imports: [RouterOutlet],\n  templateUrl: './app.component.html',\n})\nexport class AppComponent {\n  title = 'ng19-sourcemap-repro';\n\n  onClick() {\n    debugger;\n  }\n}\n"
  ],
  "mappings": ";AAAA,SAAS,4BAA4B;;;;;;ACArC;;;ACAA,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAOtB,IAAM,eAAN,MAAMA,cAAY;EACvB,QAAQ;EAER,UAAO;AACL;EACF;;AALW,eAAY,WAAA;EALxB,UAAU;IACT,UAAU;IACV,SAAS,CAAC,YAAY;IACtB,UAAA;GACD;GACY,YAAY;;;AFLzB,qBAAqB,YAAY,EAC9B,MAAM,CAAC,QAAQ,QAAQ,MAAM,GAAG,CAAC;",
  "names": ["AppComponent"]
}

Actual Source Map Output

{
  "version": 3,
  "sources": ["entry.js", "app.component.html"],
  "sourcesContent": [
    "import { bootstrapApplication } from '@angular/platform-browser';\nimport { AppComponent } from './app.js';\n\nbootstrapApplication(AppComponent)\n  .catch((err) => console.error(err));",
    "<div>"
  ],
  "mappings": ";AAAA,SAAS,4BAA4B;A;;;;;ACArC;;;AAAA,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAOtB,IAAM,eAAN,MAAMA,cAAY;EACvB,QAAQ;EAER,UAAO;AACL;EACF;;AALW,eAAY,WAAA;EALxB,UAAU;IACT,UAAU;IACV,SAAS,CAAC,YAAY;IACtB,UAAA;GACD;GACY,YAAY;;;ADLzB,qBAAqB,YAAY,EAC9B,MAAM,CAAC,QAAQ,QAAQ,MAAM,GAAG,CAAC;",
  "names": ["AppComponent"]
}

Summary of Issue

  • Since version 0.24.1, the source map is missing app.component.ts.
  • This results in incomplete sources and sourcesContent, which impacts debugging.
  • The expected output includes app.component.ts, but the actual output omits it.
  • Strangely, if the first import in entry.js import { bootstrapApplication } from '@angular/platform-browser'; is omitted, the sources are generated as expected.

Reproduction

https://esbuild.github.io/try/#YgAwLjI0LjIAewogIGZvcm1hdDogJ2VzbScsCiAgYWJzV29ya2luZ0RpcjogJy8nLAogIHNvdXJjZW1hcDogJ2V4dGVybmFsJywKICBvdXRkaXI6ICcvJywKICBidW5kbGU6IHRydWUsCiAgbG9hZGVyOiB7CiAgICAnLmh0bWwnOiAndGV4dCcsCiAgfSwKICBwYWNrYWdlczogJ2V4dGVybmFsJywKfQBlAGVudHJ5LmpzAGltcG9ydCB7IGJvb3RzdHJhcEFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7CmltcG9ydCB7IEFwcENvbXBvbmVudCB9IGZyb20gJy4vYXBwLmpzJzsKCmJvb3RzdHJhcEFwcGxpY2F0aW9uKEFwcENvbXBvbmVudCkKICAuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcihlcnIpKTsAAGFwcC5jb21wb25lbnQuaHRtbAA8ZGl2PgAAYXBwLmpzAGltcG9ydCB7IF9fZGVjb3JhdGUgfSBmcm9tICJ0c2xpYiI7CmltcG9ydCBfX05HX0NMSV9SRVNPVVJDRV9fMCBmcm9tICIuL2FwcC5jb21wb25lbnQuaHRtbCI7CmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnOwppbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInOwpsZXQgQXBwQ29tcG9uZW50ID0gY2xhc3MgQXBwQ29tcG9uZW50IHsKICAgIHRpdGxlID0gJ25nMTktc291cmNlbWFwLXJlcHJvJzsKICAgIG9uQ2xpY2soKSB7CiAgICAgICAgZGVidWdnZXI7CiAgICB9Cn07CkFwcENvbXBvbmVudCA9IF9fZGVjb3JhdGUoWwogICAgQ29tcG9uZW50KHsKICAgICAgICBzZWxlY3RvcjogJ2FwcC1yb290JywKICAgICAgICBpbXBvcnRzOiBbUm91dGVyT3V0bGV0XSwKICAgICAgICB0ZW1wbGF0ZTogX19OR19DTElfUkVTT1VSQ0VfXzAsCiAgICB9KQpdLCBBcHBDb21wb25lbnQpOwpleHBvcnQgeyBBcHBDb21wb25lbnQgfTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWVhCd0xtTnZiWEJ2Ym1WdWRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW1Gd2NDNWpiMjF3YjI1bGJuUXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3UVVGQlFTeFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMRTFCUVUwc1pVRkJaU3hEUVVGRE8wRkJRekZETEU5QlFVOHNSVUZCUlN4WlFVRlpMRVZCUVVVc1RVRkJUU3hwUWtGQmFVSXNRMEZCUXp0QlFVOTRReXhKUVVGTkxGbEJRVmtzUjBGQmJFSXNUVUZCVFN4WlFVRlpPMGxCUTNaQ0xFdEJRVXNzUjBGQlJ5eHpRa0ZCYzBJc1EwRkJRenRKUVVVdlFpeFBRVUZQTzFGQlEwd3NVVUZCVVN4RFFVRkRPMGxCUTFnc1EwRkJRenREUVVOR0xFTkJRVUU3UVVGT1dTeFpRVUZaTzBsQlRIaENMRk5CUVZNc1EwRkJRenRSUVVOVUxGRkJRVkVzUlVGQlJTeFZRVUZWTzFGQlEzQkNMRTlCUVU4c1JVRkJSU3hEUVVGRExGbEJRVmtzUTBGQlF6dFJRVU4yUWl3NFFrRkJiVU03UzBGRGNFTXNRMEZCUXp0SFFVTlhMRmxCUVZrc1EwRk5lRUlpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNkQVlXNW5kV3hoY2k5amIzSmxKenRjYm1sdGNHOXlkQ0I3SUZKdmRYUmxjazkxZEd4bGRDQjlJR1p5YjIwZ0owQmhibWQxYkdGeUwzSnZkWFJsY2ljN1hHNWNia0JEYjIxd2IyNWxiblFvZTF4dUlDQnpaV3hsWTNSdmNqb2dKMkZ3Y0MxeWIyOTBKeXhjYmlBZ2FXMXdiM0owY3pvZ1cxSnZkWFJsY2s5MWRHeGxkRjBzWEc0Z0lIUmxiWEJzWVhSbFZYSnNPaUFuTGk5aGNIQXVZMjl0Y0c5dVpXNTBMbWgwYld3bkxGeHVmU2xjYm1WNGNHOXlkQ0JqYkdGemN5QkJjSEJEYjIxd2IyNWxiblFnZTF4dUlDQjBhWFJzWlNBOUlDZHVaekU1TFhOdmRYSmpaVzFoY0MxeVpYQnlieWM3WEc1Y2JpQWdiMjVEYkdsamF5Z3BJSHRjYmlBZ0lDQmtaV0oxWjJkbGNqdGNiaUFnZlZ4dWZWeHVJbDE5

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions