package.json

Overview

ipm package.json spec is a superset of npm’s package.json.

ipm spec adds metadata tailored for the Internet of Things, such as:

npm package.json spec: here

Full Example

{
	"asset_types":[
		"System",
		"Code Libraries",
		"Code Services",
		"Portals",
	    "Collections",
	    "Triggers", 
	    "Adapters", 
	    "Roles",
	    "Timers",
	    "Plugins",
	    "Users",
	    "Edges",
	    "Devices"
	],
	"version":"1.0.0",
	"homepage":"https://google.com",
	"license": "MIT",
	"keywords":[ 
		"BLE",
		"edge",
		"adapter",
		"ML",
		"SalesForce",
		"Notifications",
		"Stepper Motor",
		"MQ",
		"Rules Engine",
		"Integration",
		"Building",
		"Management"
		"Blueprint",
		"admin",
		"administration",
		"monitoring"
		"anomaly",
		"aberration"
		"anomaly detection",
		"bayesian"
		"decision tree"
	],
	"prog_lang":["C", "javascript"],
	"cloud":["AWS","GCloud"],
	"things":["NXP MENP","thunderboard","allen bradley"],
	"domains": ["IIoT","Device Management","Building Management","Fleet Management"],
	"protocols":["SMS","http","REST","NFC","BLE","CoAP","SNMP","bacnet"],
	"gateways":["Raspberry Pi"],
	"dependencies": {
		 "boo" : "2.0.1",
		 "http": "latest"
	},
	"image_url":"https://imagehoster.com/aHBV74b",
	"description":"This library accomplishes a goal!",
	"author": "Rob Reinold <rreinold@clearblade.com>",
	"private":false
}

Additions to npm spec

The following keys belong to the superset of npm’s package.json:

asset_types

Types of assets contained in a package.

Ex. A portal for 3D Map Rendering with some business logic will contain [“Portal”,“Code Services”]

Array of type string

All available values:

...
"asset_types":[
		"Code Libraries",
		"Code Services",
		"Portals",
	    "Collections",
	    "Triggers", 
	    "Adapters", 
	    "Roles",
	    "Timers",
	    "Plugins",
	    "Users",
	    "Edges",
	    "Devices"
	]
...

gateways

Array of type string

No restrictions on values, some examples:

...
"gateways":[ "Raspberry Pi 3" ],
...

cloud

Array of type string

No restrictions on values, some examples:

...
"cloud":[
	"AWS",
	"GCloud"
],
...

protocols

Array of type string

No restrictions on values, some examples:

...
"protocols":[
	"amqp",
	"zigbee"
]
...

things

Array of type string

No restrictions on values, some examples:

...
"things":[
	"water_sensor",
	"pressure_sensor"
]
...

prog_lang

Array of type string

No restrictions on values, some examples:

...
"prog_lang":[
	"python",
	"c"
]
...

image_url

String

No restrictions on value, an example:

...
"image_url":"https://i.imgur.com/9oluUP8.png"
...