// npm 패키지
@antv/g-gesture
G Gesture
버전
187
메인테이너
51
라이선스
MIT
최초 publish
2019-08-21
publisher
alex_zjt
tarball
135,415 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2025-12-15
// publisher 캠페인by alex_zjt
이 계정에서 catch된 패키지 9건고립된 catch가 아닙니다. 동일 publisher가 8개의 다른 패키지를 추가로 발행했고, 모두 파이프라인이 catch했습니다 — 일회성이 아닌 조직적 캠페인의 형태. 아래 링크는 각 형제 catch의 분석으로 이동합니다.
// offending code· @3.0.39-beta.0· 1 file flagged
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 2 known-vendor host(s).
- @3.0.39-beta.0··AUTO-PUBLISHED·publisher: alex_zjtheuristic 75/100static flags 1llm benign (0.85) via ollamamature-packageosv-flagged:MAL-2026-3919public-github-push
→ 의심 전송지 없음, 원격 실행 형태 없음 — 2 known-vendor host(s).
// offending code· 1 file flaggedpatterns: 1
--- package/package.json (excerpt) --- { "name": "@antv/g-gesture", "version": "3.0.39-beta.0", "description": "G Gesture", "keywords": [ "antv", "g", "gesture" ], "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": { "@babel/runtime": "^7.25.6", "eventemitter3": "^5.0.1", "tslib": "^2.5.3", "@antv/g-lite": "2.3.3-beta.2" }, "devDependencies": { "@antv/g-mobile-canvas-element": "1.0.39-beta.0", "@antv/g-mobile-canvas": "1.0.46-beta.0" }, "publishConfig": { "access": "public" }, "scripts": { "build:types": "tsc --emitDeclarationOnly --noCheck", "build": "npm run clean && npm run build:types && rollup -c", "clean": "rimraf dist", "sync": "tnpm sync", "watch": "rollup -c -w" } } --- package.json (entry) --- { "name": "@antv/g-gesture", "version": "3.0.39-beta.0", "description": "G Gesture", "keywords": [ "antv", "g", "gesture" ], "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": { "@babel/runtime": "^7.25.6", "eventemitter3": "^5.0.1", "tslib": "^2.5.3", "@antv/g-lite": "2.3.3-beta.2" }, "devDependencies": { "@antv/g-mobile-canvas-element": "1.0.39-beta.0", "@antv/g-mobile-canvas": "1.0.46-beta.0" }, "publishConfig": { "access": "public" }, "scripts": { "build:types": "tsc --emitDeclarationOnly --noCheck", "build": "npm run clean && --- index.js (entry) --- /*! * @antv/g-gesture * @description G Gesture * @version 3.0.39-beta.0 * @date 12/12/2025, 2:51:06 PM * @author AntVis * @docs https://g.antv.antgroup.com/ */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); 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 EventEmitter = require('eventemitter3'); var clock = typeof performance === 'object' && performance.now ? performance : Date; var PRESS_DELAY = 250; // 计算滑动的方向 var calcDirection = function calcDirection(start, end) { var xDistance = end.x - start.x; var yDistance = end.y - start.y; // x 的距离大于y 说明是横向,否则就是纵向 if (Math.abs(xDistance) > Math.abs(yDistance)) { return xDistance > 0 ? 'right' : 'left'; } return yDistance > 0 ? 'down' : 'up'; }; // 计算2点之间的距离 var calcDistance = function calcDistance(point1, point2) { var xDistance = Math.abs(point2.x - point1.x); var yDistance = Math.abs(point2.y - point1.y); return Math.sqrt(xDistance * xDistance + yDistance * yDist --- bundled output (OSV-MAL flagged — LLM scope expansion) --- --- dist/index.esm.js (bundled) --- /*! * @antv/g-gesture * @description G Gesture * @version 3.0.39-beta.0 * @date 12/12/2025, 2:51:06 PM * @author AntVis * @docs https://g.antv.antgroup.com/ */ 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 EventEmitter from 'eventemitter3'; var clock = typeof performance === 'object' && performance.now ? performance : Date; var PRESS_DELAY = 250; // 计算滑动的方向 var calcDirection = function calcDirection(start, end) { var xDistance = end.x - start.x; var yDistance = end.y - start.y; // x 的距离大于y 说明是横向,否则就是纵向 if (Math.abs(xDistance) > Math.abs(yDistance)) { return xDistance > 0 ? 'right' : 'left'; } return yDistance > 0 ? 'down' : 'up'; }; // 计算2点之间的距离 var calcDistance = function calcDistance(point1, point2) { var xDistance = Math.abs(point2.x - point1.x); var yDistance = Math.abs(point2.y - point1.y); return Math.sqrt(xDistance * xDistance + yDistance * yDistance); }; var getCenter = function getCenter(point1, point2) { var x = point1.x + (point2.x - point1.x) / 2; var y = point1.y + (point2.y - point1.y) / 2; return { x: x, y: y }; }; var Gesture = /*#__PURE__*/function (_EventEmitter) { function Gesture(el) { var _this; _classCallCheck(this, Gesture); _this = _callSuper(this, Gesture); _this.evCache = []; _this.startPoints = []; // 用来记录当前触发的事件 _this.processEvent = {}; _this.throttleTimer = 0; _this.emitThrottles = []; _this._start = function (ev) { // 每次触点开始都重置事件 _this.reset(); // 记录touch start 的时间 _this.startTime = clock.now(); var _this2 = _this, evCache = _this2.evCache, startPoints = _this2.startPoints; if (ev) { var pointerId = ev.pointerId, x = ev.x, y = ev.y; evCache.push({ --- dist/index.js (bundled) --- /*! * @antv/g-gesture * @description G Gesture * @version 3.0.39-beta.0 * @date 12/12/2025, 2:51:06 PM * @author AntVis * @docs https://g.antv.antgroup.com/ */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); 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 EventEmitter = require('eventemitter3'); var clock = typeof performance === 'object' && performance.now ? performance : Date; var PRESS_DELAY = 250; // 计算滑动的方向 var calcDirection = function calcDirection(start, end) { var xDistance = end.x - start.x; var yDistance = end.y - start.y; // x 的距离大于y 说明是横向,否则就是纵向 if (Math.abs(xDistance) > Math.abs(yDistance)) { return xDistance > 0 ? 'right' : 'left'; } return yDistance > 0 ? 'down' : 'up'; }; // 计算2点之间的距离 var calcDistance = function calcDistance(point1, point2) { var xDistance = Math.abs(point2.x - point1.x); var yDistance = Math.abs(point2.y - point1.y); return Math.sqrt(xDistance * xDistance + yDistance * yDistance); }; var getCenter = function getCenter(point1, point2) { var x = point1.x + (point2.x - point1.x) / 2; var y = point1.y + (point2.y - point1.y) / 2; return { x: x, y: y }; }; var Gesture = /*#__PURE__*/function (_EventEmitter) { function Gesture(el) { var _this; _classCallCheck(this, Gesture); _this = _callSuper(this, Gesture); _this.evCache = []; _this.startPoints = []; // 用来记录当前触发的事件 _this.processEvent = {}; _this.throttleTimer = 0; _this.emitThrottles = []; _this._start = function (ev) { // 每次触点开始都重置事件 _this.reset(); // 记录touch start 的时间 _this.startTime = clock.now(); var _this2 = _this, evCache = _this2.evCache, startPoints = _this2.startPoints; if (ev) { var poi --- dist/index.umd.min.js (bundled) --- /*! * @antv/g-gesture * @description G Gesture * @version 3.0.39-beta.0 * @date 12/12/2025, 2:51:06 PM * @author AntVis * @docs https://g.antv.antgroup.com/ */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).G=t.G||{},t.G.Gesture=e())}(this,function(){"use strict";function t(e){return t="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},t(e)}function e(e){var n=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,n||"default");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==t(n)?n:n+""}function n(t,n){for(var r=0;n.length>r;r++){var o=n[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,e(o.key),o)}}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(e,n){if(n&&("object"==t(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(e)}function s(t,e){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},s(t,e)}var a={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function o(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function i(t,e,r,i,s){if("func
