lyb-pixi-js 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Base/LibPixiBitText/index.js +26 -1
- package/dist/Base/LibPixiContainer/index.js +48 -1
- package/dist/Base/LibPixiParticleMove/index.js +100 -1
- package/dist/Base/LibPixiRectBgColor/index.js +37 -1
- package/dist/Base/LibPixiSpine/index.d.ts +1 -1
- package/dist/Base/LibPixiSpine/index.js +126 -1
- package/dist/Base/LibPixiText/index.js +32 -1
- package/dist/index.js +2 -1
- package/dist/libPixiJs.js +33 -1
- package/package.json +3 -4
- package/umd/lyb-pixi.js +63 -63
|
@@ -1 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
import { BitmapText } from "pixi.js";
|
|
2
|
+
/** @description 自定义位图文本
|
|
3
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiBitText-位图
|
|
4
|
+
*/
|
|
5
|
+
export class LibPixiBitText {
|
|
6
|
+
/**
|
|
7
|
+
* @param fontName 字体名称
|
|
8
|
+
* @param defaultFontSize 默认字体大小
|
|
9
|
+
*/
|
|
10
|
+
constructor(fontName, defaultFontSize) {
|
|
11
|
+
this._fontName = fontName;
|
|
12
|
+
this._defaultFontSize = defaultFontSize;
|
|
13
|
+
}
|
|
14
|
+
/** @description 创建位图文本
|
|
15
|
+
* @param text 文本内容
|
|
16
|
+
* @param fontSize 字体大小,不填则使用默认大小
|
|
17
|
+
* @returns 位图实例
|
|
18
|
+
*/
|
|
19
|
+
createText(text, fontSize) {
|
|
20
|
+
const bitMapText = new BitmapText(text.toString(), {
|
|
21
|
+
fontName: this._fontName,
|
|
22
|
+
fontSize: this._defaultFontSize || fontSize,
|
|
23
|
+
});
|
|
24
|
+
return bitMapText;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1 +1,48 @@
|
|
|
1
|
-
|
|
1
|
+
import { Container, Graphics, Sprite } from "pixi.js";
|
|
2
|
+
import { LibPixiRectBgColor } from "../LibPixiRectBgColor";
|
|
3
|
+
/** @description 自定义容器大小及背景色
|
|
4
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiContainer-容器
|
|
5
|
+
*/
|
|
6
|
+
export class LibPixiContainer extends Container {
|
|
7
|
+
/**
|
|
8
|
+
* @param width 容器宽度
|
|
9
|
+
* @param height 容器高度
|
|
10
|
+
* @param bgColor 背景色
|
|
11
|
+
*/
|
|
12
|
+
constructor(params) {
|
|
13
|
+
super();
|
|
14
|
+
const { width, height, overHidden, bgColor } = params;
|
|
15
|
+
if (overHidden) {
|
|
16
|
+
const mask = new Graphics();
|
|
17
|
+
mask.beginFill(0xffffff); // 创建一个白色矩形
|
|
18
|
+
mask.drawRect(0, 0, width, height);
|
|
19
|
+
mask.endFill();
|
|
20
|
+
this.addChild(mask);
|
|
21
|
+
this.mask = mask;
|
|
22
|
+
}
|
|
23
|
+
if (bgColor) {
|
|
24
|
+
this._bgColorFill = new LibPixiRectBgColor({
|
|
25
|
+
width,
|
|
26
|
+
height,
|
|
27
|
+
bgColor,
|
|
28
|
+
});
|
|
29
|
+
this.addChild(this._bgColorFill);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this._fill = new Sprite();
|
|
33
|
+
this._fill.width = width;
|
|
34
|
+
this._fill.height = height;
|
|
35
|
+
this.addChild(this._fill);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** @description 设置容器大小 */
|
|
39
|
+
setSize(width, height) {
|
|
40
|
+
if (this._fill) {
|
|
41
|
+
this._fill.width = width;
|
|
42
|
+
this._fill.height = height;
|
|
43
|
+
}
|
|
44
|
+
if (this._bgColorFill) {
|
|
45
|
+
this._bgColorFill.renderBg(width, height);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -1 +1,100 @@
|
|
|
1
|
-
|
|
1
|
+
import { Container, ParticleContainer, Ticker } from "pixi.js";
|
|
2
|
+
import { Emitter } from "@pixi/particle-emitter";
|
|
3
|
+
import gsap from "gsap";
|
|
4
|
+
import { LibPixiText } from "../LibPixiText";
|
|
5
|
+
/** @description 利用贝塞尔曲线实现粒子移动
|
|
6
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiParticleMove-粒子容器
|
|
7
|
+
*/
|
|
8
|
+
export class LibPixiParticleMove extends Container {
|
|
9
|
+
constructor(params) {
|
|
10
|
+
super();
|
|
11
|
+
const { start, control, end, json, duration, ease = "power1.out", showControl = false, loop = false, } = params;
|
|
12
|
+
this._particleContainer = new ParticleContainer();
|
|
13
|
+
this.addChild(this._particleContainer);
|
|
14
|
+
// 初始化粒子发射器
|
|
15
|
+
const flyParticle = new Emitter(this._particleContainer, json);
|
|
16
|
+
// 创建贝塞尔曲线的路径
|
|
17
|
+
const path = this._createBezierPoints([start, ...control, end], 100, showControl);
|
|
18
|
+
// 用来控制路径动画的对象
|
|
19
|
+
const flyObj = { pathThrough: 0 };
|
|
20
|
+
gsap.to(flyObj, {
|
|
21
|
+
duration,
|
|
22
|
+
pathThrough: path.length - 1,
|
|
23
|
+
repeat: loop ? -1 : 0,
|
|
24
|
+
ease,
|
|
25
|
+
onStart: () => {
|
|
26
|
+
flyParticle.emit = true;
|
|
27
|
+
},
|
|
28
|
+
onUpdate: () => {
|
|
29
|
+
const i = Math.floor(flyObj.pathThrough);
|
|
30
|
+
const p = path[i];
|
|
31
|
+
flyParticle.updateOwnerPos(p.x, p.y);
|
|
32
|
+
},
|
|
33
|
+
onComplete: () => {
|
|
34
|
+
gsap.to(this, {
|
|
35
|
+
alpha: 0,
|
|
36
|
+
duration: 0.5,
|
|
37
|
+
onComplete: () => {
|
|
38
|
+
flyParticle.emit = false;
|
|
39
|
+
ticker.destroy();
|
|
40
|
+
this.removeFromParent();
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const ticker = new Ticker();
|
|
46
|
+
ticker.add(() => {
|
|
47
|
+
flyParticle.update(1 / 75);
|
|
48
|
+
});
|
|
49
|
+
ticker.start();
|
|
50
|
+
}
|
|
51
|
+
_createBezierPoints(anchorPoints, pointsAmount, showControl) {
|
|
52
|
+
const points = [];
|
|
53
|
+
// 渲染控制点
|
|
54
|
+
if (showControl) {
|
|
55
|
+
anchorPoints.forEach((item, index) => {
|
|
56
|
+
//创建一个小圆点
|
|
57
|
+
const text = new LibPixiText({
|
|
58
|
+
text: index + 1,
|
|
59
|
+
fontSize: 16,
|
|
60
|
+
});
|
|
61
|
+
text.position.set(item.x, item.y);
|
|
62
|
+
this.addChild(text);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// 计算并存储贝塞尔曲线上的点
|
|
66
|
+
for (let i = 0; i < pointsAmount; i++) {
|
|
67
|
+
const point = this._multiPointBezier(anchorPoints, i / pointsAmount);
|
|
68
|
+
points.push(point);
|
|
69
|
+
}
|
|
70
|
+
return points;
|
|
71
|
+
}
|
|
72
|
+
_multiPointBezier(points, t) {
|
|
73
|
+
const len = points.length;
|
|
74
|
+
let x = 0, y = 0;
|
|
75
|
+
// 预计算组合数
|
|
76
|
+
const binomials = [];
|
|
77
|
+
for (let i = 0; i < len; i++) {
|
|
78
|
+
binomials[i] = this._binomial(len - 1, i);
|
|
79
|
+
}
|
|
80
|
+
// 计算贝塞尔曲线上的点
|
|
81
|
+
for (let i = 0; i < len; i++) {
|
|
82
|
+
const point = points[i];
|
|
83
|
+
const binom = binomials[i];
|
|
84
|
+
const factorT = Math.pow(t, i);
|
|
85
|
+
const factor1MinusT = Math.pow(1 - t, len - 1 - i);
|
|
86
|
+
x += point.x * factor1MinusT * factorT * binom;
|
|
87
|
+
y += point.y * factor1MinusT * factorT * binom;
|
|
88
|
+
}
|
|
89
|
+
return { x, y };
|
|
90
|
+
}
|
|
91
|
+
_binomial(n, k) {
|
|
92
|
+
if (k === 0 || k === n)
|
|
93
|
+
return 1;
|
|
94
|
+
let res = 1;
|
|
95
|
+
for (let i = 1; i <= k; i++) {
|
|
96
|
+
res = (res * (n - i + 1)) / i;
|
|
97
|
+
}
|
|
98
|
+
return res;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -1 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
import { Graphics } from "pixi.js";
|
|
2
|
+
import gsap from "gsap";
|
|
3
|
+
/** @description 自定义矩形背景色
|
|
4
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiRectBgColor-矩形
|
|
5
|
+
*/
|
|
6
|
+
export class LibPixiRectBgColor extends Graphics {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super();
|
|
9
|
+
/** 启用着色 */
|
|
10
|
+
this.enableTint = true;
|
|
11
|
+
/** 背景颜色 */
|
|
12
|
+
this.bgColor = "#fff";
|
|
13
|
+
const { x = 0, y = 0, width = 0, height = 0, bgColor = "#fff", enableTint = true, } = options;
|
|
14
|
+
this.x = x;
|
|
15
|
+
this.y = y;
|
|
16
|
+
this.enableTint = enableTint;
|
|
17
|
+
this.bgColor = bgColor;
|
|
18
|
+
this.renderBg(width, height);
|
|
19
|
+
}
|
|
20
|
+
/** @description 重新绘制并添加颜色 */
|
|
21
|
+
updateColor(tint) {
|
|
22
|
+
gsap.to(this, { tint, duration: 0.25 });
|
|
23
|
+
}
|
|
24
|
+
/** @description 更新宽度 */
|
|
25
|
+
renderBg(width, height) {
|
|
26
|
+
this.clear();
|
|
27
|
+
if (this.enableTint) {
|
|
28
|
+
this.beginFill("#fff");
|
|
29
|
+
this.tint = this.bgColor;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.beginFill(this.bgColor);
|
|
33
|
+
}
|
|
34
|
+
this.drawRect(0, 0, width, height);
|
|
35
|
+
this.endFill();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -40,7 +40,7 @@ export declare class LibPixiSpine extends Spine {
|
|
|
40
40
|
* @param loop 是否循环播放
|
|
41
41
|
* @param delay 是否延迟播放
|
|
42
42
|
*/
|
|
43
|
-
setAnimation(animationName?: string, loop?: boolean
|
|
43
|
+
setAnimation(animationName?: string, loop?: boolean): Promise<void>;
|
|
44
44
|
/** @description 添加动画
|
|
45
45
|
* @param animationName 动画名称
|
|
46
46
|
* @param loop 是否循环播放
|
|
@@ -1 +1,126 @@
|
|
|
1
|
-
|
|
1
|
+
import { Assets, Ticker } from "pixi.js";
|
|
2
|
+
import { Spine } from "@pixi-spine/runtime-3.8";
|
|
3
|
+
import gsap from "gsap";
|
|
4
|
+
/** @description 自定义 Spine 动画
|
|
5
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiSpine-动画
|
|
6
|
+
*/
|
|
7
|
+
export class LibPixiSpine extends Spine {
|
|
8
|
+
constructor(spineNameOrTexture, params) {
|
|
9
|
+
const { followPointList, visible = false } = params || {};
|
|
10
|
+
let spineData;
|
|
11
|
+
if (typeof spineNameOrTexture === "string") {
|
|
12
|
+
spineData = Assets.get(spineNameOrTexture).spineData;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
spineData = spineNameOrTexture.spineData;
|
|
16
|
+
}
|
|
17
|
+
super(spineData);
|
|
18
|
+
/** 挂点 */
|
|
19
|
+
this._followDots = [];
|
|
20
|
+
/** 是否已开始 */
|
|
21
|
+
this._isStart = false;
|
|
22
|
+
this.visible = visible;
|
|
23
|
+
this.autoUpdate = false;
|
|
24
|
+
//如果存在挂点
|
|
25
|
+
if (followPointList === null || followPointList === void 0 ? void 0 : followPointList.length) {
|
|
26
|
+
followPointList === null || followPointList === void 0 ? void 0 : followPointList.forEach((item) => {
|
|
27
|
+
item.follow.alpha = 0;
|
|
28
|
+
this._followDots.push({
|
|
29
|
+
point: this.skeleton.findBone(item.boneName),
|
|
30
|
+
follow: item.follow,
|
|
31
|
+
onUpdate: item.onUpdate,
|
|
32
|
+
angleFollow: item.angleFollow || false,
|
|
33
|
+
scaleFollow: item.scaleFollow || true,
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
this._loopFn = this._loop.bind(this);
|
|
38
|
+
Ticker.system.add(this._loopFn);
|
|
39
|
+
}
|
|
40
|
+
/** @description 设置动画
|
|
41
|
+
* @param animationName 动画名称
|
|
42
|
+
* @param loop 是否循环播放
|
|
43
|
+
* @param delay 是否延迟播放
|
|
44
|
+
*/
|
|
45
|
+
setAnimation(animationName = "Animation", loop = false) {
|
|
46
|
+
return new Promise((resolve) => {
|
|
47
|
+
this.visible = true;
|
|
48
|
+
this.state.setAnimation(0, animationName, loop).listener = {
|
|
49
|
+
complete: () => {
|
|
50
|
+
requestAnimationFrame(() => {
|
|
51
|
+
resolve();
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/** @description 添加动画
|
|
58
|
+
* @param animationName 动画名称
|
|
59
|
+
* @param loop 是否循环播放
|
|
60
|
+
* @param delay 延迟播放时间
|
|
61
|
+
*/
|
|
62
|
+
addAnimation(animationName = "Animation", loop = false, delay = 0) {
|
|
63
|
+
return new Promise((resolve) => {
|
|
64
|
+
this.state.addAnimation(0, animationName, loop, delay).listener = {
|
|
65
|
+
complete: () => {
|
|
66
|
+
requestAnimationFrame(() => {
|
|
67
|
+
resolve();
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/** @description 改变骨骼数据 */
|
|
74
|
+
setSkin(skinName) {
|
|
75
|
+
this.skeleton.setSkinByName(skinName);
|
|
76
|
+
}
|
|
77
|
+
/** @description 销毁动画及挂点 */
|
|
78
|
+
destroyAll() {
|
|
79
|
+
Ticker.system.remove(this._loopFn);
|
|
80
|
+
this.destroy();
|
|
81
|
+
}
|
|
82
|
+
/** @description 更新渲染 */
|
|
83
|
+
_loop() {
|
|
84
|
+
this.update(Ticker.system.deltaMS / 1000);
|
|
85
|
+
this._updateFollowPoint();
|
|
86
|
+
}
|
|
87
|
+
/** @description 更新挂点 */
|
|
88
|
+
_updateFollowPoint() {
|
|
89
|
+
if (this._followDots.length === 0)
|
|
90
|
+
return;
|
|
91
|
+
this._followDots.forEach((item) => {
|
|
92
|
+
const { worldX: x, worldY: y } = item.point;
|
|
93
|
+
const rotate = item.point.getWorldRotationX() * (Math.PI / 180);
|
|
94
|
+
const scaleX = item.point.getWorldScaleX();
|
|
95
|
+
const scaleY = item.point.getWorldScaleY();
|
|
96
|
+
if (item.onUpdate) {
|
|
97
|
+
item.onUpdate({
|
|
98
|
+
x,
|
|
99
|
+
y,
|
|
100
|
+
rotate,
|
|
101
|
+
scaleX,
|
|
102
|
+
scaleY,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
if (item.angleFollow) {
|
|
107
|
+
item.follow.rotation = rotate;
|
|
108
|
+
}
|
|
109
|
+
if (item.scaleFollow) {
|
|
110
|
+
item.follow.scale.set(scaleX, scaleY);
|
|
111
|
+
}
|
|
112
|
+
item.follow.position.set(x + 1920 / 2 - item.follow.width / 2, y + 1080 / 2 - item.follow.height / 2);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
if (!this._isStart) {
|
|
116
|
+
this._isStart = true;
|
|
117
|
+
this._followDots.forEach((item) => {
|
|
118
|
+
gsap.to(item.follow, {
|
|
119
|
+
alpha: 1,
|
|
120
|
+
duration: 0.25,
|
|
121
|
+
delay: 0.15,
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -1 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
import { Text, TextStyle } from "pixi.js";
|
|
2
|
+
/** @description 自定义文本类
|
|
3
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiText-文本
|
|
4
|
+
*/
|
|
5
|
+
export class LibPixiText extends Text {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
const { text, fontSize = 36, fontColor = 0xffffff, stroke, strokeColor, strokeThickness, fontFamily = "MicrosoftYaHei", fontWeight = "normal", wordWrap = false, wordWrapWidth = 100, lineHeight = 1.25, align = "left", indent = 0, shadow, } = options;
|
|
8
|
+
const style = new TextStyle({
|
|
9
|
+
fontSize,
|
|
10
|
+
wordWrap,
|
|
11
|
+
wordWrapWidth,
|
|
12
|
+
fontWeight,
|
|
13
|
+
lineHeight: lineHeight * fontSize,
|
|
14
|
+
breakWords: wordWrap,
|
|
15
|
+
fill: fontColor,
|
|
16
|
+
align,
|
|
17
|
+
fontFamily: fontFamily,
|
|
18
|
+
stroke: stroke ? strokeColor : "transparent",
|
|
19
|
+
strokeThickness: stroke ? strokeThickness : 0,
|
|
20
|
+
lineJoin: "round",
|
|
21
|
+
});
|
|
22
|
+
if (shadow) {
|
|
23
|
+
style.dropShadow = true;
|
|
24
|
+
style.dropShadowColor = shadow[0];
|
|
25
|
+
style.dropShadowAngle = shadow[1] * (Math.PI / 180);
|
|
26
|
+
style.dropShadowBlur = shadow[2];
|
|
27
|
+
style.dropShadowDistance = shadow[3];
|
|
28
|
+
}
|
|
29
|
+
super(text, style);
|
|
30
|
+
this.position.x = indent * fontSize;
|
|
31
|
+
}
|
|
32
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import * as LibPixiJs_1 from "./libPixiJs";
|
|
2
|
+
export { LibPixiJs_1 as LibPixiJs };
|
package/dist/libPixiJs.js
CHANGED
|
@@ -1 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
import { LibPixiBitText } from "./Base/LibPixiBitText";
|
|
2
|
+
import { LibPixiContainer } from "./Base/LibPixiContainer";
|
|
3
|
+
import { LibPixiParticleMove } from "./Base/LibPixiParticleMove";
|
|
4
|
+
import { LibPixiRectBgColor } from "./Base/LibPixiRectBgColor";
|
|
5
|
+
import { LibPixiSpine } from "./Base/LibPixiSpine";
|
|
6
|
+
import { LibPixiText } from "./Base/LibPixiText";
|
|
7
|
+
/** @description 基础方法 */
|
|
8
|
+
export const Base = {
|
|
9
|
+
/** @description 自定义位图文本
|
|
10
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiBitText-位图
|
|
11
|
+
*/
|
|
12
|
+
LibPixiBitText,
|
|
13
|
+
/** @description 自定义容器大小及背景色
|
|
14
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiContainer-容器
|
|
15
|
+
*/
|
|
16
|
+
LibPixiContainer,
|
|
17
|
+
/** @description 利用贝塞尔曲线实现粒子移动
|
|
18
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiParticleMove-粒子容器
|
|
19
|
+
*/
|
|
20
|
+
LibPixiParticleMove,
|
|
21
|
+
/** @description 自定义矩形背景色
|
|
22
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiRectBgColor-矩形
|
|
23
|
+
*/
|
|
24
|
+
LibPixiRectBgColor,
|
|
25
|
+
/** @description 自定义 Spine 动画
|
|
26
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiSpine-动画
|
|
27
|
+
*/
|
|
28
|
+
LibPixiSpine,
|
|
29
|
+
/** @description 自定义文本类
|
|
30
|
+
* @link 使用方法:https://www.npmjs.com/package/lyb-pixi-js#LibPixiText-文本
|
|
31
|
+
*/
|
|
32
|
+
LibPixiText,
|
|
33
|
+
};
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lyb-pixi-js",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "自用Pixi.JS方法库",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"main": "./dist/index.js",
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "vite build & tsc
|
|
10
|
+
"build": "vite build & tsc"
|
|
11
11
|
},
|
|
12
12
|
"exports": {
|
|
13
13
|
"./*": "./dist/*"
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
],
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^22.10.5",
|
|
37
|
-
"esbuild": "^0.24.2",
|
|
38
37
|
"typescript": "^5.7.3"
|
|
39
38
|
},
|
|
40
39
|
"dependencies": {
|
|
@@ -46,4 +45,4 @@
|
|
|
46
45
|
"pixi.js": "^7.4.2",
|
|
47
46
|
"vite": "^4.5.5"
|
|
48
47
|
}
|
|
49
|
-
}
|
|
48
|
+
}
|