1.0.2 • Published 12 months ago

@philipcatterall99/dataverse-gen v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

dataverse-gen

Creates early bound TypeScript interfaces to work with dataverse-ify. For more information see the dataverse-ify project

Usage

  1. Add authentication for your Microsoft Dataverse Environment:\ ~$ npx dataverse-auth [environment]\ E.g.\ ~$ npx dataverse-auth contosoorg.crm.dynamics.com

  2. Initialise dataverse-ify to create .dataverse-gen.json config file:\ ~$ npx dataverse-gen init

  3. At any time, you can re-generate the early bound types using:\ ~$ npx dataverse-gen

.dataverse-gen.json

The configuration for dataverse-gen is stored in the .dataverse-gen.json file. You can edit this manually if you want rather than use npx dataverse-gen init. This is the only file that is needed to run npx dataverse-gen.

The standard templates use references to the dataverse-ify types, and so unless you edit the templates (see below) you will need to install these types using:

npm install --save dataverse-ify

Custom Templates

If you wanted to just generate Attribute enum constants and stop there, you can easily customise the scripts to suit your needs by using:

npx dataverse-gen eject

This will create a step of templates ready to customise in the _templates folder. Once you have made your updates, just run npx dataverse-gen again. The templates use the awesome ejs project. E.g.

// Attribute constants
export const enum <%- locals.SchemaName %>Attributes {
<%locals.Properties && locals.Properties.forEach(function(property){ _%>
 <%- property.SchemaName %> = "<%- property.Name %>",
<%})_%>
}

If you wanted to revert back to the standard templates, just delete the _templates folder

Installing Globally

If you would rather install dataverse-gen globally you can use:\ ~$ npm install -g dataverse-gen dataverse-auth

This will then allow you to simply use:\ ~$ dataverse-auth\ ~$ dataverse-gen

For more information see the dataverse-ify project

Notes: 1. Files differ by case only. If you get an error from the imports in the generated types, it is likely that your file names have the wrong case. dataverse-gen will remember re-use the file name if it exsts when generating - even if the casing is different. The solution is to completely remove all your generated files and regenerated them to get the correct casing.