// npm 패키지
@antv/g6-ssr
Support SSR for G6
버전
24
메인테이너
51
라이선스
MIT
최초 publish
2024-10-31
publisher
atool
tarball
6,602,191 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2025-09-15
// publisher 캠페인by atool
이 계정에서 catch된 패키지 9건고립된 catch가 아닙니다. 동일 publisher가 8개의 다른 패키지를 추가로 발행했고, 모두 파이프라인이 catch했습니다 — 일회성이 아닌 조직적 캠페인의 형태. 아래 링크는 각 형제 catch의 분석으로 이동합니다.
// offending code· @0.1.1· no static-pattern hits
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s).
- @0.1.1··AUTO-PUBLISHED·publisher: atoolheuristic 75/100static flags 0llm benign (0.85) via ollamamature-packagepublisher-multi-name-burst:5osv-flagged:MAL-2026-3996
→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s).
// offending code· no static-pattern hits
--- package.json (entry) --- { "name": "@antv/g6-ssr", "version": "0.1.1", "description": "Support SSR for G6", "keywords": [ "antv", "g6", "ssr" ], "license": "MIT", "author": "Aarebecca", "main": "./dist/g6-ssr.cjs", "types": "./dist/lib/index.d.ts", "bin": "./bin/g6-ssr.js", "files": [ "dist", "bin" ], "dependencies": { "@antv/g": "^6.1.24", "@antv/g-canvas": "^2.0.43", "cac": "^6.7.14", "canvas": "^3", "@antv/g6": "^5.0.49" }, "devDependencies": { "@antv/g-plugin-rough-canvas-renderer": "^2.0.44" }, "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "scripts": { "build": "rimraf ./dist && rollup -c", "ci": "run-s lint type-check build", "lint": "eslint ./src __tests__ --quiet && prettier ./src __tests__ --check", "test": "run-s test:*", "test:bin": "node ./bin/g6-ssr.js export -i ./__tests__/graph-options.json -o __tests__/assets/bin", "test:unit": "jest", "type-check": "tsc --noEmit -p tsconfig.test.json" } } --- bundled output (OSV-MAL flagged — LLM scope expansion) --- --- dist/g6-ssr.cjs (bundled) --- "use strict";var t=require("canvas"),e=require("fs"),n="undefined"!=typeof document?document.currentScript:null;function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(t){var e=function(t,e){if("object"!=r(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e);if("object"!=r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==r(e)?e:e+""}function o(t,e,n){return(e=i(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach(function(e){o(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function l(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,i(r.key),r)}}function u(t,e,n){return e&&c(t.prototype,e),n&&c(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function d(t,e){if(t){if("string"==typeof t)return h(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"A --- dist/lib/canvas.d.ts (bundled) --- import { Canvas as G6Canvas } from '@antv/g6'; import type { Canvas as NodeCanvas } from 'canvas'; import type { Options } from './types'; /** * <zh/> 创建画布 * * <en/> create canvas * @param options <zh/> options 画布配置 | <en/> options canvas configuration * @returns <zh/> [G6 画布, NodeCanvas 画布] | <en/> [G6Canvas, NodeCanvas] */ export declare function createCanvas(options: Options): [G6Canvas, NodeCanvas]; --- dist/lib/graph.d.ts (bundled) --- import type { Graph, Options } from './types'; /** * <zh/> 创建图并等待渲染完成 * * <en/> Create a graph and wait for the rendering to complete * @param options - <zh/>图配置项 | <en/>Graph options * @returns <zh/>扩展图实例 | <en/>Extended graph instance */ export declare function createGraph(options: Options): Promise<Graph>; --- dist/lib/index.d.ts (bundled) --- import * as G6 from '@antv/g6'; export { getExtension, getExtensions, register } from '@antv/g6'; export { createCanvas } from './canvas'; export { createGraph } from './graph'; export type { Graph, MetaData, Options } from './types'; export { G6 }; --- dist/lib/types.d.ts (bundled) --- import type { RendererPlugin } from '@antv/g'; import type { GraphOptions } from '@antv/g6'; import { Graph as G6Graph } from '@antv/g6'; import type { Canvas, JpegConfig, PdfConfig, PngConfig } from 'canvas'; export interface Options extends Omit<GraphOptions, 'renderer' | 'container'> { width: number; height: number; /** * <zh/> 等待渲染的时间,默认为 16ms * * <en/> The time to wait for rendering, default is 16ms * @defaultValue 16 */ waitForRender?: number; /** * <zh/> 输出文件类型,默认导出为图片 * * <en/> output file type, default export as image * @defaultValue 'image' */ outputType?: 'image' | 'pdf' | 'svg'; /** * <zh/> 图片类型,默认为 png * * <en/> Image type, default is png */ imageType?: 'png' | 'jpeg'; /** * <zh/> 渲染插件 * * <en/> render plugins */ renderPlugins?: RendererPlugin[]; } export type MetaData = PdfConfig | PngConfig | JpegConfig; export interface Graph { getGraph: () => G6Graph; getCanvas: () => Canvas; destroy: () => void; exportToFile: (file: string, meta?: MetaData) => void; toBuffer: (meta?: MetaData) => Buffer; toDataURL: () => string; }
