@gdacm/querybuilder-influxdb2 0.1.1

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.
@@ -0,0 +1,145 @@
1
+ declare class InfluxDb2QueryBuilder {
2
+ /**
3
+ * @type {string[]}
4
+ */
5
+ _parts: string[];
6
+ constructor();
7
+ /**
8
+ * @param {string} bucket
9
+ * @returns {InfluxDb2QueryBuilder}
10
+ */
11
+ from(bucket: string): InfluxDb2QueryBuilder;
12
+ /**
13
+ * @param {String} start
14
+ * @param {String} stop
15
+ * @returns {InfluxDb2QueryBuilder}
16
+ */
17
+ range(start: string, stop: string): InfluxDb2QueryBuilder;
18
+ /**
19
+ * @returns {InfluxDb2QueryBuilder}
20
+ */
21
+ rangeTimeRange(): InfluxDb2QueryBuilder;
22
+ /**
23
+ * @param {String} name
24
+ * @param {String} predicate
25
+ * @param {Object} [options]
26
+ * @param {Boolean} [options.activate]
27
+ * @returns {InfluxDb2QueryBuilder}
28
+ */
29
+ filter(name: string, predicate: string, options?: {
30
+ activate?: boolean;
31
+ }): InfluxDb2QueryBuilder;
32
+ /**
33
+ * @param {String} propertyName
34
+ * @param {String} value
35
+ * @param {Object} [options]
36
+ * @param {Boolean} [options.activate]
37
+ * @returns {InfluxDb2QueryBuilder}
38
+ */
39
+ filterPropertyIs(propertyName: string, value: string, options?: {
40
+ activate?: boolean;
41
+ }): InfluxDb2QueryBuilder;
42
+ /**
43
+ * @param {String} propertyName
44
+ * @param {String} operator
45
+ * @param {String} value
46
+ * @param {Object} [options]
47
+ * @param {Boolean} [options.activate]
48
+ * @returns {InfluxDb2QueryBuilder}
49
+ */
50
+ filterPropertyOperator(propertyName: string, operator: string, value: string, options?: {
51
+ activate?: boolean;
52
+ }): InfluxDb2QueryBuilder;
53
+ /**
54
+ * @param {String} propertyName
55
+ * @param {String[]} values
56
+ * @param {Object} [options]
57
+ * @param {Boolean} [options.activate]
58
+ * @returns {InfluxDb2QueryBuilder}
59
+ */
60
+ filterPropertyIsIn(propertyName: string, values: string[], options?: {
61
+ activate?: boolean;
62
+ }): InfluxDb2QueryBuilder;
63
+ /**
64
+ * @param {String} propertyName
65
+ * @param {String} set
66
+ * @param {Object} [options]
67
+ * @param {Boolean} [options.activate]
68
+ * @returns {InfluxDb2QueryBuilder}
69
+ */
70
+ filterContainsSet(propertyName: string, set: string, options?: {
71
+ activate?: boolean;
72
+ }): InfluxDb2QueryBuilder;
73
+ /**
74
+ * @param {String[]} columns
75
+ * @param {Object} [options]
76
+ * @param {Boolean} [options.activate]
77
+ * @returns {InfluxDb2QueryBuilder}
78
+ */
79
+ keepColumns(columns: string[], options?: {
80
+ activate?: boolean;
81
+ }): InfluxDb2QueryBuilder;
82
+ /**
83
+ * @param {String[]} columns
84
+ * @param {Object} [options]
85
+ * @param {Boolean} [options.activate]
86
+ * @returns {InfluxDb2QueryBuilder}
87
+ */
88
+ groupBy(columns: string[], options?: {
89
+ activate?: boolean;
90
+ }): InfluxDb2QueryBuilder;
91
+ /**
92
+ * @param {String[]} columns
93
+ * @param {Object} [options]
94
+ * @param {Boolean} [options.activate]
95
+ * @returns {InfluxDb2QueryBuilder}
96
+ */
97
+ sort(columns: string[], options?: {
98
+ activate?: boolean;
99
+ }): InfluxDb2QueryBuilder;
100
+ /**
101
+ * @param {String} column
102
+ * @param {Object} [options]
103
+ * @param {Boolean} [options.activate]
104
+ * @returns {InfluxDb2QueryBuilder}
105
+ */
106
+ distinct(column: string, options?: {
107
+ activate?: boolean;
108
+ }): InfluxDb2QueryBuilder;
109
+ /**
110
+ *
111
+ * @param {String} every
112
+ * @param {String} fn
113
+ * @param {Boolean} createEmpty
114
+ * @param {Object} [options]
115
+ * @param {Boolean} [options.activate]
116
+ * @returns {InfluxDb2QueryBuilder}
117
+ */
118
+ aggregateWindow(every: string, fn: string, createEmpty: boolean, options?: {
119
+ activate?: boolean;
120
+ }): InfluxDb2QueryBuilder;
121
+ /**
122
+ * @param {String} unit
123
+ * @param {Boolean} nonNegative
124
+ * @param {Object} [options]
125
+ * @param {Boolean} [options.activate]
126
+ * @returns {InfluxDb2QueryBuilder}
127
+ */
128
+ derivative(unit: string, nonNegative: boolean, options?: {
129
+ activate?: boolean;
130
+ }): InfluxDb2QueryBuilder;
131
+ /**
132
+ * @param {String} [name]
133
+ * @param {Object} [options]
134
+ * @param {Boolean} [options.activate]
135
+ * @returns {InfluxDb2QueryBuilder}
136
+ */
137
+ yield(name?: string, options?: {
138
+ activate?: boolean;
139
+ }): InfluxDb2QueryBuilder;
140
+ /**
141
+ * @returns {String}
142
+ */
143
+ asString(): string;
144
+ }
145
+ export { InfluxDb2QueryBuilder };
package/dist/index.js ADDED
@@ -0,0 +1,186 @@
1
+ //#region src/index.js
2
+ /**
3
+ * @param {Object} [options]
4
+ * @param {Boolean} [options.activate]
5
+ * @returns {Boolean}
6
+ */
7
+ var checkActivate = (options) => {
8
+ if (options && options.activate === false) return false;
9
+ return true;
10
+ };
11
+ var InfluxDb2QueryBuilder = class {
12
+ constructor() {
13
+ /**
14
+ * @type {string[]}
15
+ */
16
+ this._parts = [];
17
+ }
18
+ /**
19
+ * @param {string} bucket
20
+ * @returns {InfluxDb2QueryBuilder}
21
+ */
22
+ from(bucket) {
23
+ this._parts.push(`from(bucket: "${bucket}")`);
24
+ return this;
25
+ }
26
+ /**
27
+ * @param {String} start
28
+ * @param {String} stop
29
+ * @returns {InfluxDb2QueryBuilder}
30
+ */
31
+ range(start, stop) {
32
+ this._parts.push(`range(start: ${start}, stop: ${stop})`);
33
+ return this;
34
+ }
35
+ /**
36
+ * @returns {InfluxDb2QueryBuilder}
37
+ */
38
+ rangeTimeRange() {
39
+ return this.range("v.timeRangeStart", "v.timeRangeStop");
40
+ }
41
+ /**
42
+ * @param {String} name
43
+ * @param {String} predicate
44
+ * @param {Object} [options]
45
+ * @param {Boolean} [options.activate]
46
+ * @returns {InfluxDb2QueryBuilder}
47
+ */
48
+ filter(name, predicate, options) {
49
+ if (checkActivate(options) === false) return this;
50
+ this._parts.push(`filter(fn: (${name}) => ${predicate})`);
51
+ return this;
52
+ }
53
+ /**
54
+ * @param {String} propertyName
55
+ * @param {String} value
56
+ * @param {Object} [options]
57
+ * @param {Boolean} [options.activate]
58
+ * @returns {InfluxDb2QueryBuilder}
59
+ */
60
+ filterPropertyIs(propertyName, value, options) {
61
+ return this.filter("r", `r["${propertyName}"] == "${value}"`, options);
62
+ }
63
+ /**
64
+ * @param {String} propertyName
65
+ * @param {String} operator
66
+ * @param {String} value
67
+ * @param {Object} [options]
68
+ * @param {Boolean} [options.activate]
69
+ * @returns {InfluxDb2QueryBuilder}
70
+ */
71
+ filterPropertyOperator(propertyName, operator, value, options) {
72
+ return this.filter("r", `r["${propertyName}"] ${operator} ${value}`, options);
73
+ }
74
+ /**
75
+ * @param {String} propertyName
76
+ * @param {String[]} values
77
+ * @param {Object} [options]
78
+ * @param {Boolean} [options.activate]
79
+ * @returns {InfluxDb2QueryBuilder}
80
+ */
81
+ filterPropertyIsIn(propertyName, values, options) {
82
+ return this.filter("r", values.map((value) => `r["${propertyName}"] == "${value}"`).join(" or "), options);
83
+ }
84
+ /**
85
+ * @param {String} propertyName
86
+ * @param {String} set
87
+ * @param {Object} [options]
88
+ * @param {Boolean} [options.activate]
89
+ * @returns {InfluxDb2QueryBuilder}
90
+ */
91
+ filterContainsSet(propertyName, set, options) {
92
+ return this.filter("r", `contains(value: r["${propertyName}"], set: ${set})`, options);
93
+ }
94
+ /**
95
+ * @param {String[]} columns
96
+ * @param {Object} [options]
97
+ * @param {Boolean} [options.activate]
98
+ * @returns {InfluxDb2QueryBuilder}
99
+ */
100
+ keepColumns(columns, options) {
101
+ if (checkActivate(options) === false) return this;
102
+ this._parts.push(`keep(columns: ${JSON.stringify(columns)})`);
103
+ return this;
104
+ }
105
+ /**
106
+ * @param {String[]} columns
107
+ * @param {Object} [options]
108
+ * @param {Boolean} [options.activate]
109
+ * @returns {InfluxDb2QueryBuilder}
110
+ */
111
+ groupBy(columns, options) {
112
+ if (checkActivate(options) === false) return this;
113
+ this._parts.push(`group(columns: ${JSON.stringify(columns)})`);
114
+ return this;
115
+ }
116
+ /**
117
+ * @param {String[]} columns
118
+ * @param {Object} [options]
119
+ * @param {Boolean} [options.activate]
120
+ * @returns {InfluxDb2QueryBuilder}
121
+ */
122
+ sort(columns, options) {
123
+ if (checkActivate(options) === false) return this;
124
+ this._parts.push(`sort(columns: ${JSON.stringify(columns)})`);
125
+ return this;
126
+ }
127
+ /**
128
+ * @param {String} column
129
+ * @param {Object} [options]
130
+ * @param {Boolean} [options.activate]
131
+ * @returns {InfluxDb2QueryBuilder}
132
+ */
133
+ distinct(column, options) {
134
+ if (checkActivate(options) === false) return this;
135
+ this._parts.push(`distinct(column: "${column}")`);
136
+ return this;
137
+ }
138
+ /**
139
+ *
140
+ * @param {String} every
141
+ * @param {String} fn
142
+ * @param {Boolean} createEmpty
143
+ * @param {Object} [options]
144
+ * @param {Boolean} [options.activate]
145
+ * @returns {InfluxDb2QueryBuilder}
146
+ */
147
+ aggregateWindow(every, fn, createEmpty, options) {
148
+ if (checkActivate(options) === false) return this;
149
+ this._parts.push(`aggregateWindow(every: ${every}, fn: ${fn}, createEmpty: ${createEmpty})`);
150
+ return this;
151
+ }
152
+ /**
153
+ * @param {String} unit
154
+ * @param {Boolean} nonNegative
155
+ * @param {Object} [options]
156
+ * @param {Boolean} [options.activate]
157
+ * @returns {InfluxDb2QueryBuilder}
158
+ */
159
+ derivative(unit, nonNegative, options) {
160
+ if (checkActivate(options) === false) return this;
161
+ this._parts.push(`derivative(unit: ${unit}, nonNegative: ${nonNegative})`);
162
+ return this;
163
+ }
164
+ /**
165
+ * @param {String} [name]
166
+ * @param {Object} [options]
167
+ * @param {Boolean} [options.activate]
168
+ * @returns {InfluxDb2QueryBuilder}
169
+ */
170
+ yield(name, options) {
171
+ if (checkActivate(options) === false) return this;
172
+ if (name === void 0) this._parts.push(`yield()`);
173
+ else this._parts.push(`yield(name: "${name}")`);
174
+ return this;
175
+ }
176
+ /**
177
+ * @returns {String}
178
+ */
179
+ asString() {
180
+ return this._parts.join("\n |> ");
181
+ }
182
+ };
183
+ //#endregion
184
+ export { InfluxDb2QueryBuilder };
185
+
186
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["/**\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {Boolean}\r\n */\r\nconst checkActivate = (options) => {\r\n if (options && options.activate === false) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nclass InfluxDb2QueryBuilder {\r\n constructor() {\r\n /**\r\n * @type {string[]}\r\n */\r\n this._parts = [];\r\n }\r\n\r\n /**\r\n * @param {string} bucket\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n from(bucket) {\r\n this._parts.push(`from(bucket: \"${bucket}\")`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {String} start\r\n * @param {String} stop\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n range(start, stop) {\r\n this._parts.push(`range(start: ${start}, stop: ${stop})`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n rangeTimeRange() {\r\n return this.range('v.timeRangeStart', 'v.timeRangeStop');\r\n }\r\n\r\n /**\r\n * @param {String} name\r\n * @param {String} predicate\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n filter(name, predicate, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n this._parts.push(`filter(fn: (${name}) => ${predicate})`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {String} propertyName\r\n * @param {String} value\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n filterPropertyIs(propertyName, value, options) {\r\n return this.filter('r', `r[\"${propertyName}\"] == \"${value}\"`, options);\r\n }\r\n\r\n /**\r\n * @param {String} propertyName\r\n * @param {String} operator\r\n * @param {String} value\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n filterPropertyOperator(propertyName, operator, value, options) {\r\n return this.filter('r', `r[\"${propertyName}\"] ${operator} ${value}`, options);\r\n }\r\n\r\n /**\r\n * @param {String} propertyName\r\n * @param {String[]} values\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n filterPropertyIsIn(propertyName, values, options) {\r\n return this.filter('r', values.map((value) => `r[\"${propertyName}\"] == \"${value}\"`).join(' or '), options);\r\n }\r\n \r\n /**\r\n * @param {String} propertyName\r\n * @param {String} set\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n filterContainsSet(propertyName, set, options) {\r\n return this.filter('r', `contains(value: r[\"${propertyName}\"], set: ${set})`, options);\r\n }\r\n\r\n /**\r\n * @param {String[]} columns\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder} \r\n */\r\n keepColumns(columns, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n this._parts.push(`keep(columns: ${JSON.stringify(columns)})`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {String[]} columns\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder} \r\n */\r\n groupBy(columns, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n this._parts.push(`group(columns: ${JSON.stringify(columns)})`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {String[]} columns\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder} \r\n */\r\n sort(columns, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n this._parts.push(`sort(columns: ${JSON.stringify(columns)})`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {String} column\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder} \r\n */\r\n distinct(column, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n this._parts.push(`distinct(column: \"${column}\")`);\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param {String} every\r\n * @param {String} fn\r\n * @param {Boolean} createEmpty\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n aggregateWindow(every, fn, createEmpty, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n this._parts.push(`aggregateWindow(every: ${every}, fn: ${fn}, createEmpty: ${createEmpty})`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {String} unit\r\n * @param {Boolean} nonNegative \r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n derivative(unit, nonNegative, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n this._parts.push(`derivative(unit: ${unit}, nonNegative: ${nonNegative})`);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {String} [name]\r\n * @param {Object} [options]\r\n * @param {Boolean} [options.activate]\r\n * @returns {InfluxDb2QueryBuilder}\r\n */\r\n yield(name, options) {\r\n if (checkActivate(options) === false) {\r\n return this;\r\n }\r\n if (name === undefined) {\r\n this._parts.push(`yield()`);\r\n } else {\r\n this._parts.push(`yield(name: \"${name}\")`);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @returns {String} \r\n */\r\n asString() {\r\n return this._parts.join('\\n |> ');\r\n }\r\n\r\n}\r\n\r\nexport { InfluxDb2QueryBuilder }"],"mappings":";;;;;;AAKA,IAAM,iBAAiB,YAAY;CAC/B,IAAI,WAAW,QAAQ,aAAa,OAChC,OAAO;CAEX,OAAO;AACX;AAEA,IAAM,wBAAN,MAA4B;CACxB,cAAc;;;;EAIV,KAAK,SAAS,CAAC;CACnB;;;;;CAMA,KAAK,QAAQ;EACT,KAAK,OAAO,KAAK,iBAAiB,OAAO,GAAG;EAC5C,OAAO;CACX;;;;;;CAOA,MAAM,OAAO,MAAM;EACf,KAAK,OAAO,KAAK,gBAAgB,MAAM,UAAU,KAAK,EAAE;EACxD,OAAO;CACX;;;;CAKA,iBAAiB;EACb,OAAO,KAAK,MAAM,oBAAoB,iBAAiB;CAC3D;;;;;;;;CASA,OAAO,MAAM,WAAW,SAAS;EAC7B,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,KAAK,OAAO,KAAK,eAAe,KAAK,OAAO,UAAU,EAAE;EACxD,OAAO;CACX;;;;;;;;CASA,iBAAiB,cAAc,OAAO,SAAS;EAC3C,OAAO,KAAK,OAAO,KAAK,MAAM,aAAa,SAAS,MAAM,IAAI,OAAO;CACzE;;;;;;;;;CAUA,uBAAuB,cAAc,UAAU,OAAO,SAAS;EAC3D,OAAO,KAAK,OAAO,KAAK,MAAM,aAAa,KAAK,SAAS,GAAG,SAAS,OAAO;CAChF;;;;;;;;CASA,mBAAmB,cAAc,QAAQ,SAAS;EAC9C,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,UAAU,MAAM,aAAa,SAAS,MAAM,EAAE,CAAC,CAAC,KAAK,MAAM,GAAG,OAAO;CAC7G;;;;;;;;CASA,kBAAkB,cAAc,KAAK,SAAS;EAC1C,OAAO,KAAK,OAAO,KAAK,sBAAsB,aAAa,WAAW,IAAI,IAAI,OAAO;CACzF;;;;;;;CAQA,YAAY,SAAS,SAAS;EAC1B,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,KAAK,OAAO,KAAK,iBAAiB,KAAK,UAAU,OAAO,EAAE,EAAE;EAC5D,OAAO;CACX;;;;;;;CAQA,QAAQ,SAAS,SAAS;EACtB,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,KAAK,OAAO,KAAK,kBAAkB,KAAK,UAAU,OAAO,EAAE,EAAE;EAC7D,OAAO;CACX;;;;;;;CAQA,KAAK,SAAS,SAAS;EACnB,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,KAAK,OAAO,KAAK,iBAAiB,KAAK,UAAU,OAAO,EAAE,EAAE;EAC5D,OAAO;CACX;;;;;;;CAQA,SAAS,QAAQ,SAAS;EACtB,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,KAAK,OAAO,KAAK,qBAAqB,OAAO,GAAG;EAChD,OAAO;CACX;;;;;;;;;;CAWA,gBAAgB,OAAO,IAAI,aAAa,SAAS;EAC7C,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,KAAK,OAAO,KAAK,0BAA0B,MAAM,QAAQ,GAAG,iBAAiB,YAAY,EAAE;EAC3F,OAAO;CACX;;;;;;;;CASA,WAAW,MAAM,aAAa,SAAS;EACnC,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,KAAK,OAAO,KAAK,oBAAoB,KAAK,iBAAiB,YAAY,EAAE;EACzE,OAAO;CACX;;;;;;;CAQA,MAAM,MAAM,SAAS;EACjB,IAAI,cAAc,OAAO,MAAM,OAC3B,OAAO;EAEX,IAAI,SAAS,KAAA,GACT,KAAK,OAAO,KAAK,SAAS;OAE1B,KAAK,OAAO,KAAK,gBAAgB,KAAK,GAAG;EAE7C,OAAO;CACX;;;;CAKA,WAAW;EACP,OAAO,KAAK,OAAO,KAAK,SAAS;CACrC;AAEJ"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@gdacm/querybuilder-influxdb2",
3
+ "version": "0.1.1",
4
+ "author": "gissehel",
5
+ "type": "module",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "license": "MIT",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "scripts": {
19
+ "clean:local": "rm -rf dist .turbo",
20
+ "dev": "vite build --watch",
21
+ "build:js": "vite build",
22
+ "build:types": "tsc -p tsconfig.types.json",
23
+ "build": "yarn build:js && yarn build:types"
24
+ },
25
+ "devDependencies": {
26
+ "typescript": "^7.0.2",
27
+ "vite": "^8.2.0"
28
+ }
29
+ }