@aj-shadow/z-abs-corelayer-server 0.0.0-aj-beta.221

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 (87) hide show
  1. package/.gitattributes +26 -0
  2. package/LICENSE.txt +96 -0
  3. package/README.md +5 -0
  4. package/npm-shrinkwrap.json +13 -0
  5. package/package.json +10 -0
  6. package/project/server/_build/Server-CoreLayer-server.bld +12 -0
  7. package/project/server/_build/z-abs-corelayer-server.prj +12 -0
  8. package/project/server/communication/core-protocol/decoder.js +404 -0
  9. package/project/server/communication/core-protocol/encoder.js +503 -0
  10. package/project/server/communication/messages/messages-s-to-c/message-persistent-init-response.js +14 -0
  11. package/project/server/communication/messages/messages-s-to-c/message-persistent-publish.js +16 -0
  12. package/project/server/communication/messages/messages-s-to-c/message-ws-init.js +14 -0
  13. package/project/server/communication/messages/messages-s-to-s/service-init-request.js +17 -0
  14. package/project/server/communication/messages/messages-s-to-s/service-init-response.js +18 -0
  15. package/project/server/communication/messages/messages-s-to-s/service-offer-off.js +15 -0
  16. package/project/server/communication/messages/messages-s-to-s/service-offer-on.js +15 -0
  17. package/project/server/communication/messages/messages-s-to-s/worker-init-request.js +15 -0
  18. package/project/server/data-response.js +588 -0
  19. package/project/server/high-resolution-timestamp.js +36 -0
  20. package/project/server/log/log-config.js +107 -0
  21. package/project/server/log/log-types.js +14 -0
  22. package/project/server/log/logger-console.js +36 -0
  23. package/project/server/log/logger.js +114 -0
  24. package/project/server/node/channel-input.js +65 -0
  25. package/project/server/node/channel-output.js +39 -0
  26. package/project/server/node/clients.js +80 -0
  27. package/project/server/node/connection-address.js +24 -0
  28. package/project/server/node/connection-data-ip.js +82 -0
  29. package/project/server/node/connection-data.js +25 -0
  30. package/project/server/node/const.js +44 -0
  31. package/project/server/node/external-services.js +209 -0
  32. package/project/server/node/http-cache.js +109 -0
  33. package/project/server/node/http-proxy.js +97 -0
  34. package/project/server/node/http-request-handler.js +219 -0
  35. package/project/server/node/http-server.js +36 -0
  36. package/project/server/node/http2-server.js +67 -0
  37. package/project/server/node/https-server.js +63 -0
  38. package/project/server/node/ip-client.js +98 -0
  39. package/project/server/node/ip-server.js +63 -0
  40. package/project/server/node/ip-subscription.js +46 -0
  41. package/project/server/node/message-channel.js +98 -0
  42. package/project/server/node/node-admin.js +513 -0
  43. package/project/server/node/node-data.js +25 -0
  44. package/project/server/node/node-settings.js +352 -0
  45. package/project/server/node/node-worker.js +76 -0
  46. package/project/server/node/node.js +156 -0
  47. package/project/server/node/servers.js +168 -0
  48. package/project/server/node/ws-client.js +12 -0
  49. package/project/server/node/ws-server.js +20 -0
  50. package/project/server/node/ws-web-server.js +52 -0
  51. package/project/server/node/wss-server.js +20 -0
  52. package/project/server/node/wss-web-server.js +82 -0
  53. package/project/server/path/actor-path-build.js +29 -0
  54. package/project/server/path/actor-path-content.js +51 -0
  55. package/project/server/path/actor-path-creator.js +90 -0
  56. package/project/server/path/actor-path-data.js +487 -0
  57. package/project/server/path/actor-path-dist.js +132 -0
  58. package/project/server/path/actor-path-generated.js +202 -0
  59. package/project/server/path/actor-path-project.js +181 -0
  60. package/project/server/path/actor-path.js +57 -0
  61. package/project/server/path/paths/actor-content-paths.js +34 -0
  62. package/project/server/path/paths/actor-data-paths.js +302 -0
  63. package/project/server/path/paths/actor-generated-paths.js +99 -0
  64. package/project/server/path/paths/actor-paths.js +22 -0
  65. package/project/server/plugin-base-multi.js +484 -0
  66. package/project/server/plugin-base.js +233 -0
  67. package/project/server/plugin-component.js +92 -0
  68. package/project/server/plugin-data/client/plugin_data_ClientGet.js +18 -0
  69. package/project/server/plugin-data/dialog-file/plugin_data_DialogFileGet.js +197 -0
  70. package/project/server/plugin-data/platform/plugin_data_PlatformPing.js +19 -0
  71. package/project/server/plugin-factor-protocol.js +35 -0
  72. package/project/server/plugin-factory.js +127 -0
  73. package/project/server/plugin-lock.js +164 -0
  74. package/project/server/response-queue.js +46 -0
  75. package/project/server/responses.js +20 -0
  76. package/project/server/service/plugin-service.js +264 -0
  77. package/project/server/service/service-export.js +47 -0
  78. package/project/server/service/service-manager.js +270 -0
  79. package/project/server/service/service-requests.js +49 -0
  80. package/project/server/session-cache.js +39 -0
  81. package/project/server/session.js +23 -0
  82. package/project/server/worker/worker-channel.js +175 -0
  83. package/project/server/worker/worker-core.js +58 -0
  84. package/project/server/worker/worker-main.js +165 -0
  85. package/project/server/worker/worker-pool.js +94 -0
  86. package/project/server/worker/worker-thread.js +128 -0
  87. package/project/z-abs-corelayer-server.tree +99 -0
