-3
.github/workflows/ci.yml
-3
.github/workflows/ci.yml
-1
.gitignore
-1
.gitignore
-1
.prettierignore
-1
.prettierignore
-7
eslint.config.js
-7
eslint.config.js
···
48
},
49
},
50
{
51
-
files: ['packages/openapi-ts/test/e2e/assets/main-angular-module.ts'],
52
-
rules: {
53
-
'@typescript-eslint/consistent-type-imports': 'off',
54
-
},
55
-
},
56
-
{
57
files: ['**/*.cjs'],
58
rules: {
59
'@typescript-eslint/no-require-imports': 'off',
···
68
'temp/',
69
'packages/openapi-ts/src/legacy/handlebars/compiled/**/*.js',
70
'packages/openapi-ts/src/legacy/handlebars/templates/**/*.hbs',
71
-
'**/test/e2e/generated/',
72
'**/test/generated/',
73
'**/__snapshots__/',
74
'**/.next/',
···
48
},
49
},
50
{
51
files: ['**/*.cjs'],
52
rules: {
53
'@typescript-eslint/no-require-imports': 'off',
···
62
'temp/',
63
'packages/openapi-ts/src/legacy/handlebars/compiled/**/*.js',
64
'packages/openapi-ts/src/legacy/handlebars/templates/**/*.hbs',
65
'**/test/generated/',
66
'**/__snapshots__/',
67
'**/.next/',
-1
package.json
-1
package.json
···
30
"test:changelog": "vitest run .changeset",
31
"test:changelog:watch": "vitest watch .changeset",
32
"test:coverage": "turbo run test:coverage",
33
-
"test:e2e": "turbo run test:e2e",
34
"test:update": "turbo run test:update",
35
"test:watch": "turbo run test:watch",
36
"test": "turbo run test",
-1
packages/openapi-ts-tests/main/.gitignore
-1
packages/openapi-ts-tests/main/.gitignore
+4
-9
packages/openapi-ts-tests/main/package.json
+4
-9
packages/openapi-ts-tests/main/package.json
···
4
"private": true,
5
"type": "module",
6
"scripts": {
7
-
"test:coverage": "vitest run --config vitest.config.unit.ts --coverage",
8
-
"test:e2e:disabled": "vitest run --config vitest.config.e2e.ts",
9
-
"test:sample": "openapi-ts -i ../specs/3.1.x/validators.yaml -o ./test/generated/sample",
10
"test:types": "tsc -p tsconfig.test.json --noEmit",
11
-
"test:update": "vitest watch --config vitest.config.unit.ts --update",
12
-
"test:watch": "vitest watch --config vitest.config.unit.ts",
13
-
"test": "vitest run --config vitest.config.unit.ts",
14
"typecheck": "tsc --noEmit"
15
},
16
"engines": {
···
38
"@tanstack/svelte-query": "5.73.3",
39
"@tanstack/vue-query": "5.73.3",
40
"@types/cross-spawn": "6.0.6",
41
-
"@types/express": "4.17.21",
42
"axios": "1.8.2",
43
"cross-spawn": "7.0.5",
44
"eslint": "9.17.0",
45
-
"express": "4.21.0",
46
"fastify": "5.2.0",
47
"glob": "10.4.3",
48
"node-fetch": "3.3.2",
49
"nuxt": "3.14.1592",
50
"prettier": "3.4.2",
51
-
"puppeteer": "22.12.1",
52
"rxjs": "7.8.1",
53
"ts-node": "10.9.2",
54
"tslib": "2.8.1",
···
4
"private": true,
5
"type": "module",
6
"scripts": {
7
+
"test:coverage": "vitest run --coverage",
8
"test:types": "tsc -p tsconfig.test.json --noEmit",
9
+
"test:update": "vitest watch --update",
10
+
"test:watch": "vitest watch",
11
+
"test": "vitest run",
12
"typecheck": "tsc --noEmit"
13
},
14
"engines": {
···
36
"@tanstack/svelte-query": "5.73.3",
37
"@tanstack/vue-query": "5.73.3",
38
"@types/cross-spawn": "6.0.6",
39
"axios": "1.8.2",
40
"cross-spawn": "7.0.5",
41
"eslint": "9.17.0",
42
"fastify": "5.2.0",
43
"glob": "10.4.3",
44
"node-fetch": "3.3.2",
45
"nuxt": "3.14.1592",
46
"prettier": "3.4.2",
47
"rxjs": "7.8.1",
48
"ts-node": "10.9.2",
49
"tslib": "2.8.1",
-9
packages/openapi-ts-tests/main/test/e2e/assets/index.html
-9
packages/openapi-ts-tests/main/test/e2e/assets/index.html
-79
packages/openapi-ts-tests/main/test/e2e/assets/main-angular-module.ts
-79
packages/openapi-ts-tests/main/test/e2e/assets/main-angular-module.ts
···
1
-
import { HttpClientModule } from '@angular/common/http'
2
-
import { Component, NgModule } from '@angular/core'
3
-
import { BrowserModule } from '@angular/platform-browser'
4
-
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
5
-
6
-
import { ApiModule } from './client/ApiModule'
7
-
import { OpenAPI } from './client/core/OpenAPI'
8
-
import type {
9
-
CollectionFormatService,
10
-
ComplexService,
11
-
DefaultService,
12
-
DefaultsService,
13
-
DuplicateService,
14
-
ErrorService,
15
-
HeaderService,
16
-
MultipleTags1Service,
17
-
MultipleTags2Service,
18
-
MultipleTags3Service,
19
-
NoContentService,
20
-
ParametersService,
21
-
ResponseService,
22
-
SimpleService,
23
-
TypesService
24
-
} from './client/sdk.gen'
25
-
26
-
@Component({
27
-
selector: 'app-root',
28
-
template: `<div>Angular is ready</div>`
29
-
})
30
-
export class AppComponent {
31
-
constructor(
32
-
private readonly collectionFormatService: CollectionFormatService,
33
-
private readonly complexService: ComplexService,
34
-
private readonly defaultService: DefaultService,
35
-
private readonly defaultsService: DefaultsService,
36
-
private readonly duplicateService: DuplicateService,
37
-
private readonly errorService: ErrorService,
38
-
private readonly headerService: HeaderService,
39
-
private readonly multipleTags1Service: MultipleTags1Service,
40
-
private readonly multipleTags2Service: MultipleTags2Service,
41
-
private readonly multipleTags3Service: MultipleTags3Service,
42
-
private readonly noContentService: NoContentService,
43
-
private readonly parametersService: ParametersService,
44
-
private readonly responseService: ResponseService,
45
-
private readonly simpleService: SimpleService,
46
-
private readonly typesService: TypesService
47
-
) {
48
-
// @ts-expect-error
49
-
window.api = {
50
-
ApiModule,
51
-
CollectionFormatService: this.collectionFormatService,
52
-
ComplexService: this.complexService,
53
-
DefaultService: this.defaultService,
54
-
DefaultsService: this.defaultsService,
55
-
DuplicateService: this.duplicateService,
56
-
ErrorService: this.errorService,
57
-
HeaderService: this.headerService,
58
-
MultipleTags1Service: this.multipleTags1Service,
59
-
MultipleTags2Service: this.multipleTags2Service,
60
-
MultipleTags3Service: this.multipleTags3Service,
61
-
NoContentService: this.noContentService,
62
-
OpenAPI,
63
-
ParametersService: this.parametersService,
64
-
ResponseService: this.responseService,
65
-
SimpleService: this.simpleService,
66
-
TypesService: this.typesService
67
-
}
68
-
}
69
-
}
70
-
71
-
@NgModule({
72
-
bootstrap: [AppComponent],
73
-
imports: [BrowserModule, HttpClientModule, ApiModule]
74
-
})
75
-
export class AppModule {}
76
-
77
-
platformBrowserDynamic()
78
-
.bootstrapModule(AppModule)
79
-
.catch(err => console.error(err))
···
-94
packages/openapi-ts-tests/main/test/e2e/assets/main-angular.ts
-94
packages/openapi-ts-tests/main/test/e2e/assets/main-angular.ts
···
1
-
import { HttpClientModule } from '@angular/common/http'
2
-
import { Component, NgModule } from '@angular/core'
3
-
import { BrowserModule } from '@angular/platform-browser'
4
-
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
5
-
6
-
import { OpenAPI } from './client/core/OpenAPI'
7
-
import {
8
-
CollectionFormatService,
9
-
ComplexService,
10
-
DefaultService,
11
-
DefaultsService,
12
-
DuplicateService,
13
-
ErrorService,
14
-
HeaderService,
15
-
MultipleTags1Service,
16
-
MultipleTags2Service,
17
-
MultipleTags3Service,
18
-
NoContentService,
19
-
ParametersService,
20
-
ResponseService,
21
-
SimpleService,
22
-
TypesService
23
-
} from './client/sdk.gen'
24
-
25
-
@Component({
26
-
selector: 'app-root',
27
-
template: `<div>Angular is ready</div>`
28
-
})
29
-
export class AppComponent {
30
-
constructor(
31
-
private readonly collectionFormatService: CollectionFormatService,
32
-
private readonly complexService: ComplexService,
33
-
private readonly defaultService: DefaultService,
34
-
private readonly defaultsService: DefaultsService,
35
-
private readonly duplicateService: DuplicateService,
36
-
private readonly errorService: ErrorService,
37
-
private readonly headerService: HeaderService,
38
-
private readonly multipleTags1Service: MultipleTags1Service,
39
-
private readonly multipleTags2Service: MultipleTags2Service,
40
-
private readonly multipleTags3Service: MultipleTags3Service,
41
-
private readonly noContentService: NoContentService,
42
-
private readonly parametersService: ParametersService,
43
-
private readonly responseService: ResponseService,
44
-
private readonly simpleService: SimpleService,
45
-
private readonly typesService: TypesService
46
-
) {
47
-
// @ts-expect-error
48
-
window.api = {
49
-
CollectionFormatService: this.collectionFormatService,
50
-
ComplexService: this.complexService,
51
-
DefaultService: this.defaultService,
52
-
DefaultsService: this.defaultsService,
53
-
DuplicateService: this.duplicateService,
54
-
ErrorService: this.errorService,
55
-
HeaderService: this.headerService,
56
-
MultipleTags1Service: this.multipleTags1Service,
57
-
MultipleTags2Service: this.multipleTags2Service,
58
-
MultipleTags3Service: this.multipleTags3Service,
59
-
NoContentService: this.noContentService,
60
-
OpenAPI,
61
-
ParametersService: this.parametersService,
62
-
ResponseService: this.responseService,
63
-
SimpleService: this.simpleService,
64
-
TypesService: this.typesService
65
-
}
66
-
}
67
-
}
68
-
69
-
@NgModule({
70
-
bootstrap: [AppComponent],
71
-
imports: [BrowserModule, HttpClientModule],
72
-
providers: [
73
-
CollectionFormatService,
74
-
ComplexService,
75
-
DefaultService,
76
-
DefaultsService,
77
-
DuplicateService,
78
-
ErrorService,
79
-
HeaderService,
80
-
MultipleTags1Service,
81
-
MultipleTags2Service,
82
-
MultipleTags3Service,
83
-
NoContentService,
84
-
ParametersService,
85
-
ResponseService,
86
-
SimpleService,
87
-
TypesService
88
-
]
89
-
})
90
-
export class AppModule {}
91
-
92
-
platformBrowserDynamic()
93
-
.bootstrapModule(AppModule)
94
-
.catch(err => console.error(err))
···
-4
packages/openapi-ts-tests/main/test/e2e/assets/main.ts
-4
packages/openapi-ts-tests/main/test/e2e/assets/main.ts
-205
packages/openapi-ts-tests/main/test/e2e/client.angular.test.ts
-205
packages/openapi-ts-tests/main/test/e2e/client.angular.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { buildAngularProject, createAngularProject } from './scripts/angular'
4
-
import browser from './scripts/browser'
5
-
import { cleanup } from './scripts/cleanup'
6
-
import { copyAsset } from './scripts/copyAsset'
7
-
import { generateClient } from './scripts/generateClient'
8
-
import server from './scripts/server'
9
-
10
-
describe('client.angular', () => {
11
-
beforeAll(async () => {
12
-
cleanup('client/angular')
13
-
createAngularProject('client/angular', 'app')
14
-
await generateClient(
15
-
'client/angular/app/src/client',
16
-
'v3',
17
-
'legacy/angular',
18
-
false,
19
-
'ApiModule'
20
-
)
21
-
copyAsset('main-angular-module.ts', 'client/angular/app/src/main.ts')
22
-
buildAngularProject('client/angular', 'app', 'dist')
23
-
await server.start('client/angular/app/dist/browser')
24
-
await browser.start()
25
-
}, 100000)
26
-
27
-
afterAll(async () => {
28
-
await browser.stop()
29
-
await server.stop()
30
-
})
31
-
32
-
it('requests token', async () => {
33
-
await browser.exposeFunction(
34
-
'tokenRequest',
35
-
vi.fn().mockResolvedValue('MY_TOKEN')
36
-
)
37
-
const result = await browser.evaluate(
38
-
async () =>
39
-
await new Promise(resolve => {
40
-
// @ts-expect-error
41
-
const { SimpleService } = window.api
42
-
// @ts-expect-error
43
-
SimpleService.httpRequest.config.TOKEN = window.tokenRequest
44
-
SimpleService.httpRequest.config.USERNAME = undefined
45
-
SimpleService.httpRequest.config.PASSWORD = undefined
46
-
SimpleService.getCallWithoutParametersAndResponse().subscribe(resolve)
47
-
})
48
-
)
49
-
// @ts-expect-error
50
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
51
-
})
52
-
53
-
it('uses credentials', async () => {
54
-
const result = await browser.evaluate(
55
-
async () =>
56
-
await new Promise(resolve => {
57
-
// @ts-expect-error
58
-
const { SimpleService } = window.api
59
-
SimpleService.httpRequest.config.TOKEN = undefined
60
-
SimpleService.httpRequest.config.USERNAME = 'username'
61
-
SimpleService.httpRequest.config.PASSWORD = 'password'
62
-
SimpleService.getCallWithoutParametersAndResponse().subscribe(resolve)
63
-
})
64
-
)
65
-
// @ts-expect-error
66
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
67
-
})
68
-
69
-
it('supports complex params', async () => {
70
-
const result = await browser.evaluate(
71
-
async () =>
72
-
await new Promise(resolve => {
73
-
// @ts-expect-error
74
-
const { ComplexService } = window.api
75
-
ComplexService.complexTypes({
76
-
first: {
77
-
second: {
78
-
third: 'Hello World!'
79
-
}
80
-
}
81
-
}).subscribe(resolve)
82
-
})
83
-
)
84
-
expect(result).toBeDefined()
85
-
})
86
-
87
-
it('support form data', async () => {
88
-
const result = await browser.evaluate(
89
-
async () =>
90
-
await new Promise(resolve => {
91
-
// @ts-expect-error
92
-
const { ParametersService } = window.api
93
-
ParametersService.callWithParameters(
94
-
'valueHeader',
95
-
'valueQuery',
96
-
'valueForm',
97
-
'valueCookie',
98
-
'valuePath',
99
-
{
100
-
prop: 'valueBody'
101
-
}
102
-
).subscribe(resolve)
103
-
})
104
-
)
105
-
expect(result).toBeDefined()
106
-
})
107
-
108
-
it('should throw known error (500)', async () => {
109
-
const error = await browser.evaluate(
110
-
async () =>
111
-
await new Promise(resolve => {
112
-
// @ts-expect-error
113
-
const { ErrorService } = window.api
114
-
ErrorService.testErrorCode(500).subscribe({
115
-
error: (e: unknown) => {
116
-
resolve(
117
-
JSON.stringify({
118
-
// @ts-expect-error
119
-
body: e.body,
120
-
121
-
// @ts-expect-error
122
-
message: e.message,
123
-
124
-
// @ts-expect-error
125
-
name: e.name,
126
-
127
-
// @ts-expect-error
128
-
status: e.status,
129
-
130
-
// @ts-expect-error
131
-
statusText: e.statusText,
132
-
133
-
// @ts-expect-error
134
-
url: e.url
135
-
})
136
-
)
137
-
}
138
-
})
139
-
})
140
-
)
141
-
expect(error).toBe(
142
-
JSON.stringify({
143
-
body: {
144
-
message: 'hello world',
145
-
status: 500
146
-
},
147
-
message: 'Custom message: Internal Server Error',
148
-
name: 'ApiError',
149
-
status: 500,
150
-
statusText: 'Internal Server Error',
151
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
152
-
})
153
-
)
154
-
})
155
-
156
-
it('should throw unknown error (599)', async () => {
157
-
const error = await browser.evaluate(
158
-
async () =>
159
-
await new Promise(resolve => {
160
-
// @ts-expect-error
161
-
const { ErrorService } = window.api
162
-
ErrorService.testErrorCode(599).subscribe({
163
-
error: (e: unknown) => {
164
-
resolve(
165
-
JSON.stringify({
166
-
// @ts-expect-error
167
-
body: e.body,
168
-
169
-
// @ts-expect-error
170
-
message: e.message,
171
-
172
-
// @ts-expect-error
173
-
name: e.name,
174
-
175
-
// @ts-expect-error
176
-
status: e.status,
177
-
178
-
// @ts-expect-error
179
-
statusText: e.statusText,
180
-
181
-
// @ts-expect-error
182
-
url: e.url
183
-
})
184
-
)
185
-
}
186
-
})
187
-
})
188
-
)
189
-
190
-
expect(error).toBe(
191
-
JSON.stringify({
192
-
body: {
193
-
message: 'hello world',
194
-
status: 599
195
-
},
196
-
message:
197
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
198
-
name: 'ApiError',
199
-
status: 599,
200
-
statusText: 'unknown',
201
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
202
-
})
203
-
)
204
-
})
205
-
})
···
-155
packages/openapi-ts-tests/main/test/e2e/client.axios.test.ts
-155
packages/openapi-ts-tests/main/test/e2e/client.axios.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('client.axios', () => {
9
-
beforeAll(async () => {
10
-
cleanup('client/axios')
11
-
await generateClient('client/axios', 'v3', 'legacy/axios', false, 'ApiClient')
12
-
compileWithTypescript('client/axios')
13
-
await server.start('client/axios')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { ApiClient } = await import('./generated/client/axios/index.js')
22
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
23
-
const client = new ApiClient({
24
-
PASSWORD: undefined,
25
-
TOKEN: tokenRequest,
26
-
USERNAME: undefined
27
-
})
28
-
const result = await client.simple.getCallWithoutParametersAndResponse()
29
-
expect(tokenRequest.mock.calls.length).toBe(1)
30
-
// @ts-expect-error
31
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
32
-
})
33
-
34
-
it('uses credentials', async () => {
35
-
const { ApiClient } = await import('./generated/client/axios/index.js')
36
-
const client = new ApiClient({
37
-
PASSWORD: 'password',
38
-
TOKEN: undefined,
39
-
USERNAME: 'username'
40
-
})
41
-
const result = await client.simple.getCallWithoutParametersAndResponse()
42
-
// @ts-expect-error
43
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
44
-
})
45
-
46
-
it('supports complex params', async () => {
47
-
const { ApiClient } = await import('./generated/client/axios/index.js')
48
-
const client = new ApiClient()
49
-
// @ts-expect-error
50
-
const result = await client.complex.complexTypes({
51
-
first: {
52
-
second: {
53
-
third: 'Hello World!'
54
-
}
55
-
}
56
-
})
57
-
expect(result).toBeDefined()
58
-
})
59
-
60
-
it('supports form data', async () => {
61
-
const { ApiClient } = await import('./generated/client/axios/index.js')
62
-
const client = new ApiClient()
63
-
// @ts-expect-error
64
-
const result = await client.parameters.callWithParameters(
65
-
'valueHeader',
66
-
'valueQuery',
67
-
'valueForm',
68
-
'valueCookie',
69
-
'valuePath',
70
-
{
71
-
prop: 'valueBody'
72
-
}
73
-
)
74
-
expect(result).toBeDefined()
75
-
})
76
-
77
-
it('can abort the request', async () => {
78
-
let error
79
-
try {
80
-
const { ApiClient } = await import('./generated/client/axios/index.js')
81
-
const client = new ApiClient()
82
-
const promise = client.simple.getCallWithoutParametersAndResponse()
83
-
setTimeout(() => {
84
-
promise.cancel()
85
-
}, 10)
86
-
await promise
87
-
} catch (e) {
88
-
error = (e as Error).message
89
-
}
90
-
expect(error).toContain('Request aborted')
91
-
})
92
-
93
-
it('should throw known error (500)', async () => {
94
-
let error
95
-
try {
96
-
const { ApiClient } = await import('./generated/client/axios/index.js')
97
-
const client = new ApiClient()
98
-
await client.error.testErrorCode(500)
99
-
} catch (err) {
100
-
error = JSON.stringify({
101
-
body: err.body,
102
-
message: err.message,
103
-
name: err.name,
104
-
status: err.status,
105
-
statusText: err.statusText,
106
-
url: err.url
107
-
})
108
-
}
109
-
expect(error).toBe(
110
-
JSON.stringify({
111
-
body: {
112
-
message: 'hello world',
113
-
status: 500
114
-
},
115
-
message: 'Custom message: Internal Server Error',
116
-
name: 'ApiError',
117
-
status: 500,
118
-
statusText: 'Internal Server Error',
119
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
120
-
})
121
-
)
122
-
})
123
-
124
-
it('should throw unknown error (599)', async () => {
125
-
let error
126
-
try {
127
-
const { ApiClient } = await import('./generated/client/axios/index.js')
128
-
const client = new ApiClient()
129
-
await client.error.testErrorCode(599)
130
-
} catch (err) {
131
-
error = JSON.stringify({
132
-
body: err.body,
133
-
message: err.message,
134
-
name: err.name,
135
-
status: err.status,
136
-
statusText: err.statusText,
137
-
url: err.url
138
-
})
139
-
}
140
-
expect(error).toBe(
141
-
JSON.stringify({
142
-
body: {
143
-
message: 'hello world',
144
-
status: 599
145
-
},
146
-
message:
147
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
148
-
name: 'ApiError',
149
-
status: 599,
150
-
statusText: 'unknown',
151
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
152
-
})
153
-
)
154
-
})
155
-
})
···
-175
packages/openapi-ts-tests/main/test/e2e/client.fetch.test.ts
-175
packages/openapi-ts-tests/main/test/e2e/client.fetch.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('client.fetch', () => {
9
-
beforeAll(async () => {
10
-
cleanup('client/fetch')
11
-
await generateClient('client/fetch', 'v3', 'legacy/fetch', false, 'ApiClient')
12
-
compileWithTypescript('client/fetch')
13
-
await server.start('client/fetch')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
22
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
23
-
const client = new ApiClient({
24
-
PASSWORD: undefined,
25
-
TOKEN: tokenRequest,
26
-
USERNAME: undefined
27
-
})
28
-
const result = await client.simple.getCallWithoutParametersAndResponse()
29
-
// @ts-expect-error
30
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
31
-
})
32
-
33
-
it('uses credentials', async () => {
34
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
35
-
const client = new ApiClient({
36
-
PASSWORD: 'password',
37
-
TOKEN: undefined,
38
-
USERNAME: 'username'
39
-
})
40
-
const result = await client.simple.getCallWithoutParametersAndResponse()
41
-
// @ts-expect-error
42
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
43
-
})
44
-
45
-
it('supports complex params', async () => {
46
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
47
-
const client = new ApiClient()
48
-
// @ts-expect-error
49
-
const result = await client.complex.complexTypes({
50
-
first: {
51
-
second: {
52
-
third: 'Hello World!'
53
-
}
54
-
}
55
-
})
56
-
expect(result).toBeDefined()
57
-
})
58
-
59
-
it('support form data', async () => {
60
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
61
-
const client = new ApiClient()
62
-
// @ts-expect-error
63
-
const result = await client.parameters.callWithParameters(
64
-
'valueHeader',
65
-
'valueQuery',
66
-
'valueForm',
67
-
'valueCookie',
68
-
'valuePath',
69
-
{
70
-
prop: 'valueBody'
71
-
}
72
-
)
73
-
expect(result).toBeDefined()
74
-
})
75
-
76
-
it('support blob response data', async () => {
77
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
78
-
const client = new ApiClient()
79
-
const result = await client.fileResponse.fileResponse('test')
80
-
expect(result).toBeDefined()
81
-
})
82
-
83
-
it('can abort the request', async () => {
84
-
let error
85
-
try {
86
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
87
-
const client = new ApiClient()
88
-
const promise = client.simple.getCallWithoutParametersAndResponse()
89
-
setTimeout(() => {
90
-
promise.cancel()
91
-
}, 10)
92
-
await promise
93
-
} catch (e) {
94
-
error = (e as Error).message
95
-
}
96
-
expect(error).toContain('Request aborted')
97
-
})
98
-
99
-
it('should throw known error (500)', async () => {
100
-
let error
101
-
try {
102
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
103
-
const client = new ApiClient()
104
-
await client.error.testErrorCode(500)
105
-
} catch (err) {
106
-
error = JSON.stringify({
107
-
body: err.body,
108
-
message: err.message,
109
-
name: err.name,
110
-
status: err.status,
111
-
statusText: err.statusText,
112
-
url: err.url
113
-
})
114
-
}
115
-
expect(error).toBe(
116
-
JSON.stringify({
117
-
body: {
118
-
message: 'hello world',
119
-
status: 500
120
-
},
121
-
message: 'Custom message: Internal Server Error',
122
-
name: 'ApiError',
123
-
status: 500,
124
-
statusText: 'Internal Server Error',
125
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
126
-
})
127
-
)
128
-
})
129
-
130
-
it('should throw unknown error (599)', async () => {
131
-
let error
132
-
try {
133
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
134
-
const client = new ApiClient()
135
-
await client.error.testErrorCode(599)
136
-
} catch (err) {
137
-
error = JSON.stringify({
138
-
body: err.body,
139
-
message: err.message,
140
-
name: err.name,
141
-
status: err.status,
142
-
statusText: err.statusText,
143
-
url: err.url
144
-
})
145
-
}
146
-
expect(error).toBe(
147
-
JSON.stringify({
148
-
body: {
149
-
message: 'hello world',
150
-
status: 599
151
-
},
152
-
message:
153
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
154
-
name: 'ApiError',
155
-
status: 599,
156
-
statusText: 'unknown',
157
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
158
-
})
159
-
)
160
-
})
161
-
162
-
it('it should parse query params', async () => {
163
-
const { ApiClient } = await import('./generated/client/fetch/index.js')
164
-
const client = new ApiClient()
165
-
const result = await client.parameters.postCallWithOptionalParam({
166
-
page: 0,
167
-
size: 1,
168
-
sort: ['location']
169
-
})
170
-
// @ts-expect-error
171
-
expect(result.query).toStrictEqual({
172
-
parameter: { page: '0', size: '1', sort: 'location' }
173
-
})
174
-
})
175
-
})
···
-155
packages/openapi-ts-tests/main/test/e2e/client.node.test.ts
-155
packages/openapi-ts-tests/main/test/e2e/client.node.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('client.node', () => {
9
-
beforeAll(async () => {
10
-
cleanup('client/node')
11
-
await generateClient('client/node', 'v3', 'legacy/node', false, 'ApiClient')
12
-
compileWithTypescript('client/node')
13
-
await server.start('client/node')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { ApiClient } = await import('./generated/client/node/index.js')
22
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
23
-
const client = new ApiClient({
24
-
PASSWORD: undefined,
25
-
TOKEN: tokenRequest,
26
-
USERNAME: undefined
27
-
})
28
-
const result = await client.simple.getCallWithoutParametersAndResponse()
29
-
expect(tokenRequest.mock.calls.length).toBe(1)
30
-
// @ts-expect-error
31
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
32
-
})
33
-
34
-
it('uses credentials', async () => {
35
-
const { ApiClient } = await import('./generated/client/node/index.js')
36
-
const client = new ApiClient({
37
-
PASSWORD: 'password',
38
-
TOKEN: undefined,
39
-
USERNAME: 'username'
40
-
})
41
-
const result = await client.simple.getCallWithoutParametersAndResponse()
42
-
// @ts-expect-error
43
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
44
-
})
45
-
46
-
it('supports complex params', async () => {
47
-
const { ApiClient } = await import('./generated/client/node/index.js')
48
-
const client = new ApiClient()
49
-
// @ts-expect-error
50
-
const result = await client.complex.complexTypes({
51
-
first: {
52
-
second: {
53
-
third: 'Hello World!'
54
-
}
55
-
}
56
-
})
57
-
expect(result).toBeDefined()
58
-
})
59
-
60
-
it('support form data', async () => {
61
-
const { ApiClient } = await import('./generated/client/node/index.js')
62
-
const client = new ApiClient()
63
-
// @ts-expect-error
64
-
const result = await client.parameters.callWithParameters(
65
-
'valueHeader',
66
-
'valueQuery',
67
-
'valueForm',
68
-
'valueCookie',
69
-
'valuePath',
70
-
{
71
-
prop: 'valueBody'
72
-
}
73
-
)
74
-
expect(result).toBeDefined()
75
-
})
76
-
77
-
it('can abort the request', async () => {
78
-
let error
79
-
try {
80
-
const { ApiClient } = await import('./generated/client/node/index.js')
81
-
const client = new ApiClient()
82
-
const promise = client.simple.getCallWithoutParametersAndResponse()
83
-
setTimeout(() => {
84
-
promise.cancel()
85
-
}, 10)
86
-
await promise
87
-
} catch (e) {
88
-
error = (e as Error).message
89
-
}
90
-
expect(error).toContain('Request aborted')
91
-
})
92
-
93
-
it('should throw known error (500)', async () => {
94
-
let error
95
-
try {
96
-
const { ApiClient } = await import('./generated/client/node/index.js')
97
-
const client = new ApiClient()
98
-
await client.error.testErrorCode(500)
99
-
} catch (err) {
100
-
error = JSON.stringify({
101
-
body: err.body,
102
-
message: err.message,
103
-
name: err.name,
104
-
status: err.status,
105
-
statusText: err.statusText,
106
-
url: err.url
107
-
})
108
-
}
109
-
expect(error).toBe(
110
-
JSON.stringify({
111
-
body: {
112
-
message: 'hello world',
113
-
status: 500
114
-
},
115
-
message: 'Custom message: Internal Server Error',
116
-
name: 'ApiError',
117
-
status: 500,
118
-
statusText: 'Internal Server Error',
119
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
120
-
})
121
-
)
122
-
})
123
-
124
-
it('should throw unknown error (599)', async () => {
125
-
let error
126
-
try {
127
-
const { ApiClient } = await import('./generated/client/node/index.js')
128
-
const client = new ApiClient()
129
-
await client.error.testErrorCode(599)
130
-
} catch (err) {
131
-
error = JSON.stringify({
132
-
body: err.body,
133
-
message: err.message,
134
-
name: err.name,
135
-
status: err.status,
136
-
statusText: err.statusText,
137
-
url: err.url
138
-
})
139
-
}
140
-
expect(error).toBe(
141
-
JSON.stringify({
142
-
body: {
143
-
message: 'hello world',
144
-
status: 599
145
-
},
146
-
message:
147
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
148
-
name: 'ApiError',
149
-
status: 599,
150
-
statusText: 'unknown',
151
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
152
-
})
153
-
)
154
-
})
155
-
})
···
-154
packages/openapi-ts-tests/main/test/e2e/client.xhr.test.ts
-154
packages/openapi-ts-tests/main/test/e2e/client.xhr.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe.skip('client.xhr', () => {
9
-
beforeAll(async () => {
10
-
cleanup('client/xhr')
11
-
await generateClient('client/xhr', 'v3', 'legacy/xhr', false, 'ApiClient')
12
-
compileWithTypescript('client/xhr')
13
-
await server.start('client/xhr')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { ApiClient } = await import('./generated/client/xhr/index.js')
22
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
23
-
const client = new ApiClient({
24
-
PASSWORD: undefined,
25
-
TOKEN: tokenRequest,
26
-
USERNAME: undefined
27
-
})
28
-
const result = await client.simple.getCallWithoutParametersAndResponse()
29
-
// @ts-expect-error
30
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
31
-
})
32
-
33
-
it('uses credentials', async () => {
34
-
const { ApiClient } = await import('./generated/client/xhr/index.js')
35
-
const client = new ApiClient({
36
-
PASSWORD: 'password',
37
-
TOKEN: undefined,
38
-
USERNAME: 'username'
39
-
})
40
-
const result = await client.simple.getCallWithoutParametersAndResponse()
41
-
// @ts-expect-error
42
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
43
-
})
44
-
45
-
it('supports complex params', async () => {
46
-
const { ApiClient } = await import('./generated/client/xhr/index.js')
47
-
const client = new ApiClient()
48
-
// @ts-expect-error
49
-
const result = await client.complex.complexTypes({
50
-
first: {
51
-
second: {
52
-
third: 'Hello World!'
53
-
}
54
-
}
55
-
})
56
-
expect(result).toBeDefined()
57
-
})
58
-
59
-
it('support form data', async () => {
60
-
const { ApiClient } = await import('./generated/client/xhr/index.js')
61
-
const client = new ApiClient()
62
-
// @ts-expect-error
63
-
const result = await client.parameters.callWithParameters(
64
-
'valueHeader',
65
-
'valueQuery',
66
-
'valueForm',
67
-
'valueCookie',
68
-
'valuePath',
69
-
{
70
-
prop: 'valueBody'
71
-
}
72
-
)
73
-
expect(result).toBeDefined()
74
-
})
75
-
76
-
it('can abort the request', async () => {
77
-
let error
78
-
try {
79
-
const { ApiClient } = await import('./generated/client/xhr/index.js')
80
-
const client = new ApiClient()
81
-
const promise = client.simple.getCallWithoutParametersAndResponse()
82
-
setTimeout(() => {
83
-
promise.cancel()
84
-
}, 10)
85
-
await promise
86
-
} catch (e) {
87
-
error = (e as Error).message
88
-
}
89
-
expect(error).toContain('Request aborted')
90
-
})
91
-
92
-
it('should throw known error (500)', async () => {
93
-
let error
94
-
try {
95
-
const { ApiClient } = await import('./generated/client/xhr/index.js')
96
-
const client = new ApiClient()
97
-
await client.error.testErrorCode(500)
98
-
} catch (err) {
99
-
error = JSON.stringify({
100
-
body: err.body,
101
-
message: err.message,
102
-
name: err.name,
103
-
status: err.status,
104
-
statusText: err.statusText,
105
-
url: err.url
106
-
})
107
-
}
108
-
expect(error).toBe(
109
-
JSON.stringify({
110
-
body: {
111
-
message: 'hello world',
112
-
status: 500
113
-
},
114
-
message: 'Custom message: Internal Server Error',
115
-
name: 'ApiError',
116
-
status: 500,
117
-
statusText: 'Internal Server Error',
118
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
119
-
})
120
-
)
121
-
})
122
-
123
-
it('should throw unknown error (599)', async () => {
124
-
let error
125
-
try {
126
-
const { ApiClient } = await import('./generated/client/xhr/index.js')
127
-
const client = new ApiClient()
128
-
await client.error.testErrorCode(599)
129
-
} catch (err) {
130
-
error = JSON.stringify({
131
-
body: err.body,
132
-
message: err.message,
133
-
name: err.name,
134
-
status: err.status,
135
-
statusText: err.statusText,
136
-
url: err.url
137
-
})
138
-
}
139
-
expect(error).toBe(
140
-
JSON.stringify({
141
-
body: {
142
-
message: 'hello world',
143
-
status: 599
144
-
},
145
-
message:
146
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
147
-
name: 'ApiError',
148
-
status: 599,
149
-
statusText: 'unknown',
150
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
151
-
})
152
-
)
153
-
})
154
-
})
···
-70
packages/openapi-ts-tests/main/test/e2e/scripts/angular.ts
-70
packages/openapi-ts-tests/main/test/e2e/scripts/angular.ts
···
1
-
import fs from 'node:fs';
2
-
import path from 'node:path'
3
-
4
-
import { sync } from 'cross-spawn'
5
-
6
-
export const createAngularProject = (dir: string, name: string) => {
7
-
const cwd = `./test/e2e/generated/${dir}/`
8
-
fs.mkdirSync(cwd, {
9
-
recursive: true
10
-
})
11
-
sync(
12
-
'ng',
13
-
[
14
-
'new',
15
-
name,
16
-
'--minimal',
17
-
'true',
18
-
'--style',
19
-
'css',
20
-
'--inline-style',
21
-
'true',
22
-
'--inline-template',
23
-
'true',
24
-
'--routing',
25
-
'false',
26
-
'--ssr',
27
-
'false',
28
-
'--skip-tests',
29
-
'true',
30
-
'--skip-git',
31
-
'true',
32
-
'--commit',
33
-
'false',
34
-
'--force'
35
-
],
36
-
{
37
-
cwd: path.resolve(cwd),
38
-
stdio: 'inherit'
39
-
}
40
-
)
41
-
fs.rmSync(`${cwd}/${name}/src/app/`, {
42
-
recursive: true
43
-
})
44
-
}
45
-
46
-
export const buildAngularProject = (
47
-
dir: string,
48
-
name: string,
49
-
output: string
50
-
) => {
51
-
const cwd = `./test/e2e/generated/${dir}/${name}/`
52
-
sync(
53
-
'ng',
54
-
[
55
-
'build',
56
-
'--output-path',
57
-
output,
58
-
'--optimization',
59
-
'false',
60
-
'--configuration',
61
-
'development',
62
-
'--source-map',
63
-
'false'
64
-
],
65
-
{
66
-
cwd: path.resolve(cwd),
67
-
stdio: 'inherit'
68
-
}
69
-
)
70
-
}
···
-38
packages/openapi-ts-tests/main/test/e2e/scripts/browser.ts
-38
packages/openapi-ts-tests/main/test/e2e/scripts/browser.ts
···
1
-
import type { Browser, EvaluateFunc, Page } from 'puppeteer';
2
-
import puppeteer from 'puppeteer'
3
-
4
-
let _browser: Browser
5
-
let _page: Page
6
-
7
-
const start = async () => {
8
-
// This starts a new puppeteer browser (Chrome)
9
-
// and load the localhost page, this page will load the
10
-
// javascript modules (see server.js for more info)
11
-
_browser = await puppeteer.launch({
12
-
args: ['--no-sandbox', '--disable-setuid-sandbox'],
13
-
headless: true
14
-
})
15
-
_page = await _browser.newPage()
16
-
// _page.on('console', msg => console.log(msg.text()));
17
-
await _page.goto(`http://localhost:3000/`, {
18
-
waitUntil: 'networkidle0'
19
-
})
20
-
}
21
-
22
-
const stop = async () => {
23
-
await _page.close()
24
-
await _browser.close()
25
-
}
26
-
27
-
const evaluate = async (fn: EvaluateFunc<unknown[]>) => await _page.evaluate(fn)
28
-
29
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
30
-
const exposeFunction = async (name: string, fn: Function) =>
31
-
await _page.exposeFunction(name, fn)
32
-
33
-
export default {
34
-
evaluate,
35
-
exposeFunction,
36
-
start,
37
-
stop
38
-
}
···
-8
packages/openapi-ts-tests/main/test/e2e/scripts/cleanup.ts
-8
packages/openapi-ts-tests/main/test/e2e/scripts/cleanup.ts
-66
packages/openapi-ts-tests/main/test/e2e/scripts/compileWithTypescript.ts
-66
packages/openapi-ts-tests/main/test/e2e/scripts/compileWithTypescript.ts
···
1
-
import path from 'node:path'
2
-
3
-
import { EOL } from 'os'
4
-
import {
5
-
createCompilerHost,
6
-
createProgram,
7
-
formatDiagnosticsWithColorAndContext,
8
-
getPreEmitDiagnostics,
9
-
parseConfigFileTextToJson,
10
-
parseJsonConfigFileContent,
11
-
sys
12
-
} from 'typescript'
13
-
14
-
export const compileWithTypescript = (dir: string) => {
15
-
const cwd = `./test/e2e/generated/${dir}/`
16
-
const tsconfig = {
17
-
compilerOptions: {
18
-
allowSyntheticDefaultImports: true,
19
-
declaration: false,
20
-
declarationMap: false,
21
-
experimentalDecorators: true,
22
-
lib: ['es2020', 'dom'],
23
-
module: 'es2020',
24
-
moduleResolution: 'node',
25
-
noImplicitAny: true,
26
-
noImplicitReturns: true,
27
-
noImplicitThis: true,
28
-
skipLibCheck: true,
29
-
sourceMap: false,
30
-
strict: true,
31
-
target: 'es2020'
32
-
},
33
-
include: ['**/*.ts']
34
-
}
35
-
36
-
// Compile files to JavaScript (ES6 modules)
37
-
const configFile = parseConfigFileTextToJson(
38
-
'tsconfig.json',
39
-
JSON.stringify(tsconfig)
40
-
)
41
-
const configFileResult = parseJsonConfigFileContent(
42
-
configFile.config,
43
-
sys,
44
-
path.resolve(process.cwd(), cwd),
45
-
undefined,
46
-
'tsconfig.json'
47
-
)
48
-
const compilerHost = createCompilerHost(configFileResult.options)
49
-
const compiler = createProgram(
50
-
configFileResult.fileNames,
51
-
configFileResult.options,
52
-
compilerHost
53
-
)
54
-
const result = compiler.emit()
55
-
56
-
// Show errors or warnings
57
-
const diagnostics = getPreEmitDiagnostics(compiler).concat(result.diagnostics)
58
-
if (diagnostics.length) {
59
-
const message = formatDiagnosticsWithColorAndContext(diagnostics, {
60
-
getCanonicalFileName: f => f,
61
-
getCurrentDirectory: () => sys.getCurrentDirectory(),
62
-
getNewLine: () => EOL
63
-
})
64
-
console.log(message)
65
-
}
66
-
}
···
-8
packages/openapi-ts-tests/main/test/e2e/scripts/copyAsset.ts
-8
packages/openapi-ts-tests/main/test/e2e/scripts/copyAsset.ts
-27
packages/openapi-ts-tests/main/test/e2e/scripts/generateClient.ts
-27
packages/openapi-ts-tests/main/test/e2e/scripts/generateClient.ts
···
1
-
import { createClient } from '@hey-api/openapi-ts'
2
-
3
-
import type { PluginClientNames } from '../../../../../openapi-ts/src/plugins/types'
4
-
5
-
export const generateClient = async (
6
-
dir: string,
7
-
version: string,
8
-
client: PluginClientNames,
9
-
useOptions: boolean = false,
10
-
name?: string
11
-
) => {
12
-
await createClient({
13
-
input: `../specs/${version}.json`,
14
-
name,
15
-
output: `./test/e2e/generated/${dir}/`,
16
-
plugins: [
17
-
'@hey-api/typescript',
18
-
'@hey-api/schemas',
19
-
client,
20
-
{
21
-
asClass: true,
22
-
name: '@hey-api/sdk',
23
-
},
24
-
],
25
-
useOptions
26
-
})
27
-
}
···
-103
packages/openapi-ts-tests/main/test/e2e/scripts/server.ts
-103
packages/openapi-ts-tests/main/test/e2e/scripts/server.ts
···
1
-
import type { Server } from 'node:http'
2
-
import path from 'node:path'
3
-
4
-
import type { Express } from 'express';
5
-
import express from 'express'
6
-
7
-
let _app: Express
8
-
let _server: Server
9
-
10
-
const start = async (dir: string) =>
11
-
new Promise<void>(resolve => {
12
-
_app = express()
13
-
14
-
// Serve the JavaScript files from the specific folder, since we are using browser
15
-
// based ES6 modules, this also means that we can just request the js/index.js file
16
-
// and all other relative paths are resolved from that file.
17
-
_app.use(
18
-
'/js',
19
-
express.static(`./test/e2e/generated/${dir}/`, {
20
-
extensions: ['', 'js'],
21
-
index: 'index.js'
22
-
})
23
-
)
24
-
25
-
_app.use(
26
-
'/js',
27
-
express.static(`./test/e2e/generated/${dir}/`, {
28
-
extensions: ['', 'js'],
29
-
index: 'index.js'
30
-
})
31
-
)
32
-
33
-
// Serve static assets
34
-
_app.get('/runtime.js', (req, res) => {
35
-
res.sendFile(path.resolve(`./test/e2e/generated/${dir}/runtime.js`))
36
-
})
37
-
_app.get('/polyfills.js', (req, res) => {
38
-
res.sendFile(path.resolve(`./test/e2e/generated/${dir}/polyfills.js`))
39
-
})
40
-
_app.get('/vendor.js', (req, res) => {
41
-
res.sendFile(path.resolve(`./test/e2e/generated/${dir}/vendor.js`))
42
-
})
43
-
_app.get('/main.js', (req, res) => {
44
-
res.sendFile(path.resolve(`./test/e2e/generated/${dir}/main.js`))
45
-
})
46
-
_app.get('/styles.css', (req, res) => {
47
-
res.sendFile(path.resolve(`./test/e2e/generated/${dir}/styles.css`))
48
-
})
49
-
_app.get('/favicon.ico', (req, res) => {
50
-
res.sendFile(path.resolve(`./test/e2e/generated/${dir}/favicon.ico`))
51
-
})
52
-
_app.get('/', (req, res) => {
53
-
res.sendFile(path.resolve(`./test/e2e/generated/${dir}/index.html`))
54
-
})
55
-
56
-
// Register an 'echo' server for testing error codes. This will just grab the
57
-
// status code from the query and return the default response (and text) from Express.
58
-
// See the spec files for more information.
59
-
_app.all('/base/api/v1.0/error', (req, res) => {
60
-
const status = Number.parseInt(String(req.query.status), 10)
61
-
res.status(status).json({
62
-
message: 'hello world',
63
-
status
64
-
})
65
-
})
66
-
67
-
// Register an 'echo' server that just returns all data from the API calls.
68
-
// Although this might not be a 'correct' response, we can use this to test
69
-
// the majority of API calls.
70
-
_app.all('/base/api/v1.0/*', (req, res) => {
71
-
setTimeout(() => {
72
-
res.json({
73
-
body: req.body,
74
-
headers: req.headers,
75
-
hostname: req.hostname,
76
-
method: req.method,
77
-
path: req.path,
78
-
protocol: req.protocol,
79
-
query: req.query,
80
-
url: req.url
81
-
})
82
-
}, 100)
83
-
})
84
-
_server = _app.listen(3000, () => {
85
-
resolve()
86
-
})
87
-
})
88
-
89
-
const stop = async () =>
90
-
new Promise<void>((resolve, reject) => {
91
-
_server.close(err => {
92
-
if (err) {
93
-
reject(err)
94
-
} else {
95
-
resolve()
96
-
}
97
-
})
98
-
})
99
-
100
-
export default {
101
-
start,
102
-
stop
103
-
}
···
-62
packages/openapi-ts-tests/main/test/e2e/v2.angular.test.ts
-62
packages/openapi-ts-tests/main/test/e2e/v2.angular.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { buildAngularProject, createAngularProject } from './scripts/angular'
4
-
import browser from './scripts/browser'
5
-
import { cleanup } from './scripts/cleanup'
6
-
import { copyAsset } from './scripts/copyAsset'
7
-
import { generateClient } from './scripts/generateClient'
8
-
import server from './scripts/server'
9
-
10
-
describe('v2.angular', () => {
11
-
beforeAll(async () => {
12
-
cleanup('v2/angular')
13
-
createAngularProject('v2/angular', 'app')
14
-
await generateClient('v2/angular/app/src/client', 'v2', 'legacy/angular')
15
-
copyAsset('main-angular.ts', 'v2/angular/app/src/main.ts')
16
-
buildAngularProject('v2/angular', 'app', 'dist')
17
-
await server.start('v2/angular/app/dist/browser')
18
-
await browser.start()
19
-
}, 100000)
20
-
21
-
afterAll(async () => {
22
-
await browser.stop()
23
-
await server.stop()
24
-
})
25
-
26
-
it('requests token', async () => {
27
-
await browser.exposeFunction(
28
-
'tokenRequest',
29
-
vi.fn().mockResolvedValue('MY_TOKEN')
30
-
)
31
-
const result = await browser.evaluate(
32
-
async () =>
33
-
await new Promise(resolve => {
34
-
// @ts-expect-error
35
-
const { OpenAPI, SimpleService } = window.api
36
-
// @ts-expect-error
37
-
OpenAPI.TOKEN = window.tokenRequest
38
-
SimpleService.getCallWithoutParametersAndResponse().subscribe(resolve)
39
-
})
40
-
)
41
-
// @ts-expect-error
42
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
43
-
})
44
-
45
-
it('supports complex params', async () => {
46
-
const result = await browser.evaluate(
47
-
async () =>
48
-
await new Promise(resolve => {
49
-
// @ts-expect-error
50
-
const { ComplexService } = window.api
51
-
ComplexService.complexTypes({
52
-
first: {
53
-
second: {
54
-
third: 'Hello World!'
55
-
}
56
-
}
57
-
}).subscribe(resolve)
58
-
})
59
-
)
60
-
expect(result).toBeDefined()
61
-
})
62
-
})
···
-85
packages/openapi-ts-tests/main/test/e2e/v2.axios.test.ts
-85
packages/openapi-ts-tests/main/test/e2e/v2.axios.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('v2.axios', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v2/axios')
11
-
await generateClient('v2/axios', 'v2', 'legacy/axios')
12
-
compileWithTypescript('v2/axios')
13
-
await server.start('v2/axios')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v2/axios/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
27
-
expect(tokenRequest.mock.calls.length).toBe(1)
28
-
// @ts-expect-error
29
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
30
-
})
31
-
32
-
it('supports complex params', async () => {
33
-
const { ComplexService } = await import('./generated/v2/axios/index.js')
34
-
const result = await ComplexService.complexTypes({
35
-
// @ts-expect-error
36
-
first: {
37
-
second: {
38
-
third: 'Hello World!'
39
-
}
40
-
}
41
-
})
42
-
expect(result).toBeDefined()
43
-
})
44
-
})
45
-
46
-
describe('v2.axios useOptions', () => {
47
-
beforeAll(async () => {
48
-
cleanup('v2/axios')
49
-
await generateClient('v2/axios', 'v2', 'legacy/axios', true)
50
-
compileWithTypescript('v2/axios')
51
-
await server.start('v2/axios')
52
-
}, 40000)
53
-
54
-
afterAll(async () => {
55
-
await server.stop()
56
-
})
57
-
58
-
it('returns result body by default', async () => {
59
-
const { SimpleService } = await import('./generated/v2/axios/index.js')
60
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
61
-
// @ts-expect-error
62
-
expect(result.body).toBeUndefined()
63
-
})
64
-
65
-
it('returns result body', async () => {
66
-
const { SimpleService } = await import('./generated/v2/axios/index.js')
67
-
// @ts-expect-error
68
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
69
-
_result: 'body'
70
-
})
71
-
// @ts-expect-error
72
-
expect(result.body).toBeUndefined()
73
-
})
74
-
75
-
it('returns raw result', async ({ skip }) => {
76
-
skip()
77
-
const { SimpleService } = await import('./generated/v2/axios/index.js')
78
-
// @ts-expect-error
79
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
80
-
_result: 'raw'
81
-
})
82
-
// @ts-expect-error
83
-
expect(result.body).toBeDefined()
84
-
})
85
-
})
···
-84
packages/openapi-ts-tests/main/test/e2e/v2.fetch.test.ts
-84
packages/openapi-ts-tests/main/test/e2e/v2.fetch.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('v2.fetch', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v2/fetch')
11
-
await generateClient('v2/fetch', 'v2', 'legacy/fetch')
12
-
compileWithTypescript('v2/fetch')
13
-
await server.start('v2/fetch')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v2/fetch/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
27
-
// @ts-expect-error
28
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
29
-
})
30
-
31
-
it('supports complex params', async () => {
32
-
const { ComplexService } = await import('./generated/v2/fetch/index.js')
33
-
const result = await ComplexService.complexTypes({
34
-
// @ts-expect-error
35
-
first: {
36
-
second: {
37
-
third: 'Hello World!'
38
-
}
39
-
}
40
-
})
41
-
expect(result).toBeDefined()
42
-
})
43
-
})
44
-
45
-
describe('v2.fetch useOptions', () => {
46
-
beforeAll(async () => {
47
-
cleanup('v2/fetch')
48
-
await generateClient('v2/fetch', 'v2', 'legacy/fetch', true)
49
-
compileWithTypescript('v2/fetch')
50
-
await server.start('v2/fetch')
51
-
}, 40000)
52
-
53
-
afterAll(async () => {
54
-
await server.stop()
55
-
})
56
-
57
-
it('returns result body by default', async () => {
58
-
const { SimpleService } = await import('./generated/v2/fetch/index.js')
59
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
60
-
// @ts-expect-error
61
-
expect(result.body).toBeUndefined()
62
-
})
63
-
64
-
it('returns result body', async () => {
65
-
const { SimpleService } = await import('./generated/v2/fetch/index.js')
66
-
// @ts-expect-error
67
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
68
-
_result: 'body'
69
-
})
70
-
// @ts-expect-error
71
-
expect(result.body).toBeUndefined()
72
-
})
73
-
74
-
it('returns raw result', async ({ skip }) => {
75
-
skip()
76
-
const { SimpleService } = await import('./generated/v2/fetch/index.js')
77
-
// @ts-expect-error
78
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
79
-
_result: 'raw'
80
-
})
81
-
// @ts-expect-error
82
-
expect(result.body).toBeDefined()
83
-
})
84
-
})
···
-100
packages/openapi-ts-tests/main/test/e2e/v2.node.test.ts
-100
packages/openapi-ts-tests/main/test/e2e/v2.node.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('v2.node', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v2/node')
11
-
await generateClient('v2/node', 'v2', 'legacy/node')
12
-
compileWithTypescript('v2/node')
13
-
await server.start('v2/node')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v2/node/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
27
-
expect(tokenRequest.mock.calls.length).toBe(1)
28
-
// @ts-expect-error
29
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
30
-
})
31
-
32
-
it('supports complex params', async () => {
33
-
const { ComplexService } = await import('./generated/v2/node/index.js')
34
-
const result = await ComplexService.complexTypes({
35
-
// @ts-expect-error
36
-
first: {
37
-
second: {
38
-
third: 'Hello World!'
39
-
}
40
-
}
41
-
})
42
-
expect(result).toBeDefined()
43
-
})
44
-
45
-
it('can abort the request', async () => {
46
-
let error
47
-
try {
48
-
const { SimpleService } = await import('./generated/v2/node/index.js')
49
-
const promise = SimpleService.getCallWithoutParametersAndResponse()
50
-
setTimeout(() => {
51
-
promise.cancel()
52
-
}, 10)
53
-
await promise
54
-
} catch (e) {
55
-
error = (e as Error).message
56
-
}
57
-
expect(error).toContain('Request aborted')
58
-
})
59
-
})
60
-
61
-
describe('v2.node useOptions', () => {
62
-
beforeAll(async () => {
63
-
cleanup('v2/node')
64
-
await generateClient('v2/node', 'v2', 'legacy/node', true)
65
-
compileWithTypescript('v2/node')
66
-
await server.start('v2/node')
67
-
}, 40000)
68
-
69
-
afterAll(async () => {
70
-
await server.stop()
71
-
})
72
-
73
-
it('returns result body by default', async () => {
74
-
const { SimpleService } = await import('./generated/v2/node/index.js')
75
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
76
-
// @ts-expect-error
77
-
expect(result.body).toBeUndefined()
78
-
})
79
-
80
-
it('returns result body', async () => {
81
-
const { SimpleService } = await import('./generated/v2/node/index.js')
82
-
// @ts-expect-error
83
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
84
-
_result: 'body'
85
-
})
86
-
// @ts-expect-error
87
-
expect(result.body).toBeUndefined()
88
-
})
89
-
90
-
it('returns raw result', async ({ skip }) => {
91
-
skip()
92
-
const { SimpleService } = await import('./generated/v2/node/index.js')
93
-
// @ts-expect-error
94
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
95
-
_result: 'raw'
96
-
})
97
-
// @ts-expect-error
98
-
expect(result.body).toBeDefined()
99
-
})
100
-
})
···
-84
packages/openapi-ts-tests/main/test/e2e/v2.xhr.test.ts
-84
packages/openapi-ts-tests/main/test/e2e/v2.xhr.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe.skip('v2.xhr', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v2/xhr')
11
-
await generateClient('v2/xhr', 'v2', 'legacy/xhr')
12
-
compileWithTypescript('v2/xhr')
13
-
await server.start('v2/xhr')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v2/xhr/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
27
-
// @ts-expect-error
28
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
29
-
})
30
-
31
-
it('supports complex params', async () => {
32
-
const { ComplexService } = await import('./generated/v2/xhr/index.js')
33
-
const result = await ComplexService.complexTypes({
34
-
// @ts-expect-error
35
-
first: {
36
-
second: {
37
-
third: 'Hello World!'
38
-
}
39
-
}
40
-
})
41
-
expect(result).toBeDefined()
42
-
})
43
-
})
44
-
45
-
describe.skip('v2.xhr useOptions', () => {
46
-
beforeAll(async () => {
47
-
cleanup('v2/xhr')
48
-
await generateClient('v2/xhr', 'v2', 'legacy/xhr', true)
49
-
compileWithTypescript('v2/xhr')
50
-
await server.start('v2/xhr')
51
-
}, 40000)
52
-
53
-
afterAll(async () => {
54
-
await server.stop()
55
-
})
56
-
57
-
it('returns result body by default', async () => {
58
-
const { SimpleService } = await import('./generated/v2/xhr/index.js')
59
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
60
-
// @ts-expect-error
61
-
expect(result.body).toBeUndefined()
62
-
})
63
-
64
-
it('returns result body', async () => {
65
-
const { SimpleService } = await import('./generated/v2/xhr/index.js')
66
-
// @ts-expect-error
67
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
68
-
_result: 'body'
69
-
})
70
-
// @ts-expect-error
71
-
expect(result.body).toBeUndefined()
72
-
})
73
-
74
-
it('returns raw result', async ({ skip }) => {
75
-
skip()
76
-
const { SimpleService } = await import('./generated/v2/xhr/index.js')
77
-
// @ts-expect-error
78
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
79
-
_result: 'raw'
80
-
})
81
-
// @ts-expect-error
82
-
expect(result.body).toBeDefined()
83
-
})
84
-
})
···
-173
packages/openapi-ts-tests/main/test/e2e/v3.angular.test.ts
-173
packages/openapi-ts-tests/main/test/e2e/v3.angular.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { buildAngularProject, createAngularProject } from './scripts/angular'
4
-
import browser from './scripts/browser'
5
-
import { cleanup } from './scripts/cleanup'
6
-
import { copyAsset } from './scripts/copyAsset'
7
-
import { generateClient } from './scripts/generateClient'
8
-
import server from './scripts/server'
9
-
10
-
describe('v3.angular', () => {
11
-
beforeAll(async () => {
12
-
cleanup('v3/angular')
13
-
createAngularProject('v3/angular', 'app')
14
-
await generateClient('v3/angular/app/src/client', 'v3', 'legacy/angular')
15
-
copyAsset('main-angular.ts', 'v3/angular/app/src/main.ts')
16
-
buildAngularProject('v3/angular', 'app', 'dist')
17
-
await server.start('v3/angular/app/dist/browser')
18
-
await browser.start()
19
-
}, 100000)
20
-
21
-
afterAll(async () => {
22
-
await browser.stop()
23
-
await server.stop()
24
-
})
25
-
26
-
it('requests token', async () => {
27
-
await browser.exposeFunction(
28
-
'tokenRequest',
29
-
vi.fn().mockResolvedValue('MY_TOKEN')
30
-
)
31
-
const result = await browser.evaluate(
32
-
async () =>
33
-
await new Promise(resolve => {
34
-
// @ts-expect-error
35
-
const { OpenAPI, SimpleService } = window.api
36
-
// @ts-expect-error
37
-
OpenAPI.TOKEN = window.tokenRequest
38
-
OpenAPI.USERNAME = undefined
39
-
OpenAPI.PASSWORD = undefined
40
-
SimpleService.getCallWithoutParametersAndResponse().subscribe(resolve)
41
-
})
42
-
)
43
-
// @ts-expect-error
44
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
45
-
})
46
-
47
-
it('uses credentials', async () => {
48
-
const result = await browser.evaluate(
49
-
async () =>
50
-
await new Promise(resolve => {
51
-
// @ts-expect-error
52
-
const { OpenAPI, SimpleService } = window.api
53
-
OpenAPI.TOKEN = undefined
54
-
OpenAPI.USERNAME = 'username'
55
-
OpenAPI.PASSWORD = 'password'
56
-
SimpleService.getCallWithoutParametersAndResponse().subscribe(resolve)
57
-
})
58
-
)
59
-
// @ts-expect-error
60
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
61
-
})
62
-
63
-
it('supports complex params', async () => {
64
-
const result = await browser.evaluate(
65
-
async () =>
66
-
await new Promise(resolve => {
67
-
// @ts-expect-error
68
-
const { ComplexService } = window.api
69
-
ComplexService.complexTypes({
70
-
first: {
71
-
second: {
72
-
third: 'Hello World!'
73
-
}
74
-
}
75
-
}).subscribe(resolve)
76
-
})
77
-
)
78
-
expect(result).toBeDefined()
79
-
})
80
-
81
-
it('support form data', async () => {
82
-
const result = await browser.evaluate(
83
-
async () =>
84
-
await new Promise(resolve => {
85
-
// @ts-expect-error
86
-
const { ParametersService } = window.api
87
-
ParametersService.callWithParameters(
88
-
'valueHeader',
89
-
'valueQuery',
90
-
'valueForm',
91
-
'valueCookie',
92
-
'valuePath',
93
-
{
94
-
prop: 'valueBody'
95
-
}
96
-
).subscribe(resolve)
97
-
})
98
-
)
99
-
expect(result).toBeDefined()
100
-
})
101
-
102
-
it('should throw known error (500)', async () => {
103
-
const error = await browser.evaluate(async () => {
104
-
try {
105
-
await new Promise((resolve, reject) => {
106
-
// @ts-expect-error
107
-
const { ErrorService } = window.api
108
-
ErrorService.testErrorCode(500).subscribe(resolve, reject)
109
-
})
110
-
} catch (error) {
111
-
return JSON.stringify({
112
-
body: error.body,
113
-
message: error.message,
114
-
name: error.name,
115
-
status: error.status,
116
-
statusText: error.statusText,
117
-
url: error.url
118
-
})
119
-
}
120
-
return
121
-
})
122
-
expect(error).toBe(
123
-
JSON.stringify({
124
-
body: {
125
-
message: 'hello world',
126
-
status: 500
127
-
},
128
-
message: 'Custom message: Internal Server Error',
129
-
name: 'ApiError',
130
-
status: 500,
131
-
statusText: 'Internal Server Error',
132
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
133
-
})
134
-
)
135
-
})
136
-
137
-
it('should throw unknown error (599)', async () => {
138
-
const error = await browser.evaluate(async () => {
139
-
// @ts-expect-error
140
-
const { ErrorService } = window.api
141
-
try {
142
-
await new Promise((resolve, reject) => {
143
-
// const { ErrorService } = window.api;
144
-
ErrorService.testErrorCode(599).subscribe(resolve, reject)
145
-
})
146
-
} catch (error) {
147
-
return JSON.stringify({
148
-
body: error.body,
149
-
message: error.message,
150
-
name: error.name,
151
-
status: error.status,
152
-
statusText: error.statusText,
153
-
url: error.url
154
-
})
155
-
}
156
-
return
157
-
})
158
-
expect(error).toBe(
159
-
JSON.stringify({
160
-
body: {
161
-
message: 'hello world',
162
-
status: 599
163
-
},
164
-
message:
165
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
166
-
name: 'ApiError',
167
-
status: 599,
168
-
statusText: 'unknown',
169
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
170
-
})
171
-
)
172
-
})
173
-
})
···
-208
packages/openapi-ts-tests/main/test/e2e/v3.axios.test.ts
-208
packages/openapi-ts-tests/main/test/e2e/v3.axios.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('v3.axios', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v3/axios')
11
-
await generateClient('v3/axios', 'v3', 'legacy/axios')
12
-
compileWithTypescript('v3/axios')
13
-
await server.start('v3/axios')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v3/axios/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
OpenAPI.USERNAME = undefined
27
-
OpenAPI.PASSWORD = undefined
28
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
29
-
expect(tokenRequest.mock.calls.length).toBe(1)
30
-
// @ts-expect-error
31
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
32
-
})
33
-
34
-
it('uses credentials', async () => {
35
-
const { OpenAPI, SimpleService } = await import(
36
-
'./generated/v3/axios/index.js'
37
-
)
38
-
OpenAPI.TOKEN = undefined
39
-
OpenAPI.USERNAME = 'username'
40
-
OpenAPI.PASSWORD = 'password'
41
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
42
-
// @ts-expect-error
43
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
44
-
})
45
-
46
-
it('supports complex params', async () => {
47
-
const { ComplexService } = await import('./generated/v3/axios/index.js')
48
-
const result = await ComplexService.complexTypes({
49
-
// @ts-expect-error
50
-
first: {
51
-
second: {
52
-
third: 'Hello World!'
53
-
}
54
-
}
55
-
})
56
-
expect(result).toBeDefined()
57
-
})
58
-
59
-
it('supports form data', async () => {
60
-
const { ParametersService } = await import('./generated/v3/axios/index.js')
61
-
// @ts-expect-error
62
-
const result = await ParametersService.callWithParameters(
63
-
'valueHeader',
64
-
// @ts-expect-error
65
-
'valueQuery',
66
-
'valueForm',
67
-
'valueCookie',
68
-
'valuePath',
69
-
{
70
-
prop: 'valueBody'
71
-
}
72
-
)
73
-
expect(result).toBeDefined()
74
-
})
75
-
76
-
it('can abort the request', async () => {
77
-
let error
78
-
try {
79
-
const { SimpleService } = await import('./generated/v3/axios/index.js')
80
-
const promise = SimpleService.getCallWithoutParametersAndResponse()
81
-
setTimeout(() => {
82
-
promise.cancel()
83
-
}, 10)
84
-
await promise
85
-
} catch (e) {
86
-
error = (e as Error).message
87
-
}
88
-
expect(error).toContain('Request aborted')
89
-
})
90
-
91
-
it('should throw known error (500)', async () => {
92
-
let error
93
-
try {
94
-
const { ErrorService } = await import('./generated/v3/axios/index.js')
95
-
// @ts-expect-error
96
-
await ErrorService.testErrorCode(500)
97
-
} catch (err) {
98
-
error = JSON.stringify({
99
-
body: err.body,
100
-
message: err.message,
101
-
name: err.name,
102
-
status: err.status,
103
-
statusText: err.statusText,
104
-
url: err.url
105
-
})
106
-
}
107
-
expect(error).toBe(
108
-
JSON.stringify({
109
-
body: {
110
-
message: 'hello world',
111
-
status: 500
112
-
},
113
-
message: 'Custom message: Internal Server Error',
114
-
name: 'ApiError',
115
-
status: 500,
116
-
statusText: 'Internal Server Error',
117
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
118
-
})
119
-
)
120
-
})
121
-
122
-
it('should throw unknown error (599)', async () => {
123
-
let error
124
-
try {
125
-
const { ErrorService } = await import('./generated/v3/axios/index.js')
126
-
// @ts-expect-error
127
-
await ErrorService.testErrorCode(599)
128
-
} catch (err) {
129
-
error = JSON.stringify({
130
-
body: err.body,
131
-
message: err.message,
132
-
name: err.name,
133
-
status: err.status,
134
-
statusText: err.statusText,
135
-
url: err.url
136
-
})
137
-
}
138
-
expect(error).toBe(
139
-
JSON.stringify({
140
-
body: {
141
-
message: 'hello world',
142
-
status: 599
143
-
},
144
-
message:
145
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
146
-
name: 'ApiError',
147
-
status: 599,
148
-
statusText: 'unknown',
149
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
150
-
})
151
-
)
152
-
})
153
-
154
-
it('it should parse query params', async () => {
155
-
const { ParametersService } = await import('./generated/v3/axios/index.js')
156
-
const result = await ParametersService.postCallWithOptionalParam({
157
-
// @ts-expect-error
158
-
page: 0,
159
-
size: 1,
160
-
sort: ['location']
161
-
})
162
-
// @ts-expect-error
163
-
expect(result.query).toStrictEqual({
164
-
parameter: { page: '0', size: '1', sort: 'location' }
165
-
})
166
-
})
167
-
})
168
-
169
-
describe('v3.axios useOptions', () => {
170
-
beforeAll(async () => {
171
-
cleanup('v3/axios')
172
-
await generateClient('v3/axios', 'v3', 'legacy/axios', true)
173
-
compileWithTypescript('v3/axios')
174
-
await server.start('v3/axios')
175
-
}, 40000)
176
-
177
-
afterAll(async () => {
178
-
await server.stop()
179
-
})
180
-
181
-
it('returns result body by default', async () => {
182
-
const { SimpleService } = await import('./generated/v3/axios/index.js')
183
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
184
-
// @ts-expect-error
185
-
expect(result.body).toBeUndefined()
186
-
})
187
-
188
-
it('returns result body', async () => {
189
-
const { SimpleService } = await import('./generated/v3/axios/index.js')
190
-
// @ts-expect-error
191
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
192
-
_result: 'body'
193
-
})
194
-
// @ts-expect-error
195
-
expect(result.body).toBeUndefined()
196
-
})
197
-
198
-
it('returns raw result', async ({ skip }) => {
199
-
skip()
200
-
const { SimpleService } = await import('./generated/v3/axios/index.js')
201
-
// @ts-expect-error
202
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
203
-
_result: 'raw'
204
-
})
205
-
// @ts-expect-error
206
-
expect(result.body).toBeDefined()
207
-
})
208
-
})
···
-216
packages/openapi-ts-tests/main/test/e2e/v3.fetch.test.ts
-216
packages/openapi-ts-tests/main/test/e2e/v3.fetch.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('v3.fetch', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v3/fetch')
11
-
await generateClient('v3/fetch', 'v3', 'legacy/fetch')
12
-
compileWithTypescript('v3/fetch')
13
-
await server.start('v3/fetch')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v3/fetch/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
OpenAPI.USERNAME = undefined
27
-
OpenAPI.PASSWORD = undefined
28
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
29
-
expect(tokenRequest.mock.calls.length).toBe(1)
30
-
// @ts-expect-error
31
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
32
-
})
33
-
34
-
it('uses credentials', async () => {
35
-
const { OpenAPI, SimpleService } = await import(
36
-
'./generated/v3/fetch/index.js'
37
-
)
38
-
OpenAPI.TOKEN = undefined
39
-
OpenAPI.USERNAME = 'username'
40
-
OpenAPI.PASSWORD = 'password'
41
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
42
-
// @ts-expect-error
43
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
44
-
})
45
-
46
-
it('supports complex params', async () => {
47
-
const { ComplexService } = await import('./generated/v3/fetch/index.js')
48
-
const result = await ComplexService.complexTypes({
49
-
// @ts-expect-error
50
-
first: {
51
-
second: {
52
-
third: 'Hello World!'
53
-
}
54
-
}
55
-
})
56
-
expect(result).toBeDefined()
57
-
})
58
-
59
-
it('support form data', async () => {
60
-
const { ParametersService } = await import('./generated/v3/fetch/index.js')
61
-
const result = await ParametersService.callWithParameters(
62
-
'valueHeader',
63
-
// @ts-expect-error
64
-
'valueQuery',
65
-
'valueForm',
66
-
'valueCookie',
67
-
'valuePath',
68
-
{
69
-
prop: 'valueBody'
70
-
}
71
-
)
72
-
expect(result).toBeDefined()
73
-
})
74
-
75
-
it('support blob response data', async () => {
76
-
const { FileResponseService } = await import(
77
-
'./generated/v3/fetch/index.js'
78
-
)
79
-
// @ts-expect-error
80
-
const result = await FileResponseService.fileResponse('test')
81
-
expect(result).toBeDefined()
82
-
})
83
-
84
-
it('can abort the request', async () => {
85
-
let error
86
-
try {
87
-
const { SimpleService } = await import('./generated/v3/fetch/index.js')
88
-
const promise = SimpleService.getCallWithoutParametersAndResponse()
89
-
setTimeout(() => {
90
-
promise.cancel()
91
-
}, 10)
92
-
await promise
93
-
} catch (e) {
94
-
error = (e as Error).message
95
-
}
96
-
expect(error).toContain('Request aborted')
97
-
})
98
-
99
-
it('should throw known error (500)', async () => {
100
-
let error
101
-
try {
102
-
const { ErrorService } = await import('./generated/v3/fetch/index.js')
103
-
// @ts-expect-error
104
-
await ErrorService.testErrorCode(500)
105
-
} catch (err) {
106
-
error = JSON.stringify({
107
-
body: err.body,
108
-
message: err.message,
109
-
name: err.name,
110
-
status: err.status,
111
-
statusText: err.statusText,
112
-
url: err.url
113
-
})
114
-
}
115
-
expect(error).toBe(
116
-
JSON.stringify({
117
-
body: {
118
-
message: 'hello world',
119
-
status: 500
120
-
},
121
-
message: 'Custom message: Internal Server Error',
122
-
name: 'ApiError',
123
-
status: 500,
124
-
statusText: 'Internal Server Error',
125
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
126
-
})
127
-
)
128
-
})
129
-
130
-
it('should throw unknown error (599)', async () => {
131
-
let error
132
-
try {
133
-
const { ErrorService } = await import('./generated/v3/fetch/index.js')
134
-
// @ts-expect-error
135
-
await ErrorService.testErrorCode(599)
136
-
} catch (err) {
137
-
error = JSON.stringify({
138
-
body: err.body,
139
-
message: err.message,
140
-
name: err.name,
141
-
status: err.status,
142
-
statusText: err.statusText,
143
-
url: err.url
144
-
})
145
-
}
146
-
expect(error).toBe(
147
-
JSON.stringify({
148
-
body: {
149
-
message: 'hello world',
150
-
status: 599
151
-
},
152
-
message:
153
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
154
-
name: 'ApiError',
155
-
status: 599,
156
-
statusText: 'unknown',
157
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
158
-
})
159
-
)
160
-
})
161
-
162
-
it('it should parse query params', async () => {
163
-
const { ParametersService } = await import('./generated/v3/fetch/index.js')
164
-
const result = await ParametersService.postCallWithOptionalParam({
165
-
// @ts-expect-error
166
-
page: 0,
167
-
size: 1,
168
-
sort: ['location']
169
-
})
170
-
// @ts-expect-error
171
-
expect(result.query).toStrictEqual({
172
-
parameter: { page: '0', size: '1', sort: 'location' }
173
-
})
174
-
})
175
-
})
176
-
177
-
describe('v3.fetch useOptions', () => {
178
-
beforeAll(async () => {
179
-
cleanup('v3/fetch')
180
-
await generateClient('v3/fetch', 'v3', 'legacy/fetch', true)
181
-
compileWithTypescript('v3/fetch')
182
-
await server.start('v3/fetch')
183
-
}, 40000)
184
-
185
-
afterAll(async () => {
186
-
await server.stop()
187
-
})
188
-
189
-
it('returns result body by default', async () => {
190
-
const { SimpleService } = await import('./generated/v3/fetch/index.js')
191
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
192
-
// @ts-expect-error
193
-
expect(result.body).toBeUndefined()
194
-
})
195
-
196
-
it('returns result body', async () => {
197
-
const { SimpleService } = await import('./generated/v3/fetch/index.js')
198
-
// @ts-expect-error
199
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
200
-
_result: 'body'
201
-
})
202
-
// @ts-expect-error
203
-
expect(result.body).toBeUndefined()
204
-
})
205
-
206
-
it('returns raw result', async ({ skip }) => {
207
-
skip()
208
-
const { SimpleService } = await import('./generated/v3/fetch/index.js')
209
-
// @ts-expect-error
210
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
211
-
_result: 'raw'
212
-
})
213
-
// @ts-expect-error
214
-
expect(result.body).toBeDefined()
215
-
})
216
-
})
···
-214
packages/openapi-ts-tests/main/test/e2e/v3.node.test.ts
-214
packages/openapi-ts-tests/main/test/e2e/v3.node.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe('v3.node', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v3/node')
11
-
await generateClient('v3/node', 'v3', 'legacy/node')
12
-
compileWithTypescript('v3/node')
13
-
await server.start('v3/node')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v3/node/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
OpenAPI.USERNAME = undefined
27
-
OpenAPI.PASSWORD = undefined
28
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
29
-
expect(tokenRequest.mock.calls.length).toBe(1)
30
-
// @ts-expect-error
31
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
32
-
})
33
-
34
-
it('uses credentials', async () => {
35
-
const { OpenAPI, SimpleService } = await import(
36
-
'./generated/v3/node/index.js'
37
-
)
38
-
OpenAPI.TOKEN = undefined
39
-
OpenAPI.USERNAME = 'username'
40
-
OpenAPI.PASSWORD = 'password'
41
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
42
-
// @ts-expect-error
43
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
44
-
})
45
-
46
-
it('supports complex params', async () => {
47
-
const { ComplexService } = await import('./generated/v3/node/index.js')
48
-
const result = await ComplexService.complexTypes({
49
-
// @ts-expect-error
50
-
first: {
51
-
second: {
52
-
third: 'Hello World!'
53
-
}
54
-
}
55
-
})
56
-
expect(result).toBeDefined()
57
-
})
58
-
59
-
it('support form data', async () => {
60
-
const { ParametersService } = await import('./generated/v3/node/index.js')
61
-
const result = await ParametersService.callWithParameters(
62
-
'valueHeader',
63
-
// @ts-expect-error
64
-
'valueQuery',
65
-
'valueForm',
66
-
'valueCookie',
67
-
'valuePath',
68
-
{
69
-
prop: 'valueBody'
70
-
}
71
-
)
72
-
expect(result).toBeDefined()
73
-
})
74
-
75
-
it('support blob response data', async () => {
76
-
const { FileResponseService } = await import('./generated/v3/node/index.js')
77
-
// @ts-expect-error
78
-
const result = await FileResponseService.fileResponse('test')
79
-
expect(result).toBeDefined()
80
-
})
81
-
82
-
it('can abort the request', async () => {
83
-
let error
84
-
try {
85
-
const { SimpleService } = await import('./generated/v3/node/index.js')
86
-
const promise = SimpleService.getCallWithoutParametersAndResponse()
87
-
setTimeout(() => {
88
-
promise.cancel()
89
-
}, 10)
90
-
await promise
91
-
} catch (e) {
92
-
error = (e as Error).message
93
-
}
94
-
expect(error).toContain('Request aborted')
95
-
})
96
-
97
-
it('should throw known error (500)', async () => {
98
-
let error
99
-
try {
100
-
const { ErrorService } = await import('./generated/v3/node/index.js')
101
-
// @ts-expect-error
102
-
await ErrorService.testErrorCode(500)
103
-
} catch (err) {
104
-
error = JSON.stringify({
105
-
body: err.body,
106
-
message: err.message,
107
-
name: err.name,
108
-
status: err.status,
109
-
statusText: err.statusText,
110
-
url: err.url
111
-
})
112
-
}
113
-
expect(error).toBe(
114
-
JSON.stringify({
115
-
body: {
116
-
message: 'hello world',
117
-
status: 500
118
-
},
119
-
message: 'Custom message: Internal Server Error',
120
-
name: 'ApiError',
121
-
status: 500,
122
-
statusText: 'Internal Server Error',
123
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
124
-
})
125
-
)
126
-
})
127
-
128
-
it('should throw unknown error (599)', async () => {
129
-
let error
130
-
try {
131
-
const { ErrorService } = await import('./generated/v3/node/index.js')
132
-
// @ts-expect-error
133
-
await ErrorService.testErrorCode(599)
134
-
} catch (err) {
135
-
error = JSON.stringify({
136
-
body: err.body,
137
-
message: err.message,
138
-
name: err.name,
139
-
status: err.status,
140
-
statusText: err.statusText,
141
-
url: err.url
142
-
})
143
-
}
144
-
expect(error).toBe(
145
-
JSON.stringify({
146
-
body: {
147
-
message: 'hello world',
148
-
status: 599
149
-
},
150
-
message:
151
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
152
-
name: 'ApiError',
153
-
status: 599,
154
-
statusText: 'unknown',
155
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
156
-
})
157
-
)
158
-
})
159
-
160
-
it('it should parse query params', async () => {
161
-
const { ParametersService } = await import('./generated/v3/node/index.js')
162
-
const result = await ParametersService.postCallWithOptionalParam({
163
-
// @ts-expect-error
164
-
page: 0,
165
-
size: 1,
166
-
sort: ['location']
167
-
})
168
-
// @ts-expect-error
169
-
expect(result.query).toStrictEqual({
170
-
parameter: { page: '0', size: '1', sort: 'location' }
171
-
})
172
-
})
173
-
})
174
-
175
-
describe('v3.node useOptions', () => {
176
-
beforeAll(async () => {
177
-
cleanup('v3/node')
178
-
await generateClient('v3/node', 'v3', 'legacy/node', true)
179
-
compileWithTypescript('v3/node')
180
-
await server.start('v3/node')
181
-
}, 40000)
182
-
183
-
afterAll(async () => {
184
-
await server.stop()
185
-
})
186
-
187
-
it('returns result body by default', async () => {
188
-
const { SimpleService } = await import('./generated/v3/node/index.js')
189
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
190
-
// @ts-expect-error
191
-
expect(result.body).toBeUndefined()
192
-
})
193
-
194
-
it('returns result body', async () => {
195
-
const { SimpleService } = await import('./generated/v3/node/index.js')
196
-
// @ts-expect-error
197
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
198
-
_result: 'body'
199
-
})
200
-
// @ts-expect-error
201
-
expect(result.body).toBeUndefined()
202
-
})
203
-
204
-
it('returns raw result', async ({ skip }) => {
205
-
skip()
206
-
const { SimpleService } = await import('./generated/v3/node/index.js')
207
-
// @ts-expect-error
208
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
209
-
_result: 'raw'
210
-
})
211
-
// @ts-expect-error
212
-
expect(result.body).toBeDefined()
213
-
})
214
-
})
···
-207
packages/openapi-ts-tests/main/test/e2e/v3.xhr.test.ts
-207
packages/openapi-ts-tests/main/test/e2e/v3.xhr.test.ts
···
1
-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'
2
-
3
-
import { cleanup } from './scripts/cleanup'
4
-
import { compileWithTypescript } from './scripts/compileWithTypescript'
5
-
import { generateClient } from './scripts/generateClient'
6
-
import server from './scripts/server'
7
-
8
-
describe.skip('v3.xhr', () => {
9
-
beforeAll(async () => {
10
-
cleanup('v3/xhr')
11
-
await generateClient('v3/xhr', 'v3', 'legacy/xhr')
12
-
compileWithTypescript('v3/xhr')
13
-
await server.start('v3/xhr')
14
-
}, 40000)
15
-
16
-
afterAll(async () => {
17
-
await server.stop()
18
-
})
19
-
20
-
it('requests token', async () => {
21
-
const { OpenAPI, SimpleService } = await import(
22
-
'./generated/v3/xhr/index.js'
23
-
)
24
-
const tokenRequest = vi.fn().mockResolvedValue('MY_TOKEN')
25
-
OpenAPI.TOKEN = tokenRequest
26
-
OpenAPI.USERNAME = undefined
27
-
OpenAPI.PASSWORD = undefined
28
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
29
-
expect(tokenRequest.mock.calls.length).toBe(1)
30
-
// @ts-expect-error
31
-
expect(result.headers.authorization).toBe('Bearer MY_TOKEN')
32
-
})
33
-
34
-
it('uses credentials', async () => {
35
-
const { OpenAPI, SimpleService } = await import(
36
-
'./generated/v3/xhr/index.js'
37
-
)
38
-
OpenAPI.TOKEN = undefined
39
-
OpenAPI.USERNAME = 'username'
40
-
OpenAPI.PASSWORD = 'password'
41
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
42
-
// @ts-expect-error
43
-
expect(result.headers.authorization).toBe('Basic dXNlcm5hbWU6cGFzc3dvcmQ=')
44
-
})
45
-
46
-
it('supports complex params', async () => {
47
-
const { ComplexService } = await import('./generated/v3/xhr/index.js')
48
-
const result = await ComplexService.complexTypes({
49
-
// @ts-expect-error
50
-
first: {
51
-
second: {
52
-
third: 'Hello World!'
53
-
}
54
-
}
55
-
})
56
-
expect(result).toBeDefined()
57
-
})
58
-
59
-
it('support form data', async () => {
60
-
const { ParametersService } = await import('./generated/v3/xhr/index.js')
61
-
const result = await ParametersService.callWithParameters(
62
-
'valueHeader',
63
-
// @ts-expect-error
64
-
'valueQuery',
65
-
'valueForm',
66
-
'valueCookie',
67
-
'valuePath',
68
-
{
69
-
prop: 'valueBody'
70
-
}
71
-
)
72
-
expect(result).toBeDefined()
73
-
})
74
-
75
-
it('can abort the request', async () => {
76
-
let error
77
-
try {
78
-
const { SimpleService } = await import('./generated/v3/xhr/index.js')
79
-
const promise = SimpleService.getCallWithoutParametersAndResponse()
80
-
setTimeout(() => {
81
-
promise.cancel()
82
-
}, 10)
83
-
await promise
84
-
} catch (e) {
85
-
error = (e as Error).message
86
-
}
87
-
expect(error).toContain('Request aborted')
88
-
})
89
-
90
-
it('should throw known error (500)', async () => {
91
-
let error
92
-
try {
93
-
const { ErrorService } = await import('./generated/v3/xhr/index.js')
94
-
// @ts-expect-error
95
-
await ErrorService.testErrorCode(500)
96
-
} catch (err) {
97
-
error = JSON.stringify({
98
-
body: err.body,
99
-
message: err.message,
100
-
name: err.name,
101
-
status: err.status,
102
-
statusText: err.statusText,
103
-
url: err.url
104
-
})
105
-
}
106
-
expect(error).toBe(
107
-
JSON.stringify({
108
-
body: {
109
-
message: 'hello world',
110
-
status: 500
111
-
},
112
-
message: 'Custom message: Internal Server Error',
113
-
name: 'ApiError',
114
-
status: 500,
115
-
statusText: 'Internal Server Error',
116
-
url: 'http://localhost:3000/base/api/v1.0/error?status=500'
117
-
})
118
-
)
119
-
})
120
-
121
-
it('should throw unknown error (599)', async () => {
122
-
let error
123
-
try {
124
-
const { ErrorService } = await import('./generated/v3/xhr/index.js')
125
-
// @ts-expect-error
126
-
await ErrorService.testErrorCode(599)
127
-
} catch (err) {
128
-
error = JSON.stringify({
129
-
body: err.body,
130
-
message: err.message,
131
-
name: err.name,
132
-
status: err.status,
133
-
statusText: err.statusText,
134
-
url: err.url
135
-
})
136
-
}
137
-
expect(error).toBe(
138
-
JSON.stringify({
139
-
body: {
140
-
message: 'hello world',
141
-
status: 599
142
-
},
143
-
message:
144
-
'Generic Error: status: 599; status text: unknown; body: {\n "message": "hello world",\n "status": 599\n}',
145
-
name: 'ApiError',
146
-
status: 599,
147
-
statusText: 'unknown',
148
-
url: 'http://localhost:3000/base/api/v1.0/error?status=599'
149
-
})
150
-
)
151
-
})
152
-
153
-
it('it should parse query params', async () => {
154
-
const { ParametersService } = await import('./generated/v3/xhr/index.js')
155
-
const result = await ParametersService.postCallWithOptionalParam({
156
-
// @ts-expect-error
157
-
page: 0,
158
-
size: 1,
159
-
sort: ['location']
160
-
})
161
-
// @ts-expect-error
162
-
expect(result.query).toStrictEqual({
163
-
parameter: { page: '0', size: '1', sort: 'location' }
164
-
})
165
-
})
166
-
})
167
-
168
-
describe.skip('v3.xhr useOptions', () => {
169
-
beforeAll(async () => {
170
-
cleanup('v3/xhr')
171
-
await generateClient('v3/xhr', 'v3', 'legacy/xhr', true)
172
-
compileWithTypescript('v3/xhr')
173
-
await server.start('v3/xhr')
174
-
}, 40000)
175
-
176
-
afterAll(async () => {
177
-
await server.stop()
178
-
})
179
-
180
-
it('returns result body by default', async () => {
181
-
const { SimpleService } = await import('./generated/v3/xhr/index.js')
182
-
const result = await SimpleService.getCallWithoutParametersAndResponse()
183
-
// @ts-expect-error
184
-
expect(result.body).toBeUndefined()
185
-
})
186
-
187
-
it('returns result body', async () => {
188
-
const { SimpleService } = await import('./generated/v3/xhr/index.js')
189
-
// @ts-expect-error
190
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
191
-
_result: 'body'
192
-
})
193
-
// @ts-expect-error
194
-
expect(result.body).toBeUndefined()
195
-
})
196
-
197
-
it('returns raw result', async ({ skip }) => {
198
-
skip()
199
-
const { SimpleService } = await import('./generated/v3/xhr/index.js')
200
-
// @ts-expect-error
201
-
const result = await SimpleService.getCallWithoutParametersAndResponse({
202
-
_result: 'raw'
203
-
})
204
-
// @ts-expect-error
205
-
expect(result.body).toBeDefined()
206
-
})
207
-
})
···
+1
-1
packages/openapi-ts-tests/main/tsconfig.json
+1
-1
packages/openapi-ts-tests/main/tsconfig.json
-15
packages/openapi-ts-tests/main/vitest.config.e2e.ts
-15
packages/openapi-ts-tests/main/vitest.config.e2e.ts
···
1
-
import { fileURLToPath } from 'node:url';
2
-
3
-
import { createVitestConfig } from '@config/vite-base';
4
-
5
-
export default createVitestConfig(
6
-
fileURLToPath(new URL('./', import.meta.url)),
7
-
{
8
-
test: {
9
-
// Dont run tests in parallel. This is to ensure the test server can start up.
10
-
// And that the port was not previously taken.
11
-
fileParallelism: false,
12
-
include: ['test/e2e/**/*.test.ts'],
13
-
},
14
-
},
15
-
);
···
+7
packages/openapi-ts-tests/main/vitest.config.ts
+7
packages/openapi-ts-tests/main/vitest.config.ts
-12
packages/openapi-ts-tests/main/vitest.config.unit.ts
-12
packages/openapi-ts-tests/main/vitest.config.unit.ts
···
1
-
import { fileURLToPath } from 'node:url';
2
-
3
-
import { createVitestConfig } from '@config/vite-base';
4
-
import { configDefaults } from 'vitest/config';
5
-
export default createVitestConfig(
6
-
fileURLToPath(new URL('./', import.meta.url)),
7
-
{
8
-
test: {
9
-
exclude: [...configDefaults.exclude, 'test/e2e/**/*.test.ts'],
10
-
},
11
-
},
12
-
);
···
+1
-1
packages/openapi-ts/tsconfig.json
+1
-1
packages/openapi-ts/tsconfig.json
+76
-648
pnpm-lock.yaml
+76
-648
pnpm-lock.yaml
···
170
devDependencies:
171
'@angular-devkit/build-angular':
172
specifier: 19.2.0
173
-
version: 19.2.0(2d14940f40ec266edc773a5f5d918fb0)
174
'@angular/cli':
175
specifier: 19.2.0
176
version: 19.2.0(@types/node@22.10.5)(chokidar@4.0.3)
···
264
devDependencies:
265
'@angular-devkit/build-angular':
266
specifier: 19.2.0
267
-
version: 19.2.0(c051f58b50ee906cd14109939270cbce)
268
'@angular/cli':
269
specifier: 19.2.0
270
version: 19.2.0(@types/node@22.10.5)(chokidar@4.0.3)
···
825
devDependencies:
826
'@angular-devkit/build-angular':
827
specifier: ^19.2.15
828
-
version: 19.2.15(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.0(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(fc183c600d5538ac11e1814ee07b5dfc))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))(yaml@2.8.0)
829
'@angular/cli':
830
specifier: ^19.2.15
831
version: 19.2.15(@types/node@22.10.5)(chokidar@4.0.3)
···
1143
specifier: 1.7.4
1144
version: 1.7.4
1145
nuxt:
1146
-
specifier: '>= 3.0.0 < 4'
1147
version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
1148
vue:
1149
-
specifier: '>= 3.5.13 < 4'
1150
version: 3.5.13(typescript@5.8.3)
1151
devDependencies:
1152
'@config/vite-base':
···
1260
version: 3.3.2
1261
nuxt:
1262
specifier: 3.14.1592
1263
-
version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
1264
prettier:
1265
specifier: 3.4.2
1266
version: 3.4.2
···
1290
devDependencies:
1291
'@angular-devkit/build-angular':
1292
specifier: 19.2.0
1293
-
version: 19.2.0(15a86fe5dd2abc83e2961d572f8e7511)
1294
'@angular/animations':
1295
specifier: 19.2.0
1296
version: 19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))
···
1351
'@types/cross-spawn':
1352
specifier: 6.0.6
1353
version: 6.0.6
1354
-
'@types/express':
1355
-
specifier: 4.17.21
1356
-
version: 4.17.21
1357
axios:
1358
specifier: 1.8.2
1359
version: 1.8.2
···
1363
eslint:
1364
specifier: 9.17.0
1365
version: 9.17.0(jiti@2.5.1)
1366
-
express:
1367
-
specifier: 4.21.0
1368
-
version: 4.21.0
1369
fastify:
1370
specifier: 5.2.0
1371
version: 5.2.0
···
1377
version: 3.3.2
1378
nuxt:
1379
specifier: 3.14.1592
1380
-
version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
1381
prettier:
1382
specifier: 3.4.2
1383
version: 3.4.2
1384
-
puppeteer:
1385
-
specifier: 22.12.1
1386
-
version: 22.12.1(typescript@5.8.3)
1387
rxjs:
1388
specifier: 7.8.1
1389
version: 7.8.1
···
4613
'@poppinss/exception@1.2.2':
4614
resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==}
4615
4616
-
'@puppeteer/browsers@2.2.3':
4617
-
resolution: {integrity: sha512-bJ0UBsk0ESOs6RFcLXOt99a3yTDcOKlzfjad+rhFwdaG1Lu/Wzq58GHYCDTlZ9z6mldf4g+NTb+TXEfe0PpnsQ==}
4618
-
engines: {node: '>=18'}
4619
-
hasBin: true
4620
-
4621
'@radix-ui/colors@3.0.0':
4622
resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==}
4623
···
5864
'@vue/composition-api':
5865
optional: true
5866
5867
-
'@tootallnate/quickjs-emscripten@0.23.0':
5868
-
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
5869
-
5870
'@tsconfig/node10@1.0.11':
5871
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
5872
···
6909
ast-types-flow@0.0.8:
6910
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
6911
6912
-
ast-types@0.13.4:
6913
-
resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
6914
-
engines: {node: '>=4'}
6915
-
6916
ast-walker-scope@0.6.2:
6917
resolution: {integrity: sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==}
6918
engines: {node: '>=16.14.0'}
···
7005
bare-events@2.6.1:
7006
resolution: {integrity: sha512-AuTJkq9XmE6Vk0FJVNq5QxETrSA/vKHarWVBG5l/JbdCL1prJemiyJqUS0jrlXO0MftuPq4m3YVYhoNc5+aE/g==}
7007
7008
-
bare-fs@2.3.5:
7009
-
resolution: {integrity: sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==}
7010
-
7011
-
bare-os@2.4.4:
7012
-
resolution: {integrity: sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==}
7013
-
7014
-
bare-path@2.1.3:
7015
-
resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==}
7016
-
7017
-
bare-stream@2.7.0:
7018
-
resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==}
7019
-
peerDependencies:
7020
-
bare-buffer: '*'
7021
-
bare-events: '*'
7022
-
peerDependenciesMeta:
7023
-
bare-buffer:
7024
-
optional: true
7025
-
bare-events:
7026
-
optional: true
7027
-
7028
base64-js@1.5.1:
7029
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
7030
7031
base64id@2.0.0:
7032
resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==}
7033
engines: {node: ^4.5.0 || >= 5.9}
7034
-
7035
-
basic-ftp@5.0.5:
7036
-
resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
7037
-
engines: {node: '>=10.0.0'}
7038
7039
batch@0.6.1:
7040
resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
···
7261
chrome-trace-event@1.0.4:
7262
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
7263
engines: {node: '>=6.0'}
7264
-
7265
-
chromium-bidi@0.5.24:
7266
-
resolution: {integrity: sha512-5xQNN2SVBdZv4TxeMLaI+PelrnZsHDhn8h2JtyriLr+0qHcZS8BMuo93qN6J1VmtmrgYP+rmcLHcbpnA8QJh+w==}
7267
-
peerDependencies:
7268
-
devtools-protocol: '*'
7269
7270
ci-info@3.9.0:
7271
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
···
7650
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
7651
engines: {node: '>= 12'}
7652
7653
-
data-uri-to-buffer@6.0.2:
7654
-
resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
7655
-
engines: {node: '>= 14'}
7656
-
7657
data-urls@5.0.0:
7658
resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
7659
engines: {node: '>=18'}
···
7796
defu@6.1.4:
7797
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
7798
7799
-
degenerator@5.0.1:
7800
-
resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
7801
-
engines: {node: '>= 14'}
7802
-
7803
delayed-stream@1.0.0:
7804
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
7805
engines: {node: '>=0.4.0'}
···
7894
7895
devlop@1.1.0:
7896
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
7897
-
7898
-
devtools-protocol@0.0.1299070:
7899
-
resolution: {integrity: sha512-+qtL3eX50qsJ7c+qVyagqi7AWMoQCBGNfoyJZMwm/NSXVqLYbuitrWEEIzxfUmTNy7//Xe8yhMmQ+elj3uAqSg==}
7900
7901
di@0.0.1:
7902
resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==}
···
8762
get-tsconfig@4.10.1:
8763
resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
8764
8765
-
get-uri@6.0.5:
8766
-
resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==}
8767
-
engines: {node: '>= 14'}
8768
-
8769
giget@1.2.5:
8770
resolution: {integrity: sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==}
8771
hasBin: true
···
9822
lru-cache@5.1.1:
9823
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
9824
9825
-
lru-cache@6.0.0:
9826
-
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
9827
-
engines: {node: '>=10'}
9828
-
9829
-
lru-cache@7.18.3:
9830
-
resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
9831
-
engines: {node: '>=12'}
9832
-
9833
luxon@3.7.1:
9834
resolution: {integrity: sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==}
9835
engines: {node: '>=12'}
···
10280
resolution: {integrity: sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==}
10281
engines: {node: ^14.16.0 || >=16.0.0}
10282
10283
-
netmask@2.0.2:
10284
-
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
10285
-
engines: {node: '>= 0.4.0'}
10286
-
10287
next@15.2.4:
10288
resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==}
10289
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
···
10681
p-wait-for@5.0.2:
10682
resolution: {integrity: sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==}
10683
engines: {node: '>=12'}
10684
-
10685
-
pac-proxy-agent@7.2.0:
10686
-
resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==}
10687
-
engines: {node: '>= 14'}
10688
-
10689
-
pac-resolver@7.0.1:
10690
-
resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
10691
-
engines: {node: '>= 14'}
10692
10693
package-json-from-dist@1.0.1:
10694
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
···
11253
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
11254
engines: {node: '>= 0.6.0'}
11255
11256
-
progress@2.0.3:
11257
-
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
11258
-
engines: {node: '>=0.4.0'}
11259
-
11260
promise-retry@2.0.1:
11261
resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
11262
engines: {node: '>=10'}
···
11281
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
11282
engines: {node: '>= 0.10'}
11283
11284
-
proxy-agent@6.4.0:
11285
-
resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
11286
-
engines: {node: '>= 14'}
11287
-
11288
proxy-from-env@1.1.0:
11289
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
11290
···
11311
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
11312
engines: {node: '>=6'}
11313
11314
-
puppeteer-core@22.12.1:
11315
-
resolution: {integrity: sha512-XmqeDPVdC5/3nGJys1jbgeoZ02wP0WV1GBlPtr/ULRbGXJFuqgXMcKQ3eeNtFpBzGRbpeoCGWHge1ZWKWl0Exw==}
11316
-
engines: {node: '>=18'}
11317
-
11318
-
puppeteer@22.12.1:
11319
-
resolution: {integrity: sha512-1GxY8dnEnHr1SLzdSDr0FCjM6JQfAh2E2I/EqzeF8a58DbGVk9oVjj4lFdqNoVbpgFSpAbz7VER9St7S1wDpNg==}
11320
-
engines: {node: '>=18'}
11321
-
deprecated: < 24.9.0 is no longer supported
11322
-
hasBin: true
11323
-
11324
qjobs@1.2.0:
11325
resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==}
11326
engines: {node: '>=0.9'}
···
11768
11769
semver@6.3.1:
11770
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
11771
-
hasBin: true
11772
-
11773
-
semver@7.6.0:
11774
-
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
11775
-
engines: {node: '>=10'}
11776
hasBin: true
11777
11778
semver@7.7.1:
···
12273
resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
12274
engines: {node: '>=6'}
12275
12276
-
tar-fs@3.0.5:
12277
-
resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==}
12278
-
12279
tar-stream@3.1.7:
12280
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
12281
···
12342
12343
thread-stream@3.1.0:
12344
resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
12345
-
12346
-
through@2.3.8:
12347
-
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
12348
12349
thunky@1.1.0:
12350
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
···
12652
typescript:
12653
optional: true
12654
12655
-
unbzip2-stream@1.4.3:
12656
-
resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
12657
-
12658
uncrypto@0.1.3:
12659
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
12660
···
12879
12880
url-parse@1.5.10:
12881
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
12882
-
12883
-
urlpattern-polyfill@10.0.0:
12884
-
resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==}
12885
12886
urlpattern-polyfill@10.1.0:
12887
resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==}
···
13737
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
13738
engines: {node: '>= 14'}
13739
13740
-
zod@3.23.8:
13741
-
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
13742
-
13743
zod@3.25.3:
13744
resolution: {integrity: sha512-VGZqnyYNrl8JpEJRZaFPqeVNIuqgXNu4cXZ5cOb6zEUO1OxKbRnWB4UdDIXMmiERWncs0yDQukssHov8JUxykQ==}
13745
···
13780
transitivePeerDependencies:
13781
- chokidar
13782
13783
-
'@angular-devkit/build-angular@19.2.0(15a86fe5dd2abc83e2961d572f8e7511)':
13784
dependencies:
13785
'@ampproject/remapping': 2.3.0
13786
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
13787
-
'@angular-devkit/build-webpack': 0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.9)))(webpack@5.98.0(esbuild@0.25.0))
13788
'@angular-devkit/core': 19.2.0(chokidar@4.0.3)
13789
-
'@angular/build': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(typescript@5.8.3))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/platform-server@19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))))(@angular/ssr@19.2.15(9944558d2409a9f62c85c46d55b3507e))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
13790
-
'@angular/compiler-cli': 19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(typescript@5.8.3)
13791
'@babel/core': 7.26.9
13792
'@babel/generator': 7.26.9
13793
'@babel/helper-annotate-as-pure': 7.25.9
···
13798
'@babel/preset-env': 7.26.9(@babel/core@7.26.9)
13799
'@babel/runtime': 7.26.9
13800
'@discoveryjs/json-ext': 0.6.3
13801
-
'@ngtools/webpack': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.0))
13802
-
'@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
13803
ansi-colors: 4.1.3
13804
autoprefixer: 10.4.20(postcss@8.5.2)
13805
babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(esbuild@0.25.0))
···
13836
typescript: 5.8.3
13837
webpack: 5.98.0(esbuild@0.25.9)
13838
webpack-dev-middleware: 7.4.2(webpack@5.98.0(esbuild@0.25.9))
13839
-
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.9))
13840
webpack-merge: 6.0.1
13841
webpack-subresource-integrity: 5.1.0(webpack@5.98.0(esbuild@0.25.9))
13842
optionalDependencies:
13843
-
'@angular/platform-server': 19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))
13844
-
'@angular/ssr': 19.2.15(9944558d2409a9f62c85c46d55b3507e)
13845
esbuild: 0.25.0
13846
karma: 6.4.4
13847
tailwindcss: 3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3))
···
13868
- webpack-cli
13869
- yaml
13870
13871
-
'@angular-devkit/build-angular@19.2.0(2d14940f40ec266edc773a5f5d918fb0)':
13872
dependencies:
13873
'@ampproject/remapping': 2.3.0
13874
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
13875
-
'@angular-devkit/build-webpack': 0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.9)))(webpack@5.98.0(esbuild@0.25.0))
13876
'@angular-devkit/core': 19.2.0(chokidar@4.0.3)
13877
-
'@angular/build': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/platform-server@19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(5c03da8199d2fcdf9ff93b70f9349edd))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
13878
-
'@angular/compiler-cli': 19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3)
13879
'@babel/core': 7.26.9
13880
'@babel/generator': 7.26.9
13881
'@babel/helper-annotate-as-pure': 7.25.9
···
13886
'@babel/preset-env': 7.26.9(@babel/core@7.26.9)
13887
'@babel/runtime': 7.26.9
13888
'@discoveryjs/json-ext': 0.6.3
13889
-
'@ngtools/webpack': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.0))
13890
-
'@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))
13891
ansi-colors: 4.1.3
13892
autoprefixer: 10.4.20(postcss@8.5.2)
13893
babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(esbuild@0.25.0))
···
13924
typescript: 5.8.3
13925
webpack: 5.98.0(esbuild@0.25.9)
13926
webpack-dev-middleware: 7.4.2(webpack@5.98.0(esbuild@0.25.9))
13927
-
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.9))
13928
webpack-merge: 6.0.1
13929
webpack-subresource-integrity: 5.1.0(webpack@5.98.0(esbuild@0.25.9))
13930
optionalDependencies:
13931
-
'@angular/platform-server': 19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))
13932
-
'@angular/ssr': 19.2.15(5c03da8199d2fcdf9ff93b70f9349edd)
13933
esbuild: 0.25.0
13934
karma: 6.4.4
13935
tailwindcss: 3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3))
···
13956
- webpack-cli
13957
- yaml
13958
13959
-
'@angular-devkit/build-angular@19.2.0(c051f58b50ee906cd14109939270cbce)':
13960
dependencies:
13961
'@ampproject/remapping': 2.3.0
13962
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
13963
-
'@angular-devkit/build-webpack': 0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.9)))(webpack@5.98.0(esbuild@0.25.0))
13964
'@angular-devkit/core': 19.2.0(chokidar@4.0.3)
13965
'@angular/build': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/platform-server@19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(5c03da8199d2fcdf9ff93b70f9349edd))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
13966
'@angular/compiler-cli': 19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3)
···
13975
'@babel/runtime': 7.26.9
13976
'@discoveryjs/json-ext': 0.6.3
13977
'@ngtools/webpack': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.0))
13978
-
'@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
13979
ansi-colors: 4.1.3
13980
autoprefixer: 10.4.20(postcss@8.5.2)
13981
babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(esbuild@0.25.0))
···
14012
typescript: 5.8.3
14013
webpack: 5.98.0(esbuild@0.25.9)
14014
webpack-dev-middleware: 7.4.2(webpack@5.98.0(esbuild@0.25.9))
14015
-
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.9))
14016
webpack-merge: 6.0.1
14017
webpack-subresource-integrity: 5.1.0(webpack@5.98.0(esbuild@0.25.9))
14018
optionalDependencies:
···
14044
- webpack-cli
14045
- yaml
14046
14047
-
'@angular-devkit/build-angular@19.2.15(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.0(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(fc183c600d5538ac11e1814ee07b5dfc))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))(yaml@2.8.0)':
14048
dependencies:
14049
'@ampproject/remapping': 2.3.0
14050
'@angular-devkit/architect': 0.1902.15(chokidar@4.0.3)
···
14063
'@babel/runtime': 7.26.10
14064
'@discoveryjs/json-ext': 0.6.3
14065
'@ngtools/webpack': 19.2.15(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.9))
14066
-
'@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))
14067
ansi-colors: 4.1.3
14068
autoprefixer: 10.4.20(postcss@8.5.2)
14069
babel-loader: 9.2.1(@babel/core@7.26.10)(webpack@5.98.0(esbuild@0.25.9))
···
14132
- webpack-cli
14133
- yaml
14134
14135
-
'@angular-devkit/build-webpack@0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.9)))(webpack@5.98.0(esbuild@0.25.0))':
14136
dependencies:
14137
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
14138
rxjs: 7.8.1
14139
webpack: 5.98.0(esbuild@0.25.9)
14140
-
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.9))
14141
transitivePeerDependencies:
14142
- chokidar
14143
···
17633
17634
'@nuxt/devalue@2.0.2': {}
17635
17636
-
'@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))':
17637
-
dependencies:
17638
-
'@nuxt/kit': 3.15.4(magicast@0.3.5)
17639
-
'@nuxt/schema': 3.16.2
17640
-
execa: 7.2.0
17641
-
vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
17642
-
transitivePeerDependencies:
17643
-
- magicast
17644
-
- supports-color
17645
-
17646
-
'@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
17647
-
dependencies:
17648
-
'@nuxt/kit': 3.15.4(magicast@0.3.5)
17649
-
'@nuxt/schema': 3.16.2
17650
-
execa: 7.2.0
17651
-
vite: 6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
17652
-
transitivePeerDependencies:
17653
-
- magicast
17654
-
- supports-color
17655
-
17656
'@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
17657
dependencies:
17658
'@nuxt/kit': 3.15.4(magicast@0.3.5)
···
17709
semver: 7.7.2
17710
simple-git: 3.28.0
17711
sirv: 3.0.1
17712
-
tinyglobby: 0.2.10
17713
unimport: 3.14.6(rollup@3.29.5)
17714
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
17715
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@3.29.5)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
···
17723
- utf-8-validate
17724
- vue
17725
17726
-
'@nuxt/devtools@1.7.0(rollup@4.49.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))':
17727
dependencies:
17728
'@antfu/utils': 0.7.10
17729
-
'@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
17730
'@nuxt/devtools-wizard': 1.7.0
17731
'@nuxt/kit': 3.15.4(magicast@0.3.5)
17732
-
'@vue/devtools-core': 7.6.8(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))
17733
'@vue/devtools-kit': 7.6.8
17734
birpc: 0.2.19
17735
consola: 3.4.2
···
17756
semver: 7.7.2
17757
simple-git: 3.28.0
17758
sirv: 3.0.1
17759
-
tinyglobby: 0.2.10
17760
unimport: 3.14.6(rollup@4.49.0)
17761
-
vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
17762
-
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
17763
-
vite-plugin-vue-inspector: 5.3.2(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
17764
-
which: 3.0.1
17765
-
ws: 8.18.3
17766
-
transitivePeerDependencies:
17767
-
- bufferutil
17768
-
- rollup
17769
-
- supports-color
17770
-
- utf-8-validate
17771
-
- vue
17772
-
17773
-
'@nuxt/devtools@1.7.0(rollup@4.49.0)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))':
17774
-
dependencies:
17775
-
'@antfu/utils': 0.7.10
17776
-
'@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
17777
-
'@nuxt/devtools-wizard': 1.7.0
17778
-
'@nuxt/kit': 3.15.4(magicast@0.3.5)
17779
-
'@vue/devtools-core': 7.6.8(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))
17780
-
'@vue/devtools-kit': 7.6.8
17781
-
birpc: 0.2.19
17782
-
consola: 3.4.2
17783
-
cronstrue: 2.59.0
17784
-
destr: 2.0.5
17785
-
error-stack-parser-es: 0.1.5
17786
-
execa: 7.2.0
17787
-
fast-npm-meta: 0.2.2
17788
-
flatted: 3.3.3
17789
-
get-port-please: 3.2.0
17790
-
hookable: 5.5.3
17791
-
image-meta: 0.2.1
17792
-
is-installed-globally: 1.0.0
17793
-
launch-editor: 2.11.1
17794
-
local-pkg: 0.5.1
17795
-
magicast: 0.3.5
17796
-
nypm: 0.4.1
17797
-
ohash: 1.1.6
17798
-
pathe: 1.1.2
17799
-
perfect-debounce: 1.0.0
17800
-
pkg-types: 1.3.1
17801
-
rc9: 2.1.2
17802
-
scule: 1.3.0
17803
-
semver: 7.7.2
17804
-
simple-git: 3.28.0
17805
-
sirv: 3.0.1
17806
-
tinyglobby: 0.2.10
17807
-
unimport: 3.14.6(rollup@4.49.0)
17808
-
vite: 6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
17809
-
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
17810
-
vite-plugin-vue-inspector: 5.3.2(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
17811
which: 3.0.1
17812
ws: 8.18.3
17813
transitivePeerDependencies:
···
17850
semver: 7.7.2
17851
simple-git: 3.28.0
17852
sirv: 3.0.1
17853
-
tinyglobby: 0.2.10
17854
unimport: 3.14.6(rollup@4.49.0)
17855
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
17856
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
···
18373
supports-color: 10.2.0
18374
18375
'@poppinss/exception@1.2.2': {}
18376
-
18377
-
'@puppeteer/browsers@2.2.3':
18378
-
dependencies:
18379
-
debug: 4.3.4
18380
-
extract-zip: 2.0.1
18381
-
progress: 2.0.3
18382
-
proxy-agent: 6.4.0
18383
-
semver: 7.6.0
18384
-
tar-fs: 3.0.5
18385
-
unbzip2-stream: 1.4.3
18386
-
yargs: 17.7.2
18387
-
transitivePeerDependencies:
18388
-
- bare-buffer
18389
-
- supports-color
18390
18391
'@radix-ui/colors@3.0.0': {}
18392
···
19610
vue: 3.5.13(typescript@5.8.3)
19611
vue-demi: 0.14.10(vue@3.5.13(typescript@5.8.3))
19612
19613
-
'@tootallnate/quickjs-emscripten@0.23.0': {}
19614
-
19615
'@tsconfig/node10@1.0.11': {}
19616
19617
'@tsconfig/node12@1.0.11': {}
···
20108
dependencies:
20109
'@mapbox/node-pre-gyp': 2.0.0(encoding@0.1.13)
20110
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
20111
-
acorn: 8.14.0
20112
-
acorn-import-attributes: 1.9.5(acorn@8.14.0)
20113
async-sema: 3.1.1
20114
bindings: 1.5.0
20115
estree-walker: 2.0.2
···
20131
dependencies:
20132
vite: 6.2.7(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0)
20133
20134
-
'@vitejs/plugin-basic-ssl@1.2.0(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))':
20135
dependencies:
20136
-
vite: 6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0)
20137
20138
-
'@vitejs/plugin-basic-ssl@1.2.0(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
20139
dependencies:
20140
-
vite: 6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
20141
20142
'@vitejs/plugin-react@4.4.0-beta.1(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
20143
dependencies:
···
20435
dependencies:
20436
'@vue/devtools-kit': 8.0.1
20437
20438
-
'@vue/devtools-core@7.6.8(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))':
20439
-
dependencies:
20440
-
'@vue/devtools-kit': 7.6.8
20441
-
'@vue/devtools-shared': 7.7.7
20442
-
mitt: 3.0.1
20443
-
nanoid: 5.1.5
20444
-
pathe: 1.1.2
20445
-
vite-hot-client: 0.2.4(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
20446
-
vue: 3.5.13(typescript@5.8.3)
20447
-
transitivePeerDependencies:
20448
-
- vite
20449
-
20450
-
'@vue/devtools-core@7.6.8(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))':
20451
-
dependencies:
20452
-
'@vue/devtools-kit': 7.6.8
20453
-
'@vue/devtools-shared': 7.7.7
20454
-
mitt: 3.0.1
20455
-
nanoid: 5.1.5
20456
-
pathe: 1.1.2
20457
-
vite-hot-client: 0.2.4(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
20458
-
vue: 3.5.13(typescript@5.8.3)
20459
-
transitivePeerDependencies:
20460
-
- vite
20461
-
20462
'@vue/devtools-core@7.6.8(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))':
20463
dependencies:
20464
-
'@vue/devtools-kit': 7.6.8
20465
'@vue/devtools-shared': 7.7.7
20466
mitt: 3.0.1
20467
nanoid: 5.1.5
···
20473
20474
'@vue/devtools-core@7.6.8(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.9.2))':
20475
dependencies:
20476
-
'@vue/devtools-kit': 7.6.8
20477
'@vue/devtools-shared': 7.7.7
20478
mitt: 3.0.1
20479
nanoid: 5.1.5
···
20779
mime-types: 2.1.35
20780
negotiator: 0.6.3
20781
20782
-
acorn-import-attributes@1.9.5(acorn@8.14.0):
20783
dependencies:
20784
-
acorn: 8.14.0
20785
20786
acorn-jsx@5.3.2(acorn@7.4.1):
20787
dependencies:
···
20991
ast-module-types@6.0.1: {}
20992
20993
ast-types-flow@0.0.8: {}
20994
-
20995
-
ast-types@0.13.4:
20996
-
dependencies:
20997
-
tslib: 2.8.1
20998
20999
ast-walker-scope@0.6.2:
21000
dependencies:
···
21151
bare-events@2.6.1:
21152
optional: true
21153
21154
-
bare-fs@2.3.5:
21155
-
dependencies:
21156
-
bare-events: 2.6.1
21157
-
bare-path: 2.1.3
21158
-
bare-stream: 2.7.0(bare-events@2.6.1)
21159
-
transitivePeerDependencies:
21160
-
- bare-buffer
21161
-
optional: true
21162
-
21163
-
bare-os@2.4.4:
21164
-
optional: true
21165
-
21166
-
bare-path@2.1.3:
21167
-
dependencies:
21168
-
bare-os: 2.4.4
21169
-
optional: true
21170
-
21171
-
bare-stream@2.7.0(bare-events@2.6.1):
21172
-
dependencies:
21173
-
streamx: 2.22.1
21174
-
optionalDependencies:
21175
-
bare-events: 2.6.1
21176
-
optional: true
21177
-
21178
base64-js@1.5.1: {}
21179
21180
base64id@2.0.0: {}
21181
-
21182
-
basic-ftp@5.0.5: {}
21183
21184
batch@0.6.1: {}
21185
···
21448
chownr@3.0.0: {}
21449
21450
chrome-trace-event@1.0.4: {}
21451
-
21452
-
chromium-bidi@0.5.24(devtools-protocol@0.0.1299070):
21453
-
dependencies:
21454
-
devtools-protocol: 0.0.1299070
21455
-
mitt: 3.0.1
21456
-
urlpattern-polyfill: 10.0.0
21457
-
zod: 3.23.8
21458
21459
ci-info@3.9.0: {}
21460
···
21851
21852
data-uri-to-buffer@4.0.1: {}
21853
21854
-
data-uri-to-buffer@6.0.2: {}
21855
-
21856
data-urls@5.0.0:
21857
dependencies:
21858
whatwg-mimetype: 4.0.0
···
21949
21950
defu@6.1.4: {}
21951
21952
-
degenerator@5.0.1:
21953
-
dependencies:
21954
-
ast-types: 0.13.4
21955
-
escodegen: 2.1.0
21956
-
esprima: 4.0.1
21957
-
21958
delayed-stream@1.0.0: {}
21959
21960
denque@2.1.0: {}
···
22040
devlop@1.1.0:
22041
dependencies:
22042
dequal: 2.0.3
22043
-
22044
-
devtools-protocol@0.0.1299070: {}
22045
22046
di@0.0.1: {}
22047
···
22535
'@typescript-eslint/parser': 8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3)
22536
eslint: 9.17.0(jiti@2.5.1)
22537
eslint-import-resolver-node: 0.3.9
22538
-
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.17.0(jiti@2.5.1))
22539
-
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1))
22540
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.17.0(jiti@2.5.1))
22541
eslint-plugin-react: 7.37.5(eslint@9.17.0(jiti@2.5.1))
22542
eslint-plugin-react-hooks: 5.2.0(eslint@9.17.0(jiti@2.5.1))
···
22559
transitivePeerDependencies:
22560
- supports-color
22561
22562
-
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.17.0(jiti@2.5.1)):
22563
dependencies:
22564
'@nolyfill/is-core-module': 1.0.39
22565
debug: 4.4.1
···
22570
tinyglobby: 0.2.14
22571
unrs-resolver: 1.11.1
22572
optionalDependencies:
22573
-
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1))
22574
transitivePeerDependencies:
22575
- supports-color
22576
22577
-
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1)):
22578
dependencies:
22579
debug: 3.2.7
22580
optionalDependencies:
22581
'@typescript-eslint/parser': 8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3)
22582
eslint: 9.17.0(jiti@2.5.1)
22583
eslint-import-resolver-node: 0.3.9
22584
-
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.17.0(jiti@2.5.1))
22585
transitivePeerDependencies:
22586
- supports-color
22587
22588
-
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1)):
22589
dependencies:
22590
'@rtsao/scc': 1.1.0
22591
array-includes: 3.1.9
···
22596
doctrine: 2.1.0
22597
eslint: 9.17.0(jiti@2.5.1)
22598
eslint-import-resolver-node: 0.3.9
22599
-
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1))
22600
hasown: 2.0.2
22601
is-core-module: 2.16.1
22602
is-glob: 4.0.3
···
23329
get-tsconfig@4.10.1:
23330
dependencies:
23331
resolve-pkg-maps: 1.0.0
23332
-
23333
-
get-uri@6.0.5:
23334
-
dependencies:
23335
-
basic-ftp: 5.0.5
23336
-
data-uri-to-buffer: 6.0.2
23337
-
debug: 4.3.4
23338
-
transitivePeerDependencies:
23339
-
- supports-color
23340
23341
giget@1.2.5:
23342
dependencies:
···
24526
dependencies:
24527
yallist: 3.1.1
24528
24529
-
lru-cache@6.0.0:
24530
-
dependencies:
24531
-
yallist: 4.0.0
24532
-
24533
-
lru-cache@7.18.3: {}
24534
-
24535
luxon@3.7.1: {}
24536
24537
magic-regexp@0.8.0:
···
25082
p-wait-for: 5.0.2
25083
qs: 6.14.0
25084
25085
-
netmask@2.0.2: {}
25086
-
25087
next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.85.0):
25088
dependencies:
25089
'@next/env': 15.2.4
···
25486
- vue-tsc
25487
- xml2js
25488
25489
-
nuxt@3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
25490
dependencies:
25491
'@nuxt/devalue': 2.0.2
25492
-
'@nuxt/devtools': 1.7.0(rollup@4.49.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))
25493
-
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.49.0)
25494
-
'@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.49.0)
25495
-
'@nuxt/telemetry': 2.6.6(magicast@0.3.5)
25496
-
'@nuxt/vite-builder': 3.14.1592(@types/node@22.10.5)(eslint@9.17.0(jiti@2.5.1))(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))
25497
-
'@unhead/dom': 1.11.20
25498
-
'@unhead/shared': 1.11.20
25499
-
'@unhead/ssr': 1.11.20
25500
-
'@unhead/vue': 1.11.20(vue@3.5.13(typescript@5.8.3))
25501
-
'@vue/shared': 3.5.20
25502
-
acorn: 8.14.0
25503
-
c12: 2.0.1(magicast@0.3.5)
25504
-
chokidar: 4.0.3
25505
-
compatx: 0.1.8
25506
-
consola: 3.4.2
25507
-
cookie-es: 1.2.2
25508
-
defu: 6.1.4
25509
-
destr: 2.0.5
25510
-
devalue: 5.3.2
25511
-
errx: 0.1.0
25512
-
esbuild: 0.24.2
25513
-
escape-string-regexp: 5.0.0
25514
-
estree-walker: 3.0.3
25515
-
globby: 14.1.0
25516
-
h3: 1.15.4
25517
-
hookable: 5.5.3
25518
-
ignore: 6.0.2
25519
-
impound: 0.2.2(rollup@4.49.0)
25520
-
jiti: 2.5.1
25521
-
klona: 2.0.6
25522
-
knitwork: 1.2.0
25523
-
magic-string: 0.30.18
25524
-
mlly: 1.7.4
25525
-
nanotar: 0.1.1
25526
-
nitropack: 2.12.4(@netlify/blobs@9.1.2)(encoding@0.1.13)
25527
-
nuxi: 3.28.0
25528
-
nypm: 0.3.12
25529
-
ofetch: 1.4.1
25530
-
ohash: 1.1.6
25531
-
pathe: 1.1.2
25532
-
perfect-debounce: 1.0.0
25533
-
pkg-types: 1.3.1
25534
-
radix3: 1.1.2
25535
-
scule: 1.3.0
25536
-
semver: 7.7.2
25537
-
std-env: 3.9.0
25538
-
strip-literal: 2.1.1
25539
-
tinyglobby: 0.2.10
25540
-
ufo: 1.6.1
25541
-
ultrahtml: 1.6.0
25542
-
uncrypto: 0.1.3
25543
-
unctx: 2.4.1
25544
-
unenv: 1.10.0
25545
-
unhead: 1.11.20
25546
-
unimport: 3.14.6(rollup@4.49.0)
25547
-
unplugin: 1.16.1
25548
-
unplugin-vue-router: 0.10.9(rollup@4.49.0)(vue-router@4.5.0(vue@3.5.13(typescript@5.8.3)))(vue@3.5.13(typescript@5.8.3))
25549
-
unstorage: 1.17.0(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.7.0)
25550
-
untyped: 1.5.2
25551
-
vue: 3.5.13(typescript@5.8.3)
25552
-
vue-bundle-renderer: 2.1.2
25553
-
vue-devtools-stub: 0.1.0
25554
-
vue-router: 4.5.0(vue@3.5.13(typescript@5.8.3))
25555
-
optionalDependencies:
25556
-
'@parcel/watcher': 2.5.1
25557
-
'@types/node': 22.10.5
25558
-
transitivePeerDependencies:
25559
-
- '@azure/app-configuration'
25560
-
- '@azure/cosmos'
25561
-
- '@azure/data-tables'
25562
-
- '@azure/identity'
25563
-
- '@azure/keyvault-secrets'
25564
-
- '@azure/storage-blob'
25565
-
- '@biomejs/biome'
25566
-
- '@capacitor/preferences'
25567
-
- '@deno/kv'
25568
-
- '@electric-sql/pglite'
25569
-
- '@libsql/client'
25570
-
- '@netlify/blobs'
25571
-
- '@planetscale/database'
25572
-
- '@upstash/redis'
25573
-
- '@vercel/blob'
25574
-
- '@vercel/functions'
25575
-
- '@vercel/kv'
25576
-
- aws4fetch
25577
-
- better-sqlite3
25578
-
- bufferutil
25579
-
- db0
25580
-
- drizzle-orm
25581
-
- encoding
25582
-
- eslint
25583
-
- idb-keyval
25584
-
- ioredis
25585
-
- less
25586
-
- lightningcss
25587
-
- magicast
25588
-
- meow
25589
-
- mysql2
25590
-
- optionator
25591
-
- rolldown
25592
-
- rollup
25593
-
- sass
25594
-
- sass-embedded
25595
-
- sqlite3
25596
-
- stylelint
25597
-
- stylus
25598
-
- sugarss
25599
-
- supports-color
25600
-
- terser
25601
-
- typescript
25602
-
- uploadthing
25603
-
- utf-8-validate
25604
-
- vite
25605
-
- vls
25606
-
- vti
25607
-
- vue-tsc
25608
-
- xml2js
25609
-
25610
-
nuxt@3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
25611
-
dependencies:
25612
-
'@nuxt/devalue': 2.0.2
25613
-
'@nuxt/devtools': 1.7.0(rollup@4.49.0)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))
25614
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.49.0)
25615
'@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.49.0)
25616
'@nuxt/telemetry': 2.6.6(magicast@0.3.5)
···
26091
dependencies:
26092
p-timeout: 6.1.4
26093
26094
-
pac-proxy-agent@7.2.0:
26095
-
dependencies:
26096
-
'@tootallnate/quickjs-emscripten': 0.23.0
26097
-
agent-base: 7.1.4
26098
-
debug: 4.3.4
26099
-
get-uri: 6.0.5
26100
-
http-proxy-agent: 7.0.2
26101
-
https-proxy-agent: 7.0.6
26102
-
pac-resolver: 7.0.1
26103
-
socks-proxy-agent: 8.0.5
26104
-
transitivePeerDependencies:
26105
-
- supports-color
26106
-
26107
-
pac-resolver@7.0.1:
26108
-
dependencies:
26109
-
degenerator: 5.0.1
26110
-
netmask: 2.0.2
26111
-
26112
package-json-from-dist@1.0.1: {}
26113
26114
package-manager-detector@0.2.11:
···
26635
26636
process@0.11.10: {}
26637
26638
-
progress@2.0.3: {}
26639
-
26640
promise-retry@2.0.1:
26641
dependencies:
26642
err-code: 2.0.3
···
26664
forwarded: 0.2.0
26665
ipaddr.js: 1.9.1
26666
26667
-
proxy-agent@6.4.0:
26668
-
dependencies:
26669
-
agent-base: 7.1.4
26670
-
debug: 4.3.4
26671
-
http-proxy-agent: 7.0.2
26672
-
https-proxy-agent: 7.0.6
26673
-
lru-cache: 7.18.3
26674
-
pac-proxy-agent: 7.2.0
26675
-
proxy-from-env: 1.1.0
26676
-
socks-proxy-agent: 8.0.5
26677
-
transitivePeerDependencies:
26678
-
- supports-color
26679
-
26680
proxy-from-env@1.1.0: {}
26681
26682
prr@1.0.1:
···
26699
26700
punycode@2.3.1: {}
26701
26702
-
puppeteer-core@22.12.1:
26703
-
dependencies:
26704
-
'@puppeteer/browsers': 2.2.3
26705
-
chromium-bidi: 0.5.24(devtools-protocol@0.0.1299070)
26706
-
debug: 4.4.1
26707
-
devtools-protocol: 0.0.1299070
26708
-
ws: 8.18.3
26709
-
transitivePeerDependencies:
26710
-
- bare-buffer
26711
-
- bufferutil
26712
-
- supports-color
26713
-
- utf-8-validate
26714
-
26715
-
puppeteer@22.12.1(typescript@5.8.3):
26716
-
dependencies:
26717
-
'@puppeteer/browsers': 2.2.3
26718
-
cosmiconfig: 9.0.0(typescript@5.8.3)
26719
-
devtools-protocol: 0.0.1299070
26720
-
puppeteer-core: 22.12.1
26721
-
transitivePeerDependencies:
26722
-
- bare-buffer
26723
-
- bufferutil
26724
-
- supports-color
26725
-
- typescript
26726
-
- utf-8-validate
26727
-
26728
qjobs@1.2.0: {}
26729
26730
qs@6.13.0:
···
27255
optional: true
27256
27257
semver@6.3.1: {}
27258
-
27259
-
semver@7.6.0:
27260
-
dependencies:
27261
-
lru-cache: 6.0.0
27262
27263
semver@7.7.1: {}
27264
···
27932
27933
tapable@2.2.3: {}
27934
27935
-
tar-fs@3.0.5:
27936
-
dependencies:
27937
-
pump: 3.0.3
27938
-
tar-stream: 3.1.7
27939
-
optionalDependencies:
27940
-
bare-fs: 2.3.5
27941
-
bare-path: 2.1.3
27942
-
transitivePeerDependencies:
27943
-
- bare-buffer
27944
-
27945
tar-stream@3.1.7:
27946
dependencies:
27947
b4a: 1.6.7
···
27968
27969
term-size@2.2.1: {}
27970
27971
-
terser-webpack-plugin@5.3.14(esbuild@0.25.0)(webpack@5.98.0(esbuild@0.25.9)):
27972
dependencies:
27973
'@jridgewell/trace-mapping': 0.3.30
27974
jest-worker: 27.5.1
···
27977
terser: 5.39.0
27978
webpack: 5.98.0(esbuild@0.25.9)
27979
optionalDependencies:
27980
-
esbuild: 0.25.0
27981
27982
-
terser-webpack-plugin@5.3.14(esbuild@0.25.4)(webpack@5.98.0(esbuild@0.25.9)):
27983
dependencies:
27984
'@jridgewell/trace-mapping': 0.3.30
27985
jest-worker: 27.5.1
···
27988
terser: 5.39.0
27989
webpack: 5.98.0(esbuild@0.25.9)
27990
optionalDependencies:
27991
-
esbuild: 0.25.4
27992
27993
terser@5.39.0:
27994
dependencies:
···
28031
thread-stream@3.1.0:
28032
dependencies:
28033
real-require: 0.2.0
28034
-
28035
-
through@2.3.8: {}
28036
28037
thunky@1.1.0: {}
28038
···
28344
- supports-color
28345
- vue-tsc
28346
28347
-
unbzip2-stream@1.4.3:
28348
-
dependencies:
28349
-
buffer: 5.7.1
28350
-
through: 2.3.8
28351
-
28352
uncrypto@0.1.3: {}
28353
28354
unctx@2.4.1:
···
28413
unimport@3.14.6(rollup@3.29.5):
28414
dependencies:
28415
'@rollup/pluginutils': 5.2.0(rollup@3.29.5)
28416
-
acorn: 8.14.0
28417
escape-string-regexp: 5.0.0
28418
estree-walker: 3.0.3
28419
fast-glob: 3.3.3
···
28432
unimport@3.14.6(rollup@4.49.0):
28433
dependencies:
28434
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
28435
-
acorn: 8.14.0
28436
escape-string-regexp: 5.0.0
28437
estree-walker: 3.0.3
28438
fast-glob: 3.3.3
···
28609
28610
unplugin@2.0.0-beta.1:
28611
dependencies:
28612
-
acorn: 8.14.0
28613
webpack-virtual-modules: 0.6.2
28614
28615
unplugin@2.3.9:
···
28711
querystringify: 2.2.0
28712
requires-port: 1.0.0
28713
28714
-
urlpattern-polyfill@10.0.0: {}
28715
-
28716
urlpattern-polyfill@10.1.0: {}
28717
28718
urlpattern-polyfill@8.0.2: {}
···
28770
dependencies:
28771
'@types/unist': 3.0.3
28772
vfile-message: 4.0.3
28773
-
28774
-
vite-hot-client@0.2.4(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
28775
-
dependencies:
28776
-
vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
28777
-
28778
-
vite-hot-client@0.2.4(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28779
-
dependencies:
28780
-
vite: 6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
28781
28782
vite-hot-client@0.2.4(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28783
dependencies:
···
28909
- rollup
28910
- supports-color
28911
28912
-
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
28913
-
dependencies:
28914
-
'@antfu/utils': 0.7.10
28915
-
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
28916
-
debug: 4.4.1
28917
-
error-stack-parser-es: 0.1.5
28918
-
fs-extra: 11.3.1
28919
-
open: 10.1.2
28920
-
perfect-debounce: 1.0.0
28921
-
picocolors: 1.1.1
28922
-
sirv: 3.0.1
28923
-
vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
28924
-
optionalDependencies:
28925
-
'@nuxt/kit': 3.15.4(magicast@0.3.5)
28926
-
transitivePeerDependencies:
28927
-
- rollup
28928
-
- supports-color
28929
-
28930
-
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28931
-
dependencies:
28932
-
'@antfu/utils': 0.7.10
28933
-
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
28934
-
debug: 4.4.1
28935
-
error-stack-parser-es: 0.1.5
28936
-
fs-extra: 11.3.1
28937
-
open: 10.1.2
28938
-
perfect-debounce: 1.0.0
28939
-
picocolors: 1.1.1
28940
-
sirv: 3.0.1
28941
-
vite: 6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
28942
-
optionalDependencies:
28943
-
'@nuxt/kit': 3.15.4(magicast@0.3.5)
28944
-
transitivePeerDependencies:
28945
-
- rollup
28946
-
- supports-color
28947
-
28948
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28949
dependencies:
28950
'@antfu/utils': 0.7.10
···
28979
- supports-color
28980
- vue
28981
28982
-
vite-plugin-vue-inspector@5.3.2(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
28983
-
dependencies:
28984
-
'@babel/core': 7.28.3
28985
-
'@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.3)
28986
-
'@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3)
28987
-
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3)
28988
-
'@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
28989
-
'@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.3)
28990
-
'@vue/compiler-dom': 3.5.20
28991
-
kolorist: 1.8.0
28992
-
magic-string: 0.30.18
28993
-
vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
28994
-
transitivePeerDependencies:
28995
-
- supports-color
28996
-
28997
-
vite-plugin-vue-inspector@5.3.2(vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28998
-
dependencies:
28999
-
'@babel/core': 7.28.3
29000
-
'@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.3)
29001
-
'@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3)
29002
-
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3)
29003
-
'@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
29004
-
'@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.3)
29005
-
'@vue/compiler-dom': 3.5.20
29006
-
kolorist: 1.8.0
29007
-
magic-string: 0.30.18
29008
-
vite: 6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
29009
-
transitivePeerDependencies:
29010
-
- supports-color
29011
-
29012
vite-plugin-vue-inspector@5.3.2(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
29013
dependencies:
29014
'@babel/core': 7.28.3
···
29064
terser: 5.39.0
29065
yaml: 2.8.0
29066
29067
-
vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0):
29068
dependencies:
29069
esbuild: 0.25.9
29070
fdir: 6.5.0(picomatch@4.0.3)
···
29078
jiti: 2.5.1
29079
less: 4.2.2
29080
sass: 1.85.0
29081
-
terser: 5.39.0
29082
yaml: 2.8.0
29083
29084
-
vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0):
29085
dependencies:
29086
esbuild: 0.25.9
29087
fdir: 6.5.0(picomatch@4.0.3)
···
29095
jiti: 2.5.1
29096
less: 4.2.2
29097
sass: 1.85.0
29098
-
terser: 5.43.1
29099
yaml: 2.8.0
29100
29101
vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0):
···
29442
optionalDependencies:
29443
webpack: 5.98.0(esbuild@0.25.9)
29444
29445
-
webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.9)):
29446
dependencies:
29447
'@types/bonjour': 3.5.13
29448
'@types/connect-history-api-fallback': 1.5.4
···
29584
neo-async: 2.6.2
29585
schema-utils: 4.3.2
29586
tapable: 2.2.3
29587
-
terser-webpack-plugin: 5.3.14(esbuild@0.25.0)(webpack@5.98.0(esbuild@0.25.9))
29588
watchpack: 2.4.4
29589
webpack-sources: 3.3.3
29590
transitivePeerDependencies:
···
29830
archiver-utils: 5.0.2
29831
compress-commons: 6.0.2
29832
readable-stream: 4.7.0
29833
-
29834
-
zod@3.23.8: {}
29835
29836
zod@3.25.3: {}
29837
···
170
devDependencies:
171
'@angular-devkit/build-angular':
172
specifier: 19.2.0
173
+
version: 19.2.0(696c3532ef15b073c21785e1bc79a040)
174
'@angular/cli':
175
specifier: 19.2.0
176
version: 19.2.0(@types/node@22.10.5)(chokidar@4.0.3)
···
264
devDependencies:
265
'@angular-devkit/build-angular':
266
specifier: 19.2.0
267
+
version: 19.2.0(b57b04a4dfd0d7238fcb437f41884422)
268
'@angular/cli':
269
specifier: 19.2.0
270
version: 19.2.0(@types/node@22.10.5)(chokidar@4.0.3)
···
825
devDependencies:
826
'@angular-devkit/build-angular':
827
specifier: ^19.2.15
828
+
version: 19.2.15(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.0(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(fc183c600d5538ac11e1814ee07b5dfc))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))(yaml@2.8.0)
829
'@angular/cli':
830
specifier: ^19.2.15
831
version: 19.2.15(@types/node@22.10.5)(chokidar@4.0.3)
···
1143
specifier: 1.7.4
1144
version: 1.7.4
1145
nuxt:
1146
+
specifier: '>=3.0.0'
1147
version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
1148
vue:
1149
+
specifier: '>=3.5.13'
1150
version: 3.5.13(typescript@5.8.3)
1151
devDependencies:
1152
'@config/vite-base':
···
1260
version: 3.3.2
1261
nuxt:
1262
specifier: 3.14.1592
1263
+
version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
1264
prettier:
1265
specifier: 3.4.2
1266
version: 3.4.2
···
1290
devDependencies:
1291
'@angular-devkit/build-angular':
1292
specifier: 19.2.0
1293
+
version: 19.2.0(ac4ffa91faa637dff4fd6a93b49aaa4c)
1294
'@angular/animations':
1295
specifier: 19.2.0
1296
version: 19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))
···
1351
'@types/cross-spawn':
1352
specifier: 6.0.6
1353
version: 6.0.6
1354
axios:
1355
specifier: 1.8.2
1356
version: 1.8.2
···
1360
eslint:
1361
specifier: 9.17.0
1362
version: 9.17.0(jiti@2.5.1)
1363
fastify:
1364
specifier: 5.2.0
1365
version: 5.2.0
···
1371
version: 3.3.2
1372
nuxt:
1373
specifier: 3.14.1592
1374
+
version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
1375
prettier:
1376
specifier: 3.4.2
1377
version: 3.4.2
1378
rxjs:
1379
specifier: 7.8.1
1380
version: 7.8.1
···
4604
'@poppinss/exception@1.2.2':
4605
resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==}
4606
4607
'@radix-ui/colors@3.0.0':
4608
resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==}
4609
···
5850
'@vue/composition-api':
5851
optional: true
5852
5853
'@tsconfig/node10@1.0.11':
5854
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
5855
···
6892
ast-types-flow@0.0.8:
6893
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
6894
6895
ast-walker-scope@0.6.2:
6896
resolution: {integrity: sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==}
6897
engines: {node: '>=16.14.0'}
···
6984
bare-events@2.6.1:
6985
resolution: {integrity: sha512-AuTJkq9XmE6Vk0FJVNq5QxETrSA/vKHarWVBG5l/JbdCL1prJemiyJqUS0jrlXO0MftuPq4m3YVYhoNc5+aE/g==}
6986
6987
base64-js@1.5.1:
6988
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
6989
6990
base64id@2.0.0:
6991
resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==}
6992
engines: {node: ^4.5.0 || >= 5.9}
6993
6994
batch@0.6.1:
6995
resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
···
7216
chrome-trace-event@1.0.4:
7217
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
7218
engines: {node: '>=6.0'}
7219
7220
ci-info@3.9.0:
7221
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
···
7600
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
7601
engines: {node: '>= 12'}
7602
7603
data-urls@5.0.0:
7604
resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
7605
engines: {node: '>=18'}
···
7742
defu@6.1.4:
7743
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
7744
7745
delayed-stream@1.0.0:
7746
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
7747
engines: {node: '>=0.4.0'}
···
7836
7837
devlop@1.1.0:
7838
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
7839
7840
di@0.0.1:
7841
resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==}
···
8701
get-tsconfig@4.10.1:
8702
resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
8703
8704
giget@1.2.5:
8705
resolution: {integrity: sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==}
8706
hasBin: true
···
9757
lru-cache@5.1.1:
9758
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
9759
9760
luxon@3.7.1:
9761
resolution: {integrity: sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==}
9762
engines: {node: '>=12'}
···
10207
resolution: {integrity: sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==}
10208
engines: {node: ^14.16.0 || >=16.0.0}
10209
10210
next@15.2.4:
10211
resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==}
10212
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
···
10604
p-wait-for@5.0.2:
10605
resolution: {integrity: sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==}
10606
engines: {node: '>=12'}
10607
10608
package-json-from-dist@1.0.1:
10609
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
···
11168
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
11169
engines: {node: '>= 0.6.0'}
11170
11171
promise-retry@2.0.1:
11172
resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
11173
engines: {node: '>=10'}
···
11192
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
11193
engines: {node: '>= 0.10'}
11194
11195
proxy-from-env@1.1.0:
11196
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
11197
···
11218
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
11219
engines: {node: '>=6'}
11220
11221
qjobs@1.2.0:
11222
resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==}
11223
engines: {node: '>=0.9'}
···
11665
11666
semver@6.3.1:
11667
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
11668
hasBin: true
11669
11670
semver@7.7.1:
···
12165
resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
12166
engines: {node: '>=6'}
12167
12168
tar-stream@3.1.7:
12169
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
12170
···
12231
12232
thread-stream@3.1.0:
12233
resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
12234
12235
thunky@1.1.0:
12236
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
···
12538
typescript:
12539
optional: true
12540
12541
uncrypto@0.1.3:
12542
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
12543
···
12762
12763
url-parse@1.5.10:
12764
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
12765
12766
urlpattern-polyfill@10.1.0:
12767
resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==}
···
13617
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
13618
engines: {node: '>= 14'}
13619
13620
zod@3.25.3:
13621
resolution: {integrity: sha512-VGZqnyYNrl8JpEJRZaFPqeVNIuqgXNu4cXZ5cOb6zEUO1OxKbRnWB4UdDIXMmiERWncs0yDQukssHov8JUxykQ==}
13622
···
13657
transitivePeerDependencies:
13658
- chokidar
13659
13660
+
'@angular-devkit/build-angular@19.2.0(696c3532ef15b073c21785e1bc79a040)':
13661
dependencies:
13662
'@ampproject/remapping': 2.3.0
13663
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
13664
+
'@angular-devkit/build-webpack': 0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.0)))(webpack@5.98.0(esbuild@0.25.0))
13665
'@angular-devkit/core': 19.2.0(chokidar@4.0.3)
13666
+
'@angular/build': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/platform-server@19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(5c03da8199d2fcdf9ff93b70f9349edd))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
13667
+
'@angular/compiler-cli': 19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3)
13668
'@babel/core': 7.26.9
13669
'@babel/generator': 7.26.9
13670
'@babel/helper-annotate-as-pure': 7.25.9
···
13675
'@babel/preset-env': 7.26.9(@babel/core@7.26.9)
13676
'@babel/runtime': 7.26.9
13677
'@discoveryjs/json-ext': 0.6.3
13678
+
'@ngtools/webpack': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.0))
13679
+
'@vitejs/plugin-basic-ssl': 1.2.0(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))
13680
ansi-colors: 4.1.3
13681
autoprefixer: 10.4.20(postcss@8.5.2)
13682
babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(esbuild@0.25.0))
···
13713
typescript: 5.8.3
13714
webpack: 5.98.0(esbuild@0.25.9)
13715
webpack-dev-middleware: 7.4.2(webpack@5.98.0(esbuild@0.25.9))
13716
+
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.0))
13717
webpack-merge: 6.0.1
13718
webpack-subresource-integrity: 5.1.0(webpack@5.98.0(esbuild@0.25.9))
13719
optionalDependencies:
13720
+
'@angular/platform-server': 19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))
13721
+
'@angular/ssr': 19.2.15(5c03da8199d2fcdf9ff93b70f9349edd)
13722
esbuild: 0.25.0
13723
karma: 6.4.4
13724
tailwindcss: 3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3))
···
13745
- webpack-cli
13746
- yaml
13747
13748
+
'@angular-devkit/build-angular@19.2.0(ac4ffa91faa637dff4fd6a93b49aaa4c)':
13749
dependencies:
13750
'@ampproject/remapping': 2.3.0
13751
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
13752
+
'@angular-devkit/build-webpack': 0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.0)))(webpack@5.98.0(esbuild@0.25.0))
13753
'@angular-devkit/core': 19.2.0(chokidar@4.0.3)
13754
+
'@angular/build': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(typescript@5.8.3))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/platform-server@19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))))(@angular/ssr@19.2.15(9944558d2409a9f62c85c46d55b3507e))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
13755
+
'@angular/compiler-cli': 19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(typescript@5.8.3)
13756
'@babel/core': 7.26.9
13757
'@babel/generator': 7.26.9
13758
'@babel/helper-annotate-as-pure': 7.25.9
···
13763
'@babel/preset-env': 7.26.9(@babel/core@7.26.9)
13764
'@babel/runtime': 7.26.9
13765
'@discoveryjs/json-ext': 0.6.3
13766
+
'@ngtools/webpack': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.0))
13767
+
'@vitejs/plugin-basic-ssl': 1.2.0(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
13768
ansi-colors: 4.1.3
13769
autoprefixer: 10.4.20(postcss@8.5.2)
13770
babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(esbuild@0.25.0))
···
13801
typescript: 5.8.3
13802
webpack: 5.98.0(esbuild@0.25.9)
13803
webpack-dev-middleware: 7.4.2(webpack@5.98.0(esbuild@0.25.9))
13804
+
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.0))
13805
webpack-merge: 6.0.1
13806
webpack-subresource-integrity: 5.1.0(webpack@5.98.0(esbuild@0.25.9))
13807
optionalDependencies:
13808
+
'@angular/platform-server': 19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1))(rxjs@7.8.1))(@angular/core@19.2.0(rxjs@7.8.1)(zone.js@0.15.1)))
13809
+
'@angular/ssr': 19.2.15(9944558d2409a9f62c85c46d55b3507e)
13810
esbuild: 0.25.0
13811
karma: 6.4.4
13812
tailwindcss: 3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3))
···
13833
- webpack-cli
13834
- yaml
13835
13836
+
'@angular-devkit/build-angular@19.2.0(b57b04a4dfd0d7238fcb437f41884422)':
13837
dependencies:
13838
'@ampproject/remapping': 2.3.0
13839
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
13840
+
'@angular-devkit/build-webpack': 0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.0)))(webpack@5.98.0(esbuild@0.25.0))
13841
'@angular-devkit/core': 19.2.0(chokidar@4.0.3)
13842
'@angular/build': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/platform-server@19.2.0(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.0(@angular/animations@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(5c03da8199d2fcdf9ff93b70f9349edd))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
13843
'@angular/compiler-cli': 19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3)
···
13852
'@babel/runtime': 7.26.9
13853
'@discoveryjs/json-ext': 0.6.3
13854
'@ngtools/webpack': 19.2.0(@angular/compiler-cli@19.2.0(@angular/compiler@19.2.0(@angular/core@19.2.0(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.0))
13855
+
'@vitejs/plugin-basic-ssl': 1.2.0(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
13856
ansi-colors: 4.1.3
13857
autoprefixer: 10.4.20(postcss@8.5.2)
13858
babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(esbuild@0.25.0))
···
13889
typescript: 5.8.3
13890
webpack: 5.98.0(esbuild@0.25.9)
13891
webpack-dev-middleware: 7.4.2(webpack@5.98.0(esbuild@0.25.9))
13892
+
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.0))
13893
webpack-merge: 6.0.1
13894
webpack-subresource-integrity: 5.1.0(webpack@5.98.0(esbuild@0.25.9))
13895
optionalDependencies:
···
13921
- webpack-cli
13922
- yaml
13923
13924
+
'@angular-devkit/build-angular@19.2.15(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.0(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/ssr@19.2.15(fc183c600d5538ac11e1814ee07b5dfc))(@types/node@22.10.5)(chokidar@4.0.3)(jiti@2.5.1)(karma@6.4.4)(tailwindcss@3.4.9(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.8.3)))(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))(yaml@2.8.0)':
13925
dependencies:
13926
'@ampproject/remapping': 2.3.0
13927
'@angular-devkit/architect': 0.1902.15(chokidar@4.0.3)
···
13940
'@babel/runtime': 7.26.10
13941
'@discoveryjs/json-ext': 0.6.3
13942
'@ngtools/webpack': 19.2.15(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3))(typescript@5.8.3)(webpack@5.98.0(esbuild@0.25.9))
13943
+
'@vitejs/plugin-basic-ssl': 1.2.0(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))
13944
ansi-colors: 4.1.3
13945
autoprefixer: 10.4.20(postcss@8.5.2)
13946
babel-loader: 9.2.1(@babel/core@7.26.10)(webpack@5.98.0(esbuild@0.25.9))
···
14009
- webpack-cli
14010
- yaml
14011
14012
+
'@angular-devkit/build-webpack@0.1902.0(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.0)))(webpack@5.98.0(esbuild@0.25.0))':
14013
dependencies:
14014
'@angular-devkit/architect': 0.1902.0(chokidar@4.0.3)
14015
rxjs: 7.8.1
14016
webpack: 5.98.0(esbuild@0.25.9)
14017
+
webpack-dev-server: 5.2.0(webpack@5.98.0(esbuild@0.25.0))
14018
transitivePeerDependencies:
14019
- chokidar
14020
···
17510
17511
'@nuxt/devalue@2.0.2': {}
17512
17513
'@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
17514
dependencies:
17515
'@nuxt/kit': 3.15.4(magicast@0.3.5)
···
17566
semver: 7.7.2
17567
simple-git: 3.28.0
17568
sirv: 3.0.1
17569
+
tinyglobby: 0.2.14
17570
unimport: 3.14.6(rollup@3.29.5)
17571
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
17572
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@3.29.5)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
···
17580
- utf-8-validate
17581
- vue
17582
17583
+
'@nuxt/devtools@1.7.0(rollup@4.49.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))':
17584
dependencies:
17585
'@antfu/utils': 0.7.10
17586
+
'@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
17587
'@nuxt/devtools-wizard': 1.7.0
17588
'@nuxt/kit': 3.15.4(magicast@0.3.5)
17589
+
'@vue/devtools-core': 7.6.8(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))
17590
'@vue/devtools-kit': 7.6.8
17591
birpc: 0.2.19
17592
consola: 3.4.2
···
17613
semver: 7.7.2
17614
simple-git: 3.28.0
17615
sirv: 3.0.1
17616
+
tinyglobby: 0.2.14
17617
unimport: 3.14.6(rollup@4.49.0)
17618
+
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
17619
+
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
17620
+
vite-plugin-vue-inspector: 5.3.2(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
17621
which: 3.0.1
17622
ws: 8.18.3
17623
transitivePeerDependencies:
···
17660
semver: 7.7.2
17661
simple-git: 3.28.0
17662
sirv: 3.0.1
17663
+
tinyglobby: 0.2.14
17664
unimport: 3.14.6(rollup@4.49.0)
17665
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
17666
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
···
18183
supports-color: 10.2.0
18184
18185
'@poppinss/exception@1.2.2': {}
18186
18187
'@radix-ui/colors@3.0.0': {}
18188
···
19406
vue: 3.5.13(typescript@5.8.3)
19407
vue-demi: 0.14.10(vue@3.5.13(typescript@5.8.3))
19408
19409
'@tsconfig/node10@1.0.11': {}
19410
19411
'@tsconfig/node12@1.0.11': {}
···
19902
dependencies:
19903
'@mapbox/node-pre-gyp': 2.0.0(encoding@0.1.13)
19904
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
19905
+
acorn: 8.15.0
19906
+
acorn-import-attributes: 1.9.5(acorn@8.15.0)
19907
async-sema: 3.1.1
19908
bindings: 1.5.0
19909
estree-walker: 2.0.2
···
19925
dependencies:
19926
vite: 6.2.7(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0)
19927
19928
+
'@vitejs/plugin-basic-ssl@1.2.0(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0))':
19929
dependencies:
19930
+
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0)
19931
19932
+
'@vitejs/plugin-basic-ssl@1.2.0(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
19933
dependencies:
19934
+
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
19935
19936
'@vitejs/plugin-react@4.4.0-beta.1(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
19937
dependencies:
···
20229
dependencies:
20230
'@vue/devtools-kit': 8.0.1
20231
20232
'@vue/devtools-core@7.6.8(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))':
20233
dependencies:
20234
+
'@vue/devtools-kit': 7.7.7
20235
'@vue/devtools-shared': 7.7.7
20236
mitt: 3.0.1
20237
nanoid: 5.1.5
···
20243
20244
'@vue/devtools-core@7.6.8(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.9.2))':
20245
dependencies:
20246
+
'@vue/devtools-kit': 7.7.7
20247
'@vue/devtools-shared': 7.7.7
20248
mitt: 3.0.1
20249
nanoid: 5.1.5
···
20549
mime-types: 2.1.35
20550
negotiator: 0.6.3
20551
20552
+
acorn-import-attributes@1.9.5(acorn@8.15.0):
20553
dependencies:
20554
+
acorn: 8.15.0
20555
20556
acorn-jsx@5.3.2(acorn@7.4.1):
20557
dependencies:
···
20761
ast-module-types@6.0.1: {}
20762
20763
ast-types-flow@0.0.8: {}
20764
20765
ast-walker-scope@0.6.2:
20766
dependencies:
···
20917
bare-events@2.6.1:
20918
optional: true
20919
20920
base64-js@1.5.1: {}
20921
20922
base64id@2.0.0: {}
20923
20924
batch@0.6.1: {}
20925
···
21188
chownr@3.0.0: {}
21189
21190
chrome-trace-event@1.0.4: {}
21191
21192
ci-info@3.9.0: {}
21193
···
21584
21585
data-uri-to-buffer@4.0.1: {}
21586
21587
data-urls@5.0.0:
21588
dependencies:
21589
whatwg-mimetype: 4.0.0
···
21680
21681
defu@6.1.4: {}
21682
21683
delayed-stream@1.0.0: {}
21684
21685
denque@2.1.0: {}
···
21765
devlop@1.1.0:
21766
dependencies:
21767
dequal: 2.0.3
21768
21769
di@0.0.1: {}
21770
···
22258
'@typescript-eslint/parser': 8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3)
22259
eslint: 9.17.0(jiti@2.5.1)
22260
eslint-import-resolver-node: 0.3.9
22261
+
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
22262
+
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
22263
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.17.0(jiti@2.5.1))
22264
eslint-plugin-react: 7.37.5(eslint@9.17.0(jiti@2.5.1))
22265
eslint-plugin-react-hooks: 5.2.0(eslint@9.17.0(jiti@2.5.1))
···
22282
transitivePeerDependencies:
22283
- supports-color
22284
22285
+
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)):
22286
dependencies:
22287
'@nolyfill/is-core-module': 1.0.39
22288
debug: 4.4.1
···
22293
tinyglobby: 0.2.14
22294
unrs-resolver: 1.11.1
22295
optionalDependencies:
22296
+
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
22297
transitivePeerDependencies:
22298
- supports-color
22299
22300
+
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)):
22301
dependencies:
22302
debug: 3.2.7
22303
optionalDependencies:
22304
'@typescript-eslint/parser': 8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3)
22305
eslint: 9.17.0(jiti@2.5.1)
22306
eslint-import-resolver-node: 0.3.9
22307
+
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
22308
transitivePeerDependencies:
22309
- supports-color
22310
22311
+
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)):
22312
dependencies:
22313
'@rtsao/scc': 1.1.0
22314
array-includes: 3.1.9
···
22319
doctrine: 2.1.0
22320
eslint: 9.17.0(jiti@2.5.1)
22321
eslint-import-resolver-node: 0.3.9
22322
+
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
22323
hasown: 2.0.2
22324
is-core-module: 2.16.1
22325
is-glob: 4.0.3
···
23052
get-tsconfig@4.10.1:
23053
dependencies:
23054
resolve-pkg-maps: 1.0.0
23055
23056
giget@1.2.5:
23057
dependencies:
···
24241
dependencies:
24242
yallist: 3.1.1
24243
24244
luxon@3.7.1: {}
24245
24246
magic-regexp@0.8.0:
···
24791
p-wait-for: 5.0.2
24792
qs: 6.14.0
24793
24794
next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.85.0):
24795
dependencies:
24796
'@next/env': 15.2.4
···
25193
- vue-tsc
25194
- xml2js
25195
25196
+
nuxt@3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.49.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
25197
dependencies:
25198
'@nuxt/devalue': 2.0.2
25199
+
'@nuxt/devtools': 1.7.0(rollup@4.49.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))
25200
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.49.0)
25201
'@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.49.0)
25202
'@nuxt/telemetry': 2.6.6(magicast@0.3.5)
···
25677
dependencies:
25678
p-timeout: 6.1.4
25679
25680
package-json-from-dist@1.0.1: {}
25681
25682
package-manager-detector@0.2.11:
···
26203
26204
process@0.11.10: {}
26205
26206
promise-retry@2.0.1:
26207
dependencies:
26208
err-code: 2.0.3
···
26230
forwarded: 0.2.0
26231
ipaddr.js: 1.9.1
26232
26233
proxy-from-env@1.1.0: {}
26234
26235
prr@1.0.1:
···
26252
26253
punycode@2.3.1: {}
26254
26255
qjobs@1.2.0: {}
26256
26257
qs@6.13.0:
···
26782
optional: true
26783
26784
semver@6.3.1: {}
26785
26786
semver@7.7.1: {}
26787
···
27455
27456
tapable@2.2.3: {}
27457
27458
tar-stream@3.1.7:
27459
dependencies:
27460
b4a: 1.6.7
···
27481
27482
term-size@2.2.1: {}
27483
27484
+
terser-webpack-plugin@5.3.14(esbuild@0.25.4)(webpack@5.98.0(esbuild@0.25.9)):
27485
dependencies:
27486
'@jridgewell/trace-mapping': 0.3.30
27487
jest-worker: 27.5.1
···
27490
terser: 5.39.0
27491
webpack: 5.98.0(esbuild@0.25.9)
27492
optionalDependencies:
27493
+
esbuild: 0.25.4
27494
27495
+
terser-webpack-plugin@5.3.14(esbuild@0.25.9)(webpack@5.98.0(esbuild@0.25.0)):
27496
dependencies:
27497
'@jridgewell/trace-mapping': 0.3.30
27498
jest-worker: 27.5.1
···
27501
terser: 5.39.0
27502
webpack: 5.98.0(esbuild@0.25.9)
27503
optionalDependencies:
27504
+
esbuild: 0.25.9
27505
27506
terser@5.39.0:
27507
dependencies:
···
27544
thread-stream@3.1.0:
27545
dependencies:
27546
real-require: 0.2.0
27547
27548
thunky@1.1.0: {}
27549
···
27855
- supports-color
27856
- vue-tsc
27857
27858
uncrypto@0.1.3: {}
27859
27860
unctx@2.4.1:
···
27919
unimport@3.14.6(rollup@3.29.5):
27920
dependencies:
27921
'@rollup/pluginutils': 5.2.0(rollup@3.29.5)
27922
+
acorn: 8.15.0
27923
escape-string-regexp: 5.0.0
27924
estree-walker: 3.0.3
27925
fast-glob: 3.3.3
···
27938
unimport@3.14.6(rollup@4.49.0):
27939
dependencies:
27940
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
27941
+
acorn: 8.15.0
27942
escape-string-regexp: 5.0.0
27943
estree-walker: 3.0.3
27944
fast-glob: 3.3.3
···
28115
28116
unplugin@2.0.0-beta.1:
28117
dependencies:
28118
+
acorn: 8.15.0
28119
webpack-virtual-modules: 0.6.2
28120
28121
unplugin@2.3.9:
···
28217
querystringify: 2.2.0
28218
requires-port: 1.0.0
28219
28220
urlpattern-polyfill@10.1.0: {}
28221
28222
urlpattern-polyfill@8.0.2: {}
···
28274
dependencies:
28275
'@types/unist': 3.0.3
28276
vfile-message: 4.0.3
28277
28278
vite-hot-client@0.2.4(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28279
dependencies:
···
28405
- rollup
28406
- supports-color
28407
28408
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.49.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28409
dependencies:
28410
'@antfu/utils': 0.7.10
···
28439
- supports-color
28440
- vue
28441
28442
vite-plugin-vue-inspector@5.3.2(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
28443
dependencies:
28444
'@babel/core': 7.28.3
···
28494
terser: 5.39.0
28495
yaml: 2.8.0
28496
28497
+
vite@6.3.5(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0):
28498
dependencies:
28499
esbuild: 0.25.9
28500
fdir: 6.5.0(picomatch@4.0.3)
···
28508
jiti: 2.5.1
28509
less: 4.2.2
28510
sass: 1.85.0
28511
+
terser: 5.43.1
28512
yaml: 2.8.0
28513
28514
+
vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)(yaml@2.8.0):
28515
dependencies:
28516
esbuild: 0.25.9
28517
fdir: 6.5.0(picomatch@4.0.3)
···
28525
jiti: 2.5.1
28526
less: 4.2.2
28527
sass: 1.85.0
28528
+
terser: 5.39.0
28529
yaml: 2.8.0
28530
28531
vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0):
···
28872
optionalDependencies:
28873
webpack: 5.98.0(esbuild@0.25.9)
28874
28875
+
webpack-dev-server@5.2.0(webpack@5.98.0(esbuild@0.25.0)):
28876
dependencies:
28877
'@types/bonjour': 3.5.13
28878
'@types/connect-history-api-fallback': 1.5.4
···
29014
neo-async: 2.6.2
29015
schema-utils: 4.3.2
29016
tapable: 2.2.3
29017
+
terser-webpack-plugin: 5.3.14(esbuild@0.25.9)(webpack@5.98.0(esbuild@0.25.0))
29018
watchpack: 2.4.4
29019
webpack-sources: 3.3.3
29020
transitivePeerDependencies:
···
29260
archiver-utils: 5.0.2
29261
compress-commons: 6.0.2
29262
readable-stream: 4.7.0
29263
29264
zod@3.25.3: {}
29265
+1
pnpm-workspace.yaml
+1
pnpm-workspace.yaml