/** * @class Cmd.app.json.Manifest * @extend Cmd.codebase.json.Manifest * This class is a description of the contents of `'app.json'` file which Sencha Cmd * compiles to produce `Ext.manifest`. */ /** * @cfg {Cmd.app.json.AppCache} appCache * Settings used to generate a `cache.manifest` file. */ /** * @cfg {String} archivePath * Directory path to store all previous production builds. Note that the content * generated inside this directory must be kept intact for proper generation of * deltas between updates. */ /** * @cfg {String/Object} bootstrap * Options for development-mode artifacts. If this value is a string, it is equivalent to * setting the `bootstrap.base` value. * * @cfg {String} [bootstrap.base="${app.dir}"] The base location where development-mode * artifacts are stored. By default they are stored in the same location as `app.json` * itself. Relative paths for other `bootstrap` artifacts are based at this location. * * @cfg {String} [bootstrap.css="bootstrap.css"] * The development mode CSS file. * * @cfg {String} [bootstrap.microloader="bootstrap.js"] * The path to the main JavaScript file to load in development mode that will then load * the files described in the `bootstrap.manifest`. This file will be generated with the * `Ext.Boot` and `Ext.Microloader` classes. * * @cfg {String/Object} [bootstrap.manifest] * When this config is a string, it is equivalent to setting `bootstrap.manifest.path`. * Otherwise this config is an object with optional `path` and `exclude` properties. * * @cfg {String} [bootstrap.manifest.path="bootstrap.json"] * The location of the development-mode manifest file. This file describes the files to * load for the application and framework. * * @cfg {String} [bootstrap.manifest.exclude] * A comma-separated list of top-level keys to remove from the generated manifest object. * One key that may be desirable to remove is `loadOrder`, which is used to load files in * the same order as a production build, but can be rather large. */ /** * @cfg {Object} builds * This object's properties are "build profiles". You can add as many as you need to * produce optimized builds for devices, themes, locales or other criteria. Your * `Ext.beforeLoad` function is responsible for selecting the desired build profile by * setting `Ext.manifest` to one of these names. */ /** * @cfg {Object} cache * * @cfg {Boolean} cache.enable This property controls whether localStorage caching of the * manifest file. If disabled no deltas will be generated during a build and full updates * will be disabled. * * @cfg {Boolean/String} [cache.deltas] Determines whether the localStorage cache of assets * will use "delta patching" to update assets. * * If set to a String, that value will be used as the path to where deltas will be generated * relative to the build. * * If set to `true` the default path of `"deltas"` will be used. If set to `false` or if * this property is not present, deltas will not be generated. */ /** * @cfg {Object} cordova * TODO * @cfg {Object} cordova.config * Cordova configuration object. */ /** * @cfg {Cmd.app.json.Fashion} fashion * The options that control the CSS build using the Sencha Fashion theme compiler. */ /** * @cfg {String} framework * The framework of this application. This is typically "ext" but can be any key in the * {@link Cmd.workspace.json.Manifest#frameworks frameworks} collection of the workspace. */ /** * @cfg {String} id * Uniquely generated id for this application, used as prefix for localStorage keys. * Normally you should never change this value. */ /** * @cfg {String[]} ignore * File / directory name pattern to ignore when copying to the builds. Must be a * valid regular expression. */ /** * @cfg {String} indexHtmlPath * The relative path to the application's markup file (html, jsp, asp, etc.). * Typically "index.html". */ /** * @cfg {Cmd.codebase.json.JS[]} js * One or more JavaScript assets to include in the build (or load remotely). Typically * this config is set to something like: * * "js": [{ * "path": "app.js", * "bundle": true * }] */ /** * @cfg {Object} loader * Settings for the Ext JS dynamic loader (`Ext.Loader`). * @cfg {Boolean/String} [loader.cache=false] When set to `false` the loader uses the * `loader.cacheParam` to disable cached responses. When set to `true`, the loader does * not disable browser caching. In a `production` build this is usually set to the build * timestamp using the `${build.timestamp}` variable. * @cfg {String} [loader.cacheParam="_dc"] The URL query parameter to use to disable the * browser cache. For example `"?_dc=12345"`. */ /** * @cfg {String} name * The application's name (typically also its root namespace). */ /** * @cfg {String} namespace * The application's root namespace. This property can be provided if the `name` property * is used in ways that do not match with the JavaScript namespace. */ /** * @cfg {Cmd.app.json.Output} output * The options used to control build output. */ /** * @cfg {Object} phonegap * This config is the same as the `cordova` config but applies to the PhoneGap packager. * @cfg {Object} phonegap.config * PhoneGap configuration options. */ /** * @cfg {String[]} uses * A list of packages that will be used by the application. These packages are built so * that they can be dynamically loaded using the `package-loader` package. */ /** * @cfg {Cmd.app.json.progressive.Progressive} progressive * This is the configuration object for Progressive Web Applications */ /** * @cfg {Cmd.app.json.packager.Cordova} cordova * The config options for the cordova packager process */ /** * @cfg {Cmd.app.json.packager.Phonegap} phonegap * The cofig options for the phonegap packager process */ /** * @cfg {"cordova"/"phonegap"} packager * When configured on a build profile, selects the desired native packager to use for that * build profile. */