@typespec/versioning 0.47.0-dev.1 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +193 -133
- package/lib/decorators.tsp +83 -0
- package/package.json +7 -8
package/README.md
CHANGED
|
@@ -1,163 +1,147 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @typespec/versioning
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
TypeSpec library for declaring and emitting versioned APIs
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
Run the following command in your typespec project root directory.
|
|
8
|
-
|
|
9
7
|
```bash
|
|
10
8
|
npm install @typespec/versioning
|
|
11
9
|
```
|
|
12
10
|
|
|
13
11
|
## Usage
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
import "@typespec/versioning";
|
|
17
|
-
|
|
18
|
-
using Versioning;
|
|
19
|
-
```
|
|
13
|
+
### Consuming versioning library from an emitter
|
|
20
14
|
|
|
21
|
-
|
|
15
|
+
#### Get the service representation at a given version
|
|
22
16
|
|
|
23
|
-
|
|
17
|
+
Versioning library works with projection to project the service at a given version.
|
|
24
18
|
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
```ts
|
|
20
|
+
// Get a list of all the different version of the service and the projections
|
|
21
|
+
const projections = buildVersionProjections(program, serviceNamespace);
|
|
28
22
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
v3,
|
|
23
|
+
for (const projection of projections) {
|
|
24
|
+
const projectedProgram = projectProgram(program, projection.projections);
|
|
25
|
+
// projectedProgram now contains the representation of the service at the given version.
|
|
33
26
|
}
|
|
34
27
|
```
|
|
35
28
|
|
|
36
|
-
|
|
29
|
+
#### Get list of versions and version dependency across namespaces
|
|
30
|
+
|
|
31
|
+
Versioning library works with projection to project the service at a given version.
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
const versions = resolveVersions(program, serviceNamespace);
|
|
35
|
+
// versions now contain a list of all the version of the service namespace and what version should all the other dependencies namespace use.
|
|
36
|
+
```
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
- [`@removed`](#removed)
|
|
40
|
-
- [`@renamedFrom`](#renamedfrom)
|
|
41
|
-
- [`@madeOptional`](#madeoptional)
|
|
38
|
+
#### Consume versioning manually
|
|
42
39
|
|
|
43
|
-
|
|
40
|
+
If the emitter needs to have the whole picture of the service evolution across the version then using the decorator accessor will provide the metadata for each type:
|
|
44
41
|
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
- `getAddedOn`
|
|
43
|
+
- `getRemovedOn`
|
|
44
|
+
- `getRenamedFromVersion`
|
|
45
|
+
- `getMadeOptionalOn`
|
|
47
46
|
|
|
48
|
-
##
|
|
47
|
+
## Decorators
|
|
49
48
|
|
|
50
|
-
|
|
49
|
+
### TypeSpec.Versioning
|
|
51
50
|
|
|
52
|
-
- [`@
|
|
53
|
-
- [`@
|
|
54
|
-
- [`@
|
|
55
|
-
- [`@
|
|
56
|
-
- [`@
|
|
57
|
-
- [`@
|
|
51
|
+
- [`@added`](#@added)
|
|
52
|
+
- [`@madeOptional`](#@madeoptional)
|
|
53
|
+
- [`@removed`](#@removed)
|
|
54
|
+
- [`@renamedFrom`](#@renamedfrom)
|
|
55
|
+
- [`@returnTypeChangedFrom`](#@returntypechangedfrom)
|
|
56
|
+
- [`@typeChangedFrom`](#@typechangedfrom)
|
|
57
|
+
- [`@useDependency`](#@usedependency)
|
|
58
|
+
- [`@versioned`](#@versioned)
|
|
58
59
|
|
|
59
|
-
|
|
60
|
+
#### `@added`
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
Identifies when the target was added.
|
|
62
63
|
|
|
63
64
|
```typespec
|
|
64
|
-
@
|
|
65
|
-
namespace MyService;
|
|
66
|
-
|
|
67
|
-
enum Versions {
|
|
68
|
-
v1,
|
|
69
|
-
v2,
|
|
70
|
-
v3,
|
|
71
|
-
}
|
|
65
|
+
@TypeSpec.Versioning.added(version: EnumMember)
|
|
72
66
|
```
|
|
73
67
|
|
|
74
|
-
|
|
68
|
+
##### Target
|
|
75
69
|
|
|
76
|
-
|
|
70
|
+
`(intrinsic) unknown`
|
|
77
71
|
|
|
78
|
-
|
|
72
|
+
##### Parameters
|
|
79
73
|
|
|
80
|
-
|
|
81
|
-
|
|
74
|
+
| Name | Type | Description |
|
|
75
|
+
| ------- | ------------ | ----------------------------------------- |
|
|
76
|
+
| version | `EnumMember` | The version that the target was added in. |
|
|
82
77
|
|
|
83
|
-
|
|
78
|
+
##### Examples
|
|
84
79
|
|
|
85
|
-
```
|
|
86
|
-
@
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
enum Versions {
|
|
90
|
-
v1,
|
|
91
|
-
v1_1,
|
|
92
|
-
v2,
|
|
93
|
-
}
|
|
94
|
-
```
|
|
80
|
+
```tsp
|
|
81
|
+
@added(Versions.v2)
|
|
82
|
+
op addedInV2(): void;
|
|
95
83
|
|
|
96
|
-
|
|
84
|
+
@added(Versions.v2)
|
|
85
|
+
model AlsoAddedInV2 {}
|
|
97
86
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
@useDependency(MyLib.Versions.v1_1)
|
|
101
|
-
namespace MyService1;
|
|
87
|
+
model Foo {
|
|
88
|
+
name: string;
|
|
102
89
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
v2,
|
|
106
|
-
v3,
|
|
90
|
+
@added(Versions.v3)
|
|
91
|
+
addedInV3: string;
|
|
107
92
|
}
|
|
108
93
|
```
|
|
109
94
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
```typespec
|
|
113
|
-
@useDependency(MyLib.Versions.v1_1)
|
|
114
|
-
namespace NonVersionedService;
|
|
115
|
-
```
|
|
95
|
+
#### `@madeOptional`
|
|
116
96
|
|
|
117
|
-
|
|
97
|
+
Identifies when a target was made optional.
|
|
118
98
|
|
|
119
99
|
```typespec
|
|
120
|
-
@
|
|
121
|
-
namespace MyService1;
|
|
122
|
-
|
|
123
|
-
enum Version {
|
|
124
|
-
@useDependency(MyLib.Versions.v1_1) // V1 use lib v1_1
|
|
125
|
-
v1,
|
|
126
|
-
@useDependency(MyLib.Versions.v1_1) // V2 use lib v1_1
|
|
127
|
-
v2,
|
|
128
|
-
@useDependency(MyLib.Versions.v2) // V3 use lib v2
|
|
129
|
-
v3,
|
|
130
|
-
}
|
|
100
|
+
@TypeSpec.Versioning.madeOptional(version: EnumMember)
|
|
131
101
|
```
|
|
132
102
|
|
|
133
|
-
|
|
103
|
+
##### Target
|
|
134
104
|
|
|
135
|
-
|
|
105
|
+
`(intrinsic) unknown`
|
|
136
106
|
|
|
137
|
-
|
|
107
|
+
##### Parameters
|
|
138
108
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
109
|
+
| Name | Type | Description |
|
|
110
|
+
| ------- | ------------ | ------------------------------------------------- |
|
|
111
|
+
| version | `EnumMember` | The version that the target was made optional in. |
|
|
142
112
|
|
|
143
|
-
|
|
144
|
-
model AlsoAddedInV2 {}
|
|
113
|
+
##### Examples
|
|
145
114
|
|
|
115
|
+
```tsp
|
|
146
116
|
model Foo {
|
|
147
117
|
name: string;
|
|
148
118
|
|
|
149
|
-
@
|
|
150
|
-
|
|
119
|
+
@madeOptional(Versions.v2)
|
|
120
|
+
nickname: string;
|
|
151
121
|
}
|
|
152
122
|
```
|
|
153
123
|
|
|
154
|
-
|
|
124
|
+
#### `@removed`
|
|
155
125
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
Version enum member **MUST** be from the version enum for the containing namespace.
|
|
126
|
+
Identifies when the target was removed.
|
|
159
127
|
|
|
160
128
|
```typespec
|
|
129
|
+
@TypeSpec.Versioning.removed(version: EnumMember)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
##### Target
|
|
133
|
+
|
|
134
|
+
`(intrinsic) unknown`
|
|
135
|
+
|
|
136
|
+
##### Parameters
|
|
137
|
+
|
|
138
|
+
| Name | Type | Description |
|
|
139
|
+
| ------- | ------------ | ------------------------------------------- |
|
|
140
|
+
| version | `EnumMember` | The version that the target was removed in. |
|
|
141
|
+
|
|
142
|
+
##### Examples
|
|
143
|
+
|
|
144
|
+
```tsp
|
|
161
145
|
@removed(Versions.v2)
|
|
162
146
|
op removedInV2(): void;
|
|
163
147
|
|
|
@@ -172,62 +156,138 @@ model Foo {
|
|
|
172
156
|
}
|
|
173
157
|
```
|
|
174
158
|
|
|
175
|
-
|
|
159
|
+
#### `@renamedFrom`
|
|
176
160
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Version enum member **MUST** be from the version enum for the containing namespace.
|
|
161
|
+
Identifies when the target has been renamed.
|
|
180
162
|
|
|
181
163
|
```typespec
|
|
164
|
+
@TypeSpec.Versioning.renamedFrom(version: EnumMember, oldName: valueof string)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
##### Target
|
|
168
|
+
|
|
169
|
+
`(intrinsic) unknown`
|
|
170
|
+
|
|
171
|
+
##### Parameters
|
|
172
|
+
|
|
173
|
+
| Name | Type | Description |
|
|
174
|
+
| ------- | ----------------------- | ------------------------------------------- |
|
|
175
|
+
| version | `EnumMember` | The version that the target was renamed in. |
|
|
176
|
+
| oldName | `valueof scalar string` | The previous name of the target. |
|
|
177
|
+
|
|
178
|
+
##### Examples
|
|
179
|
+
|
|
180
|
+
```tsp
|
|
182
181
|
@renamedFrom(Versions.v2, "oldName")
|
|
183
182
|
op newName(): void;
|
|
184
183
|
```
|
|
185
184
|
|
|
186
|
-
|
|
185
|
+
#### `@returnTypeChangedFrom`
|
|
186
|
+
|
|
187
|
+
Identifies when the target type changed.
|
|
188
|
+
|
|
189
|
+
```typespec
|
|
190
|
+
@TypeSpec.Versioning.returnTypeChangedFrom(version: EnumMember, oldType: unknown)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
##### Target
|
|
194
|
+
|
|
195
|
+
`Operation`
|
|
196
|
+
|
|
197
|
+
##### Parameters
|
|
198
|
+
|
|
199
|
+
| Name | Type | Description |
|
|
200
|
+
| ------- | --------------------- | -------------------------------------------- |
|
|
201
|
+
| version | `EnumMember` | The version that the target type changed in. |
|
|
202
|
+
| oldType | `(intrinsic) unknown` | The previous type of the target. |
|
|
187
203
|
|
|
188
|
-
|
|
204
|
+
#### `@typeChangedFrom`
|
|
189
205
|
|
|
190
|
-
|
|
206
|
+
Identifies when the target type changed.
|
|
191
207
|
|
|
192
208
|
```typespec
|
|
193
|
-
|
|
194
|
-
|
|
209
|
+
@TypeSpec.Versioning.typeChangedFrom(version: EnumMember, oldType: unknown)
|
|
210
|
+
```
|
|
195
211
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
212
|
+
##### Target
|
|
213
|
+
|
|
214
|
+
`(intrinsic) unknown`
|
|
215
|
+
|
|
216
|
+
##### Parameters
|
|
217
|
+
|
|
218
|
+
| Name | Type | Description |
|
|
219
|
+
| ------- | --------------------- | -------------------------------------------- |
|
|
220
|
+
| version | `EnumMember` | The version that the target type changed in. |
|
|
221
|
+
| oldType | `(intrinsic) unknown` | The previous type of the target. |
|
|
222
|
+
|
|
223
|
+
#### `@useDependency`
|
|
224
|
+
|
|
225
|
+
Identifies that a namespace or a given versioning enum member relies upon a versioned package.
|
|
226
|
+
|
|
227
|
+
```typespec
|
|
228
|
+
@TypeSpec.Versioning.useDependency(...versionRecords: EnumMember[])
|
|
199
229
|
```
|
|
200
230
|
|
|
201
|
-
|
|
231
|
+
##### Target
|
|
202
232
|
|
|
203
|
-
|
|
233
|
+
`union EnumMember | Namespace`
|
|
204
234
|
|
|
205
|
-
|
|
235
|
+
##### Parameters
|
|
206
236
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
237
|
+
| Name | Type | Description |
|
|
238
|
+
| -------------- | -------------------- | --------------------------------------------------------------------- |
|
|
239
|
+
| versionRecords | `model EnumMember[]` | The dependent library version(s) for the target namespace or version. |
|
|
210
240
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
241
|
+
##### Examples
|
|
242
|
+
|
|
243
|
+
###### Select a single version of `MyLib` to use
|
|
244
|
+
|
|
245
|
+
```tsp
|
|
246
|
+
@useDependency(MyLib.Versions.v1_1)
|
|
247
|
+
namespace NonVersionedService;
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
###### Select which version of the library match to which version of the service.
|
|
251
|
+
|
|
252
|
+
```tsp
|
|
253
|
+
@versioned(Versions)
|
|
254
|
+
namespace MyService1;
|
|
255
|
+
enum Version {
|
|
256
|
+
@useDependency(MyLib.Versions.v1_1) // V1 use lib v1_1
|
|
257
|
+
v1,
|
|
258
|
+
@useDependency(MyLib.Versions.v1_1) // V2 use lib v1_1
|
|
259
|
+
v2,
|
|
260
|
+
@useDependency(MyLib.Versions.v2) // V3 use lib v2
|
|
261
|
+
v3,
|
|
214
262
|
}
|
|
215
263
|
```
|
|
216
264
|
|
|
217
|
-
|
|
265
|
+
#### `@versioned`
|
|
218
266
|
|
|
219
|
-
|
|
267
|
+
Identifies that the decorated namespace is versioned by the provided enum.
|
|
220
268
|
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
// versions now contain a list of all the version of the service namespace and what version should all the other dependencies namespace use.
|
|
269
|
+
```typespec
|
|
270
|
+
@TypeSpec.Versioning.versioned(versions: Enum)
|
|
224
271
|
```
|
|
225
272
|
|
|
226
|
-
|
|
273
|
+
##### Target
|
|
227
274
|
|
|
228
|
-
|
|
275
|
+
`Namespace`
|
|
229
276
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
277
|
+
##### Parameters
|
|
278
|
+
|
|
279
|
+
| Name | Type | Description |
|
|
280
|
+
| -------- | ------ | ----------------------------------------------- |
|
|
281
|
+
| versions | `Enum` | The enum that describes the supported versions. |
|
|
282
|
+
|
|
283
|
+
##### Examples
|
|
284
|
+
|
|
285
|
+
```tsp
|
|
286
|
+
@versioned(Versions)
|
|
287
|
+
namespace MyService;
|
|
288
|
+
enum Versions {
|
|
289
|
+
v1,
|
|
290
|
+
v2,
|
|
291
|
+
v3,
|
|
292
|
+
}
|
|
293
|
+
```
|
package/lib/decorators.tsp
CHANGED
|
@@ -7,24 +7,91 @@ namespace TypeSpec {
|
|
|
7
7
|
/**
|
|
8
8
|
* Identifies that the decorated namespace is versioned by the provided enum.
|
|
9
9
|
* @param versions The enum that describes the supported versions.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* ```tsp
|
|
14
|
+
* @versioned(Versions)
|
|
15
|
+
* namespace MyService;
|
|
16
|
+
* enum Versions {
|
|
17
|
+
* v1,
|
|
18
|
+
* v2,
|
|
19
|
+
* v3,
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
10
22
|
*/
|
|
11
23
|
extern dec versioned(target: Namespace, versions: Enum);
|
|
12
24
|
|
|
13
25
|
/**
|
|
14
26
|
* Identifies that a namespace or a given versioning enum member relies upon a versioned package.
|
|
15
27
|
* @param versionRecords The dependent library version(s) for the target namespace or version.
|
|
28
|
+
*
|
|
29
|
+
* @example Select a single version of `MyLib` to use
|
|
30
|
+
*
|
|
31
|
+
* ```tsp
|
|
32
|
+
* @useDependency(MyLib.Versions.v1_1)
|
|
33
|
+
* namespace NonVersionedService;
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example Select which version of the library match to which version of the service.
|
|
37
|
+
*
|
|
38
|
+
* ```tsp
|
|
39
|
+
* @versioned(Versions)
|
|
40
|
+
* namespace MyService1;
|
|
41
|
+
* enum Version {
|
|
42
|
+
* @useDependency(MyLib.Versions.v1_1) // V1 use lib v1_1
|
|
43
|
+
* v1,
|
|
44
|
+
* @useDependency(MyLib.Versions.v1_1) // V2 use lib v1_1
|
|
45
|
+
* v2,
|
|
46
|
+
* @useDependency(MyLib.Versions.v2) // V3 use lib v2
|
|
47
|
+
* v3,
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
16
50
|
*/
|
|
17
51
|
extern dec useDependency(target: EnumMember | Namespace, ...versionRecords: EnumMember[]);
|
|
18
52
|
|
|
19
53
|
/**
|
|
20
54
|
* Identifies when the target was added.
|
|
21
55
|
* @param version The version that the target was added in.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
*
|
|
59
|
+
* ```tsp
|
|
60
|
+
* @added(Versions.v2)
|
|
61
|
+
* op addedInV2(): void;
|
|
62
|
+
*
|
|
63
|
+
* @added(Versions.v2)
|
|
64
|
+
* model AlsoAddedInV2 {}
|
|
65
|
+
*
|
|
66
|
+
* model Foo {
|
|
67
|
+
* name: string;
|
|
68
|
+
*
|
|
69
|
+
* @added(Versions.v3)
|
|
70
|
+
* addedInV3: string;
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
22
73
|
*/
|
|
23
74
|
extern dec added(target: unknown, version: EnumMember);
|
|
24
75
|
|
|
25
76
|
/**
|
|
26
77
|
* Identifies when the target was removed.
|
|
27
78
|
* @param version The version that the target was removed in.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```tsp
|
|
82
|
+
* @removed(Versions.v2)
|
|
83
|
+
* op removedInV2(): void;
|
|
84
|
+
*
|
|
85
|
+
* @removed(Versions.v2)
|
|
86
|
+
* model AlsoRemovedInV2 {}
|
|
87
|
+
*
|
|
88
|
+
* model Foo {
|
|
89
|
+
* name: string;
|
|
90
|
+
*
|
|
91
|
+
* @removed(Versions.v3)
|
|
92
|
+
* removedInV3: string;
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
28
95
|
*/
|
|
29
96
|
extern dec removed(target: unknown, version: EnumMember);
|
|
30
97
|
|
|
@@ -32,12 +99,28 @@ namespace TypeSpec {
|
|
|
32
99
|
* Identifies when the target has been renamed.
|
|
33
100
|
* @param version The version that the target was renamed in.
|
|
34
101
|
* @param oldName The previous name of the target.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```tsp
|
|
105
|
+
* @renamedFrom(Versions.v2, "oldName")
|
|
106
|
+
* op newName(): void;
|
|
107
|
+
* ```
|
|
35
108
|
*/
|
|
36
109
|
extern dec renamedFrom(target: unknown, version: EnumMember, oldName: valueof string);
|
|
37
110
|
|
|
38
111
|
/**
|
|
39
112
|
* Identifies when a target was made optional.
|
|
40
113
|
* @param version The version that the target was made optional in.
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
*
|
|
117
|
+
* ```tsp
|
|
118
|
+
* model Foo {
|
|
119
|
+
* name: string;
|
|
120
|
+
* @madeOptional(Versions.v2)
|
|
121
|
+
* nickname: string;
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
41
124
|
*/
|
|
42
125
|
extern dec madeOptional(target: unknown, version: EnumMember);
|
|
43
126
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/versioning",
|
|
3
|
-
"version": "0.47.0
|
|
3
|
+
"version": "0.47.0",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec library for declaring and emitting versioned APIs",
|
|
6
6
|
"homepage": "https://microsoft.github.io/typespec",
|
|
@@ -42,16 +42,16 @@
|
|
|
42
42
|
"!dist/test/**"
|
|
43
43
|
],
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@typespec/compiler": "~0.
|
|
45
|
+
"@typespec/compiler": "~0.47.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/mocha": "~10.0.1",
|
|
49
49
|
"@types/node": "~18.11.9",
|
|
50
|
-
"@typespec/compiler": "~0.
|
|
51
|
-
"@typespec/eslint-config-typespec": "~0.
|
|
52
|
-
"@typespec/library-linter": "~0.
|
|
53
|
-
"@typespec/eslint-plugin": "~0.
|
|
54
|
-
"@typespec/tspd": "~0.46.0
|
|
50
|
+
"@typespec/compiler": "~0.47.0",
|
|
51
|
+
"@typespec/eslint-config-typespec": "~0.47.0",
|
|
52
|
+
"@typespec/library-linter": "~0.47.0",
|
|
53
|
+
"@typespec/eslint-plugin": "~0.47.0",
|
|
54
|
+
"@typespec/tspd": "~0.46.0",
|
|
55
55
|
"eslint": "^8.42.0",
|
|
56
56
|
"mocha": "~10.2.0",
|
|
57
57
|
"mocha-junit-reporter": "~2.2.0",
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
"rimraf": "~5.0.1",
|
|
61
61
|
"typescript": "~5.1.3"
|
|
62
62
|
},
|
|
63
|
-
"dependencies": {},
|
|
64
63
|
"scripts": {
|
|
65
64
|
"clean": "rimraf ./dist ./temp",
|
|
66
65
|
"build": "tsc -p . && npm run lint-typespec-library",
|