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