@qooxdoo/framework 8.0.0-beta.1 → 8.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/Manifest.json +1 -1
  3. package/lib/compiler/compile-info.json +54 -55
  4. package/lib/compiler/index.js +19039 -23607
  5. package/lib/resource/qx/tool/compiler/cli/templates/class/default.tmpl.js +6 -7
  6. package/lib/resource/qx/tool/compiler/cli/templates/class/singleton.tmpl.js +5 -6
  7. package/lib/resource/qx/tool/compiler/schema/compile-1-0-0.json +6 -2
  8. package/package.json +8 -10
  9. package/source/class/qx/Class.js +26 -7
  10. package/source/class/qx/Mixin.js +15 -6
  11. package/source/class/qx/core/BaseInit.js +14 -13
  12. package/source/class/qx/core/MObjectId.js +16 -0
  13. package/source/class/qx/core/MProperty.js +147 -175
  14. package/source/class/qx/core/check/AbstractCheck.js +5 -1
  15. package/source/class/qx/core/check/CheckFactory.js +6 -0
  16. package/source/class/qx/core/check/DynamicTypeCheck.js +9 -0
  17. package/source/class/qx/core/property/ExplicitPropertyStorage.js +7 -19
  18. package/source/class/qx/core/property/IPropertyStorage.js +2 -21
  19. package/source/class/qx/core/property/Property.js +115 -90
  20. package/source/class/qx/core/property/SimplePropertyStorage.js +2 -18
  21. package/source/class/qx/data/MBinding.js +1 -1
  22. package/source/class/qx/data/SingleValueBinding.js +63 -107
  23. package/source/class/qx/data/binding/AbstractSegment.js +16 -11
  24. package/source/class/qx/data/binding/ArrayIndexSegment.js +17 -10
  25. package/source/class/qx/data/binding/IInputReceiver.js +1 -1
  26. package/source/class/qx/data/binding/PropNameSegment.js +35 -12
  27. package/source/class/qx/dev/unit/TestCase.js +4 -1
  28. package/source/class/qx/event/handler/Focus.js +2 -1
  29. package/source/class/qx/html/Jsx.js +2 -3
  30. package/source/class/qx/html/Node.js +3 -3
  31. package/source/class/qx/io/jsonrpc/Client.js +1 -1
  32. package/source/class/qx/promise/NativeWrapper.js +1 -1
  33. package/source/class/qx/test/Mixin.js +219 -0
  34. package/source/class/qx/test/Promise.js +10 -11
  35. package/source/class/qx/test/core/Property.js +50 -16
  36. package/source/class/qx/test/data/singlevalue/Async.js +17 -4
  37. package/source/class/qx/test/data/singlevalue/Simple.js +6 -0
  38. package/source/class/qx/test/locale/Date.js +2 -2
  39. package/source/class/qx/test/performance/Property.js +0 -1
  40. package/source/class/qx/test/ui/core/SingleSelectionManager.js +150 -0
  41. package/source/class/qx/theme/classic/Appearance.js +21 -0
  42. package/source/class/qx/theme/modern/Appearance.js +21 -0
  43. package/source/class/qx/theme/simple/Appearance.js +21 -0
  44. package/source/class/qx/theme/tangible/Appearance.js +2 -0
  45. package/source/class/qx/tool/cli/AbstractCliApp.js +18 -2
  46. package/source/class/qx/tool/compiler/ClassFile.js +0 -4
  47. package/source/class/qx/tool/compiler/MetaDatabase.js +47 -0
  48. package/source/class/qx/tool/compiler/cli/api/CompilerApi.js +1 -2
  49. package/source/class/qx/tool/compiler/cli/commands/Compile.js +139 -8
  50. package/source/class/qx/tool/compiler/cli/commands/Create.js +1 -1
  51. package/source/class/qx/tool/compiler/cli/commands/Serve.js +1 -1
  52. package/source/class/qx/tool/compiler/cli/commands/Typescript.js +26 -39
  53. package/source/class/qx/tool/compiler/cli/commands/add/Script.js +1 -1
  54. package/source/class/qx/tool/compiler/cli/commands/package/Publish.js +3 -2
  55. package/source/class/qx/tool/compiler/cli/commands/package/Update.js +2 -2
  56. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +3 -0
  57. package/source/class/qx/tool/compiler/targets/meta/Browserify.js +142 -80
  58. package/source/class/qx/tool/migration/M8_0_0.js +4 -4
  59. package/source/class/qx/ui/core/SingleSelectionManager.js +4 -4
  60. package/source/class/qx/ui/form/validation/Manager.js +1 -1
  61. package/source/class/qx/ui/toolbar/ToolBar.js +4 -4
  62. package/source/resource/qx/decoration/Modern/table/boolean-false.png +0 -0
  63. package/source/resource/qx/decoration/Modern/table/boolean-true.png +0 -0
  64. package/source/resource/qx/tool/compiler/cli/templates/class/default.tmpl.js +6 -7
  65. package/source/resource/qx/tool/compiler/cli/templates/class/singleton.tmpl.js +5 -6
  66. package/source/resource/qx/tool/compiler/schema/compile-1-0-0.json +6 -2
