@orbcharts/core 3.0.0-beta.8 → 3.0.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 (76) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-core.es.js +2734 -2353
  3. package/dist/orbcharts-core.umd.js +4 -4
  4. package/dist/src/defaults.d.ts +2 -1
  5. package/dist/src/utils/gridObservables.d.ts +8 -4
  6. package/dist/src/utils/index.d.ts +0 -3
  7. package/dist/src/utils/multiGridObservables.d.ts +3 -2
  8. package/dist/src/utils/multiValueObservables.d.ts +76 -29
  9. package/dist/src/utils/observables.d.ts +8 -1
  10. package/dist/src/utils/orbchartsUtils.d.ts +9 -9
  11. package/dist/src/utils/seriesObservables.d.ts +1 -1
  12. package/lib/core-types.ts +7 -7
  13. package/package.json +42 -42
  14. package/src/AbstractChart.ts +57 -57
  15. package/src/GridChart.ts +24 -24
  16. package/src/MultiGridChart.ts +24 -24
  17. package/src/MultiValueChart.ts +24 -24
  18. package/src/RelationshipChart.ts +24 -24
  19. package/src/SeriesChart.ts +24 -24
  20. package/src/TreeChart.ts +24 -24
  21. package/src/base/createBaseChart.ts +506 -505
  22. package/src/base/createBasePlugin.ts +154 -153
  23. package/src/base/validators/chartOptionsValidator.ts +23 -23
  24. package/src/base/validators/chartParamsValidator.ts +133 -133
  25. package/src/base/validators/elementValidator.ts +13 -13
  26. package/src/base/validators/pluginsValidator.ts +14 -14
  27. package/src/defaults.ts +282 -238
  28. package/src/defineGridPlugin.ts +3 -3
  29. package/src/defineMultiGridPlugin.ts +3 -3
  30. package/src/defineMultiValuePlugin.ts +3 -3
  31. package/src/defineNoneDataPlugin.ts +4 -4
  32. package/src/defineRelationshipPlugin.ts +3 -3
  33. package/src/defineSeriesPlugin.ts +3 -3
  34. package/src/defineTreePlugin.ts +3 -3
  35. package/src/grid/computedDataFn.ts +129 -129
  36. package/src/grid/contextObserverCallback.ts +198 -176
  37. package/src/grid/dataFormatterValidator.ts +120 -101
  38. package/src/grid/dataValidator.ts +12 -12
  39. package/src/index.ts +20 -20
  40. package/src/multiGrid/computedDataFn.ts +123 -123
  41. package/src/multiGrid/contextObserverCallback.ts +72 -41
  42. package/src/multiGrid/dataFormatterValidator.ts +115 -115
  43. package/src/multiGrid/dataValidator.ts +12 -12
  44. package/src/multiValue/computedDataFn.ts +113 -110
  45. package/src/multiValue/contextObserverCallback.ts +276 -160
  46. package/src/multiValue/dataFormatterValidator.ts +89 -9
  47. package/src/multiValue/dataValidator.ts +12 -9
  48. package/src/relationship/computedDataFn.ts +159 -144
  49. package/src/relationship/contextObserverCallback.ts +80 -80
  50. package/src/relationship/dataFormatterValidator.ts +13 -9
  51. package/src/relationship/dataValidator.ts +13 -9
  52. package/src/series/computedDataFn.ts +88 -88
  53. package/src/series/contextObserverCallback.ts +107 -100
  54. package/src/series/dataFormatterValidator.ts +41 -41
  55. package/src/series/dataValidator.ts +12 -12
  56. package/src/tree/computedDataFn.ts +129 -129
  57. package/src/tree/contextObserverCallback.ts +58 -58
  58. package/src/tree/dataFormatterValidator.ts +13 -13
  59. package/src/tree/dataValidator.ts +13 -13
  60. package/src/utils/commonUtils.ts +55 -55
  61. package/src/utils/d3Scale.ts +198 -198
  62. package/src/utils/errorMessage.ts +42 -42
  63. package/src/utils/gridObservables.ts +705 -683
  64. package/src/utils/index.ts +10 -10
  65. package/src/utils/multiGridObservables.ts +401 -392
  66. package/src/utils/multiValueObservables.ts +1044 -662
  67. package/src/utils/observables.ts +281 -219
  68. package/src/utils/orbchartsUtils.ts +377 -377
  69. package/src/utils/relationshipObservables.ts +84 -84
  70. package/src/utils/seriesObservables.ts +175 -175
  71. package/src/utils/treeObservables.ts +105 -105
  72. package/src/utils/validator.ts +126 -126
  73. package/tsconfig.base.json +13 -13
  74. package/tsconfig.json +2 -2
  75. package/vite-env.d.ts +6 -6
  76. package/vite.config.js +22 -22
