// npm package
@antv/f2-graphic
versions
23
maintainers
51
first publish
2021-11-10
publisher
zengyue
tarball
356,877 B
AUTO-PUBLISHED·1 version indexed·latest published 2023-09-06
// publisher campaignby zengyue
9 caught packages from this accountThis is not an isolated catch. The same publisher has shipped 8 other packages that our pipeline flagged — the shape of a coordinated campaign, not a one-off. Each link below opens that sibling's analysis.
// offending code· @0.0.16· no static-pattern hits
llm: benign · 0.85→ No suspicious destination, no remote-exec shape — 1 known-vendor host(s).
- @0.0.16··AUTO-PUBLISHED·publisher: zengyueheuristic 75/100static flags 0llm benign (0.85) via ollamamature-packageosv-flagged:MAL-2026-3893
→ No suspicious destination, no remote-exec shape — 1 known-vendor host(s).
// offending code· no static-pattern hits
--- package.json (entry) --- { "name": "@antv/f2-graphic", "version": "0.0.16", "main": "lib/index.js", "module": "es/index.js", "types": "es/index.d.ts", "sideEffects": true, "dependencies": { "@antv/util": "~2.0.6", "@babel/runtime": "^7.12.5" }, "homepage": "https://github.com/antvis/f2", "author": "https://github.com/orgs/antvis/people", "repository": { "type": "git", "url": "https://github.com/antvis/f2" }, "bugs": { "url": "https://github.com/antvis/f2/issues" }, "gitHead": "535dfbad4f9cd6e4496d0cae665c7dcd7a33052d" } --- index.js (entry) --- "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.BBox = void 0; Object.defineProperty(exports, "Canvas", { enumerable: true, get: function get() { return _engine.Canvas; } }); Object.defineProperty(exports, "Group", { enumerable: true, get: function get() { return _engine.Group; } }); Object.defineProperty(exports, "Matrix", { enumerable: true, get: function get() { return _matrix.default; } }); Object.defineProperty(exports, "Shape", { enumerable: true, get: function get() { return _engine.Shape; } }); exports.Types = exports.Smooth = void 0; Object.defineProperty(exports, "Vector2", { enumerable: true, get: function get() { return _vector.default; } }); exports.createCanvas = createCanvas; exports.getEngine = getEngine; exports.registerEngine = registerEngine; var _matrix = _interopRequireDefault(require("./util/matrix")); var _vector = _interopRequireDefault(require("./util/vector2")); var Smooth = _interopRequireWildcard(require("./util/smooth")); exp --- bundled output (OSV-MAL flagged — LLM scope expansion) --- --- lib/engine/canvas-element.js (bundled) --- "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var _emit = _interopRequireDefault(require("../event/emit")); var CanvasElement = /*#__PURE__*/function (_EventEmit) { (0, _inherits2.default)(CanvasElement, _EventEmit); var _super = (0, _createSuper2.default)(CanvasElement); /* eslint-enable */ function CanvasElement(ctx) { var _this; (0, _classCallCheck2.default)(this, CanvasElement); _this = _super.call(this); _this.context = ctx; // canvas实际的宽高 (width/height) * pixelRatio // 有可能是 node canvas 创建的 context 对象 var canvas = ctx.canvas || {}; _this.width = canvas.width || 0; _this.height = canvas.height || 0; _this.style = {}; _this.currentStyle = {}; _this.attrs = {}; // 用来标识是CanvasElement实例 _this.isCanvasElement = true; return _this; } (0, _createClass2.default)(CanvasElement, [{ key: "getContext", value: function getContext( /* type */ ) { return this.context; } }, { key: "getBoundingClientRect", value: function getBoundingClientRect() { var width = this.width; var height = this.height; // 默认都处理成可视窗口的顶部位置 return { top: 0, right: width, bottom: height, left: 0 }; } }, { key: "setAttribute", value: function setAttribute(key, value) { this.attrs[key] = value; } }, { key: "addEventListener", value: function addEventListener(type, listener) { this.on(type, listener); --- es/engine/canvas-element.js (bundled) --- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; import _createClass from "@babel/runtime/helpers/esm/createClass"; import _inherits from "@babel/runtime/helpers/esm/inherits"; import _createSuper from "@babel/runtime/helpers/esm/createSuper"; import EventEmit from '../event/emit'; var CanvasElement = /*#__PURE__*/function (_EventEmit) { _inherits(CanvasElement, _EventEmit); var _super = _createSuper(CanvasElement); /* eslint-enable */ function CanvasElement(ctx) { var _this; _classCallCheck(this, CanvasElement); _this = _super.call(this); _this.context = ctx; // canvas实际的宽高 (width/height) * pixelRatio // 有可能是 node canvas 创建的 context 对象 var canvas = ctx.canvas || {}; _this.width = canvas.width || 0; _this.height = canvas.height || 0; _this.style = {}; _this.currentStyle = {}; _this.attrs = {}; // 用来标识是CanvasElement实例 _this.isCanvasElement = true; return _this; } _createClass(CanvasElement, [{ key: "getContext", value: function getContext( /* type */ ) { return this.context; } }, { key: "getBoundingClientRect", value: function getBoundingClientRect() { var width = this.width; var height = this.height; // 默认都处理成可视窗口的顶部位置 return { top: 0, right: width, bottom: height, left: 0 }; } }, { key: "setAttribute", value: function setAttribute(key, value) { this.attrs[key] = value; } }, { key: "addEventListener", value: function addEventListener(type, listener) { this.on(type, listener); } }, { key: "removeEventListener", value: function removeEventListener(type, listener) { this.off(type, listener); } }, { key: "dispatchEvent", value: function dispatchEvent(type, e) { this.emit(type, e); } }]); return CanvasElement; }(EventEmit); function supportEventListener(canvas) { if (!canvas) { return false;
