For the complete documentation index, see llms.txt. This page is also available as Markdown.

dryRun Command: Troubleshooting and Validation

Validate your slnodejs setup locally, review dryRun output, and fix common configuration issues before CI.

Use dryRun to validate your slnodejs setup locally before you spend time on CI runs.

It helps you confirm that SeaLights scans the right files, resolves the right sources, and catches configuration issues early.

dryRun does not replace your CI integration.

It creates a local report only and does not send data to SeaLights.

When to use dryRun

Use dryRun during first-time setup, when the scan includes unexpected files, when source maps do not resolve as expected, or when NYC coverage paths do not line up with the build scan.

It is the fastest way to see what the agent will analyze before you move the flow into CI.

Before you start

Make sure the slnodejs agent is installed. See Downloading the Node.js Agent.

Run the command

Since dryRun runs locally, it does not require a token or a build session ID.

Start with the smallest command that matches your build.

At minimum, pass --scanDir for the build output directory and --scmType for the source control type, usually git or none.

In most cases, add --verbose so the console output is easier to read. Use --instrumentForBrowsers for front-end browser builds. Add --hasNycReport and --report only when unit test coverage is part of the integration.

If unit tests are in scope, validate the NYC JSON coverage file in the same run:

After the command completes, use the summary table to find the first issue to fix.

Example output:

All details, including warnings, errors, and logs, are written to sl-dry-run-output.

Start with the smallest real build output you can validate.

That makes the first troubleshooting pass easier to understand.

1

Run dryRun

Run the command against the build output folder.

Start with the minimal command first.

Add NYC validation only if unit test coverage is in scope. That keeps the first troubleshooting cycle focused on build scan quality.

2

Read the summary table

Use the Status and Message columns to identify the first failing check.

Do not try to fix every warning at once. Start with the first issue that changes scan scope or source mapping.

Those issues often cause the rest of the output to look worse than it really is.

3

Review generated files and fix the main issues

Open the files under sl-dry-run-output to confirm what the agent actually scanned.

Start with included-files.json and excluded-files.json. These two files tell you whether the right files are in scope and whether the current exclusions are working as expected.

Next, review sl-mapping.json to see how source maps resolve back to source files. Use agent-events.json when you need the full warning or error details behind the summary table.

By this point, you can usually tell whether the next fix is about scan scope, source maps, or path alignment.

Fix scan scope first

Exclude files that your developers do not maintain first.

This reduces scan time and improves coverage quality. It also makes the rest of the validation easier to interpret.

If included-files.json contains bundled framework files, vendor assets, or generated output that should not be part of the project scope, update .slignore or .slignore.generated and run dryRun again.

For ignore rule examples, see Ignoring Files or Folders.

Fix source maps next

For front-end builds, open sl-mapping.json and confirm that each mapped source points to a real file in your repository.

If the paths are wrong, review your build's source map configuration before you continue with other fixes. When source maps are wrong, method names, path alignment, and coverage mapping often become noisy at the same time.

See Javascript & Node.js Source Map Files for source map requirements and examples.

Share the output folder with support when you hit a blocker

If the output still does not make the next fix clear, package the entire sl-dry-run-output folder and share it with support.

Attach the ZIP file to a support portal ticket through Contact Support. If you already have an active support email thread, attach the same ZIP there.

Include a short note with the command you ran, the main warning or error, and whether the issue is about scan scope, source maps, or NYC validation.

4

Run dryRun again

Repeat until the remaining warnings are expected and understood.

When scope and source maps are correct, the remaining issues are usually much easier to resolve.

At that point, you can move on to CI integration with far fewer surprises.

Map each summary item to the next fix

lightbulb-on

Once you know which row failed, use the table below to choose the most likely next fix.

This mapping helps you move from the command output to the right remediation step without guessing.

Summary item
What it means
What to change

Column information

Your source maps do not include column information.

Regenerate source maps with both line and column mapping enabled.

Git Paths

The scanned project structure does not match the Git project structure.

Check --buildScanProjectRoot and make sure it aligns with your repository root.

Raw Third Parties

The scan includes bundled framework or vendor files.

Refine your scan scope and add exclusions in .slignore.

Logical Third Parties

Your source maps resolve to generated or third-party source files.

Fix source map generation and exclude irrelevant mapped files in .slignore.generated.

Nyc Paths

The NYC report paths or signatures do not match the SeaLights build scan.

Validate --buildScanProjectRoot and --nycProjectRoot.

Position Match

Method and branch positions in the NYC report differ too much from the SeaLights scan.

Make sure both analyses use the same code baseline and build configuration.

Common errors

Use these quick answers when you hit a common issue. Expand an item when you need the next step.

JavaScript heap out of memory

Usually means the process needs more memory or the scan scope is too broad.

First, confirm that the scan only includes files your team maintains. Large bundled files, generated assets, and third-party code can increase memory use quickly.

Then review JavaScript heap out of memory troubleshooting for the recommended fixes.

Column information warnings

Usually mean the source maps do not include column mapping

SeaLights needs both line and column information to map methods accurately.

If the warning appears, regenerate the source maps with full column mapping enabled and rerun dryRun.

See JavaScript & Node.js Source Map Files for the expected source map requirements.

Failure during instrumentation

Usually means the parser settings do not match the build

Check whether the build uses ES modules, JSX, or both. For ES modules, add --es6Modules. For React applications, add --babylonPlugins jsx.

If the error continues, review the parser-related options in Command Reference — Running a local validation (dryRun).

Raw Third Parties or Logical Third Parties warnings

Usually mean the scan scope or source maps are too broad

Start by checking whether bundled framework files or vendor files appear in included-files.json.

If they do, tighten .slignore or .slignore.generated. If the warning comes from mapped source files, review sl-mapping.json and fix the source map configuration.

For ignore rule examples, see Ignoring Files or Folders.

Command options reference

For dryRun flags and equivalent command mappings, see Command Reference — Running a local validation (dryRun).

Last updated

Was this helpful?