@@ -1,106 +1,106 @@
1
- import {
2
- combineLatest,
3
- distinctUntilChanged,
4
- filter,
5
- map,
6
- merge,
7
- takeUntil,
8
- shareReplay,
9
- switchMap,
10
- Subject,
11
- Observable } from 'rxjs'
12
- import type {
13
- ChartParams,
14
- ComputedDataTree,
15
- ComputedDataTypeMap,
16
- DataFormatterTree } from '../../lib/core-types'
17
-
18
-
19
- // 所有節點list結構
20
- export const nodeListObservable = ({ computedData$ }: { computedData$: Observable<ComputedDataTree> }) => {
21
- return computedData$.pipe(
22
- map(data => {
23
- function setNodeList (accNodeList: ComputedDataTree[], branch: ComputedDataTree) {
24
- accNodeList.push(branch)
25
- if (branch.children) {
26
- branch.children.forEach(childBranch => {
27
- accNodeList = setNodeList(accNodeList, childBranch) // 遞迴子節點
28
- })
29
- }
30
- return accNodeList
31
- }
32
- return setNodeList([], data)
33
- })
34
- )
35
- }
36
-
37
- // export const categoryLabelsObservable = ({ nodeList$, fullDataFormatter$ }: {
38
- // nodeList$: Observable<ComputedDataTree[]>
39
- // fullDataFormatter$: Observable<DataFormatterTree>
40
- // }) => {
41
-
42
- // const categoryLabels$ = fullDataFormatter$.pipe(
43
- // map(d => d.categoryLabels),
44
- // distinctUntilChanged((a, b) => {
45
- // return JSON.stringify(a).length === JSON.stringify(b).length
46
- // }),
47
- // )
48
-
49
- // return combineLatest({
50
- // nodeList: nodeList$,
51
- // categoryLabels: categoryLabels$
52
- // }).pipe(
53
- // switchMap(async d => d),
54
- // map(data => {
55
- // const CurrentLabelSet = new Set(data.categoryLabels)
56
- // const ExistLabelSet = new Set(
57
- // data.nodeList.filter(node => node.visible).map(node => node.categoryLabel)
58
- // )
59
- // // 加入已存在的label(data.nodeList有,但是dataFormatter.categoryLabels沒有)
60
- // Array.from(ExistLabelSet).forEach(label => {
61
- // if (!CurrentLabelSet.has(label)) {
62
- // CurrentLabelSet.add(label)
63
- // }
64
- // })
65
- // // 移除不存在的label(dataFormatter.categoryLabels有,但是data.nodeList沒有)
66
- // Array.from(CurrentLabelSet).forEach(label => {
67
- // if (!ExistLabelSet.has(label)) {
68
- // ExistLabelSet.delete(label)
69
- // }
70
- // })
71
-
72
- // return Array.from(CurrentLabelSet)
73
- // }),
74
- // distinctUntilChanged((a, b) => {
75
- // return JSON.stringify(a).length === JSON.stringify(b).length
76
- // }),
77
- // )
78
- // }
79
-
80
- export const categoryLabelsObservable = (CategoryDataMap$: Observable<Map<string, ComputedDataTree[]>>) => {
81
- return CategoryDataMap$.pipe(
82
- map(data => {
83
- return Array.from(data.keys())
84
- }),
85
- distinctUntilChanged((a, b) => {
86
- return JSON.stringify(a).length === JSON.stringify(b).length
87
- }),
88
- )
89
- }
90
-
91
- // 所有可見的節點
92
- export const treeVisibleComputedDataObservable = ({ computedData$ }: { computedData$: Observable<ComputedDataTree> }) => {
93
- return computedData$.pipe(
94
- map(data => {
95
- function filterChildren (accTree: ComputedDataTree) {
96
- if (accTree.children) {
97
- accTree.children = accTree.children
98
- .filter(child => child.visible) // 篩選visible
99
- .map(child => filterChildren(child)) // 遞迴子節點
100
- }
101
- return accTree
102
- }
103
- return filterChildren(data)
104
- })
105
- )
1
+ import {
2
+ combineLatest,
3
+ distinctUntilChanged,
4
+ filter,
5
+ map,
6
+ merge,
7
+ takeUntil,
8
+ shareReplay,
9
+ switchMap,
10
+ Subject,
11
+ Observable } from 'rxjs'
12
+ import type {
13
+ ChartParams,
14
+ ComputedDataTree,
15
+ ComputedDataTypeMap,
16
+ DataFormatterTree } from '../../lib/core-types'
17
+
18
+
19
+ // 所有節點list結構
20
+ export const nodeListObservable = ({ computedData$ }: { computedData$: Observable<ComputedDataTree> }) => {
21
+ return computedData$.pipe(
22
+ map(data => {
23
+ function setNodeList (accNodeList: ComputedDataTree[], branch: ComputedDataTree) {
24
+ accNodeList.push(branch)
25
+ if (branch.children) {
26
+ branch.children.forEach(childBranch => {
27
+ accNodeList = setNodeList(accNodeList, childBranch) // 遞迴子節點
28
+ })
29
+ }
30
+ return accNodeList
31
+ }
32
+ return setNodeList([], data)
33
+ })
34
+ )
35
+ }
36
+
37
+ // export const categoryLabelsObservable = ({ nodeList$, fullDataFormatter$ }: {
38
+ // nodeList$: Observable<ComputedDataTree[]>
39
+ // fullDataFormatter$: Observable<DataFormatterTree>
40
+ // }) => {
41
+
42
+ // const categoryLabels$ = fullDataFormatter$.pipe(
43
+ // map(d => d.categoryLabels),
44
+ // distinctUntilChanged((a, b) => {
45
+ // return JSON.stringify(a).length === JSON.stringify(b).length
46
+ // }),
47
+ // )
48
+
49
+ // return combineLatest({
50
+ // nodeList: nodeList$,
51
+ // categoryLabels: categoryLabels$
52
+ // }).pipe(
53
+ // switchMap(async d => d),
54
+ // map(data => {
55
+ // const CurrentLabelSet = new Set(data.categoryLabels)
56
+ // const ExistLabelSet = new Set(
57
+ // data.nodeList.filter(node => node.visible).map(node => node.categoryLabel)
58
+ // )
59
+ // // 加入已存在的label(data.nodeList有,但是dataFormatter.categoryLabels沒有)
60
+ // Array.from(ExistLabelSet).forEach(label => {
61
+ // if (!CurrentLabelSet.has(label)) {
62
+ // CurrentLabelSet.add(label)
63
+ // }
64
+ // })
65
+ // // 移除不存在的label(dataFormatter.categoryLabels有,但是data.nodeList沒有)
66
+ // Array.from(CurrentLabelSet).forEach(label => {
67
+ // if (!ExistLabelSet.has(label)) {
68
+ // ExistLabelSet.delete(label)
69
+ // }
70
+ // })
71
+
72
+ // return Array.from(CurrentLabelSet)
73
+ // }),
74
+ // distinctUntilChanged((a, b) => {
75
+ // return JSON.stringify(a).length === JSON.stringify(b).length
76
+ // }),
77
+ // )
78
+ // }
79
+
80
+ export const categoryLabelsObservable = (CategoryDataMap$: Observable<Map<string, ComputedDataTree[]>>) => {
81
+ return CategoryDataMap$.pipe(
82
+ map(data => {
83
+ return Array.from(data.keys())
84
+ }),
85
+ distinctUntilChanged((a, b) => {
86
+ return JSON.stringify(a).length === JSON.stringify(b).length
87
+ }),
88
+ )
89
+ }
90
+
91
+ // 所有可見的節點
92
+ export const treeVisibleComputedDataObservable = ({ computedData$ }: { computedData$: Observable<ComputedDataTree> }) => {
93
+ return computedData$.pipe(
94
+ map(data => {
95
+ function filterChildren (accTree: ComputedDataTree) {
96
+ if (accTree.children) {
97
+ accTree.children = accTree.children
98
+ .filter(child => child.visible) // 篩選visible
99
+ .map(child => filterChildren(child)) // 遞迴子節點
100
+ }
101
+ return accTree
102
+ }
103
+ return filterChildren(data)
104
+ })
105
+ )
106
106
  }
@@ -1,127 +1,127 @@
1
- import type {
2
- ColorType,
3
- ValidatorResult,
4
- ToBeTypes,
5
- ToBeOption,
6
- ValidatorRuleToBeTypes,
7
- ValidatorRuleToBe,
8
- ValidatorRuleToBeOption,
9
- ValidatorRule
10
- } from '../../lib/core-types'
11
- import { isFunction, isPlainObject } from './commonUtils'
12
- import { createValidatorErrorMessage } from './errorMessage'
13
-
14
-
15
-
16
- // let test: ValidatorRule = {
17
- // name: {
18
- // toBeTypes: ['string']
19
- // },
20
- // labels: {
21
- // toBe: 'string | "auto"',
22
- // test: (value: any) => {
23
- // return value === 'auto' || typeof value === 'string'
24
- // }
25
- // }
26
- // }
27
-
28
- function getInvalidColumn<T> (data: T, rules: Partial<ValidatorRule<T>>) {
29
- // "toBeTypes" 的測試
30
- const testType: {[key in ToBeTypes]: (value: any) => boolean} = {
31
- string: (value: any) => typeof value === 'string',
32
- number: (value: any) => typeof value === 'number',
33
- boolean: (value: any) => typeof value === 'boolean',
34
- object: (value: any) => isPlainObject(value), // 嚴格判斷是否為純物件
35
- 'object[]': (value: any) => Array.isArray(value) && value.every((v: any) => isPlainObject(v)),
36
- 'string[]': (value: any) => Array.isArray(value) && value.every((v: any) => typeof v === 'string'),
37
- 'number[]': (value: any) => Array.isArray(value) && value.every((v: any) => typeof v === 'number'),
38
- Function: (value: any) => isFunction(value),
39
- null: (value: any) => value === null,
40
- undefined: (value: any) => value === undefined
41
- }
42
- // "toBeOption" 的測試
43
- const testOption: {[key in ToBeOption]: (value: any) => boolean} = {
44
- ColorType: (value: ColorType) => {
45
- return value === 'none'
46
- || value === 'label'
47
- || value === 'primary'
48
- || value === 'secondary'
49
- || value === 'white'
50
- || value === 'background'
51
- },
52
- }
53
-
54
- const failColumn = Object.keys(data).find((columnName: string) => {
55
- // 有定義規則
56
- if (rules[columnName as keyof T]) {
57
- const rule: ValidatorRuleToBeTypes | ValidatorRuleToBe | ValidatorRuleToBeOption = rules[columnName as keyof T]
58
- const value = data[columnName as keyof T]
59
- // 測試 "toBeTypes"
60
- if ((rule as ValidatorRuleToBeTypes).toBeTypes) {
61
- const toBeTypes = (rule as ValidatorRuleToBeTypes).toBeTypes
62
- const isCorrect = toBeTypes.some((toBeType) => testType[toBeType](value))
63
- if (isCorrect === false) {
64
- return true
65
- }
66
- }
67
- // 測試 "toBe"
68
- else if ((rule as ValidatorRuleToBe).toBe) {
69
- const { toBe, test } = rule as ValidatorRuleToBe
70
- const isCorrect = test(value)
71
- if (isCorrect === false) {
72
- return true
73
- }
74
- }
75
- // 測試 "toBeOption"
76
- else if ((rule as ValidatorRuleToBeOption).toBeOption) {
77
- const toBeOption = (rule as ValidatorRuleToBeOption).toBeOption
78
- const isCorrect = testOption[toBeOption](value)
79
- if (isCorrect === false) {
80
- return true
81
- }
82
- }
83
- }
84
- return false
85
- })
86
-
87
- return failColumn
88
- }
89
-
90
- export function validateColumns<T> (data: T, rules: Partial<ValidatorRule<T>>): ValidatorResult {
91
- // if (data === undefined || data === null) {
92
- // // orbcharts所有的options都是允許空值的
93
- // return {
94
- // status: 'success',
95
- // columnName: '',
96
- // expectToBe: '',
97
- // }
98
- // }
99
- const invalidColumn = getInvalidColumn(data, rules)
100
- if (invalidColumn) {
101
- const rule = rules[invalidColumn as keyof T]
102
- const expectToBe = (rule as ValidatorRuleToBeTypes).toBeTypes
103
- ? (rule as ValidatorRuleToBeTypes).toBeTypes.join(' | ')
104
- : (rule as ValidatorRuleToBe).toBe
105
- ? (rule as ValidatorRuleToBe).toBe
106
- : (rule as ValidatorRuleToBeOption).toBeOption
107
- ? (rule as ValidatorRuleToBeOption).toBeOption
108
- : ''
109
-
110
- return {
111
- status: 'error',
112
- // message: createValidatorErrorMessage({
113
- // columnName: failColumn,
114
- // expect,
115
- // from
116
- // })
117
- columnName: invalidColumn as string,
118
- expectToBe: expectToBe,
119
- }
120
- } else {
121
- return {
122
- status: 'success',
123
- columnName: '',
124
- expectToBe: '',
125
- }
126
- }
1
+ import type {
2
+ ColorType,
3
+ ValidatorResult,
4
+ ToBeTypes,
5
+ ToBeOption,
6
+ ValidatorRuleToBeTypes,
7
+ ValidatorRuleToBe,
8
+ ValidatorRuleToBeOption,
9
+ ValidatorRule
10
+ } from '../../lib/core-types'
11
+ import { isFunction, isPlainObject } from './commonUtils'
12
+ import { createValidatorErrorMessage } from './errorMessage'
13
+
14
+
15
+
16
+ // let test: ValidatorRule = {
17
+ // name: {
18
+ // toBeTypes: ['string']
19
+ // },
20
+ // labels: {
21
+ // toBe: 'string | "auto"',
22
+ // test: (value: any) => {
23
+ // return value === 'auto' || typeof value === 'string'
24
+ // }
25
+ // }
26
+ // }
27
+
28
+ function getInvalidColumn<T> (data: T, rules: Partial<ValidatorRule<T>>) {
29
+ // "toBeTypes" 的測試
30
+ const testType: {[key in ToBeTypes]: (value: any) => boolean} = {
31
+ string: (value: any) => typeof value === 'string',
32
+ number: (value: any) => typeof value === 'number',
33
+ boolean: (value: any) => typeof value === 'boolean',
34
+ object: (value: any) => isPlainObject(value), // 嚴格判斷是否為純物件
35
+ 'object[]': (value: any) => Array.isArray(value) && value.every((v: any) => isPlainObject(v)),
36
+ 'string[]': (value: any) => Array.isArray(value) && value.every((v: any) => typeof v === 'string'),
37
+ 'number[]': (value: any) => Array.isArray(value) && value.every((v: any) => typeof v === 'number'),
38
+ Function: (value: any) => isFunction(value),
39
+ null: (value: any) => value === null,
40
+ undefined: (value: any) => value === undefined
41
+ }
42
+ // "toBeOption" 的測試
43
+ const testOption: {[key in ToBeOption]: (value: any) => boolean} = {
44
+ ColorType: (value: ColorType) => {
45
+ return value === 'none'
46
+ || value === 'label'
47
+ || value === 'primary'
48
+ || value === 'secondary'
49
+ || value === 'labelContrast'
50
+ || value === 'background'
51
+ },
52
+ }
53
+
54
+ const failColumn = Object.keys(data).find((columnName: string) => {
55
+ // 有定義規則
56
+ if (rules[columnName as keyof T]) {
57
+ const rule: ValidatorRuleToBeTypes | ValidatorRuleToBe | ValidatorRuleToBeOption = rules[columnName as keyof T]
58
+ const value = data[columnName as keyof T]
59
+ // 測試 "toBeTypes"
60
+ if ((rule as ValidatorRuleToBeTypes).toBeTypes) {
61
+ const toBeTypes = (rule as ValidatorRuleToBeTypes).toBeTypes
62
+ const isCorrect = toBeTypes.some((toBeType) => testType[toBeType](value))
63
+ if (isCorrect === false) {
64
+ return true
65
+ }
66
+ }
67
+ // 測試 "toBe"
68
+ else if ((rule as ValidatorRuleToBe).toBe) {
69
+ const { toBe, test } = rule as ValidatorRuleToBe
70
+ const isCorrect = test(value)
71
+ if (isCorrect === false) {
72
+ return true
73
+ }
74
+ }
75
+ // 測試 "toBeOption"
76
+ else if ((rule as ValidatorRuleToBeOption).toBeOption) {
77
+ const toBeOption = (rule as ValidatorRuleToBeOption).toBeOption
78
+ const isCorrect = testOption[toBeOption](value)
79
+ if (isCorrect === false) {
80
+ return true
81
+ }
82
+ }
83
+ }
84
+ return false
85
+ })
86
+
87
+ return failColumn
88
+ }
89
+
90
+ export function validateColumns<T> (data: T, rules: Partial<ValidatorRule<T>>): ValidatorResult {
91
+ // if (data === undefined || data === null) {
92
+ // // orbcharts所有的options都是允許空值的
93
+ // return {
94
+ // status: 'success',
95
+ // columnName: '',
96
+ // expectToBe: '',
97
+ // }
98
+ // }
99
+ const invalidColumn = getInvalidColumn(data, rules)
100
+ if (invalidColumn) {
101
+ const rule = rules[invalidColumn as keyof T]
102
+ const expectToBe = (rule as ValidatorRuleToBeTypes).toBeTypes
103
+ ? (rule as ValidatorRuleToBeTypes).toBeTypes.join(' | ')
104
+ : (rule as ValidatorRuleToBe).toBe
105
+ ? (rule as ValidatorRuleToBe).toBe
106
+ : (rule as ValidatorRuleToBeOption).toBeOption
107
+ ? (rule as ValidatorRuleToBeOption).toBeOption
108
+ : ''
109
+
110
+ return {
111
+ status: 'error',
112
+ // message: createValidatorErrorMessage({
113
+ // columnName: failColumn,
114
+ // expect,
115
+ // from
116
+ // })
117
+ columnName: invalidColumn as string,
118
+ expectToBe: expectToBe,
119
+ }
120
+ } else {
121
+ return {
122
+ status: 'success',
123
+ columnName: '',
124
+ expectToBe: '',
125
+ }
126
+ }
127
127
  }
@@ -1,14 +1,14 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "./dist/",
4
- "sourceMap": true,
5
- "noImplicitAny": true,
6
- "module": "esnext",
7
- "target": "es5",
8
- "jsx": "react",
9
- "allowJs": true,
10
- "moduleResolution": "node",
11
- "allowSyntheticDefaultImports" : true,
12
- "esModuleInterop" : true
13
- }
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "./dist/",
4
+ "sourceMap": true,
5
+ "noImplicitAny": true,
6
+ "module": "esnext",
7
+ "target": "es5",
8
+ "jsx": "react",
9
+ "allowJs": true,
10
+ "moduleResolution": "node",
11
+ "allowSyntheticDefaultImports" : true,
12
+ "esModuleInterop" : true
13
+ }
14
14
  }
