not-node 5.0.22 → 5.1.2

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 (126) hide show
  1. package/.eslintrc.json +1 -1
  2. package/bin/not-deploy.js +52 -0
  3. package/index.js +21 -19
  4. package/package.json +1 -1
  5. package/src/app.js +61 -58
  6. package/src/auth/abstract.js +17 -19
  7. package/src/auth/const.js +8 -12
  8. package/src/auth/fields.js +143 -124
  9. package/src/auth/index.js +14 -14
  10. package/src/auth/roles.js +64 -63
  11. package/src/auth/routes.js +89 -54
  12. package/src/auth/rules.js +63 -63
  13. package/src/auth/session.js +60 -62
  14. package/src/bootstrap/form.js +13 -13
  15. package/src/bootstrap/logic.js +45 -41
  16. package/src/bootstrap/model.js +14 -17
  17. package/src/bootstrap/route.js +132 -53
  18. package/src/common.js +86 -79
  19. package/src/core/fields/ID.js +6 -6
  20. package/src/core/fields/__closed.js +3 -3
  21. package/src/core/fields/__latest.js +3 -3
  22. package/src/core/fields/__version.js +3 -3
  23. package/src/core/fields/__versions.js +3 -3
  24. package/src/core/fields/_id.js +6 -6
  25. package/src/core/fields/active.js +9 -9
  26. package/src/core/fields/codeName.js +9 -9
  27. package/src/core/fields/createdAt.js +17 -17
  28. package/src/core/fields/default.js +9 -9
  29. package/src/core/fields/description.js +11 -11
  30. package/src/core/fields/email.js +9 -9
  31. package/src/core/fields/enabled.js +9 -9
  32. package/src/core/fields/expiredAt.js +16 -16
  33. package/src/core/fields/height.js +11 -11
  34. package/src/core/fields/ip.js +10 -10
  35. package/src/core/fields/objectId.js +10 -10
  36. package/src/core/fields/owner.js +13 -13
  37. package/src/core/fields/ownerModel.js +11 -11
  38. package/src/core/fields/price.js +11 -11
  39. package/src/core/fields/requiredObject.js +10 -10
  40. package/src/core/fields/session.js +10 -10
  41. package/src/core/fields/size.js +11 -11
  42. package/src/core/fields/telephone.js +9 -9
  43. package/src/core/fields/title.js +15 -15
  44. package/src/core/fields/updatedAt.js +17 -17
  45. package/src/core/fields/userId.js +11 -12
  46. package/src/core/fields/uuid.js +11 -11
  47. package/src/core/fields/validators/email.js +6 -4
  48. package/src/core/fields/validators/owner.js +6 -4
  49. package/src/core/fields/width.js +11 -11
  50. package/src/domain.js +435 -431
  51. package/src/env.js +23 -23
  52. package/src/error.js +20 -23
  53. package/src/exceptions/db.js +23 -0
  54. package/src/exceptions/http.js +43 -0
  55. package/src/fields/index.js +106 -111
  56. package/src/form/fabric.js +19 -24
  57. package/src/form/form.js +195 -186
  58. package/src/form/index.js +2 -2
  59. package/src/generic/index.js +2 -0
  60. package/src/generic/logic.js +595 -0
  61. package/src/generic/route.js +76 -0
  62. package/src/init/additional.js +7 -7
  63. package/src/init/app.js +75 -68
  64. package/src/init/bodyparser.js +14 -14
  65. package/src/init/compression.js +6 -7
  66. package/src/init/core.js +12 -12
  67. package/src/init/cors.js +22 -24
  68. package/src/init/db/index.js +41 -43
  69. package/src/init/db/ioredis.js +28 -20
  70. package/src/init/db/mongoose.js +42 -32
  71. package/src/init/db/redis.js +59 -48
  72. package/src/init/env.js +44 -36
  73. package/src/init/express.js +18 -21
  74. package/src/init/fileupload.js +8 -10
  75. package/src/init/http.js +65 -47
  76. package/src/init/index.js +141 -148
  77. package/src/init/informer.js +7 -9
  78. package/src/init/methodoverride.js +4 -6
  79. package/src/init/middleware.js +23 -26
  80. package/src/init/modules.js +4 -4
  81. package/src/init/monitoring.js +8 -8
  82. package/src/init/rateLimiter.js +53 -45
  83. package/src/init/routes.js +67 -69
  84. package/src/init/security.js +37 -33
  85. package/src/init/sequence.js +111 -107
  86. package/src/init/sequence.standart.js +54 -56
  87. package/src/init/sessions/index.js +21 -21
  88. package/src/init/sessions/mongoose.js +49 -36
  89. package/src/init/sessions/redis.js +28 -27
  90. package/src/init/static.js +53 -40
  91. package/src/init/template.js +17 -17
  92. package/src/lib.js +230 -200
  93. package/src/manifest/batchRunner.js +26 -25
  94. package/src/manifest/initializator/forms.js +24 -24
  95. package/src/manifest/initializator/index.js +8 -10
  96. package/src/manifest/initializator/manifests.js +45 -42
  97. package/src/manifest/initializator/models.js +37 -34
  98. package/src/manifest/manifest.filter.js +130 -97
  99. package/src/manifest/manifest.js +103 -77
  100. package/src/manifest/module.js +350 -360
  101. package/src/manifest/registrator/fields.js +90 -85
  102. package/src/manifest/registrator/forms.js +47 -47
  103. package/src/manifest/registrator/index.js +14 -16
  104. package/src/manifest/registrator/locales.js +17 -16
  105. package/src/manifest/registrator/logics.js +66 -64
  106. package/src/manifest/registrator/models.js +64 -62
  107. package/src/manifest/registrator/routes.js +171 -132
  108. package/src/manifest/registrator/routes.ws.js +109 -103
  109. package/src/manifest/route.js +216 -161
  110. package/src/model/buildValidator.js +53 -42
  111. package/src/model/default.js +304 -286
  112. package/src/model/enrich.js +69 -61
  113. package/src/model/increment.js +124 -137
  114. package/src/model/proto.js +179 -148
  115. package/src/model/routine.js +85 -76
  116. package/src/model/utils.js +33 -0
  117. package/src/model/versioning.js +148 -130
  118. package/src/obsolete.js +12 -8
  119. package/src/parser.js +29 -22
  120. package/src/repos.js +29 -31
  121. package/src/rollup.js +75 -65
  122. package/src/shell.helpers.js +28 -28
  123. package/static.js +31 -0
  124. package/src/generic/router.js +0 -16
  125. package/src/manifest/module.models.js +0 -0
  126. package/src/manifest/module.status.js +0 -0
