@robinpath/docker
Advanced tools
+37
-7
| { | ||
| "name": "@robinpath/docker", | ||
| "version": "0.1.0", | ||
| "publishConfig": { "access": "public" }, | ||
| "version": "0.1.1", | ||
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "type": "module", | ||
| "main": "dist/index.js", | ||
| "types": "dist/index.d.ts", | ||
| "exports": { ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" } }, | ||
| "files": ["dist"], | ||
| "scripts": { "build": "tsc", "test": "node --import tsx --test tests/*.test.ts" }, | ||
| "peerDependencies": { "@wiredwp/robinpath": ">=0.20.0" }, | ||
| "devDependencies": { "@wiredwp/robinpath": "^0.30.1", "tsx": "^4.19.0", "typescript": "^5.6.0" } | ||
| "exports": { | ||
| ".": { | ||
| "import": "./dist/index.js", | ||
| "types": "./dist/index.d.ts" | ||
| } | ||
| }, | ||
| "files": [ | ||
| "dist" | ||
| ], | ||
| "scripts": { | ||
| "build": "tsc", | ||
| "test": "node --import tsx --test tests/*.test.ts" | ||
| }, | ||
| "peerDependencies": { | ||
| "@robinpath/core": ">=0.20.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@robinpath/core": "^0.30.1", | ||
| "tsx": "^4.19.0", | ||
| "typescript": "^5.6.0" | ||
| }, | ||
| "description": "Docker container and image management using the system docker binary", | ||
| "keywords": [ | ||
| "docker", | ||
| "devops" | ||
| ], | ||
| "license": "MIT", | ||
| "robinpath": { | ||
| "category": "devops", | ||
| "type": "integration", | ||
| "auth": "none", | ||
| "functionCount": 16 | ||
| } | ||
| } |
-202
| import type { BuiltinHandler } from "@wiredwp/robinpath"; | ||
| export declare const DockerFunctions: Record<string, BuiltinHandler>; | ||
| export declare const DockerFunctionMetadata: { | ||
| ps: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| images: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| run: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| stop: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| start: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| rm: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| rmi: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| logs: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| exec: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| build: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| pull: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| push: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| inspect: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| stats: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| network: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| volume: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| description: string; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| }; | ||
| }; | ||
| export declare const DockerModuleMetadata: { | ||
| description: string; | ||
| version: string; | ||
| dependencies: never[]; | ||
| }; | ||
| //# sourceMappingURL=docker.d.ts.map |
| {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,oBAAoB,CAAC;AAiBlG,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAoL1D,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKlC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC"} |
-365
| import { execSync } from "child_process"; | ||
| function exec(cmd) { | ||
| return execSync(cmd, { encoding: "utf-8", maxBuffer: 50 * 1024 * 1024 }).trim(); | ||
| } | ||
| function execJson(cmd) { | ||
| const raw = exec(cmd); | ||
| if (!raw) | ||
| return []; | ||
| try { | ||
| return JSON.parse(raw); | ||
| } | ||
| catch { | ||
| return raw; | ||
| } | ||
| } | ||
| export const DockerFunctions = { | ||
| ps: (args) => { | ||
| const all = args[0] ?? true; | ||
| const format = args[1] ?? "json"; | ||
| let cmd = "docker ps"; | ||
| if (all) | ||
| cmd += " -a"; | ||
| if (format === "json") | ||
| cmd += ' --format "{{json .}}"'; | ||
| const raw = exec(cmd); | ||
| if (format === "json" && raw) { | ||
| const lines = raw.split("\n").filter(Boolean); | ||
| return lines.map((l) => JSON.parse(l)); | ||
| } | ||
| return raw; | ||
| }, | ||
| images: (args) => { | ||
| const format = args[0] ?? "json"; | ||
| let cmd = "docker images"; | ||
| if (format === "json") | ||
| cmd += ' --format "{{json .}}"'; | ||
| const raw = exec(cmd); | ||
| if (format === "json" && raw) { | ||
| const lines = raw.split("\n").filter(Boolean); | ||
| return lines.map((l) => JSON.parse(l)); | ||
| } | ||
| return raw; | ||
| }, | ||
| run: (args) => { | ||
| const image = args[0]; | ||
| const options = args[1] ?? {}; | ||
| let cmd = "docker run"; | ||
| if (options.detach) | ||
| cmd += " -d"; | ||
| if (options.rm) | ||
| cmd += " --rm"; | ||
| if (options.name) | ||
| cmd += ` --name ${options.name}`; | ||
| if (options.ports) { | ||
| const ports = options.ports; | ||
| for (const p of ports) | ||
| cmd += ` -p ${p}`; | ||
| } | ||
| if (options.env) { | ||
| const envVars = options.env; | ||
| for (const [k, v] of Object.entries(envVars)) | ||
| cmd += ` -e ${k}=${v}`; | ||
| } | ||
| if (options.volumes) { | ||
| const vols = options.volumes; | ||
| for (const v of vols) | ||
| cmd += ` -v ${v}`; | ||
| } | ||
| if (options.network) | ||
| cmd += ` --network ${options.network}`; | ||
| cmd += ` ${image}`; | ||
| if (options.command) | ||
| cmd += ` ${options.command}`; | ||
| return exec(cmd); | ||
| }, | ||
| stop: (args) => { | ||
| const container = args[0]; | ||
| const timeout = args[1] ?? undefined; | ||
| let cmd = `docker stop ${container}`; | ||
| if (timeout !== undefined) | ||
| cmd = `docker stop -t ${timeout} ${container}`; | ||
| return exec(cmd); | ||
| }, | ||
| start: (args) => { | ||
| const container = args[0]; | ||
| return exec(`docker start ${container}`); | ||
| }, | ||
| rm: (args) => { | ||
| const container = args[0]; | ||
| const force = args[1] ?? false; | ||
| const volumes = args[2] ?? false; | ||
| let cmd = "docker rm"; | ||
| if (force) | ||
| cmd += " -f"; | ||
| if (volumes) | ||
| cmd += " -v"; | ||
| cmd += ` ${container}`; | ||
| return exec(cmd); | ||
| }, | ||
| rmi: (args) => { | ||
| const image = args[0]; | ||
| const force = args[1] ?? false; | ||
| let cmd = "docker rmi"; | ||
| if (force) | ||
| cmd += " -f"; | ||
| cmd += ` ${image}`; | ||
| return exec(cmd); | ||
| }, | ||
| logs: (args) => { | ||
| const container = args[0]; | ||
| const tail = args[1] ?? undefined; | ||
| const follow = args[2] ?? false; | ||
| let cmd = `docker logs ${container}`; | ||
| if (tail !== undefined) | ||
| cmd += ` --tail ${tail}`; | ||
| if (follow) | ||
| cmd += " -f"; | ||
| return exec(cmd); | ||
| }, | ||
| exec: (args) => { | ||
| const container = args[0]; | ||
| const command = args[1]; | ||
| const interactive = args[2] ?? false; | ||
| const workdir = args[3] ?? undefined; | ||
| let cmd = "docker exec"; | ||
| if (interactive) | ||
| cmd += " -it"; | ||
| if (workdir) | ||
| cmd += ` -w ${workdir}`; | ||
| cmd += ` ${container} ${command}`; | ||
| return exec(cmd); | ||
| }, | ||
| build: (args) => { | ||
| const context = args[0]; | ||
| const options = args[1] ?? {}; | ||
| let cmd = "docker build"; | ||
| if (options.tag) | ||
| cmd += ` -t ${options.tag}`; | ||
| if (options.file) | ||
| cmd += ` -f ${options.file}`; | ||
| if (options.noCache) | ||
| cmd += " --no-cache"; | ||
| if (options.buildArgs) { | ||
| const buildArgs = options.buildArgs; | ||
| for (const [k, v] of Object.entries(buildArgs)) | ||
| cmd += ` --build-arg ${k}=${v}`; | ||
| } | ||
| cmd += ` ${context}`; | ||
| return exec(cmd); | ||
| }, | ||
| pull: (args) => { | ||
| const image = args[0]; | ||
| return exec(`docker pull ${image}`); | ||
| }, | ||
| push: (args) => { | ||
| const image = args[0]; | ||
| return exec(`docker push ${image}`); | ||
| }, | ||
| inspect: (args) => { | ||
| const target = args[0]; | ||
| const format = args[1] ?? undefined; | ||
| let cmd = `docker inspect ${target}`; | ||
| if (format) | ||
| cmd += ` --format '${format}'`; | ||
| return execJson(cmd); | ||
| }, | ||
| stats: (args) => { | ||
| const container = args[0] ?? undefined; | ||
| let cmd = "docker stats --no-stream"; | ||
| if (container) | ||
| cmd += ` ${container}`; | ||
| cmd += ' --format "{{json .}}"'; | ||
| const raw = exec(cmd); | ||
| if (raw) { | ||
| const lines = raw.split("\n").filter(Boolean); | ||
| return lines.map((l) => JSON.parse(l)); | ||
| } | ||
| return []; | ||
| }, | ||
| network: (args) => { | ||
| const action = args[0] ?? "ls"; | ||
| const name = args[1] ?? undefined; | ||
| const driver = args[2] ?? undefined; | ||
| if (action === "create" && name) { | ||
| let cmd = `docker network create ${name}`; | ||
| if (driver) | ||
| cmd += ` --driver ${driver}`; | ||
| return exec(cmd); | ||
| } | ||
| if (action === "rm" && name) | ||
| return exec(`docker network rm ${name}`); | ||
| if (action === "inspect" && name) | ||
| return execJson(`docker network inspect ${name}`); | ||
| return exec('docker network ls --format "{{json .}}"').split("\n").filter(Boolean).map((l) => JSON.parse(l)); | ||
| }, | ||
| volume: (args) => { | ||
| const action = args[0] ?? "ls"; | ||
| const name = args[1] ?? undefined; | ||
| const driver = args[2] ?? undefined; | ||
| if (action === "create" && name) { | ||
| let cmd = `docker volume create ${name}`; | ||
| if (driver) | ||
| cmd += ` --driver ${driver}`; | ||
| return exec(cmd); | ||
| } | ||
| if (action === "rm" && name) | ||
| return exec(`docker volume rm ${name}`); | ||
| if (action === "inspect" && name) | ||
| return execJson(`docker volume inspect ${name}`); | ||
| return exec('docker volume ls --format "{{json .}}"').split("\n").filter(Boolean).map((l) => JSON.parse(l)); | ||
| }, | ||
| }; | ||
| export const DockerFunctionMetadata = { | ||
| ps: { | ||
| description: "List Docker containers", | ||
| parameters: [ | ||
| { name: "all", dataType: "boolean", formInputType: "checkbox", required: false, description: "Show all containers including stopped (default: true)" }, | ||
| { name: "format", dataType: "string", formInputType: "text", required: false, description: "Output format: json or table (default: json)" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| images: { | ||
| description: "List Docker images", | ||
| parameters: [ | ||
| { name: "format", dataType: "string", formInputType: "text", required: false, description: "Output format: json or table (default: json)" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| run: { | ||
| description: "Run a new container from an image", | ||
| parameters: [ | ||
| { name: "image", dataType: "string", formInputType: "text", required: true, description: "Image name to run" }, | ||
| { name: "options", dataType: "object", formInputType: "json", required: false, description: "Run options: detach, rm, name, ports[], env{}, volumes[], network, command" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| stop: { | ||
| description: "Stop a running container", | ||
| parameters: [ | ||
| { name: "container", dataType: "string", formInputType: "text", required: true, description: "Container ID or name" }, | ||
| { name: "timeout", dataType: "number", formInputType: "number", required: false, description: "Seconds to wait before killing" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| start: { | ||
| description: "Start a stopped container", | ||
| parameters: [ | ||
| { name: "container", dataType: "string", formInputType: "text", required: true, description: "Container ID or name" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| rm: { | ||
| description: "Remove a container", | ||
| parameters: [ | ||
| { name: "container", dataType: "string", formInputType: "text", required: true, description: "Container ID or name" }, | ||
| { name: "force", dataType: "boolean", formInputType: "checkbox", required: false, description: "Force remove running container" }, | ||
| { name: "volumes", dataType: "boolean", formInputType: "checkbox", required: false, description: "Remove associated volumes" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| rmi: { | ||
| description: "Remove a Docker image", | ||
| parameters: [ | ||
| { name: "image", dataType: "string", formInputType: "text", required: true, description: "Image ID or name" }, | ||
| { name: "force", dataType: "boolean", formInputType: "checkbox", required: false, description: "Force remove" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| logs: { | ||
| description: "Fetch logs from a container", | ||
| parameters: [ | ||
| { name: "container", dataType: "string", formInputType: "text", required: true, description: "Container ID or name" }, | ||
| { name: "tail", dataType: "number", formInputType: "number", required: false, description: "Number of lines from the end" }, | ||
| { name: "follow", dataType: "boolean", formInputType: "checkbox", required: false, description: "Follow log output" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| exec: { | ||
| description: "Execute a command inside a running container", | ||
| parameters: [ | ||
| { name: "container", dataType: "string", formInputType: "text", required: true, description: "Container ID or name" }, | ||
| { name: "command", dataType: "string", formInputType: "text", required: true, description: "Command to execute" }, | ||
| { name: "interactive", dataType: "boolean", formInputType: "checkbox", required: false, description: "Interactive mode with TTY" }, | ||
| { name: "workdir", dataType: "string", formInputType: "text", required: false, description: "Working directory inside container" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| build: { | ||
| description: "Build a Docker image from a Dockerfile", | ||
| parameters: [ | ||
| { name: "context", dataType: "string", formInputType: "text", required: true, description: "Build context path" }, | ||
| { name: "options", dataType: "object", formInputType: "json", required: false, description: "Build options: tag, file, noCache, buildArgs{}" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| pull: { | ||
| description: "Pull a Docker image from a registry", | ||
| parameters: [ | ||
| { name: "image", dataType: "string", formInputType: "text", required: true, description: "Image name with optional tag" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| push: { | ||
| description: "Push a Docker image to a registry", | ||
| parameters: [ | ||
| { name: "image", dataType: "string", formInputType: "text", required: true, description: "Image name with optional tag" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| inspect: { | ||
| description: "Return low-level information on a container or image", | ||
| parameters: [ | ||
| { name: "target", dataType: "string", formInputType: "text", required: true, description: "Container or image ID/name" }, | ||
| { name: "format", dataType: "string", formInputType: "text", required: false, description: "Go template format string" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| stats: { | ||
| description: "Display container resource usage statistics", | ||
| parameters: [ | ||
| { name: "container", dataType: "string", formInputType: "text", required: false, description: "Container ID or name (omit for all)" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| network: { | ||
| description: "Manage Docker networks", | ||
| parameters: [ | ||
| { name: "action", dataType: "string", formInputType: "text", required: false, description: "Action: ls, create, rm, inspect (default: ls)" }, | ||
| { name: "name", dataType: "string", formInputType: "text", required: false, description: "Network name" }, | ||
| { name: "driver", dataType: "string", formInputType: "text", required: false, description: "Network driver (for create)" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| volume: { | ||
| description: "Manage Docker volumes", | ||
| parameters: [ | ||
| { name: "action", dataType: "string", formInputType: "text", required: false, description: "Action: ls, create, rm, inspect (default: ls)" }, | ||
| { name: "name", dataType: "string", formInputType: "text", required: false, description: "Volume name" }, | ||
| { name: "driver", dataType: "string", formInputType: "text", required: false, description: "Volume driver (for create)" }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "API response.", | ||
| }, | ||
| }; | ||
| export const DockerModuleMetadata = { | ||
| description: "Docker container and image management using the system docker binary", | ||
| version: "1.0.0", | ||
| dependencies: [], | ||
| }; | ||
| //# sourceMappingURL=docker.js.map |
| {"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"} |
| import type { ModuleAdapter } from "@wiredwp/robinpath"; | ||
| declare const DockerModule: ModuleAdapter; | ||
| export default DockerModule; | ||
| export { DockerModule }; | ||
| export { DockerFunctions, DockerFunctionMetadata, DockerModuleMetadata } from "./docker.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,QAAA,MAAM,YAAY,EAAE,aAA2K,CAAC;AAEhM,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"} |
| import { DockerFunctions, DockerFunctionMetadata, DockerModuleMetadata } from "./docker.js"; | ||
| const DockerModule = { name: "docker", functions: DockerFunctions, functionMetadata: DockerFunctionMetadata, moduleMetadata: DockerModuleMetadata, global: false }; | ||
| export default DockerModule; | ||
| export { DockerModule }; | ||
| export { DockerFunctions, DockerFunctionMetadata, DockerModuleMetadata } from "./docker.js"; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,YAAY,GAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAA6B,EAAE,cAAc,EAAE,oBAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAEhM,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"} |
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
No License Found
LicenseLicense information could not be found.
0
-100%3804
-90.08%2
-80%0
-100%2
100%