---
title: "Source Map"
locale: "en"
version: "1.x"
canonicalUrl: "https://farmfe.org/docs/1.x/features/sourcemap"
publicationStatus: "prerelease"
---

<a id="source-map"></a>
# Source Map


Farm supports ` Source Map `, which is automatically enabled by default. Sourcemap can be ` enable ` or ` disable ` via the [` compilation.sourcemap `](</docs/config/compilation-options#sourcemap>) option.



> [!NOTE]
> note
> 
> Farm will not generate sourcemap for files under ` node_modules ` by default, if you want to generate sourcemap for files under node\_modules, configure ` compilation.sourcemap ` to ` all `.



Using ` compilation.sourcemap ` to configuring sourcemap generation:


```ts
export default {
   compilation: {
     sourcemap: 'all', // generate sourcemap for modules under node_modules
   },
};
```


All options are as below:


- **` true `**: Only generate sourcemap for files not under ` node_modules `, and generate a **separate sourcemap file**
- **` false `**: disable sourcemap
- **` inline `**: Only generate sourcemap for files not under ` node_modules `, and inline sourcemap into the product, do not generate a separate file
- **` all `**: generate sourcemap for all files, and generate a separate sourcemap file
- **` all-inline `**: Generate source maps for all files, and inline source maps into the product, do not generate separate files



> [!NOTE]
> note
> 
> For plugin authors, if you transform the code in [` transform hook `](</docs/api/rust-plugin-api#transform>) or [` renderResourcePot hook `](</docs/api/rust-plugin-api#render_resource_pot>), you should return the source map of your transformation to ensure source map is correct. Farm maintains a **source map chain** of plugins to trace the final resources back to the real original code.
