not-node 6.0.7 → 6.1.0

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 (179) hide show
  1. package/bin/not-builder.js +418 -293
  2. package/bin/not-cli.mjs +369 -0
  3. package/index.js +6 -0
  4. package/package.json +133 -128
  5. package/playground/.babelrc +11 -0
  6. package/playground/.eslintignore +4 -0
  7. package/playground/.eslintrc.json +23 -0
  8. package/playground/app/front/index.!.js +64 -0
  9. package/playground/app/front/rollup.!.js +70 -0
  10. package/playground/app/front/src/admin/main/index.js +45 -0
  11. package/playground/app/front/src/client/main/index.js +45 -0
  12. package/playground/app/front/src/common/index.js +39 -0
  13. package/playground/app/front/src/common/ncInit.js +18 -0
  14. package/playground/app/front/src/common/ws.client.main.js +35 -0
  15. package/playground/app/front/src/guest/main/index.js +34 -0
  16. package/playground/app/front/src/root/main/index.js +45 -0
  17. package/playground/app/front/src/user/main/index.js +45 -0
  18. package/playground/app/server/app.js +22 -0
  19. package/playground/app/server/config/common.json +53 -0
  20. package/playground/app/server/config/development.json +34 -0
  21. package/playground/app/server/config/production.json +34 -0
  22. package/playground/app/server/config/stage.json +34 -0
  23. package/playground/app/server/index.js +20 -0
  24. package/playground/app/server/routes/index.js +36 -0
  25. package/playground/app/server/routes/site.js +71 -0
  26. package/playground/app/server/views/admin/foot.pug +1 -0
  27. package/playground/app/server/views/admin/head.pug +7 -0
  28. package/playground/app/server/views/admin/menu.pug +2 -0
  29. package/playground/app/server/views/admin.pug +19 -0
  30. package/playground/app/server/views/dashboard.pug +20 -0
  31. package/playground/app/server/views/index.pug +15 -0
  32. package/playground/app/server/views/parts/header.android.pug +7 -0
  33. package/playground/app/server/views/parts/header.ios.pug +5 -0
  34. package/playground/app/server/views/parts/header.pug +18 -0
  35. package/playground/app/server/views/parts/menu.pug +1 -0
  36. package/playground/app/server/views/parts/overview.pug +2 -0
  37. package/playground/app/server/ws/auth.js +41 -0
  38. package/playground/app/server/ws/index.js +84 -0
  39. package/playground/bin/build.sh +8 -0
  40. package/playground/package.json +66 -0
  41. package/playground/project.manifest.json +34 -0
  42. package/src/app.js +3 -3
  43. package/src/cli/const.mjs +71 -0
  44. package/src/cli/readers/AppDescription.mjs +14 -0
  45. package/src/cli/readers/AppName.mjs +14 -0
  46. package/src/cli/readers/ModelName.mjs +14 -0
  47. package/src/cli/readers/ModuleName.mjs +14 -0
  48. package/src/cli/readers/actions.mjs +25 -0
  49. package/src/cli/readers/appName.mjs +14 -0
  50. package/src/cli/readers/cors.mjs +12 -0
  51. package/src/cli/readers/db/ioredis.mjs +3 -0
  52. package/src/cli/readers/db/mongoose.mjs +61 -0
  53. package/src/cli/readers/db/redis.mjs +3 -0
  54. package/src/cli/readers/db.mjs +30 -0
  55. package/src/cli/readers/entityData.mjs +44 -0
  56. package/src/cli/readers/entityLayers.mjs +21 -0
  57. package/src/cli/readers/fields.mjs +13 -0
  58. package/src/cli/readers/filter.mjs +34 -0
  59. package/src/cli/readers/hostname.mjs +23 -0
  60. package/src/cli/readers/index.mjs +86 -0
  61. package/src/cli/readers/init_root_user.mjs +55 -0
  62. package/src/cli/readers/isUserNeedCreateEntity.mjs +14 -0
  63. package/src/cli/readers/isUserNeedCreateServerModule.mjs +14 -0
  64. package/src/cli/readers/isUserNeedFrontModuleBootstrap.mjs +14 -0
  65. package/src/cli/readers/modelIncrement.mjs +32 -0
  66. package/src/cli/readers/modelIncrementFilter.mjs +49 -0
  67. package/src/cli/readers/modelOptions.mjs +61 -0
  68. package/src/cli/readers/modelValidators.mjs +14 -0
  69. package/src/cli/readers/modelVersioning.mjs +14 -0
  70. package/src/cli/readers/moduleLayers.mjs +25 -0
  71. package/src/cli/readers/modules.mjs +19 -0
  72. package/src/cli/readers/not_node_monitor.mjs +48 -0
  73. package/src/cli/readers/not_node_reporter.mjs +42 -0
  74. package/src/cli/readers/port.mjs +14 -0
  75. package/src/cli/readers/roles.mjs +25 -0
  76. package/src/cli/readers/rolesSecondary.mjs +14 -0
  77. package/src/cli/readers/secret.mjs +21 -0
  78. package/src/cli/readers/session.mjs +55 -0
  79. package/src/cli/readers/ssl.mjs +38 -0
  80. package/src/cli/readers/user.mjs +62 -0
  81. package/src/cli/readers/ws.mjs +35 -0
  82. package/src/cli/renderers/controllers.mjs +26 -0
  83. package/src/cli/renderers/controllersCommons.mjs +42 -0
  84. package/src/cli/renderers/controllersIndex.mjs +18 -0
  85. package/src/cli/renderers/fields.mjs +1 -0
  86. package/src/cli/renderers/forms.mjs +43 -0
  87. package/src/cli/renderers/frontModuleGuestMain.mjs +10 -0
  88. package/src/cli/renderers/frontModuleRoleMain.mjs +10 -0
  89. package/src/cli/renderers/index.mjs +29 -0
  90. package/src/cli/renderers/logics.mjs +17 -0
  91. package/src/cli/renderers/models.mjs +16 -0
  92. package/src/cli/renderers/routes.mjs +31 -0
  93. package/src/domain.js +8 -9
  94. package/src/headers.js +17 -0
  95. package/src/identity/identity.js +0 -1
  96. package/src/init/index.js +1 -0
  97. package/src/init/lib/app.js +5 -7
  98. package/src/init/lib/modules.js +2 -1
  99. package/src/init/lib/routes.js +1 -0
  100. package/src/manifest/module.js +6 -20
  101. package/src/metas.js +34 -0
  102. package/src/styler.js +38 -0
  103. package/tmpl/dirs/app.mjs +32 -0
  104. package/tmpl/dirs/front.mjs +12 -0
  105. package/tmpl/dirs/module.front.mjs +19 -0
  106. package/tmpl/dirs/module.server.controllers.common.mjs +7 -0
  107. package/tmpl/dirs/module.server.mjs +14 -0
  108. package/tmpl/dirs/server.mjs +127 -0
  109. package/tmpl/dirs/static.mjs +9 -0
  110. package/tmpl/files/app/.babelrc +11 -0
  111. package/tmpl/files/app/.eslintignore +4 -0
  112. package/tmpl/files/app/.eslintrc.json +23 -0
  113. package/tmpl/files/app/app.ejs +22 -0
  114. package/tmpl/files/app/build.sh +8 -0
  115. package/tmpl/files/app/config/common.ejs +131 -0
  116. package/tmpl/files/app/config/other.ejs +34 -0
  117. package/tmpl/files/app/deploy.pm2.ejs +23 -0
  118. package/tmpl/files/app/env.ejs +16 -0
  119. package/tmpl/files/app/front/build.env.ejs +7 -0
  120. package/tmpl/files/app/front/index.!.ejs +66 -0
  121. package/tmpl/files/app/front/rollup.!.ejs +70 -0
  122. package/tmpl/files/app/index.ejs +20 -0
  123. package/tmpl/files/app/package.ejs +66 -0
  124. package/tmpl/files/app/project.manifest.ejs +23 -0
  125. package/tmpl/files/app/routes/index.ejs +36 -0
  126. package/tmpl/files/app/routes/site.ejs +71 -0
  127. package/tmpl/files/app/views/admin/foot.ejs +1 -0
  128. package/tmpl/files/app/views/admin/head.ejs +7 -0
  129. package/tmpl/files/app/views/admin/menu.ejs +2 -0
  130. package/tmpl/files/app/views/admin.ejs +19 -0
  131. package/tmpl/files/app/views/dashboard.ejs +20 -0
  132. package/tmpl/files/app/views/index.ejs +15 -0
  133. package/tmpl/files/app/views/parts/header.android.ejs +7 -0
  134. package/tmpl/files/app/views/parts/header.ejs +18 -0
  135. package/tmpl/files/app/views/parts/header.ios.ejs +5 -0
  136. package/tmpl/files/app/views/parts/menu.ejs +1 -0
  137. package/tmpl/files/app/views/parts/overview.ejs +2 -0
  138. package/tmpl/files/app/ws/auth.ejs +41 -0
  139. package/tmpl/files/app/ws/index.ejs +84 -0
  140. package/tmpl/files/module.front/common/index.ejs +39 -0
  141. package/tmpl/files/module.front/common/ncInit.ejs +18 -0
  142. package/tmpl/files/module.front/common/ws.client.main.ejs +35 -0
  143. package/tmpl/files/module.front/role/guest.index.ejs +45 -0
  144. package/tmpl/files/module.front/role/index.ejs +34 -0
  145. package/tmpl/files/module.server/const.ejs +1 -0
  146. package/{scaffold/base.js → tmpl/files/module.server/extractor.ejs} +0 -0
  147. package/tmpl/files/module.server/index.ejs +8 -0
  148. package/tmpl/files/module.server/layers/controllers/common/crud.ejs +95 -0
  149. package/tmpl/files/module.server/layers/controllers/common/index.ejs +59 -0
  150. package/tmpl/files/module.server/layers/controllers/common/validators.ejs +44 -0
  151. package/tmpl/files/module.server/layers/controllers/common/ws.client.ejs +25 -0
  152. package/tmpl/files/module.server/layers/controllers/role/crud.ejs +11 -0
  153. package/tmpl/files/module.server/layers/controllers/role/index.ejs +29 -0
  154. package/tmpl/files/module.server/layers/fields.ejs +30 -0
  155. package/tmpl/files/module.server/layers/forms/_data.ejs +35 -0
  156. package/tmpl/files/module.server/layers/forms/create.ejs +47 -0
  157. package/tmpl/files/module.server/layers/forms/delete.ejs +8 -0
  158. package/tmpl/files/module.server/layers/forms/get.ejs +8 -0
  159. package/tmpl/files/module.server/layers/forms/getRaw.ejs +8 -0
  160. package/tmpl/files/module.server/layers/forms/listAll.ejs +8 -0
  161. package/tmpl/files/module.server/layers/forms/listAndCount.ejs +8 -0
  162. package/tmpl/files/module.server/layers/forms/update.ejs +40 -0
  163. package/tmpl/files/module.server/layers/forms/validator.ejs +32 -0
  164. package/tmpl/files/module.server/layers/forms.ejs +49 -0
  165. package/tmpl/files/module.server/layers/locales.ejs +3 -0
  166. package/tmpl/files/module.server/layers/logics.ejs +73 -0
  167. package/tmpl/files/module.server/layers/models.ejs +68 -0
  168. package/tmpl/files/module.server/layers/routes.ejs +50 -0
  169. package/tmpl/files/module.server/layers/routes.manifest.ejs +211 -0
  170. package/tmpl/files/module.server/layers/routes.ws.ejs +29 -0
  171. package/tmpl/files/module.server/validationEnv.ejs +5 -0
  172. package/tmpl/files/notComponent.ejs +57 -0
  173. package/tmpl/files/notService.ejs +39 -0
  174. package/scaffold/field.js +0 -0
  175. package/scaffold/form.js +0 -0
  176. package/scaffold/logic.js +0 -0
  177. package/scaffold/model.js +0 -0
  178. package/scaffold/module.js +0 -0
  179. package/scaffold/route.js +0 -0