package/CHANGELOG.md CHANGED
@@ -1,11 +1,22 @@
1
1
  # Upcoming
2
2
 
3
+ # 8.0.0-beta.2
4
+
5
+ ## Breaking changes
6
+ - Removed `async: true` key from property definition, because now all properties have `setAsync` methods, which can be used to await the apply function's return value and the event handlers when a property is set. The meaning of this setting wasn't very clear, also given that we now have async property storage.
7
+ - Only properties with storages that support async get will create `getPropertyAsync` on the object.
8
+ - Changed the behaviour of `MBinding.bindAsync`. Previously, the only different between `bind` and `bindAsync` was that `bindAsync` always returned a promise whereas `bind` only returned a promise if it had to do something asynchronously. Now, `bindAsync` will call `setAsync` when setting the target path's property while `bind` always calls `set`. If we call `bind` and have to get a property asynchronously, a warning will be shown telling the user to use `bindAsync`.
9
+ - `qx.Class.getProperties` now requires a Qooxdoo class, whereas before it could sometimes work on any class.
10
+ - `object.getPropertyAsync` will now only work if the property storage supports an async getter.
11
+
3
12
  # v8.0.0_beta
4
13
 
5
14
  ## Fixes
6
15
  - Restored `clone()` method in `qx.core.Object` that was accidentally removed. The method has been adapted to work with the new v8 property system.
7
16
  - Improved `assertInterface()` to detect and report when parameters are in wrong order. If you accidentally swap the object and interface parameters, you now get a helpful error message explaining the correct usage.
8
17
 
18
+ - Fixed an issue where if an event handler is added using addListenerOnce returns a promise then that promise is ignored.
19
+
9
20
  ## Known Issues
10
21
  - **qxWeb constructor warning:** You may see a console warning: "The constructor of class 'qxWeb' returned a different instance than 'this'". This is expected behavior due to qxWeb's factory pattern (similar to jQuery) and does not affect functionality. This warning will be addressed in a future release.
11
22
 
