app.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503
  1. {
  2. "name": "saas",
  3. "namespace": "saas",
  4. "version": "1.0.0.0",
  5. "framework": "ext",
  6. "toolkit": "classic",
  7. "theme": "theme-default",
  8. /**
  9. * The list of required packages (with optional versions; default is "latest").
  10. *
  11. * For example,
  12. *
  13. * "requires": [
  14. * "charts"
  15. * ]
  16. */
  17. "requires": [
  18. "font-awesome",
  19. "ux",
  20. "modern-locale"
  21. ],
  22. "locale":"zh_CN",
  23. /**
  24. * The relative path to the application's markup file (html, jsp, asp, etc.).
  25. */
  26. "indexHtmlPath": "index.html",
  27. /**
  28. * Comma-separated string with the paths of directories or files to search. Any classes
  29. * declared in these locations will be available in your class "requires" or in calls
  30. * to "Ext.require". The "app.dir" variable below is expanded to the path where the
  31. * application resides (the same folder in which this file is located).
  32. */
  33. "classpath": [
  34. "app"
  35. ],
  36. /**
  37. * Comma-separated string with the paths of directories or files to search. Any classes
  38. * declared in these locations will be automatically required and included in the build.
  39. * If any file defines an Ext JS override (using Ext.define with an "override" property),
  40. * that override will in fact only be included in the build if the target class specified
  41. * in the "override" property is also included.
  42. */
  43. "overrides": [
  44. "overrides"
  45. ],
  46. /**
  47. * Fashion build configuration properties.
  48. */
  49. "fashion": {
  50. "missingParameters": "error",
  51. "inliner": {
  52. /**
  53. * Disable resource inliner. Production builds enable this by default.
  54. */
  55. "enable": false
  56. }
  57. },
  58. /**
  59. * Sass configuration properties.
  60. */
  61. "sass": {
  62. /**
  63. * The root namespace to use when mapping *.scss files to classes in the
  64. * sass/src and sass/var directories. For example, "saas.view.Foo" would
  65. * map to "sass/src/view/Foo.scss". If we changed this to "saas.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. * "saas.view.Foo" to "sass/src/saas/view/Foo.scss".
  69. */
  70. "namespace": "saas",
  71. /**
  72. * Generated sass source settings
  73. *
  74. * "generated": {
  75. * // The file used to save sass variables edited via Sencha Inspector and Sencha Themer.
  76. * // This file will automatically be applied to the end of the scss build.
  77. * "var": "sass/save.scss",
  78. *
  79. * // The directory used to save generated sass sources.
  80. * // This directory will automatically be applied to the end of the scss build.
  81. * "src": "sass/save"
  82. * }
  83. *
  84. */
  85. "generated": {
  86. "var": "sass/save.scss",
  87. "src": "sass/save"
  88. },
  89. /**
  90. * Comma-separated list of files or folders containing extra Sass. These
  91. * files are automatically included in the Sass compilation. By default this
  92. * is just "etc/all.scss" to allow import directives to control the order
  93. * other files are included.
  94. *
  95. * All "etc" files are included at the top of the Sass compilation in their
  96. * dependency order:
  97. *
  98. * +-------+---------+
  99. * | | base |
  100. * | theme +---------+
  101. * | | derived |
  102. * +-------+---------+
  103. * | packages | (in package dependency order)
  104. * +-----------------+
  105. * | application |
  106. * +-----------------+
  107. */
  108. "etc": [
  109. "sass/etc/all.scss"
  110. ],
  111. /**
  112. * Comma-separated list of folders containing Sass variable definitions
  113. * files. These file can also define Sass mixins for use by components.
  114. *
  115. * All "var" files are included after "etc" files in the Sass compilation in
  116. * dependency order:
  117. *
  118. * +-------+---------+
  119. * | | base |
  120. * | theme +---------+
  121. * | | derived |
  122. * +-------+---------+
  123. * | packages | (in package dependency order)
  124. * +-----------------+
  125. * | application |
  126. * +-----------------+
  127. *
  128. * The "sass/var/all.scss" file is always included at the start of the var
  129. * block before any files associated with JavaScript classes.
  130. */
  131. "var": [
  132. "sass/var/all.scss",
  133. "sass/var"
  134. ],
  135. /**
  136. * Comma-separated list of folders containing Sass rule files.
  137. *
  138. * All "src" files are included after "var" files in the Sass compilation in
  139. * dependency order (the same order as "etc"):
  140. *
  141. * +-------+---------+
  142. * | | base |
  143. * | theme +---------+
  144. * | | derived |
  145. * +-------+---------+
  146. * | packages | (in package dependency order)
  147. * +-----------------+
  148. * | application |
  149. * +-----------------+
  150. */
  151. "src": [
  152. "sass/src"
  153. ]
  154. },
  155. /**
  156. * List of all JavaScript assets in the right execution order.
  157. *
  158. * Each item is an object with the following format:
  159. *
  160. * {
  161. * // Path to file. If the file is local this must be a relative path from
  162. * // this app.json file.
  163. * //
  164. * "path": "path/to/script.js", // REQUIRED
  165. *
  166. * // Set to true on one file to indicate that it should become the container
  167. * // for the concatenated classes.
  168. * //
  169. * "bundle": false, // OPTIONAL
  170. *
  171. * // Set to true to include this file in the concatenated classes.
  172. * //
  173. * "includeInBundle": false, // OPTIONAL
  174. *
  175. * // Specify as true if this file is remote and should not be copied into the
  176. * // build folder. Defaults to false for a local file which will be copied.
  177. * //
  178. * "remote": false, // OPTIONAL
  179. *
  180. * // If not specified, this file will only be loaded once, and cached inside
  181. * // localStorage until this value is changed. You can specify:
  182. * //
  183. * // - "delta" to enable over-the-air delta update for this file
  184. * // - "full" means full update will be made when this file changes
  185. * //
  186. * "update": "", // OPTIONAL
  187. *
  188. * // A value of true indicates that is a development mode only dependency.
  189. * // These files will not be copied into the build directory or referenced
  190. * // in the generate app.json manifest for the micro loader.
  191. * //
  192. * "bootstrap": false // OPTIONAL
  193. * }
  194. *
  195. */
  196. "js": [
  197. {
  198. "path": "${framework.dir}/build/ext-all-rtl-debug.js"
  199. },
  200. {
  201. "path": "app.js",
  202. "bundle": true
  203. }
  204. ],
  205. /**
  206. * List of all CSS assets in the right inclusion order.
  207. *
  208. * Each item is an object with the following format:
  209. *
  210. * {
  211. * // Path to file. If the file is local this must be a relative path from
  212. * // this app.json file.
  213. * //
  214. * "path": "path/to/stylesheet.css", // REQUIRED
  215. *
  216. * // Specify as true if this file is remote and should not be copied into the
  217. * // build folder. Defaults to false for a local file which will be copied.
  218. * //
  219. * "remote": false, // OPTIONAL
  220. *
  221. * // If not specified, this file will only be loaded once, and cached inside
  222. * // localStorage until this value is changed. You can specify:
  223. * //
  224. * // - "delta" to enable over-the-air delta update for this file
  225. * // - "full" means full update will be made when this file changes
  226. * //
  227. * "update": "" // OPTIONAL
  228. * }
  229. */
  230. "css": [
  231. {
  232. // this entry uses an ant variable that is the calculated
  233. // value of the generated output css file for the app,
  234. // defined in .sencha/app/defaults.properties
  235. "path": "${build.out.css.path}",
  236. "bundle": true,
  237. "exclude": ["fashion"]
  238. }
  239. ],
  240. /**
  241. * This option is used to configure the dynamic loader. At present these options
  242. * are supported.
  243. *
  244. */
  245. "loader": {
  246. // This property controls how the loader manages caching for requests:
  247. //
  248. // - true: allows requests to receive cached responses
  249. // - false: disable cached responses by adding a random "cache buster"
  250. // - other: a string (such as the build.timestamp shown here) to allow
  251. // requests to be cached for this build.
  252. //
  253. "cache": false,
  254. // When "cache" is not true, this value is the request parameter used
  255. // to control caching.
  256. //
  257. "cacheParam": "_dc"
  258. },
  259. /**
  260. * Settings specific to production builds.
  261. */
  262. "production": {
  263. "output": {
  264. "appCache": {
  265. "enable": true,
  266. "path": "cache.appcache"
  267. }
  268. },
  269. "loader": {
  270. "cache": "${build.timestamp}"
  271. },
  272. "cache": {
  273. "enable": true
  274. },
  275. "compressor": {
  276. "type": "yui"
  277. }
  278. },
  279. /**
  280. * Settings specific to testing builds.
  281. */
  282. "testing": {
  283. },
  284. /**
  285. * Settings specific to development builds.
  286. */
  287. "development": {
  288. "watch": {
  289. "delay": 250
  290. }
  291. },
  292. /**
  293. * Controls the output structure of development-mode (bootstrap) artifacts. May
  294. * be specified by a string:
  295. *
  296. * "bootstrap": "${app.dir}"
  297. *
  298. * This will adjust the base path for all bootstrap objects, or expanded into object
  299. * form:
  300. *
  301. * "bootstrap": {
  302. * "base": "${app.dir}",
  303. * "manifest": "bootstrap.json",
  304. * "microloader": "bootstrap.js",
  305. * "css": "bootstrap.css"
  306. * }
  307. *
  308. * You can optionally exclude entries from the manifest. For example, to exclude
  309. * the "loadOrder" (to help development load approximate a build) you can add:
  310. *
  311. * "bootstrap": {
  312. * "manifest": {
  313. * "path": "bootstrap.json",
  314. * "exclude": "loadOrder"
  315. * }
  316. * }
  317. *
  318. */
  319. "bootstrap": {
  320. "base": "${app.dir}",
  321. "microloader": "bootstrap.js",
  322. "css": "bootstrap.css"
  323. },
  324. /**
  325. * Controls the output directory for build resources. May be set with
  326. * either a string:
  327. *
  328. * "${workspace.build.dir}/${build.environment}/${app.name}"
  329. *
  330. * or an object containing values for various types of build artifacts:
  331. *
  332. * {
  333. * "base": "${workspace.build.dir}/${build.environment}/${app.name}",
  334. * "page": {
  335. * "path": "../index.html",
  336. * "enable": false
  337. * },
  338. * "css": "${app.output.resources}/${app.name}-all.css",
  339. * "js": {
  340. * "path": "app.js",
  341. * // This setting constrols the output language level. Set to 'ES6' to
  342. * // disable the transpiler
  343. * "version": "ES5"
  344. * },
  345. * "microloader": {
  346. * "path": "microloader.js",
  347. * "embed": true,
  348. * "enable": true
  349. * },
  350. * "manifest": {
  351. * "path": "app.json",
  352. * "embed": false,
  353. * "enable": "${app.output.microloader.enable}"
  354. * },
  355. * "resources": "resources",
  356. * "slicer": {
  357. * "path": "${app.output.resources}/images",
  358. * "enable": false
  359. * },
  360. * // Setting the "enable" property of this object to a Truthy value will cause a Application Cache
  361. * // manifest file to be generated based on this files appCache object. This file will then be injected
  362. * // into the index.html file of the built application
  363. * "appCache":{
  364. * "enable": false"
  365. * }
  366. * }
  367. *
  368. */
  369. "output": {
  370. "base": "${workspace.build.dir}/${build.environment}/${app.name}",
  371. "appCache": {
  372. "enable": false
  373. }
  374. },
  375. /**
  376. * Controls for localStorage caching
  377. * "cache": {
  378. * // This property controls whether localStorage caching of this manifest file is on or off.
  379. * // if disabled no deltas will be generated during a build and full updates will be disabled
  380. * "enable": false,
  381. *
  382. * // This property allows for global toggle of deltas.
  383. * // If set to a string the value will be used as the path to where deltas will be generated relative to you build.
  384. * // If set to a Truthy Value the default path ok "deltas" will be used
  385. * // If set to a Falsey value or if this property is not present deltas will be disabled and not generated.
  386. *
  387. * "deltas": "deltas"
  388. * }
  389. */
  390. "cache": {
  391. "enable": false,
  392. "deltas": true
  393. },
  394. /**
  395. * Used to automatically generate cache.manifest (HTML 5 application cache manifest)
  396. * file when you build.
  397. */
  398. "appCache": {
  399. /**
  400. * List of items in the CACHE MANIFEST section
  401. */
  402. "cache": [
  403. "index.html"
  404. ],
  405. /**
  406. * List of items in the NETWORK section
  407. */
  408. "network": [
  409. "*"
  410. ],
  411. /**
  412. * List of items in the FALLBACK section
  413. */
  414. "fallback": []
  415. },
  416. /**
  417. * Extra resources to be copied into the resource folder as specified in the "resources"
  418. * property of the "output" object. Folders specified in this list will be deeply copied.
  419. */
  420. "resources": [
  421. {
  422. "path": "resources",
  423. "output": "shared"
  424. }
  425. ],
  426. /**
  427. * Directory path to store all previous production builds. Note that the content
  428. * generated inside this directory must be kept intact for proper generation of
  429. * deltas between updates.
  430. */
  431. "archivePath": "archive",
  432. /**
  433. * Additional resources used during theme slicing operations
  434. */
  435. "slicer": {
  436. "js": [
  437. {
  438. "path": "sass/example/custom.js",
  439. "isWidgetManifest": true
  440. }
  441. ],
  442. "output": {
  443. "appCache": {
  444. "enable": false
  445. }
  446. },
  447. "cache": {
  448. "enable": false
  449. }
  450. },
  451. /**
  452. * Build Profiles. This object's properties are each a "build profile". You can
  453. * add as many as you need to produce optimized builds for devices, themes, locales
  454. * or other criteria. Your "Ext.beforeLoad" hook (see index.html) is responsible for
  455. * selecting the desired build profile by setting "Ext.manifest" to one of these
  456. * names.
  457. *
  458. */
  459. /**
  460. * File / directory name patttern to ignore when copying to the builds. Must be a
  461. * valid regular expression.
  462. */
  463. "ignore": [
  464. "(^|/)CVS(/?$|/.*?$)"
  465. ],
  466. /**
  467. * Uniquely generated id for this application, used as prefix for localStorage keys.
  468. * Normally you should never change this value.
  469. */
  470. "id": "a20e1670-7932-41f6-8e9c-55b77cba3f26"
  471. }