@weavix/cli 0.1.0-dev
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/README.md +94 -0
- package/build/index.js +2568 -0
- package/build/templates/.arcignore +35 -0
- package/build/templates/_shared/.arcignore +20 -0
- package/build/templates/_shared/.prettierrc.js +6 -0
- package/build/templates/_shared/.stylelintrc +3 -0
- package/build/templates/_shared/eslint.config.js +12 -0
- package/build/templates/_shared/manifest.schema.json +438 -0
- package/build/templates/_shared/marketplace/README.md +12 -0
- package/build/templates/_shared/npmrc.template +2 -0
- package/build/templates/_shared/package.json +69 -0
- package/build/templates/_shared/public/README.md +12 -0
- package/build/templates/_shared/public/fonts/ys-text-display-wide-110.woff +0 -0
- package/build/templates/_shared/public/fonts/ys-text-display-wide-110.woff2 +0 -0
- package/build/templates/_shared/src/main.tsx +21 -0
- package/build/templates/_shared/src/reset.css +55 -0
- package/build/templates/_shared/src/styles-360.scss +81 -0
- package/build/templates/_shared/src/styles-gravity.scss +249 -0
- package/build/templates/_shared/src/vite-env.d.ts +2 -0
- package/build/templates/_shared/tsconfig.json +16 -0
- package/build/templates/_shared/vite.config.ts +66 -0
- package/build/templates/attachment.viewer.action/index.html +14 -0
- package/build/templates/attachment.viewer.action/src/App.tsx +59 -0
- package/build/templates/default/index.html +14 -0
- package/build/templates/default/src/App.tsx +10 -0
- package/build/templates/goal.action/index.html +14 -0
- package/build/templates/goal.action/src/App.tsx +39 -0
- package/build/templates/issue.action/index.html +14 -0
- package/build/templates/issue.action/src/App.tsx +36 -0
- package/build/templates/issue.block/index.html +14 -0
- package/build/templates/issue.block/src/App.tsx +34 -0
- package/build/templates/issue.comment.action/index.html +14 -0
- package/build/templates/issue.comment.action/src/App.tsx +33 -0
- package/build/templates/issue.floatingbottom.action/index.html +14 -0
- package/build/templates/issue.floatingbottom.action/src/App.tsx +28 -0
- package/build/templates/issue.tab/index.html +14 -0
- package/build/templates/issue.tab/src/App.tsx +36 -0
- package/build/templates/navigation/index.html +14 -0
- package/build/templates/navigation/src/App.tsx +15 -0
- package/build/templates/portfolio.action/index.html +14 -0
- package/build/templates/portfolio.action/src/App.tsx +44 -0
- package/build/templates/project.action/index.html +14 -0
- package/build/templates/project.action/src/App.tsx +44 -0
- package/build/templates/trigger.action/index.html +14 -0
- package/build/templates/trigger.action/src/App.scss +46 -0
- package/build/templates/trigger.action/src/App.tsx +153 -0
- package/package.json +35 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Block files from _shared in all directories except _shared itself
|
|
2
|
+
# Shared config files
|
|
3
|
+
**/.npmrc
|
|
4
|
+
!_shared/.npmrc
|
|
5
|
+
|
|
6
|
+
**/.prettierrc.js
|
|
7
|
+
!_shared/.prettierrc.js
|
|
8
|
+
|
|
9
|
+
**/.stylelintrc
|
|
10
|
+
!_shared/.stylelintrc
|
|
11
|
+
|
|
12
|
+
**/eslint.config.js
|
|
13
|
+
!_shared/eslint.config.js
|
|
14
|
+
|
|
15
|
+
# **/manifest.schema.json
|
|
16
|
+
# !_shared/manifest.schema.json
|
|
17
|
+
|
|
18
|
+
**/package.json
|
|
19
|
+
!_shared/package.json
|
|
20
|
+
|
|
21
|
+
**/tsconfig.json
|
|
22
|
+
!_shared/tsconfig.json
|
|
23
|
+
|
|
24
|
+
**/vite.config.ts
|
|
25
|
+
!_shared/vite.config.ts
|
|
26
|
+
|
|
27
|
+
# Shared source files
|
|
28
|
+
**/public/logo.svg
|
|
29
|
+
!_shared/public/logo.svg
|
|
30
|
+
|
|
31
|
+
**/src/main.tsx
|
|
32
|
+
!_shared/src/main.tsx
|
|
33
|
+
|
|
34
|
+
**/src/vite-env.d.ts
|
|
35
|
+
!_shared/src/vite-env.d.ts
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import baseConfig from '@gravity-ui/eslint-config';
|
|
2
|
+
import importOrderConfig from '@gravity-ui/eslint-config/import-order';
|
|
3
|
+
import prettierConfig from '@gravity-ui/eslint-config/prettier';
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
...baseConfig,
|
|
7
|
+
...prettierConfig,
|
|
8
|
+
...importOrderConfig,
|
|
9
|
+
{
|
|
10
|
+
ignores: ['**/*.mjs', '**/*.cjs', '**/*.js', '**/*.d.ts'],
|
|
11
|
+
}
|
|
12
|
+
];
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Manifest",
|
|
4
|
+
"description": "Schema for validating plugin manifest",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"slug",
|
|
8
|
+
"version",
|
|
9
|
+
"permissions"
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"$schema": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"id": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Unique identifier for the plugin ()",
|
|
18
|
+
"minLength": 3,
|
|
19
|
+
"maxLength": 63,
|
|
20
|
+
"pattern": "^[a-z0-9-]+$"
|
|
21
|
+
},
|
|
22
|
+
"slug": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Unique identifier for the plugin (lowercase letters, numbers, hyphen)",
|
|
25
|
+
"minLength": 3,
|
|
26
|
+
"maxLength": 63,
|
|
27
|
+
"pattern": "^[a-z0-9-]+$"
|
|
28
|
+
},
|
|
29
|
+
"version": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Version of the plugin (semver format required)",
|
|
32
|
+
"minLength": 1,
|
|
33
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?(\\+[a-zA-Z0-9.-]+)?$"
|
|
34
|
+
},
|
|
35
|
+
"name": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"description": "Localized plugin name",
|
|
38
|
+
"required": [
|
|
39
|
+
"ru",
|
|
40
|
+
"en"
|
|
41
|
+
],
|
|
42
|
+
"properties": {
|
|
43
|
+
"ru": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"description": "Russian name",
|
|
46
|
+
"minLength": 1,
|
|
47
|
+
"maxLength": 30
|
|
48
|
+
},
|
|
49
|
+
"en": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "English name",
|
|
52
|
+
"minLength": 1,
|
|
53
|
+
"maxLength": 30
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"additionalProperties": false
|
|
57
|
+
},
|
|
58
|
+
"description": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"description": "Localized plugin description",
|
|
61
|
+
"required": [
|
|
62
|
+
"ru",
|
|
63
|
+
"en"
|
|
64
|
+
],
|
|
65
|
+
"properties": {
|
|
66
|
+
"ru": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "Russian description",
|
|
69
|
+
"minLength": 1,
|
|
70
|
+
"maxLength": 300
|
|
71
|
+
},
|
|
72
|
+
"en": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "English description",
|
|
75
|
+
"minLength": 1,
|
|
76
|
+
"maxLength": 300
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"additionalProperties": false
|
|
80
|
+
},
|
|
81
|
+
"support": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"description": "Support contact information",
|
|
84
|
+
"items": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"required": [
|
|
87
|
+
"type",
|
|
88
|
+
"value"
|
|
89
|
+
],
|
|
90
|
+
"properties": {
|
|
91
|
+
"type": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Type of support contact",
|
|
94
|
+
"enum": [
|
|
95
|
+
"email"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"value": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Contact value",
|
|
101
|
+
"minLength": 1,
|
|
102
|
+
"maxLength": 100
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"additionalProperties": false
|
|
106
|
+
},
|
|
107
|
+
"minItems": 1
|
|
108
|
+
},
|
|
109
|
+
"homepage": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Homepage URL for the plugin (http or https)",
|
|
112
|
+
"pattern": "^https?://",
|
|
113
|
+
"maxLength": 1000
|
|
114
|
+
},
|
|
115
|
+
"license": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "License identifier (e.g., MIT, Apache-2.0)",
|
|
118
|
+
"minLength": 1,
|
|
119
|
+
"maxLength": 32
|
|
120
|
+
},
|
|
121
|
+
"keywords": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"description": "Keywords for plugin discovery",
|
|
124
|
+
"items": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"minLength": 1,
|
|
127
|
+
"maxLength": 30
|
|
128
|
+
},
|
|
129
|
+
"uniqueItems": true
|
|
130
|
+
},
|
|
131
|
+
"whatsnew": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"description": "What's new in this version",
|
|
134
|
+
"minLength": 1,
|
|
135
|
+
"maxLength": 300
|
|
136
|
+
},
|
|
137
|
+
"externalHost": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"description": "External host URL for the plugin (https only)",
|
|
140
|
+
"format": "uri",
|
|
141
|
+
"pattern": "^https://",
|
|
142
|
+
"maxLength": 1000
|
|
143
|
+
},
|
|
144
|
+
"permissions": {
|
|
145
|
+
"type": "object",
|
|
146
|
+
"description": "Permissions required by the plugin",
|
|
147
|
+
"required": [
|
|
148
|
+
"data"
|
|
149
|
+
],
|
|
150
|
+
"properties": {
|
|
151
|
+
"data": {
|
|
152
|
+
"type": "array",
|
|
153
|
+
"description": "Data access permissions",
|
|
154
|
+
"items": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"enum": [
|
|
157
|
+
"tracker:issues:read",
|
|
158
|
+
"tracker:issues:write",
|
|
159
|
+
"tracker:issuetypes:read",
|
|
160
|
+
"tracker:statuses:read",
|
|
161
|
+
"tracker:queues:read",
|
|
162
|
+
"tracker:fields:read",
|
|
163
|
+
"tracker:entities:read",
|
|
164
|
+
"tracker:attachments:read",
|
|
165
|
+
"tracker:attachments:write",
|
|
166
|
+
"tracker:applications:read",
|
|
167
|
+
"tracker:boards:read",
|
|
168
|
+
"tracker:boards:write",
|
|
169
|
+
"tracker:bulk:read",
|
|
170
|
+
"tracker:bulk:write",
|
|
171
|
+
"tracker:bulkchange:read",
|
|
172
|
+
"tracker:bulkchange:write",
|
|
173
|
+
"tracker:charts:read",
|
|
174
|
+
"tracker:commentTemplates:read",
|
|
175
|
+
"tracker:commentTemplates:write",
|
|
176
|
+
"tracker:components:read",
|
|
177
|
+
"tracker:components:write",
|
|
178
|
+
"tracker:data:read",
|
|
179
|
+
"tracker:departments:read",
|
|
180
|
+
"tracker:entities:write",
|
|
181
|
+
"tracker:externalEventTypes:write",
|
|
182
|
+
"tracker:externalEvents:write",
|
|
183
|
+
"tracker:fields:write",
|
|
184
|
+
"tracker:filterFolders:write",
|
|
185
|
+
"tracker:filters:read",
|
|
186
|
+
"tracker:filters:write",
|
|
187
|
+
"tracker:goals:read",
|
|
188
|
+
"tracker:goals:write",
|
|
189
|
+
"tracker:groups:read",
|
|
190
|
+
"tracker:issueTemplates:read",
|
|
191
|
+
"tracker:issueTemplates:write",
|
|
192
|
+
"tracker:links:read",
|
|
193
|
+
"tracker:linktypes:read",
|
|
194
|
+
"tracker:liveBoards:write",
|
|
195
|
+
"tracker:localFields:read",
|
|
196
|
+
"tracker:maillists:read",
|
|
197
|
+
"tracker:maillists:write",
|
|
198
|
+
"tracker:myself:read",
|
|
199
|
+
"tracker:myself:write",
|
|
200
|
+
"tracker:priorities:read",
|
|
201
|
+
"tracker:queues:write",
|
|
202
|
+
"tracker:reminders:read",
|
|
203
|
+
"tracker:reminders:write",
|
|
204
|
+
"tracker:remotelinks:read",
|
|
205
|
+
"tracker:reports:read",
|
|
206
|
+
"tracker:reports:write",
|
|
207
|
+
"tracker:resolutions:read",
|
|
208
|
+
"tracker:resources:read",
|
|
209
|
+
"tracker:resources:write",
|
|
210
|
+
"tracker:roles:read",
|
|
211
|
+
"tracker:screens:read",
|
|
212
|
+
"tracker:services:read",
|
|
213
|
+
"tracker:sprints:read",
|
|
214
|
+
"tracker:sprints:write",
|
|
215
|
+
"tracker:system:write",
|
|
216
|
+
"tracker:tags:read",
|
|
217
|
+
"tracker:translations:read",
|
|
218
|
+
"tracker:users:read",
|
|
219
|
+
"tracker:users:write",
|
|
220
|
+
"tracker:versions:read",
|
|
221
|
+
"tracker:versions:write",
|
|
222
|
+
"tracker:workflows:read",
|
|
223
|
+
"tracker:workflows:write",
|
|
224
|
+
"tracker:worklog:read",
|
|
225
|
+
"tracker:worklog:write"
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
"uniqueItems": true
|
|
229
|
+
},
|
|
230
|
+
"ui": {
|
|
231
|
+
"type": "array",
|
|
232
|
+
"description": "UI permissions",
|
|
233
|
+
"items": {
|
|
234
|
+
"type": "string"
|
|
235
|
+
},
|
|
236
|
+
"uniqueItems": true
|
|
237
|
+
},
|
|
238
|
+
"device": {
|
|
239
|
+
"type": "array",
|
|
240
|
+
"description": "Device permissions",
|
|
241
|
+
"items": {
|
|
242
|
+
"type": "string",
|
|
243
|
+
"enum": [
|
|
244
|
+
"clipboard-write"
|
|
245
|
+
]
|
|
246
|
+
},
|
|
247
|
+
"uniqueItems": true
|
|
248
|
+
},
|
|
249
|
+
"external": {
|
|
250
|
+
"type": "array",
|
|
251
|
+
"description": "External permissions",
|
|
252
|
+
"items": {
|
|
253
|
+
"type": "string"
|
|
254
|
+
},
|
|
255
|
+
"uniqueItems": true
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"additionalProperties": false
|
|
259
|
+
},
|
|
260
|
+
"slots": {
|
|
261
|
+
"type": "object",
|
|
262
|
+
"description": "Configuration for service slots",
|
|
263
|
+
"minProperties": 1,
|
|
264
|
+
"properties": {
|
|
265
|
+
"tracker": {
|
|
266
|
+
"type": "object",
|
|
267
|
+
"description": "Tracker service slots",
|
|
268
|
+
"minProperties": 1,
|
|
269
|
+
"properties": {
|
|
270
|
+
"issue.action": {
|
|
271
|
+
"type": "array",
|
|
272
|
+
"description": "Issue Action slot configurations",
|
|
273
|
+
"minItems": 1,
|
|
274
|
+
"items": {
|
|
275
|
+
"$ref": "#/definitions/SlotConfig"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"issue.block": {
|
|
279
|
+
"type": "array",
|
|
280
|
+
"description": "Issue Block slot configurations",
|
|
281
|
+
"minItems": 1,
|
|
282
|
+
"items": {
|
|
283
|
+
"$ref": "#/definitions/SlotConfig"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"issue.tab": {
|
|
287
|
+
"type": "array",
|
|
288
|
+
"description": "Issue Tab slot configurations",
|
|
289
|
+
"minItems": 1,
|
|
290
|
+
"items": {
|
|
291
|
+
"$ref": "#/definitions/SlotConfig"
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"issue.comment.action": {
|
|
295
|
+
"type": "array",
|
|
296
|
+
"description": "Issue Comment Action slot configurations",
|
|
297
|
+
"minItems": 1,
|
|
298
|
+
"items": {
|
|
299
|
+
"$ref": "#/definitions/SlotConfig"
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"navigation": {
|
|
303
|
+
"type": "array",
|
|
304
|
+
"description": "Navigation slot configurations",
|
|
305
|
+
"minItems": 1,
|
|
306
|
+
"items": {
|
|
307
|
+
"$ref": "#/definitions/SlotConfig"
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
"trigger.create.action": {
|
|
311
|
+
"type": "array",
|
|
312
|
+
"description": "Trigger Create Action slot configurations",
|
|
313
|
+
"minItems": 1,
|
|
314
|
+
"items": {
|
|
315
|
+
"$ref": "#/definitions/SlotConfig"
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"trigger.edit.action": {
|
|
319
|
+
"type": "array",
|
|
320
|
+
"description": "Trigger Edit Action slot configurations",
|
|
321
|
+
"minItems": 1,
|
|
322
|
+
"items": {
|
|
323
|
+
"$ref": "#/definitions/SlotConfig"
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
"project.action": {
|
|
327
|
+
"type": "array",
|
|
328
|
+
"description": "Project Action slot configurations",
|
|
329
|
+
"minItems": 1,
|
|
330
|
+
"items": {
|
|
331
|
+
"$ref": "#/definitions/SlotConfig"
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
"portfolio.action": {
|
|
335
|
+
"type": "array",
|
|
336
|
+
"description": "Portfolio Action slot configurations",
|
|
337
|
+
"minItems": 1,
|
|
338
|
+
"items": {
|
|
339
|
+
"$ref": "#/definitions/SlotConfig"
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
"goal.action": {
|
|
343
|
+
"type": "array",
|
|
344
|
+
"description": "Goal Action slot configurations",
|
|
345
|
+
"minItems": 1,
|
|
346
|
+
"items": {
|
|
347
|
+
"$ref": "#/definitions/SlotConfig"
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"issue.floatingbottom.action": {
|
|
351
|
+
"type": "array",
|
|
352
|
+
"description": "Issue Floatingbottom Action slot configurations",
|
|
353
|
+
"minItems": 1,
|
|
354
|
+
"items": {
|
|
355
|
+
"$ref": "#/definitions/SlotConfig"
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
"attachment.viewer.action": {
|
|
359
|
+
"type": "array",
|
|
360
|
+
"description": "Attachment Viewer Action slot configurations",
|
|
361
|
+
"minItems": 1,
|
|
362
|
+
"items": {
|
|
363
|
+
"$ref": "#/definitions/SlotConfig"
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"additionalProperties": false
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
"additionalProperties": false
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"additionalProperties": false,
|
|
374
|
+
"definitions": {
|
|
375
|
+
"SlotConfig": {
|
|
376
|
+
"type": "object",
|
|
377
|
+
"description": "Configuration for a specific slot",
|
|
378
|
+
"required": [
|
|
379
|
+
"entrypoint",
|
|
380
|
+
"title"
|
|
381
|
+
],
|
|
382
|
+
"properties": {
|
|
383
|
+
"entrypoint": {
|
|
384
|
+
"type": "string",
|
|
385
|
+
"description": "Entry point file path for the slot",
|
|
386
|
+
"minLength": 1
|
|
387
|
+
},
|
|
388
|
+
"title": {
|
|
389
|
+
"type": "object",
|
|
390
|
+
"description": "Localized titles for the slot",
|
|
391
|
+
"required": [
|
|
392
|
+
"ru",
|
|
393
|
+
"en"
|
|
394
|
+
],
|
|
395
|
+
"properties": {
|
|
396
|
+
"ru": {
|
|
397
|
+
"type": "string",
|
|
398
|
+
"description": "Russian title",
|
|
399
|
+
"minLength": 1,
|
|
400
|
+
"maxLength": 32
|
|
401
|
+
},
|
|
402
|
+
"en": {
|
|
403
|
+
"type": "string",
|
|
404
|
+
"description": "English title",
|
|
405
|
+
"minLength": 1,
|
|
406
|
+
"maxLength": 32
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
"additionalProperties": false
|
|
410
|
+
},
|
|
411
|
+
"description": {
|
|
412
|
+
"type": "object",
|
|
413
|
+
"description": "Localized descriptions for the slot",
|
|
414
|
+
"required": [
|
|
415
|
+
"ru",
|
|
416
|
+
"en"
|
|
417
|
+
],
|
|
418
|
+
"properties": {
|
|
419
|
+
"ru": {
|
|
420
|
+
"type": "string",
|
|
421
|
+
"description": "Russian description",
|
|
422
|
+
"minLength": 1,
|
|
423
|
+
"maxLength": 300
|
|
424
|
+
},
|
|
425
|
+
"en": {
|
|
426
|
+
"type": "string",
|
|
427
|
+
"description": "English description",
|
|
428
|
+
"minLength": 1,
|
|
429
|
+
"maxLength": 300
|
|
430
|
+
}
|
|
431
|
+
},
|
|
432
|
+
"additionalProperties": false
|
|
433
|
+
}
|
|
434
|
+
},
|
|
435
|
+
"additionalProperties": false
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Данные для маркетплейса
|
|
2
|
+
|
|
3
|
+
В этой папке лежат материалы, необходимые для публикации плагина в маркетплейсе.
|
|
4
|
+
|
|
5
|
+
## Обязательные файлы
|
|
6
|
+
|
|
7
|
+
- `index.md` — описание плагина для страницы в магазине в формате Markdown. Этот файл нужно добавить вручную перед публикацией.
|
|
8
|
+
- `header-image.jpg` — обложка для страницы плагина. Требуемое соотношение сторон: `784:325` (примерно `2.41:1`). Этот файл нужно добавить вручную перед публикацией.
|
|
9
|
+
|
|
10
|
+
## Подсказка для ИИ-агентов
|
|
11
|
+
|
|
12
|
+
Если вы готовите плагин к публикации, убедитесь, что в папке есть все обязательные файлы и что изображение соответствует требованиям.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tracker-plugin-default-template",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"react",
|
|
7
|
+
"vite",
|
|
8
|
+
"template",
|
|
9
|
+
"typescript",
|
|
10
|
+
"gravity",
|
|
11
|
+
"uikit",
|
|
12
|
+
"sass"
|
|
13
|
+
],
|
|
14
|
+
"description": "Plugin template",
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=18"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "node node_modules/vite/bin/vite.js",
|
|
20
|
+
"build": "tsc && node node_modules/vite/bin/vite.js build",
|
|
21
|
+
"lint:js": "eslint --ext .js,.jsx,.ts,.tsx .",
|
|
22
|
+
"lint:styles": "stylelint '{styles,src}/**/*.{css,scss}' --allow-empty-input",
|
|
23
|
+
"typecheck": "tsc",
|
|
24
|
+
"lint": "npm run lint:js && npm run lint:styles && npm run typecheck"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@gravity-ui/icons": "2.13.0",
|
|
28
|
+
"@gravity-ui/uikit": "7.21.0",
|
|
29
|
+
"@yandex-data-ui/gravity-themes": "1.7.0",
|
|
30
|
+
"@yandex-data-ui/tracker-plugin-sdk-react": "0.0.25",
|
|
31
|
+
"@yandex-data-ui/tracker-pub-api-types": "0.0.6",
|
|
32
|
+
"bem-cn-lite": "4.1.0",
|
|
33
|
+
"react": "18.3.1",
|
|
34
|
+
"react-dom": "18.3.1"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@gravity-ui/browserslist-config": "4.1.0",
|
|
38
|
+
"@gravity-ui/eslint-config": "4.2.0",
|
|
39
|
+
"@gravity-ui/prettier-config": "1.1.0",
|
|
40
|
+
"@gravity-ui/stylelint-config": "4.0.0",
|
|
41
|
+
"@gravity-ui/tsconfig": "1.0.0",
|
|
42
|
+
"@types/node": "^25.0.10",
|
|
43
|
+
"@types/react": "18.2.37",
|
|
44
|
+
"@types/react-dom": "18.2.15",
|
|
45
|
+
"@vitejs/plugin-react": "5.1.2",
|
|
46
|
+
"axios": "1.12.2",
|
|
47
|
+
"eslint": "9.24.0",
|
|
48
|
+
"husky": "8.0.3",
|
|
49
|
+
"sass": "1.97.3",
|
|
50
|
+
"typescript": "5.8.3",
|
|
51
|
+
"vite": "7.3.1",
|
|
52
|
+
"vite-plugin-svgr": "4.5.0"
|
|
53
|
+
},
|
|
54
|
+
"browserslist": [
|
|
55
|
+
"extends @gravity-ui/browserslist-config"
|
|
56
|
+
],
|
|
57
|
+
"lint-staged": {
|
|
58
|
+
"*.{css,scss}": [
|
|
59
|
+
"stylelint --fix --quiet"
|
|
60
|
+
],
|
|
61
|
+
"*.{js,jsx,ts,tsx}": [
|
|
62
|
+
"eslint --fix --quiet",
|
|
63
|
+
"prettier --write"
|
|
64
|
+
],
|
|
65
|
+
"*.md": [
|
|
66
|
+
"prettier --write"
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Публичные ассеты
|
|
2
|
+
|
|
3
|
+
В этой папке лежат публичные файлы плагина.
|
|
4
|
+
|
|
5
|
+
## Логотип
|
|
6
|
+
|
|
7
|
+
- `logo.svg` — квадратный логотип плагина.
|
|
8
|
+
- Логотип нужно добавить вручную перед публикацией.
|
|
9
|
+
|
|
10
|
+
## Подсказка для ИИ-агентов
|
|
11
|
+
|
|
12
|
+
Если вы готовите плагин к публикации, убедитесь, что в папке `public` есть файл `logo.svg` и он квадратный.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import { TrackerPluginProvider } from '@yandex-data-ui/tracker-plugin-sdk-react';
|
|
4
|
+
import ReactDOM from 'react-dom/client';
|
|
5
|
+
|
|
6
|
+
import App from './App';
|
|
7
|
+
|
|
8
|
+
// gravity theme
|
|
9
|
+
import './styles-gravity.scss';
|
|
10
|
+
|
|
11
|
+
// yandex-360 theme
|
|
12
|
+
// import './styles-360.scss';
|
|
13
|
+
|
|
14
|
+
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
|
|
15
|
+
root.render(
|
|
16
|
+
<React.StrictMode>
|
|
17
|
+
<TrackerPluginProvider>
|
|
18
|
+
<App />
|
|
19
|
+
</TrackerPluginProvider>
|
|
20
|
+
</React.StrictMode>,
|
|
21
|
+
);
|