diff --git a/cli/src/declarations.ts b/cli/src/declarations.ts index 51e38d062..c5e80cebf 100644 --- a/cli/src/declarations.ts +++ b/cli/src/declarations.ts @@ -1,22 +1,340 @@ export interface CapacitorConfig { + /** + * The Package ID of your app. + * + * Package IDs (aka Bundle ID in iOS and Application ID in Android) are + * unique identifiers for apps. They must be in reverse domain name notation, + * generally representing a domain name that you or your company owns. + * + * @since 1.0.0 + */ appId?: string; + + /** + * The human-friendly name of your app. + * + * This should be what you'd see in the App Store, but can be changed after + * within each native platform after it is generated. + * + * @since 1.0.0 + */ appName?: string; + + /** + * The directory of your compiled web assets. + * + * This directory should contain the final `index.html` of your app. + * + * @since 1.0.0 + */ webDir?: string; + + /** + * Whether to copy the Capacitor runtime bundle or not. + * + * If your app is using a bundler, this should be `false`. If you added + * `capacitor.js` as a script in your `index.html` file, this should be + * `true`. + * + * @since 1.0.0 + * @default false + */ bundledWebRuntime?: boolean; + + /** + * Hide or show the native logs for iOS and Android. + * + * @since 1.0.0 + * @default false + */ + hideLogs?: boolean; + + /** + * User agent of Capacitor Web View. + * + * @since 1.0.0 + */ + overrideUserAgent?: string; + + /** + * String to append to the original user agent of Capacitor Web View. + * + * This is disregarded if `overrideUserAgent` is used. + * + * @since 1.0.0 + */ + appendUserAgent?: string; + + /** + * Background color of the Capacitor Web View. + * + * @since 1.0.0 + */ + backgroundColor?: string; + android?: { + /** + * Specify a custom path to the native Android project. + * + * @since 3.0.0 + * @default android + */ path?: string; + + /** + * User agent of Capacitor Web View on Android. + * + * Overrides global `overrideUserAgent` option. + * + * @since 1.0.0 + */ + overrideUserAgent?: string; + + /** + * String to append to the original user agent of Capacitor Web View for Android. + * + * Overrides global `appendUserAgent` option. + * + * This is disregarded if `overrideUserAgent` is used. + * + * @since 1.0.0 + */ + appendUserAgent?: string; + + /** + * Background color of the Capacitor Web View for Android. + * + * Overrides global `backgroundColor` option. + * + * @since 1.0.0 + */ + backgroundColor?: string; + + /** + * Enable mixed content in the Capacitor Web View for Android. + * + * [Mixed + * content](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content) + * is disabled by default for security. During development, you may need to + * enable it to allow the Web View to load files from different schemes. + * + * **This is not intended for use in production.** + * + * @default false + */ + allowMixedContent?: boolean; + + /** + * This enables a simpler keyboard which may have some limitations. + * + * This will capture JS keys using an alternative + * [`InputConnection`](https://developer.android.com/reference/android/view/inputmethod/InputConnection). + * + * @since 1.0.0 + * @default false + */ + captureInput?: boolean; + + /** + * Always enable debuggable web content. + * + * This is automatically enabled during development. + * + * @since 1.0.0 + * @default false + */ + webContentsDebuggingEnabled?: boolean; + + /** + * Hide or show the native logs for Android. + * + * Overrides global `hideLogs` option. + * + * @since 1.0.0 + * @default false + */ + hideLogs?: boolean; }; + ios?: { + /** + * Specify a custom path to the native iOS project. + * + * @since 3.0.0 + * @default ios + */ path?: string; + + /** + * User agent of Capacitor Web View on iOS. + * + * Overrides global `overrideUserAgent` option. + * + * @since 1.0.0 + */ + overrideUserAgent?: string; + + /** + * String to append to the original user agent of Capacitor Web View for iOS. + * + * Overrides global `appendUserAgent` option. + * + * This is disregarded if `overrideUserAgent` is used. + * + * @since 1.0.0 + */ + appendUserAgent?: string; + + /** + * Background color of the Capacitor Web View for iOS. + * + * Overrides global `backgroundColor` option. + * + * @since 1.0.0 + */ + backgroundColor?: string; + + /** + * Configure the scroll view's content inset adjustment behavior. + * + * This will set the + * [`contentInsetAdjustmentBehavior`](https://developer.apple.com/documentation/uikit/uiscrollview/2902261-contentinsetadjustmentbehavior) + * property on the Web View's + * [`UIScrollView`](https://developer.apple.com/documentation/uikit/uiscrollview). + * + * @since 1.0.0 + * @default never + */ + contentInset?: 'automatic' | 'scrollableAxes' | 'never' | 'always'; + + /** + * Configure the Swift version to be used in Cordova plugins. + * + * @since 1.0.0 + * @default 5.1 + */ cordovaSwiftVersion?: string; + + /** + * Configure the minimum iOS version supported. + * + * @since 1.0.0 + * @default 11.0 + */ minVersion?: string; + + /** + * Configure custom linker flags for compiling Cordova plugins. + * + * @since 1.0.0 + * @default [] + */ cordovaLinkerFlags?: string[]; + + /** + * Allow destination previews when pressing on links. + * + * @since 1.0.0 + * @default false + */ + allowsLinkPreview?: boolean; + + /** + * Hide or show the native logs for iOS. + * + * Overrides global `hideLogs` option. + * + * @since 1.0.0 + * @default false + */ + hideLogs?: boolean; }; + + server?: { + /** + * Configure the local hostname of the device. + * + * It is recommended to keep this as `localhost` as it allows the use of + * Web APIs that would otherwise require a [secure + * context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) + * such as + * [`navigator.geolocation`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation) + * and + * [`MediaDevices.getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia). + * + * @since 1.0.0 + * @default localhost + */ + hostname?: string; + + /** + * Configure the local scheme on iOS. + * + * This can be useful when migrating from + * [`cordova-plugin-ionic-webview`](https://github.com/ionic-team/cordova-plugin-ionic-webview), + * where the default scheme on iOS is `ionic`. + * + * @since 1.0.0 + * @default capacitor + */ + iosScheme?: string; + + /** + * Configure the local scheme on Android. + * + * @since 1.0.0 + * @default http + */ + androidScheme?: string; + + /** + * Load an external URL in the Web View. + * + * This is intended for use with live-reload servers. + * + * **This is not intended for use in production.** + * + * @since 1.0.0 + */ + url?: string; + + /** + * Allow cleartext traffic in the Web View. + * + * On Android, all cleartext traffic is disabled by default as of API 28. + * + * This is intended for use with live-reload servers where unencrypted HTTP + * traffic is often used. + * + * **This is not intended for use in production.** + * + * @since 1.0.0 + * @default false + */ + cleartext?: boolean; + + /** + * Set additional URLs the Web View can navigate to. + * + * By default, all external URLs are opened in the external browser (not + * the Web View). + * + * **This is not intended for use in production.** + * + * @since 1.0.0 + * @default [] + */ + allowNavigation?: string[]; + }; + cordova?: { + /** + * Configure Cordova preferences. + * + * @since 1.0.0 + */ preferences?: { [key: string]: string | undefined }; }; + plugins?: { [key: string]: any }; - server?: { - cleartext?: boolean; - }; }