# remix-url-resolver

> Solidity import url resolver engine

Latest version **0.0.16** (published 2020-06-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install remix-url-resolver
pnpm add remix-url-resolver
yarn add remix-url-resolver
bun add remix-url-resolver
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.16 |
| Published | 2020-06-26 |
| First published | 2019-01-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 20.2 KB |
| Known vulnerabilities | 0 (+24 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1165 |
| Author | Remix Team |
| Maintainers | 0mkar, aniket-engg, grandschtroumpf, iurimatias, lianahus, yann300 |
| Keywords | solidity, remix, resolve, import |

## Links

- npm: https://www.npmjs.com/package/remix-url-resolver
- Repository: https://github.com/ethereum/remix
- Homepage: https://github.com/ethereum/remix#readme
- Issues: https://github.com/ethereum/remix/issues
- npm.io page: https://npm.io/package/remix-url-resolver

## Dependencies (4)

- [url](https://npm.io/package/url.md) ^0.11.0
- [solc](https://npm.io/package/solc.md) ^0.6.0
- [axios](https://npm.io/package/axios.md) ^0.18.0
- [valid-url](https://npm.io/package/valid-url.md) ^1.0.9

## Alternatives

- [base64url](https://npm.io/package/base64url.md) — 6.1M weekly downloads
- [get-installed-path](https://npm.io/package/get-installed-path.md) — 502.9K weekly downloads
- [@uppy/url](https://npm.io/package/@uppy/url.md) — 185.8K weekly downloads
- [@d3fc/d3fc-shape](https://npm.io/package/@d3fc/d3fc-shape.md) — 16.2K weekly downloads
- [localizer](https://npm.io/package/localizer.md) — 226 weekly downloads

## Recent versions

- 0.0.16 (latest) — 2020-06-26
- 0.0.14 (Dev2742) — 2020-04-25
- 0.0.15 — 2020-04-28
- 0.0.13 — 2020-04-23
- 0.0.12 — 2020-02-21
- 0.0.11 — 2020-01-10
- 0.0.10 — 2019-12-23
- 0.0.9 — 2019-12-10
- 0.0.8 — 2019-12-06
- 0.0.7 — 2019-12-03
- 0.0.6 — 2019-09-20
- 0.0.5 — 2019-04-03
- 0.0.4 — 2019-03-29
- 0.0.3 — 2019-01-28
- 0.0.2 — 2019-01-24
- … 1 more at https://npm.io/package/remix-url-resolver/versions

## README

## Remix URL resolver engine

`resolve(url, urlHandler)`

Returns `json` object with exact same path as `import` statement.

**Output**
```json
{
	content: 'pragma solidity ^0.5.0;\nimport "./mortal.sol";\n\ncontract Greeter is Mortal {\n    /* Define variable greeting of the type string */\n    string greeting;\n\n    /* This runs when the contract is executed */\n    constructor(string memory _greeting) public {\n        greeting = _greeting;\n    }\n\n    /* Main function */\n    function greet() public view returns (string memory) {\n        return greeting;\n    }\n}\n',
	cleanURL: '../greeter.sol',
	type: 'local'
}
```

#### Usage

`resolve(url, urlHandler)` function should be called from within `handleImportCb` function of `solc.compile(input, handleImportCb)`.

```ts
import { RemixURLResolver } from 'remix-url-resolver'

const urlResolver = new RemixURLResolver()
const fileName: string = '../greeter.sol'
urlResolver.resolve(fileName, urlHandler)
	.then((sources: object) => {
		console.log(sources)
	})
	.catch((e: Error) => {
		throw e
	})
```

#### References

* [TypeScript Publishing](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html)
* [DefinitelyTyped 'Create a new package' guide](https://github.com/DefinitelyTyped/DefinitelyTyped#create-a-new-package)

---
_Source: https://npm.io/package/remix-url-resolver · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
