I just wanted to gather some feedback from the team and from any other devs who would like to respond. All the Microsoft documentation and samples about adding D3 typed definition files to a custom visual project use the typings utility. Here is what the instructions are on the Power BI Visuals repo in GitHub:
# First, install D3 v3.5.5 because Power BI does not yet support D3 v4
npm install email@example.com --save
# Next, install typings utility
npm install typings -g
# Next, install typings files for D3
typings install --save --global dt~d3 <- Error as it attempts install D3 v4 typings file
# In the GitHub issues list for the repo, I found that workaround that works
typings install --save --global dt~d3#0.0.0+20160907005744
While the typings utility works these days, looking forward it seems like this utility is being phased out in general node.js and npm development and developers are now standardizing on using the regular npm install command to install typed definition files from the Definitely Typed project.
Here the steps that I am using to create a new custom visual project with support for D3 programming.
pbiviz new barchart
npm install d3@3 --save
npm install @types/d3@3 --save
Once you have one that, modify the externalJS setting in pbiviz.json file
Then update the files section of the tsconfig.json file.
It use to take me a while to configure all this and now it takes less than a minute. I am able to also add any other JS library and the PowerBI utility libraries for things like formatting in the same fashion.
So here are my two questions for everyone.
- Has anyone else tried moving away from the typings utility?
- Does anyone see any potential problems with me using (and telling others to use) the npm install @types approach instead of using the typings utility?
Thanks for any feedback you can provide.