package/src/init/env.js CHANGED
@@ -1,42 +1,50 @@
1
- const log = require('not-log')(module, 'not-node//init');
2
- const ADDS = require('./additional');
1
+ const log = require("not-log")(module, "not-node//init");
2
+ const ADDS = require("./additional");
3
3
 
4
- module.exports = class InitENV{
5
-
6
- static getProxyPort(config){
7
- return parseInt(config.get('proxy:port') || config.get('port'));
8
- }
9
-
10
- static getFullServerName(config){
11
- let name = '';
12
- if (config.get('proxy:secure') === true){
13
- name='https://';
14
- }else{
15
- name='http://';
16
- }
17
- name+=config.get('host');
18
- let proxyPort = InitENV.getProxyPort(config);
19
- if(proxyPort !== 80){
20
- name+= (':'+proxyPort);
4
+ module.exports = class InitENV {
5
+ static getProxyPort(config) {
6
+ return parseInt(config.get("proxy:port") || config.get("port"));
21
7
  }
22
- return name;
23
- }
24
8
 
25
-
26
- async run({config, options, master}) {
27
- log.info('Setting up server environment variables...');
28
- await ADDS.run('env.pre', {config, options, master});
29
- config.set('staticPath', master.getAbsolutePath(config.get('path:static') || 'static'));
30
- config.set('modulesPath', master.getAbsolutePath(config.get('path:modules') || 'modules'));
31
- config.set('dbDumpsPath', master.getAbsolutePath(config.get('path:dbDumps') || '../../db.dumps'));
32
- config.set('appPath', options.pathToApp);
33
- config.set('npmPath', options.pathToNPM);
34
- config.set('fullServerName', InitENV.getFullServerName(config));
35
- if(config.get('path:ws')){
36
- log.log('wsPath', master.getAbsolutePath(config.get('path:ws')));
37
- config.set('wsPath', master.getAbsolutePath(config.get('path:ws')));
9
+ static getFullServerName(config) {
10
+ let name = "";
11
+ if (config.get("proxy:secure") === true) {
12
+ name = "https://";
13
+ } else {
14
+ name = "http://";
15
+ }
16
+ name += config.get("host");
17
+ let proxyPort = InitENV.getProxyPort(config);
18
+ if (proxyPort !== 80) {
19
+ name += ":" + proxyPort;
20
+ }
21
+ return name;
38
22
  }
39
- await ADDS.run('env.post', {config, options, master});
40
- }
41
23
 
24
+ async run({ config, options, master }) {
25
+ log.info("Setting up server environment variables...");
26
+ await ADDS.run("env.pre", { config, options, master });
27
+ config.set(
28
+ "staticPath",
29
+ master.getAbsolutePath(config.get("path:static") || "static")
30
+ );
31
+ config.set(
32
+ "modulesPath",
33
+ master.getAbsolutePath(config.get("path:modules") || "modules")
34
+ );
35
+ config.set(
36
+ "dbDumpsPath",
37
+ master.getAbsolutePath(
38
+ config.get("path:dbDumps") || "../../db.dumps"
39
+ )
40
+ );
41
+ config.set("appPath", options.pathToApp);
42
+ config.set("npmPath", options.pathToNPM);
43
+ config.set("fullServerName", InitENV.getFullServerName(config));
44
+ if (config.get("path:ws")) {
45
+ log.log("wsPath", master.getAbsolutePath(config.get("path:ws")));
46
+ config.set("wsPath", master.getAbsolutePath(config.get("path:ws")));
47
+ }
48
+ await ADDS.run("env.post", { config, options, master });
49
+ }
42
50
  };
@@ -1,24 +1,21 @@
1
+ const emit = require("./additional").run;
2
+ const Log = require("not-log")(module, "not-node//init");
1
3
 
2
- const emit = require('./additional').run;
3
- const Log = require('not-log')(module, 'not-node//init');
4
-
5
- module.exports = class InitExpress{
6
-
7
- static requestLogging({/*config, options, */master}){
8
- master.getServer().use((req, res, next) => {
9
- Log.log(req.ip, req.method, req.url);
10
- return next();
11
- });
12
- }
13
-
14
- async run({options, config, master}) {
15
- Log.info('Init express app...');
16
- await emit('express.pre', {options, config, master});
17
- //express
18
- const express = require('express');
19
- master.setServer(express());
20
- InitExpress.requestLogging({options, config, master});
21
- await emit('express.post', {options, config, master});
22
- }
4
+ module.exports = class InitExpress {
5
+ static requestLogging({ /*config, options, */ master }) {
6
+ master.getServer().use((req, res, next) => {
7
+ Log.log(req.ip, req.method, req.url);
8
+ return next();
9
+ });
10
+ }
23
11
 
12
+ async run({ options, config, master }) {
13
+ Log.info("Init express app...");
14
+ await emit("express.pre", { options, config, master });
15
+ //express
16
+ const express = require("express");
17
+ master.setServer(express());
18
+ InitExpress.requestLogging({ options, config, master });
19
+ await emit("express.post", { options, config, master });
20
+ }
24
21
  };
@@ -1,12 +1,10 @@
1
1
  module.exports = class InitFileupload {
2
- async run({ /*options, config,*/
3
- master
4
- }) {
5
- const fileUpload = require('express-fileupload');
6
- master.getServer().use(
7
- fileUpload({
8
- createParentPath: true
9
- })
10
- );
11
- }
2
+ async run({ /*options, config,*/ master }) {
3
+ const fileUpload = require("express-fileupload");
4
+ master.getServer().use(
5
+ fileUpload({
6
+ createParentPath: true,
7
+ })
8
+ );
9
+ }
12
10
  };
package/src/init/http.js CHANGED
@@ -1,55 +1,73 @@
1
- const log = require('not-log')(module, 'not-node//init');
2
- const fs = require('fs');
3
- const ADDS = require('./additional');
1
+ const log = require("not-log")(module, "not-node//init");
2
+ const fs = require("fs");
3
+ const ADDS = require("./additional");
4
4
 
5
- module.exports = class InitHTTP{
6
-
7
- listenPromise({config, master}){
8
- return new Promise((resolve, reject)=>{
9
- master.getHTTPServer().listen(config.get('port'), (err) => {
10
- if(err){reject(err);}
11
- log.info('Server listening on port ' + config.get('port') + '.' + (InitHTTP.isSecure({config})?' For secure connections':''));
12
- resolve();
13
- });
14
- });
15
- }
16
-
17
- static getSSLOptions({config}){
18
- return {
19
- key: fs.readFileSync(config.get('ssl:keys:private'), {encoding: 'utf-8'}),
20
- cert: fs.readFileSync(config.get('ssl:keys:cert'), {encoding: 'utf-8'}), //fullchain
21
- ca: fs.readFileSync(config.get('ssl:keys:chain'), {encoding: 'utf-8'})
22
- };
23
- }
5
+ module.exports = class InitHTTP {
6
+ listenPromise({ config, master }) {
7
+ return new Promise((resolve, reject) => {
8
+ master.getHTTPServer().listen(config.get("port"), (err) => {
9
+ if (err) {
10
+ reject(err);
11
+ }
12
+ log.info(
13
+ "Server listening on port " +
14
+ config.get("port") +
15
+ "." +
16
+ (InitHTTP.isSecure({ config })
17
+ ? " For secure connections"
18
+ : "")
19
+ );
20
+ resolve();
21
+ });
22
+ });
23
+ }
24
24
 
25
- async runHTTPS({config, master}){
26
- log.info('Setting up HTTPS server...');
27
- const https = require('https');
28
- master.getServer().set('protocol', 'https');
29
- master.setHTTPServer(https.createServer(InitHTTP.getSSLOptions({config}), master.getServer()));
30
- await this.listenPromise({config, master});
31
- }
25
+ static getSSLOptions({ config }) {
26
+ return {
27
+ key: fs.readFileSync(config.get("ssl:keys:private"), {
28
+ encoding: "utf-8",
29
+ }),
30
+ cert: fs.readFileSync(config.get("ssl:keys:cert"), {
31
+ encoding: "utf-8",
32
+ }), //fullchain
33
+ ca: fs.readFileSync(config.get("ssl:keys:chain"), {
34
+ encoding: "utf-8",
35
+ }),
36
+ };
37
+ }
32
38
 
33
- async runHTTP({config, master}){
34
- log.info('Setting up HTTP server...');
35
- const http = require('http');
36
- master.getServer().set('protocol', 'http');
37
- master.setHTTPServer(http.createServer(master.getServer()));
38
- await this.listenPromise({config, master});
39
- }
39
+ async runHTTPS({ config, master }) {
40
+ log.info("Setting up HTTPS server...");
41
+ const https = require("https");
42
+ master.getServer().set("protocol", "https");
43
+ master.setHTTPServer(
44
+ https.createServer(
45
+ InitHTTP.getSSLOptions({ config }),
46
+ master.getServer()
47
+ )
48
+ );
49
+ await this.listenPromise({ config, master });
50
+ }
40
51
 
41
- static isSecure({config}){
42
- return config.get('ssl:enabled') === true;
43
- }
52
+ async runHTTP({ config, master }) {
53
+ log.info("Setting up HTTP server...");
54
+ const http = require("http");
55
+ master.getServer().set("protocol", "http");
56
+ master.setHTTPServer(http.createServer(master.getServer()));
57
+ await this.listenPromise({ config, master });
58
+ }
44
59
 
45
- async run({options, config, master}) {
46
- await ADDS.run('http.pre', {options, config, master});
47
- if (InitHTTP.isSecure({config})) {
48
- await this.runHTTPS({options, config, master});
49
- } else {
50
- await this.runHTTP({options, config, master});
60
+ static isSecure({ config }) {
61
+ return config.get("ssl:enabled") === true;
51
62
  }
52
- await ADDS.run('http.post', {options, config, master});
53
- }
54
63
 
64
+ async run({ options, config, master }) {
65
+ await ADDS.run("http.pre", { options, config, master });
66
+ if (InitHTTP.isSecure({ config })) {
67
+ await this.runHTTPS({ options, config, master });
68
+ } else {
69
+ await this.runHTTP({ options, config, master });
70
+ }
71
+ await ADDS.run("http.post", { options, config, master });
72
+ }
55
73
  };
package/src/init/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  //
2
- const os = require('os');
3
- const path = require('path');
4
- const logger = require('not-log');
5
- const log = logger(module, 'not-node:Init');
2
+ const os = require("os");
3
+ const path = require("path");
4
+ const logger = require("not-log");
5
+ const log = logger(module, "not-node:Init");
6
6
 
7
- const Env = require('../env');
7
+ const Env = require("../env");
8
8
  //
9
- const ADDS = require('./additional');
9
+ const ADDS = require("./additional");
10
10
  //
11
- const InitSequence = require('./sequence.js');
12
- const STANDART_INIT_SEQUENCE = require('./sequence.standart.js');
11
+ const InitSequence = require("./sequence.js");
12
+ const STANDART_INIT_SEQUENCE = require("./sequence.standart.js");
13
13
 
14
14
  /**
15
15
  * @example <caption>Application initialization</caption>
@@ -27,147 +27,140 @@ const STANDART_INIT_SEQUENCE = require('./sequence.standart.js');
27
27
  * .expose(ExpressApp);
28
28
  **/
29
29
  class Init {
30
- static options = false;
31
- static manifest = false;
32
- static config = false;
33
- static mongoose = false;
34
- static notApp = false;
35
- static server = false;
36
- static httpServer = false;
37
- static WSServer = false;
38
- static WSClient = false;
39
-
40
-
41
- static getAbsolutePath(subPath) {
42
- return path.resolve(Init.options.pathToApp, subPath);
43
- }
44
-
45
- static setManifest(manifest) {
46
- Init.manifest = manifest;
47
- }
48
-
49
- static getManifest() {
50
- return Init.manifest;
51
- }
52
-
53
- static setMongoose(val) {
54
- Init.mongoose = val;
55
- }
56
-
57
- static getMongoose() {
58
- return Init.mongoose;
59
- }
60
-
61
- static setServer(val) {
62
- Init.server = val;
63
- return Init;
64
- }
65
-
66
- static getServer() {
67
- return Init.server;
68
- }
69
-
70
- static setHTTPServer(val) {
71
- Init.httpServer = val;
72
- return Init;
73
- }
74
-
75
- static getHTTPServer() {
76
- return Init.httpServer;
77
- }
78
-
79
- static setEnv(key, val) {
80
- Env.setEnv(key, val);
81
- }
82
-
83
- static getEnv(key) {
84
- return Env.getEnv(key);
85
- }
86
-
87
- static getApp() {
88
- return Init.notApp;
89
- }
90
-
91
- static setApp(val) {
92
- Init.notApp = val;
93
- return Init;
94
- }
95
-
96
- static initConfig(config = false) {
97
- if (!config) {
98
- Init.config = require('not-config').createReader();
99
- } else {
100
- Init.config = config;
101
- }
102
- }
103
-
104
- static getConfig() {
105
- return Init.config;
106
- }
107
-
108
- static printOutManifest = () => {
109
- log.debug('Manifest:');
110
- log.debug(JSON.stringify(Init.notApp.getManifest(), null, 4));
111
- };
112
-
113
- /**
114
- * Initalization of Application
115
- *
116
- * @param {Object} params hash with few possible object
117
- * @param {Object} params.config nconf like reader {get:(key)=>any, set:(key, value)=>void}
118
- * @param {Object} params.options paths infrastructure options
119
- * @param {Object} params.manifest application manifest
120
- * @param {Object} params.additional pre/mid/post actions for every major step of initialization {stepName: {pre: async()=>void, post: async()=>void, [key: string]=> async()=>void}}
121
- **/
122
-
123
- static async run({
124
- config,
125
- options,
126
- manifest,
127
- additional
128
- }) {
129
- try {
130
- log.info('Kick start app...'+ os.platform()+' '+os.arch());
131
- ADDS.init(additional);
132
- const initSequence = new InitSequence(STANDART_INIT_SEQUENCE);
133
- await ADDS.run('pre', {
134
- config,
135
- options,
136
- manifest,
137
- additional,
138
- initSequence //giving a chance to change init sequence
139
- });
140
- //setting basic resources
141
- Init.options = options; // pathToApp, pathToNPM
142
- Init.setManifest(manifest);
143
- //adopting provided config store or initializing own
144
- Init.initConfig(config);
145
- //creating context for other init runners
146
- const context = {
147
- config: Init.getConfig(), //access to config
148
- options, //options
149
- master: Init //this class
150
- };
151
- //running all prepared initalizers with current context
152
- await initSequence.run(context);
153
- await ADDS.run('post', {
154
- config,
155
- options,
156
- manifest,
157
- master: Init
158
- });
159
- log.info('Application initalization finished');
160
- } catch (e) {
161
- Init.throwError(e.message, 1);
162
- }
163
- }
164
-
165
- static throwError(errMsg = 'Fatal error', errCode = 1) {
166
- log.error(errMsg);
167
- log.log(`Exit process...with code ${errCode}`);
168
- throw new Error(errMsg);
169
- }
30
+ static options = false;
31
+ static manifest = false;
32
+ static config = false;
33
+ static mongoose = false;
34
+ static notApp = false;
35
+ static server = false;
36
+ static httpServer = false;
37
+ static WSServer = false;
38
+ static WSClient = false;
39
+
40
+ static getAbsolutePath(subPath) {
41
+ return path.resolve(Init.options.pathToApp, subPath);
42
+ }
43
+
44
+ static setManifest(manifest) {
45
+ Init.manifest = manifest;
46
+ }
47
+
48
+ static getManifest() {
49
+ return Init.manifest;
50
+ }
51
+
52
+ static setMongoose(val) {
53
+ Init.mongoose = val;
54
+ }
55
+
56
+ static getMongoose() {
57
+ return Init.mongoose;
58
+ }
59
+
60
+ static setServer(val) {
61
+ Init.server = val;
62
+ return Init;
63
+ }
64
+
65
+ static getServer() {
66
+ return Init.server;
67
+ }
68
+
69
+ static setHTTPServer(val) {
70
+ Init.httpServer = val;
71
+ return Init;
72
+ }
73
+
74
+ static getHTTPServer() {
75
+ return Init.httpServer;
76
+ }
77
+
78
+ static setEnv(key, val) {
79
+ Env.setEnv(key, val);
80
+ }
81
+
82
+ static getEnv(key) {
83
+ return Env.getEnv(key);
84
+ }
85
+
86
+ static getApp() {
87
+ return Init.notApp;
88
+ }
89
+
90
+ static setApp(val) {
91
+ Init.notApp = val;
92
+ return Init;
93
+ }
94
+
95
+ static initConfig(config = false) {
96
+ if (!config) {
97
+ Init.config = require("not-config").createReader();
98
+ } else {
99
+ Init.config = config;
100
+ }
101
+ }
102
+
103
+ static getConfig() {
104
+ return Init.config;
105
+ }
106
+
107
+ static printOutManifest = () => {
108
+ log.debug("Manifest:");
109
+ log.debug(JSON.stringify(Init.notApp.getManifest(), null, 4));
110
+ };
111
+
112
+ /**
113
+ * Initalization of Application
114
+ *
115
+ * @param {Object} params hash with few possible object
116
+ * @param {Object} params.config nconf like reader {get:(key)=>any, set:(key, value)=>void}
117
+ * @param {Object} params.options paths infrastructure options
118
+ * @param {Object} params.manifest application manifest
119
+ * @param {Object} params.additional pre/mid/post actions for every major step of initialization {stepName: {pre: async()=>void, post: async()=>void, [key: string]=> async()=>void}}
120
+ **/
121
+
122
+ static async run({ config, options, manifest, additional }) {
123
+ try {
124
+ log.info("Kick start app..." + os.platform() + " " + os.arch());
125
+ ADDS.init(additional);
126
+ const initSequence = new InitSequence(STANDART_INIT_SEQUENCE);
127
+ await ADDS.run("pre", {
128
+ config,
129
+ options,
130
+ manifest,
131
+ additional,
132
+ initSequence, //giving a chance to change init sequence
133
+ });
134
+ //setting basic resources
135
+ Init.options = options; // pathToApp, pathToNPM
136
+ Init.setManifest(manifest);
137
+ //adopting provided config store or initializing own
138
+ Init.initConfig(config);
139
+ //creating context for other init runners
140
+ const context = {
141
+ config: Init.getConfig(), //access to config
142
+ options, //options
143
+ master: Init, //this class
144
+ };
145
+ //running all prepared initalizers with current context
146
+ await initSequence.run(context);
147
+ await ADDS.run("post", {
148
+ config,
149
+ options,
150
+ manifest,
151
+ master: Init,
152
+ });
153
+ log.info("Application initalization finished");
154
+ } catch (e) {
155
+ Init.throwError(e.message, 1);
156
+ }
157
+ }
170
158
 
159
+ static throwError(errMsg = "Fatal error", errCode = 1) {
160
+ log.error(errMsg);
161
+ log.log(`Exit process...with code ${errCode}`);
162
+ throw new Error(errMsg);
163
+ }
171
164
  }
172
165
 
173
166
  module.exports.Init = Init;
@@ -1,11 +1,9 @@
1
- const log = require('not-log')(module, 'not-node//init');
1
+ const log = require("not-log")(module, "not-node//init");
2
2
 
3
- module.exports = class InitInformer{
4
- async run({master}){
5
- log.log('try to create informer');
6
- const {
7
- Inform
8
- } = require('not-inform');
9
- master.getApp().informer = new Inform();
10
- }
3
+ module.exports = class InitInformer {
4
+ async run({ master }) {
5
+ log.log("try to create informer");
6
+ const { Inform } = require("not-inform");
7
+ master.getApp().informer = new Inform();
8
+ }
11
9
  };
@@ -1,8 +1,6 @@
1
1
  module.exports = class InitMethodOverride {
2
- async run({ /*options, config,*/
3
- master
4
- }) {
5
- const methodOverride = require('method-override');
6
- master.getServer().use(methodOverride());
7
- }
2
+ async run({ /*options, config,*/ master }) {
3
+ const methodOverride = require("method-override");
4
+ master.getServer().use(methodOverride());
5
+ }
8
6
  };