Improper handling of source maps with relative source roots
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- node.js, typescript
- Bereich
- devtools
Rechercherichtung
Beginnen Sie in src/hooks/instrument.ts an der im Issue referenzierten transform()-Stelle. Sehen Sie sich dann den WIP-Branch source-map-relative-root an und reproduzieren Sie das TypeORM-Beispiel. Überprüfen Sie, dass ein relatives sourceRoot anhand der Source-Map-URL statt anhand des Arbeitsverzeichnisses aufgelöst wird, und bestätigen Sie, dass der resultierende location.path sinnvoll ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Source maps can have sourceRoot property; it's defined as a string that's prepended to every entry in the sources list. The specification doesn't put any constraints on this field; consequently, this can be a relative directory (eg. ..).
In my understanding, the intended semantics is that it's to be resolved relative to the URL of the source map itself, eg. given { sourceRoot: '..', sources: 'a.js' } and source map at file:///example/source.js.map the resolved source URL should be ../a.js => file:///a.js.
appmap-node does not handle this case correctly. Consider for example typeorm-0.3.20; metadata-args/MetadataArgsStorage.js.map contains:
$ jq '{sources, sourceRoot}' node_modules/typeorm/metadata-args/MetadataArgsStorage.js.map
{
"sources": [
"../../src/metadata-args/MetadataArgsStorage.ts"
],
"sourceRoot": ".."
}
However, when instrumenting the file, relevant location.path in transform() (as determined by the debugger) reads nonsensical ../home/divide/projects/tmp/NestJS-TypeORM-Example/node_modules/typeorm/metadata-args/src/metadata-args/MetadataArgsStorage.ts (note the working directory in this run is /home/divide/projects/tmp/NestJS-TypeORM-Example/).
(The path as indicated by the source map would be incorrect in any case (file:////home/divide/projects/tmp/NestJS-TypeORM-Example/src/metadata-args/MetadataArgsStorage.ts by my reading) which seems to be a bug in typeorm build, but that's beside the point.)
Note: I started working on this issue, here's a WIP branch: https://github.com/getappmap/appmap-node/tree/wip/source-map-relative-root
- Vorherrschende Sprache
- TypeScript
- Sterne
- 13
- Forks
- 6
- Ø Merge
- 4 T. 14 Std.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus getappmap/appmap-node
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
getappmap/appmap-node#183 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
getappmap/appmap-node#182 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
getappmap/appmap-node#180 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Support better-sqlite3Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
getappmap/appmap-node#179 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Support TypeORMOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
getappmap/appmap-node#178 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in getappmap/appmap-node
Ähnliche Issues
-
fix(frontend): correct VITE_IS_DEVELPOMENT typo in shared/app.ts and align dev environment flagsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
vicharanashala/ajrasakha#1439 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add: TV5Monde AsieOffenapproved check:passed streams:add
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
codex-team/editor.js#3037 ·
-
complexity: trivial good first issue impact: low
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
ueberdosis/tiptap#8522 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
wormhole-foundation/wormhole#5062 ·
Maintainer antworten meist innerhalb von 1 Tag