not-node 6.1.4 → 6.1.6

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 (165) hide show
  1. package/bin/not-cli.mjs +3 -414
  2. package/package.json +1 -1
  3. package/playground/.env +16 -0
  4. package/playground/deploy/production.sh +13 -0
  5. package/playground/deploy/stage.sh +13 -0
  6. package/playground/nginx/development.conf +55 -0
  7. package/playground/nginx/production.conf +55 -0
  8. package/playground/nginx/stage.conf +55 -0
  9. package/playground/pm2/development.json +46 -0
  10. package/playground/pm2/production.json +46 -0
  11. package/playground/pm2/stage.json +46 -0
  12. package/playground/{.babelrc → site/.babelrc} +0 -0
  13. package/playground/{.eslintignore → site/.eslintignore} +0 -0
  14. package/playground/{.eslintrc.json → site/.eslintrc.json} +0 -0
  15. package/playground/{app/front/build/guest.css → site/app/front/build/admin.css} +0 -0
  16. package/playground/{app → site/app}/front/build/admin.js +2 -45
  17. package/playground/{app → site/app}/front/build/client.css +1 -1
  18. package/playground/{app → site/app}/front/build/client.js +2 -45
  19. package/playground/{app/front/build/admin.css → site/app/front/build/guest.css} +1 -1
  20. package/playground/{app → site/app}/front/build/guest.js +2 -45
  21. package/playground/{app → site/app}/front/build/root.css +1 -1
  22. package/playground/{app → site/app}/front/build/root.js +2 -45
  23. package/playground/{app → site/app}/front/build/user.css +1 -1
  24. package/playground/{app → site/app}/front/build/user.js +2 -45
  25. package/playground/{app → site/app}/front/build.env.js +0 -0
  26. package/playground/{app → site/app}/front/index.!.js +2 -0
  27. package/playground/{app → site/app}/front/index.admin.js +16 -14
  28. package/playground/{app → site/app}/front/index.client.js +16 -14
  29. package/playground/{app → site/app}/front/index.guest.js +16 -14
  30. package/playground/{app → site/app}/front/index.root.js +24 -22
  31. package/playground/{app → site/app}/front/index.user.js +16 -14
  32. package/playground/{app → site/app}/front/rollup.!.js +0 -0
  33. package/playground/{app → site/app}/front/rollup.admin.js +2 -2
  34. package/playground/{app/front/rollup.root.js → site/app/front/rollup.client.js} +2 -2
  35. package/playground/{app → site/app}/front/rollup.guest.js +2 -2
  36. package/playground/{app/front/rollup.client.js → site/app/front/rollup.root.js} +2 -2
  37. package/playground/{app → site/app}/front/rollup.user.js +2 -2
  38. package/playground/{app → site/app}/front/src/admin/main/index.js +0 -0
  39. package/playground/site/app/front/src/admin/notNodeModule/index.js +25 -0
  40. package/playground/{app → site/app}/front/src/client/main/index.js +0 -0
  41. package/playground/site/app/front/src/client/notNodeModule/index.js +25 -0
  42. package/playground/site/app/front/src/common/index.js +25 -0
  43. package/playground/{app → site/app}/front/src/common/ncInit.js +0 -0
  44. package/playground/{app → site/app}/front/src/common/ws.client.main.js +0 -0
  45. package/playground/{app → site/app}/front/src/guest/main/index.js +0 -0
  46. package/playground/site/app/front/src/guest/notNodeModule/index.js +25 -0
  47. package/playground/{app → site/app}/front/src/root/main/index.js +0 -0
  48. package/playground/site/app/front/src/root/notNodeModule/index.js +25 -0
  49. package/playground/{app → site/app}/front/src/user/main/index.js +0 -0
  50. package/playground/site/app/front/src/user/notNodeModule/index.js +25 -0
  51. package/playground/{app → site/app}/server/app.js +0 -0
  52. package/playground/{app → site/app}/server/config/common.json +4 -18
  53. package/playground/{app → site/app}/server/config/development.json +1 -1
  54. package/playground/{app → site/app}/server/config/production.json +1 -1
  55. package/playground/{app → site/app}/server/config/stage.json +1 -1
  56. package/playground/{app → site/app}/server/index.js +0 -0
  57. package/playground/site/app/server/modules/notNodeModule/index.js +8 -0
  58. package/playground/site/app/server/modules/notNodeModule/src/const.js +1 -0
  59. package/playground/site/app/server/modules/notNodeModule/src/controllers/admin/index.js +29 -0
  60. package/playground/site/app/server/modules/notNodeModule/src/controllers/admin/ncNewModel.js +11 -0
  61. package/playground/site/app/server/modules/notNodeModule/src/controllers/admin/ncTester.js +11 -0
  62. package/playground/site/app/server/modules/notNodeModule/src/controllers/client/index.js +29 -0
  63. package/playground/site/app/server/modules/notNodeModule/src/controllers/client/ncNewModel.js +11 -0
  64. package/playground/site/app/server/modules/notNodeModule/src/controllers/client/ncTester.js +11 -0
  65. package/playground/site/app/server/modules/notNodeModule/src/controllers/common/ncNewModelCommon.js +103 -0
  66. package/playground/site/app/server/modules/notNodeModule/src/controllers/common/validators.js +44 -0
  67. package/playground/site/app/server/modules/notNodeModule/src/controllers/common/ws.client.js +25 -0
  68. package/playground/site/app/server/modules/notNodeModule/src/controllers/guest/index.js +29 -0
  69. package/playground/site/app/server/modules/notNodeModule/src/controllers/guest/ncNewModel.js +11 -0
  70. package/playground/site/app/server/modules/notNodeModule/src/controllers/guest/ncTester.js +11 -0
  71. package/playground/site/app/server/modules/notNodeModule/src/controllers/root/index.js +29 -0
  72. package/playground/site/app/server/modules/notNodeModule/src/controllers/root/ncNewModel.js +11 -0
  73. package/playground/site/app/server/modules/notNodeModule/src/controllers/root/ncTester.js +11 -0
  74. package/playground/site/app/server/modules/notNodeModule/src/controllers/user/index.js +29 -0
  75. package/playground/site/app/server/modules/notNodeModule/src/controllers/user/ncNewModel.js +11 -0
  76. package/playground/site/app/server/modules/notNodeModule/src/controllers/user/ncTester.js +11 -0
  77. package/playground/site/app/server/modules/notNodeModule/src/forms/_newModel_data.js +35 -0
  78. package/playground/site/app/server/modules/notNodeModule/src/forms/_tester_data.js +36 -0
  79. package/playground/site/app/server/modules/notNodeModule/src/forms/newModel.create.js +49 -0
  80. package/playground/site/app/server/modules/notNodeModule/src/forms/newModel.delete.js +8 -0
  81. package/playground/site/app/server/modules/notNodeModule/src/forms/newModel.get.js +8 -0
  82. package/playground/site/app/server/modules/notNodeModule/src/forms/newModel.getRaw.js +8 -0
  83. package/playground/site/app/server/modules/notNodeModule/src/forms/newModel.listAll.js +8 -0
  84. package/playground/site/app/server/modules/notNodeModule/src/forms/newModel.listAndCount.js +8 -0
  85. package/playground/site/app/server/modules/notNodeModule/src/forms/newModel.update.js +40 -0
  86. package/playground/site/app/server/modules/notNodeModule/src/forms/tester.create.js +52 -0
  87. package/playground/site/app/server/modules/notNodeModule/src/forms/tester.delete.js +8 -0
  88. package/playground/site/app/server/modules/notNodeModule/src/forms/tester.get.js +8 -0
  89. package/playground/site/app/server/modules/notNodeModule/src/forms/tester.getRaw.js +8 -0
  90. package/playground/site/app/server/modules/notNodeModule/src/forms/tester.listAll.js +8 -0
  91. package/playground/site/app/server/modules/notNodeModule/src/forms/tester.listAndCount.js +8 -0
  92. package/playground/site/app/server/modules/notNodeModule/src/forms/tester.update.js +41 -0
  93. package/playground/site/app/server/modules/notNodeModule/src/logics/newModel.js +229 -0
  94. package/playground/site/app/server/modules/notNodeModule/src/logics/tester.js +229 -0
  95. package/playground/site/app/server/modules/notNodeModule/src/models/newModel.js +64 -0
  96. package/playground/site/app/server/modules/notNodeModule/src/models/tester.js +66 -0
  97. package/playground/site/app/server/modules/notNodeModule/src/routes/newModel.js +124 -0
  98. package/playground/site/app/server/modules/notNodeModule/src/routes/newModel.manifest.js +213 -0
  99. package/playground/site/app/server/modules/notNodeModule/src/routes/newModel.ws.js +29 -0
  100. package/playground/site/app/server/modules/notNodeModule/src/routes/tester.js +92 -0
  101. package/playground/site/app/server/modules/notNodeModule/src/routes/tester.manifest.js +215 -0
  102. package/playground/site/app/server/modules/notNodeModule/src/routes/tester.ws.js +29 -0
  103. package/playground/{app → site/app}/server/routes/index.js +0 -0
  104. package/playground/site/app/server/routes/site.js +83 -0
  105. package/playground/{app → site/app}/server/views/admin/foot.pug +0 -0
  106. package/playground/{app → site/app}/server/views/admin/head.pug +0 -0
  107. package/playground/{app → site/app}/server/views/admin/menu.pug +0 -0
  108. package/playground/{app → site/app}/server/views/admin.pug +0 -0
  109. package/playground/{app → site/app}/server/views/dashboard.pug +0 -0
  110. package/playground/{app → site/app}/server/views/index.pug +0 -0
  111. package/playground/{app → site/app}/server/views/parts/header.android.pug +0 -0
  112. package/playground/{app → site/app}/server/views/parts/header.ios.pug +0 -0
  113. package/playground/{app → site/app}/server/views/parts/header.pug +0 -0
  114. package/playground/{app → site/app}/server/views/parts/menu.pug +0 -0
  115. package/playground/{app → site/app}/server/views/parts/overview.pug +0 -0
  116. package/playground/{app → site/app}/server/ws/auth.js +0 -0
  117. package/playground/{app → site/app}/server/ws/index.js +0 -0
  118. package/playground/{bin → site/bin}/build.sh +0 -0
  119. package/playground/{package.json → site/package.json} +0 -0
  120. package/playground/{project.manifest.json → site/project.manifest.json} +0 -0
  121. package/src/cli/actions/entity.mjs +33 -0
  122. package/src/cli/actions/env.mjs +1 -0
  123. package/src/cli/actions/index.mjs +23 -0
  124. package/src/cli/actions/module.front.mjs +35 -0
  125. package/src/cli/actions/module.server.mjs +33 -0
  126. package/src/cli/actions/nginx.mjs +1 -0
  127. package/src/cli/actions/pm2.mjs +1 -0
  128. package/src/cli/actions/project.mjs +146 -0
  129. package/src/cli/const.mjs +9 -0
  130. package/src/cli/lib/args.mjs +72 -0
  131. package/src/cli/lib/entity.mjs +46 -0
  132. package/src/cli/lib/fs.mjs +176 -0
  133. package/src/cli/lib/log.mjs +25 -0
  134. package/src/cli/lib/messages.mjs +29 -0
  135. package/src/cli/lib/module.front.mjs +57 -0
  136. package/src/cli/lib/module.server.mjs +128 -0
  137. package/src/cli/lib/opts.mjs +33 -0
  138. package/src/cli/lib/project.mjs +16 -0
  139. package/src/cli/lib/structures.mjs +37 -0
  140. package/src/cli/readers/debugPort.mjs +16 -0
  141. package/src/cli/readers/deploy.mjs +80 -0
  142. package/src/cli/readers/hostname.mjs +4 -5
  143. package/src/cli/readers/index.mjs +12 -0
  144. package/src/cli/readers/init_root_user.mjs +9 -8
  145. package/src/cli/readers/nginx.mjs +41 -0
  146. package/src/cli/readers/not_node_monitor.mjs +7 -4
  147. package/src/cli/readers/not_node_reporter.mjs +6 -3
  148. package/src/cli/readers/pm2.mjs +29 -0
  149. package/src/cli/readers/roles.mjs +2 -2
  150. package/src/cli/readers/ssl.mjs +2 -1
  151. package/src/cli/readers/ws.mjs +6 -4
  152. package/src/cli/renderers/controllersIndex.mjs +1 -0
  153. package/src/cli/renderers/deploy.mjs +39 -0
  154. package/src/cli/renderers/index.mjs +9 -0
  155. package/src/cli/renderers/nginx.mjs +44 -0
  156. package/src/cli/renderers/pm2.mjs +42 -0
  157. package/tmpl/dirs/project.mjs +18 -0
  158. package/tmpl/dirs/server.mjs +4 -3
  159. package/tmpl/files/app/config/common.ejs +2 -4
  160. package/tmpl/files/project/deploy.ejs +13 -0
  161. package/tmpl/files/{app → project}/env.ejs +3 -3
  162. package/tmpl/files/project/nginx.ejs +63 -0
  163. package/tmpl/files/project/pm2.ejs +46 -0
  164. package/playground/app/front/src/common/index.js +0 -40
  165. package/playground/app/server/routes/site.js +0 -71
