mirror of
				https://github.com/NativeScript/NativeScript.git
				synced 2025-11-04 12:58:38 +08:00 
			
		
		
		
	There were small typos in: - apps/automated/src/ui/web-view/web-view.md - tools/notes/DevelopmentWorkflow.md Fixes: - Should read `describe` rather than `decribe`. - Should read `control` rather than `controll`. Signed-off-by: Tim Gates <tim.gates@iress.com>
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
Development Workflow
 | 
						|
====================
 | 
						|
 | 
						|
```bash
 | 
						|
# Setup local dependencies and repo for work
 | 
						|
npm run setup
 | 
						|
 | 
						|
# See what commands you can run
 | 
						|
npm start
 | 
						|
```
 | 
						|
 | 
						|
To simplify workspace development and maintenance we provide an interactive menu via `npm start` which lists all the commands you can run. You can type to filter the list and hit ENTER to run. Each command invokes a [Nx](https://nx.dev) workspace command which you can even copy/paste to run directly if you don't want to use the interactive menu any longer.
 | 
						|
 | 
						|
## Initial Setup
 | 
						|
 | 
						|
Clone (or fork/clone) the repo and run setup script:
 | 
						|
 | 
						|
```bash
 | 
						|
git clone https://github.com/NativeScript/NativeScript.git
 | 
						|
cd NativeScript 
 | 
						|
npm run setup
 | 
						|
```
 | 
						|
 | 
						|
## Unit Testing
 | 
						|
 | 
						|
### Run unit tests with jest with either option:
 | 
						|
 | 
						|
A. Using convenient start menu:
 | 
						|
 | 
						|
```bash
 | 
						|
npm start 
 | 
						|
> (Type) "core.test" (...to isolate the menu to "@nativescript.core.test"), hit ENTER
 | 
						|
```
 | 
						|
 | 
						|
B. Using direct Nx command:
 | 
						|
 | 
						|
```bash
 | 
						|
npx nx run core:test
 | 
						|
```
 | 
						|
 | 
						|
### Watch mode
 | 
						|
 | 
						|
To enable live watch mode you can add the `--watch` flag, for example:
 | 
						|
 | 
						|
```bash
 | 
						|
npx nx run core:test --watch
 | 
						|
```
 | 
						|
 | 
						|
### Isolate tests by name
 | 
						|
 | 
						|
Run a single test by it's describe name, for example to run just the `xml/index.spec.ts`, the describe block is named `XmlParser` therefore:
 | 
						|
 | 
						|
```
 | 
						|
npx nx run core:test --watch -t 'XmlParser' 
 | 
						|
```
 | 
						|
 | 
						|
## Running the `e2e` Test Apps
 | 
						|
 | 
						|
There are a couple of application used for development and testing.
 | 
						|
* `apps/automated` Automated e2e tests 
 | 
						|
* `apps/toolbox` Used for local development experimentation and confirming cases. More simplistic, use this one most often.
 | 
						|
* `apps/ui` Also used for local development experimentation and confirming cases. More sophisticated setup.
 | 
						|
 | 
						|
Run automated e2e test suite with:
 | 
						|
 | 
						|
```bash
 | 
						|
npx nx run apps-automated:ios
 | 
						|
 | 
						|
// or...
 | 
						|
 | 
						|
npx nx run apps-automated:android
 | 
						|
```
 | 
						|
 | 
						|
# Documentation API reference
 | 
						|
 | 
						|
The following will build the API reference pages in `bin/dist/apiref`:
 | 
						|
 | 
						|
```bash
 | 
						|
npm run typedoc
 | 
						|
```
 | 
						|
 | 
						|
If you want to improve on the documentation you can also build and start up dev web server:
 | 
						|
 | 
						|
```bash
 | 
						|
npm run dev-typedoc
 | 
						|
```
 | 
						|
 | 
						|
The terminal will point the address you can open in your web browser.
 |