Basically GitHub says there are some huge files in the project and won't let me push. The weird thing is I can't find the files that git refers to as being too big.

For now I'm excluding the platforms folder via .gitignore, which works, but I'm guessing this isn't something we want to recommend, as you could have platform-specific changes in that folder (aka changes that `tns platform add android/ios` won't add back). Correct me if I'm wrong.

So what I'm wondering is 1) has anyone ran into this GitHub problem? and 2) do we have a recommended .gitignore to exclude the output of builds from source control?

Erjan Gavalji

While this is on the table, we still haven't created specific instructions as to how to work with NativeScript CLI and source control.

Basically, for the long term, what you did is correct: the `platforms` folder must always be generate-able - its platform-specific files get retrieved from the `tns-ios`/`tns-android` packages in NPMjs.org and its NS-application specific files (tns_modules and the user code) get generated from the content in the main folder.

If the user wants to have anything that is platform-specific, they would:
1) create an *.android.js/*.ios.js file if they have platform-specific JavaScript code
2) create a custom module with its corresponding native binaries under the `modules` folder.

The implementation/specification of custom modules is still in progress, hence this is not an official information yet.

Kind regards,
Erjan Gavalji
Telerik

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

TJ

Ok that makes sense. Just fyi I got the sense that the `platforms` folder was editable from this portion of the CLI README (https://github.com/NativeScript/nativescript-cli#create-project), specifically:

> In the platforms directory, you can safely modify configuration files such asAndroidManifest.xml and Info.plist.

Because the docs say you can change those files I just assumed you'd want them stored in source control. If `platforms` is intended to be generated only I think the docs should change to reflect that.

Thanks,
TJ

Erjan Gavalji

Putting a second thought, making the `platforms` folder generate-able might be a task too error-prone in the long run. What I mean is that it would require that the NativeScript project structure supports platform-specific file maintenance (like the below-mentioned AndroidManifest and Info.plist files).

That said, it might be better to have that folder included to source control, but instead, each platform-specific project might have its .gitignore. Thus, we would concentrate and specify what we change. Of course, this adds another burden - we're getting locked into git and customers might use svn, TFS, or whatever other source control system. I'm putting these notes to the team discussion list.

Best,
Erjan
Telerik

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks or appropriate markings.