@@ -0,0 +1,23 @@
1
+ {
2
+ "parserOptions": {
3
+ "ecmaVersion": 10,
4
+ "sourceType": "module"
5
+ },
6
+ "env": {
7
+ "browser": true,
8
+ "es6": true,
9
+ "node": true,
10
+ "mongo": true,
11
+ "mocha": true
12
+ },
13
+ "globals": {
14
+ "ENV": true
15
+ },
16
+ "extends": "eslint:recommended",
17
+ "rules": {
18
+ "indent": "error",
19
+ "linebreak-style": ["error", "unix"],
20
+ "semi": ["error", "always"],
21
+ "no-useless-escape": [0]
22
+ }
23
+ }
@@ -0,0 +1,64 @@
1
+
2
+
3
+ import {
4
+ Frame
5
+ } from 'not-bulma';
6
+
7
+ const {notCommon, notApp, COMPONENTS} = Frame;
8
+
9
+ notCommon.register('backlog', true);
10
+ window.dumpBacklog = notCommon.dumpBacklog.bind(notCommon);
11
+
12
+ let appDefaultOptions = {
13
+ manifestURL: '/api/manifest',
14
+ router: {
15
+ root: '/',
16
+ manifest: [],
17
+ index: ''
18
+ },
19
+ language: 'ru',
20
+ crud: {
21
+ navigateBackAfter: ['create', 'update', 'delete']
22
+ },
23
+ modules: {
24
+ user: {
25
+ redirectTimout: 1000,
26
+ afterLoginURL: '/dashboard',
27
+ loginForm: {
28
+ modes: [
29
+ 'login',
30
+ 'requestLoginCodeOnEmail',
31
+ 'loginByCode'
32
+ ]
33
+ },
34
+ loginFormContainerSelector: '.main-container',
35
+ restoreFormContainerSelector: '.main-container',
36
+ registerFormContainerSelector: '.main-container'
37
+ }
38
+ }
39
+ };
40
+
41
+ let services = {}, uis = {}, wsc = {}, fields = {};
42
+
43
+ <% for(var i = 0; i < mods.length; i++) { %>
44
+ import * as mod_<%= i %>
45
+ from '<%= mods[i] %>';
46
+ appDefaultOptions = notCommon.absorbModule({
47
+ defaultConf: appDefaultOptions,
48
+ mod: mod_<%= i %>,
49
+ services, uis, wsc, fields
50
+ });
51
+ <% } %>
52
+
53
+ COMPONENTS.import(uis);
54
+
55
+ import 'bulma';
56
+
57
+ <% for(var i = 0; i < scss.length; i++) { %>
58
+ import '<%= scss[i] %>';
59
+ <% } %>
60
+
61
+ appDefaultOptions.services = services;
62
+ appDefaultOptions.wsc = wsc;
63
+
64
+ notCommon.startApp(() => new notApp(appDefaultOptions));
@@ -0,0 +1,70 @@
1
+ // Rollup plugins
2
+ import babel from "@rollup/plugin-babel";
3
+ import commonjs from "@rollup/plugin-commonjs";
4
+ import svelte from "rollup-plugin-svelte";
5
+ import resolve from "@rollup/plugin-node-resolve";
6
+ import filesize from "rollup-plugin-filesize";
7
+ import sizes from "rollup-plugin-sizes";
8
+ import postcss from "rollup-plugin-postcss";
9
+ import json from "@rollup/plugin-json";
10
+
11
+ import { babelOn } from "./build.env.js";
12
+
13
+ export default {
14
+ input: "<%= inputPath %>",
15
+ output: {
16
+ file: "<%= outputPath %>",
17
+ name: "<%= appName %>",
18
+ format: "iife",
19
+ sourcemap:
20
+ false && (process.env.NODE_ENV === "production" ? false : "inline"),
21
+ },
22
+ plugins: [
23
+ json(),
24
+ svelte({
25
+ emitCss: true,
26
+ }),
27
+ resolve({
28
+ browser: true,
29
+ preferBuiltins: true,
30
+ dedupe: (importee) =>
31
+ importee === "svelte" || importee.startsWith("svelte/"),
32
+ }),
33
+ commonjs({}),
34
+ postcss({
35
+ extract: true,
36
+ minimize: true,
37
+ use: [
38
+ [
39
+ "sass",
40
+ {
41
+ includePaths: ["./src/styles/theme", "./node_modules"],
42
+ },
43
+ ],
44
+ ],
45
+ }),
46
+ babelOn() &&
47
+ babel({
48
+ presets: [
49
+ [
50
+ "@babel/preset-env",
51
+ {
52
+ corejs: 3,
53
+ modules: false,
54
+ useBuiltIns: "usage",
55
+ targets: "> 2.5%, not dead",
56
+ },
57
+ ],
58
+ ],
59
+ babelHelpers: "bundled",
60
+ plugins: [
61
+ "@babel/plugin-proposal-class-properties",
62
+ "@babel/plugin-proposal-private-methods",
63
+ "@babel/transform-arrow-functions",
64
+ ],
65
+ exclude: ["node_modules/**", "build/**"],
66
+ }),
67
+ sizes(),
68
+ filesize(),
69
+ ],
70
+ };
@@ -0,0 +1,45 @@
1
+ import ncInit from "../../common/ncInit";
2
+
3
+ let manifest = {
4
+ environment: "guest",
5
+ router: {
6
+ manifest: [],
7
+ },
8
+ crud: {
9
+ containerSelector: ".main-container",
10
+ },
11
+ modules: {
12
+ user: {
13
+ loginFormContainerSelector: ".main-container",
14
+ registerFormContainerSelector: ".main-container",
15
+ },
16
+ },
17
+ initController: ncInit,
18
+ menu: {
19
+ top: {
20
+ toggleSelector: ".navbar-burger",
21
+ sections: [],
22
+ items: [
23
+ {
24
+ title: "Вход",
25
+ url: "/login",
26
+ priority: 10,
27
+ showOnTouch: true,
28
+ type: "button",
29
+ place: "start",
30
+ } , {
31
+ id: 'register',
32
+ title: 'Регистрация',
33
+ url: '/register',
34
+ type: 'button',
35
+ priority: 11,
36
+ showOnTouch:true,
37
+ place: 'start'
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ };
43
+
44
+
45
+ export { ncInit, manifest };
@@ -0,0 +1,45 @@
1
+ import ncInit from "../../common/ncInit";
2
+
3
+ let manifest = {
4
+ environment: "guest",
5
+ router: {
6
+ manifest: [],
7
+ },
8
+ crud: {
9
+ containerSelector: ".main-container",
10
+ },
11
+ modules: {
12
+ user: {
13
+ loginFormContainerSelector: ".main-container",
14
+ registerFormContainerSelector: ".main-container",
15
+ },
16
+ },
17
+ initController: ncInit,
18
+ menu: {
19
+ top: {
20
+ toggleSelector: ".navbar-burger",
21
+ sections: [],
22
+ items: [
23
+ {
24
+ title: "Вход",
25
+ url: "/login",
26
+ priority: 10,
27
+ showOnTouch: true,
28
+ type: "button",
29
+ place: "start",
30
+ } , {
31
+ id: 'register',
32
+ title: 'Регистрация',
33
+ url: '/register',
34
+ type: 'button',
35
+ priority: 11,
36
+ showOnTouch:true,
37
+ place: 'start'
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ };
43
+
44
+
45
+ export { ncInit, manifest };
@@ -0,0 +1,39 @@
1
+
2
+ import main from './ws.client.main.js';
3
+
4
+
5
+ let manifest = {
6
+ brand: {
7
+ icon: {
8
+ src: '/img/icons/icon-w-64.png',
9
+ width: 48,
10
+ height: 28
11
+ },
12
+ title: 'notNodeApplication',
13
+ url: '/'
14
+ },
15
+ modules:{
16
+
17
+ ws:{
18
+ clients:{
19
+ //options for ws client here
20
+ main: {
21
+ host: window.location.hostname,
22
+ path: 'websocket',
23
+ secure: true,
24
+ ssl: true
25
+ }
26
+ }
27
+ }
28
+
29
+ }
30
+ };
31
+
32
+ const wsc = {
33
+ main
34
+ };
35
+
36
+ export {
37
+ manifest,
38
+ wsc
39
+ };
@@ -0,0 +1,18 @@
1
+ import { Frame } from 'not-bulma';
2
+
3
+ const {
4
+ notSideMenu, notTopMenu,
5
+ notController} = Frame;
6
+
7
+ class ncInit extends notController {
8
+ constructor(app) {
9
+ super(app);
10
+ this.setModuleName('init');
11
+ this.log('init app');
12
+ notSideMenu.render(app);
13
+ notTopMenu.render(app);
14
+ return this;
15
+ }
16
+ }
17
+
18
+ export default ncInit;
@@ -0,0 +1,35 @@
1
+ import {notCommon} from 'not-bulma';
2
+ const logger = notCommon.createLogger(`WSClient(main)`);
3
+
4
+ const main = {
5
+ logger: logger,
6
+ getToken: () => {
7
+ return notCommon.getApp().getModel('user', {}).$token({})
8
+ .then((res) => {
9
+ logger.log('token', res.result.token);
10
+ notCommon.getApp().setWorking('token', res.result.token);
11
+ return res.result.token;
12
+ });
13
+ },
14
+ messenger: {
15
+ validateTypeAndName: false,
16
+ secure: false,//not secure, bc its not issuing tokens and has no secret key
17
+ types: {
18
+ '__service': ['updateToken'],
19
+ 'request': [],
20
+ 'response': [],
21
+ 'event': []
22
+ },
23
+ },
24
+ router:{
25
+ routes:{
26
+ event: {
27
+ notification(){
28
+ console.log(...arguments);
29
+ }
30
+ }
31
+ }
32
+ }
33
+ };
34
+
35
+ export default main;
@@ -0,0 +1,34 @@
1
+ import ncInit from "../../common/ncInit";
2
+
3
+ let manifest = {
4
+ environment: "client",
5
+ router: {
6
+ root: "/dashboard",
7
+ manifest: [],
8
+ },
9
+ crud: {
10
+ containerSelector: ".main-container",
11
+ },
12
+ modules: {
13
+ user: {},
14
+ },
15
+ brand: {
16
+ icon: {
17
+ src: "/img/icons/icon-w-64.png",
18
+ width: 48,
19
+ height: 28,
20
+ },
21
+ url: "/",
22
+ },
23
+ menu: {
24
+ side: {
25
+ sections: [],
26
+ },
27
+ top: {
28
+ sections: [],
29
+ },
30
+ },
31
+ initController: ncInit,
32
+ };
33
+
34
+ export { ncInit, manifest };
@@ -0,0 +1,45 @@
1
+ import ncInit from "../../common/ncInit";
2
+
3
+ let manifest = {
4
+ environment: "guest",
5
+ router: {
6
+ manifest: [],
7
+ },
8
+ crud: {
9
+ containerSelector: ".main-container",
10
+ },
11
+ modules: {
12
+ user: {
13
+ loginFormContainerSelector: ".main-container",
14
+ registerFormContainerSelector: ".main-container",
15
+ },
16
+ },
17
+ initController: ncInit,
18
+ menu: {
19
+ top: {
20
+ toggleSelector: ".navbar-burger",
21
+ sections: [],
22
+ items: [
23
+ {
24
+ title: "Вход",
25
+ url: "/login",
26
+ priority: 10,
27
+ showOnTouch: true,
28
+ type: "button",
29
+ place: "start",
30
+ } , {
31
+ id: 'register',
32
+ title: 'Регистрация',
33
+ url: '/register',
34
+ type: 'button',
35
+ priority: 11,
36
+ showOnTouch:true,
37
+ place: 'start'
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ };
43
+
44
+
45
+ export { ncInit, manifest };
@@ -0,0 +1,45 @@
1
+ import ncInit from "../../common/ncInit";
2
+
3
+ let manifest = {
4
+ environment: "guest",
5
+ router: {
6
+ manifest: [],
7
+ },
8
+ crud: {
9
+ containerSelector: ".main-container",
10
+ },
11
+ modules: {
12
+ user: {
13
+ loginFormContainerSelector: ".main-container",
14
+ registerFormContainerSelector: ".main-container",
15
+ },
16
+ },
17
+ initController: ncInit,
18
+ menu: {
19
+ top: {
20
+ toggleSelector: ".navbar-burger",
21
+ sections: [],
22
+ items: [
23
+ {
24
+ title: "Вход",
25
+ url: "/login",
26
+ priority: 10,
27
+ showOnTouch: true,
28
+ type: "button",
29
+ place: "start",
30
+ } , {
31
+ id: 'register',
32
+ title: 'Регистрация',
33
+ url: '/register',
34
+ type: 'button',
35
+ priority: 11,
36
+ showOnTouch:true,
37
+ place: 'start'
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ };
43
+
44
+
45
+ export { ncInit, manifest };
@@ -0,0 +1,22 @@
1
+ const notNode = require("not-node");
2
+
3
+ const Init = require("not-node").Init,
4
+ path = require("path"),
5
+ manifest = require("./../../project.manifest.json");
6
+
7
+ module.exports = () => {
8
+ const options = {
9
+ pathToApp: path.join(__dirname),
10
+ pathToNPM: path.join(__dirname, "../../node_modules"),
11
+ routesPath: path.join(__dirname, "./routes"),
12
+ indexRoute: require("./routes/site.js").index,
13
+ };
14
+
15
+ const additional = {
16
+ pre({ initSequence }) {
17
+ initSequence.remove("InitMonitoring");
18
+ },
19
+ };
20
+
21
+ Init.run({ options, manifest, additional });
22
+ };
@@ -0,0 +1,53 @@
1
+ {
2
+ "port": 3000,
3
+ "host": "https://localhost",
4
+ "cors": [""],
5
+ "template": {
6
+ "engine": "pug",
7
+ "views": "views",
8
+ "partialsDir": "partials",
9
+ "partials": {}
10
+ },
11
+
12
+ "db": {
13
+
14
+
15
+ "redis": {},
16
+
17
+
18
+ "ioredis": {
19
+ "enableOfflineQueue": false
20
+ }
21
+
22
+ },
23
+
24
+
25
+
26
+ "path": {
27
+ "static": "../static",
28
+ "app": "/client",
29
+ "dbDumps": "../../../db.dumps",
30
+ "front": "../front/build",
31
+ "ws": "./ws"
32
+ },
33
+ "defaultUserRole": "user",
34
+ "modules": {
35
+
36
+
37
+
38
+
39
+ "rateLimiter": {
40
+ "keyPrefix": "rateLimiterMiddleware",
41
+ "points": 500,
42
+ "duration": 1
43
+ }
44
+
45
+ },
46
+ "middleware": {
47
+ "not-options": {},"not-filter": {},"not-inform": {},"not-inform-rule-tag": {},"not-inform-sink-email": {},"not-inform-sink-ws": {},"not-key": {},"not-ws": {},"not-store": {},"not-dbdump": {},"not-user": {},"not-error": {}
48
+ },
49
+ "importModulesFromNPM": [
50
+ "not-options","not-filter","not-inform","not-inform-rule-tag","not-inform-sink-email","not-inform-sink-ws","not-key","not-ws","not-store","not-dbdump","not-user","not-error"
51
+ ]
52
+ }
53
+
@@ -0,0 +1,34 @@
1
+ {
2
+ "hostname":"https://localhost",
3
+ "CSP": {
4
+ "connect": [
5
+ "'self'",
6
+ "*",
7
+ "wss:",
8
+ "https:",
9
+ "'unsafe-inline'"
10
+ ],
11
+ "default": [
12
+ "'self'",
13
+ "*",
14
+ "wss:",
15
+ "https:",
16
+ "'unsafe-inline'"
17
+ ],
18
+ "img": [
19
+ "'self'",
20
+ "data:"
21
+ ],
22
+ "script": [
23
+ "'self'",
24
+ "'unsafe-eval'",
25
+ "'unsafe-inline'"
26
+ ],
27
+ "style": [
28
+ "'self'",
29
+ "'unsafe-inline'",
30
+ "'unsafe-eval'"
31
+ ]
32
+ }
33
+ }
34
+
@@ -0,0 +1,34 @@
1
+ {
2
+ "hostname":"https://localhost",
3
+ "CSP": {
4
+ "connect": [
5
+ "'self'",
6
+ "*",
7
+ "wss:",
8
+ "https:",
9
+ "'unsafe-inline'"
10
+ ],
11
+ "default": [
12
+ "'self'",
13
+ "*",
14
+ "wss:",
15
+ "https:",
16
+ "'unsafe-inline'"
17
+ ],
18
+ "img": [
19
+ "'self'",
20
+ "data:"
21
+ ],
22
+ "script": [
23
+ "'self'",
24
+ "'unsafe-eval'",
25
+ "'unsafe-inline'"
26
+ ],
27
+ "style": [
28
+ "'self'",
29
+ "'unsafe-inline'",
30
+ "'unsafe-eval'"
31
+ ]
32
+ }
33
+ }
34
+
@@ -0,0 +1,34 @@
1
+ {
2
+ "hostname":"https://localhost",
3
+ "CSP": {
4
+ "connect": [
5
+ "'self'",
6
+ "*",
7
+ "wss:",
8
+ "https:",
9
+ "'unsafe-inline'"
10
+ ],
11
+ "default": [
12
+ "'self'",
13
+ "*",
14
+ "wss:",
15
+ "https:",
16
+ "'unsafe-inline'"
17
+ ],
18
+ "img": [
19
+ "'self'",
20
+ "data:"
21
+ ],
22
+ "script": [
23
+ "'self'",
24
+ "'unsafe-eval'",
25
+ "'unsafe-inline'"
26
+ ],
27
+ "style": [
28
+ "'self'",
29
+ "'unsafe-inline'",
30
+ "'unsafe-eval'"
31
+ ]
32
+ }
33
+ }
34
+
@@ -0,0 +1,20 @@
1
+ const env = process.env.NODE_ENV || 'development';
2
+ const path = require('path');
3
+
4
+ require('dotenv').config({ path: path.resolve(__dirname, '../../../.env')});
5
+
6
+ const configPath = path.join(__dirname, 'config');
7
+ const configModule = require('not-config');
8
+
9
+ //инициализируем доступ к логам
10
+ const log = require('not-log')(module, 'init');
11
+ log.info('Environment', env, configPath);
12
+
13
+ //иницилизируем доступ к настройкам
14
+ const configLoaded = configModule.init(configPath);
15
+ if (configLoaded !== false){
16
+ log.info('Config loaded: ', configPath);
17
+ require('./app.js')();
18
+ }else{
19
+ log.error('Config not loaded: ', configPath);
20
+ }