Comparing version 0.0.14 to 0.0.15
46
const.js
@@ -8,9 +8,3 @@ const date = new Date(); | ||
head: { | ||
appName: "", | ||
appVer: "1.0", | ||
key: "", | ||
osName: "WEB", | ||
requestCode: "", | ||
userId: "", | ||
password: "" | ||
key: "" | ||
}, | ||
@@ -23,9 +17,3 @@ body: { | ||
head: { | ||
appName: "", | ||
appVer: "1.0", | ||
key: "", | ||
osName: "WEB", | ||
requestCode: "5PMF", | ||
userId: "", | ||
password: "" | ||
key: "" | ||
}, | ||
@@ -69,9 +57,3 @@ body: { | ||
head: { | ||
appName: "", | ||
appVer: "1.0", | ||
key: "", | ||
osName: "WEB", | ||
requestCode: "", | ||
userId: "", | ||
password: "" | ||
key: "" | ||
}, | ||
@@ -98,2 +80,20 @@ body: { | ||
LOGIN_CHECK_PAYLOAD={ | ||
head : { | ||
requestCode:"5PLoginCheck", | ||
key:"", | ||
appVer:"1.0", | ||
appName:"", | ||
osName:"WEB", | ||
LoginId:"" | ||
}, | ||
body:{ | ||
RegistrationID:"" | ||
} | ||
} | ||
WS_PAYLOAD={"Method":"", | ||
"Operation":"", | ||
"ClientCode":"", | ||
"MarketFeedData":""} | ||
/** | ||
@@ -118,3 +118,5 @@ * Enum for Order validity. | ||
marketpayload : MARKET_PAYLOAD, | ||
OrderValidityEnum: OrderValidityEnum | ||
OrderValidityEnum: OrderValidityEnum, | ||
logincheck: LOGIN_CHECK_PAYLOAD, | ||
wspayload: WS_PAYLOAD | ||
}; |
300
index.js
@@ -8,3 +8,5 @@ "use strict"; | ||
const WebSocket = require('ws'); | ||
const { | ||
@@ -15,3 +17,5 @@ genericPayload, | ||
marketpayload, | ||
OrderValidityEnum | ||
OrderValidityEnum, | ||
logincheck, | ||
wspayload | ||
} = require("./const"); | ||
@@ -58,3 +62,3 @@ const { AES128Encrypt, AES256Encrypt } = require("./utils"); | ||
const BO_MOD_ROUTE=`${BASE_URL}/ModifySMOOrder`; | ||
const WEBSOCKET_ROUTE =`https://openfeed.5paisa.com/Feeds/api/UserActivity/LoginCheck`; | ||
const LOGINCHECK_ROUTE =`https://openfeed.5paisa.com/Feeds/api/UserActivity/LoginCheck`; | ||
const Market_ROUTE=`${BASE_URL}/MarketFeed`; | ||
@@ -64,19 +68,7 @@ const MARKET_DEPTH_ROUTE=`${BASE_URL}/MarketDepth`; | ||
const TRADEBOOK_ROUTE=`${BASE_URL}/V1/TradeBook`; | ||
// Request types | ||
const MARGIN_REQUEST_CODE = `5PMarginV3`; | ||
const ORDER_BOOK_REQUEST_CODE = `5POrdBkV2`; | ||
const HOLDINGS_REQUEST_CODE = `5PHoldingV2`; | ||
const POSITIONS_REQUEST_CODE = `5PNPNWV1`; | ||
const TRADE_INFO_REQUEST_CODE = `5PTrdInfo`; | ||
const ORDER_STATUS_REQUEST_CODE = `5POrdStatus`; | ||
const ORDER_PLACEMENT_REQUEST_CODE = `5PPlaceOrdReq`; | ||
const ORDER_MODIFY_REQUEST_CODE = `5PModifyOrdReq`; | ||
const ORDER_CANCEL_REQUEST_CODE = `5PCancelOrdReq`; | ||
const LOGIN_REQUEST_CODE = `5PLoginV4`; | ||
const BO_CO_REQUEST_CODE = '5PSMOOrd'; | ||
const MOD_BO_REQUEST_CODE = '5PSModMOOrd'; | ||
const MARKET_DEPTH_REQUEST_CODE="5PMD"; | ||
const IDEAS_REQUEST_CODE="5PTraderIDEAs"; | ||
const TRADEBOOK_REQUEST_CODE="5PTrdBkV1"; | ||
var CLIENT_CODE = null; | ||
@@ -89,21 +81,18 @@ this.loginPayload = loginPayload; | ||
this.genericPayload = genericPayload; | ||
this.genericPayload.head.appName = conf.appName; | ||
this.genericPayload.head.key = conf.userKey; | ||
this.genericPayload.head.userId = conf.userId; | ||
this.genericPayload.head.password = conf.password; | ||
this.orderPayload = orderPayload; | ||
this.orderPayload.head.appName = conf.appName; | ||
this.orderPayload.head.key = conf.userKey; | ||
this.orderPayload.head.userId = conf.userId; | ||
this.orderPayload.head.password = conf.password; | ||
this.orderPayload.body.AppSource = conf.appSource; | ||
this.marketpayload=marketpayload; | ||
this.marketpayload.head.appName = conf.appName; | ||
this.marketpayload.head.key = conf.userKey; | ||
this.marketpayload.head.userId = conf.userId; | ||
this.marketpayload.head.password = conf.password; | ||
this.logincheck=logincheck; | ||
this.logincheck.head.appName = conf.appName; | ||
this.logincheck.head.key = conf.userKey; | ||
this.wspayload=wspayload; | ||
let aspxauth=""; | ||
let jwttoken=""; | ||
let websocketConnection=null; | ||
@@ -154,2 +143,3 @@ const defaultOrderParams = { | ||
this.init = function (response) { | ||
try{ | ||
var promise = new Promise(function (resolve, reject) { | ||
@@ -167,4 +157,7 @@ if (response.data.body.Message == "") { | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -205,2 +198,3 @@ /** | ||
this.login = function (email, password, DOB) { | ||
try{ | ||
const encryptionKey = conf.encryptionKey; | ||
@@ -218,3 +212,6 @@ let encrypt = AES256Encrypt; | ||
return req; | ||
} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -236,3 +233,3 @@ | ||
this.getHoldings = function () { | ||
this.genericPayload.head.requestCode = HOLDINGS_REQUEST_CODE; | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -250,4 +247,7 @@ var payload = this.genericPayload; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -267,3 +267,3 @@ /** | ||
this.getOrderBook = function () { | ||
this.genericPayload.head.requestCode = ORDER_BOOK_REQUEST_CODE; | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -280,4 +280,8 @@ var payload = this.genericPayload; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -297,3 +301,3 @@ /** | ||
this.getMargin = function () { | ||
this.genericPayload.head.requestCode = MARGIN_REQUEST_CODE; | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -311,2 +315,6 @@ var payload = this.genericPayload; | ||
return promise; | ||
} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -327,3 +335,3 @@ | ||
this.getPositions = function () { | ||
this.genericPayload.head.requestCode = POSITIONS_REQUEST_CODE; | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -340,10 +348,13 @@ var payload = this.genericPayload; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
this._order_request = function (orderType) { | ||
try{ | ||
var requrl=""; | ||
var payload; | ||
if (orderType === "P"){ | ||
this.orderPayload.head.requestCode = ORDER_PLACEMENT_REQUEST_CODE; | ||
requrl=ORDER_PLACEMENT_ROUTE; | ||
@@ -354,3 +365,2 @@ this.orderPayload.body.ClientCode = CLIENT_CODE; | ||
else if (orderType === "M"){ | ||
this.orderPayload.head.requestCode = ORDER_MODIFY_REQUEST_CODE; | ||
requrl=ORDER_MODIFY_ROUTE; | ||
@@ -361,3 +371,3 @@ this.orderPayload.body.ClientCode = CLIENT_CODE; | ||
else if (orderType === "C"){ | ||
this.genericPayload.head.requestCode = ORDER_CANCEL_REQUEST_CODE; | ||
requrl=ORDER_CANCEL_ROUTE; | ||
@@ -391,2 +401,6 @@ this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
return promise; | ||
} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -440,2 +454,3 @@ | ||
this.placeOrder = function(orderType, qty, exchange, params) { | ||
try{ | ||
if (orderType === undefined) { | ||
@@ -488,2 +503,6 @@ throw new Error( | ||
return this._order_request("P"); | ||
} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -493,3 +512,3 @@ this.bocoorder =function(scrip_code, Qty,LimitPriceInitialOrder,TriggerPriceInitialOrder | ||
TriggerPriceForSL,params){ | ||
try{ | ||
params=params || defaultbocoParams | ||
@@ -527,3 +546,2 @@ this.genericPayload.body.ScripCode=scrip_code; | ||
this.genericPayload.body.OrderRequesterCode=CLIENT_CODE; | ||
this.genericPayload.head.requestCode = BO_CO_REQUEST_CODE; | ||
@@ -544,7 +562,10 @@ this.genericPayload.body.ClientCode= CLIENT_CODE; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
this.Mod_bo_order = function (orderType, scripCode, qty, exchange,exchangeOrderID, params) { | ||
try{ | ||
params = params || defaultOrderParams; | ||
@@ -586,3 +607,2 @@ this.orderPayload.body.ExchOrderID = exchangeOrderID; | ||
params.orderValidity || defaultOrderParams.orderValidity; | ||
this.orderPayload.head.requestCode = MOD_BO_REQUEST_CODE; | ||
this.orderPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -603,3 +623,6 @@ this.orderPayload.body.OrderRequesterCode = CLIENT_CODE; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -625,2 +648,3 @@ /** | ||
this.modifyOrder = function(exchangeOrderID, Qty, Price, is_intraday, exchange, exchange_type,params) { | ||
try{ | ||
this.orderPayload.body.ExchOrderID = exchangeOrderID; | ||
@@ -641,3 +665,7 @@ this.orderPayload.body.Qty = Qty; | ||
return this._order_request("M"); | ||
} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
/** | ||
@@ -653,2 +681,3 @@ * Cancels an order | ||
this.cancelOrder = function(exchangeOrderID, exchange, exchange_type) { | ||
try{ | ||
this.genericPayload.body.ExchOrderID = exchangeOrderID; | ||
@@ -660,3 +689,7 @@ this.genericPayload.body.Exchange = exchange; | ||
return this._order_request("C"); | ||
} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -679,3 +712,3 @@ /** | ||
this.getOrderStatus = function (orderList) { | ||
this.genericPayload.head.requestCode = ORDER_STATUS_REQUEST_CODE; | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -694,6 +727,9 @@ this.genericPayload.body.OrdStatusReqList = orderList; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
this.getmarketdepth = function (DepthList) { | ||
this.genericPayload.head.requestCode = MARKET_DEPTH_REQUEST_CODE; | ||
}; | ||
this.getMarketDepth = function (DepthList) { | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -713,4 +749,7 @@ this.genericPayload.body.Count = "1"; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
/** | ||
@@ -727,3 +766,3 @@ * Gets the trade information for a set of trades provided | ||
* "ScripCode":11111, | ||
* "RemoteOrderID":"5712977609111312242" | ||
* "RemoteOrderID":"1111111" | ||
* } | ||
@@ -733,3 +772,3 @@ * ] | ||
this.getTradeInfo = function (tradeDetailList) { | ||
this.genericPayload.head.requestCode = TRADE_INFO_REQUEST_CODE; | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -747,11 +786,12 @@ this.genericPayload.body.TradeDetailList = tradeDetailList; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
this.getMarketFeed = function (reqlist) { | ||
try{ | ||
this.marketpayload.body.Count = CLIENT_CODE; | ||
this.marketpayload.body.MarketFeedData=reqlist; | ||
var payload = this.marketpayload; | ||
@@ -769,4 +809,7 @@ | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
@@ -777,2 +820,3 @@ | ||
this.historicalData = function (Exch, Exchtype, scrip, timeframe,from, to) { | ||
try{ | ||
var timeList=['1m','5m','10m','15m','30m','60m','1d'] | ||
@@ -786,17 +830,13 @@ var res=timeList.includes(timeframe) | ||
request_instance.post("https://Openapi.5paisa.com/VendorsAPI/Service1.svc/ValidateClientToken", req_data).then(response => { | ||
if (response.data.Message=== "Success") { | ||
var h={'Ocp-Apim-Subscription-Key': 'c89fab8d895a426d9e00db380b433027', | ||
var setHeader={'Ocp-Apim-Subscription-Key': 'c89fab8d895a426d9e00db380b433027', | ||
'x-clientcode':CLIENT_CODE, | ||
'x-auth-token':jwttoken} | ||
var url = `https://openapi.5paisa.com/historical/${Exch}/${Exchtype}/${scrip}/${timeframe}?from=${from}&end=${to}`; | ||
//set header | ||
var headers = h | ||
var headers = setHeader | ||
request.get({headers: headers, url: url, method: 'GET'}, function (e, r, body) { | ||
@@ -809,3 +849,2 @@ | ||
return df.show | ||
@@ -818,16 +857,13 @@ } ); | ||
}); | ||
}); | ||
}else{ | ||
return "Time frame is invalid." | ||
} | ||
}} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
} | ||
this.ideas_buy= function () { | ||
this.genericPayload.head.requestCode = IDEAS_REQUEST_CODE; | ||
this.ideasBuy= function () { | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -847,6 +883,10 @@ var payload = this.genericPayload; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
this.ideas_trade = function () { | ||
this.genericPayload.head.requestCode = IDEAS_REQUEST_CODE; | ||
}; | ||
this.ideasTrade = function () { | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -866,6 +906,10 @@ var payload = this.genericPayload; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
this.getTradeBook = function () { | ||
this.genericPayload.head.requestCode =TRADEBOOK_REQUEST_CODE ; | ||
try{ | ||
this.genericPayload.body.ClientCode = CLIENT_CODE; | ||
@@ -883,6 +927,98 @@ var payload = this.genericPayload; | ||
}); | ||
return promise; | ||
return promise;} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
this.loginCheck =function () { | ||
try{ | ||
this.logincheck.body.RegistrationID = jwttoken; | ||
this.logincheck.head.LoginId = CLIENT_CODE; | ||
var payload = this.logincheck; | ||
var promise = new Promise(function (resolve, reject) { | ||
request_instance.post(LOGINCHECK_ROUTE, payload).then(response => { | ||
if (response.data.body.Status != 0) { | ||
reject(response.data.body.Message); | ||
} else { | ||
aspxauth =response.headers["set-cookie"][1].split(";"); | ||
resolve(aspxauth[0]); | ||
} | ||
}); | ||
}); | ||
return promise} | ||
catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
this.requestFeed =function(Method,Operation,req_list){ | ||
try{ | ||
const Method_dict={mf:"MarketFeedV3",md:"MarketDepthService"} | ||
const Operation_dict={s:"Subscribe",u:"Unsubscribe"} | ||
this.wspayload.Method=Method_dict[Method]; | ||
this.wspayload.Operation=Operation_dict[Operation]; | ||
this.wspayload.ClientCode=CLIENT_CODE; | ||
this.wspayload.MarketFeedData=req_list; | ||
return this.wspayload | ||
}catch(err) { | ||
console.log(err) | ||
}; | ||
} | ||
this.websocketStreaming=function(data){ | ||
try{ | ||
var weburl=`wss://openfeed.5paisa.com/Feeds/api/chat?Value1=${jwttoken}|${CLIENT_CODE}` | ||
websocketConnection = new WebSocket(weburl, { | ||
headers: { | ||
Cookie: aspxauth[0] | ||
} | ||
}); | ||
websocketConnection.onerror = function() { | ||
try{ | ||
console.log('Connection Error');}catch(err) { | ||
console.log(err) | ||
}; | ||
}; | ||
websocketConnection.onopen = function() { | ||
try{ | ||
console.log('WebSocket Client Connected'); | ||
function SendData() { | ||
if (websocketConnection.readyState === websocketConnection.OPEN) { | ||
websocketConnection.send(JSON.stringify(data)); | ||
} | ||
} | ||
SendData();}catch (err) { | ||
console.log(err) | ||
} | ||
}; | ||
}catch(err) { | ||
console.log(err); | ||
}; | ||
} | ||
this.displayMessage =function(onmessagedisplay){ | ||
try{ | ||
websocketConnection.onmessage = onmessagedisplay} | ||
catch(err){ | ||
console.log(err); | ||
} | ||
} | ||
this.closeConnection =function(){ | ||
try{ | ||
websocketConnection.close()} | ||
catch(err){ | ||
console.log(err); | ||
} | ||
} | ||
} | ||
module.exports = { | ||
@@ -889,0 +1025,0 @@ FivePaisaClient: FivePaisaClient, |
{ | ||
"_from": "5paisajs", | ||
"_id": "5paisajs@0.0.14", | ||
"_id": "5paisajs@0.0.15", | ||
"_inBundle": false, | ||
@@ -53,3 +53,4 @@ "_integrity": "sha512-OAYM3ESOSevnx6o2jOtJvLLN61v8elqsG7AECceSSpKqceHZW+UwgKMVEyzGVkHjHDfmE/nkVRcPIc/IoifIYQ==", | ||
"prettier-eslint-cli": "^4.4.0", | ||
"tough-cookie": "^4.0.0" | ||
"tough-cookie": "^4.0.0", | ||
"ws":"^8.4.0" | ||
}, | ||
@@ -93,3 +94,3 @@ "engines": { | ||
}, | ||
"version": "0.0.14" | ||
"version": "0.0.15" | ||
} |
@@ -99,8 +99,6 @@ # 5paisajs | ||
```js | ||
var options = { | ||
var options = { | ||
exchangeSegment: "C", | ||
atMarket: false, | ||
isStopLossOrder: false, | ||
stopLossPrice: 0, | ||
isVTD: false, | ||
isIOCOrder: false, | ||
@@ -110,12 +108,13 @@ isIntraday: false, | ||
IOCOrder: false, | ||
price: 208 | ||
price: 240, | ||
scripCode:"1660" | ||
}; | ||
try { | ||
client.placeOrder("BUY", "1660", "1", "N", options).then((response) => { | ||
client.placeOrder("BUY", "1", "N", options).then((response) => { | ||
console.log(response) | ||
}) | ||
} catch (err) { | ||
console.log(err) | ||
console.log(err) | ||
} | ||
//Note : use ScripData to order With Scrip Name | ||
``` | ||
@@ -126,8 +125,14 @@ | ||
```js | ||
client.modifyOrder("1100000007628729", "1", "210", "1660", false, "N", "C", true).then((response) => { | ||
a = { | ||
"scripCode":"1660" | ||
}; | ||
try { | ||
client.modifyOrder("Your ExchageOrderID", "1", "241", false, "N", "C",a).then((response) => { | ||
console.log(response) | ||
}) | ||
} ).catch((err) => { | ||
} catch (err) { | ||
console.log(err) | ||
}); | ||
} | ||
//Note : use ScripData to order With Scrip Name | ||
``` | ||
@@ -138,3 +143,4 @@ | ||
```js | ||
client.cancelOrder("1100000007973827", "1", "205", "1660", false, "N", "C", false).then((response) => { | ||
try { | ||
client.cancelOrder("Your ExchageOrderID", "N", "C").then((response) => { | ||
console.log(response) | ||
@@ -165,3 +171,3 @@ }) | ||
var a={ | ||
"ExchOrderId":"1100000008193800", | ||
"ExchOrderId":"Your ExchageOrderID", | ||
@@ -183,3 +189,3 @@ } | ||
client.Mod_bo_order('S',1660,1,"N","1100000008697274",ab).then((Response)=>{ | ||
client.Mod_bo_order('S',1660,1,"N","Your ExchageOrderID",ab).then((Response)=>{ | ||
console.log(Response) | ||
@@ -191,3 +197,3 @@ }).catch((err)=>{ | ||
var ab={ | ||
var data={ | ||
@@ -201,3 +207,3 @@ "isStopLossOrder":true, | ||
client.Mod_bo_order('S',1660,1,"N","1100000008697274",ab).then((Response)=>{ | ||
client.Mod_bo_order('S',1660,1,"N","Your ExchageOrderID",data).then((Response)=>{ | ||
console.log(Response) | ||
@@ -211,3 +217,3 @@ }).catch((err)=>{ | ||
```js | ||
a=[ | ||
data=[ | ||
{ | ||
@@ -223,3 +229,3 @@ "Exch":"N", | ||
client.getMarketFeed(a).then((response) => { | ||
client.getMarketFeed(data).then((response) => { | ||
console.log(response) | ||
@@ -234,3 +240,3 @@ }).catch((err) => { | ||
a=[{"Exchange":"N","ExchangeType":"D","ScripCode":"51440"},{"Exchange":"N","ExchangeType":"C","ScripCode":"1660"}] | ||
client.getmarketdepth(a).then((response) => { | ||
client.getMarketDepth(a).then((response) => { | ||
console.log(response) | ||
@@ -250,2 +256,23 @@ }).catch((err) => { | ||
### Websocket | ||
```js | ||
onmessage = function(e) { | ||
console.log("Received: '" + e.data + "'"); | ||
} | ||
req_list=[ | ||
{ "Exch":"N","ExchType":"C","ScripCode":1660} | ||
] | ||
client.loginCheck().then(() => { | ||
var reqlist= client.requestFeed('mf','s',req_list) | ||
client.websocketStreaming(reqlist); | ||
client.displayMessage(onmessage); | ||
}).catch((err) => { | ||
console.log(err) | ||
}); | ||
``` | ||
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Telemetry
Supply chain riskThis package contains telemetry which tracks how it is used.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Telemetry
Supply chain riskThis package contains telemetry which tracks how it is used.
Found 1 instance in 1 package
42253
1030
267
13