Files
NativeScript/packages/core/config/config.interface.ts
Nathanael Anderson 757a2ffdf7 Update Config file
2020-08-30 12:36:04 -05:00

135 lines
3.3 KiB
TypeScript

interface IConfigPlaform {
/**
* App's bundle id
*/
id?: string;
/**
* Discard any uncaught JS exceptions
* This can be very useful in production environments when you don't want your app to just crash if a developer forgot to guard against an unexpected JS level exception.
*/
discardUncaughtJsExceptions?: boolean;
}
interface IConfigIOS extends IConfigPlaform {}
interface IConfigAndroid extends IConfigPlaform {
/**
* These are the v8 runtime flags you can pass in, you must have "--expose_gc" as this is used in the runtime
*/
v8Flags?: string;
/**
* Enable code cache by setting this to "true"
*/
codeCache?: boolean;
/**
* Depreciated
* Do not change
*/
heapSnapshotScript?: string;
/**
* Depreciated
* Do No change - File to use for Snapshots
*/
SnapshotFile?: string;
/**
* Directory of profiler out put files
*/
profilerOutputDir?: string;
/**
* How frequently in MS to automatically trigger a gc (0 = Disabled & Default)
* Docs: https://docs.nativescript.org/core-concepts/android-runtime/advanced-topics/memory-management
*/
gcThrottleTime?: number;
/**
* Enabled "timeline" profiling by setting this key to "timeline", default: ""
*/
profiling?: string;
/**
* "none" & "full" is supported, "full" is depreciated
* Default: none
*/
markingMode?: string;
/**
* Allow time zone changes to notify app, default: false
*/
handleTimeZoneChanges?: boolean;
/**
* Maximum size of a single output string; default: 1024
*/
maxLogcatObjectSize?: number;
/**
* Enable logging in Release applications, default: false
*/
forceLog?: boolean;
/**
* How frequently in ms that it does the freeMemoryRatio check
* Docs: https://docs.nativescript.org/core-concepts/android-runtime/advanced-topics/memory-management
*/
memoryCheckInterval?: number;
/**
* Percentage of memory (0.0 to 1.0) before it forces a GC (default & disabled = 0)
* Paired with he memoryCheckInterval
* Docs: https://docs.nativescript.org/core-concepts/android-runtime/advanced-topics/memory-management
*/
freeMemoryRatio?: number;
/**
* Used for Advanced debugging
*/
enableLineBreakpoints?: boolean;
/**
* Enabled the multithreaded JavaScript engine, this will probably break plugins...
* Disabled/Default: false
*/
enableMultithreadedJavascript?: boolean;
}
export interface NativeScriptConfig {
/**
* App's bundle id
* Used for both iOS and Android if they use the same bundle id. You can override per platform in the respective platform specific configurations.
*/
id?: string;
/**
* App's main entry file
*/
main?: string;
appPath?: string;
/**
* App_Resources path
* This is often at the root or inside `src` or `app` directory however can be anywhere.
*/
appResourcesPath?: string;
shared?: boolean;
previewAppSchema?: string;
overridePods?: string;
/**
* Custom webpack config path
* The default is `webpack.config.js` in the root however you can use a custom name and place elsewhere.
*/
webpackConfigPath?: string;
/**
* iOS specific configurations
* Various iOS specific configurations including iOS runtime flags.
*/
ios?: IConfigIOS;
/**
* Android specific configurations
* Various Android specific configurations including Android runtime flags.
*/
android?: IConfigAndroid;
}