@nocobase/plugin-data-visualization 2.1.0-alpha.11 → 2.1.0-alpha.13
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/externalVersion.js +10 -10
- package/dist/node_modules/koa-compose/package.json +1 -1
- package/dist/node_modules/moment-timezone/package.json +1 -1
- package/dist/server/actions/query.js +37 -9
- package/dist/server/plugin.d.ts +0 -2
- package/dist/server/plugin.js +0 -4
- package/package.json +2 -2
- package/dist/server/flow-schema-contributions/index.d.ts +0 -10
- package/dist/server/flow-schema-contributions/index.js +0 -240
package/dist/externalVersion.js
CHANGED
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.1.0-alpha.
|
|
11
|
+
"@nocobase/client": "2.1.0-alpha.13",
|
|
12
12
|
"@formily/react": "2.3.7",
|
|
13
|
-
"@nocobase/plugin-ai": "2.1.0-alpha.
|
|
14
|
-
"@nocobase/flow-engine": "2.1.0-alpha.
|
|
13
|
+
"@nocobase/plugin-ai": "2.1.0-alpha.13",
|
|
14
|
+
"@nocobase/flow-engine": "2.1.0-alpha.13",
|
|
15
15
|
"react-i18next": "11.18.6",
|
|
16
16
|
"dayjs": "1.11.13",
|
|
17
17
|
"@formily/shared": "2.3.7",
|
|
18
18
|
"lodash": "4.17.21",
|
|
19
|
-
"@nocobase/cache": "2.1.0-alpha.
|
|
20
|
-
"@nocobase/server": "2.1.0-alpha.
|
|
21
|
-
"@nocobase/test": "2.1.0-alpha.
|
|
22
|
-
"@nocobase/utils": "2.1.0-alpha.
|
|
19
|
+
"@nocobase/cache": "2.1.0-alpha.13",
|
|
20
|
+
"@nocobase/server": "2.1.0-alpha.13",
|
|
21
|
+
"@nocobase/test": "2.1.0-alpha.13",
|
|
22
|
+
"@nocobase/utils": "2.1.0-alpha.13",
|
|
23
23
|
"react": "18.2.0",
|
|
24
24
|
"@emotion/css": "11.13.0",
|
|
25
25
|
"@ant-design/icons": "5.6.1",
|
|
@@ -27,9 +27,9 @@ module.exports = {
|
|
|
27
27
|
"antd": "5.24.2",
|
|
28
28
|
"@formily/antd-v5": "1.2.3",
|
|
29
29
|
"@formily/core": "2.3.7",
|
|
30
|
-
"@nocobase/actions": "2.1.0-alpha.
|
|
31
|
-
"@nocobase/database": "2.1.0-alpha.
|
|
32
|
-
"@nocobase/acl": "2.1.0-alpha.
|
|
30
|
+
"@nocobase/actions": "2.1.0-alpha.13",
|
|
31
|
+
"@nocobase/database": "2.1.0-alpha.13",
|
|
32
|
+
"@nocobase/acl": "2.1.0-alpha.13",
|
|
33
33
|
"sequelize": "6.35.2",
|
|
34
34
|
"@formily/reactive": "2.3.7"
|
|
35
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"koa-compose","description":"compose Koa middleware","repository":"koajs/compose","version":"4.1.0","keywords":["koa","middleware","compose"],"files":["index.js"],"dependencies":{},"devDependencies":{"codecov":"^3.0.0","jest":"^21.0.0","matcha":"^0.7.0","standard":"^10.0.3"},"scripts":{"bench":"matcha bench/bench.js","lint":"standard --fix .","test":"jest --forceExit --coverage"},"jest":{"testEnvironment":"node"},"license":"MIT","_lastModified":"2026-03-
|
|
1
|
+
{"name":"koa-compose","description":"compose Koa middleware","repository":"koajs/compose","version":"4.1.0","keywords":["koa","middleware","compose"],"files":["index.js"],"dependencies":{},"devDependencies":{"codecov":"^3.0.0","jest":"^21.0.0","matcha":"^0.7.0","standard":"^10.0.3"},"scripts":{"bench":"matcha bench/bench.js","lint":"standard --fix .","test":"jest --forceExit --coverage"},"jest":{"testEnvironment":"node"},"license":"MIT","_lastModified":"2026-03-27T05:54:37.841Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"moment-timezone","version":"0.5.43","description":"Parse and display moments in any timezone.","homepage":"http://momentjs.com/timezone/","author":"Tim Wood <washwithcare@gmail.com> (http://timwoodcreates.com/)","keywords":["moment","date","time","timezone","olson","iana","zone","tz"],"main":"./index.js","typings":"./index.d.ts","engines":{"node":"*"},"repository":{"type":"git","url":"https://github.com/moment/moment-timezone.git"},"bugs":{"url":"https://github.com/moment/moment-timezone/issues"},"license":"MIT","dependencies":{"moment":"^2.29.4"},"devDependencies":{"grunt":"^1.5.3","grunt-contrib-clean":"^2.0.1","grunt-contrib-jshint":"^3.2.0","grunt-contrib-nodeunit":"^4.0.0","grunt-contrib-uglify":"^5.2.2","grunt-exec":"^3.0.0","typescript":"^3.5.1"},"jspm":{"main":"builds/moment-timezone-with-data","shim":{"moment-timezone":{"deps":["moment"]}}},"scripts":{"test":"grunt"},"_lastModified":"2026-03-
|
|
1
|
+
{"name":"moment-timezone","version":"0.5.43","description":"Parse and display moments in any timezone.","homepage":"http://momentjs.com/timezone/","author":"Tim Wood <washwithcare@gmail.com> (http://timwoodcreates.com/)","keywords":["moment","date","time","timezone","olson","iana","zone","tz"],"main":"./index.js","typings":"./index.d.ts","engines":{"node":"*"},"repository":{"type":"git","url":"https://github.com/moment/moment-timezone.git"},"bugs":{"url":"https://github.com/moment/moment-timezone/issues"},"license":"MIT","dependencies":{"moment":"^2.29.4"},"devDependencies":{"grunt":"^1.5.3","grunt-contrib-clean":"^2.0.1","grunt-contrib-jshint":"^3.2.0","grunt-contrib-nodeunit":"^4.0.0","grunt-contrib-uglify":"^5.2.2","grunt-exec":"^3.0.0","typescript":"^3.5.1"},"jspm":{"main":"builds/moment-timezone-with-data","shim":{"moment-timezone":{"deps":["moment"]}}},"scripts":{"test":"grunt"},"_lastModified":"2026-03-27T05:54:38.431Z"}
|
|
@@ -55,6 +55,37 @@ const getDB = (ctx, dataSource) => {
|
|
|
55
55
|
const ds = ctx.app.dataSourceManager.dataSources.get(dataSource);
|
|
56
56
|
return ds == null ? void 0 : ds.collectionManager.db;
|
|
57
57
|
};
|
|
58
|
+
const getChartQueryPermission = async (ctx, collection, acl) => {
|
|
59
|
+
var _a;
|
|
60
|
+
const actionCtx = {
|
|
61
|
+
app: ctx.app,
|
|
62
|
+
db: ctx.db,
|
|
63
|
+
database: ctx.database ?? ctx.db,
|
|
64
|
+
getCurrentRepository: ctx.getCurrentRepository,
|
|
65
|
+
request: ctx.request,
|
|
66
|
+
req: ctx.req,
|
|
67
|
+
action: {
|
|
68
|
+
actionName: "list",
|
|
69
|
+
name: "list",
|
|
70
|
+
params: {},
|
|
71
|
+
resourceName: collection,
|
|
72
|
+
mergeParams() {
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
state: {
|
|
76
|
+
...ctx.state,
|
|
77
|
+
currentRole: ctx.state.currentRole,
|
|
78
|
+
currentRoles: ctx.state.currentRoles,
|
|
79
|
+
currentUser: ((_a = ctx.state.currentUser) == null ? void 0 : _a.toJSON) ? ctx.state.currentUser.toJSON() : ctx.state.currentUser
|
|
80
|
+
},
|
|
81
|
+
permission: {},
|
|
82
|
+
throw(...args) {
|
|
83
|
+
ctx.throw(...args);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
await acl.getActionParams(actionCtx);
|
|
87
|
+
return actionCtx.permission;
|
|
88
|
+
};
|
|
58
89
|
const postProcess = async (ctx, next) => {
|
|
59
90
|
const { data, fieldMap } = ctx.action.params.values;
|
|
60
91
|
ctx.body = data.map((record) => {
|
|
@@ -220,17 +251,14 @@ const cacheMiddleware = async (ctx, next) => {
|
|
|
220
251
|
}
|
|
221
252
|
};
|
|
222
253
|
const checkPermission = async (ctx, next) => {
|
|
223
|
-
var _a, _b
|
|
254
|
+
var _a, _b;
|
|
224
255
|
const { collection, dataSource } = ctx.action.params.values;
|
|
225
|
-
const roleNames = ctx.state.currentRoles || ["anonymous"];
|
|
226
256
|
const acl = ((_a = ctx.app.dataSourceManager.get(dataSource)) == null ? void 0 : _a.acl) || ctx.app.acl;
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
231
|
-
if ((_b = can == null ? void 0 : can.params) == null ? void 0 : _b.filter) {
|
|
257
|
+
const permission = await getChartQueryPermission(ctx, collection, acl);
|
|
258
|
+
const filterParams = (_b = permission == null ? void 0 : permission.parsedParams) == null ? void 0 : _b.filter;
|
|
259
|
+
if (filterParams) {
|
|
232
260
|
try {
|
|
233
|
-
(0, import_acl.checkFilterParams)(ctx.database.getCollection(collection),
|
|
261
|
+
(0, import_acl.checkFilterParams)(ctx.database.getCollection(collection), filterParams);
|
|
234
262
|
} catch (e) {
|
|
235
263
|
if (e instanceof import_acl.NoPermissionError) {
|
|
236
264
|
ctx.throw(403, "No permissions");
|
|
@@ -239,7 +267,7 @@ const checkPermission = async (ctx, next) => {
|
|
|
239
267
|
const filter = ctx.action.params.values.filter || {};
|
|
240
268
|
ctx.action.params.values = {
|
|
241
269
|
...ctx.action.params.values,
|
|
242
|
-
filter: (0, import_utils.assign)(filter,
|
|
270
|
+
filter: (0, import_utils.assign)(filter, filterParams, {
|
|
243
271
|
filter: "andMerge"
|
|
244
272
|
})
|
|
245
273
|
};
|
package/dist/server/plugin.d.ts
CHANGED
|
@@ -7,11 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
import { Cache } from '@nocobase/cache';
|
|
10
|
-
import type { FlowSchemaContribution } from '@nocobase/flow-engine';
|
|
11
10
|
import { InstallOptions, Plugin } from '@nocobase/server';
|
|
12
11
|
export declare class PluginDataVisualizationServer extends Plugin {
|
|
13
12
|
cache: Cache;
|
|
14
|
-
getFlowSchemaContributions(): FlowSchemaContribution;
|
|
15
13
|
afterAdd(): void;
|
|
16
14
|
beforeLoad(): void;
|
|
17
15
|
load(): Promise<void>;
|
package/dist/server/plugin.js
CHANGED
|
@@ -32,12 +32,8 @@ __export(plugin_exports, {
|
|
|
32
32
|
module.exports = __toCommonJS(plugin_exports);
|
|
33
33
|
var import_server = require("@nocobase/server");
|
|
34
34
|
var import_query = require("./actions/query");
|
|
35
|
-
var import_flow_schema_contributions = require("./flow-schema-contributions");
|
|
36
35
|
class PluginDataVisualizationServer extends import_server.Plugin {
|
|
37
36
|
cache;
|
|
38
|
-
getFlowSchemaContributions() {
|
|
39
|
-
return import_flow_schema_contributions.flowSchemaContribution;
|
|
40
|
-
}
|
|
41
37
|
afterAdd() {
|
|
42
38
|
}
|
|
43
39
|
beforeLoad() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-data-visualization",
|
|
3
|
-
"version": "2.1.0-alpha.
|
|
3
|
+
"version": "2.1.0-alpha.13",
|
|
4
4
|
"displayName": "Data visualization",
|
|
5
5
|
"displayName.ru-RU": "Визуализация данных",
|
|
6
6
|
"displayName.zh-CN": "数据可视化",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@nocobase/test": "2.x",
|
|
47
47
|
"@nocobase/utils": "2.x"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "2807a8948412d9c235115a31a81a66f7c82dd173",
|
|
50
50
|
"keywords": [
|
|
51
51
|
"Blocks"
|
|
52
52
|
],
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is part of the NocoBase (R) project.
|
|
3
|
-
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
-
* Authors: NocoBase Team.
|
|
5
|
-
*
|
|
6
|
-
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
-
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
-
*/
|
|
9
|
-
import type { FlowSchemaContribution } from '@nocobase/flow-engine';
|
|
10
|
-
export declare const flowSchemaContribution: FlowSchemaContribution;
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is part of the NocoBase (R) project.
|
|
3
|
-
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
-
* Authors: NocoBase Team.
|
|
5
|
-
*
|
|
6
|
-
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
-
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
var __defProp = Object.defineProperty;
|
|
11
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
-
var __export = (target, all) => {
|
|
15
|
-
for (var name in all)
|
|
16
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
-
};
|
|
18
|
-
var __copyProps = (to, from, except, desc) => {
|
|
19
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
-
for (let key of __getOwnPropNames(from))
|
|
21
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
-
}
|
|
24
|
-
return to;
|
|
25
|
-
};
|
|
26
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
-
var flow_schema_contributions_exports = {};
|
|
28
|
-
__export(flow_schema_contributions_exports, {
|
|
29
|
-
flowSchemaContribution: () => flowSchemaContribution
|
|
30
|
-
});
|
|
31
|
-
module.exports = __toCommonJS(flow_schema_contributions_exports);
|
|
32
|
-
const chartBlockModelSchemaContribution = {
|
|
33
|
-
use: "ChartBlockModel",
|
|
34
|
-
title: "Chart block",
|
|
35
|
-
source: "plugin",
|
|
36
|
-
strict: false,
|
|
37
|
-
stepParamsSchema: {
|
|
38
|
-
type: "object",
|
|
39
|
-
properties: {
|
|
40
|
-
chartSettings: {
|
|
41
|
-
type: "object",
|
|
42
|
-
properties: {
|
|
43
|
-
configure: {
|
|
44
|
-
type: "object",
|
|
45
|
-
properties: {
|
|
46
|
-
query: {
|
|
47
|
-
type: "object",
|
|
48
|
-
properties: {
|
|
49
|
-
mode: {
|
|
50
|
-
type: "string",
|
|
51
|
-
enum: ["builder", "sql"]
|
|
52
|
-
},
|
|
53
|
-
collectionPath: {
|
|
54
|
-
type: "array",
|
|
55
|
-
items: { type: "string" },
|
|
56
|
-
minItems: 2,
|
|
57
|
-
maxItems: 2
|
|
58
|
-
},
|
|
59
|
-
measures: {
|
|
60
|
-
type: "array",
|
|
61
|
-
items: {
|
|
62
|
-
type: "object",
|
|
63
|
-
properties: {
|
|
64
|
-
field: { type: "string" },
|
|
65
|
-
aggregation: { type: "string" },
|
|
66
|
-
alias: { type: "string" }
|
|
67
|
-
},
|
|
68
|
-
additionalProperties: true
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
dimensions: {
|
|
72
|
-
type: "array",
|
|
73
|
-
items: {
|
|
74
|
-
type: "object",
|
|
75
|
-
properties: {
|
|
76
|
-
field: { type: "string" },
|
|
77
|
-
alias: { type: "string" },
|
|
78
|
-
format: { type: "string" }
|
|
79
|
-
},
|
|
80
|
-
additionalProperties: true
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
sqlDatasource: { type: "string" },
|
|
84
|
-
sql: { type: "string" }
|
|
85
|
-
},
|
|
86
|
-
additionalProperties: true
|
|
87
|
-
},
|
|
88
|
-
chart: {
|
|
89
|
-
type: "object",
|
|
90
|
-
properties: {
|
|
91
|
-
option: {
|
|
92
|
-
type: "object",
|
|
93
|
-
properties: {
|
|
94
|
-
mode: {
|
|
95
|
-
type: "string",
|
|
96
|
-
enum: ["basic", "custom"]
|
|
97
|
-
},
|
|
98
|
-
builder: {
|
|
99
|
-
type: "object",
|
|
100
|
-
additionalProperties: true
|
|
101
|
-
},
|
|
102
|
-
raw: { type: "string" }
|
|
103
|
-
},
|
|
104
|
-
additionalProperties: true
|
|
105
|
-
},
|
|
106
|
-
events: {
|
|
107
|
-
type: "object",
|
|
108
|
-
properties: {
|
|
109
|
-
raw: { type: "string" }
|
|
110
|
-
},
|
|
111
|
-
additionalProperties: true
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
additionalProperties: true
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
additionalProperties: true
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
additionalProperties: true
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
additionalProperties: true
|
|
124
|
-
},
|
|
125
|
-
skeleton: {
|
|
126
|
-
uid: "todo-chart-block-uid",
|
|
127
|
-
use: "ChartBlockModel",
|
|
128
|
-
stepParams: {
|
|
129
|
-
chartSettings: {
|
|
130
|
-
configure: {
|
|
131
|
-
query: {
|
|
132
|
-
mode: "builder",
|
|
133
|
-
collectionPath: ["main", "orders"],
|
|
134
|
-
measures: [
|
|
135
|
-
{
|
|
136
|
-
field: "id",
|
|
137
|
-
aggregation: "count",
|
|
138
|
-
alias: "count_id"
|
|
139
|
-
}
|
|
140
|
-
],
|
|
141
|
-
dimensions: [
|
|
142
|
-
{
|
|
143
|
-
field: "createdAt"
|
|
144
|
-
}
|
|
145
|
-
]
|
|
146
|
-
},
|
|
147
|
-
chart: {
|
|
148
|
-
option: {
|
|
149
|
-
mode: "basic",
|
|
150
|
-
builder: {
|
|
151
|
-
type: "line",
|
|
152
|
-
xField: "createdAt",
|
|
153
|
-
yField: "count_id"
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
docs: {
|
|
162
|
-
minimalExample: {
|
|
163
|
-
uid: "chart-users",
|
|
164
|
-
use: "ChartBlockModel",
|
|
165
|
-
stepParams: {
|
|
166
|
-
chartSettings: {
|
|
167
|
-
configure: {
|
|
168
|
-
query: {
|
|
169
|
-
mode: "builder",
|
|
170
|
-
collectionPath: ["main", "orders"],
|
|
171
|
-
measures: [
|
|
172
|
-
{
|
|
173
|
-
field: "id",
|
|
174
|
-
aggregation: "count",
|
|
175
|
-
alias: "count_id"
|
|
176
|
-
}
|
|
177
|
-
],
|
|
178
|
-
dimensions: [
|
|
179
|
-
{
|
|
180
|
-
field: "createdAt"
|
|
181
|
-
}
|
|
182
|
-
]
|
|
183
|
-
},
|
|
184
|
-
chart: {
|
|
185
|
-
option: {
|
|
186
|
-
mode: "basic",
|
|
187
|
-
builder: {
|
|
188
|
-
type: "line",
|
|
189
|
-
xField: "createdAt",
|
|
190
|
-
yField: "count_id"
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
},
|
|
198
|
-
dynamicHints: [
|
|
199
|
-
{
|
|
200
|
-
kind: "dynamic-ui-schema",
|
|
201
|
-
path: "ChartBlockModel.stepParams.chartSettings.configure.query",
|
|
202
|
-
message: "Chart query configuration depends on runtime collections and query builders. Builder charts are renderable only when collectionPath includes datasource+collection and measures are present.",
|
|
203
|
-
"x-flow": {
|
|
204
|
-
contextRequirements: ["collection metadata", "query builder", "optional SQL resource"],
|
|
205
|
-
unresolvedReason: "runtime-chart-query-config",
|
|
206
|
-
recommendedFallback: {
|
|
207
|
-
mode: "builder"
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
kind: "dynamic-ui-schema",
|
|
213
|
-
path: "ChartBlockModel.stepParams.chartSettings.configure.chart",
|
|
214
|
-
message: "Chart option builders and event scripts depend on runtime chart builders and RunJS execution. Basic mode still needs option.builder; custom mode does not bypass query/dataSource requirements.",
|
|
215
|
-
"x-flow": {
|
|
216
|
-
contextRequirements: ["chart builder", "RunJS"],
|
|
217
|
-
unresolvedReason: "runtime-chart-option-builder",
|
|
218
|
-
recommendedFallback: {
|
|
219
|
-
option: {
|
|
220
|
-
mode: "basic"
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
]
|
|
226
|
-
}
|
|
227
|
-
};
|
|
228
|
-
const flowSchemaContribution = {
|
|
229
|
-
inventory: {
|
|
230
|
-
publicTreeRoots: ["ChartBlockModel"]
|
|
231
|
-
},
|
|
232
|
-
models: [chartBlockModelSchemaContribution],
|
|
233
|
-
defaults: {
|
|
234
|
-
source: "plugin"
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
238
|
-
0 && (module.exports = {
|
|
239
|
-
flowSchemaContribution
|
|
240
|
-
});
|