Package Exports
- @initia/builder.js
- @initia/builder.js/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 (@initia/builder.js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
initia builder.js
This SDK is a Javascript wrapper for Initia Move Compiler using ffi-napi library.
How to install
$ npm install @initia/builder.jsHow to use
Build Move Package
import { MoveBuilder } from '@initia/builder.js';
async function buildExample() {
// recommend to use full package path, not relative path
// ex) path.resolve(__dirname, "../relative_path")
const builder = new MoveBuilder(/* path to move package */, {});
// execute move compiler via ffi
await builder.build();
// load compiled module bytes as `Buffer`
const compiledModuleBytes = await builder.get(/* module name */);
console.info(compiledModuleBytes.toString('hex'));
// change module name to what you want
const nameConvertedModuleBytes = await MoveBuilder.convert_module_name(compiledModuleBytes, /* new module name */);
console.info(nameConvertedModuleBytes.toString('hex'));
}
Create and Clean Move Package
import { MoveBuilder } from '@initia/builder.js';
async function createAndCleanExample() {
// recommend to use full package path, not relative path
// ex) path.resolve(__dirname, "../relative_path")
const builder = new MoveBuilder(/* path to move package */, {});
// create new move package
await builder.new(/* package name */);
await builder.build();
// clean /build directory
await builder.clean();
}Read Move Package
import { MoveBuilder } from '@initia/builder.js';
async function readExample() {
const builder = new MoveBuilder(/* path to move package */, {});
const binary = await builder.get(/* module name */);
// read module bytes
const moduleInfo = await MoveBuilder.read_module_info(binary)
console.log(moduleInfo)
// decode module bytes
const decodedModule = await MoveBuilder.decode_module_bytes(binary);
console.log(decodedModule)
}