r2-explorer 1.0.6 → 1.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 (83) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +9 -4
  3. package/dashboard/assets/AuthLayout.828e1213.js +1 -0
  4. package/dashboard/assets/EmailFilePage.148b4f84.js +2 -0
  5. package/dashboard/assets/EmailFilePage.c4890c9c.css +1 -0
  6. package/dashboard/assets/EmailFolderPage.0c5be156.js +1 -0
  7. package/dashboard/assets/EmailFolderPage.25044e0a.css +1 -0
  8. package/dashboard/assets/ErrorNotFound.a0d3ece6.js +1 -0
  9. package/dashboard/assets/FilesFolderPage.7cadc3fd.js +72 -0
  10. package/dashboard/assets/FilesFolderPage.ecacd99f.css +1 -0
  11. package/dashboard/assets/HomePage.fd1efdb0.js +1 -0
  12. package/dashboard/assets/KFOkCnqEu92Fr1MmgVxIIzQ.d240a9ae.woff +0 -0
  13. package/dashboard/assets/KFOlCnqEu92Fr1MmEU9fBBc-.6ba203eb.woff +0 -0
  14. package/dashboard/assets/KFOlCnqEu92Fr1MmSU5fBBc-.80684728.woff +0 -0
  15. package/dashboard/assets/KFOlCnqEu92Fr1MmWUlfBBc-.2df244f6.woff +0 -0
  16. package/dashboard/assets/KFOlCnqEu92Fr1MmYUtfBBc-.742ce02b.woff +0 -0
  17. package/dashboard/assets/KFOmCnqEu92Fr1Mu4mxM.f00fa16d.woff +0 -0
  18. package/dashboard/assets/LoginPage.5e2746c3.js +1 -0
  19. package/dashboard/assets/MainLayout.05d49d78.css +1 -0
  20. package/dashboard/assets/MainLayout.54c624c6.js +1 -0
  21. package/dashboard/assets/QCard.9ca85696.js +1 -0
  22. package/dashboard/assets/QCardActions.3d6ece78.js +1 -0
  23. package/dashboard/assets/QForm.1a0fa8bd.js +1 -0
  24. package/dashboard/assets/QInput.dbc14c53.js +1 -0
  25. package/dashboard/assets/QLayout.7c9341c3.js +1 -0
  26. package/dashboard/assets/QPage.1736cadc.js +1 -0
  27. package/dashboard/assets/QSeparator.d0c0fb0f.js +1 -0
  28. package/dashboard/assets/QSpace.3225ba0f.js +1 -0
  29. package/dashboard/assets/QTable.3fe6867d.js +1 -0
  30. package/dashboard/assets/QTd.32b217d9.js +1 -0
  31. package/dashboard/assets/auth-store.10a6215e.js +1 -0
  32. package/dashboard/assets/auth.3fb1cfd3.js +1 -0
  33. package/dashboard/assets/axios.d3fa833b.js +6 -0
  34. package/dashboard/assets/bus.def2db9e.js +1 -0
  35. package/dashboard/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff +0 -0
  36. package/dashboard/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2 +0 -0
  37. package/dashboard/assets/focus-manager.1ddae684.js +1 -0
  38. package/dashboard/assets/index.073c3cc5.css +5 -0
  39. package/dashboard/assets/index.31a4681e.js +25 -0
  40. package/dashboard/assets/main-store.ee636e78.js +1 -0
  41. package/dashboard/assets/scroll.6727d3ea.js +1 -0
  42. package/dashboard/assets/use-checkbox.687a19bf.js +1 -0
  43. package/dashboard/assets/use-dark.6e19ce43.js +1 -0
  44. package/dashboard/assets/use-quasar.0c0b766f.js +1 -0
  45. package/dashboard/assets/use-transition.19980487.js +1 -0
  46. package/dashboard/favicon.ico +0 -0
  47. package/dashboard/icons/favicon-128x128.png +0 -0
  48. package/dashboard/icons/favicon-16x16.png +0 -0
  49. package/dashboard/icons/favicon-32x32.png +0 -0
  50. package/dashboard/icons/favicon-96x96.png +0 -0
  51. package/dashboard/icons/logo.png +0 -0
  52. package/dashboard/index.html +3 -0
  53. package/dashboard/logo-white.svg +5 -0
  54. package/dashboard/logo.png +0 -0
  55. package/dashboard/robots.txt +2 -0
  56. package/dist/index.d.mts +33 -0
  57. package/dist/index.d.ts +33 -0
  58. package/dist/index.js +802 -1
  59. package/dist/index.mjs +771 -1
  60. package/package.json +22 -60
  61. package/dist/src/authentication/api/access.d.ts +0 -4
  62. package/dist/src/authentication/api/basic.d.ts +0 -3
  63. package/dist/src/buckets/api/createFolder.d.ts +0 -8
  64. package/dist/src/buckets/api/deleteObject.d.ts +0 -8
  65. package/dist/src/buckets/api/getObject.d.ts +0 -8
  66. package/dist/src/buckets/api/headObject.d.ts +0 -8
  67. package/dist/src/buckets/api/listBuckets.d.ts +0 -10
  68. package/dist/src/buckets/api/listObjects.d.ts +0 -8
  69. package/dist/src/buckets/api/moveObject.d.ts +0 -8
  70. package/dist/src/buckets/api/multipart/completeUpload.d.ts +0 -11
  71. package/dist/src/buckets/api/multipart/createUpload.d.ts +0 -8
  72. package/dist/src/buckets/api/multipart/partUpload.d.ts +0 -8
  73. package/dist/src/buckets/api/putMetadata.d.ts +0 -8
  74. package/dist/src/buckets/api/putObject.d.ts +0 -8
  75. package/dist/src/buckets/router.d.ts +0 -1
  76. package/dist/src/dashbord.d.ts +0 -2
  77. package/dist/src/dates.d.ts +0 -2
  78. package/dist/src/emails/receiveEmail.d.ts +0 -2
  79. package/dist/src/index.d.ts +0 -5
  80. package/dist/src/interfaces.d.ts +0 -22
  81. package/dist/src/server/api/getInfo.d.ts +0 -25
  82. package/dist/src/server/router.d.ts +0 -1
  83. package/dist/src/settings.d.ts +0 -5
