mbkbucket 3.5.1 → 3.7.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 (42) hide show
  1. package/.env.example +14 -14
  2. package/.mbkbucket.config.example.json +14 -14
  3. package/LICENSE +20 -20
  4. package/README.md +377 -350
  5. package/index.js +30 -30
  6. package/lib/cli.js +5 -4
  7. package/lib/public/bucketadmin.css +1695 -1420
  8. package/lib/public/bucketadmin.js +1229 -1229
  9. package/lib/public/mbkbucket-helper-demo.html +1184 -1184
  10. package/lib/public/mbkbucket-helper.css +1235 -1235
  11. package/lib/public/mbkbucket-helper.js +1557 -1557
  12. package/lib/src/app.js +109 -109
  13. package/lib/src/cli/auth-helper.js +141 -150
  14. package/lib/src/config/index.js +110 -112
  15. package/lib/src/config/validation.js +73 -73
  16. package/lib/src/controllers/api.controller.js +410 -410
  17. package/lib/src/controllers/dashboard.controller.js +49 -48
  18. package/lib/src/controllers/info.controller.js +33 -34
  19. package/lib/src/controllers/view.controller.js +231 -233
  20. package/lib/src/middleware/async-handler.js +19 -23
  21. package/lib/src/middleware/bucket-resolver.js +37 -37
  22. package/lib/src/middleware/error-handler.js +50 -54
  23. package/lib/src/middleware/rate-limiter.js +22 -22
  24. package/lib/src/middleware/security.js +21 -27
  25. package/lib/src/routes/api.routes.js +53 -40
  26. package/lib/src/routes/index.js +60 -21
  27. package/lib/src/routes/info.routes.js +9 -9
  28. package/lib/src/routes/view.routes.js +25 -20
  29. package/lib/src/services/s3.service.js +594 -603
  30. package/lib/src/utils/errors.js +46 -54
  31. package/lib/src/utils/helpers.js +212 -251
  32. package/lib/src/utils/logger.js +17 -17
  33. package/package.json +83 -83
  34. package/views/bucket.handlebars +196 -196
  35. package/views/bucketadmin_alerts.handlebars +15 -15
  36. package/views/bucketadmin_delete_modal.handlebars +36 -36
  37. package/views/bucketadmin_filelist_skeleton.handlebars +32 -32
  38. package/views/bucketadmin_newfolder_modal.handlebars +29 -29
  39. package/views/bucketadmin_preview_modal.handlebars +40 -40
  40. package/views/bucketadmin_upload_modal.handlebars +54 -54
  41. package/views/bucketadmincontent.handlebars +141 -141
  42. package/views/mbkbucket_info.handlebars +232 -232
package/index.js CHANGED
@@ -1,31 +1,31 @@
1
- /**
2
- * MBKBucket
3
- * Copyright (c) 2026 Muhammad Bin Khalid, MBKTech.org and contributors
4
- * Licensed under the MIT License.
5
- * Source: https://github.com/MIbnEKhalid/mbkbucket
6
- */
7
-
8
- import dotenv from "dotenv";
9
- import { createApp } from "./lib/src/app.js";
10
- import { checkVersion } from "./lib/src/config/index.js";
11
- import { runHealthCheck } from "./lib/src/services/s3.service.js";
12
- import { createLogger } from "#logger";
13
-
14
- dotenv.config();
15
-
16
- const debugServer = createLogger('server');
17
- const port = process.env.PORT || 3004;
18
- const server = createApp();
19
-
20
- if (process.env.NODE_ENV === "dev") {
21
- await checkVersion();
22
- await runHealthCheck();
23
- server.listen(port, () => {
24
- debugServer("Server running on http://localhost:%s", port);
25
- });
26
- }
27
-
28
- export * from "./lib/src/services/s3.service.js";
29
- export * from "./lib/src/config/index.js";
30
- export { default as bucket } from "./lib/src/routes/index.js";
1
+ /**
2
+ * MBKBucket
3
+ * Copyright (c) 2026 Muhammad Bin Khalid, MBKTech.org and contributors
4
+ * Licensed under the MIT License.
5
+ * Source: https://github.com/MIbnEKhalid/mbkbucket
6
+ */
7
+
8
+ import dotenv from "dotenv";
9
+ import { createApp } from "./lib/src/app.js";
10
+ import { checkVersion } from "./lib/src/config/index.js";
11
+ import { runHealthCheck } from "./lib/src/services/s3.service.js";
12
+ import { createLogger } from "#logger";
13
+
14
+ dotenv.config();
15
+
16
+ const debugServer = createLogger('server');
17
+ const port = process.env.PORT || 3004;
18
+ const server = createApp();
19
+
20
+ if (process.env.NODE_ENV === "dev") {
21
+ await checkVersion();
22
+ await runHealthCheck();
23
+ server.listen(port, () => {
24
+ debugServer("Server running on http://localhost:%s", port);
25
+ });
26
+ }
27
+
28
+ export * from "./lib/src/services/s3.service.js";
29
+ export * from "./lib/src/config/index.js";
30
+ export { default as bucket, createBucketRouter } from "./lib/src/routes/index.js";
31
31
  export default server;
package/lib/cli.js CHANGED
@@ -15,7 +15,7 @@ import dotenv from 'dotenv';
15
15
  import path from 'node:path';
16
16
  import fs from 'node:fs';
17
17
  import { formatBytes, formatDate, streamToBuffer, getMimeType, trimSlashes, nowIso } from './src/utils/helpers.js';
18
- import { readConfig, clearConfig, updateConfig, writeConfig, isLoggedIn, deviceFlowLogin, CONFIG_FILE, CONFIG_DIR } from '#helpers';
18
+ import { readConfig, clearConfig, updateConfig, writeConfig, isLoggedIn, deviceFlowLogin, CONFIG_FILE, CONFIG_DIR } from './src/cli/auth-helper.js';
19
19
 
20
20
  dotenv.config();
21
21
 
@@ -53,8 +53,9 @@ function getPositionalArgs() {
53
53
  return positional;
54
54
  }
55
55
 
56
- const command = getPositionalArgs()[0] || 'help';
57
- const cmdArgs = getPositionalArgs().slice(1);
56
+ const positionalArgs = getPositionalArgs();
57
+ const command = positionalArgs[0] || 'help';
58
+ const cmdArgs = positionalArgs.slice(1);
58
59
 
59
60
  // ---------------------------------------------------------------------------
60
61
  // Help text & S3 helper
@@ -140,7 +141,7 @@ function promptLine() {
140
141
 
141
142
  async function cmdLogin() {
142
143
  const storedCfg = readConfig();
143
- let server_url = findFlag('server') || storedCfg.server_url;
144
+ const server_url = findFlag('server') || storedCfg.server_url;
144
145
 
145
146
  if (!server_url || typeof server_url !== 'string') {
146
147
  console.error('āŒ --server <url> is required for login.\n Example: mbkbucket login --server https://myapp.example.com\n\nšŸ’” Tip: Set it once with:\n mbkbucket config set server_url https://your-server.com\n Then just run: mbkbucket login');