@elizaos/config 1.2.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Shaw Walters and elizaOS Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,149 @@
1
+ # @elizaos/config
2
+
3
+ Shared configuration package for ElizaOS projects and plugins. This package provides standardized TypeScript, ESLint, and Prettier configurations to ensure consistency across the ElizaOS ecosystem.
4
+
5
+ ## Overview
6
+
7
+ This package centralizes common development configurations used throughout ElizaOS, making it easy to maintain consistent code style, linting rules, and TypeScript settings across all packages and plugins.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ bun add -d @elizaos/config
13
+ ```
14
+
15
+ ## Available Configurations
16
+
17
+ ### TypeScript Configurations
18
+
19
+ - **Base Config** (`tsconfig.base.json`): Core TypeScript settings for all ElizaOS packages
20
+ - **Plugin Config** (`tsconfig.plugin.json`): Extends base config with plugin-specific settings
21
+ - **Frontend Config** (`tsconfig.frontend.json`): For frontend/client-side packages
22
+ - **Test Config** (`tsconfig.test.json`): Optimized for test files
23
+
24
+ ### ESLint Configurations
25
+
26
+ - **Base Config** (`eslint.config.base.js`): Core linting rules and settings
27
+ - **Plugin Config** (`eslint.config.plugin.js`): ESLint configuration for plugins
28
+ - **Frontend Config** (`eslint.config.frontend.js`): ESLint rules for frontend code
29
+
30
+ ### Prettier Configuration
31
+
32
+ - **Prettier Config** (`prettier.config.js`): Standard code formatting rules
33
+
34
+ ## Usage
35
+
36
+ ### TypeScript Configuration
37
+
38
+ In your `tsconfig.json`:
39
+
40
+ ```json
41
+ {
42
+ "extends": "@elizaos/config/typescript/tsconfig.base.json",
43
+ "compilerOptions": {
44
+ "outDir": "./dist",
45
+ "rootDir": "./src"
46
+ },
47
+ "include": ["src/**/*"],
48
+ "exclude": ["node_modules", "dist"]
49
+ }
50
+ ```
51
+
52
+ For plugins, extend the plugin-specific config:
53
+
54
+ ```json
55
+ {
56
+ "extends": "@elizaos/config/typescript/tsconfig.plugin.json"
57
+ }
58
+ ```
59
+
60
+ ### ESLint Configuration
61
+
62
+ Create an `eslint.config.js` file:
63
+
64
+ ```javascript
65
+ import pluginConfig from '@elizaos/config/eslint/eslint.config.plugin.js';
66
+
67
+ export default [
68
+ ...pluginConfig,
69
+ {
70
+ // Your custom rules here
71
+ },
72
+ ];
73
+ ```
74
+
75
+ ### Prettier Configuration
76
+
77
+ Create a `prettier.config.js` file:
78
+
79
+ ```javascript
80
+ import prettierConfig from '@elizaos/config/prettier/prettier.config.js';
81
+
82
+ export default {
83
+ ...prettierConfig,
84
+ // Your custom overrides here
85
+ };
86
+ ```
87
+
88
+ Or reference it directly in `package.json`:
89
+
90
+ ```json
91
+ {
92
+ "prettier": "@elizaos/config/prettier/prettier.config.js"
93
+ }
94
+ ```
95
+
96
+ ## Exports
97
+
98
+ The package provides the following exports for direct import:
99
+
100
+ ```javascript
101
+ // TypeScript configs
102
+ import tsConfigBase from '@elizaos/config/typescript/tsconfig.base.json';
103
+ import tsConfigPlugin from '@elizaos/config/typescript/tsconfig.plugin.json';
104
+ import tsConfigFrontend from '@elizaos/config/typescript/tsconfig.frontend.json';
105
+ import tsConfigTest from '@elizaos/config/typescript/tsconfig.test.json';
106
+
107
+ // ESLint configs
108
+ import eslintConfigPlugin from '@elizaos/config/eslint/eslint.config.plugin.js';
109
+ import eslintConfigFrontend from '@elizaos/config/eslint/eslint.config.frontend.js';
110
+ import {
111
+ baseConfig,
112
+ testOverrides,
113
+ standardIgnores,
114
+ } from '@elizaos/config/eslint/eslint.config.base.js';
115
+
116
+ // Prettier config
117
+ import prettierConfig from '@elizaos/config/prettier/prettier.config.js';
118
+ ```
119
+
120
+ ## Configuration Paths
121
+
122
+ The package also exports configuration paths that can be used programmatically:
123
+
124
+ ```javascript
125
+ import { configPaths } from '@elizaos/config';
126
+
127
+ console.log(configPaths.typescript.base); // '@elizaos/configs/typescript/tsconfig.base.json'
128
+ console.log(configPaths.eslint.plugin); // '@elizaos/configs/eslint/eslint.config.plugin.js'
129
+ console.log(configPaths.prettier); // '@elizaos/configs/prettier/prettier.config.js'
130
+ ```
131
+
132
+ ## Development
133
+
134
+ This is a private package used internally by ElizaOS. To make changes:
135
+
136
+ 1. Clone the ElizaOS monorepo
137
+ 2. Make your changes in `packages/config/src/`
138
+ 3. Run `bun run format` to ensure formatting
139
+ 4. Submit a PR with your changes
140
+
141
+ ### Scripts
142
+
143
+ - `bun run lint` - Format code with Prettier
144
+ - `bun run format` - Format code with Prettier
145
+ - `bun run format:check` - Check code formatting
146
+
147
+ ## License
148
+
149
+ MIT
@@ -0,0 +1,860 @@
1
+ import * as _typescript_eslint_eslint_plugin_use_at_your_own_risk_rules from '@typescript-eslint/eslint-plugin/use-at-your-own-risk/rules';
2
+ import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
3
+ import * as _typescript_eslint_parser from '@typescript-eslint/parser';
4
+ import _typescript_eslint_parser__default from '@typescript-eslint/parser';
5
+ import * as eslint from 'eslint';
6
+
7
+ var $schema$3 = "https://json.schemastore.org/tsconfig";
8
+ var compilerOptions$3 = {
9
+ target: "ES2022",
10
+ lib: [
11
+ "ES2022"
12
+ ],
13
+ module: "ES2022",
14
+ moduleResolution: "bundler",
15
+ strict: true,
16
+ esModuleInterop: true,
17
+ allowSyntheticDefaultImports: true,
18
+ skipLibCheck: true,
19
+ forceConsistentCasingInFileNames: true,
20
+ allowImportingTsExtensions: true,
21
+ resolveJsonModule: true,
22
+ isolatedModules: true,
23
+ allowJs: true,
24
+ checkJs: false,
25
+ noEmitOnError: false,
26
+ moduleDetection: "force",
27
+ allowArbitraryExtensions: true,
28
+ types: [
29
+ "node"
30
+ ],
31
+ baseUrl: "../../../",
32
+ paths: {
33
+ "@elizaos/core": [
34
+ "packages/core/src"
35
+ ],
36
+ "@elizaos/core/*": [
37
+ "packages/core/src/*"
38
+ ],
39
+ "@elizaos/client": [
40
+ "packages/client/src"
41
+ ],
42
+ "@elizaos/client/*": [
43
+ "packages/client/src/*"
44
+ ],
45
+ "@elizaos/server": [
46
+ "packages/server/src"
47
+ ],
48
+ "@elizaos/server/*": [
49
+ "packages/server/src/*"
50
+ ],
51
+ "@elizaos/api-client": [
52
+ "packages/api-client/src"
53
+ ],
54
+ "@elizaos/api-client/*": [
55
+ "packages/api-client/src/*"
56
+ ],
57
+ "@elizaos/cli": [
58
+ "packages/cli/src"
59
+ ],
60
+ "@elizaos/cli/*": [
61
+ "packages/cli/src/*"
62
+ ],
63
+ "@elizaos/plugin-sql": [
64
+ "packages/plugin-sql/src"
65
+ ],
66
+ "@elizaos/plugin-sql/*": [
67
+ "packages/plugin-sql/src/*"
68
+ ],
69
+ "@elizaos/plugin-bootstrap": [
70
+ "packages/plugin-bootstrap/src"
71
+ ],
72
+ "@elizaos/plugin-bootstrap/*": [
73
+ "packages/plugin-bootstrap/src/*"
74
+ ],
75
+ "@elizaos/plugin-dummy-services": [
76
+ "packages/plugin-dummy-services/src"
77
+ ],
78
+ "@elizaos/plugin-dummy-services/*": [
79
+ "packages/plugin-dummy-services/src/*"
80
+ ],
81
+ "@elizaos/autodoc": [
82
+ "packages/autodoc/src"
83
+ ],
84
+ "@elizaos/autodoc/*": [
85
+ "packages/autodoc/src/*"
86
+ ],
87
+ "@elizaos/app": [
88
+ "packages/app/src"
89
+ ],
90
+ "@elizaos/app/*": [
91
+ "packages/app/src/*"
92
+ ],
93
+ "@elizaos/config": [
94
+ "packages/config/src"
95
+ ],
96
+ "@elizaos/config/*": [
97
+ "packages/config/src/*"
98
+ ]
99
+ }
100
+ };
101
+ var tsconfig_base = {
102
+ $schema: $schema$3,
103
+ compilerOptions: compilerOptions$3
104
+ };
105
+
106
+ var $schema$2 = "https://json.schemastore.org/tsconfig";
107
+ var compilerOptions$2 = {
108
+ outDir: "dist",
109
+ lib: [
110
+ "ESNext",
111
+ "DOM"
112
+ ],
113
+ emitDeclarationOnly: true,
114
+ declaration: true,
115
+ moduleResolution: "bundler",
116
+ types: [
117
+ "node",
118
+ "cypress",
119
+ "bun-types"
120
+ ],
121
+ jsx: "react",
122
+ allowImportingTsExtensions: true,
123
+ noEmitOnError: false,
124
+ allowArbitraryExtensions: true
125
+ };
126
+ var tsconfig_plugin = {
127
+ $schema: $schema$2,
128
+ "extends": "./tsconfig.base.json",
129
+ compilerOptions: compilerOptions$2
130
+ };
131
+
132
+ var $schema$1 = "https://json.schemastore.org/tsconfig";
133
+ var compilerOptions$1 = {
134
+ outDir: "dist",
135
+ lib: [
136
+ "ESNext",
137
+ "DOM",
138
+ "DOM.Iterable"
139
+ ],
140
+ jsx: "react-jsx",
141
+ declaration: true,
142
+ emitDeclarationOnly: true
143
+ };
144
+ var include$1 = [
145
+ "src/**/*.ts",
146
+ "src/**/*.tsx",
147
+ "src/__tests__/**/*.ts",
148
+ "__tests__/**/*.ts"
149
+ ];
150
+ var exclude = [
151
+ "node_modules",
152
+ "dist",
153
+ "src/**/*.test.ts",
154
+ "src/**/*.spec.ts",
155
+ "**/*.test.ts",
156
+ "**/*.spec.ts",
157
+ "**/*.test.tsx",
158
+ "**/*.spec.tsx"
159
+ ];
160
+ var tsconfig_frontend = {
161
+ $schema: $schema$1,
162
+ "extends": "./tsconfig.base.json",
163
+ compilerOptions: compilerOptions$1,
164
+ include: include$1,
165
+ exclude: exclude
166
+ };
167
+
168
+ var $schema = "https://json.schemastore.org/tsconfig";
169
+ var compilerOptions = {
170
+ outDir: "dist",
171
+ lib: [
172
+ "ESNext",
173
+ "DOM"
174
+ ],
175
+ noEmit: true,
176
+ types: [
177
+ "node",
178
+ "bun-types",
179
+ "@types/jest"
180
+ ]
181
+ };
182
+ var include = [
183
+ "src/**/*.ts",
184
+ "src/**/*.tsx",
185
+ "src/__tests__/**/*.ts",
186
+ "__tests__/**/*.ts",
187
+ "**/*.test.ts"
188
+ ];
189
+ var tsconfig_test = {
190
+ $schema: $schema,
191
+ "extends": "./tsconfig.base.json",
192
+ compilerOptions: compilerOptions,
193
+ include: include
194
+ };
195
+
196
+ declare const _default$2: ({
197
+ readonly rules: Readonly<eslint.Linter.RulesRecord>;
198
+ } | {
199
+ files: string[];
200
+ languageOptions: {
201
+ parser: typeof _typescript_eslint_parser;
202
+ parserOptions: {
203
+ ecmaVersion: number;
204
+ sourceType: string;
205
+ ecmaFeatures: {
206
+ jsx: boolean;
207
+ };
208
+ };
209
+ globals: {
210
+ console: string;
211
+ process: string;
212
+ Buffer: string;
213
+ __dirname: string;
214
+ __filename: string;
215
+ module: string;
216
+ require: string;
217
+ global: string;
218
+ globalThis: string;
219
+ exports: string;
220
+ setTimeout: string;
221
+ clearTimeout: string;
222
+ setInterval: string;
223
+ clearInterval: string;
224
+ setImmediate: string;
225
+ clearImmediate: string;
226
+ FormData: string;
227
+ File: string;
228
+ Blob: string;
229
+ URL: string;
230
+ URLSearchParams: string;
231
+ ArrayBuffer: string;
232
+ Uint8Array: string;
233
+ Float32Array: string;
234
+ fetch: string;
235
+ performance: string;
236
+ AbortController: string;
237
+ AbortSignal: string;
238
+ NodeJS: string;
239
+ btoa: string;
240
+ atob: string;
241
+ Bun: string;
242
+ Response: string;
243
+ BufferEncoding: string;
244
+ };
245
+ };
246
+ plugins: {
247
+ '@typescript-eslint': {
248
+ configs: Record<string, _typescript_eslint_utils_ts_eslint.ClassicConfig.Config>;
249
+ meta: _typescript_eslint_utils_ts_eslint.FlatConfig.PluginMeta;
250
+ rules: typeof _typescript_eslint_eslint_plugin_use_at_your_own_risk_rules;
251
+ };
252
+ };
253
+ rules: {
254
+ '@typescript-eslint/no-unused-vars': (string | {
255
+ argsIgnorePattern: string;
256
+ varsIgnorePattern: string;
257
+ caughtErrorsIgnorePattern: string;
258
+ })[];
259
+ '@typescript-eslint/no-explicit-any': string;
260
+ '@typescript-eslint/explicit-function-return-type': string;
261
+ '@typescript-eslint/explicit-module-boundary-types': string;
262
+ '@typescript-eslint/no-inferrable-types': string;
263
+ '@typescript-eslint/no-non-null-assertion': string;
264
+ '@typescript-eslint/ban-ts-comment': string;
265
+ 'no-unused-vars': string;
266
+ 'no-console': string;
267
+ 'no-debugger': string;
268
+ 'no-alert': string;
269
+ 'no-var': string;
270
+ 'prefer-const': string;
271
+ 'prefer-arrow-callback': string;
272
+ 'arrow-spacing': string;
273
+ 'object-shorthand': string;
274
+ 'prefer-template': string;
275
+ 'template-curly-spacing': string;
276
+ 'no-multiple-empty-lines': (string | {
277
+ max: number;
278
+ maxEOF: number;
279
+ })[];
280
+ 'eol-last': string;
281
+ 'comma-dangle': string[];
282
+ semi: string[];
283
+ quotes: (string | {
284
+ avoidEscape: boolean;
285
+ })[];
286
+ indent: (string | number | {
287
+ SwitchCase: number;
288
+ })[];
289
+ 'no-trailing-spaces': string;
290
+ 'keyword-spacing': string;
291
+ 'space-before-blocks': string;
292
+ 'object-curly-spacing': string[];
293
+ 'array-bracket-spacing': string[];
294
+ 'computed-property-spacing': string[];
295
+ 'space-in-parens': string[];
296
+ 'space-before-function-paren': (string | {
297
+ anonymous: string;
298
+ named: string;
299
+ asyncArrow: string;
300
+ })[];
301
+ eqeqeq: string[];
302
+ curly: string[];
303
+ 'no-eval': string;
304
+ 'no-implied-eval': string;
305
+ 'no-new-func': string;
306
+ 'no-return-assign': string;
307
+ 'no-self-compare': string;
308
+ 'no-sequences': string;
309
+ 'no-throw-literal': string;
310
+ 'no-unmodified-loop-condition': string;
311
+ 'no-unused-expressions': string;
312
+ 'no-useless-call': string;
313
+ 'no-useless-concat': string;
314
+ 'no-useless-return': string;
315
+ 'prefer-promise-reject-errors': string;
316
+ radix: string;
317
+ yoda: string;
318
+ 'no-duplicate-imports': string;
319
+ 'no-useless-catch': string;
320
+ 'no-fallthrough': string;
321
+ 'no-case-declarations': string;
322
+ 'no-control-regex': string;
323
+ 'no-useless-escape': string;
324
+ 'no-empty': string;
325
+ 'no-unreachable': string;
326
+ 'no-undef': string;
327
+ };
328
+ } | {
329
+ files: string[];
330
+ languageOptions: {
331
+ globals: {
332
+ describe: string;
333
+ it: string;
334
+ test: string;
335
+ expect: string;
336
+ beforeEach: string;
337
+ afterEach: string;
338
+ beforeAll: string;
339
+ afterAll: string;
340
+ jest: string;
341
+ vitest: string;
342
+ mock: string;
343
+ };
344
+ };
345
+ rules: {
346
+ '@typescript-eslint/no-explicit-any': string;
347
+ '@typescript-eslint/no-unused-vars': string;
348
+ '@typescript-eslint/no-non-null-assertion': string;
349
+ 'no-console': string;
350
+ 'no-undef': string;
351
+ 'no-duplicate-imports': string;
352
+ 'no-useless-catch': string;
353
+ 'no-fallthrough': string;
354
+ 'no-case-declarations': string;
355
+ 'no-control-regex': string;
356
+ 'no-useless-escape': string;
357
+ };
358
+ } | {
359
+ files: string[];
360
+ languageOptions: {
361
+ globals: {
362
+ window: string;
363
+ document: string;
364
+ HTMLElement: string;
365
+ HTMLInputElement: string;
366
+ HTMLButtonElement: string;
367
+ HTMLDivElement: string;
368
+ HTMLCanvasElement: string;
369
+ HTMLTextAreaElement: string;
370
+ HTMLSelectElement: string;
371
+ HTMLTableElement: string;
372
+ HTMLTableSectionElement: string;
373
+ HTMLTableRowElement: string;
374
+ HTMLTableCellElement: string;
375
+ HTMLTableCaptionElement: string;
376
+ Element: string;
377
+ Document: string;
378
+ PointerEvent: string;
379
+ MouseEvent: string;
380
+ KeyboardEvent: string;
381
+ Event: string;
382
+ EventTarget: string;
383
+ CanvasRenderingContext2D: string;
384
+ WebGLRenderingContext: string;
385
+ WebGL2RenderingContext: string;
386
+ SVGElement: string;
387
+ SVGSVGElement: string;
388
+ ScrollBehavior: string;
389
+ MutationObserver: string;
390
+ ResizeObserver: string;
391
+ IntersectionObserver: string;
392
+ ImageData: string;
393
+ DOMRect: string;
394
+ FileReader: string;
395
+ navigator: string;
396
+ requestAnimationFrame: string;
397
+ cancelAnimationFrame: string;
398
+ React: string;
399
+ };
400
+ };
401
+ rules: {
402
+ 'jsx-quotes': string[];
403
+ 'no-undef': string;
404
+ };
405
+ ignores?: undefined;
406
+ } | {
407
+ ignores: string[];
408
+ files?: undefined;
409
+ languageOptions?: undefined;
410
+ rules?: undefined;
411
+ })[];
412
+
413
+ declare const _default$1: ({
414
+ readonly rules: Readonly<eslint.Linter.RulesRecord>;
415
+ } | {
416
+ files: string[];
417
+ languageOptions: {
418
+ parser: typeof _typescript_eslint_parser;
419
+ parserOptions: {
420
+ ecmaVersion: number;
421
+ sourceType: string;
422
+ ecmaFeatures: {
423
+ jsx: boolean;
424
+ };
425
+ };
426
+ globals: {
427
+ console: string;
428
+ process: string;
429
+ Buffer: string;
430
+ __dirname: string;
431
+ __filename: string;
432
+ module: string;
433
+ require: string;
434
+ global: string;
435
+ globalThis: string;
436
+ exports: string;
437
+ setTimeout: string;
438
+ clearTimeout: string;
439
+ setInterval: string;
440
+ clearInterval: string;
441
+ setImmediate: string;
442
+ clearImmediate: string;
443
+ FormData: string;
444
+ File: string;
445
+ Blob: string;
446
+ URL: string;
447
+ URLSearchParams: string;
448
+ ArrayBuffer: string;
449
+ Uint8Array: string;
450
+ Float32Array: string;
451
+ fetch: string;
452
+ performance: string;
453
+ AbortController: string;
454
+ AbortSignal: string;
455
+ NodeJS: string;
456
+ btoa: string;
457
+ atob: string;
458
+ Bun: string;
459
+ Response: string;
460
+ BufferEncoding: string;
461
+ };
462
+ };
463
+ plugins: {
464
+ '@typescript-eslint': {
465
+ configs: Record<string, _typescript_eslint_utils_ts_eslint.ClassicConfig.Config>;
466
+ meta: _typescript_eslint_utils_ts_eslint.FlatConfig.PluginMeta;
467
+ rules: typeof _typescript_eslint_eslint_plugin_use_at_your_own_risk_rules;
468
+ };
469
+ };
470
+ rules: {
471
+ '@typescript-eslint/no-unused-vars': (string | {
472
+ argsIgnorePattern: string;
473
+ varsIgnorePattern: string;
474
+ caughtErrorsIgnorePattern: string;
475
+ })[];
476
+ '@typescript-eslint/no-explicit-any': string;
477
+ '@typescript-eslint/explicit-function-return-type': string;
478
+ '@typescript-eslint/explicit-module-boundary-types': string;
479
+ '@typescript-eslint/no-inferrable-types': string;
480
+ '@typescript-eslint/no-non-null-assertion': string;
481
+ '@typescript-eslint/ban-ts-comment': string;
482
+ 'no-unused-vars': string;
483
+ 'no-console': string;
484
+ 'no-debugger': string;
485
+ 'no-alert': string;
486
+ 'no-var': string;
487
+ 'prefer-const': string;
488
+ 'prefer-arrow-callback': string;
489
+ 'arrow-spacing': string;
490
+ 'object-shorthand': string;
491
+ 'prefer-template': string;
492
+ 'template-curly-spacing': string;
493
+ 'no-multiple-empty-lines': (string | {
494
+ max: number;
495
+ maxEOF: number;
496
+ })[];
497
+ 'eol-last': string;
498
+ 'comma-dangle': string[];
499
+ semi: string[];
500
+ quotes: (string | {
501
+ avoidEscape: boolean;
502
+ })[];
503
+ indent: (string | number | {
504
+ SwitchCase: number;
505
+ })[];
506
+ 'no-trailing-spaces': string;
507
+ 'keyword-spacing': string;
508
+ 'space-before-blocks': string;
509
+ 'object-curly-spacing': string[];
510
+ 'array-bracket-spacing': string[];
511
+ 'computed-property-spacing': string[];
512
+ 'space-in-parens': string[];
513
+ 'space-before-function-paren': (string | {
514
+ anonymous: string;
515
+ named: string;
516
+ asyncArrow: string;
517
+ })[];
518
+ eqeqeq: string[];
519
+ curly: string[];
520
+ 'no-eval': string;
521
+ 'no-implied-eval': string;
522
+ 'no-new-func': string;
523
+ 'no-return-assign': string;
524
+ 'no-self-compare': string;
525
+ 'no-sequences': string;
526
+ 'no-throw-literal': string;
527
+ 'no-unmodified-loop-condition': string;
528
+ 'no-unused-expressions': string;
529
+ 'no-useless-call': string;
530
+ 'no-useless-concat': string;
531
+ 'no-useless-return': string;
532
+ 'prefer-promise-reject-errors': string;
533
+ radix: string;
534
+ yoda: string;
535
+ 'no-duplicate-imports': string;
536
+ 'no-useless-catch': string;
537
+ 'no-fallthrough': string;
538
+ 'no-case-declarations': string;
539
+ 'no-control-regex': string;
540
+ 'no-useless-escape': string;
541
+ 'no-empty': string;
542
+ 'no-unreachable': string;
543
+ 'no-undef': string;
544
+ };
545
+ } | {
546
+ files: string[];
547
+ languageOptions: {
548
+ globals: {
549
+ describe: string;
550
+ it: string;
551
+ test: string;
552
+ expect: string;
553
+ beforeEach: string;
554
+ afterEach: string;
555
+ beforeAll: string;
556
+ afterAll: string;
557
+ jest: string;
558
+ vitest: string;
559
+ mock: string;
560
+ };
561
+ };
562
+ rules: {
563
+ '@typescript-eslint/no-explicit-any': string;
564
+ '@typescript-eslint/no-unused-vars': string;
565
+ '@typescript-eslint/no-non-null-assertion': string;
566
+ 'no-console': string;
567
+ 'no-undef': string;
568
+ 'no-duplicate-imports': string;
569
+ 'no-useless-catch': string;
570
+ 'no-fallthrough': string;
571
+ 'no-case-declarations': string;
572
+ 'no-control-regex': string;
573
+ 'no-useless-escape': string;
574
+ };
575
+ } | {
576
+ files: string[];
577
+ languageOptions: {
578
+ globals: {
579
+ window: string;
580
+ document: string;
581
+ HTMLElement: string;
582
+ HTMLInputElement: string;
583
+ HTMLButtonElement: string;
584
+ HTMLDivElement: string;
585
+ HTMLCanvasElement: string;
586
+ HTMLTextAreaElement: string;
587
+ HTMLSelectElement: string;
588
+ HTMLTableElement: string;
589
+ HTMLTableSectionElement: string;
590
+ HTMLTableRowElement: string;
591
+ HTMLTableCellElement: string;
592
+ HTMLTableCaptionElement: string;
593
+ Element: string;
594
+ Document: string;
595
+ PointerEvent: string;
596
+ MouseEvent: string;
597
+ KeyboardEvent: string;
598
+ Event: string;
599
+ EventTarget: string;
600
+ CanvasRenderingContext2D: string;
601
+ WebGLRenderingContext: string;
602
+ WebGL2RenderingContext: string;
603
+ SVGElement: string;
604
+ SVGSVGElement: string;
605
+ ScrollBehavior: string;
606
+ MutationObserver: string;
607
+ ResizeObserver: string;
608
+ IntersectionObserver: string;
609
+ ImageData: string;
610
+ DOMRect: string;
611
+ FileReader: string;
612
+ navigator: string;
613
+ requestAnimationFrame: string;
614
+ cancelAnimationFrame: string;
615
+ React: string;
616
+ };
617
+ };
618
+ rules: {
619
+ 'jsx-quotes': string[];
620
+ 'no-undef': string;
621
+ };
622
+ ignores?: undefined;
623
+ } | {
624
+ ignores: string[];
625
+ files?: undefined;
626
+ languageOptions?: undefined;
627
+ rules?: undefined;
628
+ })[];
629
+
630
+ /**
631
+ * Base ESLint configuration for ElizaOS packages
632
+ * Provides consistent code quality across all packages
633
+ */
634
+ declare const baseConfig: ({
635
+ readonly rules: Readonly<eslint.Linter.RulesRecord>;
636
+ } | {
637
+ files: string[];
638
+ languageOptions: {
639
+ parser: typeof _typescript_eslint_parser__default;
640
+ parserOptions: {
641
+ ecmaVersion: number;
642
+ sourceType: string;
643
+ ecmaFeatures: {
644
+ jsx: boolean;
645
+ };
646
+ };
647
+ globals: {
648
+ console: string;
649
+ process: string;
650
+ Buffer: string;
651
+ __dirname: string;
652
+ __filename: string;
653
+ module: string;
654
+ require: string;
655
+ global: string;
656
+ globalThis: string;
657
+ exports: string;
658
+ setTimeout: string;
659
+ clearTimeout: string;
660
+ setInterval: string;
661
+ clearInterval: string;
662
+ setImmediate: string;
663
+ clearImmediate: string;
664
+ FormData: string;
665
+ File: string;
666
+ Blob: string;
667
+ URL: string;
668
+ URLSearchParams: string;
669
+ ArrayBuffer: string;
670
+ Uint8Array: string;
671
+ Float32Array: string;
672
+ fetch: string;
673
+ performance: string;
674
+ AbortController: string;
675
+ AbortSignal: string;
676
+ NodeJS: string;
677
+ btoa: string;
678
+ atob: string;
679
+ Bun: string;
680
+ Response: string;
681
+ BufferEncoding: string;
682
+ };
683
+ };
684
+ plugins: {
685
+ '@typescript-eslint': {
686
+ configs: Record<string, _typescript_eslint_utils_ts_eslint.ClassicConfig.Config>;
687
+ meta: _typescript_eslint_utils_ts_eslint.FlatConfig.PluginMeta;
688
+ rules: typeof _typescript_eslint_eslint_plugin_use_at_your_own_risk_rules;
689
+ };
690
+ };
691
+ rules: {
692
+ '@typescript-eslint/no-unused-vars': (string | {
693
+ argsIgnorePattern: string;
694
+ varsIgnorePattern: string;
695
+ caughtErrorsIgnorePattern: string;
696
+ })[];
697
+ '@typescript-eslint/no-explicit-any': string;
698
+ '@typescript-eslint/explicit-function-return-type': string;
699
+ '@typescript-eslint/explicit-module-boundary-types': string;
700
+ '@typescript-eslint/no-inferrable-types': string;
701
+ '@typescript-eslint/no-non-null-assertion': string;
702
+ '@typescript-eslint/ban-ts-comment': string;
703
+ 'no-unused-vars': string;
704
+ 'no-console': string;
705
+ 'no-debugger': string;
706
+ 'no-alert': string;
707
+ 'no-var': string;
708
+ 'prefer-const': string;
709
+ 'prefer-arrow-callback': string;
710
+ 'arrow-spacing': string;
711
+ 'object-shorthand': string;
712
+ 'prefer-template': string;
713
+ 'template-curly-spacing': string;
714
+ 'no-multiple-empty-lines': (string | {
715
+ max: number;
716
+ maxEOF: number;
717
+ })[];
718
+ 'eol-last': string;
719
+ 'comma-dangle': string[];
720
+ semi: string[];
721
+ quotes: (string | {
722
+ avoidEscape: boolean;
723
+ })[];
724
+ indent: (string | number | {
725
+ SwitchCase: number;
726
+ })[];
727
+ 'no-trailing-spaces': string;
728
+ 'keyword-spacing': string;
729
+ 'space-before-blocks': string;
730
+ 'object-curly-spacing': string[];
731
+ 'array-bracket-spacing': string[];
732
+ 'computed-property-spacing': string[];
733
+ 'space-in-parens': string[];
734
+ 'space-before-function-paren': (string | {
735
+ anonymous: string;
736
+ named: string;
737
+ asyncArrow: string;
738
+ })[];
739
+ eqeqeq: string[];
740
+ curly: string[];
741
+ 'no-eval': string;
742
+ 'no-implied-eval': string;
743
+ 'no-new-func': string;
744
+ 'no-return-assign': string;
745
+ 'no-self-compare': string;
746
+ 'no-sequences': string;
747
+ 'no-throw-literal': string;
748
+ 'no-unmodified-loop-condition': string;
749
+ 'no-unused-expressions': string;
750
+ 'no-useless-call': string;
751
+ 'no-useless-concat': string;
752
+ 'no-useless-return': string;
753
+ 'prefer-promise-reject-errors': string;
754
+ radix: string;
755
+ yoda: string;
756
+ 'no-duplicate-imports': string;
757
+ 'no-useless-catch': string;
758
+ 'no-fallthrough': string;
759
+ 'no-case-declarations': string;
760
+ 'no-control-regex': string;
761
+ 'no-useless-escape': string;
762
+ 'no-empty': string;
763
+ 'no-unreachable': string;
764
+ 'no-undef': string;
765
+ };
766
+ })[];
767
+ declare namespace testOverrides {
768
+ let files: string[];
769
+ namespace languageOptions {
770
+ namespace globals {
771
+ let describe: string;
772
+ let it: string;
773
+ let test: string;
774
+ let expect: string;
775
+ let beforeEach: string;
776
+ let afterEach: string;
777
+ let beforeAll: string;
778
+ let afterAll: string;
779
+ let jest: string;
780
+ let vitest: string;
781
+ let mock: string;
782
+ }
783
+ }
784
+ let rules: {
785
+ '@typescript-eslint/no-explicit-any': string;
786
+ '@typescript-eslint/no-unused-vars': string;
787
+ '@typescript-eslint/no-non-null-assertion': string;
788
+ 'no-console': string;
789
+ 'no-undef': string;
790
+ 'no-duplicate-imports': string;
791
+ 'no-useless-catch': string;
792
+ 'no-fallthrough': string;
793
+ 'no-case-declarations': string;
794
+ 'no-control-regex': string;
795
+ 'no-useless-escape': string;
796
+ };
797
+ }
798
+ declare const standardIgnores: string[];
799
+
800
+ declare namespace _default {
801
+ let printWidth: number;
802
+ let tabWidth: number;
803
+ let useTabs: boolean;
804
+ let semi: boolean;
805
+ let singleQuote: boolean;
806
+ let quoteProps: string;
807
+ let jsxSingleQuote: boolean;
808
+ let trailingComma: string;
809
+ let bracketSpacing: boolean;
810
+ let bracketSameLine: boolean;
811
+ let arrowParens: string;
812
+ let proseWrap: string;
813
+ let htmlWhitespaceSensitivity: string;
814
+ let vueIndentScriptAndStyle: boolean;
815
+ let endOfLine: string;
816
+ let embeddedLanguageFormatting: string;
817
+ let overrides: ({
818
+ files: string;
819
+ options: {
820
+ printWidth: number;
821
+ proseWrap?: undefined;
822
+ tabWidth?: undefined;
823
+ };
824
+ } | {
825
+ files: string;
826
+ options: {
827
+ printWidth: number;
828
+ proseWrap: string;
829
+ tabWidth?: undefined;
830
+ };
831
+ } | {
832
+ files: string;
833
+ options: {
834
+ tabWidth: number;
835
+ printWidth?: undefined;
836
+ proseWrap?: undefined;
837
+ };
838
+ })[];
839
+ }
840
+
841
+ /**
842
+ * Standard configuration exports for ElizaOS packages
843
+ * Provides centralized access to all base configurations
844
+ */
845
+
846
+ declare const configPaths: {
847
+ typescript: {
848
+ base: string;
849
+ plugin: string;
850
+ frontend: string;
851
+ test: string;
852
+ };
853
+ eslint: {
854
+ plugin: string;
855
+ frontend: string;
856
+ };
857
+ prettier: string;
858
+ };
859
+
860
+ export { configPaths, baseConfig as eslintBaseConfig, _default$1 as eslintConfigFrontend, _default$2 as eslintConfigPlugin, _default as prettierConfig, standardIgnores, testOverrides, tsconfig_base as tsConfigBase, tsconfig_frontend as tsConfigFrontend, tsconfig_plugin as tsConfigPlugin, tsconfig_test as tsConfigTest };
package/dist/index.js ADDED
@@ -0,0 +1,38 @@
1
+ import { default as default2 } from "./typescript/tsconfig.base.json";
2
+ import { default as default3 } from "./typescript/tsconfig.plugin.json";
3
+ import { default as default4 } from "./typescript/tsconfig.frontend.json";
4
+ import { default as default5 } from "./typescript/tsconfig.test.json";
5
+ import { default as default6 } from "./eslint/eslint.config.plugin.js";
6
+ import { default as default7 } from "./eslint/eslint.config.frontend.js";
7
+ import {
8
+ baseConfig,
9
+ testOverrides,
10
+ standardIgnores
11
+ } from "./eslint/eslint.config.base.js";
12
+ import { default as default8 } from "./prettier/prettier.config.js";
13
+ const configPaths = {
14
+ typescript: {
15
+ base: "@elizaos/config/typescript/tsconfig.base.json",
16
+ plugin: "@elizaos/config/typescript/tsconfig.plugin.json",
17
+ frontend: "@elizaos/config/typescript/tsconfig.frontend.json",
18
+ test: "@elizaos/config/typescript/tsconfig.test.json"
19
+ },
20
+ eslint: {
21
+ plugin: "@elizaos/config/eslint/eslint.config.plugin.js",
22
+ frontend: "@elizaos/config/eslint/eslint.config.frontend.js"
23
+ },
24
+ prettier: "@elizaos/config/prettier/prettier.config.js"
25
+ };
26
+ export {
27
+ configPaths,
28
+ baseConfig as eslintBaseConfig,
29
+ default7 as eslintConfigFrontend,
30
+ default6 as eslintConfigPlugin,
31
+ default8 as prettierConfig,
32
+ standardIgnores,
33
+ testOverrides,
34
+ default2 as tsConfigBase,
35
+ default4 as tsConfigFrontend,
36
+ default3 as tsConfigPlugin,
37
+ default5 as tsConfigTest
38
+ };
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@elizaos/config",
3
+ "description": "Shared configuration for ElizaOS projects and plugins",
4
+ "version": "1.2.1",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "packageType": "plugin",
10
+ "platform": "node",
11
+ "license": "MIT",
12
+ "author": "elizaOS",
13
+ "keywords": [
14
+ "plugin",
15
+ "elizaos"
16
+ ],
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/elizaos/eliza.git",
20
+ "directory": "packages/config"
21
+ },
22
+ "homepage": "https://eliza.how",
23
+ "bugs": {
24
+ "url": "https://github.com/elizaos/eliza/issues"
25
+ },
26
+ "exports": {
27
+ "./eslint/eslint.config.plugin.js": "./src/eslint/eslint.config.plugin.js",
28
+ "./eslint/eslint.config.base.js": "./src/eslint/eslint.config.base.js",
29
+ "./eslint/eslint.config.frontend.js": "./src/eslint/eslint.config.frontend.js",
30
+ "./prettier/prettier.config.js": "./src/prettier/prettier.config.js",
31
+ "./typescript/tsconfig.base.json": "./src/typescript/tsconfig.base.json",
32
+ "./typescript/tsconfig.plugin.json": "./src/typescript/tsconfig.plugin.json",
33
+ "./typescript/tsconfig.frontend.json": "./src/typescript/tsconfig.frontend.json",
34
+ "./typescript/tsconfig.test.json": "./src/typescript/tsconfig.test.json"
35
+ },
36
+ "files": [
37
+ "dist"
38
+ ],
39
+ "devDependencies": {
40
+ "prettier": "^3.5.3",
41
+ "typescript": "^5.8.2"
42
+ },
43
+ "scripts": {
44
+ "build": "tsup",
45
+ "lint": "prettier --write ./src",
46
+ "format": "prettier --write ./src",
47
+ "format:check": "prettier --check ./src"
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "gitHead": "227798477b53ad38b01f147ac1a649a5d1c810a3"
53
+ }