This will be a quick post to document how to generate a local copy of the API documentation for NativeScript. One of the things I’ve been disappointed in with the NativeScript ecosystem is the state of the documentation. There are several “How-To” articles and some API documentation on the docs.nativescript.org site but I’ve found a distinct lack of comprehensive documentation to be a stumbling block in learning how to build apps with NativeScript.
In talking with a couple of the Telerik folks in the NativeScript Community Slack team (get an invite if you’re not already on the team), it came out that the team has been working on a way to automatically generate the API documentation using from the source code using an open-source package called TypeDoc. The resulting files haven’t been made publicly available yet as the engineering team is still working on getting the theme and styling modified to suit them.
However, with a little command-line mojo, you can generate your very own, locally-hosted version of the docs. Since NativeScript is open source and hosted on GitHub, you can pull the source down and execute the documentation build yourself.
First, we need to make sure that the Grunt task runner is installed (I’m assuming you already have NodeJS and NPM installed here):
npm install -g grunt
Next we’ll clone the main NativeScript repo:
git clone https://github.com/NativeScript/NativeScript.git
You’ll want to switch to the latest stable tag (after all, you’ll want documentation for the version that gets installed with NPM):
cd nativescript git checkout v1.7.1
*note: v1.7.1 is the lastest as of this writing. Run `git tag -l` to see what tags exist
One more setup step before we generate the docs. We need to install the dependencies:
Now that we have the source and all its dependencies, we’re ready to generate the docs:
If that all went well, you now have a new folder inside your nativescript project folder named `bin`. Look in `/bin/dist/api-ref` and double click the `index.html` or `globals.html` file.
Not only can you get your hands on this before the NativeScript team gets it prettified to their liking, but having a local copy is always nice in case you’re like me and sometimes working where there isn’t reliable internet access.