fluid-framework 2.74.0-368706 → 2.74.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/CHANGELOG.md +11 -0
- package/api-report/fluid-framework.alpha.api.md +19 -15
- package/dist/alpha.d.ts +3 -0
- package/eslint.config.mts +22 -0
- package/lib/alpha.d.ts +3 -0
- package/package.json +16 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# fluid-framework
|
|
2
2
|
|
|
3
|
+
## 2.74.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Fixed bug in sending of revert edits after an aborted transaction ([#25978](https://github.com/microsoft/FluidFramework/pull/25978)) [93ec6c77dab](https://github.com/microsoft/FluidFramework/commit/93ec6c77dab27bd65c2b04862f578ac3876b2cbe)
|
|
8
|
+
|
|
9
|
+
Aborting a transaction used to put the tree in a state that would trigger an assert when sending some undo/redo edits to peers.
|
|
10
|
+
This would prevent some undo/redo edits from being sent and would put the tree in a broken state that prevented any further edits.
|
|
11
|
+
This issue could not have caused document corruption, so reopening the document was a possible remedy.
|
|
12
|
+
Aborting a transaction no longer puts the tree in such a state, so it is safe to perform undo/redo edits after that.
|
|
13
|
+
|
|
3
14
|
## 2.73.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -141,6 +141,15 @@ export interface BranchableTree extends ViewableTree {
|
|
|
141
141
|
rebase(branch: TreeBranchFork): void;
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
+
// @alpha @sealed
|
|
145
|
+
export type ChangeMetadata = CommitMetadata & ({
|
|
146
|
+
readonly isLocal: true;
|
|
147
|
+
getChange(): JsonCompatibleReadOnly;
|
|
148
|
+
} | {
|
|
149
|
+
readonly isLocal: false;
|
|
150
|
+
readonly getChange?: undefined;
|
|
151
|
+
});
|
|
152
|
+
|
|
144
153
|
// @alpha
|
|
145
154
|
export function checkCompatibility(viewWhichCreatedStoredSchema: TreeViewConfiguration, view: TreeViewConfiguration): Omit<SchemaCompatibilityStatus, "canInitialize">;
|
|
146
155
|
|
|
@@ -293,6 +302,12 @@ export abstract class ErasedType<out Name = unknown> {
|
|
|
293
302
|
protected abstract brand(dummy: never): Name;
|
|
294
303
|
}
|
|
295
304
|
|
|
305
|
+
// @alpha
|
|
306
|
+
export function eraseSchemaDetails<TNode, ExtraSchemaProperties = unknown>(): <T extends ExtraSchemaProperties & TreeNodeSchema<string, NodeKind, TNode & TreeNode>>(schema: T) => ExtraSchemaProperties & TreeNodeSchema<T["identifier"], NodeKind, TNode & TreeNode & WithType<T["identifier"]>, never, false>;
|
|
307
|
+
|
|
308
|
+
// @alpha
|
|
309
|
+
export function eraseSchemaDetailsSubclassable<TNode, ExtraSchemaProperties = unknown>(): <T extends ExtraSchemaProperties & TreeNodeSchemaClass<string, NodeKind, TNode & TreeNode>>(schema: T) => ExtraSchemaProperties & TreeNodeSchemaClass<T["identifier"], NodeKind, TNode & TreeNode & WithType<T["identifier"]>, never, false>;
|
|
310
|
+
|
|
296
311
|
// @alpha
|
|
297
312
|
export function evaluateLazySchema<T extends TreeNodeSchema>(value: LazyItem<T>): T;
|
|
298
313
|
|
|
@@ -1420,7 +1435,6 @@ export interface SharedTreeFormatOptions {
|
|
|
1420
1435
|
|
|
1421
1436
|
// @alpha @input
|
|
1422
1437
|
export interface SharedTreeOptions extends SharedTreeOptionsBeta, Partial<CodecWriteOptions>, Partial<SharedTreeFormatOptions> {
|
|
1423
|
-
readonly enableDetachedRootEditing?: boolean;
|
|
1424
1438
|
readonly enableSharedBranches?: boolean;
|
|
1425
1439
|
shouldEncodeIncrementally?: IncrementalEncodingPolicy;
|
|
1426
1440
|
}
|
|
@@ -1541,20 +1555,9 @@ export namespace System_TableSchema {
|
|
|
1541
1555
|
readonly cells: FieldSchema_2<FieldKind_2.Required, TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>, unknown>;
|
|
1542
1556
|
}>;
|
|
1543
1557
|
// @system
|
|
1544
|
-
export function createTableSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TUserScope, TCellSchema>, const TRowSchema extends RowSchemaBase<TUserScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema):
|
|
1545
|
-
readonly table: FieldSchema_2<FieldKind_2.Required, TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table">, NodeKind.Object, TreeObjectNode_2< {
|
|
1546
|
-
readonly rows: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, true, TRowSchema, undefined>;
|
|
1547
|
-
readonly columns: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, true, TColumnSchema, undefined>;
|
|
1548
|
-
}, ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table">>, object & {
|
|
1549
|
-
readonly rows: (InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>)>;
|
|
1550
|
-
readonly columns: (InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>)>;
|
|
1551
|
-
}, true, {
|
|
1552
|
-
readonly rows: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, true, TRowSchema, undefined>;
|
|
1553
|
-
readonly columns: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, true, TColumnSchema, undefined>;
|
|
1554
|
-
}, never, unknown>, unknown>;
|
|
1555
|
-
}, never, unknown> & (new (data?: InternalTreeNode | undefined) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown>) & {
|
|
1558
|
+
export function createTableSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TUserScope, TCellSchema>, const TRowSchema extends RowSchemaBase<TUserScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema): {
|
|
1556
1559
|
create<TThis extends new (data?: InternalTreeNode | undefined) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown>>(this: TThis, initialContents?: TableSchema.TableFactoryMethodParameters<TUserScope, TCellSchema, TColumnSchema, TRowSchema> | undefined): InstanceType<TThis>;
|
|
1557
|
-
};
|
|
1560
|
+
} & (new (data?: InternalTreeNode | undefined) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown>) & TreeNodeSchemaCore<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot"> & string, NodeKind, false, unknown, never, unknown> & (new (data: InternalTreeNode) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot"> & string, NodeKind, unknown>);
|
|
1558
1561
|
// @system
|
|
1559
1562
|
export type DefaultPropsType = ReturnType<typeof SchemaFactory.optional<[]>>;
|
|
1560
1563
|
// @system
|
|
@@ -1880,6 +1883,7 @@ export interface TreeBranch extends IDisposable {
|
|
|
1880
1883
|
|
|
1881
1884
|
// @alpha @sealed
|
|
1882
1885
|
export interface TreeBranchAlpha extends TreeBranch {
|
|
1886
|
+
applyChange(change: JsonCompatibleReadOnly): void;
|
|
1883
1887
|
readonly events: Listenable<TreeBranchEvents>;
|
|
1884
1888
|
// (undocumented)
|
|
1885
1889
|
fork(): TreeBranchAlpha;
|
|
@@ -1890,7 +1894,7 @@ export interface TreeBranchAlpha extends TreeBranch {
|
|
|
1890
1894
|
|
|
1891
1895
|
// @alpha @sealed
|
|
1892
1896
|
export interface TreeBranchEvents extends Omit<TreeViewEvents, "commitApplied"> {
|
|
1893
|
-
changed(data:
|
|
1897
|
+
changed(data: ChangeMetadata, getRevertible?: RevertibleAlphaFactory): void;
|
|
1894
1898
|
commitApplied(data: CommitMetadata, getRevertible?: RevertibleAlphaFactory): void;
|
|
1895
1899
|
}
|
|
1896
1900
|
|
package/dist/alpha.d.ts
CHANGED
|
@@ -195,6 +195,7 @@ export {
|
|
|
195
195
|
ArrayNodePojoEmulationSchema,
|
|
196
196
|
ArrayNodeSchema,
|
|
197
197
|
BranchableTree,
|
|
198
|
+
ChangeMetadata,
|
|
198
199
|
CodecWriteOptions,
|
|
199
200
|
DirtyTreeMap,
|
|
200
201
|
DirtyTreeStatus,
|
|
@@ -306,6 +307,8 @@ export {
|
|
|
306
307
|
createSimpleTreeIndex,
|
|
307
308
|
decodeSchemaCompatibilitySnapshot,
|
|
308
309
|
encodeSchemaCompatibilitySnapshot,
|
|
310
|
+
eraseSchemaDetails,
|
|
311
|
+
eraseSchemaDetailsSubclassable,
|
|
309
312
|
evaluateLazySchema,
|
|
310
313
|
exportCompatibilitySchemaSnapshot,
|
|
311
314
|
extractPersistedSchema,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* GENERATED FILE - DO NOT EDIT DIRECTLY.
|
|
4
|
+
* To regenerate: pnpm tsx scripts/generate-flat-eslint-configs.ts --typescript
|
|
5
|
+
*/
|
|
6
|
+
import type { Linter } from "eslint";
|
|
7
|
+
import { strict } from "../../../common/build/eslint-config-fluid/flat.mts";
|
|
8
|
+
|
|
9
|
+
const config: Linter.Config[] = [
|
|
10
|
+
...strict,
|
|
11
|
+
{
|
|
12
|
+
files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
|
|
13
|
+
languageOptions: {
|
|
14
|
+
parserOptions: {
|
|
15
|
+
projectService: false,
|
|
16
|
+
project: ["./tsconfig.json"],
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
export default config;
|
package/lib/alpha.d.ts
CHANGED
|
@@ -195,6 +195,7 @@ export {
|
|
|
195
195
|
ArrayNodePojoEmulationSchema,
|
|
196
196
|
ArrayNodeSchema,
|
|
197
197
|
BranchableTree,
|
|
198
|
+
ChangeMetadata,
|
|
198
199
|
CodecWriteOptions,
|
|
199
200
|
DirtyTreeMap,
|
|
200
201
|
DirtyTreeStatus,
|
|
@@ -306,6 +307,8 @@ export {
|
|
|
306
307
|
createSimpleTreeIndex,
|
|
307
308
|
decodeSchemaCompatibilitySnapshot,
|
|
308
309
|
encodeSchemaCompatibilitySnapshot,
|
|
310
|
+
eraseSchemaDetails,
|
|
311
|
+
eraseSchemaDetailsSubclassable,
|
|
309
312
|
evaluateLazySchema,
|
|
310
313
|
exportCompatibilitySchemaSnapshot,
|
|
311
314
|
extractPersistedSchema,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fluid-framework",
|
|
3
|
-
"version": "2.74.0
|
|
3
|
+
"version": "2.74.0",
|
|
4
4
|
"description": "The main entry point into Fluid Framework public packages",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -57,30 +57,31 @@
|
|
|
57
57
|
"main": "lib/index.js",
|
|
58
58
|
"types": "lib/public.d.ts",
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@fluidframework/container-definitions": "2.74.0
|
|
61
|
-
"@fluidframework/container-loader": "2.74.0
|
|
62
|
-
"@fluidframework/core-interfaces": "2.74.0
|
|
63
|
-
"@fluidframework/core-utils": "2.74.0
|
|
64
|
-
"@fluidframework/driver-definitions": "2.74.0
|
|
65
|
-
"@fluidframework/fluid-static": "2.74.0
|
|
66
|
-
"@fluidframework/map": "2.74.0
|
|
67
|
-
"@fluidframework/runtime-utils": "2.74.0
|
|
68
|
-
"@fluidframework/sequence": "2.74.0
|
|
69
|
-
"@fluidframework/shared-object-base": "2.74.0
|
|
70
|
-
"@fluidframework/tree": "2.74.0
|
|
60
|
+
"@fluidframework/container-definitions": "~2.74.0",
|
|
61
|
+
"@fluidframework/container-loader": "~2.74.0",
|
|
62
|
+
"@fluidframework/core-interfaces": "~2.74.0",
|
|
63
|
+
"@fluidframework/core-utils": "~2.74.0",
|
|
64
|
+
"@fluidframework/driver-definitions": "~2.74.0",
|
|
65
|
+
"@fluidframework/fluid-static": "~2.74.0",
|
|
66
|
+
"@fluidframework/map": "~2.74.0",
|
|
67
|
+
"@fluidframework/runtime-utils": "~2.74.0",
|
|
68
|
+
"@fluidframework/sequence": "~2.74.0",
|
|
69
|
+
"@fluidframework/shared-object-base": "~2.74.0",
|
|
70
|
+
"@fluidframework/tree": "~2.74.0"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
74
74
|
"@biomejs/biome": "~1.9.3",
|
|
75
|
-
"@fluid-tools/build-cli": "^0.
|
|
75
|
+
"@fluid-tools/build-cli": "^0.61.0",
|
|
76
76
|
"@fluidframework/build-common": "^2.0.3",
|
|
77
|
-
"@fluidframework/build-tools": "^0.
|
|
78
|
-
"@fluidframework/eslint-config-fluid": "2.74.0
|
|
77
|
+
"@fluidframework/build-tools": "^0.61.0",
|
|
78
|
+
"@fluidframework/eslint-config-fluid": "~2.74.0",
|
|
79
79
|
"@microsoft/api-extractor": "7.52.11",
|
|
80
80
|
"@types/node": "^18.19.0",
|
|
81
81
|
"concurrently": "^8.2.1",
|
|
82
82
|
"copyfiles": "^2.4.1",
|
|
83
83
|
"eslint": "~8.57.1",
|
|
84
|
+
"jiti": "^2.6.1",
|
|
84
85
|
"rimraf": "^4.4.0",
|
|
85
86
|
"typescript": "~5.4.5"
|
|
86
87
|
},
|