package/package.json CHANGED
@@ -1,45 +1,16 @@
1
1
  {
2
2
  "name": "r2-explorer",
3
- "version": "1.0.6",
3
+ "version": "1.1.0",
4
4
  "description": "A Google Drive Interface for your Cloudflare R2 Buckets",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
7
- "types": "./dist/src/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/src/index.d.ts",
11
- "import": "./dist/index.mjs",
12
- "require": "./dist/index.js"
13
- }
14
- },
7
+ "types": "./dist/index.d.ts",
15
8
  "files": [
16
- "bin",
17
- "dist"
9
+ "dashboard",
10
+ "dist",
11
+ "LICENSE",
12
+ "README.md"
18
13
  ],
19
- "scripts": {
20
- "postinstallDisabled": "husky install",
21
- "prepublishOnly": "pinst --disable",
22
- "postpublish": "pinst --enable",
23
- "build": "node tools/cleanup umd && rollup --config rollup.config.js",
24
- "clean": "node tools/cleanup",
25
- "package": "npm run build && npm pack",
26
- "test": "jest --no-cache --runInBand",
27
- "test:cov": "jest --coverage --no-cache --runInBand",
28
- "addscope": "node tools/packagejson name @g4brym/r2-explorer",
29
- "prettify": "prettier . --write --ignore-unknown",
30
- "prepareDisabled": "husky install",
31
- "watch": "npm-watch build"
32
- },
33
- "watch": {
34
- "build": {
35
- "patterns": [
36
- "src"
37
- ],
38
- "extensions": "js,ts",
39
- "legacyWatch": true,
40
- "runOnChangeOnly": false
41
- }
42
- },
43
14
  "publishConfig": {
44
15
  "access": "public"
45
16
  },
@@ -74,32 +45,23 @@
74
45
  "url": "https://github.com/G4brym/R2-Explorer/issues"
75
46
  },
76
47
  "devDependencies": {
77
- "@cloudflare/workers-types": "^4.20230518.0",
78
- "@rollup/plugin-terser": "^0.4.3",
79
- "@rollup/plugin-typescript": "^11.1.2",
80
- "@types/node": "^18.11.18",
81
- "@types/service-worker-mock": "^2.0.1",
82
- "eslint": "^8.18.0",
83
- "eslint-config-prettier": "^8.5.0",
84
- "eslint-config-typescript": "^3.0.0",
85
- "husky": "^8.0.0",
86
- "npm-watch": "^0.11.0",
87
- "pinst": "^2.1.6",
88
- "prettier": "^2.7.1",
89
- "rollup": "^2.36.1",
90
- "rollup-plugin-bundle-size": "^1.0.3",
91
- "rollup-plugin-copy": "^3.4.0",
92
- "service-worker-mock": "^2.0.5",
93
- "ts-node": "^10.9.1",
94
- "typescript": "^4.7.4",
95
- "wrangler": "^3.6.0"
48
+ "@cloudflare/workers-types": "^4.20241127.0",
49
+ "@types/node": "^22.10.1",
50
+ "tsup": "^8.3.5",
51
+ "typescript": "^5.7.2",
52
+ "wrangler": "^3.91.0"
96
53
  },
97
54
  "dependencies": {
98
- "@cloudflare/itty-router-openapi": "1.0.4",
99
- "postal-mime": "^1.0.16",
100
- "itty-router": "4.0.26"
55
+ "@hono/cloudflare-access": "^0.1.0",
56
+ "chanfana": "^2.5.1",
57
+ "hono": "^4.6.14",
58
+ "postal-mime": "^2.3.2",
59
+ "zod": "^3.24.1"
101
60
  },
