@editframe/vite-plugin 0.24.1-beta.0 → 0.25.1-beta.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.
- package/dist/forbidRelativePaths.js +4 -0
- package/dist/forbidRelativePaths.js.map +1 -0
- package/dist/index.d.ts +11 -6
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -0
- package/dist/sendTaskResult.js +5 -0
- package/dist/sendTaskResult.js.map +1 -0
- package/package.json +24 -11
- package/tsdown.config.ts +9 -0
- package/dist/forbidRelativePaths.d.ts +0 -2
- package/dist/index.vitest.d.ts +0 -9
- package/dist/sendTaskResult.d.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forbidRelativePaths.js","names":[],"sources":["../src/forbidRelativePaths.ts"],"sourcesContent":["import type { IncomingMessage } from \"connect\";\n\nexport const forbidRelativePaths = (req: IncomingMessage) => {\n if (req.url?.includes(\"..\")) {\n throw new Error(\"Relative paths are forbidden\");\n }\n};\n"],"mappings":";AAEA,MAAa,uBAAuB,QAAyB;AAC3D,KAAI,IAAI,KAAK,SAAS,KAAK,CACzB,OAAM,IAAI,MAAM,+BAA+B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import * as vite0 from "vite";
|
|
2
|
+
|
|
3
|
+
//#region src/index.d.ts
|
|
1
4
|
interface VitePluginEditframeOptions {
|
|
2
|
-
|
|
3
|
-
|
|
5
|
+
root: string;
|
|
6
|
+
cacheRoot: string;
|
|
4
7
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
declare const vitePluginEditframe: (options: VitePluginEditframeOptions) => {
|
|
9
|
+
name: string;
|
|
10
|
+
configureServer(this: vite0.MinimalPluginContextWithoutEnvironment, server: vite0.ViteDevServer): void;
|
|
8
11
|
};
|
|
9
|
-
|
|
12
|
+
//#endregion
|
|
13
|
+
export { vitePluginEditframe };
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,9 @@ import path, { join } from "node:path";
|
|
|
5
5
|
import { Client, createURLToken } from "@editframe/api";
|
|
6
6
|
import { cacheImage, findOrCreateCaptions, generateTrack, generateTrackFragmentIndex, md5FilePath } from "@editframe/assets";
|
|
7
7
|
import debug from "debug";
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
//#region src/index.ts
|
|
10
|
+
const getEditframeClient = () => {
|
|
9
11
|
const token = process.env.EF_TOKEN;
|
|
10
12
|
const efHost = process.env.EF_HOST;
|
|
11
13
|
if (!token) throw new Error("EF_TOKEN environment variable must be set");
|
|
@@ -115,4 +117,7 @@ const vitePluginEditframe = (options) => {
|
|
|
115
117
|
}
|
|
116
118
|
};
|
|
117
119
|
};
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
118
122
|
export { vitePluginEditframe };
|
|
123
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { rm } from \"node:fs/promises\";\nimport path, { join } from \"node:path\";\nimport { Client, createURLToken } from \"@editframe/api\";\nimport {\n cacheImage,\n findOrCreateCaptions,\n generateTrack,\n generateTrackFragmentIndex,\n md5FilePath,\n} from \"@editframe/assets\";\nimport debug from \"debug\";\nimport type { Plugin } from \"vite\";\n\nimport { forbidRelativePaths } from \"./forbidRelativePaths.js\";\nimport { sendTaskResult } from \"./sendTaskResult.js\";\n\ninterface VitePluginEditframeOptions {\n root: string;\n cacheRoot: string;\n}\n\n// Create editframe client instance\nconst getEditframeClient = () => {\n const token = process.env.EF_TOKEN;\n const efHost = process.env.EF_HOST;\n if (!token) {\n throw new Error(\"EF_TOKEN environment variable must be set\");\n }\n return new Client(token, efHost);\n};\n\nexport const vitePluginEditframe = (options: VitePluginEditframeOptions) => {\n return {\n name: \"vite-plugin-editframe\",\n\n configureServer(server) {\n server.middlewares.use(async (req, res, next) => {\n const log = debug(\"ef:vite-plugin\");\n // Forbid relative paths in any request\n if (req.url?.startsWith(\"/@ef\")) {\n forbidRelativePaths(req);\n } else {\n return next();\n }\n\n log(`Handling ${req.url}`);\n\n const requestPath = req.url.replace(/^\\/@ef-[^/]+\\//, \"\");\n const assetPath = requestPath.replace(/\\?.*$/, \"\");\n\n const absolutePath = assetPath.startsWith(\"http\")\n ? assetPath\n : path.join(options.root, assetPath).replace(\"dist/\", \"src/\");\n\n options.cacheRoot = options.cacheRoot.replace(\"dist/\", \"src/\");\n\n const efPrefix = req.url.split(\"/\")[1];\n\n switch (efPrefix) {\n case \"@ef-clear-cache\": {\n if (req.method !== \"DELETE\") {\n res.writeHead(405, { Allow: \"DELETE\" });\n res.end();\n break;\n }\n log(`Clearing cache for ${options.cacheRoot}`);\n await rm(join(options.cacheRoot, \".cache\"), {\n recursive: true,\n force: true,\n });\n res.writeHead(200, { \"Content-Type\": \"text/plain\" });\n res.end(\"Cache cleared\");\n break;\n }\n case \"@ef-asset\": {\n if (req.method !== \"HEAD\") {\n res.writeHead(405, { Allow: \"HEAD\" });\n res.end();\n }\n md5FilePath(absolutePath)\n .then((md5) => {\n res.writeHead(200, {\n etag: md5,\n });\n res.end();\n })\n .catch(next);\n break;\n }\n case \"@ef-track-fragment-index\": {\n log(`Serving track fragment index for ${absolutePath}`);\n generateTrackFragmentIndex(options.cacheRoot, absolutePath)\n .then((taskResult) => sendTaskResult(req, res, taskResult))\n .catch(next);\n break;\n }\n case \"@ef-track\": {\n log(`Serving track for ${absolutePath}`);\n generateTrack(options.cacheRoot, absolutePath, req.url)\n .then((taskResult) => sendTaskResult(req, res, taskResult))\n .catch(next);\n break;\n }\n case \"@ef-captions\":\n log(`Serving captions for ${absolutePath}`);\n findOrCreateCaptions(options.cacheRoot, absolutePath)\n .then((taskResult) => sendTaskResult(req, res, taskResult))\n .catch(next);\n break;\n case \"@ef-image\":\n log(`Serving image file ${absolutePath}`);\n cacheImage(options.cacheRoot, absolutePath)\n .then((taskResult) => sendTaskResult(req, res, taskResult))\n .catch(next);\n break;\n case \"@ef-sign-url\": {\n if (req.method !== \"POST\") {\n res.writeHead(405, { Allow: \"POST\" });\n res.end();\n break;\n }\n\n log(\"Signing URL token\");\n\n // Parse request body\n let body = \"\";\n req.on(\"data\", (chunk) => {\n body += chunk.toString();\n });\n\n req.on(\"end\", async () => {\n try {\n const payload = JSON.parse(body);\n log(\"Token signing request payload:\", payload);\n\n // Handle both formats: { url } and { url, params }\n const { url, params } = payload;\n if (!url) {\n res.writeHead(400, { \"Content-Type\": \"application/json\" });\n res.end(JSON.stringify({ error: \"URL is required\" }));\n return;\n }\n\n const client = getEditframeClient();\n\n // createURLToken expects just a string URL\n // For transcode URLs with params, we need to reconstruct the full URL\n let fullUrl = url;\n if (params) {\n const urlObj = new URL(url);\n // Add params as query parameters\n Object.entries(params).forEach(([key, value]) => {\n urlObj.searchParams.set(key, String(value));\n });\n fullUrl = urlObj.toString();\n }\n\n log(\"Creating token for full URL:\", fullUrl);\n const token = await createURLToken(client, fullUrl);\n\n res.writeHead(200, { \"Content-Type\": \"application/json\" });\n res.end(JSON.stringify({ token }));\n } catch (error) {\n log(`Error signing URL token: ${error}`);\n res.writeHead(500, { \"Content-Type\": \"application/json\" });\n res.end(JSON.stringify({ error: \"Failed to sign URL token\" }));\n }\n });\n\n break;\n }\n default:\n log(`Unknown asset type ${efPrefix}`);\n break;\n }\n });\n },\n } satisfies Plugin;\n};\n"],"mappings":"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"}
|
package/dist/sendTaskResult.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import debug from "debug";
|
|
2
2
|
import { createReadStream, statSync } from "node:fs";
|
|
3
3
|
import mime from "mime";
|
|
4
|
+
|
|
5
|
+
//#region src/sendTaskResult.ts
|
|
4
6
|
const sendTaskResult = (req, res, taskResult) => {
|
|
5
7
|
const { cachePath, md5Sum } = taskResult;
|
|
6
8
|
const filePath = cachePath;
|
|
@@ -48,4 +50,7 @@ const sendTaskResult = (req, res, taskResult) => {
|
|
|
48
50
|
console.error(error);
|
|
49
51
|
}
|
|
50
52
|
};
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
51
55
|
export { sendTaskResult };
|
|
56
|
+
//# sourceMappingURL=sendTaskResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendTaskResult.js","names":[],"sources":["../src/sendTaskResult.ts"],"sourcesContent":["import { createReadStream, statSync } from \"node:fs\";\nimport type { IncomingMessage, ServerResponse } from \"node:http\";\nimport type { TaskResult } from \"@editframe/assets\";\nimport debug from \"debug\";\nimport mime from \"mime\";\n\nexport const sendTaskResult = (\n req: IncomingMessage,\n res: ServerResponse<IncomingMessage>,\n taskResult: TaskResult,\n) => {\n const { cachePath, md5Sum } = taskResult;\n const filePath = cachePath;\n const headers = {\n etag: md5Sum,\n };\n const log = debug(\"ef:sendfile\");\n try {\n log(`Sending file ${filePath}`);\n const stats = statSync(filePath);\n\n if (req.headers.range) {\n const [x, y] = req.headers.range.replace(\"bytes=\", \"\").split(\"-\");\n let end = Number.parseInt(y ?? \"0\", 10) || stats.size - 1;\n const start = Number.parseInt(x ?? \"0\", 10) || 0;\n\n if (end >= stats.size) {\n end = stats.size - 1;\n }\n\n if (start >= stats.size) {\n log(\"Range start is greater than file size\");\n res.setHeader(\"Content-Range\", `bytes */${stats.size}`);\n res.statusCode = 416;\n return res.end();\n }\n\n res.writeHead(206, {\n ...headers,\n \"Content-Type\": mime.getType(filePath) || \"text/plain\",\n \"Cache-Control\": \"max-age=3600\",\n \"Content-Range\": `bytes ${start}-${end}/${stats.size}`,\n \"Content-Length\": end - start + 1,\n \"Accept-Ranges\": \"bytes\",\n });\n log(`Sending ${filePath} range ${start}-${end}/${stats.size}`);\n const readStream = createReadStream(filePath, { start, end });\n readStream.pipe(res);\n } else {\n res.writeHead(200, {\n ...headers,\n \"Content-Type\": mime.getType(filePath) || \"text/plain\",\n \"Cache-Control\": \"max-age=3600\",\n \"Content-Length\": stats.size,\n });\n log(`Sending ${filePath}`);\n const readStream = createReadStream(filePath);\n readStream.pipe(res);\n }\n } catch (error) {\n log(\"Error sending file\", error);\n console.error(error);\n }\n};\n"],"mappings":";;;;;AAMA,MAAa,kBACX,KACA,KACA,eACG;CACH,MAAM,EAAE,WAAW,WAAW;CAC9B,MAAM,WAAW;CACjB,MAAM,UAAU,EACd,MAAM,QACP;CACD,MAAM,MAAM,MAAM,cAAc;AAChC,KAAI;AACF,MAAI,gBAAgB,WAAW;EAC/B,MAAM,QAAQ,SAAS,SAAS;AAEhC,MAAI,IAAI,QAAQ,OAAO;GACrB,MAAM,CAAC,GAAG,KAAK,IAAI,QAAQ,MAAM,QAAQ,UAAU,GAAG,CAAC,MAAM,IAAI;GACjE,IAAI,MAAM,OAAO,SAAS,KAAK,KAAK,GAAG,IAAI,MAAM,OAAO;GACxD,MAAM,QAAQ,OAAO,SAAS,KAAK,KAAK,GAAG,IAAI;AAE/C,OAAI,OAAO,MAAM,KACf,OAAM,MAAM,OAAO;AAGrB,OAAI,SAAS,MAAM,MAAM;AACvB,QAAI,wCAAwC;AAC5C,QAAI,UAAU,iBAAiB,WAAW,MAAM,OAAO;AACvD,QAAI,aAAa;AACjB,WAAO,IAAI,KAAK;;AAGlB,OAAI,UAAU,KAAK;IACjB,GAAG;IACH,gBAAgB,KAAK,QAAQ,SAAS,IAAI;IAC1C,iBAAiB;IACjB,iBAAiB,SAAS,MAAM,GAAG,IAAI,GAAG,MAAM;IAChD,kBAAkB,MAAM,QAAQ;IAChC,iBAAiB;IAClB,CAAC;AACF,OAAI,WAAW,SAAS,SAAS,MAAM,GAAG,IAAI,GAAG,MAAM,OAAO;AAE9D,GADmB,iBAAiB,UAAU;IAAE;IAAO;IAAK,CAAC,CAClD,KAAK,IAAI;SACf;AACL,OAAI,UAAU,KAAK;IACjB,GAAG;IACH,gBAAgB,KAAK,QAAQ,SAAS,IAAI;IAC1C,iBAAiB;IACjB,kBAAkB,MAAM;IACzB,CAAC;AACF,OAAI,WAAW,WAAW;AAE1B,GADmB,iBAAiB,SAAS,CAClC,KAAK,IAAI;;UAEf,OAAO;AACd,MAAI,sBAAsB,MAAM;AAChC,UAAQ,MAAM,MAAM"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@editframe/vite-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.1-beta.0",
|
|
4
4
|
"description": "Editframe vite plugin",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -8,30 +8,43 @@
|
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"default": "./dist/index.js"
|
|
10
10
|
}
|
|
11
|
-
}
|
|
11
|
+
},
|
|
12
|
+
"./package.json": "./package.json"
|
|
12
13
|
},
|
|
13
14
|
"scripts": {
|
|
14
15
|
"typecheck": "tsc --noEmit --emitDeclarationOnly false",
|
|
15
|
-
"build": "
|
|
16
|
-
"build:watch": "
|
|
16
|
+
"build": "tsdown",
|
|
17
|
+
"build:watch": "tsdown --watch"
|
|
17
18
|
},
|
|
18
19
|
"type": "module",
|
|
19
20
|
"author": "",
|
|
20
21
|
"license": "UNLICENSED",
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@editframe/api": "0.
|
|
23
|
-
"@editframe/assets": "0.
|
|
23
|
+
"@editframe/api": "0.25.1-beta.0",
|
|
24
|
+
"@editframe/assets": "0.25.1-beta.0",
|
|
24
25
|
"connect": "^3.7.0",
|
|
25
26
|
"debug": "^4.3.5",
|
|
26
27
|
"mime": "^4.0.3",
|
|
27
|
-
"
|
|
28
|
-
"rolldown-vite": "^7.1.15"
|
|
28
|
+
"vite": "npm:rolldown-vite@^7.1.15"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
+
"@types/connect": "^3.4.38",
|
|
31
32
|
"@types/dom-webcodecs": "^0.1.11",
|
|
32
33
|
"@types/node": "^20.14.13",
|
|
33
|
-
"typescript": "^5.5.4"
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
"typescript": "^5.5.4"
|
|
35
|
+
},
|
|
36
|
+
"main": "./dist/index.js",
|
|
37
|
+
"module": "./dist/index.js",
|
|
38
|
+
"types": "./dist/index.d.ts",
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"exports": {
|
|
41
|
+
".": {
|
|
42
|
+
"import": {
|
|
43
|
+
"types": "./dist/index.d.ts",
|
|
44
|
+
"default": "./dist/index.js"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"./package.json": "./package.json"
|
|
48
|
+
}
|
|
36
49
|
}
|
|
37
50
|
}
|
package/tsdown.config.ts
ADDED
package/dist/index.vitest.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface VitePluginEditframeOptions {
|
|
2
|
-
root: string;
|
|
3
|
-
cacheRoot: string;
|
|
4
|
-
}
|
|
5
|
-
export declare const vitePluginEditframe: (options: VitePluginEditframeOptions) => {
|
|
6
|
-
name: string;
|
|
7
|
-
configureServer(this: import('vite').MinimalPluginContextWithoutEnvironment, server: import('vite').ViteDevServer): void;
|
|
8
|
-
};
|
|
9
|
-
export {};
|
package/dist/sendTaskResult.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { TaskResult } from '../../assets/src/index.ts';
|
|
3
|
-
export declare const sendTaskResult: (req: IncomingMessage, res: ServerResponse<IncomingMessage>, taskResult: TaskResult) => ServerResponse<IncomingMessage> | undefined;
|