@urso/core 0.1.92 → 0.1.97

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 (147) hide show
  1. package/.babelrc +11 -11
  2. package/README.md +10 -10
  3. package/build/js/index.js +1 -1
  4. package/build/js/index.js.LICENSE.txt +41 -39
  5. package/package.json +52 -49
  6. package/src/js/app.js +76 -75
  7. package/src/js/components/_info.js +8 -8
  8. package/src/js/components/base/_info.js +3 -3
  9. package/src/js/components/base/controller.js +78 -78
  10. package/src/js/components/debug/_info.js +6 -6
  11. package/src/js/components/debug/controller.js +38 -38
  12. package/src/js/components/debug/coords.js +23 -23
  13. package/src/js/components/debug/fps.js +34 -34
  14. package/src/js/components/debug/template.js +33 -33
  15. package/src/js/components/deviceRotate/_info.js +3 -3
  16. package/src/js/components/deviceRotate/controller.js +86 -86
  17. package/src/js/components/fullscreen/_info.js +6 -6
  18. package/src/js/components/fullscreen/android.js +104 -104
  19. package/src/js/components/fullscreen/controller.js +64 -64
  20. package/src/js/components/fullscreen/desktop.js +49 -49
  21. package/src/js/components/fullscreen/ios.js +111 -111
  22. package/src/js/components/loader/_info.js +4 -4
  23. package/src/js/components/loader/controller.js +66 -66
  24. package/src/js/components/loader/template.js +70 -70
  25. package/src/js/components/soundInitialPopup/_info.js +3 -3
  26. package/src/js/components/soundInitialPopup/controller.js +42 -42
  27. package/src/js/components/soundInitialPopup/template.js +109 -109
  28. package/src/js/components/stateDriven/_info.js +3 -3
  29. package/src/js/components/stateDriven/controller.js +52 -52
  30. package/src/js/config/load.js +5 -5
  31. package/src/js/config/main.js +9 -8
  32. package/src/js/extra/_info.js +23 -22
  33. package/src/js/extra/browserEvents.js +32 -32
  34. package/src/js/index.js +8 -8
  35. package/src/js/lib/_info.js +13 -13
  36. package/src/js/lib/cache.js +98 -98
  37. package/src/js/lib/composition.js +89 -89
  38. package/src/js/lib/device.js +1276 -1276
  39. package/src/js/lib/helper.js +524 -513
  40. package/src/js/lib/loader.js +121 -100
  41. package/src/js/lib/localData.js +15 -15
  42. package/src/js/lib/logger.js +22 -22
  43. package/src/js/lib/math.js +20 -20
  44. package/src/js/lib/objectPool.js +54 -54
  45. package/src/js/lib/time.js +18 -18
  46. package/src/js/lib/tween.js +147 -147
  47. package/src/js/modules/_info.js +11 -11
  48. package/src/js/modules/assets/_info.js +7 -7
  49. package/src/js/modules/assets/baseModel.js +18 -18
  50. package/src/js/modules/assets/config.js +35 -25
  51. package/src/js/modules/assets/controller.js +37 -21
  52. package/src/js/modules/assets/models/_info.js +12 -12
  53. package/src/js/modules/assets/models/atlas.js +8 -8
  54. package/src/js/modules/assets/models/audiosprite.js +27 -27
  55. package/src/js/modules/assets/models/bitmapFont.js +8 -8
  56. package/src/js/modules/assets/models/container.js +16 -16
  57. package/src/js/modules/assets/models/dragonBones.js +26 -26
  58. package/src/js/modules/assets/models/font.js +8 -8
  59. package/src/js/modules/assets/models/image.js +14 -14
  60. package/src/js/modules/assets/models/json.js +8 -8
  61. package/src/js/modules/assets/models/sound.js +14 -14
  62. package/src/js/modules/assets/models/spine.js +8 -8
  63. package/src/js/modules/assets/service.js +330 -303
  64. package/src/js/modules/instances/_info.js +3 -3
  65. package/src/js/modules/instances/controller.js +218 -218
  66. package/src/js/modules/logic/_info.js +5 -5
  67. package/src/js/modules/logic/buttons.js +120 -120
  68. package/src/js/modules/logic/config/_info.js +3 -3
  69. package/src/js/modules/logic/config/buttons.js +63 -63
  70. package/src/js/modules/logic/config/sounds.js +23 -23
  71. package/src/js/modules/logic/controller.js +48 -48
  72. package/src/js/modules/logic/sounds.js +96 -96
  73. package/src/js/modules/objects/_info.js +11 -11
  74. package/src/js/modules/objects/baseModel.js +161 -161
  75. package/src/js/modules/objects/cache.js +99 -99
  76. package/src/js/modules/objects/controller.js +115 -115
  77. package/src/js/modules/objects/create.js +246 -231
  78. package/src/js/modules/objects/find.js +140 -140
  79. package/src/js/modules/objects/models/_info.js +25 -20
  80. package/src/js/modules/objects/models/atlasImage.js +50 -50
  81. package/src/js/modules/objects/models/bitmapText.js +23 -23
  82. package/src/js/modules/objects/models/button.js +184 -184
  83. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  84. package/src/js/modules/objects/models/checkbox.js +91 -0
  85. package/src/js/modules/objects/models/collection.js +54 -54
  86. package/src/js/modules/objects/models/component.js +44 -44
  87. package/src/js/modules/objects/models/container.js +19 -19
  88. package/src/js/modules/objects/models/dragonBones.js +250 -250
  89. package/src/js/modules/objects/models/emitter.js +54 -54
  90. package/src/js/modules/objects/models/graphics.js +38 -38
  91. package/src/js/modules/objects/models/group.js +19 -19
  92. package/src/js/modules/objects/models/hitArea.js +104 -104
  93. package/src/js/modules/objects/models/image.js +34 -34
  94. package/src/js/modules/objects/models/imagesAnimation.js +113 -113
  95. package/src/js/modules/objects/models/mask.js +38 -38
  96. package/src/js/modules/objects/models/scrollbox.js +62 -0
  97. package/src/js/modules/objects/models/slider.js +154 -0
  98. package/src/js/modules/objects/models/spine.js +83 -83
  99. package/src/js/modules/objects/models/text.js +38 -38
  100. package/src/js/modules/objects/models/textInput.js +55 -0
  101. package/src/js/modules/objects/models/toggle.js +165 -0
  102. package/src/js/modules/objects/models/world.js +19 -19
  103. package/src/js/modules/objects/propertyAdapter.js +421 -416
  104. package/src/js/modules/objects/proxy.js +179 -179
  105. package/src/js/modules/objects/styles.js +116 -116
  106. package/src/js/modules/observer/_info.js +4 -4
  107. package/src/js/modules/observer/controller.js +99 -99
  108. package/src/js/modules/observer/events.js +31 -28
  109. package/src/js/modules/scenes/_info.js +8 -8
  110. package/src/js/modules/scenes/controller.js +34 -34
  111. package/src/js/modules/scenes/model.js +35 -35
  112. package/src/js/modules/scenes/pixiWrapper.js +194 -194
  113. package/src/js/modules/scenes/resolutions.js +161 -161
  114. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  115. package/src/js/modules/scenes/service.js +84 -84
  116. package/src/js/modules/soundManager/_info.js +3 -3
  117. package/src/js/modules/soundManager/controller.js +99 -99
  118. package/src/js/modules/soundManager/soundSprite.js +202 -202
  119. package/src/js/modules/statesManager/_info.js +12 -12
  120. package/src/js/modules/statesManager/action.js +113 -113
  121. package/src/js/modules/statesManager/actionModel.js +47 -47
  122. package/src/js/modules/statesManager/actions/_info.js +3 -3
  123. package/src/js/modules/statesManager/all.js +23 -23
  124. package/src/js/modules/statesManager/configActions.js +54 -54
  125. package/src/js/modules/statesManager/configStates.js +86 -86
  126. package/src/js/modules/statesManager/controller.js +91 -91
  127. package/src/js/modules/statesManager/helper.js +37 -37
  128. package/src/js/modules/statesManager/race.js +80 -80
  129. package/src/js/modules/statesManager/sequence.js +47 -47
  130. package/src/js/modules/template/_info.js +6 -6
  131. package/src/js/modules/template/controller.js +28 -28
  132. package/src/js/modules/template/model.js +11 -11
  133. package/src/js/modules/template/service.js +125 -125
  134. package/src/js/modules/template/types.js +46 -41
  135. package/src/js/modules/transport/_info.js +8 -8
  136. package/src/js/modules/transport/baseConnectionType.js +24 -24
  137. package/src/js/modules/transport/config.js +22 -22
  138. package/src/js/modules/transport/connectionTypes/_info.js +3 -3
  139. package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
  140. package/src/js/modules/transport/connectionTypes/xhr.js +41 -41
  141. package/src/js/modules/transport/controller.js +48 -48
  142. package/src/js/modules/transport/decorator.js +16 -16
  143. package/src/js/modules/transport/service.js +138 -138
  144. package/src/js/templates/_info.js +4 -4
  145. package/src/js/templates/groups/_info.js +1 -1
  146. package/src/js/templates/scenes/_info.js +1 -1
  147. package/webpack.config.js +47 -47
