@visactor/vrender 0.9.0-alpha.1 → 0.9.0-fillstroke.0

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.
Files changed (159) hide show
  1. package/cjs/animate/custom-animate.d.ts +2 -2
  2. package/cjs/animate/custom-animate.js +11 -11
  3. package/cjs/animate/custom-animate.js.map +1 -1
  4. package/cjs/animate/morphing.js +4 -5
  5. package/cjs/animate/morphing.js.map +1 -1
  6. package/cjs/canvas/contributions/browser/context.d.ts +2 -4
  7. package/cjs/canvas/contributions/browser/context.js +4 -4
  8. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  9. package/cjs/canvas/contributions/taro/context.js +4 -4
  10. package/cjs/canvas/contributions/taro/context.js.map +1 -1
  11. package/cjs/common/canvas-utils.d.ts +1 -1
  12. package/cjs/common/canvas-utils.js +11 -7
  13. package/cjs/common/canvas-utils.js.map +1 -1
  14. package/cjs/common/shape/rect.d.ts +1 -1
  15. package/cjs/common/utils.d.ts +2 -1
  16. package/cjs/common/utils.js +15 -6
  17. package/cjs/common/utils.js.map +1 -1
  18. package/cjs/core/global.d.ts +2 -2
  19. package/cjs/graphic/config.js +2 -4
  20. package/cjs/graphic/config.js.map +1 -1
  21. package/cjs/graphic/graphic-service/graphic-service.js +25 -30
  22. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  23. package/cjs/graphic/graphic.js +1 -1
  24. package/cjs/graphic/graphic.js.map +1 -1
  25. package/cjs/graphic/richtext/utils.js +6 -8
  26. package/cjs/graphic/richtext/utils.js.map +1 -1
  27. package/cjs/interface/context.d.ts +3 -3
  28. package/cjs/interface/context.js.map +1 -1
  29. package/cjs/interface/graphic/area.d.ts +1 -1
  30. package/cjs/interface/graphic/area.js.map +1 -1
  31. package/cjs/interface/graphic/creator.js.map +1 -1
  32. package/cjs/interface/graphic/line.d.ts +1 -1
  33. package/cjs/interface/graphic/line.js.map +1 -1
  34. package/cjs/interface/graphic/richText.d.ts +2 -4
  35. package/cjs/interface/graphic/richText.js.map +1 -1
  36. package/cjs/interface/graphic.d.ts +4 -4
  37. package/cjs/interface/graphic.js.map +1 -1
  38. package/cjs/picker/contributions/canvas-picker/rect-picker.js +1 -1
  39. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  40. package/cjs/picker/contributions/math-picker/rect-picker.js +1 -1
  41. package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
  42. package/cjs/render/contributions/render/arc-render.d.ts +1 -1
  43. package/cjs/render/contributions/render/arc-render.js +3 -3
  44. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  45. package/cjs/render/contributions/render/arc3d-render.js +6 -6
  46. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  47. package/cjs/render/contributions/render/area-render.js +4 -4
  48. package/cjs/render/contributions/render/area-render.js.map +1 -1
  49. package/cjs/render/contributions/render/circle-render.js +1 -1
  50. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  51. package/cjs/render/contributions/render/contributions/area-contribution-render.js +6 -2
  52. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  53. package/cjs/render/contributions/render/group-render.js +1 -1
  54. package/cjs/render/contributions/render/group-render.js.map +1 -1
  55. package/cjs/render/contributions/render/incremental-area-render.js +1 -1
  56. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  57. package/cjs/render/contributions/render/incremental-line-render.js +1 -1
  58. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  59. package/cjs/render/contributions/render/line-render.js +4 -4
  60. package/cjs/render/contributions/render/line-render.js.map +1 -1
  61. package/cjs/render/contributions/render/path-render.js +1 -1
  62. package/cjs/render/contributions/render/path-render.js.map +1 -1
  63. package/cjs/render/contributions/render/polygon-render.js +1 -1
  64. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  65. package/cjs/render/contributions/render/pyramid3d-render.js +3 -3
  66. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  67. package/cjs/render/contributions/render/rect-render.js +1 -1
  68. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  69. package/cjs/render/contributions/render/rect3d-render.js +3 -3
  70. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  71. package/cjs/render/contributions/render/symbol-render.js +1 -1
  72. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  73. package/cjs/render/contributions/render/text-render.js +5 -5
  74. package/cjs/render/contributions/render/text-render.js.map +1 -1
  75. package/cjs/render/contributions/render/utils.d.ts +3 -3
  76. package/cjs/render/contributions/render/utils.js +3 -3
  77. package/cjs/render/contributions/render/utils.js.map +1 -1
  78. package/cjs/resource-loader/loader.d.ts +1 -1
  79. package/dist/vrender.js.js +1 -1
  80. package/dist/vrender.js.min.js +1 -1
  81. package/es/animate/custom-animate.d.ts +2 -2
  82. package/es/animate/custom-animate.js +11 -11
  83. package/es/animate/custom-animate.js.map +1 -1
  84. package/es/animate/morphing.js +4 -5
  85. package/es/animate/morphing.js.map +1 -1
  86. package/es/canvas/contributions/browser/context.d.ts +2 -4
  87. package/es/canvas/contributions/browser/context.js +5 -6
  88. package/es/canvas/contributions/browser/context.js.map +1 -1
  89. package/es/canvas/contributions/taro/context.js +5 -6
  90. package/es/canvas/contributions/taro/context.js.map +1 -1
  91. package/es/common/canvas-utils.d.ts +1 -1
  92. package/es/common/canvas-utils.js +6 -3
  93. package/es/common/canvas-utils.js.map +1 -1
  94. package/es/common/shape/rect.d.ts +1 -1
  95. package/es/common/utils.d.ts +2 -1
  96. package/es/common/utils.js +14 -5
  97. package/es/common/utils.js.map +1 -1
  98. package/es/core/global.d.ts +2 -2
  99. package/es/graphic/config.js +2 -4
  100. package/es/graphic/config.js.map +1 -1
  101. package/es/graphic/graphic-service/graphic-service.js +26 -30
  102. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  103. package/es/graphic/graphic.js +1 -1
  104. package/es/graphic/graphic.js.map +1 -1
  105. package/es/graphic/richtext/utils.js +6 -8
  106. package/es/graphic/richtext/utils.js.map +1 -1
  107. package/es/interface/context.d.ts +3 -3
  108. package/es/interface/context.js.map +1 -1
  109. package/es/interface/graphic/area.d.ts +1 -1
  110. package/es/interface/graphic/area.js.map +1 -1
  111. package/es/interface/graphic/creator.js.map +1 -1
  112. package/es/interface/graphic/line.d.ts +1 -1
  113. package/es/interface/graphic/line.js.map +1 -1
  114. package/es/interface/graphic/richText.d.ts +2 -4
  115. package/es/interface/graphic/richText.js.map +1 -1
  116. package/es/interface/graphic.d.ts +4 -4
  117. package/es/interface/graphic.js.map +1 -1
  118. package/es/picker/contributions/canvas-picker/rect-picker.js +1 -1
  119. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  120. package/es/picker/contributions/math-picker/rect-picker.js +1 -1
  121. package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
  122. package/es/render/contributions/render/arc-render.d.ts +1 -1
  123. package/es/render/contributions/render/arc-render.js +3 -3
  124. package/es/render/contributions/render/arc-render.js.map +1 -1
  125. package/es/render/contributions/render/arc3d-render.js +6 -6
  126. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  127. package/es/render/contributions/render/area-render.js +4 -4
  128. package/es/render/contributions/render/area-render.js.map +1 -1
  129. package/es/render/contributions/render/circle-render.js +1 -1
  130. package/es/render/contributions/render/circle-render.js.map +1 -1
  131. package/es/render/contributions/render/contributions/area-contribution-render.js +3 -1
  132. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  133. package/es/render/contributions/render/group-render.js +1 -1
  134. package/es/render/contributions/render/group-render.js.map +1 -1
  135. package/es/render/contributions/render/incremental-area-render.js +1 -1
  136. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  137. package/es/render/contributions/render/incremental-line-render.js +1 -1
  138. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  139. package/es/render/contributions/render/line-render.js +4 -4
  140. package/es/render/contributions/render/line-render.js.map +1 -1
  141. package/es/render/contributions/render/path-render.js +1 -1
  142. package/es/render/contributions/render/path-render.js.map +1 -1
  143. package/es/render/contributions/render/polygon-render.js +1 -1
  144. package/es/render/contributions/render/polygon-render.js.map +1 -1
  145. package/es/render/contributions/render/pyramid3d-render.js +3 -3
  146. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  147. package/es/render/contributions/render/rect-render.js +1 -1
  148. package/es/render/contributions/render/rect-render.js.map +1 -1
  149. package/es/render/contributions/render/rect3d-render.js +3 -3
  150. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  151. package/es/render/contributions/render/symbol-render.js +1 -1
  152. package/es/render/contributions/render/symbol-render.js.map +1 -1
  153. package/es/render/contributions/render/text-render.js +5 -5
  154. package/es/render/contributions/render/text-render.js.map +1 -1
  155. package/es/render/contributions/render/utils.d.ts +3 -3
  156. package/es/render/contributions/render/utils.js +4 -3
  157. package/es/render/contributions/render/utils.js.map +1 -1
  158. package/es/resource-loader/loader.d.ts +1 -1
  159. package/package.json +4 -3
