Mops is a package manager for the Motoko programming language.
curl -fsSL cli.mops.one/install.sh | sh
or
npm i -g ic-mops
Add mops
as a packtool to your dfx.json
{
"defaults": {
"build": {
"packtool": "mops sources"
}
}
}
Run this command in the root directory of your project (where is dfx.json
placed)
mops init
Use mops add <package_name>
to install a specific package and save it to mops.toml
mops add base
You can also add packages from GitHub like this
mops add https://github.com/dfinity/motoko-base
For GitHub-packages you can specify branch, tag, or commit hash by adding #<branch/tag/hash>
mops add https://github.com/dfinity/motoko-base#moc-0.9.1
You can also add local packages like this (put source files inside src
directory)
mops add ./shared
Use mops install
to install all packages specified in mops.toml
mops install
Now you can import installed packages in your Motoko code
import PackageName "mo:<package_name>";
for example
import Itertools "mo:itertools/Iter";
Create new identity to publish packages
dfx identity new mops
Import identity into mops
mops user import -- "$(dfx identity export mops)"
Run this command in your package root and select type "Package"
mops init
Edit description
and repository
fields in mops.toml
file.
Write your package code in *.mo
source files in the src/
directory.
Create README.md
file with information on how to use your package.
Publish package to the mops registry!
mops publish
Built for the Supernova Hackathon