{"id":20727965,"url":"https://github.com/mobilehero-archive/titanium-tiapp-xml","last_synced_at":"2026-04-18T21:05:27.314Z","repository":{"id":42232804,"uuid":"201278373","full_name":"mobilehero-archive/titanium-tiapp-xml","owner":"mobilehero-archive","description":"Axway Amplify module to modify app config - tiapp.xml for Appcelerator Titanium apps","archived":false,"fork":false,"pushed_at":"2023-05-17T04:35:20.000Z","size":990,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-01T18:26:51.684Z","etag":null,"topics":["alloy","api-builder","appcelerator","appcelerator-titanium","axway","axway-amplify","axway-sdk","axwaydev","brenton-house","tiapp","titanium","titanium-alloy","titanium-mobile","titanium-module","titanium-sdk","xml"],"latest_commit_sha":null,"homepage":"https://brenton.house/saying-goodbye-to-axway-amplify-titanium-31a44f3671de","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mobilehero-archive.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-08T14:44:43.000Z","updated_at":"2024-06-20T21:56:30.152Z","dependencies_parsed_at":"2024-06-20T22:09:10.177Z","dependency_job_id":null,"html_url":"https://github.com/mobilehero-archive/titanium-tiapp-xml","commit_stats":null,"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilehero-archive%2Ftitanium-tiapp-xml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilehero-archive%2Ftitanium-tiapp-xml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilehero-archive%2Ftitanium-tiapp-xml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilehero-archive%2Ftitanium-tiapp-xml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mobilehero-archive","download_url":"https://codeload.github.com/mobilehero-archive/titanium-tiapp-xml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243005359,"owners_count":20220466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alloy","api-builder","appcelerator","appcelerator-titanium","axway","axway-amplify","axway-sdk","axwaydev","brenton-house","tiapp","titanium","titanium-alloy","titanium-mobile","titanium-module","titanium-sdk","xml"],"created_at":"2024-11-17T04:35:03.092Z","updated_at":"2026-04-18T21:05:27.282Z","avatar_url":"https://github.com/mobilehero-archive.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[//]: # (header-start)\n\n\u003ch1 align=\"center\"\u003e\n\t\u003ca href=\"https://blog.axway.com/mobile-apps/changes-to-application-development-services\"\u003e\n\t\tPreparing for end of Axway\n\t\u003c/a\u003e\t\n\u003c/h1\u003e\n\u003ch2 align=\"center\"\u003e\n\t👇 \u0026nbsp; support for Amplify Cloud and Mobile   \u0026nbsp; 👇\n\u003c/h2\u003e\t\n\n\u003ca href=\"https://brenton.house/saying-goodbye-to-axway-amplify-titanium-31a44f3671de\"\u003e\n\t\u003cp align=\"center\"\u003e\n\t\t\u003cimg src=\"https://cdn.secure-api.org/images/RIP-Axway-Amplify-Titanium.png\" alt=\"RIP Axway Amplify Titanium (2010 - 2022)\" width=\"80%\" /\u003e\n\t\u003c/p\u003e\n\u003c/a\u003e\t\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://blog.axway.com/mobile-apps/changes-to-application-development-services\"\u003e\n\t\t\t🪦 \u0026nbsp; RIP Axway Amplify Titanium (2010 - 2022)\n\t\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://blog.axway.com/mobile-apps/prepare-your-apps-for-appcelerator-end-of-support\"\u003e\n\t\t\t🪦 \u0026nbsp; RIP Axway Amplify Cloud Services (2012 - 2022)\n\t\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://blog.axway.com/mobile-apps/prepare-your-apps-for-appcelerator-end-of-support\"\u003e\n\t\t\t🪦 \u0026nbsp; RIP Axway Amplify Crash Analytics (2015 - 2022)\n\t\u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr\u003e\n\u003ch4 align=\"center\"\u003e\n🛑 \u0026nbsp;\u0026nbsp; \u003ca href=\"https://blog.axway.com/mobile-apps/prepare-your-apps-for-appcelerator-end-of-support\"\u003eAxway support for Amplify products has ended\u003c/a\u003e for most products related to mobile and cloud. \n\u003c/h4\u003e\n\n\u003ch4 align=\"center\"\u003e\nA few of the open-source versions of Axway Amplify products will live on after \u003ca href=\"\"\u003eAxway Amplify End-of-Life\u003c/a\u003e (EOL) announcements.  However, all closed-source projects and most open-source projects are now dead.  \n\t\u003c/h4\u003e\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\n\u003e 👉 \u0026nbsp;\u0026nbsp; A group of Axway employees, ex-Axway employees, and some developers from Titanium community have created a legal org and now officially decide all matters related to future of these products.  \n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003chr\u003e\n\n\n## API FAQ:\n\n* [API Best Practices](https://brenton.house)\n* [What is API Security?](https://brenton.house/what-is-api-security-5ca8117d4911)\n* [OWASP Top 10 List for API Security](https://www.youtube.com/watch?v=GLVHDj0Cpg4)\n* [What is API Security?](https://brenton.house/what-is-api-security-5ca8117d4911)\n* [Top API Trends for 2022](https://brenton.house/top-10-api-integration-trends-for-2022-49b05f2ef299)\n* [What is a Frankenstein API?](https://brenton.house/what-is-a-frankenstein-api-4d6e59fca6)\n* [What is a Zombie API?](https://brenton.house/what-is-a-zombie-api-6e5427c39b6a)\n* [API Developer Experience](https://brenton.house/keys-to-winning-with-an-awesome-api-developer-experience-62dd2fa668f4)\n* [API Cybersecurity 101](https://brenton.house/what-is-api-security-5ca8117d4911)\n* [YouTube API Videos](https://youtube.com/brentonhouse)\n* [YouTube API Shorts Videos](https://youtube.com/apishorts)\n\n\u0026nbsp;\n\n[![Click to watch on Youtube](https://img.youtube.com/vi/GLVHDj0Cpg4/0.jpg)](https://www.youtube.com/watch?v=GLVHDj0Cpg4\u0026list=PLsy9MwYlG1pew6sktCAIFD5tbrXy9HUQ7  \"Click to watch on YouTube\")\n\n\n\u003e \u0026nbsp; [↑ Watch video on YouTube ↑](https://www.youtube.com/watch?v=GLVHDj0Cpg4\u0026list=PLsy9MwYlG1pew6sktCAIFD5tbrXy9HUQ7)\n\n\u0026nbsp;\n\n\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003chr\u003e\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\n[//]: # (header-end)\n\n\n# @titanium/tiapp-xml\n\n[![@titanium/tiapp-xml version](https://img.shields.io/npm/v/@titanium/tiapp-xml.png)](https://www.npmjs.com/package/@titanium/tiapp-xml)\n[![@titanium/tiapp-xml downloads](https://img.shields.io/npm/dm/@titanium/tiapp-xml.svg)](https://www.npmjs.com/package/@titanium/tiapp-xml)\n[![@titanium/tiapp-xml dependencies](https://img.shields.io/librariesio/release/npm/@titanium/tiapp-xml.svg)](https://www.npmjs.com/package/@titanium/tiapp-xml)\n\n\n\u003e Modify your tiapp.xml file from Node.js.  This is a fork from tonylukasavage that primarily addresses the \".\" in the package name and module but leaving room to possibly add more enhancements.\n\n* [API FAQ:](#api-faq)\n* [📝 Description](#-description)\n* [🚀 Getting Started](#-getting-started)\n\t* [Install](#install)\n* [Examples](#examples)\n\t* [Change the Titanium SDK version](#change-the-titanium-sdk-version)\n\t* [Disable analytics](#disable-analytics)\n\t* [Add a new native module for android](#add-a-new-native-module-for-android)\n\t* [Print the tiapp.xml from the tiapp object](#print-the-tiappxml-from-the-tiapp-object)\n* [API](#api)\n\t* [load(file)](#loadfile)\n\t* [parse(xmlString, filename)](#parsexmlstring-filename)\n\t* [find()](#find)\n\t* [toString()](#tostring)\n\t* [write([file])](#writefile)\n\t* [top-level elements](#top-level-elements)\n\t* [getDeploymentTarget(platform)](#getdeploymenttargetplatform)\n\t* [getDeploymentTargets()](#getdeploymenttargets)\n\t* [setDeploymentTarget(platform, value)](#setdeploymenttargetplatform-value)\n\t* [setDeploymentTargets(obj)](#setdeploymenttargetsobj)\n\t* [getProperty(name)](#getpropertyname)\n\t* [setProperty(name, [value], [type])](#setpropertyname-value-type)\n\t* [removeProperty(name)](#removepropertyname)\n\t* [getModules()](#getmodules)\n\t* [setModule(id, [version], [platform])](#setmoduleid-version-platform)\n\t* [removeModule(id, [platform])](#removemoduleid-platform)\n\t* [getPlugins()](#getplugins)\n\t* [setPlugin(id, [version])](#setpluginid-version)\n\t* [removePlugin(id)](#removepluginid)\n\t* [doc](#doc)\n* [Todo](#todo)\n* [📚Learn More](#learn-more)\n* [📣 Feedback](#-feedback)\n\n\n## 📝 Description \n\nA node.js parsing and manipulation API module for Appcelerator's [Titanium](http://www.appcelerator.com/titanium/) tiapp.xml configuration file. It makes it exceedingly easy now to read and modify entries in the tiapp.xml file programmatically. No need to manually parse XML anymore, but [you can](#doc) if you so choose.\n\nFor complete details regarding tiapp.xml files, please consult Appcelerator's [full documentation](http://docs.appcelerator.com/titanium/latest/#!/guide/tiapp.xml_and_timodule.xml_Reference).\n\n\n\n## 🚀 Getting Started\n\n### Install\n\nInstall `@titanium/tiapp-xml` in root of your project\n\n```bash\n$ npm install @titanium/tiapp-xml\n```\n\n## Examples\n\n### Change the Titanium SDK version\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\ntiapp.sdkVersion = '8.1.0.GA';\ntiapp.write();\n```\n\n### Disable analytics\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\ntiapp.analytics = false;\ntiapp.write();\n```\n\n### Add a new native module for android\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\ntiapp.setModule('com.tonylukasavage.someCoolModule', '1.0', 'android');\ntiapp.write();\n```\n\n### Print the tiapp.xml from the tiapp object\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nconsole.log(tiapp.doc.toString());\n```\n\n## API\n\n* module APIs\n\t* [load](#loadfile)\n\t* [parse](#parsexmlstring-filename)\n\t* [find](#find)\n* tiapp APIs\n\t* [toString](#tostring)\n\t* [write](#writefile)\n\t* [top-level elements](#top-level-elements)\n\t* [getDeploymentTarget](#getdeploymenttargetplatform)\n\t* [getDeploymentTargets](#getdeploymenttargets)\n\t* [setDeploymentTarget](#setdeploymenttargetplatform-value)\n\t* [setDeploymentTargets](#setdeploymenttargetsobj)\n\t* [getProperty](#getpropertyname)\n\t* [setProperty](#setpropertyname-value-type)\n\t* [removeProperty](#removepropertyname)\n\t* [getModules](#getmodules)\n\t* [setModule](#setmoduleid-version-platform)\n\t* [removeModule](#removemoduleid-platform)\n\t* [getPlugins](#getplugins)\n\t* [setPlugin](#setpluginid-version)\n\t* [removePlugin](#removepluginid)\n\t* [doc](#doc)\n\n### load(file)\n\nLoad a tiapp.xml file and return a Tiapp object. If `file` is undefined, [find()](#find) will attempt to locate a tiapp.xml file.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n```\n\n### parse(xmlString, filename)\n\nParse an xml string as a tiapp.xml document and return a Tiapp object. This is used by `load()` and generally isn't used directly. `filename` is optional, and is used only as a default value if you attempt to [write()](#writefile) later.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').parse('\u003cti:app\u003e\u003c!-- the rest of the tiapp.xml --\u003e\u003c/ti:app\u003e');\n```\n\n### find()\n\nFind a tiapp.xml file and return its file path. It will start by searching the current working directory for a tiapp.xml file. If it doesn't find it, it will continue to move up the folder hierarchy attempting to find tiapp.xml files. If it never finds a tiapp.xml, it returns `null`.\n\n```js\nvar pathToTiappXml = require('@titanium/tiapp-xml').find();\n```\n\n### toString()\n\nReturn the string representation of the tiapp.xml file.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nconsole.log(tiapp.toString());\n```\n\n### write([file])\n\nWrite the current Tiapp object out as a tiapp.xml file to `file`. If `file` is undefined, it will use the file supplied in the inital [load()](#loadfile) or [parse()](#parsexmlstring-filename) call. If it still can't find a file, an exception with be thrown.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n\n// disable analytics\ntiapp.analytics = false;\n\n// write out the changes to \"./tiapp.xml\"\ntiapp.write();\n\n// or write out to an explicit location\ntiapp.write('/path/to/tiapp.xml');\n```\n\n### top-level elements\n\nGet and set [top-level tiapp.xml elements](http://docs.appcelerator.com/titanium/latest/#!/guide/tiapp.xml_and_timodule.xml_Reference-section-29004921_tiapp.xmlandtimodule.xmlReference-TopLevelElements) directly as properties. These properties can be referenced in dash form or camel case. For example, to work with the `sdk-version` you can use either `tiapp['sdk-version']` or `tiapp.sdkVersion`.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n\n// prints the name and guid of the app\nconsole.log(tiapp.name + ': ' + tiapp.guid);\n\n// disable analytics\ntiapp.analytics = false;\n\n// change the sdk version\ntiapp['sdk-version'] = '3.2.2.GA';\n```\n\n### getDeploymentTarget(platform)\n\nReturn a boolean indicating whether or not the given `platform` is enabled. If no `platform` is given, [getDeploymentTargets](#getdeploymenttargets) is called instead.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nconsole.log(tiapp.getDeploymentTarget('android'));\n```\n\nThe previous code would print `true` if the `deployment-targets` section of your tiapp.xml looked something like this:\n\n```xml\n\u003cdeployment-targets\u003e\n\t\u003ctarget device=\"android\"\u003etrue\u003c/target\u003e\n\u003c/deployment-targets\u003e\n```\n\n### getDeploymentTargets()\n\nReturn an object representation of all the deployment target elements.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nconsole.log(tiapp.getDeploymentTargets());\n```\n\nThe previous code executed against a tiapp.xml that had everything but Tizen enabled would print this:\n\n```js\n{\n\tandroid: true,\n\tblackberry: true,\n\tipad: true,\n\tiphone: true,\n\tmobileweb: true,\n\ttizen: false\n}\n```\n\n### setDeploymentTarget(platform, value)\n\nEnable or disable a platform. If `platform` is an object, [setDeploymentTargets](#setdeploymenttargetsobj) is called instead.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\ntiapp.setDeploymentTarget('android', false);\ntiapp.write();\n```\n\nThe previous code would write a `deployment-targets` entry something like this:\n\n```xml\n\u003cdeployment-targets\u003e\n\t\u003ctarget device=\"android\"\u003efalse\u003c/target\u003e\n\u003c/deployment-targets\u003e\n```\n\n### setDeploymentTargets(obj)\n\nEnabled or disable all platforms at once. `obj` is an object representation of all deployment targets.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n\n// get existing list of deployment targets\nvar targets = tiapp.getDeploymentTarget();\n\n// disable tizen and blackberry\ntargets.blackberry = false;\ntargets.tizen = false;\ntiapp.setDeploymentTargets(targets);\n\n// or use an object literal to do the same without the getDeploymentTargets() call\ntiapp.setDeploymentTargets({\n\tandroid: true,\n\tblackberry: false,\n\tipad: true,\n\tiphone: true,\n\tmobileweb: true,\n\ttizen: false\n});\n\ntiapp.write();\n```\n\n### getProperty(name)\n\nGet a tiapp.xml [application property](http://docs.appcelerator.com/titanium/latest/#!/guide/tiapp.xml_and_timodule.xml_Reference-section-29004921_tiapp.xmlandtimodule.xmlReference-ApplicationProperties) value.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nconsole.log(tiapp.getProperty('ti.ui.defaultunit')); // prints \"system\"\n```\n\n### setProperty(name, [value], [type])\n\nSet a tiapp.xml [application property](http://docs.appcelerator.com/titanium/latest/#!/guide/tiapp.xml_and_timodule.xml_Reference-section-29004921_tiapp.xmlandtimodule.xmlReference-ApplicationProperties).\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n\n// with just a value\ntiapp.setProperty('ti.ui.defaultunit', 'dp');\n\n// or with a value and type\ntiapp.setProperty('ti.ui.defaultunit', 'dp', 'string');\n\ntiapp.write();\n```\n\n### removeProperty(name)\n\nRemove an [application property](http://docs.appcelerator.com/titanium/latest/#!/guide/tiapp.xml_and_timodule.xml_Reference-section-29004921_tiapp.xmlandtimodule.xmlReference-ApplicationProperties) from the tiapp.xml.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\ntiapp.removeProperty('ti.ui.defaultunit');\ntiapp.write();\n```\n\n### getModules()\n\nGet an array of objects representing modules listed in the tiapp.xml.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nvar modules = tiapp.getModules();\n\n// iterate through a list of modules from the tiapp.xml\nmodules.forEach(function(mod) {\n\t// read access to properties on module object\n\tconsole.log('id=%s,version=%s,platform=%s',\n\t\tmod.id, mod.version || '\u003cno version\u003e', mod.platform || '\u003cno platform\u003e');\n});\n```\n\n### setModule(id, [version], [platform])\n\nAdd or update a module in the tiapp.xml.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n\n// Add the ti.cloud module\ntiapp.setModule('ti.cloud');\n\n// Set the version of ti.cloud to 2.0\ntiapp.setModule('ti.cloud', '2.0');\n\n// Add a platform-specific module\ntiapp.setModule('ti.cloud', '1.0', 'android');\n\n// add with object for attributes\ntiapp.setModule('some.module', {\n\tplatform: 'android',\n\tversion: '3.3'\n});\n\n// Add one more module, no additional details\ntiapp.setModule('com.tonylukasavage.nothing');\n\ntiapp.write();\n```\n\nThe resulting tiapp.xml `\u003cmodules\u003e` section would look like this:\n\n```xml\n\u003cmodules\u003e\n\t\u003cmodule version=\"2.0\"\u003eti.cloud\u003c/module\u003e\n\t\u003cmodule version=\"1.0\" platform=\"android\"\u003eti.cloud\u003c/module\u003e\n\t\u003cmodule version=\"3.3\" platform=\"android\"\u003esome.module\u003c/module\u003e\n\t\u003cmodule\u003ecom.tonylukasavage.nothing\u003c/module\u003e\n\u003c/modules\u003e\n```\n\n### removeModule(id, [platform])\n\nRemove a module from the tiapp.xml.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n\n// remove ti.cloud module that is _not_ platform-specific\ntiapp.removeModule('ti.cloud');\n\n// remove a platform-specific ti.cloud entry\ntiapp.removeModule('ti.cloud', 'android');\n\ntiapp.write();\n```\n\n### getPlugins()\n\nGet an array of objects representing plugins listed in the tiapp.xml.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nvar plugins = tiapp.getPlugins();\n\n// iterate through a list of plugins from the tiapp.xml\nplugins.forEach(function(plugin) {\n\t// read access to properties on plugin object\n\tconsole.log('id=%s,version=%s', plugin.id, plugin.version || '\u003cno version\u003e');\n});\n```\n\n### setPlugin(id, [version])\n\nAdd or update a plugin in the tiapp.xml.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\n\n// Add the ti.alloy plugin\ntiapp.setPlugin('ti.alloy');\n\n// Set the version of ti.alloy to 2.0\ntiapp.setModule('ti.alloy', '2.0');\n\ntiapp.write();\n```\n\nThe resulting tiapp.xml `\u003cplugins\u003e` section would look like this:\n\n```xml\n\u003cplugins\u003e\n\t\u003cplugin version=\"2.0\"\u003eti.alloy\u003c/plugin\u003e\n\u003c/plugins\u003e\n```\n\n### removePlugin(id)\n\nRemove a plugin from the tiapp.xml.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\ntiapp.removePlugin('ti.alloy');\ntiapp.write();\n```\n\n### doc\n\nA direct reference to the underlying XML Document object as supplied by [xmldom](https://github.com/jindw/xmldom). You will not need to use this in most cases and should use the tiapp.xml module APIs instead.\n\n```js\nvar tiapp = require('@titanium/tiapp-xml').load('./tiapp.xml');\nconsole.log(tiapp.doc.documentElement.nodeName); // prints \"ti:app\"\n```\n\n## Todo\n\n* Platform-specific tiapp.xml sections\n\n\n\n## 📚Learn More\n\n- https://github.com/tonylukasavage/tiapp.xml - Original repo by [tonylukasavage](https://github.com/tonylukasavage)\n\n\n## 📣 Feedback\n\nHave an idea or a comment?  [Join in the conversation here](https://github.com/brentonhouse/titanium-tiapp-xml/issues)! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobilehero-archive%2Ftitanium-tiapp-xml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmobilehero-archive%2Ftitanium-tiapp-xml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobilehero-archive%2Ftitanium-tiapp-xml/lists"}