UNPKG

@drincs/pixi-vn

Version:

Pixi'VN is a npm package that provides various features for creating visual novels.

1 lines 10.2 kB
{"version":3,"sources":["../src/vite/plugins.ts"],"names":["characters","labels","manifest","options","vitePluginPixivn","server","req","res","body","chunk"],"mappings":"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","file":"vite.mjs","sourcesContent":["import type { CharacterInterface } from \"@drincs/pixi-vn\";\nimport type { ApplicationOptions, AssetsManifest } from \"@drincs/pixi-vn/pixi.js\";\nimport { Plugin } from \"vite\";\n\nlet characters: CharacterInterface[] | null = null;\nlet labels: string[] | null = null;\nlet manifest: AssetsManifest | null = null;\nlet options: Partial<ApplicationOptions> | null = null;\n\n/**\n * Vite plugin to handle pixi-vn related endpoints.\n * This plugin only runs in development mode (serve).\n * Endpoints:\n * - GET /pixi-vn/characters -> list of registered characters\n * - POST /pixi-vn/characters -> update the list of registered characters\n * - GET /pixi-vn/labels -> list of registered labels\n * - POST /pixi-vn/labels -> update the list of registered labels\n * - GET /pixi-vn/assets/manifest -> assets manifest\n * - POST /pixi-vn/assets/manifest -> update assets manifest\n */\nexport function vitePluginPixivn(): Plugin {\n return {\n name: \"vite-plugin-pixi-vn\",\n apply: \"serve\",\n configureServer(server) {\n server.middlewares.use(\"/pixi-vn/characters\", (req, res) => {\n res.setHeader(\"Content-Type\", \"application/json\");\n\n if (req.method === \"GET\") {\n if (!characters) {\n res.statusCode = 404;\n res.end(JSON.stringify({ error: \"Characters not initialized\" }));\n return;\n }\n res.statusCode = 200;\n res.end(JSON.stringify(characters));\n }\n\n if (req.method === \"POST\") {\n let body = \"\";\n req.on(\"data\", (chunk) => (body += chunk));\n req.on(\"end\", () => {\n try {\n characters = JSON.parse(body);\n res.statusCode = 201;\n res.end(JSON.stringify({ message: \"Characters updated successfully\" }));\n } catch {\n res.statusCode = 400;\n res.end(JSON.stringify({ error: \"Invalid JSON format\" }));\n }\n });\n }\n });\n\n server.middlewares.use(\"/pixi-vn/labels\", (req, res) => {\n res.setHeader(\"Content-Type\", \"application/json\");\n\n if (req.method === \"GET\") {\n if (!labels) {\n res.statusCode = 404;\n res.end(JSON.stringify({ error: \"Labels not initialized\" }));\n return;\n }\n res.statusCode = 200;\n res.end(JSON.stringify(labels));\n }\n\n if (req.method === \"POST\") {\n let body = \"\";\n req.on(\"data\", (chunk) => (body += chunk));\n req.on(\"end\", () => {\n try {\n labels = JSON.parse(body);\n res.statusCode = 201;\n res.end(JSON.stringify({ message: \"Labels updated successfully\" }));\n } catch {\n res.statusCode = 400;\n res.end(JSON.stringify({ error: \"Invalid JSON format\" }));\n }\n });\n }\n });\n\n server.middlewares.use(\"/pixi-vn/assets/manifest\", (req, res) => {\n res.setHeader(\"Content-Type\", \"application/json\");\n\n if (req.method === \"GET\") {\n if (!manifest) {\n res.statusCode = 404;\n res.end(JSON.stringify({ error: \"Manifest not initialized\" }));\n return;\n }\n res.statusCode = 200;\n res.end(JSON.stringify(manifest));\n }\n\n if (req.method === \"POST\") {\n let body = \"\";\n req.on(\"data\", (chunk) => (body += chunk));\n req.on(\"end\", () => {\n try {\n manifest = JSON.parse(body);\n res.statusCode = 201;\n res.end(JSON.stringify({ message: \"Manifest updated successfully\" }));\n } catch {\n res.statusCode = 400;\n res.end(JSON.stringify({ error: \"Invalid JSON format\" }));\n }\n });\n }\n });\n\n server.middlewares.use(\"/pixi-vn/canvas/options\", (req, res) => {\n res.setHeader(\"Content-Type\", \"application/json\");\n\n if (req.method === \"GET\") {\n if (!options) {\n res.statusCode = 404;\n res.end(JSON.stringify({ error: \"Options not initialized\" }));\n return;\n }\n res.statusCode = 200;\n res.end(JSON.stringify(options));\n }\n\n if (req.method === \"POST\") {\n let body = \"\";\n req.on(\"data\", (chunk) => (body += chunk));\n req.on(\"end\", () => {\n try {\n options = JSON.parse(body);\n res.statusCode = 201;\n res.end(JSON.stringify({ message: \"Options updated successfully\" }));\n } catch {\n res.statusCode = 400;\n res.end(JSON.stringify({ error: \"Invalid JSON format\" }));\n }\n });\n }\n });\n },\n };\n}\n"]}