3 * The application's namespace.
8 * The version of the application.
13 * The relative path to the application's markup file (html, jsp, asp, etc.).
15 "indexHtmlPath": "index.html",
18 * The list of directories or files to search for classes.
20 * Any classes declared in these locations will be available in your class "requires"
21 * or in calls to "Ext.require". The "app.dir" variable below is expanded to the path
22 * where the application resides (the same folder in which this file is located).
30 * Comma-separated string with the paths of directories or files to search.
32 * Any classes declared in these locations will be automatically required and included
35 * If any file defines an Ext JS override (using Ext.define with an "override" property),
36 * that override will in fact only be included in the build if the target class specified
37 * in the "override" property is also included.
41 "${toolkit.name}/overrides"
45 * The Sencha Framework for this application.
50 * The list of required packages (with optional versions; default is "latest").
59 * Sass configuration properties.
63 * The root namespace to use when mapping *.scss files to classes in the
64 * sass/src and sass/var directories. For example, "Admin.view.Foo" would
65 * map to "sass/src/view/Foo.scss". If we changed this to "Admin.view" then
66 * it would map to "sass/src/Foo.scss". To style classes outside the app's
67 * root namespace, change this to "". Doing so would change the mapping of
68 * "Admin.view.Foo" to "sass/src/Admin/view/Foo.scss".
73 * File used to save sass variables edited via Sencha Inspector. This file
74 * will automatically be applied to the end of the scss build.
76 // "save": "sass/${build.id}.json"
79 * Comma-separated list of files or folders containing extra Sass. These
80 * files are automatically included in the Sass compilation. By default this
81 * is just "etc/all.scss" to allow import directives to control the order
82 * other files are included.
84 * All "etc" files are included at the top of the Sass compilation in their
92 * | packages | (in package dependency order)
99 "${toolkit.name}/sass/etc/all.scss"
103 * Comma-separated list of folders containing Sass variable definitions
104 * files. These file can also define Sass mixins for use by components.
106 * All "var" files are included after "etc" files in the Sass compilation in
107 * roughly reverse dependency order:
109 * +-----------------+
111 * +-------+---------+
113 * | theme +---------+
115 * +-------+---------+
116 * | packages | (in package dependency order)
117 * +-----------------+
122 "${toolkit.name}/sass/var/all.scss",
123 "${toolkit.name}/sass/var"
127 * Comma-separated list of folders containing Sass rule files.
129 * All "src" files are included after "var" files in the Sass compilation in
130 * dependency order (the same order as "etc"):
132 * +-------+---------+
134 * | theme +---------+
136 * +-------+---------+
137 * | packages | (in package dependency order)
138 * +-----------------+
140 * +-----------------+
144 "${toolkit.name}/sass/src"
149 * List of all JavaScript assets in the right execution order.
151 * Each item is an object with the following format:
154 * // Path to file. If the file is local this must be a relative path from
155 * // this app.json file.
157 * "path": "path/to/script.js", // REQUIRED
159 * // Set to true on one file to indicate that it should become the container
160 * // for the concatenated classes.
162 * "bundle": false, // OPTIONAL
164 * // Set to true to include this file in the concatenated classes.
166 * "includeInBundle": false, // OPTIONAL
168 * // Specify as true if this file is remote and should not be copied into the
169 * // build folder. Defaults to false for a local file which will be copied.
171 * "remote": false, // OPTIONAL
173 * // If not specified, this file will only be loaded once, and cached inside
174 * // localStorage until this value is changed. You can specify:
176 * // - "delta" to enable over-the-air delta update for this file
177 * // - "full" means full update will be made when this file changes
179 * "update": "", // OPTIONAL
181 * // A value of true indicates that is a development mode only dependency.
182 * // These files will not be copied into the build directory or referenced
183 * // in the generate app.json manifest for the micro loader.
185 * "bootstrap": false // OPTIONAL
195 * Settings specific to classic toolkit builds.
199 // // Remove this entry to individually load sources from the framework.
201 // "path": "${framework.dir}/build/ext-all-rtl-debug.js"
207 * Settings specific to modern toolkit builds.
211 // // Remove this entry to individually load sources from the framework.
213 // "path": "${framework.dir}/build/ext-modern-all-debug.js"
219 * List of all CSS assets in the right inclusion order.
221 * Each item is an object with the following format:
224 * // Path to file. If the file is local this must be a relative path from
225 * // this app.json file.
227 * "path": "path/to/stylesheet.css", // REQUIRED
229 * // Specify as true if this file is remote and should not be copied into the
230 * // build folder. Defaults to false for a local file which will be copied.
232 * "remote": false, // OPTIONAL
234 * // If not specified, this file will only be loaded once, and cached inside
235 * // localStorage until this value is changed. You can specify:
237 * // - "delta" to enable over-the-air delta update for this file
238 * // - "full" means full update will be made when this file changes
240 * "update": "" // OPTIONAL
244 // This entry uses an ant variable that is the calculated value of the generated
245 // output css file for the app, defined in .sencha/app/defaults.properties
246 "path": "${build.out.css.path}",
248 "exclude": ["fashion"]
252 * This option is used to configure the dynamic loader. At present these options
257 // This property controls how the loader manages caching for requests:
259 // - true: allows requests to receive cached responses
260 // - false: disable cached responses by adding a random "cache buster"
261 // - other: a string (such as the build.timestamp shown here) to allow
262 // requests to be cached for this build.
266 // When "cache" is not true, this value is the request parameter used
267 // to control caching.
273 * Settings specific to production builds.
279 "path": "../cache.appcache"
284 "cache": "${build.timestamp}"
292 * Settings specific to testing builds.
306 * Settings specific to development builds.
310 // You can add this tag to enable Fashion when using app watch or
311 // you can add "?platformTags=fashion:1" to the URL to enable Fashion
312 // without changing this file.
319 * Controls the output structure of development-mode (bootstrap) artifacts. May
320 * be specified by a string:
322 * "bootstrap": "${app.dir}"
324 * This will adjust the base path for all bootstrap objects, or expanded into object
328 * "base": "${app.dir},
329 * "manifest": "bootstrap.json",
330 * "microloader": "bootstrap.js",
331 * "css": "bootstrap.css"
334 * You can optionally exclude entries from the manifest. For example, to exclude
335 * the "loadOrder" (to help development load approximate a build) you can add:
339 * "path": "bootstrap.json",
340 * "exclude": "loadOrder"
346 "base": "${app.dir}",
347 "manifest": "${build.id}.json",
348 "microloader": "bootstrap.js",
349 "css": "bootstrap.css"
353 * Controls the output directory for build resources. May be set with
356 * "${workspace.build.dir}/${build.environment}/${app.name}"
358 * or an object containing values for various types of build artifacts:
361 * "base": "${workspace.build.dir}/${build.environment}/${app.name}",
363 * "path": "../index.html",
366 * "css": "${app.output.resources}/${app.name}-all.css",
369 * "path": "microloader.js",
374 * "path": "app.json",
376 * "enable": "${app.output.microloader.enable}"
378 * "resources": "resources",
380 * "path": "${app.output.resources}/images",
383 * // Setting the "enable" property of this object to a Truthy value will cause a Application Cache
384 * // manifest file to be generated based on this files appCache object. This file will then be injected
385 * // into the index.html file of the built application
393 "base": "${ext.dir}/build/examples/admin-dashboard/${build.id}",
394 "page": "../index.html",
395 "manifest": "../${build.id}.json",
402 * Controls for localStorage caching
404 * // This property controls whether localStorage caching of this manifest file is on or off.
405 * // if disabled no deltas will be generated during a build and full updates will be disabled
408 * // This property allows for global toggle of deltas.
409 * // If set to a string the value will be used as the path to where deltas will be generated relative to you build.
410 * // If set to a Truthy Value the default path ok "deltas" will be used
411 * // If set to a Falsey value or if this property is not present deltas will be disabled and not generated.
422 * Used to automatically generate cache.manifest (HTML 5 application cache manifest)
423 * file when you build.
427 * List of items in the CACHE MANIFEST section
433 * List of items in the NETWORK section
439 * List of items in the FALLBACK section
445 * Extra resources to be copied into the resource folder as specified in the "resources"
446 * property of the "output" object. Folders specified in this list will be deeply copied.
453 "path": "${toolkit.name}/resources"
458 * File / directory name patttern to ignore when copying to the builds. Must be a
459 * valid regular expression.
462 "(^|/)CVS(/?$|/.*?$)"
466 * Directory path to store all previous production builds. Note that the content
467 * generated inside this directory must be kept intact for proper generation of
468 * deltas between updates.
470 "archivePath": "archive",
473 * Additional resources used during theme slicing operations
478 "path": "sass/example/custom.js",
479 "isWidgetManifest": true
493 * This config object is used by the "sencha app publish" command to publish
494 * a version of this application to Sencha Web Application Manager:
497 * // the space id for this application
501 * "host": "https://api.space.sencha.com/json.rpc",
503 * // Either a zip file path or a folder to be zipped
504 * // this example shows how to publish the root folder for all build profiles
505 * "file": "${app.output.base}/../",
507 * // These may be specified here, but are best specified in your user
508 * // ~/.sencha/cmd/sencha.cfg file
515 * Build Profiles. This object's properties are each a "build profile". You can
516 * add as many as you need to produce optimized builds for devices, themes, locales
517 * or other criteria. Your "Ext.beforeLoad" hook (see index.html) is responsible for
518 * selecting the desired build profile by setting "Ext.manifest" to one of these
523 * "toolkit": "classic",
524 * "theme": "theme-neptune"
528 * "toolkit": "modern",
529 * "theme": "theme-neptune"
536 "toolkit": "classic",
537 "theme": "theme-triton"
542 "theme": "theme-triton"
547 * Uniquely generated id for this application, used as prefix for localStorage keys.
548 * Normally you should never change this value.
550 "id": "39acbe74-575a-4e77-8062-a62324a1e58f"