Package Exports
- @icdevs-org/inspectmo
- @icdevs-org/inspectmo/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@icdevs-org/inspectmo) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
InspectMo Codegen CLI
Generate InspectMo boilerplate from Candid (.did) files and integrate simple build hooks.
This is the CLI tool for InspectMo. It is separate from the Motoko library and can be installed globally or used via npx.
Install
Global (recommended):
npm i -g @icdevs-org/inspectmo- Then run:
inspectmo --help
One-off usage (no global install):
npx @icdevs-org/inspectmo@latest --help
Requirements: Node.js 18+.
Usage
Show help
inspectmo --help
Generate code from a Candid file
inspectmo generate path/to/service.did -o src/generated/service-inspect.mo- Flags:
--no-accessorsSkip accessor functions--no-inspectSkip inspect template--no-guardSkip guard template--no-methodsSkip method extraction--no-commentsSkip documentation comments
Analyze a Candid file (no code generation)
inspectmo analyze path/to/service.did
Discover .did files in a project and optionally generate
inspectmo discover . --output src/generated/ --generate- Options:
--include <patterns...>defaults to**/*.didand.dfx/**/*.did--exclude <patterns...>defaults tonode_modules/**and.git/**--suggestprint integration suggestions
Build system hooks (DFX only)
- Install:
inspectmo install-hooks . --output src/generated/ - Status:
inspectmo status . - Uninstall:
inspectmo uninstall-hooks . - Note: mops.toml does not support prebuild hooks; only DFX integration is supported.
- Install:
Examples
Minimal generate:
inspectmo generate src/candid/main.did -o src/generated/main-inspect.mo
Analyze only:
inspectmo analyze src/candid/user.did
Project-wide discover and generate:
inspectmo discover . --generate --output src/generated/
Local development
From the repo root:
cd tools/codegen
npm ci
npm run build
node dist/cli.js --helpOptional: set up a local global link (may require writable npm prefix):
npm link
# If EACCES occurs, set a user prefix:
npm config set prefix ~/.npm-global
export PATH="$HOME/.npm-global/bin:$PATH"
npm linkTroubleshooting
- EACCES on
npm linkornpm i -gon macOS: usenpx @icdevs-org/inspectmo@latest, or set an npm user prefix as shown above. - Not generating files: ensure the input
.didpath exists and the output directory is writable. - didc not found or no types generated: install didc and ensure it’s on PATH, or specify a custom path via an environment variable:
DIDC=/opt/homebrew/bin/didc inspectmo generate path/to/service.did -o src/generated/service-inspect.mo
License
MIT
Issues
Report issues at: https://github.com/icdevsorg/inspect-mo/issues