@@ -24,7 +35,26 @@
24
35
  ```
25
36
 
26
37
  **Note:** When enabled, qooxdoo framework classes (starting with `qx.`) are excluded by default. This primarily affects user-defined classes.
38
+ This can be customized by changing the environment setting `qx.core.property.Property.excludeAutoApply`. It takes a regex that matches fully qualified class names which are excluded from this behavior.
39
+
40
+ **Note:** Properties with defined with modern features (i.e. initFunc, autoApply) will always be automatically applied, regardless of environment settings, unless `autoApply` is explicitly set to `false`.
41
+
42
+ - Added class `qx.dev.LeakDetector`, which allows us to track the construction/destruction of qooxdoo objects.
43
+
44
+ - **Bindings:** The implementation of the bindings system have been overhauled, which added the following features:
45
+ - **Asynchronous bindings:** It is now possible to bind asynchronous properties, i.e. if a property on a binding's source or target chain needs to be `got`ten asynchronously, the value continues propagating along the chain only after the value has been resolved. The method `bindAsync` resolves when the intial value has been set on the target object.
46
+ - **Bindings are first-class objects** The class `qx.data.SingleValueBinding` is now instantiable and is instantiated under the hood when calling `object.bind()`. Disposing of the object will dispose of the binding and all the associated listeners. This makes things easier because you don't have to keep track of the binding's object and the binding ID. This also makes debugging with bindings easier because the segment objects representing the segments of either the source or target (`AbstractSegment`) store a reference to the binding object, and `SingleValueBinding` has a specialized method `toString` which shows the binding's objects and source/target paths.
47
+
48
+ - **Properties** The implementation of properties has been overhauled, which brought the following changes:
49
+ - **Properties are first-class objects** They are now implemented using the class `qx.core.property.Property` (each Qooxdoo class has an instance of `qx.core.property.Property` for each of its properties). This system no longer uses dynamic code generation for setters and getters which was there for performance reasons, which makes things much easier to debug and maintain. It is possible to obtain the property object by calling `qx.Class.getByProperty(clazz, name)`. The user can then interrogate those objects to obtain information about the properties. Qooxdoo can also 'sniff' out pseudo properties (i.e. manually-defined properties by get/set/reset methods and an event) and create property objects for those as well, making it easier to find out about properties using reflection.
50
+
51
+ - **Custom property storages** The old property system only supported storing the property values in the program's memory. However, it is now possible for the user to define a custom property storage, which supports asynchronous getting and setting. This can be useful for ORMs where properties are persisted in the database and we may wish to load them on demand, or in browser situtations where getting a property will require a server round-trip, meaning the getter has to be asynchronous.
27
52
 
53
+ - **Init functions** Until now, if the user wanted to `init` a property to a complex object (e.g. array) as opposed to a primitive datatype (like string), they've had to set `deferredInit: true` in the definition and call `init` in the constructor. Now however, they can now define an `initFunction` in the property which returns the `init` value, thus making code simpler.
54
+
55
+ - **Native property access** - It is now possible to set and get a property value natively, by doing `object.myProperty` and `object.myProperty = value` instead of `object.getMyProperty()` and `object.setMyProperty(value)` respectively.
56
+
57
+ - **Templated checks** - It is now possible to include template types in property checks using chevrons, for example `check: "Array<string>`. The text in the chevrons is purely for documentation purposes only and it not used by the runtime type checker.
28
58
  ## Breaking changes
29
59
 
30
60
  - **Constructor calls:** In v8, classes that extend `qx.core.Object` (or any subclass) MUST call `super()` in their constructor before accessing properties or setting property values. If `super()` is not called, you will see warnings like `"No $$propertyValues on [ClassName]: possibly missing call to super() in the constructor"`. Make sure all your constructors include a `super()` call at the beginning.
@@ -109,6 +139,8 @@ that the table edits are completed or cancelled before refreshing table model da
109
139
 
110
140
  - Properties and members are now in the same namespace. Formerly, a class could have a member variable and a property with the same name, and there was no conflict. Now, since properties are native and can be manipulated as normal members, the properties and members use the same namespace, so a single name can not be defined in both.
111
141
 
142
+ - Property `show` of `qx.ui.basic.Atom` has been renamed to `showFeatures`.
143
+
112
144
  - Refining a property in a subclass used to modify it in place. It now adds it to the subclass' prototype, so it ends up in the prototype chain twice.
113
145
 
114
146
  - The predefined instance.name variable is no longer predefined because, with native properties, it conflicts with the commonly used property name "name". Use `instance.classname` instead.
@@ -161,6 +193,16 @@ that the table edits are completed or cancelled before refreshing table model da
161
193
 
