// npm 패키지
@antv/react-g
react render for @antv/g
주간
3,246
월간
10,740
버전
253
메인테이너
51
라이선스
MIT
최초 publish
2022-01-18
publisher
wang1212
tarball
3,901,549 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2025-12-24
// publisher 캠페인by wang1212
이 계정에서 catch된 패키지 9건고립된 catch가 아닙니다. 동일 publisher가 8개의 다른 패키지를 추가로 발행했고, 모두 파이프라인이 catch했습니다 — 일회성이 아닌 조직적 캠페인의 형태. 아래 링크는 각 형제 catch의 분석으로 이동합니다.
// offending code· @2.1.1· 1 file flagged
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s), 1 other host(s).
- @2.1.1··AUTO-PUBLISHED·publisher: wang1212heuristic 75/100static flags 1llm benign (0.85) via ollamapopularity:highmature-packageosv-flagged:MAL-2026-4076public-github-push
→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s), 1 other host(s).
// offending code· 1 file flaggedpatterns: 1
--- package/package.json (excerpt) --- { "name": "@antv/react-g", "version": "2.1.1", "description": "react render for @antv/g", "keywords": [ "react", "antv", "g" ], "homepage": "https://github.com/antvis/g#readme", "bugs": { "url": "https://github.com/antvis/g/issues" }, "repository": { "type": "git", "url": "git+https://github.com/antvis/g.git" }, "license": "MIT", "author": "https://github.com/orgs/antvis/people", "exports": { "types": "./types/index.d.ts", "import": "./dist/index.esm.js", "default": "./dist/index.js" }, "main": "dist/index.js", "unpkg": "dist/index.umd.min.js", "module": "dist/index.esm.js", "types": "types/index.d.ts", "files": [ "package.json", "dist", "types", "LICENSE", "README.md" ], "dependencies": { "@antv/util": "^3.3.5", "@babel/runtime": "^7.25.6", "gl-matrix": "^3.4.3", "react-reconciler": "^0.26.2", "scheduler": "^0.20.2", "tslib": "^2.5.3", "@antv/g": "6.3.1" }, "devDependencies": { "@types/node": "^17.0.0", "@types/react": "^16.9.32", "@types/react-reconciler": "^0.26.0", "@types/scheduler": "^0.16.0" }, "peerDependencies": { "react": "^16.13.1" }, "publishConfig": { "access": "public" }, "scripts": { "build:js": "rimraf dist && rollup -c", "build:types": "rimraf types && tsc --emitDeclarationOnly --noCheck", "build": "npm run build:js && npm run build:types", "sync": "tnpm sync", "watch": "rollu --- bundled output (OSV-MAL flagged — LLM scope expansion) --- --- dist/index.esm.js (bundled) --- /*! * @antv/react-g * @description react render for @antv/g * @version 2.1.1 * @date 12/24/2025, 11:58:34 AM * @author AntVis * @docs https://g.antv.antgroup.com/ */ import { Shape, Canvas as Canvas$1 } from '@antv/g'; import _slicedToArray from '@babel/runtime/helpers/slicedToArray'; import _extends from '@babel/runtime/helpers/extends'; import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties'; import _classCallCheck from '@babel/runtime/helpers/classCallCheck'; import _createClass from '@babel/runtime/helpers/createClass'; import _callSuper from '@babel/runtime/helpers/callSuper'; import _inherits from '@babel/runtime/helpers/inherits'; import { isBoolean } from '@antv/util'; import { vec3 } from 'gl-matrix'; import React, { Component, forwardRef, useRef, useLayoutEffect } from 'react'; import ReactReconciler from 'react-reconciler'; import { unstable_now } from 'scheduler'; var _excluded = ["startHead", "endHead"], _excluded2 = ["startHead", "endHead"]; var DEFAULT_ARROW_SIZE = 16; var Arrow = /*#__PURE__*/function (_Component) { function Arrow(props) { var _this; _classCallCheck(this, Arrow); _this = _callSuper(this, Arrow, [props]); _this.startRef = /*#__PURE__*/React.createRef(); _this.endRef = /*#__PURE__*/React.createRef(); _this.bodyRef = /*#__PURE__*/React.createRef(); return _this; } _inherits(Arrow, _Component); return _createClass(Arrow, [{ key: "getArrowHead", value: function getArrowHead(head, isStart) { if (isBoolean(head)) { return this.getDefaultArrowHead(); } else { return isStart ? this.props.startHead : this.props.endHead; } } }, { key: "setHeadTransform", value: function setHeadTransform() { var _this$props = this.props, startHead = _this$props.startHead, endHead = _this$props.endHead; if (startHead) this.transformArrowHead(this.startRef.current, true); if (endHead) this.transformAr --- dist/index.js (bundled) --- /*! * @antv/react-g * @description react render for @antv/g * @version 2.1.1 * @date 12/24/2025, 11:58:34 AM * @author AntVis * @docs https://g.antv.antgroup.com/ */ 'use strict'; var g = require('@antv/g'); var _slicedToArray = require('@babel/runtime/helpers/slicedToArray'); var _extends = require('@babel/runtime/helpers/extends'); var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties'); var _classCallCheck = require('@babel/runtime/helpers/classCallCheck'); var _createClass = require('@babel/runtime/helpers/createClass'); var _callSuper = require('@babel/runtime/helpers/callSuper'); var _inherits = require('@babel/runtime/helpers/inherits'); var util = require('@antv/util'); var glMatrix = require('gl-matrix'); var React = require('react'); var ReactReconciler = require('react-reconciler'); var scheduler = require('scheduler'); var _excluded = ["startHead", "endHead"], _excluded2 = ["startHead", "endHead"]; var DEFAULT_ARROW_SIZE = 16; var Arrow = /*#__PURE__*/function (_Component) { function Arrow(props) { var _this; _classCallCheck(this, Arrow); _this = _callSuper(this, Arrow, [props]); _this.startRef = /*#__PURE__*/React.createRef(); _this.endRef = /*#__PURE__*/React.createRef(); _this.bodyRef = /*#__PURE__*/React.createRef(); return _this; } _inherits(Arrow, _Component); return _createClass(Arrow, [{ key: "getArrowHead", value: function getArrowHead(head, isStart) { if (util.isBoolean(head)) { return this.getDefaultArrowHead(); } else { return isStart ? this.props.startHead : this.props.endHead; } } }, { key: "setHeadTransform", value: function setHeadTransform() { var _this$props = this.props, startHead = _this$props.startHead, endHead = _this$props.endHead; if (startHead) this.transformArrowHead(this.startRef.current, true); if (endHead) this.transformArrowHead(this.endRef.current, false); --- dist/index.umd.min.js (bundled) --- /*! * @antv/react-g * @description react render for @antv/g * @version 2.1.1 * @date 12/24/2025, 11:58:34 AM * @author AntVis * @docs https://g.antv.antgroup.com/ */ !function(e,A){"object"==typeof exports&&"undefined"!=typeof module?A(exports):"function"==typeof define&&define.amd?define(["exports"],A):A(((e="undefined"!=typeof globalThis?globalThis:e||self).G=e.G||{},e.G.React={}))}(this,function(e){"use strict";function A(e){return A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},A(e)}function t(e){var t=function(e,t){if("object"!=A(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=A(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==A(t)?t:t+""}function n(e,A,n){return(A=t(A))in e?Object.defineProperty(e,A,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[A]=n,e}function r(e,A){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);A&&(n=n.filter(function(A){return Object.getOwnPropertyDescriptor(e,A).enumerable})),t.push.apply(t,n)}return t}function i(e){for(var A=1;arguments.length>A;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?r(Object(t),!0).forEach(function(A){n(e,A,t[A])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach(function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))})}return e}function a(e,A){if(!(e instanceof A))throw new TypeError("Cannot call a class as a function")}function o(e,A){for(var n=0;A.length>n;n++){var r=A[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,t(r.key),r)}}function s(e,A,t){return A&&o(e.prototype,A),t&&o(e,t),Object.defineProperty(
