underpost 3.2.9 → 3.2.11

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 (104) hide show
  1. package/.github/workflows/npmpkg.ci.yml +1 -0
  2. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  3. package/.github/workflows/release.cd.yml +1 -0
  4. package/.vscode/extensions.json +9 -9
  5. package/.vscode/settings.json +20 -4
  6. package/CHANGELOG.md +195 -1
  7. package/CLI-HELP.md +92 -23
  8. package/README.md +38 -9
  9. package/bin/build.js +27 -7
  10. package/bin/build.template.js +187 -0
  11. package/bin/deploy.js +12 -2
  12. package/bin/index.js +2 -1
  13. package/bump.config.js +26 -0
  14. package/conf.js +20 -7
  15. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  16. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  17. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  18. package/manifests/deployment/dd-test-development/deployment.yaml +4 -2
  19. package/manifests/kind-config-dev.yaml +8 -0
  20. package/manifests/lxd/lxd-admin-profile.yaml +12 -3
  21. package/manifests/mongodb/pv-pvc.yaml +44 -8
  22. package/manifests/mongodb/statefulset.yaml +55 -68
  23. package/manifests/mongodb-4.4/headless-service.yaml +10 -0
  24. package/manifests/mongodb-4.4/kustomization.yaml +3 -1
  25. package/manifests/mongodb-4.4/mongodb-nodeport.yaml +17 -0
  26. package/manifests/mongodb-4.4/pv-pvc.yaml +10 -14
  27. package/manifests/mongodb-4.4/statefulset.yaml +79 -0
  28. package/manifests/mongodb-4.4/storage-class.yaml +9 -0
  29. package/manifests/valkey/statefulset.yaml +1 -1
  30. package/manifests/valkey/valkey-nodeport.yaml +17 -0
  31. package/package.json +27 -12
  32. package/scripts/ipxe-setup.sh +52 -49
  33. package/scripts/k3s-node-setup.sh +81 -46
  34. package/scripts/lxd-vm-setup.sh +193 -8
  35. package/scripts/maas-nat-firewalld.sh +145 -0
  36. package/src/api/core/core.router.js +19 -14
  37. package/src/api/core/core.service.js +5 -5
  38. package/src/api/default/default.router.js +22 -18
  39. package/src/api/default/default.service.js +5 -5
  40. package/src/api/document/document.router.js +28 -23
  41. package/src/api/document/document.service.js +100 -23
  42. package/src/api/file/file.router.js +19 -13
  43. package/src/api/file/file.service.js +9 -7
  44. package/src/api/test/test.router.js +17 -12
  45. package/src/api/types.js +24 -0
  46. package/src/api/user/guest.service.js +5 -4
  47. package/src/api/user/user.router.js +297 -288
  48. package/src/api/user/user.service.js +100 -35
  49. package/src/cli/baremetal.js +132 -101
  50. package/src/cli/cluster.js +700 -232
  51. package/src/cli/db.js +59 -60
  52. package/src/cli/deploy.js +216 -137
  53. package/src/cli/fs.js +13 -3
  54. package/src/cli/index.js +80 -15
  55. package/src/cli/ipfs.js +4 -6
  56. package/src/cli/kubectl.js +4 -1
  57. package/src/cli/lxd.js +1099 -223
  58. package/src/cli/monitor.js +9 -3
  59. package/src/cli/release.js +334 -140
  60. package/src/cli/repository.js +68 -23
  61. package/src/cli/run.js +191 -47
  62. package/src/cli/secrets.js +11 -2
  63. package/src/cli/test.js +9 -3
  64. package/src/client/Default.index.js +9 -3
  65. package/src/client/components/core/Auth.js +5 -0
  66. package/src/client/components/core/ClientEvents.js +76 -0
  67. package/src/client/components/core/EventBus.js +4 -0
  68. package/src/client/components/core/Modal.js +82 -41
  69. package/src/client/components/core/PanelForm.js +56 -52
  70. package/src/client/components/core/Worker.js +162 -363
  71. package/src/client/sw/core.sw.js +174 -112
  72. package/src/db/DataBaseProvider.js +115 -15
  73. package/src/db/mariadb/MariaDB.js +2 -1
  74. package/src/db/mongo/MongoBootstrap.js +657 -0
  75. package/src/db/mongo/MongooseDB.js +129 -21
  76. package/src/index.js +1 -1
  77. package/src/runtime/express/Express.js +2 -2
  78. package/src/runtime/wp/Wp.js +8 -5
  79. package/src/server/auth.js +2 -2
  80. package/src/server/client-build-docs.js +1 -1
  81. package/src/server/client-build.js +94 -129
  82. package/src/server/conf.js +81 -79
  83. package/src/server/process.js +180 -19
  84. package/src/server/proxy.js +9 -2
  85. package/src/server/runtime.js +1 -1
  86. package/src/server/start.js +16 -4
  87. package/src/server/valkey.js +2 -0
  88. package/src/ws/IoInterface.js +16 -16
  89. package/src/ws/core/channels/core.ws.chat.js +11 -11
  90. package/src/ws/core/channels/core.ws.mailer.js +29 -29
  91. package/src/ws/core/channels/core.ws.stream.js +19 -19
  92. package/src/ws/core/core.ws.connection.js +8 -8
  93. package/src/ws/core/core.ws.server.js +6 -5
  94. package/src/ws/default/channels/default.ws.main.js +10 -10
  95. package/src/ws/default/default.ws.connection.js +4 -4
  96. package/src/ws/default/default.ws.server.js +4 -3
  97. package/bin/file.js +0 -202
  98. package/bin/vs.js +0 -74
  99. package/bin/zed.js +0 -84
  100. package/src/client/ssr/email/DefaultRecoverEmail.js +0 -21
  101. package/src/client/ssr/email/DefaultVerifyEmail.js +0 -17
  102. /package/src/client/ssr/{offline → views}/Maintenance.js +0 -0
  103. /package/src/client/ssr/{offline → views}/NoNetworkConnection.js +0 -0
  104. /package/src/client/ssr/{pages → views}/Test.js +0 -0
