Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
mo-dev
Advanced tools
Readme
mo-dev
A live reload development server for Motoko smart contracts.
mo-dev
is a flexible command-line tool for speeding up your Motoko development workflow.
Get started with a full-stack Vite + React + Motoko project directly in your browser:
Run the following command (requires Node.js ≥ 16):
npm i -g mo-dev
Note: standalone
mo-dev
binaries are also available as GitHub releases.
Once installed, view the available command-line options by passing the --help
flag:
mo-dev --help
Check out the Vite + React + Motoko starter project for an example of how to integrate mo-dev
into a modern full-stack webapp.
Regenerate type declarations on Motoko file change (--generate
or -g
):
mo-dev --generate
Deploy canisters on Motoko file change (--deploy
or -d
):
mo-dev --deploy
Automatically respond "yes" to reinstall prompts (--yes
or -y
; may clear canister state):
mo-dev --deploy -y
Run unit tests (*.test.mo
) on Motoko file change (--test
or -t
):
mo-dev --test
Run an arbitrary command on Motoko file change (--exec
or -x
):
mo-dev --exec 'npm run my-reload-script'
Specify the working directory (--cwd
or -C
; should contain a dfx.json
file):
mo-dev --cwd path/to/dfx_project
Only run the dev server for specific canisters (--canister
or -c
):
mo-dev --canister foo --canister bar --deploy
Pass an installation argument to dfx deploy
(--argument
or -a
):
mo-dev --deploy --argument '()'
Show additional debug output in the console (--verbose
or -v
):
mo-dev -v # more verbose
mo-dev -vv # extra verbose
Programmatically start mo-dev
using JavaScript:
import devServer from 'mo-dev';
// Default settings
devServer();
// Custom settings
devServer({
directory: '.',
port: 7700,
verbosity: 0,
// ...
});
mo-test
The mo-dev
npm package includes a mo-test
command which can be used to run unit tests in CI workflows.
View all available options:
mo-test --help
Run all Motoko unit tests (*.test.mo
):
mo-test
Run all Motoko unit tests using a WASI runtime by default (faster but requires installing Wasmtime on your system):
mo-test --testmode wasi
Configure the runtime of an individual unit test by including the following comment in a *.test.mo
file:
// @testmode wasi
Run specific unit tests by passing a file name prefix (-f
or --testfile
):
mo-test -f Foo -f Bar # (only run tests for files starting with `Foo` or `Bar`)
These options may also be passed directly into the mo-dev
command (e.g. mo-dev --testmode wasi -f SomeTest
).
mo-dev
is early in development. Please feel free to report a bug, ask a question, or request a feature on the project's GitHub issues page.
Contributions are welcome! Please check out the contributor guidelines for more information.
FAQs
A live reload development server for Motoko smart contracts.
The npm package mo-dev receives a total of 33 weekly downloads. As such, mo-dev popularity was classified as not popular.
We found that mo-dev demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.