@@ -1,8 +1,8 @@
1
1
  import { IDrawContext } from '../../../render/render-service';
2
- import { IGraphicAttribute, IContext2d, IGraphic, IMarkAttribute, IThemeAttribute } from '../../../interface';
2
+ import { IGraphicAttribute, IContext2d, IGraphic, IMarkAttribute, IThemeAttribute, IFillType, IStrokeType } from '../../../interface';
3
3
  import { IGraphicRenderDrawParams } from './graphic-render';
4
- export declare function runFill(fill: boolean): boolean;
5
- export declare function runStroke(stroke: number | boolean | boolean[], lineWidth: number): boolean;
4
+ export declare function runFill(fill: IFillType): boolean;
5
+ export declare function runStroke(stroke: IStrokeType | IStrokeType[], lineWidth: number): boolean;
6
6
  export declare function fillVisible(opacity: number, fillOpacity: number): boolean;
7
7
  export declare function rectFillVisible(opacity: number, fillOpacity: number, width: number, height: number): boolean;
8
8
  export declare function strokeVisible(opacity: number, strokeOpacity: number): boolean;
@@ -5,12 +5,13 @@ import { renderCommandList } from "../../../common";
5
5
  import { getTheme } from "../../../graphic/theme";
6
6
 
7
7
  export function runFill(fill) {
8
- return fill;
8
+ return !!fill;
9
9
  }