package/tsconfig.json CHANGED
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "./tsconfig.base.json"
1
+ {
2
+ "extends": "./tsconfig.base.json"
3
3
  }
package/vite-env.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- interface ImportMetaEnv {
2
- readonly MODE: 'development' | 'production'
3
- }
4
-
5
- interface ImportMeta {
6
- readonly env: ImportMetaEnv;
1
+ interface ImportMetaEnv {
2
+ readonly MODE: 'development' | 'production'
3
+ }
4
+
5
+ interface ImportMeta {
6
+ readonly env: ImportMetaEnv;
7
7
  }
package/vite.config.js CHANGED
@@ -1,23 +1,23 @@
1
- import { defineConfig } from 'vite'
2
- import dts from 'vite-plugin-dts'
3
-
4
- export default defineConfig(({ command, mode }) => {
5
- return {
6
- plugins: [
7
- dts({
8
- insertTypesEntry: true
9
- })
10
- ],
11
- compilerOptions: {
12
- composite: true
13
- },
14
- build: {
15
- lib: {
16
- entry: "src/index.ts",
17
- name: 'orbcharts-core',
18
- formats: ["es", "umd"],
19
- fileName: format => `orbcharts-core.${format}.js`
20
- },
21
- }
22
- }
1
+ import { defineConfig } from 'vite'
2
+ import dts from 'vite-plugin-dts'
3
+
4
+ export default defineConfig(({ command, mode }) => {
5
+ return {
6
+ plugins: [
7
+ dts({
8
+ insertTypesEntry: true
9
+ })
10
+ ],
11
+ compilerOptions: {
12
+ composite: true
13
+ },
14
+ build: {
15
+ lib: {
16
+ entry: "src/index.ts",
17
+ name: 'orbcharts-core',
18
+ formats: ["es", "umd"],
19
+ fileName: format => `orbcharts-core.${format}.js`
20
+ },
21
+ }
22
+ }
23
23
  })