Registry / crm / boruto-xrmservice

boruto-xrmservice

JSON →
library2.21.14jsnpmunverified

Boruto.XrmService is an Angular-based TypeScript library (v2.21.14) that wraps Dynamics 365 Dataverse Online (CE) Xrm APIs. Migrated from Kipon.XrmService, it provides an IOrganizationService-like facade for CRUD operations, with full async support and DI integration. Released under MIT, with active maintenance. Key differentiator: streamlines Dataverse development in Angular apps by abstracting Web API calls. Requires @angular/core 21+ and @types/xrm 9.

npm install boruto-xrmservice
INSTALL
IMPORT
SIG · BORUTO-XRMSERVICE
B
boruto-xrmservice
crmjavascriptv2.21.14
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

XrmService
import { XrmService } from 'boruto-xrmservice'
import XrmService from 'boruto-xrmservice'
Named export, not default. Use braces.
XrmServiceModule
import { XrmServiceModule } from 'boruto-xrmservice'
import { XrmServiceModule } from '@angular/common'
Module class for Angular imports. Must be imported from package root.
Xrm
import { Xrm } from 'boruto-xrmservice'
import { Xrm } from '@types/xrm'
The library re-exports the Xrm interface for DI token usage. Not from @types/xrm directly.
IXrmOrganizationService
import { IXrmOrganizationService } from 'boruto-xrmservice'
interface IXrmOrganizationService { ... }
Interface for the service, also used as injection token.

Shows Angular module setup for Boruto.XrmService and a component injecting the service to create a record.

import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { XrmServiceModule, XrmService } from 'boruto-xrmservice'; @NgModule({ imports: [BrowserModule, XrmServiceModule.forRoot()], providers: [], bootstrap: [] }) export class AppModule { } // Component usage import { Component, Inject } from '@angular/core'; import { XrmService, IXrmOrganizationService } from 'boruto-xrmservice'; @Component({ selector: 'app-root', template: '' }) export class AppComponent { constructor(@Inject(XrmService) private xrmService: IXrmOrganizationService) { this.xrmService.create('account', { name: 'Test' }).then(console.log); } }
Debug
Known issues
breakingRoot namespace renamed from Kipon.XrmService to Boruto.XrmService. All imports must use 'boruto-xrmservice' instead of 'kipon-xrmservice'.
fix
Update import statements to 'boruto-xrmservice'.
affects: >=2.0.0
gotchaOnly supports Dynamics 365 Dataverse Online (CE). On-premises deployments are not supported.
fix
Use a different library for on-premises.
affects: >=1.0.0
deprecatedThe deprecated Kipon.XrmService package is no longer maintained. All users should migrate to boruto-xrmservice.
fix
Uninstall kipon-xrmservice and install boruto-xrmservice.
affects: >=2.0.0
gotchaRequires Angular 21+ and @types/xrm ^9.0.88. Older Angular versions will cause peer dependency conflicts.
fix
Update Angular to version 21 or later and install @types/xrm@^9.0.88.
affects: >=2.0.0
gotchaThe XrmService injection token (XrmService) expects a provider. Using forRoot() on the module is mandatory in the root module.
fix
Call XrmServiceModule.forRoot() in your AppModule imports.
affects: >=1.0.0
Errors
Common errors & fixes
Cannot find module 'boruto-xrmservice'
Package not installed or typo in package name.
fix
Run npm install boruto-xrmservice --save
Cannot read properties of undefined (reading 'create')
XrmService not properly injected; the service instance is undefined.
fix
Ensure XrmServiceModule.forRoot() is imported in AppModule and the injection token is correct.
TypeError: (intermediate value).then is not a function
The create/update/delete methods return a promise; calling .then on a non-promise.
fix
Check that you are calling the method correctly. Example: this.xrmService.create('account', {} ).then(res => console.log(res));
No provider for IXrmOrganizationService
IXrmOrganizationService is an interface and cannot be used as an injection token without a provider.
fix
Use XrmService as the injection token, not IXrmOrganizationService.
Upgrade
Version history
2.21.14latest on npm
Audit
Dependencies
@angular/commonrequiredRequired for Angular structural directives and DI
@angular/corerequiredCore Angular functionality, NgModule, Injectable
@types/xrmrequiredType definitions for Xrm objects (window.Xrm)
Agent activity
35 hits · last 30 days
node
28
OpenAI (training)
1
Resources
boruto-xrmservice — npm install boruto-xrmservice · libregistry