10
10
 
11
11
  export function runStroke(stroke, lineWidth) {
12
12
  let s;
13
- return s = isArray(stroke) ? stroke.some((item => item)) : stroke, s && lineWidth > 0;
13
+ return s = isArray(stroke) ? stroke.some((item => item || void 0 === item)) : !!stroke,
14
+ s && lineWidth > 0;
14
15
  }
15
16
 
16
17
  export function fillVisible(opacity, fillOpacity) {
@@ -31,7 +32,7 @@ export function rectStrokeVisible(opacity, strokeOpacity, width, height) {
31
32
 
32
33
  export function drawPathProxy(graphic, context, x, y, drawContext, params, fillCb, strokeCb) {
33
34
  if (!graphic.pathProxy) return !1;
34
- const themeAttributes = getTheme(graphic, null == params ? void 0 : params.theme)[graphic.type], {fill: fill = (null == themeAttributes.fill ? !!graphic.attribute.fillColor : themeAttributes.fill), stroke: stroke = (null == themeAttributes.stroke ? !!graphic.attribute.strokeColor : themeAttributes.stroke), opacity: opacity = themeAttributes.opacity, fillOpacity: fillOpacity = themeAttributes.fillOpacity, lineWidth: lineWidth = themeAttributes.lineWidth, strokeOpacity: strokeOpacity = themeAttributes.strokeOpacity, visible: visible = themeAttributes.visible} = graphic.attribute, fVisible = fillVisible(opacity, fillOpacity), sVisible = strokeVisible(opacity, strokeOpacity), doFill = runFill(fill), doStroke = runStroke(stroke, lineWidth);
35
+ const themeAttributes = getTheme(graphic, null == params ? void 0 : params.theme)[graphic.type], {fill: fill = themeAttributes.fill, stroke: stroke = themeAttributes.stroke, opacity: opacity = themeAttributes.opacity, fillOpacity: fillOpacity = themeAttributes.fillOpacity, lineWidth: lineWidth = themeAttributes.lineWidth, strokeOpacity: strokeOpacity = themeAttributes.strokeOpacity, visible: visible = themeAttributes.visible} = graphic.attribute, fVisible = fillVisible(opacity, fillOpacity), sVisible = strokeVisible(opacity, strokeOpacity), doFill = runFill(fill), doStroke = runStroke(stroke, lineWidth);
35
36
  if (!visible) return !0;
36
37
  if (!doFill && !doStroke) return !0;
37
38
  if (!(fVisible || sVisible || fillCb || strokeCb)) return !0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { renderCommandList } from '../../../common';\nimport { IDrawContext } from '../../../render/render-service';\nimport { getTheme } from '../../../graphic/theme';\nimport { IGraphicAttribute, IContext2d, IGraphic, IMarkAttribute, IThemeAttribute } from '../../../interface';\nimport { IGraphicRenderDrawParams } from './graphic-render';\n\n/**\n * 是否需要执行fill逻辑\n * @param fill\n * @returns\n */\nexport function runFill(fill: boolean) {\n return fill;\n}\n\n/**\n * 是否需要执行stroke逻辑\n * @param stroke\n * @returns\n */\nexport function runStroke(stroke: number | boolean | boolean[], lineWidth: number) {\n let s: boolean | number;\n if (isArray(stroke)) {\n s = stroke.some(item => item);\n } else {\n s = stroke;\n }\n return s && lineWidth > 0;\n}\n\n/**\n * 是否fill部分可见\n * @param opacity\n * @param fillOpacity\n * @returns\n */\nexport function fillVisible(opacity: number, fillOpacity: number) {\n return opacity * fillOpacity > 0;\n}\n\nexport function rectFillVisible(opacity: number, fillOpacity: number, width: number, height: number) {\n return opacity * fillOpacity > 0 && width > 0 && height > 0;\n}\n\n/**\n * 是否stroke部分可见\n * @param opacity\n * @param strokeOpacity\n * @param lineWidth\n * @returns\n */\nexport function strokeVisible(opacity: number, strokeOpacity: number) {\n return opacity * strokeOpacity > 0;\n}\n\nexport function rectStrokeVisible(opacity: number, strokeOpacity: number, width: number, height: number) {\n return opacity * strokeOpacity > 0 && width > 0 && height > 0;\n}\n\nexport function drawPathProxy(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n) {\n if (!graphic.pathProxy) {\n return false;\n }\n\n const themeAttributes = getTheme(graphic, params?.theme)[graphic.type];\n\n const {\n fill = themeAttributes.fill == null ? !!graphic.attribute.fillColor : themeAttributes.fill,\n stroke = themeAttributes.stroke == null ? !!graphic.attribute.strokeColor : themeAttributes.stroke,\n opacity = themeAttributes.opacity,\n fillOpacity = themeAttributes.fillOpacity,\n lineWidth = themeAttributes.lineWidth,\n strokeOpacity = themeAttributes.strokeOpacity,\n visible = themeAttributes.visible\n } = graphic.attribute;\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!visible) {\n return true;\n }\n\n if (!(doFill || doStroke)) {\n return true;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return true;\n }\n\n context.beginPath();\n const path = typeof graphic.pathProxy === 'function' ? graphic.pathProxy(graphic.attribute) : graphic.pathProxy;\n renderCommandList(path.commandList, context, x, y);\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(graphic, graphic.attribute, themeAttributes);\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, graphic.attribute, themeAttributes);\n } else if (sVisible) {\n context.setStrokeStyle(graphic, graphic.attribute, x, y, themeAttributes);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, graphic.attribute, themeAttributes);\n } else if (fVisible) {\n context.setCommonStyle(graphic, graphic.attribute, x, y, themeAttributes);\n context.fill();\n }\n }\n return true;\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { renderCommandList } from '../../../common';\nimport { IDrawContext } from '../../../render/render-service';\nimport { getTheme } from '../../../graphic/theme';\nimport {\n IGraphicAttribute,\n IContext2d,\n IGraphic,\n IMarkAttribute,\n IThemeAttribute,\n IFillType,\n IStrokeType\n} from '../../../interface';\nimport { IGraphicRenderDrawParams } from './graphic-render';\n\n/**\n * 是否需要执行fill逻辑\n * @param fill\n * @returns\n */\nexport function runFill(fill: IFillType) {\n return !!fill;\n}\n/**\n * 是否需要执行stroke逻辑\n * @param stroke\n * @returns\n */\nexport function runStroke(stroke: IStrokeType | IStrokeType[], lineWidth: number) {\n let s: boolean | number;\n if (isArray(stroke)) {\n s = stroke.some(item => item || item === undefined);\n } else {\n s = !!stroke;\n }\n return s && lineWidth > 0;\n}\n\n/**\n * 是否fill部分可见\n * @param opacity\n * @param fillOpacity\n * @returns\n */\nexport function fillVisible(opacity: number, fillOpacity: number) {\n return opacity * fillOpacity > 0;\n}\n\nexport function rectFillVisible(opacity: number, fillOpacity: number, width: number, height: number) {\n return opacity * fillOpacity > 0 && width > 0 && height > 0;\n}\n\n/**\n * 是否stroke部分可见\n * @param opacity\n * @param strokeOpacity\n * @param lineWidth\n * @returns\n */\nexport function strokeVisible(opacity: number, strokeOpacity: number) {\n return opacity * strokeOpacity > 0;\n}\n\nexport function rectStrokeVisible(opacity: number, strokeOpacity: number, width: number, height: number) {\n return opacity * strokeOpacity > 0 && width > 0 && height > 0;\n}\n\nexport function drawPathProxy(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n) {\n if (!graphic.pathProxy) {\n return false;\n }\n\n const themeAttributes = getTheme(graphic, params?.theme)[graphic.type];\n\n const {\n fill = themeAttributes.fill,\n stroke = themeAttributes.stroke,\n opacity = themeAttributes.opacity,\n fillOpacity = themeAttributes.fillOpacity,\n lineWidth = themeAttributes.lineWidth,\n strokeOpacity = themeAttributes.strokeOpacity,\n visible = themeAttributes.visible\n } = graphic.attribute;\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!visible) {\n return true;\n }\n\n if (!(doFill || doStroke)) {\n return true;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return true;\n }\n\n context.beginPath();\n const path = typeof graphic.pathProxy === 'function' ? graphic.pathProxy(graphic.attribute) : graphic.pathProxy;\n renderCommandList(path.commandList, context, x, y);\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(graphic, graphic.attribute, themeAttributes);\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, graphic.attribute, themeAttributes);\n } else if (sVisible) {\n context.setStrokeStyle(graphic, graphic.attribute, x, y, themeAttributes);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, graphic.attribute, themeAttributes);\n } else if (fVisible) {\n context.setCommonStyle(graphic, graphic.attribute, x, y, themeAttributes);\n context.fill();\n }\n }\n return true;\n}\n"]}
