MOPS - on-chain package manager for Motoko!

Overview of updates 31.01.2023

Update your cli tool to get new features:

npm i ic-mops -g

Domain mops.one

Now you can access http://mops.one without redirect. Also there is no more /#/ in the url:

Before https://j4mwm-bqaaa-aaaam-qajbq-cai.ic0.app/#/package/base

Now https://mops.one/base

Search from cli

Use mops search <search_text> to search for packages directly from the CLI.

Install specific package version

Use mops add <pkg>@<ver> to install specific package version:
For example:

mops add base@0.7.6

Local dependencies support

You can link local deps by providing relative or absolute path to the package directory:

For example mops.toml:

lib = "../shared/lib"

Motoko code:

import Lib "mo:lib";

Path will be resolved to ../shared/lib/src.
You can’t publish a package with local dependencies.

Cache

Now, when installing any package, mops will cache it on disk, so next time it will be installed faster from the disk cache!

New packages published on mops

:package:icrc1 is a full implementation of the ICRC-1 fungible token standard
:package:time-consts is a library with time constants to deal with nanoseconds
:package:ledger-types is a library with interface to interact with ICP ledger canister.
:package:candid_stringify is a library to convert any Candid data to a string
:package:cbor is a library that is written in Motoko that enables the encoding and decoding of CBOR between bytes and a CBOR variant type
:package:candid is a library that enables encoding/decoding of bytes to candid values.
:package:serde is serialization and deserialization library for Motoko.
:package:itertools is a library with utility functions and data types for creating efficient iterators in Motoko.
:package:xtended-numbers is a library that extends on the Motoko base library for numbers. Maily focuses on encoding of numbers and 16/32 bit precision floats.

11 Likes