-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
386 lines (386 loc) · 16.8 KB
/
Copy pathpackage.json
File metadata and controls
386 lines (386 loc) · 16.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
{
"name": "@augmentcode/themis",
"version": "0.0.3",
"publishConfig": {
"access": "public"
},
"description": "Redux + Saga state management for Svelte apps — designed for AI agents. Includes runtime TypeScript source, AI skills, and reference documentation for robust, observable, high-performance state management.",
"keywords": [
"svelte",
"redux",
"saga",
"state-management",
"ai-agents"
],
"license": "MIT",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"bin": {
"themis": "./scripts/cli.mjs"
},
"exports": {
"./svelte-store": {
"types": "./dist/svelte-store.d.ts",
"svelte": "./dist/svelte-store.js",
"import": "./dist/svelte-store.js",
"default": "./dist/svelte-store.js"
},
"./streaming-store": {
"types": "./dist/streaming-store.d.ts",
"svelte": "./dist/streaming-store.js",
"import": "./dist/streaming-store.js",
"default": "./dist/streaming-store.js"
},
"./react-store": {
"types": "./dist/react-store.d.ts",
"svelte": "./dist/react-store.js",
"import": "./dist/react-store.js",
"default": "./dist/react-store.js"
},
"./saga": {
"types": "./dist/saga.d.ts",
"svelte": "./dist/saga.js",
"import": "./dist/saga.js",
"default": "./dist/saga.js"
},
"./types": {
"types": "./dist/types.d.ts",
"svelte": "./dist/types.js",
"import": "./dist/types.js",
"default": "./dist/types.js"
},
"./components-svelte/use-init-store": {
"types": "./dist/components-svelte/use-init-store.d.ts",
"svelte": "./dist/components-svelte/use-init-store.js",
"import": "./dist/components-svelte/use-init-store.js",
"default": "./dist/components-svelte/use-init-store.js"
},
"./components-svelte/use-run-saga": {
"types": "./dist/components-svelte/use-run-saga.d.ts",
"svelte": "./dist/components-svelte/use-run-saga.js",
"import": "./dist/components-svelte/use-run-saga.js",
"default": "./dist/components-svelte/use-run-saga.js"
},
"./utils/collections/collection-utils": {
"types": "./dist/utils/collections/collection-utils.d.ts",
"svelte": "./dist/utils/collections/collection-utils.js",
"import": "./dist/utils/collections/collection-utils.js",
"default": "./dist/utils/collections/collection-utils.js"
},
"./utils/store/create-action": {
"types": "./dist/utils/store/create-action.d.ts",
"svelte": "./dist/utils/store/create-action.js",
"import": "./dist/utils/store/create-action.js",
"default": "./dist/utils/store/create-action.js"
},
"./utils/store/create-reducer": {
"types": "./dist/utils/store/create-reducer.d.ts",
"svelte": "./dist/utils/store/create-reducer.js",
"import": "./dist/utils/store/create-reducer.js",
"default": "./dist/utils/store/create-reducer.js"
},
"./utils/store/boolean-preference": {
"types": "./dist/utils/store/boolean-preference.d.ts",
"svelte": "./dist/utils/store/boolean-preference.js",
"import": "./dist/utils/store/boolean-preference.js",
"default": "./dist/utils/store/boolean-preference.js"
},
"./utils/store/domain-scoped": {
"types": "./dist/utils/store/domain-scoped.d.ts",
"svelte": "./dist/utils/store/domain-scoped.js",
"import": "./dist/utils/store/domain-scoped.js",
"default": "./dist/utils/store/domain-scoped.js"
},
"./utils/sagas/debounce-saga": {
"types": "./dist/utils/sagas/debounce-saga.d.ts",
"svelte": "./dist/utils/sagas/debounce-saga.js",
"import": "./dist/utils/sagas/debounce-saga.js",
"default": "./dist/utils/sagas/debounce-saga.js"
},
"./utils/sagas/retry-with-timeout": {
"types": "./dist/utils/sagas/retry-with-timeout.d.ts",
"svelte": "./dist/utils/sagas/retry-with-timeout.js",
"import": "./dist/utils/sagas/retry-with-timeout.js",
"default": "./dist/utils/sagas/retry-with-timeout.js"
},
"./utils/sagas/wrap-async-generator": {
"types": "./dist/utils/sagas/wrap-async-generator.d.ts",
"svelte": "./dist/utils/sagas/wrap-async-generator.js",
"import": "./dist/utils/sagas/wrap-async-generator.js",
"default": "./dist/utils/sagas/wrap-async-generator.js"
},
"./utils/sagas/selector-channel-effects": {
"types": "./dist/utils/sagas/selector-channel-effects.d.ts",
"svelte": "./dist/utils/sagas/selector-channel-effects.js",
"import": "./dist/utils/sagas/selector-channel-effects.js",
"default": "./dist/utils/sagas/selector-channel-effects.js"
},
"./eslint-plugins": {
"import": "./eslint-plugins/index.mjs",
"default": "./eslint-plugins/index.mjs"
},
"./eslint-plugins/plugins": {
"import": "./eslint-plugins/plugins/index.mjs",
"default": "./eslint-plugins/plugins/index.mjs"
},
"./eslint-plugins/plugins/async-reducer-handler": {
"import": "./eslint-plugins/store/async-reducer-handler/plugin.mjs",
"default": "./eslint-plugins/store/async-reducer-handler/plugin.mjs"
},
"./eslint-plugins/plugins/auto-forking-channel-helper": {
"import": "./eslint-plugins/store/auto-forking-channel-helper/plugin.mjs",
"default": "./eslint-plugins/store/auto-forking-channel-helper/plugin.mjs"
},
"./eslint-plugins/plugins/action-type-shape": {
"import": "./eslint-plugins/store/action-type-shape/plugin.mjs",
"default": "./eslint-plugins/store/action-type-shape/plugin.mjs"
},
"./eslint-plugins/plugins/camelcase-slice-identity": {
"import": "./eslint-plugins/store/camelcase-slice-identity/plugin.mjs",
"default": "./eslint-plugins/store/camelcase-slice-identity/plugin.mjs"
},
"./eslint-plugins/plugins/collection-internal-mutation": {
"import": "./eslint-plugins/store/collection-internal-mutation/plugin.mjs",
"default": "./eslint-plugins/store/collection-internal-mutation/plugin.mjs"
},
"./eslint-plugins/plugins/collection-state-shape": {
"import": "./eslint-plugins/store/collection-state-shape/plugin.mjs",
"default": "./eslint-plugins/store/collection-state-shape/plugin.mjs"
},
"./eslint-plugins/plugins/component-lifecycle-boundary": {
"import": "./eslint-plugins/svelte/component-lifecycle-boundary/plugin.mjs",
"default": "./eslint-plugins/svelte/component-lifecycle-boundary/plugin.mjs"
},
"./eslint-plugins/plugins/create-action-owner": {
"import": "./eslint-plugins/store/create-action-owner/plugin.mjs",
"default": "./eslint-plugins/store/create-action-owner/plugin.mjs"
},
"./eslint-plugins/plugins/direct-local-storage-usage": {
"import": "./eslint-plugins/store/direct-local-storage-usage/plugin.mjs",
"default": "./eslint-plugins/store/direct-local-storage-usage/plugin.mjs"
},
"./eslint-plugins/plugins/direct-selector-call-mode": {
"import": "./eslint-plugins/store/direct-selector-call-mode/plugin.mjs",
"default": "./eslint-plugins/store/direct-selector-call-mode/plugin.mjs"
},
"./eslint-plugins/plugins/duplicate-action-type": {
"import": "./eslint-plugins/store/duplicate-action-type/plugin.mjs",
"default": "./eslint-plugins/store/duplicate-action-type/plugin.mjs"
},
"./eslint-plugins/plugins/duplicate-saga-name": {
"import": "./eslint-plugins/store/duplicate-saga-name/plugin.mjs",
"default": "./eslint-plugins/store/duplicate-saga-name/plugin.mjs"
},
"./eslint-plugins/plugins/duplicate-saga-registration": {
"import": "./eslint-plugins/store/duplicate-saga-registration/plugin.mjs",
"default": "./eslint-plugins/store/duplicate-saga-registration/plugin.mjs"
},
"./eslint-plugins/plugins/duplicate-selector-export": {
"import": "./eslint-plugins/store/duplicate-selector-export/plugin.mjs",
"default": "./eslint-plugins/store/duplicate-selector-export/plugin.mjs"
},
"./eslint-plugins/plugins/duplicate-selector-implementation": {
"import": "./eslint-plugins/store/duplicate-selector-implementation/plugin.mjs",
"default": "./eslint-plugins/store/duplicate-selector-implementation/plugin.mjs"
},
"./eslint-plugins/plugins/duplicate-state-field": {
"import": "./eslint-plugins/store/duplicate-state-field/plugin.mjs",
"default": "./eslint-plugins/store/duplicate-state-field/plugin.mjs"
},
"./eslint-plugins/plugins/forbidden-component-import": {
"import": "./eslint-plugins/svelte/forbidden-component-import/plugin.mjs",
"default": "./eslint-plugins/svelte/forbidden-component-import/plugin.mjs"
},
"./eslint-plugins/plugins/forbidden-redux-api": {
"import": "./eslint-plugins/core/forbidden-redux-api/plugin.mjs",
"default": "./eslint-plugins/core/forbidden-redux-api/plugin.mjs"
},
"./eslint-plugins/plugins/inline-saga-selector": {
"import": "./eslint-plugins/store/inline-saga-selector/plugin.mjs",
"default": "./eslint-plugins/store/inline-saga-selector/plugin.mjs"
},
"./eslint-plugins/plugins/no-extra-selector-caching": {
"import": "./eslint-plugins/store/no-extra-selector-caching/plugin.mjs",
"default": "./eslint-plugins/store/no-extra-selector-caching/plugin.mjs"
},
"./eslint-plugins/plugins/no-wildcard-saga-take": {
"import": "./eslint-plugins/store/no-wildcard-saga-take/plugin.mjs",
"default": "./eslint-plugins/store/no-wildcard-saga-take/plugin.mjs"
},
"./eslint-plugins/plugins/non-serializable-initial-state": {
"import": "./eslint-plugins/store/non-serializable-initial-state/plugin.mjs",
"default": "./eslint-plugins/store/non-serializable-initial-state/plugin.mjs"
},
"./eslint-plugins/plugins/non-serializable-state-type": {
"import": "./eslint-plugins/store/non-serializable-state-type/plugin.mjs",
"default": "./eslint-plugins/store/non-serializable-state-type/plugin.mjs"
},
"./eslint-plugins/plugins/nondeterministic-reducer-state": {
"import": "./eslint-plugins/store/nondeterministic-reducer-state/plugin.mjs",
"default": "./eslint-plugins/store/nondeterministic-reducer-state/plugin.mjs"
},
"./eslint-plugins/plugins/pass-through-wrapper": {
"import": "./eslint-plugins/core/pass-through-wrapper/plugin.mjs",
"default": "./eslint-plugins/core/pass-through-wrapper/plugin.mjs"
},
"./eslint-plugins/plugins/raw-channel-cleanup": {
"import": "./eslint-plugins/store/raw-channel-cleanup/plugin.mjs",
"default": "./eslint-plugins/store/raw-channel-cleanup/plugin.mjs"
},
"./eslint-plugins/plugins/react-component-lifecycle-boundary": {
"import": "./eslint-plugins/react/react-component-lifecycle-boundary/plugin.mjs",
"default": "./eslint-plugins/react/react-component-lifecycle-boundary/plugin.mjs"
},
"./eslint-plugins/plugins/react-forbidden-component-import": {
"import": "./eslint-plugins/react/react-forbidden-component-import/plugin.mjs",
"default": "./eslint-plugins/react/react-forbidden-component-import/plugin.mjs"
},
"./eslint-plugins/plugins/react-prefer-direct-selector": {
"import": "./eslint-plugins/react/react-prefer-direct-selector/plugin.mjs",
"default": "./eslint-plugins/react/react-prefer-direct-selector/plugin.mjs"
},
"./eslint-plugins/plugins/reducer-side-effect": {
"import": "./eslint-plugins/store/reducer-side-effect/plugin.mjs",
"default": "./eslint-plugins/store/reducer-side-effect/plugin.mjs"
},
"./eslint-plugins/plugins/removed-middleware-source": {
"import": "./eslint-plugins/core/removed-middleware-source/plugin.mjs",
"default": "./eslint-plugins/core/removed-middleware-source/plugin.mjs"
},
"./eslint-plugins/plugins/saga-local-selector": {
"import": "./eslint-plugins/store/saga-local-selector/plugin.mjs",
"default": "./eslint-plugins/store/saga-local-selector/plugin.mjs"
},
"./eslint-plugins/plugins/saga-watcher-action-type": {
"import": "./eslint-plugins/store/saga-watcher-action-type/plugin.mjs",
"default": "./eslint-plugins/store/saga-watcher-action-type/plugin.mjs"
},
"./eslint-plugins/plugins/selector-export-name": {
"import": "./eslint-plugins/store/selector-export-name/plugin.mjs",
"default": "./eslint-plugins/store/selector-export-name/plugin.mjs"
},
"./eslint-plugins/plugins/selector-file-name": {
"import": "./eslint-plugins/store/selector-file-name/plugin.mjs",
"default": "./eslint-plugins/store/selector-file-name/plugin.mjs"
},
"./eslint-plugins/plugins/single-slice-selectors-module": {
"import": "./eslint-plugins/store/single-slice-selectors-module/plugin.mjs",
"default": "./eslint-plugins/store/single-slice-selectors-module/plugin.mjs"
},
"./eslint-plugins/plugins/shared-react-store-boundary": {
"import": "./eslint-plugins/react/shared-react-store-boundary/plugin.mjs",
"default": "./eslint-plugins/react/shared-react-store-boundary/plugin.mjs"
},
"./eslint-plugins/plugins/shared-svelte-store-boundary": {
"import": "./eslint-plugins/svelte/shared-svelte-store-boundary/plugin.mjs",
"default": "./eslint-plugins/svelte/shared-svelte-store-boundary/plugin.mjs"
},
"./eslint-plugins/plugins/source-shaped-package-import": {
"import": "./eslint-plugins/core/source-shaped-package-import/plugin.mjs",
"default": "./eslint-plugins/core/source-shaped-package-import/plugin.mjs"
},
"./eslint-plugins/plugins/state-type-name": {
"import": "./eslint-plugins/store/state-type-name/plugin.mjs",
"default": "./eslint-plugins/store/state-type-name/plugin.mjs"
},
"./eslint-plugins/plugins/store-constructor-saga-map": {
"import": "./eslint-plugins/store/store-constructor-saga-map/plugin.mjs",
"default": "./eslint-plugins/store/store-constructor-saga-map/plugin.mjs"
},
"./eslint-plugins/plugins/suspicious-state-field": {
"import": "./eslint-plugins/store/suspicious-state-field/plugin.mjs",
"default": "./eslint-plugins/store/suspicious-state-field/plugin.mjs"
},
"./eslint-plugins/plugins/test-selector-select": {
"import": "./eslint-plugins/store/test-selector-select/plugin.mjs",
"default": "./eslint-plugins/store/test-selector-select/plugin.mjs"
},
"./eslint-plugins/plugins/typed-saga-call-mock-guard": {
"import": "./eslint-plugins/store/typed-saga-call-mock-guard/plugin.mjs",
"default": "./eslint-plugins/store/typed-saga-call-mock-guard/plugin.mjs"
},
"./eslint-plugins/plugins/typed-saga-yield-star": {
"import": "./eslint-plugins/store/typed-saga-yield-star/plugin.mjs",
"default": "./eslint-plugins/store/typed-saga-yield-star/plugin.mjs"
},
"./eslint-plugins/plugins/unnamespaced-action-type": {
"import": "./eslint-plugins/store/unnamespaced-action-type/plugin.mjs",
"default": "./eslint-plugins/store/unnamespaced-action-type/plugin.mjs"
},
"./eslint-plugins/plugins/wait-for-named-selector": {
"import": "./eslint-plugins/store/wait-for-named-selector/plugin.mjs",
"default": "./eslint-plugins/store/wait-for-named-selector/plugin.mjs"
},
"./package.json": "./package.json"
},
"svelte": "./dist/index.js",
"peerDependencies": {
"@preact/signals-react": "^3.10.1",
"kefir": "^3.8.8",
"react": "^18.0.0 || ^19.0.0",
"svelte": "^5.0.0"
},
"peerDependenciesMeta": {
"@preact/signals-react": {
"optional": true
},
"kefir": {
"optional": true
},
"react": {
"optional": true
},
"svelte": {
"optional": true
}
},
"scripts": {
"build": "vite build",
"prepack": "npm run build",
"test": "npx --no-install vitest run",
"validate:architecture": "node scripts/validate-architecture.mjs",
"validate:release": "node scripts/validate-release.mjs",
"cleanup:skills": "node scripts/cleanup-skills.mjs",
"install:skills": "node scripts/cli.mjs install-skills"
},
"devDependencies": {
"@babel/parser": "^7.29.7",
"@preact/signals-react": "^3.10.1",
"@types/kefir": "^3.8.11",
"eslint": "^10.4.1",
"react": "^19.0.0",
"redux-saga-test-plan": "^4.0.6",
"svelte": "^5.55.1",
"typescript": "^5.9.3",
"vite": "^8.0.3",
"vite-plugin-dts": "^4.5.4",
"vitest": "^4.1.5"
},
"files": [
"dist/",
"docs/",
"skills/",
"scripts/",
"eslint-plugins/",
"!scripts/*.test.mjs",
"!scripts/**/*.test.mjs",
"!scripts/validate-release.mjs",
"!scripts/validate-architecture.mjs",
"!eslint-plugins/*.test.mjs",
"!eslint-plugins/**/*.test.mjs",
"!eslint-plugins/README.md",
"!eslint-plugins/fixtures/",
"!eslint-plugins/**/fixtures/",
"README.md",
"CONTRIBUTING.md",
"!skills/_artifacts"
],
"dependencies": {
"fast-equals": "^6.0.0",
"redux": "^5.0.1",
"redux-saga": "^1.4.2",
"typed-redux-saga": "^1.5.0"
}
}