@m3r/sdk 0.5.0

Início rápido da SDK

m3r.json, defineExtension, validate, build e run.

A pasta da extensão é um pacote Node. O CLI (m3r) lê o manifest e o src/index.ts. Instale as Developer Tools antes — marketplace ou .vsix.

my-extension
m3r.json
package.json
tsconfig.json
src
index.ts
vendas
register.ts
tabelas
auditoria.ts
telas
auditoria.ts

m3r.json declara o que a extensão usa. Os arrays de plataforma (permissions, events, entryPoints) só aceitam valores do catálogo.

m3r.json
{
  "schemaVersion": "1",
  "id": "my-extension",
  "name": "My Extension",
  "version": "0.1.0",
  "runtime": { "type": "node", "version": "20", "sdk": "^0.5.0", "core": ">=1.0.0 <2.0.0" },
  "entry": "src/index.ts",
  "permissions": ["sales.order.read", "extension.storage.write"],
  "events": ["sales.order.created"],
  "entryPoints": ["IP.SALES.ORDER.BEFORE_SAVE"],
  "tables": ["demo_auditoria"],
  "screens": ["demo.auditoria"],
  "nav": ["demo.auditoria"],
  "reports": ["demo.auditoria.periodo"]
}

Rodar

terminal
m3r validate
m3r build
m3r deploy   # obrigatório em production; o Core assina o .m3rx
m3r run

m3r deploy pede M3R_API_URL, M3R_DEVELOPER_TOKEN, M3R_ORGANIZATION_ID e M3R_ENVIRONMENT_ID.