162
194
  - `qx.locale` classes implemented with [Internationalization API](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) instead of [Common Locale Data Repository](http://cldr.unicode.org) npm package which is installed with a lot of CLDR xml files. This change reduces a installed qooxdoo package size significantly. There may be some differences for some locales. For example, `getDateTimeFormat` method for `de_DE` and `yM` format gives `M/y` instead of `MM/y` of the CLDR implementation.
163
195
 
196
+ - **Async event handlers now execute in parallel** When an event is fired, event handlers, whether synchronous or asynchronous will begin executing in the same tick of the event loop as when `fireEvent` or `fireDataEvent` was called. This means async event handlers will be executed in parallel. Previously, they we executed in series, i.e. if one event handler returned a promise then the next handler was called only after that promise resolved. This was changed to prevent a situation when an event handler is forced to execute asynchronously because another asynchronous event handler was added elsewhere, which could break atomicity. This could lead to bugs which are difficult to track down e.g. in two-way bindings. This has another benefit of perfomance improvement.
197
+
198
+ - Settings a property to a promise will now literally set the property value to that promise. Previously, it waited for the promise to resolve and then set the property value to the promise result. A warning will be shown if a property was set to a promise but its check wasn't a promise.
199
+
200
+ - Removed "changePropertyAsync" events. This means that, if a class has an async property named "foo" then it will only fire event "changeFoo" and not "changeFooAsync".
201
+
202
+ - **Async apply methods** If a property is set synchronously i.e. not via `setAsync` and the apply method returns a promise, the apply method **will not be awaited** before the change event is fired. It will only be awaited if the property is set using `setPropertyAsync`. Previously, regardless whether the property was set synchronously or asynchronously, the event was fired only after the apply method had resolved.
203
+
204
+ - It is no longer possible to call object.bind("propertyAsync", ...). For example, given class `Foo` with property `Bar`, we cannot do `new Foo().bind("barAsync", ...)`;
205
+
164
206
  # v7.0.0
165
207
 
166
208
  ## Breaking changes
package/Manifest.json CHANGED
@@ -79,7 +79,7 @@
79
79
  "email": "dietrich.streifert@visionet.de"
80
80
  }
81
81
  ],
82
- "version": "8.0.0-beta.1",
82
+ "version": "8.0.0-beta.3",
83
83
  "sourceViewUri": "https://github.com/qooxdoo/qooxdoo/blob/%{qxGitBranch}/framework/source/class/%{classFilePath}#L%{lineNumber}"
84
84
  },
85
85
  "provides": {
@@ -91,7 +91,6 @@
91
91
  "qx.promise.NativeWrapper",
92
92
  "qx.util.DeferredCallManager",
93
93
  "qx.util.DeferredCall",
94
- "qx.promise.BluebirdImpl",
95
94
  "qx.core.check.IsOneOfCheck",
96
95
  "qx.data.marshal.MEventBubbling",
97
96
  "qx.data.Array",
@@ -129,7 +128,6 @@
129
128
  "qx.bom.Font",
130
129
  "qx.bom.webfonts.WebFontLoader",
131
130
  "qx.bom.webfonts.WebFont",
132
- "qx.util.PropertyUtil",
133
131
  "qx.data.binding.AbstractSegment",
134
132
  "qx.data.binding.PropNameSegment",
135
133
  "qx.data.binding.ArrayIndexSegment",
@@ -238,10 +236,12 @@
238
236
  "qx.tool.compiler.cli.commands.Compile",
239
237
  "qx.tool.compiler.targets.Target",
240
238
  "qx.tool.compiler.targets.BuildTarget",
239
+ "qx.tool.compiler.targets.SourceTarget",
241
240
  "qx.tool.compiler.makers.Maker",
242
241
  "qx.tool.compiler.makers.AbstractAppMaker",
243
242
  "qx.tool.compiler.makers.AppMaker",
244
- "qx.tool.compiler.targets.SourceTarget",
243
+ "qx.tool.compiler.targets.TypeScriptWriter",
244
+ "qx.tool.utils.Debounce",
245
245
  "qx.tool.compiler.targets.meta.ApplicationMeta",
246
246
  "qx.tool.compiler.targets.meta.AbstractJavascriptMeta",
247
247
  "qx.tool.compiler.targets.meta.BootJs",
@@ -266,7 +266,6 @@
266
266
  "qx.tool.utils.Website",
267
267
  "qx.tool.compiler.cli.commands.Test",
268
268
  "qx.tool.compiler.cli.commands.Typescript",
269
- "qx.tool.compiler.targets.TypeScriptWriter",
270
269
  "qx.tool.compiler.cli.commands.add.Class",
271
270
  "qx.tool.compiler.cli.commands.add.Script",
272
271
  "qx.tool.compiler.cli.commands.config.Delete",
@@ -283,7 +282,6 @@
283
282
  "qx.tool.migration.M7_0_0",
284
283
  "qx.tool.migration.M7_5_6",
285
284
  "qx.tool.migration.M8_0_0",
286
- "qx.tool.utils.Debounce",
287
285
  "qx.tool.utils.QooxdooVersions",
288
286
  "qx.tool.utils.Zip",
289
287
  "qx.tool.utils.files.FindFiles",
@@ -305,36 +303,41 @@
305
303
  }
