@lilaquadrat/sdk 0.0.4

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/lib/index.d.ts ADDED
@@ -0,0 +1,143 @@
1
+ import { AxiosResponse, AxiosRequestConfig, HttpStatusCode } from 'axios';
2
+ import { Content, CustomerPerson, Customers, DataObject, List, ListOfModels, ListParticipants, ListPartiticpantsDetails } from '@lilaquadrat/interfaces';
3
+ export type SDKResponse<T> = {
4
+ data: T;
5
+ status: HttpStatusCode;
6
+ cacheLifetime?: number;
7
+ cacheTime?: number;
8
+ isCache?: boolean;
9
+ };
10
+ export type SDKCache = {
11
+ group?: string;
12
+ action?: string;
13
+ id?: string;
14
+ cacheLifetime?: number;
15
+ cacheTime?: number;
16
+ };
17
+ export type SDKModes = 'live' | 'next' | 'custom';
18
+ export type SDKCallOptions = {
19
+ /**
20
+ * ignore the cache and always execute the call
21
+ */
22
+ bypassCache?: boolean;
23
+ group?: string;
24
+ action?: string;
25
+ /**
26
+ * if a id is given, use it as key for atomic cache flushing
27
+ *
28
+ * e.g. ``flushId(id)``
29
+ *
30
+ * instead of the whole action category
31
+ *
32
+ * e.g. ``flushCache(group, action)``
33
+ *
34
+ */
35
+ id?: string;
36
+ /**
37
+ * in milliseconds
38
+ */
39
+ cacheLifetime?: number;
40
+ };
41
+ export default class StudioSDK {
42
+ readonly endpoints: {
43
+ live: {
44
+ api: string;
45
+ media: string;
46
+ };
47
+ next: {
48
+ api: string;
49
+ media: string;
50
+ };
51
+ };
52
+ customEndpoints: {
53
+ api: string;
54
+ media: string;
55
+ };
56
+ authToken: string;
57
+ mode: 'live' | 'next' | 'custom';
58
+ company: string;
59
+ project: string;
60
+ app: string;
61
+ universalModel: string;
62
+ options: {
63
+ company?: string;
64
+ project?: string;
65
+ authToken?: string;
66
+ mode?: SDKModes;
67
+ customEndpoints?: {
68
+ api: string;
69
+ media: string;
70
+ };
71
+ universalModel?: string;
72
+ };
73
+ constructor(app: string, options: StudioSDK['options']);
74
+ private getUrl;
75
+ private getHeaders;
76
+ static getCacheKeyMock(url: string): string;
77
+ static getCacheKey(url: string): string;
78
+ static getCache(): Record<string, SDKResponse<unknown> & SDKCache>;
79
+ static handleCall<T, D = unknown>(call: AxiosRequestConfig<D>, options?: SDKCallOptions): Promise<SDKResponse<T>>;
80
+ static cache<T>(url: string, response?: AxiosResponse<T>, options?: SDKCallOptions): any;
81
+ static flushCache(group?: string, action?: string): void;
82
+ static flushId(id: string): void;
83
+ public: {
84
+ content: {
85
+ fetch: (type: string, link: string, options?: {
86
+ state?: 'draft' | 'publish';
87
+ }) => Promise<SDKResponse<Content>>;
88
+ search: (type: string, search: string, site?: number, options?: {
89
+ state?: 'draft' | 'publish';
90
+ }) => Promise<SDKResponse<Content>>;
91
+ predefined: (id: string) => Promise<SDKResponse<Content>>;
92
+ predefinedLatest: (categories: string[]) => Promise<SDKResponse<Content>>;
93
+ getById: (id: string) => Promise<SDKResponse<Content>>;
94
+ getByInternalId: (id: string) => Promise<SDKResponse<Content>>;
95
+ };
96
+ lists: {
97
+ join: (listId: string, person: CustomerPerson, message: string, category: string, agreements: any) => Promise<SDKResponse<Customers>>;
98
+ address: (address: string) => Promise<SDKResponse<ListOfModels<Location>>>;
99
+ state: (listId: string) => Promise<SDKResponse<ListPartiticpantsDetails>>;
100
+ };
101
+ };
102
+ editor: {
103
+ getById: (id: string) => Promise<SDKResponse<Content>>;
104
+ getByInternalId: (id: string) => Promise<SDKResponse<Content>>;
105
+ settings: (data: {
106
+ company: string;
107
+ project: string;
108
+ }) => Promise<SDKResponse<Content>>;
109
+ list: (site?: number, sort?: string, order?: number, options?: {
110
+ layout?: boolean;
111
+ partial?: boolean;
112
+ active?: boolean;
113
+ search?: string;
114
+ tags?: string[];
115
+ }) => Promise<SDKResponse<ListOfModels<Content>>>;
116
+ };
117
+ health: {
118
+ health: () => Promise<SDKResponse<void>>;
119
+ };
120
+ customers: {
121
+ list: (site?: number, search?: string, tags?: string[], type?: string, sort?: number, order?: string) => Promise<SDKResponse<DataObject<Customers>>>;
122
+ single: (id: string) => Promise<SDKResponse<Customers>>;
123
+ tags: (search: string) => Promise<SDKResponse<string[]>>;
124
+ update: (id: string, data: Customers) => Promise<SDKResponse<Customers>>;
125
+ add: (data: Customers) => Promise<SDKResponse<Customers>>;
126
+ remove: (id: string) => Promise<SDKResponse<Customers>>;
127
+ };
128
+ lists: {
129
+ single: (id: string) => Promise<SDKResponse<List>>;
130
+ add: (data: List) => Promise<SDKResponse<List>>;
131
+ update: (id: string, data: List) => Promise<SDKResponse<List>>;
132
+ remove: (id: string) => Promise<SDKResponse<List>>;
133
+ getByInternalId: (id: string) => Promise<SDKResponse<List>>;
134
+ list: (site?: number, search?: string, tags?: string[], state?: string, sort?: string, order?: number) => Promise<SDKResponse<DataObject<List[]>>>;
135
+ participants: {
136
+ single: (listId: string, id: string) => Promise<SDKResponse<ListParticipants>>;
137
+ udpateState: (listId: string, id: string, state: ListParticipants['state']) => Promise<SDKResponse<ListParticipants>>;
138
+ udpateNote: (listId: string, id: string, note: ListParticipants['note']) => Promise<SDKResponse<ListParticipants>>;
139
+ remove: (listId: string, id: string) => Promise<SDKResponse<ListParticipants>>;
140
+ list: (listId: string, site?: number, search?: string, tags?: string[], state?: string[], sort?: string, order?: number) => Promise<SDKResponse<DataObject<ListParticipants>>>;
141
+ };
142
+ };
143
+ }
package/lib/index.js ADDED
@@ -0,0 +1,444 @@
1
+ import axios from 'axios';
2
+ import { hardCopy } from '@lilaquadrat/studio/lib/esm/frontend';
3
+ let cachedCalls = {};
4
+ export default class StudioSDK {
5
+ constructor(app, options) {
6
+ this.endpoints = {
7
+ live: {
8
+ api: 'https://api.lilaquadrat.de',
9
+ media: 'https://media.lilaquadrat.de',
10
+ },
11
+ next: {
12
+ api: 'https://next-api.lilaquadrat.de',
13
+ media: 'https://next-media.lilaquadrat.de',
14
+ },
15
+ };
16
+ this.customEndpoints = {
17
+ api: '',
18
+ media: '',
19
+ };
20
+ this.mode = 'custom';
21
+ this.options = {};
22
+ this.public = {
23
+ content: {
24
+ fetch: (type, link, options) => StudioSDK.handleCall({
25
+ method: 'GET',
26
+ url: this.getUrl('api', ['public', 'content', type, link]),
27
+ headers: this.getHeaders(),
28
+ params: options,
29
+ }),
30
+ search: (type, search, site = 1, options) => {
31
+ const params = Object.assign({ search }, options);
32
+ return StudioSDK.handleCall({
33
+ method: 'GET',
34
+ url: this.getUrl('api', ['public', 'content', type, 'search', site.toString()]),
35
+ headers: this.getHeaders(),
36
+ params,
37
+ });
38
+ },
39
+ predefined: (id) => StudioSDK.handleCall({
40
+ method: 'GET',
41
+ url: this.getUrl('api', ['public', 'content', 'lilaquadrat', 'studio', id]),
42
+ headers: this.getHeaders(),
43
+ }, {
44
+ group: 'editor',
45
+ action: 'single',
46
+ id,
47
+ }),
48
+ predefinedLatest: (categories) => StudioSDK.handleCall({
49
+ method: 'GET',
50
+ url: this.getUrl('api', ['public', 'content', 'lilaquadrat', 'studio', 'latest']),
51
+ headers: this.getHeaders(),
52
+ params: {
53
+ category: categories,
54
+ },
55
+ }, {
56
+ group: 'editor',
57
+ action: 'single',
58
+ }),
59
+ getById: (id) => StudioSDK.handleCall({
60
+ method: 'GET',
61
+ url: this.getUrl('api', ['public', 'content', this.company, this.project, id]),
62
+ headers: this.getHeaders(),
63
+ }, {
64
+ group: 'editor',
65
+ action: 'single',
66
+ id,
67
+ }),
68
+ getByInternalId: (id) => StudioSDK.handleCall({
69
+ method: 'GET',
70
+ url: this.getUrl('api', ['public', 'content', this.company, this.project, 'internal', id]),
71
+ headers: this.getHeaders(),
72
+ }, {
73
+ group: 'editor',
74
+ action: 'single',
75
+ id,
76
+ }),
77
+ },
78
+ lists: {
79
+ join: (listId, person, message, category, agreements) => StudioSDK.handleCall({
80
+ method: 'POST',
81
+ url: this.getUrl('api', ['public', 'lists', 'participants', this.company, this.project, listId, 'join']),
82
+ headers: this.getHeaders(),
83
+ data: {
84
+ person,
85
+ agreements,
86
+ message,
87
+ category,
88
+ },
89
+ }),
90
+ address: (address) => StudioSDK.handleCall({
91
+ method: 'get',
92
+ url: this.getUrl('api', ['public', 'lists', 'participants', this.company, this.project, 'address']),
93
+ headers: this.getHeaders(),
94
+ params: {
95
+ address,
96
+ },
97
+ }),
98
+ state: (listId) => StudioSDK.handleCall({
99
+ method: 'get',
100
+ url: this.getUrl('api', ['public', 'lists', this.company, this.project, listId, 'state']),
101
+ headers: this.getHeaders(),
102
+ }),
103
+ },
104
+ };
105
+ this.editor = {
106
+ getById: (id) => StudioSDK.handleCall({
107
+ method: 'GET',
108
+ url: this.getUrl('api', ['editor', this.company, this.project, id]),
109
+ headers: this.getHeaders(),
110
+ }, {
111
+ group: 'editor',
112
+ action: 'single',
113
+ id,
114
+ }),
115
+ getByInternalId: (id) => StudioSDK.handleCall({
116
+ method: 'GET',
117
+ url: this.getUrl('api', ['editor', this.company, this.project, 'internal', id]),
118
+ headers: this.getHeaders(),
119
+ }, {
120
+ group: 'editor',
121
+ action: 'single',
122
+ id,
123
+ }),
124
+ settings: (data) => StudioSDK.handleCall({
125
+ method: 'GET',
126
+ url: this.getUrl('api', ['editor', data.company, data.project, 'settings']),
127
+ headers: this.getHeaders(),
128
+ }, {
129
+ group: 'editor',
130
+ action: 'settings',
131
+ }),
132
+ list: (site = 0, sort, order, options) => {
133
+ const params = Object.assign({ sort,
134
+ order }, (options || {}));
135
+ return StudioSDK.handleCall({
136
+ method: 'GET',
137
+ url: this.getUrl('api', ['editor', this.company, this.project, 'list', site.toString()]),
138
+ headers: this.getHeaders(),
139
+ params,
140
+ }, {
141
+ group: 'editor',
142
+ action: 'list',
143
+ });
144
+ },
145
+ };
146
+ this.health = {
147
+ health: () => StudioSDK.handleCall({
148
+ method: 'GET',
149
+ url: this.getUrl('api', ['health']),
150
+ headers: this.getHeaders(),
151
+ }),
152
+ };
153
+ this.customers = {
154
+ list: (site = 0, search, tags, type, sort, order) => StudioSDK.handleCall({
155
+ method: 'GET',
156
+ url: this.getUrl('api', ['customers', this.company, this.project, 'list', site.toString()]),
157
+ headers: this.getHeaders(),
158
+ params: {
159
+ search,
160
+ tags,
161
+ sort,
162
+ order,
163
+ type,
164
+ },
165
+ }, {
166
+ group: 'customers',
167
+ action: 'list',
168
+ }),
169
+ single: (id) => StudioSDK.handleCall({
170
+ method: 'GET',
171
+ url: this.getUrl('api', ['customers', this.company, this.project, id]),
172
+ headers: this.getHeaders(),
173
+ }, {
174
+ group: 'customers',
175
+ action: 'single',
176
+ id,
177
+ }),
178
+ tags: (search) => StudioSDK.handleCall({
179
+ method: 'GET',
180
+ url: this.getUrl('api', ['customers', this.company, this.project, 'tags', search]),
181
+ headers: this.getHeaders(),
182
+ }, {
183
+ group: 'customers',
184
+ action: 'tags',
185
+ }),
186
+ update: (id, data) => StudioSDK.handleCall({
187
+ method: 'PUT',
188
+ url: this.getUrl('api', ['customers', this.company, this.project, id]),
189
+ headers: this.getHeaders(),
190
+ data,
191
+ }),
192
+ add: (data) => StudioSDK.handleCall({
193
+ method: 'POST',
194
+ url: this.getUrl('api', ['customers', this.company, this.project]),
195
+ headers: this.getHeaders(),
196
+ data,
197
+ }),
198
+ remove: (id) => StudioSDK.handleCall({
199
+ method: 'DELETE',
200
+ url: this.getUrl('api', ['customers', this.company, this.project, id]),
201
+ headers: this.getHeaders(),
202
+ }),
203
+ };
204
+ this.lists = {
205
+ single: (id) => StudioSDK.handleCall({
206
+ method: 'GET',
207
+ url: this.getUrl('api', ['lists', this.company, this.project, id]),
208
+ headers: this.getHeaders(),
209
+ }, {
210
+ group: 'lists',
211
+ action: 'single',
212
+ id,
213
+ }),
214
+ add: (data) => StudioSDK.handleCall({
215
+ method: 'POST',
216
+ url: this.getUrl('api', ['lists', this.company, this.project]),
217
+ headers: this.getHeaders(),
218
+ data,
219
+ }),
220
+ update: (id, data) => StudioSDK.handleCall({
221
+ method: 'PUT',
222
+ url: this.getUrl('api', ['lists', this.company, this.project, id]),
223
+ headers: this.getHeaders(),
224
+ data,
225
+ }),
226
+ remove: (id) => StudioSDK.handleCall({
227
+ method: 'DELETE',
228
+ url: this.getUrl('api', ['lists', this.company, this.project, id]),
229
+ headers: this.getHeaders(),
230
+ }),
231
+ getByInternalId: (id) => StudioSDK.handleCall({
232
+ method: 'GET',
233
+ url: this.getUrl('api', ['lists', this.company, this.project, id]),
234
+ headers: this.getHeaders(),
235
+ }, {
236
+ group: 'lists',
237
+ action: 'single',
238
+ id,
239
+ }),
240
+ list: (site = 0, search, tags, state, sort, order) => StudioSDK.handleCall({
241
+ method: 'GET',
242
+ url: this.getUrl('api', ['lists', this.company, this.project, 'list', site.toString()]),
243
+ headers: this.getHeaders(),
244
+ params: {
245
+ search,
246
+ tags,
247
+ sort,
248
+ order,
249
+ state,
250
+ },
251
+ }, {
252
+ group: 'lists',
253
+ action: 'list',
254
+ }),
255
+ participants: {
256
+ single: (listId, id) => StudioSDK.handleCall({
257
+ method: 'GET',
258
+ url: this.getUrl('api', ['lists', 'participants', this.company, this.project, listId, id]),
259
+ headers: this.getHeaders(),
260
+ }, {
261
+ group: 'listParticipants',
262
+ action: 'single',
263
+ id,
264
+ }),
265
+ udpateState: (listId, id, state) => StudioSDK.handleCall({
266
+ method: 'PUT',
267
+ url: this.getUrl('api', ['lists', 'participants', this.company, this.project, listId, 'state', id]),
268
+ headers: this.getHeaders(),
269
+ data: { state },
270
+ }, {
271
+ group: 'listParticipants',
272
+ action: 'single',
273
+ id,
274
+ }),
275
+ udpateNote: (listId, id, note) => StudioSDK.handleCall({
276
+ method: 'PUT',
277
+ url: this.getUrl('api', ['lists', 'participants', this.company, this.project, listId, 'note', id]),
278
+ headers: this.getHeaders(),
279
+ data: { note },
280
+ }, {
281
+ group: 'listParticipants',
282
+ action: 'single',
283
+ id,
284
+ }),
285
+ remove: (listId, id) => StudioSDK.handleCall({
286
+ method: 'DELETE',
287
+ url: this.getUrl('api', ['lists', 'participants', this.company, this.project, listId, id]),
288
+ headers: this.getHeaders(),
289
+ }),
290
+ list: (listId, site = 0, search, tags, state, sort, order) => StudioSDK.handleCall({
291
+ method: 'GET',
292
+ url: this.getUrl('api', ['lists', 'participants', this.company, this.project, listId, 'list', site.toString()]),
293
+ headers: this.getHeaders(),
294
+ params: {
295
+ search,
296
+ tags,
297
+ sort,
298
+ order,
299
+ state,
300
+ },
301
+ }, {
302
+ group: 'listParticipants',
303
+ action: 'list',
304
+ }),
305
+ },
306
+ };
307
+ if (options.authToken)
308
+ this.authToken = options.authToken;
309
+ if (options.customEndpoints)
310
+ this.customEndpoints = options.customEndpoints;
311
+ this.mode = options.customEndpoints ? 'custom' : options.mode || 'live';
312
+ if (options.company)
313
+ this.company = options.company;
314
+ if (options.project)
315
+ this.project = options.project;
316
+ this.app = app;
317
+ if (options.universalModel)
318
+ this.universalModel = options.universalModel;
319
+ }
320
+ getUrl(type, methodArray) {
321
+ const method = methodArray.filter((single) => single);
322
+ const urlArray = [];
323
+ let useEndpoint;
324
+ if (this.mode === 'custom') {
325
+ useEndpoint = this.customEndpoints[type];
326
+ }
327
+ else {
328
+ useEndpoint = this.endpoints[this.mode][type];
329
+ }
330
+ urlArray.push(useEndpoint);
331
+ urlArray.push(...method);
332
+ return urlArray.filter((single) => single).join('/');
333
+ }
334
+ getHeaders() {
335
+ const headers = {
336
+ 'studio-app': this.app,
337
+ };
338
+ if (this.authToken) {
339
+ headers.Authorization = `bearer ${this.authToken}`;
340
+ }
341
+ return headers;
342
+ }
343
+ static getCacheKeyMock(url) {
344
+ const key = new URL(url);
345
+ return key.pathname + key.search;
346
+ }
347
+ static getCacheKey(url) {
348
+ let key = url;
349
+ key = key.replace(/:|\/|\?|=|&/ig, '-');
350
+ return key;
351
+ }
352
+ static getCache() {
353
+ return cachedCalls;
354
+ }
355
+ static handleCall(call, options) {
356
+ // if (ISMOCK) {
357
+ // if (call.method !== 'GET') return Promise.resolve({ data: {} as T, status: 200 });
358
+ // const key = StudioSDK.getCacheKeyMock(call.url as string);
359
+ // console.group(`SDK_MOCK_CALL: [${call.method}] ${key}`);
360
+ // // if url is not in MockJs.ts, error will be thrown
361
+ // if (!mockJs[key]) {
362
+ // console.error(key);
363
+ // console.groupEnd();
364
+ // throw new Error('MOCK_DATA_MISSING');
365
+ // }
366
+ // console.log({ data: mockJs[key].data as T, status: mockJs[key].status });
367
+ // console.groupEnd();
368
+ // return Promise.resolve({ data: mockJs[key].data as T, status: mockJs[key].status });
369
+ // }
370
+ if (call.method === 'GET' && !(options === null || options === void 0 ? void 0 : options.bypassCache)) {
371
+ const cacheHit = StudioSDK.cache(axios.getUri(call), undefined, options);
372
+ if (cacheHit)
373
+ return Promise.resolve(cacheHit);
374
+ }
375
+ return axios.request(call)
376
+ .then((response) => {
377
+ if (call.method === 'GET')
378
+ StudioSDK.cache(axios.getUri(call), response, options);
379
+ return response;
380
+ })
381
+ .then((response) => ({ data: response.data, status: response.status }));
382
+ }
383
+ static cache(url, response, options) {
384
+ const key = (options === null || options === void 0 ? void 0 : options.id) ? options.id : StudioSDK.getCacheKey(url);
385
+ if (response) {
386
+ const useKey = (options === null || options === void 0 ? void 0 : options.id)
387
+ ? options.id
388
+ : key;
389
+ cachedCalls[useKey] = {
390
+ data: response.data,
391
+ status: response.status,
392
+ action: options === null || options === void 0 ? void 0 : options.action,
393
+ group: options === null || options === void 0 ? void 0 : options.group,
394
+ cacheLifetime: (options === null || options === void 0 ? void 0 : options.cacheLifetime) ? Date.now() + ((options === null || options === void 0 ? void 0 : options.cacheLifetime) || 0) : null,
395
+ cacheTime: Date.now(),
396
+ };
397
+ return undefined;
398
+ }
399
+ const useCache = cachedCalls[key];
400
+ if (!useCache)
401
+ return null;
402
+ if (useCache.cacheLifetime && useCache.cacheLifetime < Date.now()) {
403
+ console.debug('cache found but lifetime');
404
+ delete cachedCalls[key];
405
+ return null;
406
+ }
407
+ const returnCache = hardCopy(useCache);
408
+ returnCache === null || returnCache === void 0 ? true : delete returnCache.action;
409
+ returnCache === null || returnCache === void 0 ? true : delete returnCache.group;
410
+ returnCache === null || returnCache === void 0 ? true : delete returnCache.id;
411
+ returnCache.isCache = true;
412
+ return returnCache;
413
+ }
414
+ static flushCache(group, action) {
415
+ if (group || action) {
416
+ Object.keys(cachedCalls).forEach((key) => {
417
+ let flush = false;
418
+ const singleCache = cachedCalls[key];
419
+ if (group && action) {
420
+ if (singleCache.group === group && singleCache.action === action)
421
+ flush = true;
422
+ }
423
+ else if (group) {
424
+ if (singleCache.group === group)
425
+ flush = true;
426
+ }
427
+ else if (action) {
428
+ if (singleCache.action === action)
429
+ flush = true;
430
+ }
431
+ if (flush) {
432
+ delete cachedCalls[key];
433
+ }
434
+ });
435
+ }
436
+ else {
437
+ cachedCalls = {};
438
+ }
439
+ }
440
+ static flushId(id) {
441
+ delete cachedCalls[id];
442
+ }
443
+ }
444
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@lilaquadrat/sdk",
3
+ "version": "0.0.4",
4
+ "description": "sdk for accessing STUDIO api",
5
+ "author": {
6
+ "email": "m.schuebel@lila2.de",
7
+ "name": "Mathias Schübel",
8
+ "url": "https://lilaquadrat.de"
9
+ },
10
+ "repository": {
11
+ "url": "https://github.com/lilaquadrat/sdk"
12
+ },
13
+ "license": "MIT",
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "prepublish": "tsc",
17
+ "release": "standard-version"
18
+ },
19
+ "module": "lib/index.js",
20
+ "main": "lib/index.js",
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "dependencies": {
25
+ "@lilaquadrat/interfaces": "^1.0.2",
26
+ "@lilaquadrat/studio": "^6.1.0",
27
+ "axios": "^1.6.7"
28
+ },
29
+ "devDependencies": {
30
+ "cz-conventional-changelog": "^3.3.0",
31
+ "standard-version": "^9.5.0",
32
+ "typescript": "^5.3.3"
33
+ },
34
+ "config": {
35
+ "commitizen": {
36
+ "path": "./node_modules/cz-conventional-changelog"
37
+ }
38
+ }
39
+ }