package/bin/file.js DELETED
@@ -1,202 +0,0 @@
1
- import fs from 'fs-extra';
2
-
3
- import { loggerFactory } from '../src/server/logger.js';
4
- import {
5
- cap,
6
- getCapVariableName,
7
- getDirname,
8
- newInstance,
9
- uniqueArray,
10
- } from '../src/client/components/core/CommonJs.js';
11
- import { shellCd, shellExec } from '../src/server/process.js';
12
- import walk from 'ignore-walk';
13
- import { validateTemplatePath } from '../src/server/conf.js';
14
- import dotenv from 'dotenv';
15
-
16
- const logger = loggerFactory(import.meta);
17
-
18
- dotenv.config({ path: `./engine-private/conf/dd-cron/.env.production`, override: true });
19
-
20
- logger.info('argv', process.argv);
21
-
22
- let [exe, dir, type] = process.argv;
23
- let rawPath = process.argv[3].replaceAll(`'`, '');
24
- let toPath = process.argv[4].replaceAll(`'`, '');
25
- let path = `${rawPath}`.split('/');
26
- path.pop();
27
- path = path.join('/');
28
- const file = `${rawPath}`.split('/').pop();
29
- const ext = file.split('.')[1];
30
- let name = getCapVariableName(file.split('.')[0]);
31
- let content = '';
32
-
33
- logger.info('File metadata', { path, file, ext, name });
34
-
35
- try {
36
- switch (type) {
37
- case 'update-template':
38
- case 'copy-src':
39
- console.log({ rawPath, toPath });
40
-
41
- let result = await new Promise((resolve) =>
42
- walk(
43
- {
44
- path: rawPath, // root dir to start in. defaults to process.cwd()
45
- ignoreFiles: [`.gitignore`], // list of filenames. defaults to ['.ignore']
46
- includeEmpty: false, // true to include empty dirs, default false
47
- follow: false, // true to follow symlink dirs, default false
48
- },
49
- (...args) => resolve(args[1]),
50
- ),
51
- );
52
-
53
- result = result.filter((path) => !path.startsWith('.git'));
54
-
55
- console.log('copy paths', result);
56
-
57
- if (type === 'update-template') {
58
- if (!fs.existsSync(toPath))
59
- shellExec(`cd .. && underpost clone ${process.env.GITHUB_USERNAME}/pwa-microservices-template`);
60
- else {
61
- shellExec(`cd ${toPath} && git reset && git checkout . && git clean -f -d`);
62
- shellExec(`underpost pull ${toPath} ${process.env.GITHUB_USERNAME}/pwa-microservices-template`);
63
- shellExec(`sudo rm -rf ${toPath}/engine-private`);
64
- shellExec(`sudo rm -rf ${toPath}/logs`);
65
- }
66
- } else {
67
- fs.removeSync(toPath);
68
- }
69
-
70
- for (const copyPath of result) {
71
- if (copyPath === 'NaN') continue;
72
- const folder = getDirname(`${toPath}/${copyPath}`);
73
- const absolutePath = `${rawPath}/${copyPath}`;
74
-
75
- if (type === 'update-template' && !validateTemplatePath(absolutePath)) continue;
76
-
77
- if (!fs.existsSync(folder)) fs.mkdirSync(folder, { recursive: true });
78
-
79
- logger.info('build', `${toPath}/${copyPath}`);
80
-
81
- fs.copyFileSync(absolutePath, `${toPath}/${copyPath}`);
82
- }
83
-
84
- if (type === 'update-template') {
85
- fs.copySync(`./.vscode`, `../pwa-microservices-template/.vscode`);
86
- // fs.copySync(`./.github`, `../pwa-microservices-template/.github`);
87
- fs.copySync(`./src/client/public/default`, `../pwa-microservices-template/src/client/public/default`);
88
-
89
- for (const checkoutPath of ['README.md', 'package.json'])
90
- shellExec(`cd ../pwa-microservices-template && git checkout ${checkoutPath}`);
91
-
92
- for (const deletePath of [
93
- './.github',
94
- './manifests/deployment/dd-lampp-development',
95
- './manifests/deployment/dd-cyberia-development',
96
- './manifests/deployment/dd-core-development',
97
- './manifests/deployment/dd-template-development',
98
- './src/server/object-layer.js',
99
- './src/server/atlas-sprite-sheet-generator.js',
100
- './src/server/shape-generator.js',
101
- './src/server/semantic-layer-generator.js',
102
- './src/server/semantic-layer-generator-floor.js',
103
- './src/server/semantic-layer-generator-skin.js',
104
- './src/server/semantic-layer-generator-resource.js',
105
- './src/server/besu-genesis-generator.js',
106
- './src/grpc/cyberia',
107
- './src/runtime/cyberia-server',
108
- './src/runtime/cyberia-client',
109
- './test/shape-generator.test.js',
110
- './src/client/public/cyberia-docs',
111
- 'bin/cyberia.js',
112
- ]) {
113
- if (fs.existsSync(deletePath)) fs.removeSync('../pwa-microservices-template/' + deletePath);
114
- }
115
-
116
- fs.mkdirSync(`../pwa-microservices-template/.github/workflows`, {
117
- recursive: true,
118
- });
119
- for (const _path of [
120
- `./.github/workflows/pwa-microservices-template-page.cd.yml`,
121
- `./.github/workflows/pwa-microservices-template-test.ci.yml`,
122
- `./.github/workflows/npmpkg.ci.yml`,
123
- `./.github/workflows/ghpkg.ci.yml`,
124
- `./.github/workflows/gitlab.ci.yml`,
125
- `./.github/workflows/publish.ci.yml`,
126
- `./.github/workflows/release.cd.yml`,
127
- `./src/client/services/user/guest.service.js`,
128
- './src/api/user/guest.service.js',
129
- './src/ws/IoInterface.js',
130
- './src/ws/IoServer.js',
131
- ])
132
- fs.copyFileSync(_path, `../pwa-microservices-template/${_path}`);
133
-
134
- const originPackageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
135
- const templatePackageJson = JSON.parse(fs.readFileSync('../pwa-microservices-template/package.json', 'utf8'));
136
-
137
- const name = templatePackageJson.name;
138
- const description = templatePackageJson.description;
139
- const dev = templatePackageJson.scripts.dev;
140
- const build = templatePackageJson.scripts.build;
141
-
142
- templatePackageJson.dependencies = originPackageJson.dependencies;
143
- templatePackageJson.devDependencies = originPackageJson.devDependencies;
144
- templatePackageJson.version = originPackageJson.version;
145
- templatePackageJson.scripts = originPackageJson.scripts;
146
- templatePackageJson.overrides = originPackageJson.overrides;
147
- templatePackageJson.name = name;
148
- templatePackageJson.description = description;
149
- // templatePackageJson.scripts.dev = dev;
150
- // templatePackageJson.scripts.build = build;
151
- templatePackageJson.keywords = uniqueArray(
152
- ['pwa', 'microservices', 'template', 'builder'].concat(templatePackageJson.keywords),
153
- );
154
- delete templatePackageJson.scripts['update:template'];
155
- fs.writeFileSync(
156
- '../pwa-microservices-template/package.json',
157
- JSON.stringify(templatePackageJson, null, 4),
158
- 'utf8',
159
- );
160
- const originPackageLockJson = JSON.parse(fs.readFileSync('./package-lock.json', 'utf8'));
161
-
162
- const templatePackageLockJson = JSON.parse(
163
- fs.readFileSync('../pwa-microservices-template/package-lock.json', 'utf8'),
164
- );
165
-
166
- const originBasePackageLock = newInstance(templatePackageLockJson.packages['']);
167
- templatePackageLockJson.name = name;
168
- templatePackageLockJson.version = originPackageLockJson.version;
169
- templatePackageLockJson.packages = originPackageLockJson.packages;
170
- templatePackageLockJson.packages[''].name = name;
171
- templatePackageLockJson.packages[''].version = originPackageLockJson.version;
172
- templatePackageLockJson.packages[''].hasInstallScript = originBasePackageLock.hasInstallScript;
173
- templatePackageLockJson.packages[''].license = originBasePackageLock.license;
174
- fs.writeFileSync(
175
- '../pwa-microservices-template/package-lock.json',
176
- JSON.stringify(templatePackageLockJson, null, 4),
177
- 'utf8',
178
- );
179
- // Regenerate package-lock.json to match the modified package.json
180
- // shellExec(`cd ../pwa-microservices-template && npm install --package-lock-only --ignore-scripts`);
181
- fs.writeFileSync(
182
- '../pwa-microservices-template/README.md',
183
- fs
184
- .readFileSync('./README.md', 'utf8')
185
- .replace('<!-- template-title -->', '#### Base template for pwa/api-rest projects.'),
186
- 'utf8',
187
- );
188
- }
189
-
190
- break;
191
- case 'create':
192
- const buildPath = `${path}/${name}${ext ? `.${ext}` : ''}`;
193
- logger.info('Build path', buildPath);
194
- fs.mkdirSync(path, { recursive: true });
195
- fs.writeFileSync(buildPath, content, 'utf8');
196
- default:
197
- logger.error('not found operator');
198
- break;
199
- }
200
- } catch (error) {
201
- logger.error(error, error.stack);
202
- }
package/bin/vs.js DELETED
@@ -1,74 +0,0 @@
1
- import fs from 'fs-extra';
2
- import { shellExec } from '../src/server/process.js';
3
- import { loggerFactory } from '../src/server/logger.js';
4
-
5
- const logger = loggerFactory(import.meta);
6
-
7
- const vsCodeRootPath = '/root/.vscode-root';
8
- const vsConfigRootPath = '/root/.config/Code';
9
-
10
- const vsProgram = 'code';
11
-
12
- switch (process.argv[2]) {
13
- case 'info': {
14
- logger.info('Formatted', 'Ctrl shift I');
15
- logger.info('Command', 'Ctrl shift P');
16
- logger.info('Search', 'Ctrl shift F');
17
- logger.info('Debug', 'Ctrl shift D');
18
- logger.info('New File', 'Ctrl N');
19
- logger.info('Change tab', 'Ctrl Tab');
20
- logger.info('Fold All', 'Ctrl K + Ctrl 0');
21
- logger.info('Unfold All', 'Ctrl K + Ctrl J');
22
- logger.info('Close All tabs', 'Ctrl K + W');
23
- logger.info('Go to line number', 'Ctrl G');
24
- logger.info('Change current project folder', 'Ctrl K + Ctrl O');
25
- logger.info('Open new vs windows', 'Ctrl Shift N');
26
- logger.info('Close current vs windows', 'Ctrl Shift W');
27
- logger.info('Preview md', 'Ctrl shift V');
28
- logger.info('Open git changes', 'Ctrl G + G');
29
- logger.warn('Terminal shortcut configure with command pallette', 'Ctl shift T');
30
- break;
31
- }
32
- case 'import':
33
- {
34
- const extensions = JSON.parse(fs.readFileSync(`./.vscode/extensions.json`, 'utf8'));
35
- extensions.recommendations.map((extension) => {
36
- if (extension)
37
- shellExec(
38
- `sudo ${vsProgram} --user-data-dir="${vsCodeRootPath}" --no-sandbox --install-extension ${extension}`,
39
- );
40
- });
41
- }
42
- break;
43
- case 'export':
44
- {
45
- shellExec(
46
- `sudo ${vsProgram} --user-data-dir="${vsCodeRootPath}" --no-sandbox --list-extensions > vs-extensions.txt`,
47
- );
48
- fs.writeFileSync(
49
- `./.vscode/extensions.json`,
50
- JSON.stringify(
51
- {
52
- recommendations: fs
53
- .readFileSync(`./vs-extensions.txt`, 'utf8')
54
- .split(`\n`)
55
- .filter((ext) => ext.trim()),
56
- },
57
- null,
58
- 4,
59
- ),
60
- 'utf8',
61
- );
62
- fs.removeSync(`./vs-extensions.txt`);
63
- }
64
- break;
65
-
66
- case 'clean': {
67
- shellExec(`sudo rm -rf ${vsCodeRootPath}/*`);
68
- shellExec(`sudo rn -rf ${vsConfigRootPath}`);
69
- break;
70
- }
71
- default:
72
- shellExec(`sudo ${vsProgram} ${process.argv[2]} --user-data-dir="${vsCodeRootPath}" --no-sandbox`);
73
- break;
74
- }
package/bin/zed.js DELETED
@@ -1,84 +0,0 @@
1
- import { shellExec } from '../src/server/process.js';
2
- import fs from 'fs-extra';
3
- import { loggerFactory } from '../src/server/logger.js';
4
- import { getUnderpostRootPath } from '../src/server/conf.js';
5
-
6
- const logger = loggerFactory(import.meta);
7
- const underpostRoot = getUnderpostRootPath();
8
-
9
- const settings = {
10
- ui_font_size: 16,
11
- buffer_font_size: 15,
12
- theme: {
13
- mode: 'system',
14
- light: 'One Dark',
15
- dark: 'One Dark',
16
- },
17
-
18
- features: {
19
- edit_prediction_provider: 'copilot',
20
- copilot: true,
21
- },
22
-
23
- show_edit_predictions: true,
24
-
25
- edit_predictions: {
26
- mode: 'eager',
27
- },
28
- };
29
-
30
- const keyMap = [
31
- {
32
- context: 'Editor',
33
- bindings: {
34
- 'ctrl-c': 'editor::Copy',
35
- 'ctrl-x': 'editor::Cut',
36
- 'ctrl-v': 'editor::Paste',
37
- 'ctrl-shift-c': 'editor::CopyAndTrim',
38
- 'ctrl-shift-v': 'editor::Paste',
39
- 'cmd-c': 'editor::Copy',
40
- 'cmd-x': 'editor::Cut',
41
- 'cmd-v': 'editor::Paste',
42
- },
43
- },
44
- {
45
- context: 'Terminal',
46
- bindings: {
47
- 'ctrl-shift-c': 'terminal::Copy',
48
- 'ctrl-shift-v': 'terminal::Paste',
49
- 'cmd-shift-c': 'terminal::Copy',
50
- 'cmd-shift-v': 'terminal::Paste',
51
- },
52
- },
53
- {
54
- context: 'Editor && edit_prediction',
55
- bindings: {
56
- tab: 'editor::AcceptEditPrediction',
57
- 'alt-tab': 'editor::AcceptEditPrediction',
58
- 'alt-l': null,
59
- },
60
- },
61
- {
62
- context: 'Editor && edit_prediction_conflict',
63
- bindings: {
64
- 'alt-l': 'editor::AcceptEditPrediction',
65
- tab: 'editor::ComposeCompletion',
66
- },
67
- },
68
- ];
69
-
70
- if (!fs.existsSync('/root/.config/zed')) fs.mkdirSync('/root/.config/zed', { recursive: true });
71
- fs.writeFileSync(`/root/.config/zed/settings.json`, JSON.stringify(settings, null, 4), 'utf8');
72
- fs.writeFileSync(`/root/.config/zed/keymap.json`, JSON.stringify(keyMap, null, 4), 'utf8');
73
-
74
- shellExec(`ZED_ALLOW_ROOT=true zed ${process.argv[2] ? process.argv[2] : '.'}`);
75
-
76
- logger.info('Connect copilot device', 'https://github.com/login/device');
77
- logger.info('Comments', 'Ctrl shift 7');
78
- logger.info('Unfold', 'Ctrl K + Ctrl J');
79
- logger.info('Fold', 'Ctrl K + Ctrl 0');
80
- logger.info('Command Palette', 'Ctrl Shift P');
81
- logger.info('Open File', 'Ctrl P');
82
- logger.info('Find in Files', 'Ctrl Shift F');
83
- logger.info('Go to Line', 'Ctrl G');
84
- logger.info('New file', 'Ctrl N');
@@ -1,21 +0,0 @@
1
- SrrComponent = (render = { style: {}, renderStyle: () => '' }, options) =>
2
- html`
3
- <div style="${render.renderStyle('body')}">
4
- <div style="${render.renderStyle('.container')}">
5
- <h1 style="${render.renderStyle('h1')}">{{H1}}</h1>
6
- <p style="${render.renderStyle('p')}">{{P1}}</p>
7
- <p style="${render.renderStyle('p')}">
8
- <a href="{{RECOVER_WEB_URL}}" style="${render.renderStyle('button')}"
9
- ><img
10
- src="http${options.transport.secure ? 's' : ''}://${options.host}${options.path === '/'
11
- ? ''
12
- : options.path}/api/user/recover/{{TOKEN}}"
13
- /><br />{{RECOVER_BTN_LABEL}}</a
14
- >
15
- </p>
16
- </div>
17
- <div style="${render.renderStyle('.footer')}">
18
- <p>{{COMPANY}}</p>
19
- </div>
20
- </div>
21
- `;
@@ -1,17 +0,0 @@
1
- SrrComponent = (render = { style: {}, renderStyle: () => '' }, options) =>
2
- html`
3
- <div style="${render.renderStyle('body')}">
4
- <div style="${render.renderStyle('.container')}">
5
- <h1 style="${render.renderStyle('h1')}">{{H1}}</h1>
6
- <p style="${render.renderStyle('p')}">{{P1}}</p>
7
- <img
8
- src="http${options.transport.secure ? 's' : ''}://${options.host}${options.path === '/'
9
- ? ''
10
- : options.path}/api/user/mailer/{{TOKEN}}"
11
- />
12
- </div>
13
- <div style="${render.renderStyle('.footer')}">
14
- <p>{{COMPANY}}</p>
15
- </div>
16
- </div>
17
- `;
File without changes