---
# Don't modify this file manually. This file is auto generated from source, and you will lose your changes next time the website is built.
# Head to the `biomejs/biome` repository, and modify the source code in there.

title: noUnresolvedImports
description: Learn more about noUnresolvedImports
---
import { Tabs, TabItem } from '@astrojs/starlight/components';

<Tabs>
<TabItem label="JavaScript (and super languages)" icon="seti:javascript">
:::caution
This rule is part of the [nursery](/linter/#nursery) group. This means that it is experimental and the behavior can change at any time.
:::
:::note
This rule belongs to the project domain. This means that its activation will activate the Biome Scanner, which might affect the performance. Read more about it in the [documentation page](/linter/domains#project)
:::
## Summary
- Rule available since: `v2.0.0`
- Diagnostic Category: [`lint/nursery/noUnresolvedImports`](/reference/diagnostics#diagnostic-category)
- This rule doesn't have a fix.
- The default severity of this rule is [**information**](/reference/diagnostics#information).
- This rule belongs to the following domains:
  - [`project`](/linter/domains#project)
- Sources: 
  - Inspired from [`import/named`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/named.md)

## How to configure
```json title="biome.json"
{
	"linter": {
		"rules": {
			"nursery": {
				"noUnresolvedImports": "error"
			}
		}
	}
}

```
## Description
Warn when importing non-existing exports.

Importing a non-existing export is an error at runtime or build time.
Biome can detect such incorrect imports and report errors for them.

Note that if you use TypeScript, you probably don't want to use this
rule, since TypeScript already performs such checks for you.

## Known Limitations

- This rule does not validate imports through dynamic `import()`
expressions or CommonJS `require()` calls.

## Examples

### Invalid

```js title='foo.js'
export function foo() {};
```

```js title='bar.js'
// Attempt to import symbol with a typo:
import { fooo } from "./foo.js";
```

<pre class="language-text"><code class="language-text"><a href="file:///bar.js">/bar.js</a>:2:10 <a href="https://biomejs.dev/linter/rules/no-unresolved-imports">lint/nursery/noUnresolvedImports</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━<br /><br />  <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">The path </span><span style="color: lightgreen;"><strong>./foo.js</strong></span><span style="color: lightgreen;"> has no export named </span><span style="color: lightgreen;"><strong>fooo</strong></span><span style="color: lightgreen;">.</span><br />  <br />    <strong>1 │ </strong>// Attempt to import symbol with a typo:<br />  <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong>import &#123; fooo &#125; from &quot;./foo.js&quot;;<br />   <strong>   │ </strong>         <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><br />    <strong>3 │ </strong><br />  <br />  <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Make sure that the path is correct and that you're importing the right symbol.</span><br />  <br />  <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit </span><span style="color: lightgreen;"><a href="https://biomejs.dev/linter/#nursery">https://biomejs.dev/linter/#nursery</a></span><span style="color: lightgreen;"> for more information.</span><br />  <br /></code></pre>

### Valid

```js title='foo.js'
export function foo() {};
```

```js title='bar.js'
// Fixed typo:
import { foo } from "./foo.js";
```

## Related links

- [Disable a rule](/linter/#disable-a-rule)
- [Configure the code fix](/linter#configure-the-code-fix)
- [Rule options](/linter/#rule-options)
- [Source Code](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/src/lint/nursery/no_unresolved_imports.rs)
- [Test Cases](https://github.com/biomejs/biome/blob/main/crates/biome_js_analyze/tests/specs/nursery/noUnresolvedImports)

</TabItem>
</Tabs>