Skip to content

Comments

Handle missing source in sourcemap gracefully#1250

Merged
josephjclark merged 2 commits intorelease/nextfrom
fix/sourcemap-missing-source
Feb 17, 2026
Merged

Handle missing source in sourcemap gracefully#1250
josephjclark merged 2 commits intorelease/nextfrom
fix/sourcemap-missing-source

Conversation

@elias-ba
Copy link
Contributor

@elias-ba elias-ba commented Feb 15, 2026

Short Description

Use the returnNullOnMissing parameter of sourceContentFor to avoid throwing when the source file isn't in the sourcemap (e.g. when no adaptor is provided).

See #1249

Implementation Details

When running a job without an adaptor (openfn job.js), the compiler produces a sourcemap that doesn't contain the expected file entries. If the job then errors, sourcemap-errors.ts tries smc.sourceContentFor(fileName) which throws, triggering a confusing console.warn("Error occurred trying to resolve sourcemap for ...") before the actual error.

The fix passes true as the second argument to sourceContentFor, which makes it return null instead of throwing when the source isn't found. We then skip setting error.pos.src if there's no content.

QA Notes

  1. Run openfn job.js without -a on a job that uses adaptor functions (e.g. get(...))
  2. Verify the sourcemap warning no longer appears, only the actual ReferenceError is shown

AI Usage

  • Code generation (copilot but not intellisense)
  • Learning or fact checking
  • Strategy / design
  • Optimisation / refactoring
  • Translation / spellchecking / doc gen
  • Other
  • I have not used AI

Use the returnNullOnMissing parameter of sourceContentFor to avoid
throwing when the source file isn't in the sourcemap (e.g. when no
adaptor is provided).

See #1249
@github-project-automation github-project-automation bot moved this to New Issues in v2 Feb 15, 2026
@elias-ba
Copy link
Contributor Author

Hey @josephjclark the approach I am taking here was suggested by Claude Code and kind of made sense to me. But I want you to look at this and see if it's a fix you'd want. I am just learning here and exploring the code. Thanks man

@josephjclark josephjclark changed the base branch from main to release/next February 17, 2026 12:51
@josephjclark josephjclark merged commit 0842791 into release/next Feb 17, 2026
6 checks passed
@github-project-automation github-project-automation bot moved this from New Issues to Done in v2 Feb 17, 2026
@josephjclark josephjclark deleted the fix/sourcemap-missing-source branch February 17, 2026 12:51
josephjclark added a commit that referenced this pull request Feb 17, 2026
* Handle missing source in sourcemap gracefully (#1250)

* Handle missing source in sourcemap gracefully

Use the returnNullOnMissing parameter of sourceContentFor to avoid
throwing when the source file isn't in the sourcemap (e.g. when no
adaptor is provided).

See #1249

* Trigger CI re-run

* changeset

* Validate API key and endpoint before making requests (#1251)

* Validate API key and endpoint before making requests

Throw a clear error when OPENFN_API_KEY or OPENFN_ENDPOINT is missing
instead of letting it fall through to a cryptic TypeError: Invalid URL.

See #1249

* Move endpoint validation to getLightningUrl

The endpoint can come from the local project file (not just env/CLI
args), so validating in loadAppAuthConfig is too early. Move the check
to getLightningUrl where the endpoint is actually consumed.

* default endpoint

* changelog

* Deploy new project (#1258)

* project: allow project name to be overriden when loading from fs

* slugify project name

* add --new flag to deploy to enable a new project to be created

* fix local  aliasing

* remove .only

* update test

* versions: cli@1.27.0 worker@1.21.4

---------

Co-authored-by: Elias Waly Ba <eliaswalyba@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants