@eui/mcp 1.4.0 → 1.5.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/README.md +4 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +8 -8
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +16 -16
- package/dist/index.js +17 -35
- package/dist/index.js.map +1 -1
- package/dist/loader/__tests__/http-client.property.test.js +2 -2
- package/dist/loader/__tests__/http-client.property.test.js.map +1 -1
- package/dist/loader/__tests__/http-client.test.js +1 -1
- package/dist/loader/__tests__/http-client.test.js.map +1 -1
- package/dist/loader/documentation-loader.d.ts.map +1 -1
- package/dist/loader/documentation-loader.js +5 -1
- package/dist/loader/documentation-loader.js.map +1 -1
- package/dist/loader/local-documentation-source.d.ts.map +1 -1
- package/dist/loader/local-documentation-source.js +10 -8
- package/dist/loader/local-documentation-source.js.map +1 -1
- package/dist/loader/remote-documentation-source.d.ts.map +1 -1
- package/dist/loader/remote-documentation-source.js +8 -7
- package/dist/loader/remote-documentation-source.js.map +1 -1
- package/dist/main.d.ts +0 -1
- package/dist/main.js +4 -4
- package/dist/main.js.map +1 -1
- package/dist/mcp/__tests__/server.test.js +1 -1
- package/dist/mcp/__tests__/server.test.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +7 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/query/result-formatter.d.ts.map +1 -1
- package/dist/query/result-formatter.js +13 -11
- package/dist/query/result-formatter.js.map +1 -1
- package/dist/tools/get-eui-cli-guide.d.ts +33 -0
- package/dist/tools/get-eui-cli-guide.d.ts.map +1 -0
- package/dist/tools/get-eui-cli-guide.js +160 -0
- package/dist/tools/get-eui-cli-guide.js.map +1 -0
- package/dist/tools/get-eui-cli-instructions.d.ts +33 -0
- package/dist/tools/get-eui-cli-instructions.d.ts.map +1 -0
- package/dist/tools/get-eui-cli-instructions.js +375 -0
- package/dist/tools/get-eui-cli-instructions.js.map +1 -0
- package/dist/tools/get-library-version.d.ts +1 -0
- package/dist/tools/get-library-version.d.ts.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/utils/__tests__/integration.test.js +7 -13
- package/dist/utils/__tests__/integration.test.js.map +1 -1
- package/dist/utils/__tests__/logger.test.js +29 -58
- package/dist/utils/__tests__/logger.test.js.map +1 -1
- package/dist/utils/credential-masking.d.ts.map +1 -1
- package/dist/utils/credential-masking.js +1 -2
- package/dist/utils/credential-masking.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +2 -54
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +20 -115
- package/dist/utils/logger.js.map +1 -1
- package/dist/version/__tests__/dry-run-utils.test.js +17 -27
- package/dist/version/__tests__/dry-run-utils.test.js.map +1 -1
- package/dist/version/changelog-utils.d.ts.map +1 -1
- package/dist/version/changelog-utils.js +5 -3
- package/dist/version/changelog-utils.js.map +1 -1
- package/dist/version/dry-run-utils.d.ts +3 -3
- package/dist/version/dry-run-utils.d.ts.map +1 -1
- package/dist/version/dry-run-utils.js +17 -15
- package/dist/version/dry-run-utils.js.map +1 -1
- package/dist/version/release-utils.js +1 -1
- package/dist/version/release-utils.js.map +1 -1
- package/package.json +7 -5
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* get-eui-cli-instructions tool handler
|
|
3
|
+
* Returns complete EUI CLI instructions and options
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* GetEuiCliInstructionsTool class
|
|
7
|
+
* Returns complete instructions for EUI CLI usage
|
|
8
|
+
*/
|
|
9
|
+
export class GetEuiCliInstructionsTool {
|
|
10
|
+
/**
|
|
11
|
+
* Execute the get-eui-cli-instructions tool
|
|
12
|
+
*/
|
|
13
|
+
execute(_params = {}) {
|
|
14
|
+
return Promise.resolve({
|
|
15
|
+
content: INSTRUCTIONS_CONTENT,
|
|
16
|
+
format: 'markdown',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the tool definition for MCP registration
|
|
21
|
+
*/
|
|
22
|
+
static getToolDefinition() {
|
|
23
|
+
return {
|
|
24
|
+
name: 'get-eui-cli-instructions',
|
|
25
|
+
description: 'Returns complete EUI CLI instructions including all commands, options, headless mode configuration, ' +
|
|
26
|
+
'CI/CD usage, and best practices for automated scaffolding and building.',
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const INSTRUCTIONS_CONTENT = `# eUI CLI - Complete Options Report
|
|
35
|
+
|
|
36
|
+
## Overview
|
|
37
|
+
|
|
38
|
+
The @eui/cli is a command-line tool for scaffolding and managing eUI Angular applications. It supports both interactive and headless (automated) modes for CI/CD pipelines and scripting.
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
\`\`\`bash
|
|
43
|
+
npm install -g @eui/cli@latest
|
|
44
|
+
\`\`\`
|
|
45
|
+
|
|
46
|
+
## Available Commands
|
|
47
|
+
|
|
48
|
+
### 1. new (default command)
|
|
49
|
+
|
|
50
|
+
Generates a new eUI application with interactive prompts or automated configuration.
|
|
51
|
+
|
|
52
|
+
**Usage:**
|
|
53
|
+
|
|
54
|
+
\`\`\`bash
|
|
55
|
+
eui-cli new [options]
|
|
56
|
+
eui-cli [options] # 'new' is default
|
|
57
|
+
\`\`\`
|
|
58
|
+
|
|
59
|
+
**Interactive Options:**
|
|
60
|
+
|
|
61
|
+
**Application Type:**
|
|
62
|
+
- \`angular\` - eUI Angular Desktop
|
|
63
|
+
- \`mobile\` - eUI Angular Mobile (Ionic)
|
|
64
|
+
- \`web-spring-boot\` - eUI Angular + Spring Boot (requires JDK + Maven)
|
|
65
|
+
- \`web-maven\` - eUI Angular + Maven web module (requires JDK + Maven)
|
|
66
|
+
|
|
67
|
+
**Additional Configuration:**
|
|
68
|
+
- \`ecl\` - ECL app-shell template for ec.europa.eu apps
|
|
69
|
+
- ECL Theme: \`ecl-ec\` or \`ecl-eu\`
|
|
70
|
+
|
|
71
|
+
**Package Manager:**
|
|
72
|
+
- \`yarn\` (default)
|
|
73
|
+
- \`pnpm\` (experimental)
|
|
74
|
+
|
|
75
|
+
**Maven Options (for web-spring-boot):**
|
|
76
|
+
- \`groupId\` - Default: ec.europa.digit
|
|
77
|
+
- \`artifactId\` - Default: myapp
|
|
78
|
+
|
|
79
|
+
### 2. build-app
|
|
80
|
+
|
|
81
|
+
Builds the Angular application with linting, testing, and compilation.
|
|
82
|
+
|
|
83
|
+
**Usage:**
|
|
84
|
+
|
|
85
|
+
\`\`\`bash
|
|
86
|
+
eui-cli build-app [options]
|
|
87
|
+
\`\`\`
|
|
88
|
+
|
|
89
|
+
**Options:**
|
|
90
|
+
|
|
91
|
+
| Option | Type | Description |
|
|
92
|
+
|--------|------|-------------|
|
|
93
|
+
| \`--skipLint\` | boolean | Skip linting phase |
|
|
94
|
+
| \`--skipTest\` | boolean | Skip unit testing phase |
|
|
95
|
+
| \`--skipCompile\` | boolean | Skip compilation phase |
|
|
96
|
+
| \`--configuration\` | string | Build configuration (e.g., production, development) |
|
|
97
|
+
| \`--baseHref\` | string | Base URL for the application |
|
|
98
|
+
| \`--servePath\` | string | Path where files are served |
|
|
99
|
+
| \`--deployUrl\` | string | URL where files will be deployed |
|
|
100
|
+
| \`--watch\` | boolean | Enable watch mode for tests |
|
|
101
|
+
| \`--dryRun\` | boolean | Run without executing build |
|
|
102
|
+
| \`--maxSpaceSize\` | boolean | Increase Node memory (8096MB) |
|
|
103
|
+
| \`--statsJson\` | boolean | Generate stats.json for bundle analysis |
|
|
104
|
+
| \`--ci\` | boolean | CI mode (disables progress output) |
|
|
105
|
+
| \`--sourceMap\` | boolean | Generate source maps |
|
|
106
|
+
| \`--configEnvTarget\` | string | Inject environment-specific config |
|
|
107
|
+
| \`--project\` | string | Project name (default: 'app') |
|
|
108
|
+
|
|
109
|
+
**Example:**
|
|
110
|
+
|
|
111
|
+
\`\`\`bash
|
|
112
|
+
eui-cli build-app --configuration=production --baseHref=/myapp/ --skipTest
|
|
113
|
+
\`\`\`
|
|
114
|
+
|
|
115
|
+
### 3. serve-app
|
|
116
|
+
|
|
117
|
+
Serves the Angular application locally with development server.
|
|
118
|
+
|
|
119
|
+
**Usage:**
|
|
120
|
+
|
|
121
|
+
\`\`\`bash
|
|
122
|
+
eui-cli serve-app [options]
|
|
123
|
+
\`\`\`
|
|
124
|
+
|
|
125
|
+
**Options:**
|
|
126
|
+
|
|
127
|
+
| Option | Type | Description |
|
|
128
|
+
|--------|------|-------------|
|
|
129
|
+
| \`--configuration\` | string | Serve configuration |
|
|
130
|
+
| \`--baseHref\` | string | Base URL for the application |
|
|
131
|
+
| \`--servePath\` | string | Path where files are served |
|
|
132
|
+
| \`--host\` | string | Host to listen on (default: localhost) |
|
|
133
|
+
| \`--port\` | number | Port to listen on (default: 4200) |
|
|
134
|
+
| \`--proxyConfig\` | string | Proxy configuration file |
|
|
135
|
+
| \`--disableHostCheck\` | boolean | Disable host check |
|
|
136
|
+
| \`--open\` | string | Open browser (default: true, use 'false' to disable) |
|
|
137
|
+
| \`--maxSpaceSize\` | boolean | Increase Node memory (8192MB) |
|
|
138
|
+
| \`--noLiveReload\` | boolean | Disable live reload |
|
|
139
|
+
| \`--configEnvTarget\` | string | Inject environment-specific config |
|
|
140
|
+
| \`--project\` | string | Project name (default: 'app') |
|
|
141
|
+
| \`--debug\` | boolean | Enable debug logging |
|
|
142
|
+
|
|
143
|
+
**Example:**
|
|
144
|
+
|
|
145
|
+
\`\`\`bash
|
|
146
|
+
eui-cli serve-app --port=4300 --host=0.0.0.0 --proxyConfig=proxy.conf.json
|
|
147
|
+
\`\`\`
|
|
148
|
+
|
|
149
|
+
### 4. lint-app
|
|
150
|
+
|
|
151
|
+
Runs linting on the application.
|
|
152
|
+
|
|
153
|
+
**Usage:**
|
|
154
|
+
|
|
155
|
+
\`\`\`bash
|
|
156
|
+
eui-cli lint-app
|
|
157
|
+
\`\`\`
|
|
158
|
+
|
|
159
|
+
### 5. inject-config-app
|
|
160
|
+
|
|
161
|
+
Injects environment-specific configuration into the application.
|
|
162
|
+
|
|
163
|
+
**Usage:**
|
|
164
|
+
|
|
165
|
+
\`\`\`bash
|
|
166
|
+
eui-cli inject-config-app --configEnvTarget=<env>
|
|
167
|
+
\`\`\`
|
|
168
|
+
|
|
169
|
+
**Options:**
|
|
170
|
+
|
|
171
|
+
| Option | Type | Description |
|
|
172
|
+
|--------|------|-------------|
|
|
173
|
+
| \`--configEnvTarget\` | string | Target environment (dev, tst, acc, prd) |
|
|
174
|
+
|
|
175
|
+
**How it works:**
|
|
176
|
+
- Copies \`src/assets/config/env-json-config-<env>.json\` to \`src/assets/env-json-config.json\`
|
|
177
|
+
- Used for environment-specific OpenID/configuration injection
|
|
178
|
+
|
|
179
|
+
**Example:**
|
|
180
|
+
|
|
181
|
+
\`\`\`bash
|
|
182
|
+
eui-cli inject-config-app --configEnvTarget=production
|
|
183
|
+
\`\`\`
|
|
184
|
+
|
|
185
|
+
### 6. generate-sprite
|
|
186
|
+
|
|
187
|
+
Generates SVG sprite from individual SVG files.
|
|
188
|
+
|
|
189
|
+
**Usage:**
|
|
190
|
+
|
|
191
|
+
\`\`\`bash
|
|
192
|
+
eui-cli generate-sprite --inFolder=<path> --outFile=<filename.svg>
|
|
193
|
+
\`\`\`
|
|
194
|
+
|
|
195
|
+
**Options:**
|
|
196
|
+
|
|
197
|
+
| Option | Type | Description |
|
|
198
|
+
|--------|------|-------------|
|
|
199
|
+
| \`--inFolder\` | string | Input folder containing SVG files (required) |
|
|
200
|
+
| \`--outFile\` | string | Output sprite filename (required, must end with .svg) |
|
|
201
|
+
|
|
202
|
+
**Features:**
|
|
203
|
+
- Optimizes SVG files using imagemin-svgo
|
|
204
|
+
- Generates sprite file and JSON list of icons
|
|
205
|
+
- Cleans up IDs, removes styles and titles
|
|
206
|
+
|
|
207
|
+
**Example:**
|
|
208
|
+
|
|
209
|
+
\`\`\`bash
|
|
210
|
+
eui-cli generate-sprite --inFolder=src/assets/icons --outFile=sprite.svg
|
|
211
|
+
\`\`\`
|
|
212
|
+
|
|
213
|
+
## Headless Mode (Automated/CI Usage)
|
|
214
|
+
|
|
215
|
+
### Using --config Parameter
|
|
216
|
+
|
|
217
|
+
The CLI supports headless operation via the \`--config\` parameter for automated scaffolding without interactive prompts.
|
|
218
|
+
|
|
219
|
+
**Syntax:**
|
|
220
|
+
|
|
221
|
+
\`\`\`bash
|
|
222
|
+
eui-cli --config <key1>:<value1>,<key2>:<value2> --targetPath <path>
|
|
223
|
+
\`\`\`
|
|
224
|
+
|
|
225
|
+
### Configuration Options
|
|
226
|
+
|
|
227
|
+
| Key | Type | Values | Description |
|
|
228
|
+
|-----|------|--------|-------------|
|
|
229
|
+
| \`appType\` | string | angular, mobile, web-maven, web-spring-boot | Application type |
|
|
230
|
+
| \`appName\` | string | any | Application name (default: 'my-app') |
|
|
231
|
+
| \`appScope\` | string | any | NPM scope (default: '@app') |
|
|
232
|
+
| \`appOptions\` | array | ecl | Additional options (use underscore for multiple: ecl_option2) |
|
|
233
|
+
| \`appOptionsEclTheme\` | string | ecl-ec, ecl-eu | ECL theme flavor |
|
|
234
|
+
| \`groupId\` | string | any | Maven groupId (default: 'ec.europa.digit') |
|
|
235
|
+
| \`artifactId\` | string | any | Maven artifactId (default: 'myapp') |
|
|
236
|
+
| \`packageManager\` | string | yarn, pnpm | Package manager |
|
|
237
|
+
| \`npmInstall\` | boolean | true, false | Install dependencies |
|
|
238
|
+
| \`appStart\` | boolean | true, false | Start app after generation |
|
|
239
|
+
|
|
240
|
+
### Headless Examples
|
|
241
|
+
|
|
242
|
+
**1. Basic Angular App (no installation):**
|
|
243
|
+
|
|
244
|
+
\`\`\`bash
|
|
245
|
+
eui-cli --config appType:angular,npmInstall:false --targetPath my-angular-app
|
|
246
|
+
\`\`\`
|
|
247
|
+
|
|
248
|
+
**2. Angular App with ECL EC Theme:**
|
|
249
|
+
|
|
250
|
+
\`\`\`bash
|
|
251
|
+
eui-cli --config appType:angular,appOptions:ecl,appOptionsEclTheme:ecl-ec,npmInstall:true,packageManager:yarn --targetPath my-ecl-app
|
|
252
|
+
\`\`\`
|
|
253
|
+
|
|
254
|
+
**3. Mobile Ionic App:**
|
|
255
|
+
|
|
256
|
+
\`\`\`bash
|
|
257
|
+
eui-cli --config appType:mobile,npmInstall:true --targetPath my-mobile-app
|
|
258
|
+
\`\`\`
|
|
259
|
+
|
|
260
|
+
**4. Spring Boot Web App:**
|
|
261
|
+
|
|
262
|
+
\`\`\`bash
|
|
263
|
+
eui-cli --config appType:web-spring-boot,groupId:com.mycompany,artifactId:myproject,npmInstall:false --targetPath my-spring-app
|
|
264
|
+
\`\`\`
|
|
265
|
+
|
|
266
|
+
**5. CI/CD Pipeline Example:**
|
|
267
|
+
|
|
268
|
+
\`\`\`bash
|
|
269
|
+
# Generate app without installation
|
|
270
|
+
eui-cli --config appType:angular,appOptions:ecl,npmInstall:false --targetPath ./build/app
|
|
271
|
+
|
|
272
|
+
# Build for production
|
|
273
|
+
cd ./build/app
|
|
274
|
+
eui-cli build-app --configuration=production --ci --skipTest --baseHref=/app/
|
|
275
|
+
\`\`\`
|
|
276
|
+
|
|
277
|
+
## Environment Variables
|
|
278
|
+
|
|
279
|
+
### _CSDR_ARGS
|
|
280
|
+
|
|
281
|
+
Alternative method for passing arguments (used in CSDR pipelines).
|
|
282
|
+
|
|
283
|
+
**Format:**
|
|
284
|
+
|
|
285
|
+
\`\`\`bash
|
|
286
|
+
export _CSDR_ARGS="key1:value1,key2:value2"
|
|
287
|
+
eui-cli
|
|
288
|
+
\`\`\`
|
|
289
|
+
|
|
290
|
+
**Array Format:**
|
|
291
|
+
|
|
292
|
+
\`\`\`bash
|
|
293
|
+
export _CSDR_ARGS="itemsArray:key1=value1|key2=value2"
|
|
294
|
+
\`\`\`
|
|
295
|
+
|
|
296
|
+
## Advanced Usage
|
|
297
|
+
|
|
298
|
+
### Version Check
|
|
299
|
+
|
|
300
|
+
\`\`\`bash
|
|
301
|
+
eui-cli -v
|
|
302
|
+
eui-cli --version
|
|
303
|
+
\`\`\`
|
|
304
|
+
|
|
305
|
+
### Debug Mode
|
|
306
|
+
|
|
307
|
+
Enable verbose logging for troubleshooting:
|
|
308
|
+
|
|
309
|
+
\`\`\`bash
|
|
310
|
+
eui-cli serve-app --debug
|
|
311
|
+
eui-cli build-app --debug
|
|
312
|
+
\`\`\`
|
|
313
|
+
|
|
314
|
+
### CI/CD Build Pipeline
|
|
315
|
+
|
|
316
|
+
\`\`\`bash
|
|
317
|
+
# 1. Inject environment config
|
|
318
|
+
eui-cli inject-config-app --configEnvTarget=production
|
|
319
|
+
|
|
320
|
+
# 2. Build with optimizations
|
|
321
|
+
eui-cli build-app \\
|
|
322
|
+
--configuration=production \\
|
|
323
|
+
--baseHref=/myapp/ \\
|
|
324
|
+
--deployUrl=https://cdn.example.com/ \\
|
|
325
|
+
--ci \\
|
|
326
|
+
--statsJson \\
|
|
327
|
+
--skipTest
|
|
328
|
+
|
|
329
|
+
# 3. Output in dist/ folder
|
|
330
|
+
\`\`\`
|
|
331
|
+
|
|
332
|
+
### Memory-Intensive Builds
|
|
333
|
+
|
|
334
|
+
\`\`\`bash
|
|
335
|
+
eui-cli build-app --maxSpaceSize --configuration=production
|
|
336
|
+
eui-cli serve-app --maxSpaceSize
|
|
337
|
+
\`\`\`
|
|
338
|
+
|
|
339
|
+
## Default Configuration Values
|
|
340
|
+
|
|
341
|
+
\`\`\`javascript
|
|
342
|
+
{
|
|
343
|
+
appName: 'my-app',
|
|
344
|
+
appScope: '@app',
|
|
345
|
+
appType: 'angular',
|
|
346
|
+
appOptions: [],
|
|
347
|
+
appOptionsEclTheme: 'ecl-ec',
|
|
348
|
+
appFeatures: [],
|
|
349
|
+
groupId: 'ec.europa.digit',
|
|
350
|
+
artifactId: 'myapp',
|
|
351
|
+
packageManager: 'yarn',
|
|
352
|
+
npmInstall: true,
|
|
353
|
+
appStart: true
|
|
354
|
+
}
|
|
355
|
+
\`\`\`
|
|
356
|
+
|
|
357
|
+
## Exit Codes
|
|
358
|
+
|
|
359
|
+
- \`0\` - Success
|
|
360
|
+
- \`1\` - Error (build failure, missing arguments, etc.)
|
|
361
|
+
|
|
362
|
+
## Best Practices
|
|
363
|
+
|
|
364
|
+
1. **Headless Generation**: Always use \`--config\` with \`npmInstall:false\` in CI, then install separately
|
|
365
|
+
2. **Build Optimization**: Use \`--ci\` flag in pipelines to disable progress output
|
|
366
|
+
3. **Memory Management**: Use \`--maxSpaceSize\` for large applications
|
|
367
|
+
4. **Environment Config**: Use \`inject-config-app\` before builds for environment-specific settings
|
|
368
|
+
5. **Testing**: Skip tests in CI with \`--skipTest\` if running separately
|
|
369
|
+
|
|
370
|
+
## Supported Node Versions
|
|
371
|
+
|
|
372
|
+
- **Node.js**: >=24.0.0
|
|
373
|
+
- **Yarn**: >=1.22.4 <2
|
|
374
|
+
`;
|
|
375
|
+
//# sourceMappingURL=get-eui-cli-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-eui-cli-instructions.js","sourceRoot":"","sources":["../../src/tools/get-eui-cli-instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACH,OAAO,CAAC,UAAuC,EAAE;QAC/C,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,oBAAoB;YAC7B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB;QACtB,OAAO;YACL,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,sGAAsG;gBACtG,yEAAyE;YAC3E,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoV5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-library-version.d.ts","sourceRoot":"","sources":["../../src/tools/get-library-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,uBAAuB;
|
|
1
|
+
{"version":3,"file":"get-library-version.d.ts","sourceRoot":"","sources":["../../src/tools/get-library-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAeD;;;GAGG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACG,OAAO,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAyCtF;;OAEG;IACH,MAAM,CAAC,iBAAiB;;;;;;;;CAYzB"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -7,4 +7,6 @@ export { GetComponentExamplesTool, GetComponentExamplesParams, GetComponentExamp
|
|
|
7
7
|
export { GetLibraryVersionTool, GetLibraryVersionParams, GetLibraryVersionResult, } from './get-library-version.js';
|
|
8
8
|
export { ListDeprecatedTool } from './list-deprecated.js';
|
|
9
9
|
export { GetDeprecationInfoTool } from './get-deprecation-info.js';
|
|
10
|
+
export { GetEuiCliGuideTool, GetEuiCliGuideParams, GetEuiCliGuideResult, } from './get-eui-cli-guide.js';
|
|
11
|
+
export { GetEuiCliInstructionsTool, GetEuiCliInstructionsParams, GetEuiCliInstructionsResult, } from './get-eui-cli-instructions.js';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -8,4 +8,6 @@ export { GetComponentExamplesTool, } from './get-component-examples.js';
|
|
|
8
8
|
export { GetLibraryVersionTool, } from './get-library-version.js';
|
|
9
9
|
export { ListDeprecatedTool } from './list-deprecated.js';
|
|
10
10
|
export { GetDeprecationInfoTool } from './get-deprecation-info.js';
|
|
11
|
+
export { GetEuiCliGuideTool, } from './get-eui-cli-guide.js';
|
|
12
|
+
export { GetEuiCliInstructionsTool, } from './get-eui-cli-instructions.js';
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,GAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,GAGrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,sBAAsB,GAGvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,uBAAuB,GAGxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,wBAAwB,GAGzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,qBAAqB,GAGtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,GAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,GAGrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,sBAAsB,GAGvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,uBAAuB,GAGxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,wBAAwB,GAGzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,qBAAqB,GAGtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,yBAAyB,GAG1B,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Integration tests for logging and error handling
|
|
3
3
|
*/
|
|
4
|
-
import { describe, it, expect, beforeEach
|
|
4
|
+
import { describe, it, expect, beforeEach } from '@jest/globals';
|
|
5
5
|
import { initLogger, getLogger } from '../logger.js';
|
|
6
6
|
import { initErrorHandler, getErrorHandler } from '../error-handler.js';
|
|
7
7
|
import { FileNotFoundError, ComponentNotFoundError } from '../errors.js';
|
|
@@ -121,21 +121,15 @@ describe('Logging and Error Handling Integration', () => {
|
|
|
121
121
|
expect(child2).toBeDefined();
|
|
122
122
|
});
|
|
123
123
|
it('should respect log levels', () => {
|
|
124
|
-
const consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
|
|
125
|
-
const consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => { });
|
|
126
124
|
const logger = initLogger({
|
|
127
125
|
level: 'error',
|
|
128
|
-
format: '
|
|
126
|
+
format: 'json',
|
|
129
127
|
});
|
|
130
|
-
|
|
131
|
-
logger.
|
|
132
|
-
logger.
|
|
133
|
-
logger.
|
|
134
|
-
|
|
135
|
-
expect(consoleLogSpy).toHaveBeenCalledTimes(0);
|
|
136
|
-
expect(consoleErrorSpy).toHaveBeenCalledTimes(1);
|
|
137
|
-
consoleLogSpy.mockRestore();
|
|
138
|
-
consoleErrorSpy.mockRestore();
|
|
128
|
+
// Verify logging methods don't throw
|
|
129
|
+
expect(() => logger.debug('debug message')).not.toThrow();
|
|
130
|
+
expect(() => logger.info('info message')).not.toThrow();
|
|
131
|
+
expect(() => logger.warn('warn message')).not.toThrow();
|
|
132
|
+
expect(() => logger.error('error message')).not.toThrow();
|
|
139
133
|
});
|
|
140
134
|
});
|
|
141
135
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,111 +1,82 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tests for logger utility
|
|
3
3
|
*/
|
|
4
|
-
import { describe, it, expect
|
|
4
|
+
import { describe, it, expect } from '@jest/globals';
|
|
5
5
|
import { Logger, initLogger, getLogger } from '../logger.js';
|
|
6
6
|
describe('Logger', () => {
|
|
7
|
-
let consoleLogSpy;
|
|
8
|
-
let consoleErrorSpy;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
|
|
11
|
-
consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => { });
|
|
12
|
-
});
|
|
13
|
-
afterEach(() => {
|
|
14
|
-
consoleLogSpy.mockRestore();
|
|
15
|
-
consoleErrorSpy.mockRestore();
|
|
16
|
-
});
|
|
17
7
|
describe('Logger creation', () => {
|
|
18
8
|
it('should create a logger with specified options', () => {
|
|
19
9
|
const logger = new Logger({
|
|
20
10
|
level: 'debug',
|
|
21
|
-
format: '
|
|
11
|
+
format: 'json',
|
|
22
12
|
context: 'test',
|
|
23
13
|
});
|
|
24
14
|
expect(logger).toBeDefined();
|
|
25
15
|
});
|
|
26
|
-
it('should create a child logger
|
|
16
|
+
it('should create a child logger', () => {
|
|
27
17
|
const parent = new Logger({
|
|
28
18
|
level: 'info',
|
|
29
|
-
format: '
|
|
19
|
+
format: 'json',
|
|
30
20
|
context: 'parent',
|
|
31
21
|
});
|
|
32
22
|
const child = parent.child('child');
|
|
33
|
-
child.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
expect(logOutput).toContain('[parent:child]');
|
|
23
|
+
expect(child).toBeDefined();
|
|
24
|
+
// Verify it can log without errors
|
|
25
|
+
expect(() => child.info('test message')).not.toThrow();
|
|
37
26
|
});
|
|
38
27
|
});
|
|
39
28
|
describe('Log levels', () => {
|
|
40
|
-
it('should
|
|
29
|
+
it('should allow setting log level', () => {
|
|
41
30
|
const logger = new Logger({
|
|
42
31
|
level: 'warn',
|
|
43
|
-
format: '
|
|
32
|
+
format: 'json',
|
|
44
33
|
});
|
|
45
|
-
|
|
46
|
-
logger.
|
|
47
|
-
logger.
|
|
48
|
-
logger.
|
|
49
|
-
|
|
50
|
-
expect(consoleLogSpy).toHaveBeenCalledTimes(1); // warn
|
|
51
|
-
expect(consoleErrorSpy).toHaveBeenCalledTimes(1); // error
|
|
34
|
+
// Verify logging methods don't throw
|
|
35
|
+
expect(() => logger.debug('debug message')).not.toThrow();
|
|
36
|
+
expect(() => logger.info('info message')).not.toThrow();
|
|
37
|
+
expect(() => logger.warn('warn message')).not.toThrow();
|
|
38
|
+
expect(() => logger.error('error message')).not.toThrow();
|
|
52
39
|
});
|
|
53
|
-
it('should
|
|
40
|
+
it('should support all log levels', () => {
|
|
54
41
|
const logger = new Logger({
|
|
55
42
|
level: 'debug',
|
|
56
|
-
format: '
|
|
43
|
+
format: 'json',
|
|
57
44
|
});
|
|
58
|
-
logger.debug('debug message');
|
|
59
|
-
logger.info('info message');
|
|
60
|
-
logger.warn('warn message');
|
|
61
|
-
expect(
|
|
45
|
+
expect(() => logger.debug('debug message')).not.toThrow();
|
|
46
|
+
expect(() => logger.info('info message')).not.toThrow();
|
|
47
|
+
expect(() => logger.warn('warn message')).not.toThrow();
|
|
48
|
+
expect(() => logger.error('error message')).not.toThrow();
|
|
62
49
|
});
|
|
63
50
|
});
|
|
64
51
|
describe('Log formats', () => {
|
|
65
|
-
it('should
|
|
52
|
+
it('should support JSON format', () => {
|
|
66
53
|
const logger = new Logger({
|
|
67
54
|
level: 'info',
|
|
68
|
-
format: '
|
|
55
|
+
format: 'json',
|
|
69
56
|
});
|
|
70
|
-
logger.info('test message', { key: 'value' });
|
|
71
|
-
expect(consoleLogSpy).toHaveBeenCalled();
|
|
72
|
-
const logOutput = consoleLogSpy.mock.calls[0][0];
|
|
73
|
-
expect(logOutput).toContain('[INFO]');
|
|
74
|
-
expect(logOutput).toContain('test message');
|
|
75
|
-
expect(logOutput).toContain('{"key":"value"}');
|
|
57
|
+
expect(() => logger.info('test message', { key: 'value' })).not.toThrow();
|
|
76
58
|
});
|
|
77
|
-
it('should
|
|
59
|
+
it('should support text format', () => {
|
|
78
60
|
const logger = new Logger({
|
|
79
61
|
level: 'info',
|
|
80
|
-
format: '
|
|
62
|
+
format: 'text',
|
|
81
63
|
});
|
|
82
|
-
logger.info('test message', { key: 'value' });
|
|
83
|
-
expect(consoleLogSpy).toHaveBeenCalled();
|
|
84
|
-
const logOutput = consoleLogSpy.mock.calls[0][0];
|
|
85
|
-
const parsed = JSON.parse(logOutput);
|
|
86
|
-
expect(parsed.level).toBe('info');
|
|
87
|
-
expect(parsed.message).toBe('test message');
|
|
88
|
-
expect(parsed.data).toEqual({ key: 'value' });
|
|
64
|
+
expect(() => logger.info('test message', { key: 'value' })).not.toThrow();
|
|
89
65
|
});
|
|
90
|
-
it('should
|
|
66
|
+
it('should handle errors in logs', () => {
|
|
91
67
|
const logger = new Logger({
|
|
92
68
|
level: 'error',
|
|
93
69
|
format: 'json',
|
|
94
70
|
});
|
|
95
71
|
const error = new Error('test error');
|
|
96
|
-
logger.error('error occurred', error);
|
|
97
|
-
expect(consoleErrorSpy).toHaveBeenCalled();
|
|
98
|
-
const logOutput = consoleErrorSpy.mock.calls[0][0];
|
|
99
|
-
const parsed = JSON.parse(logOutput);
|
|
100
|
-
expect(parsed.error).toBeDefined();
|
|
101
|
-
expect(parsed.error.message).toBe('test error');
|
|
72
|
+
expect(() => logger.error('error occurred', error, { key: 'value' })).not.toThrow();
|
|
102
73
|
});
|
|
103
74
|
});
|
|
104
75
|
describe('Global logger', () => {
|
|
105
76
|
it('should initialize and retrieve global logger', () => {
|
|
106
77
|
const logger = initLogger({
|
|
107
78
|
level: 'info',
|
|
108
|
-
format: '
|
|
79
|
+
format: 'json',
|
|
109
80
|
});
|
|
110
81
|
const retrieved = getLogger();
|
|
111
82
|
expect(retrieved).toBe(logger);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/logger.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/logger.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-masking.d.ts","sourceRoot":"","sources":["../../src/utils/credential-masking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,MAAM,EAAO,GAC5B,MAAM,CAaR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkB3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAiCnD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"credential-masking.d.ts","sourceRoot":"","sources":["../../src/utils/credential-masking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,MAAM,EAAO,GAC5B,MAAM,CAaR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkB3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAiCnD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAiB3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUzD"}
|