@@ -0,0 +1,202 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPath = require('./actor-path');
5
+ const Path = require('path');
6
+
7
+
8
+ class ActorPathGenerated {
9
+ constructor() {
10
+ this.actor = 'Actor';
11
+
12
+ if(ActorPath.releaseStepDelivery) {
13
+ this.actorGeneratedFolder = ActorPath.setPath(ActorPath.getActorPath(), `..${Path.sep}..${Path.sep}..${Path.sep}Generated`);
14
+ }
15
+ else {
16
+ this.actorGeneratedFolder = ActorPath.setPath(ActorPath.getActorPath(), `..${Path.sep}Generated`);
17
+ }
18
+
19
+ this.actorGeneratedStagingFolder = ActorPath.setPath(this.actorGeneratedFolder, `${Path.sep}Staging`);
20
+ this.actorGeneratedTestCaseFolder = ActorPath.setPath(this.actorGeneratedFolder, `${Path.sep}TestCase`);
21
+ this.actorGeneratedStagingButtonsFolder = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}StagingButtons`);
22
+ this.actorGeneratedTestCaseButtonsFolder = ActorPath.setPath(this.actorGeneratedTestCaseFolder, `${Path.sep}TestCaseButtons`);
23
+ this.actorGeneratedTestSuiteFolder = ActorPath.setPath(this.actorGeneratedFolder, `${Path.sep}TestSuite`);
24
+ this.actorGeneratedTestSuiteButtonsFolder = ActorPath.setPath(this.actorGeneratedTestSuiteFolder, `${Path.sep}TestSuiteButtons`);
25
+ this.actorGeneratedTestCaseDebuggerFolder = ActorPath.setPath(this.actorGeneratedFolder, `${Path.sep}Debugger`);
26
+ this.actorGeneratedWorkspaceFolder = ActorPath.setPath(this.actorGeneratedFolder, `${Path.sep}Workspace`);
27
+ this.actorGeneratedProjectsFolder = ActorPath.setPath(this.actorGeneratedWorkspaceFolder, `${Path.sep}Projects`);
28
+ this.actorGeneratedDatabasesFolder = ActorPath.setPath(this.actorGeneratedFolder, `${Path.sep}Databases`);
29
+ this.actorGeneratedDatabasesGitFolder = ActorPath.setPath(this.actorGeneratedDatabasesFolder, `${Path.sep}Git`);
30
+ this.actorGeneratedDatabasesNpmFolder = ActorPath.setPath(this.actorGeneratedDatabasesFolder, `${Path.sep}Npm`);
31
+ this.actorGeneratedBuildFolder = ActorPath.setPath(this.actorGeneratedFolder, `${Path.sep}Build`);
32
+
33
+ this.actorGeneratedStagingFile = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}staging.json`);
34
+ this.actorGeneratedNetworksFile = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}networks.json`);
35
+ this.actorGeneratedAddressesFile = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}addresses.json`);
36
+ this.actorGeneratedLocalDnsFile = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}local-dns.json`);
37
+ this.actorGeneratedDependenciesFile = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}dependencies.json`);
38
+
39
+ this.actorGeneratedStagingReport = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}staging-report.json`);
40
+ this.actorGeneratedChosenAddresses = ActorPath.setPath(this.actorGeneratedStagingFolder, `${Path.sep}chosen-addresses.json`);
41
+ this.actorGeneratedTestCasesRecentFile = ActorPath.setPath(this.actorGeneratedTestCaseFolder, `${Path.sep}testCaseRecent.json`);
42
+ this.actorGeneratedStagingButtonsFile = ActorPath.setPath(this.actorGeneratedStagingButtonsFolder, `${Path.sep}stagingButtons`);
43
+ this.actorGeneratedTestCaseButtonsFile = ActorPath.setPath(this.actorGeneratedTestCaseButtonsFolder, `${Path.sep}testCaseButtons`);
44
+ this.actorGeneratedTestSuiteButtonsFile = ActorPath.setPath(this.actorGeneratedTestSuiteButtonsFolder, `${Path.sep}testSuiteButtons`);
45
+ this.actorGeneratedTestSuitesRecentFile = ActorPath.setPath(this.actorGeneratedTestSuiteFolder, `${Path.sep}testSuiteRecent.json`);
46
+ this.actorGeneratedWorkspaceFile = ActorPath.setPath(this.actorGeneratedWorkspaceFolder, `${Path.sep}workspaceRecent.json`);
47
+ }
48
+
49
+ getActorGeneratedFolder() {
50
+ return this.actorGeneratedFolder;
51
+ }
52
+
53
+ getStagingFolder() {
54
+ return this.actorGeneratedStagingFolder;
55
+ }
56
+
57
+ getStagingFile() {
58
+ return this.actorGeneratedStagingFile;
59
+ }
60
+
61
+ getNetworksFile() {
62
+ return this.actorGeneratedNetworksFile;
63
+ }
64
+
65
+ getAddressesFile() {
66
+ return this.actorGeneratedAddressesFile;
67
+ }
68
+
69
+ getLocalDnsFile() {
70
+ return this.actorGeneratedLocalDnsFile;
71
+ }
72
+
73
+ getStagingReport() {
74
+ return this.actorGeneratedStagingReport;
75
+ }
76
+
77
+ getChosenAddresses() {
78
+ return this.actorGeneratedChosenAddresses;
79
+ }
80
+
81
+ getDependenciesFile() {
82
+ return this.actorGeneratedDependenciesFile;
83
+ }
84
+
85
+ getTestCaseFolder() {
86
+ return this.actorGeneratedTestCaseFolder;
87
+ }
88
+
89
+ getStagingButtonsFolder() {
90
+ return this.actorGeneratedStagingButtonsFolder;
91
+ }
92
+
93
+ getTestCaseButtonsFolder() {
94
+ return this.actorGeneratedTestCaseButtonsFolder;
95
+ }
96
+
97
+ getTestSuiteButtonsFolder() {
98
+ return this.actorGeneratedTestSuiteButtonsFolder;
99
+ }
100
+
101
+ getTestCasesRecentFile() {
102
+ return this.actorGeneratedTestCasesRecentFile;
103
+ }
104
+
105
+ getStagingButtonsFile(key) {
106
+ return `${this.actorGeneratedStagingButtonsFile}_${key}.json`;
107
+ }
108
+
109
+ getTestCaseButtonsFile(key) {
110
+ return `${this.actorGeneratedTestCaseButtonsFile}_${key}.json`;
111
+ }
112
+
113
+ getTestCasesButtonsFile() {
114
+ return this.actorGeneratedTestCaseButtonsFile;
115
+ }
116
+
117
+ getTestSuiteButtonsFile(key) {
118
+ return `${this.actorGeneratedTestSuiteButtonsFile}_${key}.json`;
119
+ }
120
+
121
+ getTestSuitesButtonsFile() {
122
+ return this.actorGeneratedTestSuiteButtonsFile;
123
+ }
124
+
125
+ getTestSuiteFolder() {
126
+ return this.actorGeneratedTestSuiteFolder;
127
+ }
128
+
129
+ getTestSuitesRecentFile() {
130
+ return this.actorGeneratedTestSuitesRecentFile;
131
+ }
132
+
133
+ getTestDebuggerFolder() {
134
+ return this.actorGeneratedTestCaseDebuggerFolder;
135
+ }
136
+
137
+ getTestCaseDebuggerFolder(sut, fut) {
138
+ return `${this.actorGeneratedTestCaseDebuggerFolder}${Path.sep}Sut${sut}${Path.sep}Fut${fut}`;
139
+ }
140
+
141
+ getTestCaseDebuggerFile(sut, fut, tc) {
142
+ return `${this.actorGeneratedTestCaseDebuggerFolder}${Path.sep}Sut${sut}${Path.sep}Fut${fut}${Path.sep}Tc${tc}.json`;
143
+ }
144
+
145
+ getWorkspaceFolder() {
146
+ return this.actorGeneratedWorkspaceFolder;
147
+ }
148
+
149
+ getProjectsFolder() {
150
+ return this.actorGeneratedProjectsFolder;
151
+ }
152
+
153
+ getDatabasesFolder() {
154
+ return this.actorGeneratedDatabasesFolder;
155
+ }
156
+
157
+ getDatabasesGitFolder() {
158
+ return this.actorGeneratedDatabasesGitFolder;
159
+ }
160
+
161
+ getDatabasesNpmFolder() {
162
+ return this.actorGeneratedDatabasesNpmFolder;
163
+ }
164
+
165
+ getBuildFolder() {
166
+ return this.actorGeneratedBuildFolder;
167
+ }
168
+
169
+ getWorkspaceRecentFiles() {
170
+ return this.actorGeneratedWorkspaceFile;
171
+ }
172
+
173
+ getProjectFile(name, type) {
174
+ if(!type) {
175
+ return `${this.actorGeneratedProjectsFolder}${Path.sep}${name}-project.json`;
176
+ }
177
+ else {
178
+ return `${this.actorGeneratedProjectsFolder}${Path.sep}${name}.json`;
179
+ }
180
+ }
181
+
182
+ getActorsProjectFile(path) {
183
+ if(path.startsWith('./Actors-global')) {
184
+ return `${this.actorGeneratedProjectsFolder}${Path.sep}actors-global-project.json`;
185
+ }
186
+ else if(path.startsWith('./Actors-local')) {
187
+ return `${this.actorGeneratedProjectsFolder}${Path.sep}actors-local-project.json`;
188
+ }
189
+ }
190
+
191
+ getStacksProjectFile(path) {
192
+ if(path.startsWith('./Stacks-global')) {
193
+ return `${this.actorGeneratedProjectsFolder}${Path.sep}stacks-global-project.json`;
194
+ }
195
+ else if(path.startsWith('./Stacks-local')) {
196
+ return `${this.actorGeneratedProjectsFolder}${Path.sep}stacks-local-project.json`;
197
+ }
198
+ }
199
+ }
200
+
201
+
202
+ module.exports = new ActorPathGenerated();
@@ -0,0 +1,181 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPath = require('./actor-path');
5
+ const Path = require('path');
6
+
7
+
8
+ class ActorPathProject {
9
+ constructor() {
10
+ this.codeProjectFolder = ActorPath.setPath(ActorPath.getActorPath(), `${Path.sep}project`);
11
+ this.pluginPathPart = `${Path.sep}..${Path.sep}..${Path.sep}..${Path.sep}..${Path.sep}..${Path.sep}..`;
12
+ if(ActorPath.releaseStepDelivery) {
13
+ this.projectRelativePath = `.${Path.sep}`;
14
+ this.projectResolvedPath = `${Path.resolve(this.projectRelativePath)}${Path.sep}`;
15
+ this.externalRelativePath = `.${Path.sep}node_modules${Path.sep}${ActorPath.organization}${Path.sep}`;
16
+ this.externalResolvedPath = `${Path.resolve(this.externalRelativePath)}${Path.sep}`;
17
+ this.pluginRelativePath = `..${Path.sep}..${Path.sep}..${Path.sep}..${Path.sep}`;
18
+ this.pluginResolvedPath = `${Path.resolve(this.pluginRelativePath)}${Path.sep}`;
19
+ }
20
+ else if(ActorPath.releaseStepCandidate) {
21
+ this.projectRelativePath = `.${Path.sep}`;
22
+ this.projectResolvedPath = `${Path.resolve(this.projectRelativePath)}${Path.sep}`;
23
+ this.externalRelativePath = `.${Path.sep}node_modules${Path.sep}`;
24
+ this.externalResolvedPath = `${Path.resolve(this.externalRelativePath)}${Path.sep}`;
25
+ this.pluginRelativePath = `..${Path.sep}..${Path.sep}..${Path.sep}..${Path.sep}`;
26
+ this.pluginResolvedPath = `${Path.resolve(this.pluginRelativePath)}${Path.sep}`;
27
+ }
28
+ else {
29
+ this.projectRelativePath = `.${Path.sep}`;
30
+ this.projectResolvedPath = `${Path.resolve(this.projectRelativePath)}${Path.sep}`;
31
+ this.externalRelativePath = `..${Path.sep}`;
32
+ this.externalResolvedPath = `${Path.resolve(this.externalRelativePath)}${Path.sep}`;
33
+ this.pluginRelativePath = `..${Path.sep}`;
34
+ this.pluginResolvedPath = `${Path.resolve(this.pluginRelativePath)}${Path.sep}`;
35
+ }
36
+ this.clientJsx = 'clientJsx';
37
+ this.clientJs = 'clientJs';
38
+ this.clientServerJs = 'clientServerJs';
39
+ this.serverWorkerLogJs = 'serverWorkerLogJs';
40
+ this.serverWorkerActorJs = 'serverWorkerActorJs';
41
+ this.serverJs = 'serverJs';
42
+ this.apiJs = 'apiJs';
43
+ }
44
+
45
+ getCacheName(path, projectType) {
46
+ if(projectType) {
47
+ if('server' === projectType) {
48
+ return this.serverJs;
49
+ }
50
+ else if('clientServer' === projectType) {
51
+ return this.clientServerJs;
52
+ }
53
+ else if('client' === projectType) {
54
+ if(path.endsWith('jsx')) {
55
+ return this.clientJsx;
56
+ }
57
+ if(path.endsWith('js')) {
58
+ return this.clientJs;
59
+ }
60
+ }
61
+ }
62
+ else {
63
+ if(path.startsWith('./project/server')) {
64
+ return this.serverJs;
65
+ }
66
+ else if(path.startsWith('./project/clientServer')) {
67
+ return this.clientServerJs;
68
+ }
69
+ else if(path.startsWith('./project/client')) {
70
+ if(path.endsWith('jsx')) {
71
+ return this.clientJsx;
72
+ }
73
+ if(path.endsWith('js')) {
74
+ return this.clientJs;
75
+ }
76
+ }
77
+ else if(path.startsWith('./project/api')) {
78
+ return this.apiJs;
79
+ }
80
+ else if(path.startsWith('./project/serverWorkers/serverWorkerLog')) {
81
+ return this.serverWorkerLogJs;
82
+ }
83
+ else if(path.startsWith('./project/serverWorkers/serverWorkerActor')) {
84
+ return this.serverWorkerActorJs;
85
+ }
86
+ }
87
+ }
88
+
89
+ getWorkspaceFile(appName, workspaceName) {
90
+ return `${ActorPath.getActorParentPath()}${appName}${Path.sep}workspace${Path.sep}${workspaceName}.wrk`;
91
+ }
92
+
93
+ getCodeProjectFolder(name, type, workspaceName) {
94
+ if(!name) {
95
+ if(workspaceName) {
96
+ return `${ActorPath.getActorParentPath()}${Path.sep}${workspaceName}${Path.sep}project`;
97
+ }
98
+ else {
99
+ return this.codeProjectFolder;
100
+ }
101
+ }
102
+ else if(!type) {
103
+ return `${this.externalResolvedPath}${Path.sep}${name}${Path.sep}project`;
104
+ }
105
+ else {
106
+ return `${this.externalResolvedPath}${Path.sep}${name}${Path.sep}project${Path.sep}${type}`;
107
+ }
108
+ }
109
+
110
+ getCodeProjectPureFile(name, type, isExternalPlugin) {
111
+ if(!type) {
112
+ return `..${Path.sep}${name}${Path.sep}project${Path.sep}${name}-project.tree`;
113
+ }
114
+ else {
115
+ if(!isExternalPlugin) {
116
+ return Path.resolve(`${this.externalResolvedPath}${Path.sep}${name}${Path.sep}project${Path.sep}${name}.tree`);
117
+ }
118
+ else {
119
+ return Path.resolve(`${this.pluginResolvedPath}${Path.sep}${name}${Path.sep}project${Path.sep}${name}.tree`);
120
+ }
121
+ }
122
+ }
123
+
124
+ getFile(fileName, projectType, isExternalPlugin, workspaceName) {
125
+ if(!projectType) {
126
+ if(workspaceName) {
127
+ return Path.normalize(`${ActorPath.getActorParentPath()}${workspaceName}${fileName.substring(1).replace(new RegExp('[/\\\\]', 'g'), Path.sep)}`);
128
+ }
129
+ else {
130
+ return Path.normalize(`${this.projectResolvedPath}${fileName.replace(new RegExp('[/\\\\]', 'g'), Path.sep)}`);
131
+ }
132
+ }
133
+ else {
134
+ const secondSlash = fileName.indexOf('/', 2);
135
+ if(-1 === secondSlash) {
136
+ throw new Error(`fileName: '${fileName}' is not a external project filename.`);
137
+ }
138
+ if(!isExternalPlugin) {
139
+ return Path.normalize(`${this.externalResolvedPath}${fileName.substring(0, secondSlash)}${Path.sep}project${Path.sep}${fileName.substring(secondSlash + 1)}`.replace(new RegExp('[/\\\\]', 'g'), Path.sep));
140
+ }
141
+ else {
142
+ return Path.normalize(`${this.pluginResolvedPath}${fileName.substring(0, secondSlash)}${Path.sep}project${Path.sep}${fileName.substring(secondSlash + 1)}`.replace(new RegExp('[/\\\\]', 'g'), Path.sep));
143
+ }
144
+ }
145
+ }
146
+
147
+ getRelativePath(path, projectType, isExternalPlugin) {
148
+ if(!projectType) {
149
+ return Path.normalize(`${this.projectRelativePath}${path.replace(new RegExp('[/\\\\]', 'g'), Path.sep)}`);
150
+ }
151
+ else {
152
+ const secondSlash = path.indexOf('/', 2);
153
+ if(-1 === secondSlash) {
154
+ throw new Error(`path: '${path}' is not a external project path.`);
155
+ }
156
+ if(!isExternalPlugin) {
157
+ return Path.normalize(`${this.externalRelativePath}${path.substring(0, secondSlash)}${Path.sep}project${Path.sep}${path.substring(secondSlash + 1)}`.replace(new RegExp('[/\\\\]', 'g'), Path.sep));
158
+ }
159
+ else {
160
+ return Path.normalize(`${this.pluginRelativePath}${path.substring(0, secondSlash)}${Path.sep}project${Path.sep}${path.substring(secondSlash + 1)}`.replace(new RegExp('[/\\\\]', 'g'), Path.sep));
161
+ }
162
+ }
163
+ }
164
+
165
+ getRawPath(projectType, isExternalPlugin) {
166
+ if(!projectType) {
167
+ return Path.normalize(this.projectResolvedPath);
168
+ }
169
+ else {
170
+ if(!isExternalPlugin) {
171
+ return Path.normalize(this.externalResolvedPath);
172
+ }
173
+ else {
174
+ return Path.normalize(this.pluginResolvedPath);
175
+ }
176
+ }
177
+ }
178
+ }
179
+
180
+
181
+ module.exports = new ActorPathProject();
@@ -0,0 +1,57 @@
1
+
2
+ 'use strict';
3
+
4
+ const Path = require('path');
5
+
6
+
7
+ class ActorPath {
8
+ constructor() {
9
+ const releaseData = Reflect.get(global, 'release-data@actorjs_global');
10
+ this.releaseStep = releaseData.releaseStep;
11
+ this.organization = releaseData.organization;
12
+ this.appName = releaseData.appName;
13
+ this.releaseStepDevelopment = 'source' === this.releaseStep || 'development' === this.releaseStep;
14
+ this.releaseStepCandidate = 'candidate' === this.releaseStep;
15
+ this.releaseStepDelivery = 'delivery' === this.releaseStep;
16
+
17
+ this.actorPath = this.setPath(Path.resolve('.'), '');
18
+ this.actorParentPath = this.setPath(Path.resolve('..'), '');
19
+ this.actorTmpPath = this.setPath(this.actorPath, `${Path.sep}temp`);
20
+ this.packageJsonFile = this.setPath(this.actorPath, `${Path.sep}package.json`);
21
+ this.packageJsonLockFile = this.setPath(this.actorPath, `${Path.sep}package-lock.json`);
22
+ this.settingsFile = this.setPath(this.actorPath, `${Path.sep}settings.json`);
23
+ }
24
+
25
+ static space = ' ';
26
+
27
+ setPath(prePath, newPath) {
28
+ return Path.normalize(`${prePath}${Path.sep}${newPath}`);
29
+ }
30
+
31
+ getActorPath() {
32
+ return this.actorPath;
33
+ }
34
+
35
+ getActorParentPath() {
36
+ return this.actorParentPath;
37
+ }
38
+
39
+ getActorTmpPath() {
40
+ return this.actorTmpPath;
41
+ }
42
+
43
+ getPackageJsonFile() {
44
+ return this.packageJsonFile;
45
+ }
46
+
47
+ getPackageJsonLockFile() {
48
+ return this.packageJsonLockFile;
49
+ }
50
+
51
+ getSettingsFile() {
52
+ return this.settingsFile;
53
+ }
54
+ }
55
+
56
+
57
+ module.exports = new ActorPath();
@@ -0,0 +1,34 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathCreator = require('../actor-path-creator');
5
+ const ActorPathContent = require('../actor-path-content');
6
+ const ActorPath = require('../actor-path');
7
+
8
+
9
+ class ActorContentPaths {
10
+ constructor() {
11
+ this.folderPaths = [
12
+ ActorPathContent.getContentFolder(),
13
+ ActorPathContent.getContentLocalFolder()
14
+ ];
15
+ if(ActorPath.releaseStepDevelopment) {
16
+ this.folderPaths.push(ActorPathContent.getContentGlobalFolder());
17
+ }
18
+ this.filePaths = [
19
+ {
20
+ path: ActorPathContent.getReadMeFile(),
21
+ text: `# ActorJs AB #
22
+
23
+ ## actorjs-content-local - repo ##`
24
+ }
25
+ ];
26
+ }
27
+
28
+ verifyOrCreate(done) {
29
+ new ActorPathCreator(this.folderPaths, this.filePaths).verifyOrCreate(done);
30
+ }
31
+ }
32
+
33
+
34
+ module.exports = ActorContentPaths;