package/bin/not-cli.mjs CHANGED
@@ -1,421 +1,10 @@
1
1
  #!/usr/bin/env node
2
- const TEMPLATE_OPTIONS = "__options__";
3
-
4
- const VAR_PREFIX = "__";
5
- import ejs from "ejs";
6
-
7
- import { isAbsolute, resolve, join } from "node:path";
8
-
9
- import { copyFile, constants, mkdir, writeFile } from "node:fs/promises";
10
-
2
+ import { Command } from "commander";
11
3
  import { cwd } from "node:process";
12
4
  const CWD = cwd();
13
- import { spawn } from "node:child_process";
14
5
 
15
- import * as url from "url";
16
- const __dirname = url.fileURLToPath(new URL(".", import.meta.url));
6
+ import Actions from "../src/cli/actions/index.mjs";
17
7
 
18
- import inquirer from "inquirer";
19
- import { Command, Option } from "commander";
20
8
  const program = new Command();
21
-
22
- //reads vars from user input, provides defaults
23
- import * as Readers from "../src/cli/readers/index.mjs";
24
-
25
- import * as Renderers from "../src/cli/renderers/index.mjs";
26
- //file system structure
27
- //directories
28
- //files and information how to render them from which template and with what args with readers names
29
- import ApplicationStructure from "../tmpl/dirs/app.mjs";
30
- import ApplicationServerStructure from "../tmpl/dirs/server.mjs";
31
- import ApplicationFrontStructure from "../tmpl/dirs/front.mjs";
32
- import ApplicationStaticStructure from "../tmpl/dirs/static.mjs";
33
-
34
- import ApplicationModuleServerStructure from "../tmpl/dirs/module.server.mjs";
35
- import ApplicationModuleServerControllersCommonStructure from "../tmpl/dirs/module.server.controllers.common.mjs";
36
-
37
- import ApplicationModuleFrontStructure from "../tmpl/dirs/module.front.mjs";
38
-
39
- import { firstLetterToLower } from "../src/common.js";
40
-
41
- const ApplicationSubStructures = {
42
- server: ApplicationServerStructure,
43
- front: ApplicationFrontStructure,
44
- static: ApplicationStaticStructure,
45
- "module.server": ApplicationModuleServerStructure,
46
- "module.server.controllers.common":
47
- ApplicationModuleServerControllersCommonStructure,
48
- "module.front": ApplicationModuleFrontStructure,
49
- };
50
- //path to various templates
51
- const PATH_TMPL = resolve(__dirname, "../tmpl/files");
52
- const DEFAULT_SERVER_MODULES_SUB_PATH = "./app/server/modules";
53
- const DEFAULT_FRONT_MODULES_SUB_PATH = "./app/front/src";
54
-
55
- async function readArgs(structure, config) {
56
- let result = {};
57
- if (Object.hasOwn(structure, "args")) {
58
- for (let entry of structure.args) {
59
- if (!Object.hasOwn(config, entry)) {
60
- console.log(
61
- `no ${entry} in config, reading data from user input`
62
- );
63
- config[entry] = await Readers[entry](inquirer, config);
64
- }
65
- result[entry] = config[entry];
66
- }
67
- }
68
- //console.log(JSON.stringify(result, null, 4));
69
- if (Object.hasOwn(structure, "options")) {
70
- result[TEMPLATE_OPTIONS] = structure.options;
71
- }
72
- return result;
73
- }
74
-
75
- async function renderFile(input, dest, data) {
76
- console.log("render", dest);
77
- const renderedFileContent = await ejs.renderFile(input, data, {
78
- async: true,
79
- });
80
- await writeFile(dest, renderedFileContent);
81
- }
82
-
83
- async function createFileContent(filePath, structure, config) {
84
- if (typeof structure == "string") {
85
- await copyTmplFile(resolve(PATH_TMPL, structure), filePath);
86
- return;
87
- }
88
- if (Object.hasOwn(structure, "tmpl")) {
89
- const tmplFilePath = resolve(PATH_TMPL, structure.tmpl);
90
- const data = await readArgs(structure, config);
91
- await renderFile(tmplFilePath, filePath, data);
92
- }
93
- }
94
-
95
- async function copyTmplFile(from, to) {
96
- try {
97
- // console.log("cp", from, to);
98
- await copyFile(from, to, constants.COPYFILE_EXCL);
99
- } catch {
100
- //console.error("The file could not be copied", from, to);
101
- }
102
- }
103
-
104
- async function createDir(dirPath) {
105
- try {
106
- //console.log("mkdir", dirPath);
107
- await mkdir(dirPath, { recursive: true });
108
- } catch {
109
- // console.error("Can't create directory", dirPath);
110
- }
111
- }
112
-
113
- function isFilename(name, descr) {
114
- if (descr.type === "file") {
115
- return true;
116
- }
117
- if (name.startsWith(VAR_PREFIX) && name.endsWith(VAR_PREFIX)) {
118
- return false;
119
- }
120
- return name.indexOf(".") > -1;
121
- }
122
-
123
- function isVariable(name) {
124
- return name.startsWith(VAR_PREFIX) && name.endsWith(VAR_PREFIX);
125
- }
126
-
127
- function getVariableName(name) {
128
- return name.replace(new RegExp(VAR_PREFIX, "g"), "");
129
- }
130
-
131
- function dirRequiresAbsentModules(subStructure, config) {
132
- return (
133
- Object.hasOwn(subStructure, "ifModules") &&
134
- Array.isArray(subStructure.ifModules) &&
135
- !subStructure.ifModules.every((entry) => config.modules.includes(entry))
136
- );
137
- }
138
-
139
- async function createDirContent(dest, structure = {}, config = {}) {
140
- if (typeof structure === "string") {
141
- //console.log("need to create sub structure", structure);
142
- await createDirContent(
143
- dest,
144
- ApplicationSubStructures[structure],
145
- config
146
- );
147
- return;
148
- }
149
- const dirs = {};
150
- //creating files first
151
- for (let entry in structure) {
152
- const subStructure = structure[entry];
153
- if (isVariable(entry)) {
154
- entry = config[getVariableName(entry)];
155
- }
156
- if (isFilename(entry, subStructure)) {
157
- // console.log(dest, entry);
158
- const filePath = join(dest, entry);
159
- await createFileContent(filePath, subStructure, config);
160
- } else {
161
- dirs[entry] = subStructure;
162
- }
163
- }
164
- //then going deeper
165
- for (let entry in dirs) {
166
- const subStructure = dirs[entry];
167
- const directoryPath = join(dest, entry);
168
- if (dirRequiresAbsentModules(subStructure, config)) {
169
- continue;
170
- }
171
- await createDir(directoryPath);
172
- if (Object.hasOwn(subStructure, "content")) {
173
- await createDirContent(directoryPath, subStructure.content, config);
174
- }
175
- }
176
- }
177
-
178
- function entitiesInLayers(layersList = []) {
179
- return (
180
- layersList.includes("models") ||
181
- layersList.includes("routes") ||
182
- layersList.includes("logics")
183
- );
184
- }
185
-
186
- async function createLayersDirs(modules_dir, layersList, ModuleName) {
187
- if (layersList.length) {
188
- await createDir(resolve(modules_dir, ModuleName, "./src"));
189
- }
190
- for (let layer of layersList) {
191
- await createDir(resolve(modules_dir, ModuleName, "./src", layer));
192
- }
193
- }
194
-
195
- async function createServerModule(modules_dir, config) {
196
- //read module name
197
- const ModuleName = await Readers.ModuleName(inquirer);
198
- const moduleName = firstLetterToLower(ModuleName);
199
- const moduleDir = resolve(modules_dir, ModuleName);
200
- const moduleConfig = { ...config, moduleName, ModuleName };
201
- await createDir(moduleDir);
202
- //console.log(JSON.stringify(moduleConfig, null, 4));
203
- await createDirContent(
204
- moduleDir,
205
- ApplicationSubStructures["module.server"],
206
- moduleConfig
207
- );
208
- const layersList = moduleConfig.moduleLayers;
209
- await createLayersDirs(modules_dir, layersList, ModuleName);
210
- //list of entities and its presence thru all selected layers
211
- let entitiesList = [];
212
- if (entitiesInLayers(layersList)) {
213
- //should collect all first, to have full list of items for index files imports
214
- while (await Readers.isUserNeedCreateEntity(inquirer)) {
215
- const entityData = await Readers.entityData(
216
- inquirer,
217
- config,
218
- layersList
219
- );
220
- entitiesList.push(entityData);
221
- }
222
- for (let entityData of entitiesList) {
223
- await renderEntityFiles(
224
- resolve(moduleDir, "./src"),
225
- entityData,
226
- moduleConfig
227
- );
228
- }
229
- if (layersList.includes("controllers")) {
230
- await renderServerContollersIndexes(
231
- resolve(moduleDir, "./src"),
232
- entitiesList,
233
- moduleConfig
234
- );
235
- await renderServerControllersCommons(
236
- resolve(moduleDir, "./src/controllers"),
237
- entitiesList,
238
- moduleConfig
239
- );
240
- }
241
- }
242
- }
243
-
244
- async function renderEntityFiles(module_src_dir, data, config) {
245
- for (let layerName of data.layers) {
246
- if (Object.hasOwn(Renderers, layerName)) {
247
- await Renderers[layerName](
248
- resolve(module_src_dir, `./${layerName}`),
249
- data,
250
- config,
251
- renderFile,
252
- PATH_TMPL,
253
- createDir
254
- );
255
- } else {
256
- console.error("No renderer for layer: ", layerName);
257
- }
258
- }
259
- }
260
-
261
- async function renderServerContollersIndexes(
262
- module_src_dir,
263
- entitiesData,
264
- config
265
- ) {
266
- const subDirList = [...config.roles];
267
- for (let dirName of subDirList) {
268
- await Renderers.controllersIndex(
269
- resolve(module_src_dir, `./controllers/${dirName}`),
270
- entitiesData,
271
- config,
272
- renderFile,
273
- PATH_TMPL,
274
- createDir
275
- );
276
- }
277
- }
278
-
279
- async function renderServerControllersCommons(
280
- module_src_dir,
281
- entitiesData,
282
- config
283
- ) {
284
- const dirPath = resolve(module_src_dir, `./common`);
285
- await createDir(dirPath);
286
- await createDirContent(
287
- dirPath,
288
- ApplicationModuleServerControllersCommonStructure,
289
- {}
290
- );
291
- await Renderers.controllersCommons(
292
- dirPath,
293
- entitiesData,
294
- config,
295
- renderFile,
296
- PATH_TMPL
297
- );
298
- }
299
-
300
- async function createBootstrapFrontModule(modules_dir, config) {
301
- await createDir(modules_dir);
302
- await createDirContent(
303
- modules_dir,
304
- ApplicationSubStructures["module.front"],
305
- config
306
- );
307
- for (let role of config.roles) {
308
- await createDir(resolve(modules_dir, role));
309
- const targetFrontModuleDir = resolve(modules_dir, role, "main");
310
- await createDir(targetFrontModuleDir);
311
- if (role === "guest") {
312
- await Renderers.frontModuleGuestMain(
313
- targetFrontModuleDir,
314
- { ...config, roleName: role },
315
- renderFile,
316
- PATH_TMPL
317
- );
318
- } else {
319
- await Renderers.frontModuleRoleMain(
320
- targetFrontModuleDir,
321
- { ...config, roleName: role },
322
- renderFile,
323
- PATH_TMPL
324
- );
325
- }
326
- }
327
- }
328
-
329
- function installPackages(opts) {
330
- return new Promise((resolve, reject) => {
331
- console.log("installing packages...");
332
- let npmInstall = spawn(`npm`, ["i"], { cwd: opts.dir });
333
-
334
- npmInstall.stderr.on("data", (data) => {
335
- console.error(data.toString());
336
- });
337
- npmInstall.on("exit", (code) => {
338
- if (code == 0) {
339
- resolve();
340
- } else {
341
- reject(`NPM install exited with code ${code}`);
342
- }
343
- });
344
- });
345
- }
346
-
347
- function buildClientSideScripts(opts) {
348
- return new Promise((resolve, reject) => {
349
- console.log("building client side scripts...");
350
- let npmInstall = spawn(`npm`, ["run", "build"], { cwd: opts.dir });
351
-
352
- npmInstall.stderr.on("data", (data) => {
353
- console.error(data.toString());
354
- });
355
- npmInstall.on("exit", (code) => {
356
- if (code == 0) {
357
- resolve();
358
- } else {
359
- reject(`npm run build job exited with code ${code}`);
360
- }
361
- });
362
- });
363
- }
364
-
365
- function postStartupInstructions(opts) {
366
- console.log(
367
- "Generation of source code, configurations and installation of packages successfully finished."
368
- );
369
- console.log(
370
- `To start server navigate to directory '${opts.dir}' (cd '${opts.dir}') and run 'npm start'`
371
- );
372
- }
373
-
374
- program
375
- .command("create")
376
- .addOption(
377
- new Option("-d, --dir <dir>").default(CWD, "current working directory")
378
- )
379
- .description(
380
- "create application in target directory (create -d [pathToDir])"
381
- )
382
- .action(async (opts) => {
383
- // console.log("create command called :" + opts.dir);
384
- if (!isAbsolute(opts.dir)) {
385
- opts.dir = resolve(CWD, opts.dir);
386
- }
387
- console.log("creating application in", opts.dir);
388
- const AppConfig = {};
389
- //
390
- AppConfig.AppName = await Readers.AppName(inquirer, AppConfig);
391
- AppConfig.appName = await Readers.appName(inquirer, AppConfig);
392
- AppConfig.roles = await Readers.roles(inquirer, AppConfig);
393
- AppConfig.rolesSecondary = await Readers.rolesSecondary(
394
- inquirer,
395
- AppConfig
396
- );
397
- AppConfig.modules = await Readers.modules(inquirer, AppConfig);
398
- await createDir(opts.dir);
399
- await createDirContent(opts.dir, ApplicationStructure, AppConfig);
400
- const PATH_MODULES_SERVER = resolve(
401
- opts.dir,
402
- DEFAULT_SERVER_MODULES_SUB_PATH
403
- );
404
- const PATH_MODULES_FRONT = resolve(
405
- opts.dir,
406
- DEFAULT_FRONT_MODULES_SUB_PATH
407
- );
408
- while (await Readers.isUserNeedCreateServerModule(inquirer)) {
409
- await createServerModule(PATH_MODULES_SERVER, AppConfig);
410
- }
411
-
412
- if (await Readers.isUserNeedFrontModuleBootstrap(inquirer)) {
413
- await createBootstrapFrontModule(PATH_MODULES_FRONT, AppConfig);
414
- }
415
- console.log(`cd '${opts.dir}' && npm i`);
416
- await installPackages(opts);
417
- await buildClientSideScripts(opts);
418
- postStartupInstructions(opts);
419
- });
420
-
9
+ Actions(program, { CWD });
421
10
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "not-node",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "description": "node complimentary part for client side notFramework.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,16 @@
1
+
2
+ NOT_NODE_ERROR_KEY=123456
3
+ NOT_NODE_ERROR_URL_NODE=https://appmon.ru/api/key/collect
4
+ NOT_NODE_ERROR_URL_BROWSER=https://appmon.ru/api/key/collect
5
+
6
+
7
+ NOT_NODE_MONITOR_INTERVAL=5000
8
+ NOT_NODE_MONITOR_REPORT_INTERVAL=60
9
+ NOT_NODE_MONITOR_REPORT_KEY=123456
10
+ NOT_NODE_MONITOR_REPORT_URL=https://appmon.ru/api/key/collect
11
+
12
+
13
+ INIT_ROOT_USERNAME=root
14
+ INIT_ROOT_EMAIL=admin@not-node-application.local
15
+ INIT_ROOT_PASSWORD=cuPbvauK5F
16
+
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+ echo 'deploying notNodeApplication to production'
3
+ cd site
4
+ npm run production
5
+ cd ../
6
+ echo 'syncing data'
7
+ ssh cypher@not-node-application "echo '1' > /var/server/not-node-application/deploying"
8
+ rsync -av --progress --exclude-from='./deploy/.exclude' site cypher@not-node-application:/var/server/not-node-application/
9
+ rsync -av --progress deploy/production.json cypher@not-node-application:/var/server/not-node-application/pm2/production.json
10
+ ssh cypher@not-node-application "cd /var/server/not-node-application/site && npm i"
11
+ ssh cypher@not-node-application "cd /var/server/not-node-application && pm2 startOrRestart pm2/production.json"
12
+ ssh cypher@not-node-application "rm /var/server/not-node-application/deploying"
13
+ exit 0;
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+ echo 'deploying notNodeApplication to stage'
3
+ cd site
4
+ npm run stage
5
+ cd ../
6
+ echo 'syncing data'
7
+ ssh cypher@stage.not-node-application "echo '1' > /var/server/not-node-application/deploying"
8
+ rsync -av --progress --exclude-from='./deploy/.exclude' site cypher@stage.not-node-application:/var/server/not-node-application/
9
+ rsync -av --progress deploy/stage.json cypher@stage.not-node-application:/var/server/not-node-application/pm2/stage.json
10
+ ssh cypher@stage.not-node-application "cd /var/server/not-node-application/site && npm i"
11
+ ssh cypher@stage.not-node-application "cd /var/server/not-node-application && pm2 startOrRestart pm2/stage.json"
12
+ ssh cypher@stage.not-node-application "rm /var/server/not-node-application/deploying"
13
+ exit 0;
@@ -0,0 +1,55 @@
1
+ map $http_upgrade $connection_upgrade {
2
+ default upgrade;
3
+ '' close;
4
+ }
5
+
6
+ upstream websocket2 {
7
+ server :;
8
+ }
9
+
10
+ server {
11
+ listen 80 ssl http2 ;
12
+ root /var/server/nn/playground/site/app/static;
13
+ index index.html index.htm;
14
+ server_name not-node-application.local;
15
+
16
+ location /assets/{expires 365d; alias /var/server/nn/playground/site/app/static/assets/;}
17
+ location /css/{ expires 365d; alias /var/server/nn/playground/site/app/static/css/;}
18
+ location /js/{ expires 365d;alias /var/server/nn/playground/site/app/static/js/; }
19
+ location /img/{ expires 365d;alias /var/server/nn/playground/site/app/static/img/;}
20
+ location /webfonts/{ expires 365d;alias /var/server/nn/playground/site/app/static/webfonts/; }
21
+ location /favicon.ico { expires 365d;alias /var/server/nn/playground/site/app/static/favicon.ico; }
22
+ location /sitemap.xml { expires 1d; alias /var/server/nn/playground/site/app/static/sitemap.xml; }
23
+ location /robots.txt { expires 365d;alias /var/server/nn/playground/site/app/static/robots.txt; }
24
+ location /manifest.webmaniest { expires 365d;alias /var/server/nn/playground/site/app/static/manifest.webmaniest; }
25
+
26
+
27
+ location /api {
28
+ expires -1;
29
+ proxy_set_header Host $host;
30
+ proxy_set_header X-Real-IP $remote_addr;
31
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
32
+ proxy_set_header X-Forwarded-Proto $scheme;
33
+ proxy_set_header X-FILENAME $http_x_filename;
34
+ proxy_set_header SessionID $http_SessionID;
35
+ proxy_pass http://not-node-application.local:3000/api;
36
+ }
37
+
38
+
39
+
40
+
41
+ location / {
42
+ expires 365d;
43
+ proxy_set_header Host $host;
44
+ proxy_set_header X-Real-IP $remote_addr;
45
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
46
+ proxy_set_header X-Forwarded-Proto $scheme;
47
+ proxy_set_header X-FILENAME $http_x_filename;
48
+ proxy_set_header SessionID $http_SessionID;
49
+ proxy_pass http://not-node-application.local:3000/;
50
+ }
51
+
52
+
53
+ listen 443 ssl http2 ;
54
+
55
+ }
@@ -0,0 +1,55 @@
1
+ map $http_upgrade $connection_upgrade {
2
+ default upgrade;
3
+ '' close;
4
+ }
5
+
6
+ upstream websocket2 {
7
+ server :;
8
+ }
9
+
10
+ server {
11
+ listen 80 ssl http2 ;
12
+ root /var/server/not-node-application/site/app/static;
13
+ index index.html index.htm;
14
+ server_name not-node-application;
15
+
16
+ location /assets/{expires 365d; alias /var/server/not-node-application/site/app/static/assets/;}
17
+ location /css/{ expires 365d; alias /var/server/not-node-application/site/app/static/css/;}
18
+ location /js/{ expires 365d;alias /var/server/not-node-application/site/app/static/js/; }
19
+ location /img/{ expires 365d;alias /var/server/not-node-application/site/app/static/img/;}
20
+ location /webfonts/{ expires 365d;alias /var/server/not-node-application/site/app/static/webfonts/; }
21
+ location /favicon.ico { expires 365d;alias /var/server/not-node-application/site/app/static/favicon.ico; }
22
+ location /sitemap.xml { expires 1d; alias /var/server/not-node-application/site/app/static/sitemap.xml; }
23
+ location /robots.txt { expires 365d;alias /var/server/not-node-application/site/app/static/robots.txt; }
24
+ location /manifest.webmaniest { expires 365d;alias /var/server/not-node-application/site/app/static/manifest.webmaniest; }
25
+
26
+
27
+ location /api {
28
+ expires -1;
29
+ proxy_set_header Host $host;
30
+ proxy_set_header X-Real-IP $remote_addr;
31
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
32
+ proxy_set_header X-Forwarded-Proto $scheme;
33
+ proxy_set_header X-FILENAME $http_x_filename;
34
+ proxy_set_header SessionID $http_SessionID;
35
+ proxy_pass http://not-node-application:3000/api;
36
+ }
37
+
38
+
39
+
40
+
41
+ location / {
42
+ expires 365d;
43
+ proxy_set_header Host $host;
44
+ proxy_set_header X-Real-IP $remote_addr;
45
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
46
+ proxy_set_header X-Forwarded-Proto $scheme;
47
+ proxy_set_header X-FILENAME $http_x_filename;
48
+ proxy_set_header SessionID $http_SessionID;
49
+ proxy_pass http://not-node-application:3000/;
50
+ }
51
+
52
+
53
+ listen 443 ssl http2 ;
54
+
55
+ }
@@ -0,0 +1,55 @@
1
+ map $http_upgrade $connection_upgrade {
2
+ default upgrade;
3
+ '' close;
4
+ }
5
+
6
+ upstream websocket2 {
7
+ server :;
8
+ }
9
+
10
+ server {
11
+ listen 80 ssl http2 ;
12
+ root /var/server/not-node-application/site/app/static;
13
+ index index.html index.htm;
14
+ server_name stage.not-node-application;
15
+
16
+ location /assets/{expires 365d; alias /var/server/not-node-application/site/app/static/assets/;}
17
+ location /css/{ expires 365d; alias /var/server/not-node-application/site/app/static/css/;}
18
+ location /js/{ expires 365d;alias /var/server/not-node-application/site/app/static/js/; }
19
+ location /img/{ expires 365d;alias /var/server/not-node-application/site/app/static/img/;}
20
+ location /webfonts/{ expires 365d;alias /var/server/not-node-application/site/app/static/webfonts/; }
21
+ location /favicon.ico { expires 365d;alias /var/server/not-node-application/site/app/static/favicon.ico; }
22
+ location /sitemap.xml { expires 1d; alias /var/server/not-node-application/site/app/static/sitemap.xml; }
23
+ location /robots.txt { expires 365d;alias /var/server/not-node-application/site/app/static/robots.txt; }
24
+ location /manifest.webmaniest { expires 365d;alias /var/server/not-node-application/site/app/static/manifest.webmaniest; }
25
+
26
+
27
+ location /api {
28
+ expires -1;
29
+ proxy_set_header Host $host;
30
+ proxy_set_header X-Real-IP $remote_addr;
31
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
32
+ proxy_set_header X-Forwarded-Proto $scheme;
33
+ proxy_set_header X-FILENAME $http_x_filename;
34
+ proxy_set_header SessionID $http_SessionID;
35
+ proxy_pass http://stage.not-node-application:3000/api;
36
+ }
37
+
38
+
39
+
40
+
41
+ location / {
42
+ expires 365d;
43
+ proxy_set_header Host $host;
44
+ proxy_set_header X-Real-IP $remote_addr;
45
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
46
+ proxy_set_header X-Forwarded-Proto $scheme;
47
+ proxy_set_header X-FILENAME $http_x_filename;
48
+ proxy_set_header SessionID $http_SessionID;
49
+ proxy_pass http://stage.not-node-application:3000/;
50
+ }
51
+
52
+
53
+ listen 443 ssl http2 ;
54
+
55
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "apps": [
3
+ {
4
+ "name": "not-node-application.development",
5
+ "script": "./site/app/server/index.js",
6
+ "node_args": [
7
+ "--stack-trace-limit=50",
8
+
9
+ "--inspect=3002"
10
+
11
+ ],
12
+ "watch": true,
13
+ "ignore_watch": [
14
+ "./site/node_modules",
15
+ "./site/docs",
16
+ "./site/app/static",
17
+ "./site/app/front/build",
18
+ "./db.dumps"
19
+ ],
20
+ "exec_mode": "fork",
21
+ "env": {
22
+ "hostname": "https://not-node-application.local",
23
+ "NODE_ENV": "development",
24
+
25
+ "NOT_NODE_ERROR_KEY": "123456",
26
+ "NOT_NODE_ERROR_URL_NODE": "https://appmon.ru/api/key/collect",
27
+ "NOT_NODE_ERROR_URL_BROWSER": "https://appmon.ru/api/key/collect",
28
+
29
+
30
+ "NOT_NODE_MONITOR_INTERVAL": 5000,
31
+ "NOT_NODE_MONITOR_REPORT_INTERVAL": 60,
32
+ "NOT_NODE_MONITOR_REPORT_KEY": "123456",
33
+ "NOT_NODE_MONITOR_REPORT_URL": "https://appmon.ru/api/key/collect"
34
+
35
+
36
+ "db__mongoose__uri": "mongodb:///test?authSource=admin",
37
+ "db__mongoose__options__host": "",
38
+ "db__mongoose__options__user": "tester",
39
+ "db__mongoose__options__pass": "test",
40
+ "db__mongoose__options__db": "test",
41
+
42
+
43
+ }
44
+ }
45
+ ]
46
+ }