@@ -1,42 +1,42 @@
1
- class ModulesTransportConnectionTypesXhr extends Urso.Core.Modules.Transport.BaseConnectionType {
2
- constructor(params){
3
- super(params);
4
-
5
- this._xhr = null;
6
- this._ready = true;
7
- }
8
-
9
- send(message){
10
- this._createXhr();
11
- const preparedMessage = JSON.stringify(message);
12
- this._xhr.send(preparedMessage);
13
- log('[XHR] SEND:', preparedMessage);
14
- };
15
-
16
-
17
- _createXhr(){
18
- this._xhr = new XMLHttpRequest();
19
- this._xhr.onerror = this._onError.bind(this);
20
- this._xhr.onreadystatechange = this._onReadyStateChange.bind(this);
21
- this._xhr.open('GET', this._host, true);
22
- log('[XHR]: CREATED');
23
- };
24
-
25
- _onMessage(message){
26
- const res = JSON.parse(message);
27
- this._runCallback('response', res);
28
- log('[XHR] RESPONSE RECEIVED', message);
29
- };
30
-
31
- _onError(){
32
- this._runCallback('error');
33
- log('[XHR] ERROR')
34
- };
35
-
36
- _onReadyStateChange({ target }){
37
- if(target.readyState === 4)
38
- this._onMessage(target.response);
39
- };
40
- }
41
-
1
+ class ModulesTransportConnectionTypesXhr extends Urso.Core.Modules.Transport.BaseConnectionType {
2
+ constructor(params){
3
+ super(params);
4
+
5
+ this._xhr = null;
6
+ this._ready = true;
7
+ }
8
+
9
+ send(message){
10
+ this._createXhr();
11
+ const preparedMessage = JSON.stringify(message);
12
+ this._xhr.send(preparedMessage);
13
+ log('[XHR] SEND:', preparedMessage);
14
+ };
15
+
16
+
17
+ _createXhr(){
18
+ this._xhr = new XMLHttpRequest();
19
+ this._xhr.onerror = this._onError.bind(this);
20
+ this._xhr.onreadystatechange = this._onReadyStateChange.bind(this);
21
+ this._xhr.open('GET', this._host, true);
22
+ log('[XHR]: CREATED');
23
+ };
24
+
25
+ _onMessage(message){
26
+ const res = JSON.parse(message);
27
+ this._runCallback('response', res);
28
+ log('[XHR] RESPONSE RECEIVED', message);
29
+ };
30
+
31
+ _onError(){
32
+ this._runCallback('error');
33
+ log('[XHR] ERROR')
34
+ };
35
+
36
+ _onReadyStateChange({ target }){
37
+ if(target.readyState === 4)
38
+ this._onMessage(target.response);
39
+ };
40
+ }
41
+
42
42
  module.exports = ModulesTransportConnectionTypesXhr;
