# ice

> Ice for JavaScript runtime

Latest version **3.7.110** (published 2026-02-03) · GPL-2.0 license · 0 weekly downloads

## Install

```sh
npm install ice
pnpm add ice
yarn add ice
bun add ice
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; has provenance; high maintenance score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 3.7.110 |
| Published | 2026-02-03 |
| First published | 2015-05-04 |
| Weekly downloads | 0 |
| License | GPL-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=18 |
| Dependencies | 0 |
| Unpacked size | 4.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 2192 |
| Author | Zeroc, Inc. |
| Maintainers | pepone, zeroc-npm, externl |
| Keywords | Ice, rpc |

## Links

- npm: https://www.npmjs.com/package/ice
- Repository: https://github.com/zeroc-ice/ice
- Homepage: https://zeroc.com
- Issues: https://github.com/zeroc-ice/ice/issues
- npm.io page: https://npm.io/package/ice

## Recent versions

- 3.7.110 (latest) — 2026-02-03
- 3.7.100 — 2023-11-06
- 3.7.90 — 2023-03-24
- 3.7.80 — 2022-08-04
- 3.7.72 — 2022-05-31
- 3.7.71 — 2022-02-28
- 3.7.70 — 2022-01-26
- 3.6.5-1 — 2021-07-13
- 3.7.60 — 2021-06-24
- 3.7.7-pre.1 — 2021-06-21
- 3.7.6 — 2021-06-21
- 3.7.5 — 2021-01-26
- 3.7.4 — 2020-05-27
- 3.7.3 — 2019-10-16
- 3.6.5 — 2019-08-13
- … 11 more at https://npm.io/package/ice/versions

## README

# Ice For JavaScript

[Getting started] | [Examples] | [NPM packages] | [Documentation] | [Building from source]

The [Ice framework] provides everything you need to build networked applications,
including RPC, pub/sub, server deployment, and more.

Ice for JavaScript is the JavaScript implementation of the Ice framework.

## Sample Code

```slice
// Slice definitions (Hello.ice)

module Demo
{
    interface Hello
    {
        void sayHello();
    }
}
```

```javascript
// Client application (client.js)
let communicator;
try
{
    communicator = Ice.initialize(process.argv);
    const hello = await Demo.HelloPrx.checkedCast(
        communicator.stringToProxy("hello:tcp -h localhost -p 10000"));
    await hello.sayHello();
}
catch(ex)
{
    console.log(ex.toString());
}
finally
{
   if(communicator)
   {
      await communicator.destroy();
   }
}
```

[Getting started]: https://archive.zeroc.com/ice/3.7/hello-world-application/writing-an-ice-application-with-javascript
[Examples]: https://github.com/zeroc-ice/ice-demos/tree/3.7/js
[NPM Packages]: https://www.npmjs.com/~zeroc
[Documentation]: https://archive.zeroc.com/ice/3.7
[Building from source]: https://github.com/zeroc-ice/ice/blob/3.7/js/BUILDING.md
[Ice framework]: https://github.com/zeroc-ice/ice

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