2.7 KiB
Development Workflow
Project Structure
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-modules
tns-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-modules
depends on:tns-platform-declarations
e2e/ui-tests-app
depends on:tns-platform-declarations
tns-core-modules
e2e
depends on:tns-core-modules
tests
depends on:tns-platform-declarations
tns-core-modules
NOTE:
tns-core-modules
depends ontns-core-modules-widgets
,
Initial Setup
Clone (or fork/clone) the repo:
git clone https://github.com/NativeScript/NativeScript.git
Install dependencies:
npm install
Running Unit Tests
cd tests
tns run android | ios
Running the UI Test App
The 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
Running Another App
- Open the app, where you will use the module from the repository in the console.
- Add the
tns-core-modules
in 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 android
Platform declarations
To 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.
Documentation API reference
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.