@@ -1,48 +1,48 @@
1
- class ModulesTransportController {
2
- constructor() {
3
- this._service = null;
4
- }
5
-
6
- _updateService() {
7
- this._service = this.getInstance('Service');
8
- };
9
-
10
- init(){
11
- this._updateService();
12
- this._service.init();
13
- };
14
-
15
- setOnConnectionHandler(handler){
16
- this._service.on('connection', handler);
17
- };
18
-
19
- setReadyHandler(handler){
20
- this._service.on('ready', handler);
21
- };
22
-
23
- setErrorHandler(handler){
24
- this._service.on('error', handler);
25
- };
26
-
27
- setResponseHandler(handler){
28
- this._service.on('response', handler);
29
- };
30
-
31
- setOnCloseHandler(handler){
32
- this._service.on('close', handler);
33
- };
34
-
35
- send(message){
36
- this._service.send(message);
37
- };
38
-
39
- reconnect(){
40
- this._service.reconnect();
41
- };
42
-
43
- close(){
44
- this._service.close();
45
- };
46
- }
47
-
48
- module.exports = ModulesTransportController;
1
+ class ModulesTransportController {
2
+ constructor() {
3
+ this._service = null;
4
+ }
5
+
6
+ _updateService() {
7
+ this._service = this.getInstance('Service');
8
+ };
9
+
10
+ init(){
11
+ this._updateService();
12
+ this._service.init();
13
+ };
14
+
15
+ setOnConnectionHandler(handler){
16
+ this._service.on('connection', handler);
17
+ };
18
+
19
+ setReadyHandler(handler){
20
+ this._service.on('ready', handler);
21
+ };
22
+
23
+ setErrorHandler(handler){
24
+ this._service.on('error', handler);
25
+ };
26
+
27
+ setResponseHandler(handler){
28
+ this._service.on('response', handler);
29
+ };
30
+
31
+ setOnCloseHandler(handler){
32
+ this._service.on('close', handler);
33
+ };
34
+
35
+ send(message){
36
+ this._service.send(message);
37
+ };
38
+
39
+ reconnect(){
40
+ this._service.reconnect();
41
+ };
42
+
43
+ close(){
44
+ this._service.close();
45
+ };
46
+ }
47
+
48
+ module.exports = ModulesTransportController;
@@ -1,16 +1,16 @@
1
- class ModulesTransportDecorator {
2
- constructor() {
3
- this.singleton = true;
4
- }
5
-
6
- toServer(message) {
7
- return message;
8
- };
9
-
10
- toFront(message) {
11
- return message;
12
- };
13
-
14
- }
15
-
16
- module.exports = ModulesTransportDecorator;
1
+ class ModulesTransportDecorator {
2
+ constructor() {
3
+ this.singleton = true;
4
+ }
5
+
6
+ toServer(message) {
7
+ return message;
8
+ };
9
+
10
+ toFront(message) {
11
+ return message;
12
+ };
13
+
14
+ }
15
+
16
+ module.exports = ModulesTransportDecorator;
@@ -1,138 +1,138 @@
1
- class ModulesTransportService {
2
- constructor() {
3
- this._callbacks = {};
4
- this._config = this.getInstance('Config').getConfig();
5
-
6
- this.WEBSOCKET = 'websocket';
7
- this.XHR = 'xhr';
8
-
9
- this._communicator = null;
10
- }
11
-
12
- on(event, callback, force) {
13
- if (!this._checkCallback(event) || force)
14
- this._setCallback(event, callback);
15
- };
16
-
17
- init() {
18
- this._createConnection();
19
- };
20
-
21
- send(message) {
22
- if (!this._checkCommunicator() || !this._checkCommunicatorReady())
23
- return false;
24
-
25
- const decoratedMessage = this.getInstance('Decorator').toServer(message);
26
- const validatedMessage = this._validateMessage(decoratedMessage);
27
- this._communicator.send(validatedMessage);
28
-
29
- return true;
30
- };
31
-
32
- reconnect() {
33
- if (!this._checkCommunicator())
34
- return false;
35
-
36
- this._communicator.reconnect(this._config.autoReconnectionDelay || 0);
37
-
38
- return true;
39
- };
40
-
41
- close() {
42
- if (!this._checkCommunicator())
43
- return false;
44
-
45
- this._communicator.close();
46
-
47
- return true;
48
- };
49
-
50
- _checkCallback(event) {
51
- const result = !!this._callbacks[event];
52
-
53
- if (result)
54
- Urso.logger.error(`Overwrite ${event} event detected!`);
55
-
56
- return result;
57
- };
58
-
59
- _checkCommunicator() {
60
- if (!this._communicator)
61
- Urso.logger.error('Communicator was not created!');
62
-
63
- return true;
64
- }
65
-
66
- _checkCommunicatorReady() {
67
- return this._communicator.readyCheck();
68
- };
69
-
70
- _destroyCommunicator() {
71
- this._communicator = null;
72
- };
73
-
74
- _prepareCallback(event, callback) {
75
- const func = message => {
76
- const data = this._runMiddleWare(event, message);
77
- return callback(data);
78
- };
79
-
80
- return func;
81
- }
82
-
83
- _runMiddleWare(event, data) {
84
- switch (event) {
85
- case 'response':
86
- const decoratedMessage = this.getInstance('Decorator').toFront(JSON.parse(data));
87
- return this._validateMessage(decoratedMessage);
88
-
89
- case 'close':
90
- case 'error':
91
- this._tryReconnect();;
92
- default:
93
- return data;
94
- }
95
- };
96
-
97
- _tryReconnect() {
98
- if (!this._config.autoReconnection)
99
- return false;
100
-
101
- this._communicator.reconnect(this._config.autoReconnectionDelay);
102
- };
103
-
104
- _setCallback(event, callback) {
105
- this._callbacks[event] = this._prepareCallback(event, callback);
106
- };
107
-
108
- _validateMessage(message) {
109
- // TODO : SET VALIDATION MODELS
110
- return { ...message };
111
- };
112
-
113
- _getHost(type) {
114
- const hosts = this._config.hosts;
115
-
116
- switch (type) {
117
- case this.WEBSOCKET:
118
- return hosts.wsHost;
119
- case this.XHR:
120
- return hosts.xhrHost;
121
- default:
122
- return false;
123
- }
124
- };
125
-
126
- _createConnection(type = this.WEBSOCKET) {
127
- const host = this._getHost(type);
128
- const callbacks = this._callbacks;
129
- const capitalizedType = Urso.helper.capitaliseFirstLetter(type);
130
-
131
- this._communicator = this.getInstance(`ConnectionTypes.${capitalizedType}`, { callbacks, host });
132
-
133
- if (!this._communicator)
134
- Urso.logger.error(`Transport type: '${capitalizedType}' was not found!`);
135
- };
136
- }
137
-
138
- module.exports = ModulesTransportService;
1
+ class ModulesTransportService {
2
+ constructor() {
3
+ this._callbacks = {};
4
+ this._config = this.getInstance('Config').getConfig();
5
+
6
+ this.WEBSOCKET = 'websocket';
7
+ this.XHR = 'xhr';
8
+
9
+ this._communicator = null;
10
+ }
11
+
12
+ on(event, callback, force) {
13
+ if (!this._checkCallback(event) || force)
14
+ this._setCallback(event, callback);
15
+ };
16
+
17
+ init() {
18
+ this._createConnection();
19
+ };
20
+
21
+ send(message) {
22
+ if (!this._checkCommunicator() || !this._checkCommunicatorReady())
23
+ return false;
24
+
25
+ const decoratedMessage = this.getInstance('Decorator').toServer(message);
26
+ const validatedMessage = this._validateMessage(decoratedMessage);
27
+ this._communicator.send(validatedMessage);
28
+
29
+ return true;
30
+ };
31
+
32
+ reconnect() {
33
+ if (!this._checkCommunicator())
34
+ return false;
35
+
36
+ this._communicator.reconnect(this._config.autoReconnectionDelay || 0);
37
+
38
+ return true;
39
+ };
40
+
41
+ close() {
42
+ if (!this._checkCommunicator())
43
+ return false;
44
+
45
+ this._communicator.close();
46
+
47
+ return true;
48
+ };
49
+
50
+ _checkCallback(event) {
51
+ const result = !!this._callbacks[event];
52
+
53
+ if (result)
54
+ Urso.logger.error(`Overwrite ${event} event detected!`);
55
+
56
+ return result;
57
+ };
58
+
59
+ _checkCommunicator() {
60
+ if (!this._communicator)
61
+ Urso.logger.error('Communicator was not created!');
62
+
63
+ return true;
64
+ }
65
+
66
+ _checkCommunicatorReady() {
67
+ return this._communicator.readyCheck();
68
+ };
69
+
70
+ _destroyCommunicator() {
71
+ this._communicator = null;
72
+ };
73
+
74
+ _prepareCallback(event, callback) {
75
+ const func = message => {
76
+ const data = this._runMiddleWare(event, message);
77
+ return callback(data);
78
+ };
79
+
80
+ return func;
81
+ }
82
+
83
+ _runMiddleWare(event, data) {
84
+ switch (event) {
85
+ case 'response':
86
+ const decoratedMessage = this.getInstance('Decorator').toFront(JSON.parse(data));
87
+ return this._validateMessage(decoratedMessage);
88
+
89
+ case 'close':
90
+ case 'error':
91
+ this._tryReconnect();;
92
+ default:
93
+ return data;
94
+ }
95
+ };
96
+
97
+ _tryReconnect() {
98
+ if (!this._config.autoReconnection)
99
+ return false;
100
+
101
+ this._communicator.reconnect(this._config.autoReconnectionDelay);
102
+ };
103
+
104
+ _setCallback(event, callback) {
105
+ this._callbacks[event] = this._prepareCallback(event, callback);
106
+ };
107
+
108
+ _validateMessage(message) {
109
+ // TODO : SET VALIDATION MODELS
110
+ return { ...message };
111
+ };
112
+
113
+ _getHost(type) {
114
+ const hosts = this._config.hosts;
115
+
116
+ switch (type) {
117
+ case this.WEBSOCKET:
118
+ return hosts.wsHost;
119
+ case this.XHR:
120
+ return hosts.xhrHost;
121
+ default:
122
+ return false;
123
+ }
124
+ };
125
+
126
+ _createConnection(type = this.WEBSOCKET) {
127
+ const host = this._getHost(type);
128
+ const callbacks = this._callbacks;
129
+ const capitalizedType = Urso.helper.capitaliseFirstLetter(type);
130
+
131
+ this._communicator = this.getInstance(`ConnectionTypes.${capitalizedType}`, { callbacks, host });
132
+
133
+ if (!this._communicator)
134
+ Urso.logger.error(`Transport type: '${capitalizedType}' was not found!`);
135
+ };
136
+ }
137
+
138
+ module.exports = ModulesTransportService;
@@ -1,4 +1,4 @@
1
- Urso.Core.Templates = {};
2
-
3
- require('./groups/_info.js');
4
- require('./scenes/_info.js');
1
+ Urso.Core.Templates = {};
2
+
3
+ require('./groups/_info.js');
4
+ require('./scenes/_info.js');
@@ -1 +1 @@
1
- Urso.Core.Templates.Groups = {};
1
+ Urso.Core.Templates.Groups = {};
@@ -1 +1 @@
1
- Urso.Core.Templates.Scenes = {};
1
+ Urso.Core.Templates.Scenes = {};
package/webpack.config.js CHANGED
@@ -1,47 +1,47 @@
1
- const path = require('path');
2
- const packageJson = require('./package.json');
3
- const root = process.cwd();
4
-
5
- const version = packageJson.version;
6
-
7
- module.exports = () => {
8
- const config = {
9
- entry: {
10
- index: path.resolve(root, 'src', 'js', 'index.js')
11
- },
12
- output: {
13
- path: path.resolve(root, 'build'),
14
- filename: path.join('js', 'index.js'),
15
- publicPath: '/'
16
- },
17
- module: {
18
- rules: [
19
- {
20
- test: /app\.js$/,
21
- loader: 'string-replace-loader',
22
- options: {
23
- search: 'APP_VERSION',
24
- replace: version,
25
- }
26
- },
27
- {
28
- test: /\.css$/,
29
- use: ['style-loader', 'css-loader'],
30
- },
31
- {
32
- test: /\.js$/,
33
- enforce: "pre",
34
- use: ["source-map-loader"],
35
- },
36
- {
37
- test: /\.js$/,
38
- exclude: /node_modules/,
39
- use: {
40
- loader: 'babel-loader'
41
- }
42
- }
43
- ]
44
- }
45
- };
46
- return config;
47
- };
1
+ const path = require('path');
2
+ const packageJson = require('./package.json');
3
+ const root = process.cwd();
4
+
5
+ const version = packageJson.version;
6
+
7
+ module.exports = () => {
8
+ const config = {
9
+ entry: {
10
+ index: path.resolve(root, 'src', 'js', 'index.js')
11
+ },
12
+ output: {
13
+ path: path.resolve(root, 'build'),
14
+ filename: path.join('js', 'index.js'),
15
+ publicPath: '/'
16
+ },
17
+ module: {
18
+ rules: [
19
+ {
20
+ test: /app\.js$/,
21
+ loader: 'string-replace-loader',
22
+ options: {
23
+ search: 'APP_VERSION',
24
+ replace: version,
25
+ }
26
+ },
27
+ {
28
+ test: /\.css$/,
29
+ use: ['style-loader', 'css-loader'],
30
+ },
31
+ {
32
+ test: /\.js$/,
33
+ enforce: "pre",
34
+ use: ["source-map-loader"],
35
+ },
36
+ {
37
+ test: /\.js$/,
38
+ exclude: /node_modules/,
39
+ use: {
40
+ loader: 'babel-loader'
41
+ }
42
+ }
43
+ ]
44
+ }
45
+ };
46
+ return config;
47
+ };