The repository contains several packages and apps:
tns-core-modules- The core NativeScript TypeScript modules used to develop NativeScript appstns-core-modules-widgets- The native widgets (Java and Objective-C) used by the core NativeScript modulese2e/ui-tests-app- UI app used for manual testing and automatione2e- applications and e2e teststests- Unit tests app for thetns-core-modulestns-platform-declarations- TypeScript definitions for Android and iOS native APIs
Working with the repo is organized with npm scripts,
go and read through the scripts section in the package.json.
Managing dependencies:
tns-core-modulesdepends on:tns-platform-declarations
e2e/ui-tests-appdepends on:tns-platform-declarationstns-core-modules
e2edepends on:tns-core-modules
testsdepends on:tns-platform-declarationstns-core-modules
NOTE:
tns-core-modulesdepends ontns-core-modules-widgets,
Clone (or fork/clone) the repo:
git clone https://github.com/NativeScript/NativeScript.gitInstall dependencies:
npm installcd tests
tns run android | iosThe UI test app is an ordinary NativeScript app that logs the test results on the go. After the initial setup you can run the tests with:
cd e2e/ui-tests-app
# Run the Android app
tns platform add android@next # NOTE: do not commit this change to package.json
tns run android
# Run the iOS app
tns platform add ios@next # NOTE: do not commit this change to package.json
tns run ios
- Open the app, where you will use the module from the repository in the console.
- Add the
tns-core-modulesin the application via:
npm install --save <path to tns-core-modules>
# Example: npm install --save ../NativeScript/tns-core-modules- Run the app
tns run ios
tns run androidTo update the platform declarations (the ios.d.ts-es) you can run:
npm install
npm run dev-declarations
This script will update the iOS declarations. Android tools are not integrated yet. The declarations are generated from the test app and will include the native code from tns-core-modules-widgets.
The following will build the API reference pages in bin/dist/apiref:
npm run typedoc
If you want to improve on the documentation you can also build and start up dev web server:
npm run dev-typedoc
The terminal will point the address you can open in your web browser.