306
304
  ],
307
305
  "resources": [
306
+ "qx/decoration/Simple/cursors/alias.gif",
307
+ "qx/decoration/Simple/cursors/copy.gif",
308
+ "qx/decoration/Simple/cursors/move.gif",
309
+ "qx/decoration/Simple/cursors/nodrop.gif",
308
310
  "qx/decoration/Simple/checkbox/checked-disabled.png",
309
311
  "qx/decoration/Simple/checkbox/checked.png",
310
312
  "qx/decoration/Simple/checkbox/undetermined-disabled.png",
311
313
  "qx/decoration/Simple/checkbox/undetermined.png",
314
+ "qx/decoration/Simple/colorselector/brightness-field.png",
315
+ "qx/decoration/Simple/colorselector/brightness-handle.gif",
316
+ "qx/decoration/Simple/colorselector/huesaturation-field.jpg",
317
+ "qx/decoration/Simple/colorselector/huesaturation-handle.gif",
312
318
  "qx/decoration/Simple/arrows/down-invert.gif",
313
319
  "qx/decoration/Simple/arrows/down-small.gif",
314
320
  "qx/decoration/Simple/arrows/down.gif",
321
+ "qx/decoration/Simple/arrows/forward.gif",
315
322
  "qx/decoration/Simple/arrows/left-invert.gif",
316
323
  "qx/decoration/Simple/arrows/left.gif",
317
324
  "qx/decoration/Simple/arrows/rewind.gif",
318
- "qx/decoration/Simple/arrows/forward.gif",
319
325
  "qx/decoration/Simple/arrows/right-invert.gif",
320
326
  "qx/decoration/Simple/arrows/right.gif",
321
327
  "qx/decoration/Simple/arrows/up-invert.gif",
322
328
  "qx/decoration/Simple/arrows/up-small.gif",
323
329
  "qx/decoration/Simple/arrows/up.gif",
324
- "qx/decoration/Simple/colorselector/brightness-field.png",
325
- "qx/decoration/Simple/colorselector/brightness-handle.gif",
326
- "qx/decoration/Simple/colorselector/huesaturation-field.jpg",
327
- "qx/decoration/Simple/colorselector/huesaturation-handle.gif",
328
- "qx/decoration/Simple/cursors/alias.gif",
329
- "qx/decoration/Simple/cursors/copy.gif",
330
- "qx/decoration/Simple/cursors/move.gif",
331
- "qx/decoration/Simple/cursors/nodrop.gif",
332
330
  "qx/decoration/Simple/menu/checkbox-invert.gif",
333
331
  "qx/decoration/Simple/menu/checkbox.gif",
334
332
  "qx/decoration/Simple/menu/radiobutton-invert.gif",
335
333
  "qx/decoration/Simple/menu/radiobutton.gif",
336
- "qx/decoration/Simple/splitpane/knob-horizontal.png",
337
- "qx/decoration/Simple/splitpane/knob-vertical.png",
334
+ "qx/decoration/Simple/table/ascending-invert.png",
335
+ "qx/decoration/Simple/table/ascending.png",
336
+ "qx/decoration/Simple/table/boolean-false.png",
337
+ "qx/decoration/Simple/table/boolean-true.png",
338
+ "qx/decoration/Simple/table/descending-invert.png",
339
+ "qx/decoration/Simple/table/descending.png",
340
+ "qx/decoration/Simple/table/select-column-order.png",
338
341
  "qx/decoration/Simple/tabview/close.gif",
339
342
  "qx/decoration/Simple/tree/minus.gif",
340
343
  "qx/decoration/Simple/tree/plus.gif",
@@ -350,45 +353,40 @@
350
353
  "qx/decoration/Simple/treevirtual/start.gif",
351
354
  "qx/decoration/Simple/treevirtual/start_minus.gif",
352
355
  "qx/decoration/Simple/treevirtual/start_plus.gif",
356
+ "qx/decoration/Simple/splitpane/knob-horizontal.png",
357
+ "qx/decoration/Simple/splitpane/knob-vertical.png",
353
358
  "qx/decoration/Simple/window/close-white.gif",
354
359
  "qx/decoration/Simple/window/close.gif",
355
360
  "qx/decoration/Simple/window/maximize-white.gif",
361
+ "qx/decoration/Simple/window/maximize.gif",
356
362
  "qx/decoration/Simple/window/minimize-white.gif",
357
363
  "qx/decoration/Simple/window/minimize.gif",
358
364
  "qx/decoration/Simple/window/restore-white.gif",
359
365
  "qx/decoration/Simple/window/restore.gif",
360
- "qx/decoration/Simple/window/maximize.gif",
361
- "qx/decoration/Simple/table/ascending-invert.png",
362
- "qx/decoration/Simple/table/ascending.png",
363
- "qx/decoration/Simple/table/boolean-false.png",
364
- "qx/decoration/Simple/table/boolean-true.png",
365
- "qx/decoration/Simple/table/descending-invert.png",
366
- "qx/decoration/Simple/table/descending.png",
367
- "qx/decoration/Simple/table/select-column-order.png",
368
366
  "qx/static/blank.png",
369
367
  "qx/tool/compiler/loadsass.js",
370
368
  "qx/tool/compiler/schema/compile-1-0-0.json",
371
- "qx/tool/compiler/schema/Manifest-2-0-0.json",
372
369
  "qx/tool/compiler/schema/Manifest-1-0-0.json",
373
370
  "qx/tool/compiler/schema/qooxdoo-1-0-0.json",
371
+ "qx/tool/compiler/schema/Manifest-2-0-0.json",
374
372
  "qx/tool/compiler/cli/templates/template_vars.js",
375
373
  "qx/tool/compiler/cli/templates/TypeScriptWriter-base_declaration.d.ts",
376
- "qx/tool/compiler/cli/templates/class/header.tmpl.js",
377
374
  "qx/tool/compiler/cli/templates/class/default.tmpl.js",
375
+ "qx/tool/compiler/cli/templates/class/header.tmpl.js",
378
376
  "qx/tool/compiler/cli/templates/class/interface.tmpl.js",
379
377
  "qx/tool/compiler/cli/templates/class/mixin.tmpl.js",
380
378
  "qx/tool/compiler/cli/templates/class/singleton.tmpl.js",
381
379
  "qx/tool/compiler/cli/templates/loader/loader-browser.tmpl.js",
382
- "qx/tool/compiler/cli/templates/loader/loader-node.tmpl.js",
383
380
  "qx/tool/compiler/cli/templates/loader/loader-rhino.tmpl.js",
381
+ "qx/tool/compiler/cli/templates/loader/loader-node.tmpl.js",
382
+ "qx/tool/compiler/cli/templates/skeleton/mobile/.gitignore.tmpl",
383
+ "qx/tool/compiler/cli/templates/skeleton/mobile/Manifest.tmpl.json",
384
+ "qx/tool/compiler/cli/templates/skeleton/mobile/compile.tmpl.json",
385
+ "qx/tool/compiler/cli/templates/skeleton/mobile/readme.tmpl.md",
384
386
  "qx/tool/compiler/cli/templates/skeleton/desktop/.gitignore.tmpl",
385
387
  "qx/tool/compiler/cli/templates/skeleton/desktop/compile.tmpl.json",
386
388
  "qx/tool/compiler/cli/templates/skeleton/desktop/Manifest.tmpl.json",
387
389
  "qx/tool/compiler/cli/templates/skeleton/desktop/readme.tmpl.md",
388
- "qx/tool/compiler/cli/templates/skeleton/mobile/.gitignore.tmpl",
389
- "qx/tool/compiler/cli/templates/skeleton/mobile/compile.tmpl.json",
390
- "qx/tool/compiler/cli/templates/skeleton/mobile/Manifest.tmpl.json",
391
- "qx/tool/compiler/cli/templates/skeleton/mobile/readme.tmpl.md",
392
390
  "qx/tool/compiler/cli/templates/skeleton/package/.gitignore.tmpl",
393
391
  "qx/tool/compiler/cli/templates/skeleton/package/compile.tmpl.json",
394
392
  "qx/tool/compiler/cli/templates/skeleton/package/Manifest.tmpl.json",
@@ -397,43 +395,43 @@
397
395
  "qx/tool/compiler/cli/templates/skeleton/server/compile.tmpl.json",
398
396
  "qx/tool/compiler/cli/templates/skeleton/server/Manifest.tmpl.json",
399
397
  "qx/tool/compiler/cli/templates/skeleton/server/readme.tmpl.txt",
400
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/boot/index.tmpl.html",
401
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/boot/nojs.tmpl.html",
402
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/translation/readme.txt",
403
398
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/boot/index.tmpl.html",
404
399
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/boot/nojs.tmpl.html",
405
400
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/translation/readme.txt",
401
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/boot/index.tmpl.html",
402
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/boot/nojs.tmpl.html",
403
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/translation/readme.txt",
406
404
  "qx/tool/compiler/cli/templates/skeleton/package/source/translation/readme.txt",
407
405
  "qx/tool/compiler/cli/templates/skeleton/server/source/translation/readme.txt",
408
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/app.png",
409
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/favicon.png",
410
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/js_256x256.png",
411
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/test.png",
412
406
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/Application.tmpl.js",
413
407
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/__init__.tmpl.js",
414
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/Application.tmpl.js",
415
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/__init__.tmpl.js",
416
408
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/app.png",
417
409
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/favicon.png",
418
410
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/js_256x256.png",
411
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/Application.tmpl.js",
412
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/__init__.tmpl.js",
413
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/app.png",
414
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/favicon.png",
415
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/js_256x256.png",
416
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/test.png",
417
+ "qx/tool/compiler/cli/templates/skeleton/package/source/resource/custom/test.png",
419
418
  "qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/Button.tmpl.js",
420
419
  "qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/__init__.tmpl.js",
421
- "qx/tool/compiler/cli/templates/skeleton/package/source/resource/custom/test.png",
422
420
  "qx/tool/compiler/cli/templates/skeleton/server/source/class/custom/Application.tmpl.js",
423
421
  "qx/tool/compiler/cli/templates/skeleton/server/source/class/custom/__init__.tmpl.js",
424
422
  "qx/tool/compiler/cli/templates/skeleton/server/source/resource/custom/.gitignore.tmpl",
423
+ "qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/scss/custom.scss",
424
+ "qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/scss/_styles.scss",
425
425
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js",
426
426
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js",
427
427
  "qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/page/__init__.tmpl.js",
428
+ "qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/css/.gitignore.tmpl",
428
429
  "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js",
429
430
  "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Appearance.tmpl.js",
430
431
  "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Color.tmpl.js",
431
432
  "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Decoration.tmpl.js",
432
- "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Font.tmpl.js",
433
433
  "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Theme.tmpl.js",
434
- "qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/css/.gitignore.tmpl",
435
- "qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/scss/custom.scss",
436
- "qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/scss/_styles.scss",
434
+ "qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Font.tmpl.js",
437
435
  "qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js",
438
436
  "qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js",
439
437
  "qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/theme/Appearance.tmpl.js",
@@ -458,22 +456,22 @@
458
456
  "qx/tool/website/src/404.html",
459
457
  "qx/tool/website/src/about.md",
460
458
  "qx/tool/website/src/index.html",
459
+ "qx/tool/website/build/diagnostics/dependson.html",
460
+ "qx/tool/website/build/diagnostics/requiredby.html",
461
+ "qx/tool/website/build/diagnostics/dependson.js",
462
+ "qx/tool/website/build/diagnostics/requiredby.js",
461
463
  "qx/tool/website/build/assets/abel.css",
462
- "qx/tool/website/build/assets/buttons.js",
463
464
  "qx/tool/website/build/assets/common.js",
465
+ "qx/tool/website/build/assets/buttons.js",
464
466
  "qx/tool/website/build/assets/custom.css",
465
467
  "qx/tool/website/build/assets/favicon.png",
466
468
  "qx/tool/website/build/assets/fontawesome-all.js",
467
469
  "qx/tool/website/build/assets/logo.svg",
468
470
  "qx/tool/website/build/assets/qx-api.png",
469
- "qx/tool/website/build/assets/qx-ide.png",
470
471
  "qx/tool/website/build/assets/qx-oo.png",
472
+ "qx/tool/website/build/assets/qx-ide.png",
471
473
  "qx/tool/website/build/assets/qx-white.svg",
472
474
  "qx/tool/website/build/assets/qxWeb.js",
473
- "qx/tool/website/build/diagnostics/dependson.html",
474
- "qx/tool/website/build/diagnostics/dependson.js",
475
- "qx/tool/website/build/diagnostics/requiredby.html",
476
- "qx/tool/website/build/diagnostics/requiredby.js",
477
475
  "qx/tool/website/build/scripts/serve.js",
478
476
  "qx/tool/website/src/assets/abel.css",
479
477
  "qx/tool/website/src/assets/buttons.js",
@@ -487,11 +485,11 @@
487
485
  "qx/tool/website/src/assets/qx-oo.png",
488
486
  "qx/tool/website/src/assets/qx-white.svg",
489
487
  "qx/tool/website/src/assets/qxWeb.js",
488
+ "qx/tool/website/src/scripts/serve.js",
490
489
  "qx/tool/website/src/diagnostics/dependson.html",
491
490
  "qx/tool/website/src/diagnostics/dependson.js",
492
491
  "qx/tool/website/src/diagnostics/requiredby.html",
493
- "qx/tool/website/src/diagnostics/requiredby.js",
494
- "qx/tool/website/src/scripts/serve.js"
492
+ "qx/tool/website/src/diagnostics/requiredby.js"
495
493
  ],
496
494
  "locales": [
497
495
  "en"
@@ -529,8 +527,9 @@
529
527
  "qx.promise.warnings": true,
530
528
  "qx.promise.longStackTraces": true,
531
529
  "qx.compiler": true,
532
- "qx.compiler.version": "8.0.0-beta.1",
533
- "qx.version": "8.0.0-beta.1",
530
+ "qx.compiler.version": "8.0.0-beta.3",
531
+ "qx.Promise.useNativePromise": true,
532
+ "qx.version": "8.0.0-beta.3",
534
533
  "qx.compiler.targetType": "source",
535
534
  "qx.compiler.outputDir": "compiled/node/build/",
536
535
  "qx.target.privateArtifacts": false,