102
- "bin": {
103
- "r2-explorer": "bin/r2-explorer.js"
61
+ "scripts": {
62
+ "build": "tsup src/index.ts --format cjs,esm --dts && cp -R ../dashboard/dist/spa/ dashboard/ && cp ../../README.md . && cp ../../LICENSE .",
63
+ "lint": "npx @biomejs/biome check src/ tests/ || (npx @biomejs/biome check --write src/ tests/; exit 1)",
64
+ "test": "vitest run --root tests",
65
+ "package": "npm run build && npm pack"
104
66
  }
105
- }
67
+ }
@@ -1,4 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { Context, R2ExplorerConfig } from "../../interfaces";
3
- export declare function validateAccessJwt(request: any, env: any, context: Context): Promise<Response>;
4
- export declare function isValidJwt(request: any, config: R2ExplorerConfig): Promise<any>;
@@ -1,3 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { Context } from "../../interfaces";
3
- export declare function validateBasicAuth(request: any, env: any, context: Context): Promise<Response>;
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class CreateFolder extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class DeleteObject extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<{}>;
8
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class GetObject extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<Response>;
8
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class HeadObject extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1,10 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class ListBuckets extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<{
8
- buckets: any[];
9
- }>;
10
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class ListObjects extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class MoveObject extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1,11 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class CompleteUpload extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<Response | {
8
- success: boolean;
9
- str: any;
10
- }>;
11
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class CreateUpload extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class PartUpload extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class PutMetadata extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1,8 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class PutObject extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<any>;
8
- }
@@ -1 +0,0 @@
1
- export declare const bucketsRouter: import("@cloudflare/itty-router-openapi").OpenAPIRouterType<import("@cloudflare/itty-router-openapi").Route, any[]>;
@@ -1,2 +0,0 @@
1
- import { Context } from "./interfaces";
2
- export declare function dashboardProxy(request: any, env: any, context: Context): Promise<any>;
@@ -1,2 +0,0 @@
1
- export declare function getCurrentTimestampSeconds(): number;
2
- export declare function getCurrentTimestampMilliseconds(): number;
@@ -1,2 +0,0 @@
1
- import { Context } from "../interfaces";
2
- export declare function receiveEmail(event: any, env: any, ctx: Context): Promise<void>;
@@ -1,5 +0,0 @@
1
- import { R2ExplorerConfig } from "./interfaces";
2
- export declare function R2Explorer(config?: R2ExplorerConfig): {
3
- email(event: any, env: any, context: any): Promise<void>;
4
- fetch(request: any, env: any, context: any): Promise<any>;
5
- };
@@ -1,22 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- export interface BasicAuth {
3
- username: string;
4
- password: string;
5
- }
6
- export interface R2ExplorerConfig {
7
- readonly?: boolean;
8
- cors?: boolean;
9
- cfAccessTeamName?: string;
10
- dashboardUrl?: string;
11
- emailRouting?: {
12
- targetBucket: string;
13
- };
14
- showHiddenFiles?: boolean;
15
- cacheAssets?: boolean;
16
- basicAuth?: BasicAuth | BasicAuth[];
17
- }
18
- export interface Context {
19
- config: R2ExplorerConfig;
20
- username?: string;
21
- executionContext: ExecutionContext;
22
- }
@@ -1,25 +0,0 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- import { OpenAPIRoute } from "@cloudflare/itty-router-openapi";
3
- import { Context } from "../../interfaces";
4
- import { OpenAPIRouteSchema } from "@cloudflare/itty-router-openapi/dist/src/types";
5
- export declare class GetInfo extends OpenAPIRoute {
6
- static schema: OpenAPIRouteSchema;
7
- handle(request: Request, env: any, context: Context, data: any): Promise<{
8
- version: string;
9
- config: {
10
- readonly?: boolean;
11
- cors?: boolean;
12
- cfAccessTeamName?: string;
13
- dashboardUrl?: string;
14
- emailRouting?: {
15
- targetBucket: string;
16
- };
17
- showHiddenFiles?: boolean;
18
- cacheAssets?: boolean;
19
- basicAuth?: import("../../interfaces").BasicAuth | import("../../interfaces").BasicAuth[];
20
- };
21
- user: {
22
- username: string;
23
- };
24
- }>;
25
- }
@@ -1 +0,0 @@
1
- export declare const serverRouter: import("@cloudflare/itty-router-openapi").OpenAPIRouterType<import("@cloudflare/itty-router-openapi").Route, any[]>;
@@ -1,5 +0,0 @@
1
- export declare const config: {
2
- raiseUnknownParameters: boolean;
3
- generateOperationIds: boolean;
4
- version: string;
5
- };