@@ -20,7 +20,7 @@ export declare class ResourceLoader {
20
20
  private static cache;
21
21
  static GetImage(url: string, mark: ImagePayload): void;
22
22
  static GetSvg(svgStr: string, mark: IImage): void;
23
- static GetFile(url: string, type: 'json' | 'arrayBuffer' | 'blob'): Promise<ImageData | HTMLImageElement | ImageBitmap | Blob | ArrayBuffer | OffscreenCanvas | {
23
+ static GetFile(url: string, type: 'json' | 'arrayBuffer' | 'blob'): Promise<HTMLImageElement | ImageData | ImageBitmap | Blob | OffscreenCanvas | ArrayBuffer | {
24
24
  [id: string]: any;
25
25
  }>;
26
26
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vrender",
3
- "version": "0.9.0-alpha.1",
3
+ "version": "0.9.0-fillstroke.0",
4
4
  "description": "",
5
5
  "sideEffects": false,
6
6
  "main": "cjs/index.js",
@@ -11,6 +11,7 @@
11
11
  "es",
12
12
  "dist"
13
13
  ],
14
+ "license": "MIT",
14
15
  "dependencies": {
15
16
  "@visactor/vutils": "0.9.0-alpha.2",
16
17
  "color-convert": "2.0.1",
@@ -33,8 +34,8 @@
33
34
  "vite": "3.2.6",
34
35
  "typescript": "4.9.5",
35
36
  "@internal/bundler": "0.0.1",
36
- "@internal/ts-config": "0.0.1",
37
- "@internal/eslint-config": "0.0.1"
37
+ "@internal/eslint-config": "0.0.1",
38
+ "@internal/ts-config": "0.0.1"
38
39
  },
39
40
  "publishConfig": {
40
41
  "access": "public"