{"id":43687856,"url":"https://github.com/NathanaelA/nativescript-liveedit","last_synced_at":"2026-02-16T13:01:57.224Z","repository":{"id":33118377,"uuid":"36757257","full_name":"NathanaelA/nativescript-liveedit","owner":"NathanaelA","description":"Live Edit of your NativeScript project while developing it","archived":false,"fork":false,"pushed_at":"2016-09-20T04:57:51.000Z","size":80496,"stargazers_count":38,"open_issues_count":5,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-09T11:45:44.953Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NathanaelA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-02T19:39:37.000Z","updated_at":"2023-08-31T05:34:39.000Z","dependencies_parsed_at":"2022-06-27T06:09:18.782Z","dependency_job_id":null,"html_url":"https://github.com/NathanaelA/nativescript-liveedit","commit_stats":null,"previous_names":["nathanaela/nativescript-livesync"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NathanaelA/nativescript-liveedit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanaelA%2Fnativescript-liveedit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanaelA%2Fnativescript-liveedit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanaelA%2Fnativescript-liveedit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanaelA%2Fnativescript-liveedit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NathanaelA","download_url":"https://codeload.github.com/NathanaelA/nativescript-liveedit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanaelA%2Fnativescript-liveedit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29508735,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-05T03:00:21.768Z","updated_at":"2026-02-16T13:01:57.219Z","avatar_url":"https://github.com/NathanaelA.png","language":"JavaScript","readme":"[![npm](https://img.shields.io/npm/v/nativescript-liveedit.svg)](https://www.npmjs.com/package/nativescript-liveedit)\n[![npm](https://img.shields.io/npm/l/nativescript-liveedit.svg)](https://www.npmjs.com/package/nativescript-liveedit)\n[![npm](https://img.shields.io/npm/dt/nativescript-liveedit.svg?label=npm%20d%2fls)](https://www.npmjs.com/package/nativescript-liveedit)\n\n# NativeScript Real Time LiveEdit Ability\n\nA NativeScript module providing real time development for Android.   This version is for v2.3.x of the Android Runtimes.\nPlease note this project USED to be called NativeScript-LiveSync, but to eliminate the confusion between the Telerik LiveSync and my LiveSync, I decided to rename my project.\n\n## License\n\nAll this code is (c)2015-2016 Master Technology.   This is released under the MIT License, meaning you are free to include this in any type of program -- However for entities that need a support contract, changes, enhancements and/or a commercial license please contact me at [http://nativescript.tools](http://nativescript.tools).\n\nI also do contract work; so if you have a module you want built for NativeScript (or any other software projects) feel free to contact me [nathan@master-technology.com](mailto://nathan@master-technology.com).\n\n[![Donate](https://img.shields.io/badge/Donate-PayPal-brightgreen.svg?style=plastic)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=HN8DDMWVGBNQL\u0026lc=US\u0026item_name=Nathanael%20Anderson\u0026item_number=nativescript%2dliveedit\u0026no_note=1\u0026no_shipping=1\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3ax%3aNonHosted)\n[![Patreon](https://img.shields.io/badge/Pledge-Patreon-brightgreen.svg?style=plastic)](https://www.patreon.com/NathanaelA)\n\n\n## Differences between Telerik LiveSync \u0026 Master Technology LiveEdit/Pro\n\nMaster Technology released the LiveEdit project in v1.00 of NativeScript; In the version v1.2.0 of the NativeScript command line tools; Telerik has now released a *limited* LiveSync (or what I consider a DeadSync command. :grinning: ).  The differences from my LiveEdit and Telerik's LiveSync is substantial enough that I will continue to use and maintain my version for the foreseeable future.\nThe good news is they are catching up, they have fixed several major issues in each release and as they release newer versions they get a lot closer in feature parity.  \n\n#### Pros of Telerik's LiveSync:\n* No extra code added to your application!\n* Works on iOS Devices \u0026 iOS Simulator\n* Support Angular2 projects\n* Supports syncing multiple devices in sequence \n\n#### Cons of Telerik's LiveSync:\n* Not really Live.  It syncs the files; but then has to restart the application from scratch when changing anything but a CSS or XML file.\n* Delays while it detects any changes and then deploys the changes.  \n* Delays while it is re-launching Application.\n* Loss of all application state since it reloads the app on every change.  \n* If you navigated three screens deep, and make a JS file change; you will need to re-navigate to that screen again to see it.\n* Incredibly slow LiveSync startup time. \n* Reset of the Application even if you change a file that isn't even being used.\n* Easy to crash your application as the JavaScript and XML are not checked before being sent to the application.\n* Doesn't apparently work on some Android devices...\n\n#### Con's of Master Technology's LiveEdit:\n* You have to use the included patched runtime.  (Please vote up the [issue](https://github.com/NativeScript/android-runtime/pull/92))\n* tns clean \u0026 add/remove platforms will reset the runtime, so you need to de-install/re-install the plugin\n* Small amount of JavaScript added code to your project.\n* Only works on the Android platform, no iOS support yet.\n* Does not support Angular2 yet - This will be available to [Patreon](https://www.patreon.com/NathanaelA) members only.\n\n#### Pro's of Master Technology's LiveEdit:\n* Live, You see the app change almost exactly when your editor saves the files.\n* New files are detected and synced instantly.\n* Application state is almost always fully maintained.  \n* The screen you are working on only reloads ONLY if it is the code you just changed.\n* Built in ability to detect errors in XML and JS before pushing to device to eliminate crashing the app on the device.\n* Ability to only reload application on files that are singletons or other files that you would rather have the app reloaded for.\n* Ability to restart application by touching or creating a \"restart.livesync\" or \"restart.liveedit\" file.\n* Ability to sync fonts from the app/fonts folder\n* Ability to sync standalone images png/jpg files\n* Ability to run Tests instantly!\n* Ability to auto-launch application if it crashed and is no longer running on device/emulator.\n\nThe iOS side is currently just a simple DUMMY WRAPPER so that any usage you use on the Android side will not cause any issues when you deploy to your iOS devices/emulator. \n\n## Real Time LiveEdit Demo\n\n[![1st Video Showing off Real Time LiveEdit Development Ability](http://img.youtube.com/vi/cCiyJZexSOQ/0.jpg)](http://www.youtube.com/watch?v=cCiyJZexSOQ)\n[![2nd Video Showing off Real Time LiveEdit Development Ability](http://img.youtube.com/vi/1p_4n9xBWZ0/0.jpg)](http://www.youtube.com/watch?v=1p_4n9xBWZ0)\n\n\n\n## VERY IMPORTANT NOTES\n\nThis plugin includes the latest release runtimes WITH the liveedit patch included into it.  \n\nIf you want to compile the runtimes your self; you can clone the latest runtime; switch to the release branch, and then manually patch it with my above patch (pull request 92), and then install the runtime following the latest documentation. [http://docs.nativescript.org/running-latest](http://docs.nativescript.org/running-latest)\n\nYou can also run the latest nightly runtimes from [http://nativescript.rocks](http://nativescript.rocks), and the LiveEdit patch is auto-applied to the nightly master before it builds it.\n\nPlease note the watcher specifically does NOT watch the **App_Resources** folders, mainly because this folder must be built, as these are compiled resources.     \nIn addition the device code itself does not have any code to start watching any new folders when they are added; restarting the app will allow it to start watching it.  I have a billion other things on my list that affects me more.  So this is a very low priority to actually code it up, I would gladly take pull requests that fixes this, if you find this oversight too annoying.\n\nI realize XMLLint is a pain to install on windows, so I have included all the needed files on the NativeScript.rocks site.\n\nIf you use the new tns clean, or tns platform add/remove to reset your platform folder; this deletes resets the entire platform folder, meaning you loose the custom liveedit runtime.  You will have to de-install and re-install the plugin to continue using it.\n\n## Installation\n\nRun `tns plugin add nativescript-liveedit`\n\n### Upgrading \nYou need to de-install the prior version of LiveEdit, then install the new version.\nRun `tns plugin remove nativescript-livesedit` then run `tns plugin add nativescript-liveedit`\n\n### Prerequisites: \nRun `npm install jshint -g`\n\nIf you are using TypeScript; you should install tslint; run `npm install tslint -g`\n\nIf you don't have xmllint already on your machine; you will need to install it. (Windows users: http://xmlsoft.org/sources/win32/)\n\n\n## Usage \u0026 Running\n\nOn your development machine you need to open a command prompt to your main application folder; and type **node watcher** which will start the utility that handles verification and pushing new files to the devices or emulators.\n\nTo use the liveedit module you must first `require()` it in your application.\n\n```js\nvar liveedit = require(\"nativescript-liveedit\" );\n```\n\nYou should as a minimum put this in your **app.js** like so:\n```js\nvar application = require(\"application\");\n\n// ---- ADD THIS LINE ----\nrequire('nativescript-liveedit');\n// -----------------------\n\napplication.start({ moduleName: \"main-page\" });\n```\n\nThen this will activate at the start of the application and work for the entire time, also notice the removal of the \"./\" in the cssFile.   I'm not sure why Telerik put a ./ for the app.css as it is unneeded.\n\n## Magic Restart Files\nChanges in these files will automatically cause the application to restart on the device or emulator.\n* app.js\n* restart.livesync\n* restart.liveedit\n* Any other file you add via the **restartFile** command described below.\n\n\n## Get the LiveEdit object\n```var liveedit = require('nativescript-liveedit');```\n\n### Methods\n\n#### addModelPageLink(Page, Model)\n##### Parameters\n* Page - this is the page that the model is related too.\n* Model - this is the model that relates to the page\n\n#### ignoreFile(Page)\n##### Parameters\n* Page - this is the file to totally ignored for sending as updates.\nYou can call this multiple times and it will just add it to a list of files to ignore.\n\n#### restartFile(Page)\n##### Parameters\n* Page - this is the file to cause the app on the client to restart.    \nYou can call this multiple times and it will just add it to a list of files to restart on.\nBy default, app.js, restart.liveedit and restart.livesync are in this list.\n\n#### enabled(value) \n##### Parameters\n* (no parameter) will return if it is enabled\n* (value) - set it to be enabled (true) or disabled (false)\n\n#### debugMode(value)\n##### Parameters \n* (no Parameter) will return if it is running in debugMode \n* (value) - set it to be forced into or out of debugMode, rather than letting it use the detection method.\n\n#### getAppName()\nThis will return the package name in the from the AndroidManifest\n\n#### getAppVersion()\nThis will return the VersionName from inside the AndroidManifest\n\n#### restart()\nThis will fully restart the application -\n\n#### checkForEmulator()\nThis will check to see if the app is running on a emulator\n\n#### checkForDebugMode()\nThis will check to see if the app was signed with a debug key (i.e. debug mode)\n\n#### reloadPage()\nThis will reload the current page\n\n#### isSuspended()\nThis will tell you if the application is suspended.  (i.e. some other app has focus)\n\n#### currentAppPath()\nThis will return the current application path.\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=HN8DDMWVGBNQL\u0026lc=US\u0026item_name=Nathanael%20Anderson\u0026item_number=nativescript%2dliveedit\u0026no_note=1\u0026no_shipping=1\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3ax%3aNonHosted","https://www.patreon.com/NathanaelA"],"categories":["Awesome {N} [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)"],"sub_categories":["Table of Contents"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNathanaelA%2Fnativescript-liveedit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNathanaelA%2Fnativescript-liveedit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNathanaelA%2Fnativescript-liveedit/lists"}