@fluidframework/test-utils 2.71.0 → 2.73.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.
Files changed (36) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/CHANGELOG.md +8 -13
  3. package/dist/TestSummaryUtils.js +2 -2
  4. package/dist/TestSummaryUtils.js.map +1 -1
  5. package/dist/containerRuntimeFactories.js +2 -2
  6. package/dist/containerRuntimeFactories.js.map +1 -1
  7. package/dist/loaderContainerTracker.js.map +1 -1
  8. package/dist/localCodeLoader.js +2 -2
  9. package/dist/localCodeLoader.js.map +1 -1
  10. package/dist/packageVersion.d.ts +1 -1
  11. package/dist/packageVersion.js +1 -1
  12. package/dist/packageVersion.js.map +1 -1
  13. package/dist/testContainerRuntimeFactory.js +4 -4
  14. package/dist/testContainerRuntimeFactory.js.map +1 -1
  15. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.js.map +1 -1
  16. package/lib/TestSummaryUtils.js +2 -2
  17. package/lib/TestSummaryUtils.js.map +1 -1
  18. package/lib/containerRuntimeFactories.js +3 -3
  19. package/lib/containerRuntimeFactories.js.map +1 -1
  20. package/lib/loaderContainerTracker.js.map +1 -1
  21. package/lib/localCodeLoader.js +2 -2
  22. package/lib/localCodeLoader.js.map +1 -1
  23. package/lib/packageVersion.d.ts +1 -1
  24. package/lib/packageVersion.js +1 -1
  25. package/lib/packageVersion.js.map +1 -1
  26. package/lib/testContainerRuntimeFactory.js +5 -5
  27. package/lib/testContainerRuntimeFactory.js.map +1 -1
  28. package/lib/testContainerRuntimeFactoryWithDefaultDataStore.js.map +1 -1
  29. package/package.json +26 -26
  30. package/src/TestSummaryUtils.ts +3 -3
  31. package/src/containerRuntimeFactories.ts +6 -6
  32. package/src/loaderContainerTracker.ts +1 -1
  33. package/src/localCodeLoader.ts +2 -2
  34. package/src/packageVersion.ts +1 -1
  35. package/src/testContainerRuntimeFactory.ts +7 -7
  36. package/src/testContainerRuntimeFactoryWithDefaultDataStore.ts +2 -2
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/test-utils";
8
- export declare const pkgVersion = "2.71.0";
8
+ export declare const pkgVersion = "2.73.0";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export const pkgName = "@fluidframework/test-utils";
8
- export const pkgVersion = "2.71.0";
8
+ export const pkgVersion = "2.73.0";
9
9
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,4BAA4B,CAAC;AACpD,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/test-utils\";\nexport const pkgVersion = \"2.71.0\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,4BAA4B,CAAC;AACpD,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/test-utils\";\nexport const pkgVersion = \"2.73.0\";\n"]}
@@ -5,7 +5,7 @@
5
5
  import { ContainerRuntime, DefaultSummaryConfiguration, } from "@fluidframework/container-runtime/internal";
6
6
  import { assert } from "@fluidframework/core-utils/internal";
7
7
  import {
8
- // eslint-disable-next-line import/no-deprecated
8
+ // eslint-disable-next-line import-x/no-deprecated
9
9
  buildRuntimeRequestHandler, } from "@fluidframework/request-handler/internal";
10
10
  import { RequestParser, RuntimeFactoryHelper } from "@fluidframework/runtime-utils/internal";
11
11
  const backCompat_DefaultRouteRequestHandler = (defaultRootId) => {
@@ -36,7 +36,7 @@ export const createTestContainerRuntimeFactory = (containerRuntimeCtor) => {
36
36
  },
37
37
  },
38
38
  }, minVersionForCollab = undefined,
39
- // eslint-disable-next-line import/no-deprecated
39
+ // eslint-disable-next-line import-x/no-deprecated
40
40
  requestHandlers = []) {
41
41
  super();
42
42
  this.type = type;
@@ -73,7 +73,7 @@ export const createTestContainerRuntimeFactory = (containerRuntimeCtor) => {
73
73
  ["default", Promise.resolve(this.dataStoreFactory)],
74
74
  [this.type, Promise.resolve(this.dataStoreFactory)],
75
75
  ],
76
- // eslint-disable-next-line import/no-deprecated
76
+ // eslint-disable-next-line import-x/no-deprecated
77
77
  buildRuntimeRequestHandler(backCompat_DefaultRouteRequestHandler("default"), ...this.requestHandlers), this.runtimeOptions, context.scope, existing);
78
78
  }
79
79
  const provideEntryPoint = async (runtime) => {
@@ -87,7 +87,7 @@ export const createTestContainerRuntimeFactory = (containerRuntimeCtor) => {
87
87
  const parser = RequestParser.create(request);
88
88
  if (parser.pathParts.length === 0) {
89
89
  // This cast is safe as loadContainerRuntime is called below
90
- // eslint-disable-next-line import/no-deprecated
90
+ // eslint-disable-next-line import-x/no-deprecated
91
91
  return runtime.resolveHandle({
92
92
  url: `/default${parser.query}`,
93
93
  headers: request.headers,
@@ -104,7 +104,7 @@ export const createTestContainerRuntimeFactory = (containerRuntimeCtor) => {
104
104
  ["default", Promise.resolve(this.dataStoreFactory)],
105
105
  [this.type, Promise.resolve(this.dataStoreFactory)],
106
106
  ],
107
- // eslint-disable-next-line import/no-deprecated
107
+ // eslint-disable-next-line import-x/no-deprecated
108
108
  requestHandler: buildRuntimeRequestHandler(getDefaultObject, ...this.requestHandlers),
109
109
  provideEntryPoint,
110
110
  runtimeOptions: this.runtimeOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"testContainerRuntimeFactory.js","sourceRoot":"","sources":["../src/testContainerRuntimeFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IContainerContext, IRuntime } from \"@fluidframework/container-definitions/internal\";\nimport {\n\tContainerRuntime,\n\tDefaultSummaryConfiguration,\n\ttype IContainerRuntimeOptionsInternal,\n} from \"@fluidframework/container-runtime/internal\";\nimport {\n\tIContainerRuntime,\n\t// eslint-disable-next-line import/no-deprecated\n\tIContainerRuntimeWithResolveHandle_Deprecated,\n} from \"@fluidframework/container-runtime-definitions/internal\";\nimport { FluidObject, IRequest, IResponse } from \"@fluidframework/core-interfaces\";\nimport { IFluidHandleContext } from \"@fluidframework/core-interfaces/internal\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport {\n\t// eslint-disable-next-line import/no-deprecated\n\tRuntimeRequestHandler,\n\t// eslint-disable-next-line import/no-deprecated\n\tbuildRuntimeRequestHandler,\n} from \"@fluidframework/request-handler/internal\";\nimport {\n\tIFluidDataStoreFactory,\n\tNamedFluidDataStoreRegistryEntries,\n\ttype MinimumVersionForCollab,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport { RequestParser, RuntimeFactoryHelper } from \"@fluidframework/runtime-utils/internal\";\n\ninterface backCompat_IFluidRouter {\n\tIFluidRouter?: backCompat_IFluidRouter;\n\trequest(request: IRequest): Promise<IResponse>;\n}\n\nconst backCompat_DefaultRouteRequestHandler = (defaultRootId: string) => {\n\treturn async (request: IRequest, runtime: IContainerRuntime) => {\n\t\tconst parser = RequestParser.create(request);\n\t\tif (parser.pathParts.length === 0) {\n\t\t\treturn (\n\t\t\t\truntime as any as Required<FluidObject<IFluidHandleContext>>\n\t\t\t).IFluidHandleContext.resolveHandle({\n\t\t\t\turl: `/${defaultRootId}${parser.query}`,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined; // continue search\n\t};\n};\n\ninterface backCompat_ContainerRuntime {\n\tload(\n\t\tcontext: IContainerContext,\n\t\tregistryEntries: NamedFluidDataStoreRegistryEntries,\n\t\trequestHandler?: (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>,\n\t\truntimeOptions?: IContainerRuntimeOptionsInternal,\n\t\tcontainerScope?: FluidObject,\n\t\texisting?: boolean,\n\t\tcontainerRuntimeCtor?: typeof ContainerRuntime,\n\t): Promise<ContainerRuntime>;\n}\n\n/**\n * Create a container runtime factory class that allows you to set runtime options\n * @internal\n */\nexport const createTestContainerRuntimeFactory = (\n\tcontainerRuntimeCtor: typeof ContainerRuntime,\n) => {\n\treturn class extends RuntimeFactoryHelper {\n\t\tconstructor(\n\t\t\tpublic type: string,\n\t\t\tpublic dataStoreFactory: IFluidDataStoreFactory,\n\t\t\tpublic runtimeOptions: IContainerRuntimeOptionsInternal = {\n\t\t\t\tsummaryOptions: {\n\t\t\t\t\tsummaryConfigOverrides: {\n\t\t\t\t\t\t...DefaultSummaryConfiguration,\n\t\t\t\t\t\t...{\n\t\t\t\t\t\t\tinitialSummarizerDelayMs: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tpublic minVersionForCollab: MinimumVersionForCollab | undefined = undefined,\n\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\tpublic requestHandlers: RuntimeRequestHandler[] = [],\n\t\t) {\n\t\t\tsuper();\n\t\t}\n\n\t\tpublic async instantiateFirstTime(runtime: ContainerRuntime): Promise<void> {\n\t\t\t// Back-compat - old code does not return IDataStore for rootContext.attachRuntime() call!\n\t\t\t// Thus need to leverage old API createDetachedRootDataStore() that is gone in latest releases.\n\t\t\tconst rootContext =\n\t\t\t\t\"createDetachedRootDataStore\" in runtime\n\t\t\t\t\t? (runtime as any).createDetachedRootDataStore([this.type], \"default\")\n\t\t\t\t\t: runtime.createDetachedDataStore([this.type]);\n\n\t\t\tconst rootRuntime = await this.dataStoreFactory.instantiateDataStore(\n\t\t\t\trootContext,\n\t\t\t\t/* existing */ false,\n\t\t\t);\n\t\t\tconst dataStore = await rootContext.attachRuntime(this.dataStoreFactory, rootRuntime);\n\n\t\t\tconst result = await dataStore?.trySetAlias(\"default\");\n\t\t\tassert(result === \"Success\" || result === undefined, \"success\");\n\t\t}\n\n\t\tpublic async instantiateFromExisting(runtime: ContainerRuntime): Promise<void> {\n\t\t\t// Validate we can load root data stores.\n\t\t\t// We should be able to load any data store that was created in initializeFirstTime!\n\t\t\t// Note: We use the deprecated `getRootDataStore` from v1.X here to allow for cross-major version compat\n\t\t\t// testing. Can be removed when we no longer support v1.X.\n\t\t\tawait (runtime.getAliasedDataStoreEntryPoint?.(\"default\") ??\n\t\t\t\t(\n\t\t\t\t\truntime as any as {\n\t\t\t\t\t\tgetRootDataStore(id: string, wait?: boolean): Promise<backCompat_IFluidRouter>;\n\t\t\t\t\t}\n\t\t\t\t).getRootDataStore(\"default\"));\n\t\t}\n\n\t\tasync preInitialize(\n\t\t\tcontext: IContainerContext,\n\t\t\texisting: boolean,\n\t\t): Promise<IRuntime & IContainerRuntime> {\n\t\t\tif (containerRuntimeCtor.loadRuntime === undefined) {\n\t\t\t\t// Note: We use the deprecated `load` from v1.X here to allow for cross-major version compat testing.\n\t\t\t\t// Can be removed when we no longer support v1.X.\n\t\t\t\treturn (containerRuntimeCtor as any as backCompat_ContainerRuntime).load(\n\t\t\t\t\tcontext,\n\t\t\t\t\t[\n\t\t\t\t\t\t[\"default\", Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t\t\t[this.type, Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t\t],\n\t\t\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\t\t\tbuildRuntimeRequestHandler(\n\t\t\t\t\t\tbackCompat_DefaultRouteRequestHandler(\"default\"),\n\t\t\t\t\t\t...this.requestHandlers,\n\t\t\t\t\t),\n\t\t\t\t\tthis.runtimeOptions,\n\t\t\t\t\tcontext.scope,\n\t\t\t\t\texisting,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst provideEntryPoint = async (runtime: IContainerRuntime) => {\n\t\t\t\tconst entryPoint = await runtime.getAliasedDataStoreEntryPoint(\"default\");\n\t\t\t\tif (entryPoint === undefined) {\n\t\t\t\t\tthrow new Error(\"default dataStore must exist\");\n\t\t\t\t}\n\t\t\t\treturn entryPoint.get();\n\t\t\t};\n\t\t\tconst getDefaultObject = async (request: IRequest, runtime: IContainerRuntime) => {\n\t\t\t\tconst parser = RequestParser.create(request);\n\t\t\t\tif (parser.pathParts.length === 0) {\n\t\t\t\t\t// This cast is safe as loadContainerRuntime is called below\n\t\t\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\t\t\treturn (runtime as IContainerRuntimeWithResolveHandle_Deprecated).resolveHandle({\n\t\t\t\t\t\turl: `/default${parser.query}`,\n\t\t\t\t\t\theaders: request.headers,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn undefined; // continue search\n\t\t\t};\n\n\t\t\t// This usage of `containerRuntimeCtor.loadRuntime`, an `@internal` API, called on past versions of this package,\n\t\t\t// adds an extra constraint that makes changing that API more difficult than it otherwise would be.\n\t\t\t// Actual customers / apps should not be dependent on stability of this API, but this code is, at least for now.\n\t\t\treturn containerRuntimeCtor.loadRuntime({\n\t\t\t\tcontext,\n\t\t\t\tregistryEntries: [\n\t\t\t\t\t[\"default\", Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t\t[this.type, Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t],\n\t\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\t\trequestHandler: buildRuntimeRequestHandler(getDefaultObject, ...this.requestHandlers),\n\t\t\t\tprovideEntryPoint,\n\t\t\t\truntimeOptions: this.runtimeOptions,\n\t\t\t\tcontainerScope: context.scope,\n\t\t\t\texisting,\n\t\t\t\tminVersionForCollab: this.minVersionForCollab,\n\t\t\t});\n\t\t}\n\t};\n};\n\n/**\n * A container runtime factory that allows you to set runtime options\n * @internal\n */\nexport const TestContainerRuntimeFactory = createTestContainerRuntimeFactory(ContainerRuntime);\n"]}
1
+ {"version":3,"file":"testContainerRuntimeFactory.js","sourceRoot":"","sources":["../src/testContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACN,gBAAgB,EAChB,2BAA2B,GAE3B,MAAM,4CAA4C,CAAC;AAQpD,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO;AAGN,kDAAkD;AAClD,0BAA0B,GAC1B,MAAM,0CAA0C,CAAC;AAMlD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAO7F,MAAM,qCAAqC,GAAG,CAAC,aAAqB,EAAE,EAAE;IACvE,OAAO,KAAK,EAAE,OAAiB,EAAE,OAA0B,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OACC,OACA,CAAC,mBAAmB,CAAC,aAAa,CAAC;gBACnC,GAAG,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE;gBACvC,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,kBAAkB;IACrC,CAAC,CAAC;AACH,CAAC,CAAC;AAcF;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAChD,oBAA6C,EAC5C,EAAE;IACH,OAAO,KAAM,SAAQ,oBAAoB;QACxC,YACQ,IAAY,EACZ,gBAAwC,EACxC,iBAAmD;YACzD,cAAc,EAAE;gBACf,sBAAsB,EAAE;oBACvB,GAAG,2BAA2B;oBAC9B,GAAG;wBACF,wBAAwB,EAAE,CAAC;qBAC3B;iBACD;aACD;SACD,EACM,sBAA2D,SAAS;QAC3E,kDAAkD;QAC3C,kBAA2C,EAAE;YAEpD,KAAK,EAAE,CAAC;YAhBD,SAAI,GAAJ,IAAI,CAAQ;YACZ,qBAAgB,GAAhB,gBAAgB,CAAwB;YACxC,mBAAc,GAAd,cAAc,CASpB;YACM,wBAAmB,GAAnB,mBAAmB,CAAiD;YAEpE,oBAAe,GAAf,eAAe,CAA8B;QAGrD,CAAC;QAEM,KAAK,CAAC,oBAAoB,CAAC,OAAyB;YAC1D,0FAA0F;YAC1F,+FAA+F;YAC/F,MAAM,WAAW,GAChB,6BAA6B,IAAI,OAAO;gBACvC,CAAC,CAAE,OAAe,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;gBACtE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CACnE,WAAW;YACX,cAAc,CAAC,KAAK,CACpB,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;YAEtF,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC;QAEM,KAAK,CAAC,uBAAuB,CAAC,OAAyB;YAC7D,yCAAyC;YACzC,oFAAoF;YACpF,wGAAwG;YACxG,0DAA0D;YAC1D,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,SAAS,CAAC;gBAEvD,OAGA,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,aAAa,CAClB,OAA0B,EAC1B,QAAiB;YAEjB,IAAI,oBAAoB,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpD,qGAAqG;gBACrG,iDAAiD;gBACjD,OAAQ,oBAA2D,CAAC,IAAI,CACvE,OAAO,EACP;oBACC,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACnD,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;iBACnD;gBACD,kDAAkD;gBAClD,0BAA0B,CACzB,qCAAqC,CAAC,SAAS,CAAC,EAChD,GAAG,IAAI,CAAC,eAAe,CACvB,EACD,IAAI,CAAC,cAAc,EACnB,OAAO,CAAC,KAAK,EACb,QAAQ,CACR,CAAC;YACH,CAAC;YACD,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAA0B,EAAE,EAAE;gBAC9D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;gBAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC,CAAC;YACF,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAiB,EAAE,OAA0B,EAAE,EAAE;gBAChF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnC,4DAA4D;oBAC5D,kDAAkD;oBAClD,OAAQ,OAAyD,CAAC,aAAa,CAAC;wBAC/E,GAAG,EAAE,WAAW,MAAM,CAAC,KAAK,EAAE;wBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;qBACxB,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC,CAAC,kBAAkB;YACrC,CAAC,CAAC;YAEF,iHAAiH;YACjH,mGAAmG;YACnG,gHAAgH;YAChH,OAAO,oBAAoB,CAAC,WAAW,CAAC;gBACvC,OAAO;gBACP,eAAe,EAAE;oBAChB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACnD,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;iBACnD;gBACD,kDAAkD;gBAClD,cAAc,EAAE,0BAA0B,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;gBACrF,iBAAiB;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,cAAc,EAAE,OAAO,CAAC,KAAK;gBAC7B,QAAQ;gBACR,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC7C,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,iCAAiC,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IContainerContext, IRuntime } from \"@fluidframework/container-definitions/internal\";\nimport {\n\tContainerRuntime,\n\tDefaultSummaryConfiguration,\n\ttype IContainerRuntimeOptionsInternal,\n} from \"@fluidframework/container-runtime/internal\";\nimport {\n\tIContainerRuntime,\n\t// eslint-disable-next-line import-x/no-deprecated\n\tIContainerRuntimeWithResolveHandle_Deprecated,\n} from \"@fluidframework/container-runtime-definitions/internal\";\nimport { FluidObject, IRequest, IResponse } from \"@fluidframework/core-interfaces\";\nimport { IFluidHandleContext } from \"@fluidframework/core-interfaces/internal\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport {\n\t// eslint-disable-next-line import-x/no-deprecated\n\tRuntimeRequestHandler,\n\t// eslint-disable-next-line import-x/no-deprecated\n\tbuildRuntimeRequestHandler,\n} from \"@fluidframework/request-handler/internal\";\nimport {\n\tIFluidDataStoreFactory,\n\tNamedFluidDataStoreRegistryEntries,\n\ttype MinimumVersionForCollab,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport { RequestParser, RuntimeFactoryHelper } from \"@fluidframework/runtime-utils/internal\";\n\ninterface backCompat_IFluidRouter {\n\tIFluidRouter?: backCompat_IFluidRouter;\n\trequest(request: IRequest): Promise<IResponse>;\n}\n\nconst backCompat_DefaultRouteRequestHandler = (defaultRootId: string) => {\n\treturn async (request: IRequest, runtime: IContainerRuntime) => {\n\t\tconst parser = RequestParser.create(request);\n\t\tif (parser.pathParts.length === 0) {\n\t\t\treturn (\n\t\t\t\truntime as any as Required<FluidObject<IFluidHandleContext>>\n\t\t\t).IFluidHandleContext.resolveHandle({\n\t\t\t\turl: `/${defaultRootId}${parser.query}`,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined; // continue search\n\t};\n};\n\ninterface backCompat_ContainerRuntime {\n\tload(\n\t\tcontext: IContainerContext,\n\t\tregistryEntries: NamedFluidDataStoreRegistryEntries,\n\t\trequestHandler?: (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>,\n\t\truntimeOptions?: IContainerRuntimeOptionsInternal,\n\t\tcontainerScope?: FluidObject,\n\t\texisting?: boolean,\n\t\tcontainerRuntimeCtor?: typeof ContainerRuntime,\n\t): Promise<ContainerRuntime>;\n}\n\n/**\n * Create a container runtime factory class that allows you to set runtime options\n * @internal\n */\nexport const createTestContainerRuntimeFactory = (\n\tcontainerRuntimeCtor: typeof ContainerRuntime,\n) => {\n\treturn class extends RuntimeFactoryHelper {\n\t\tconstructor(\n\t\t\tpublic type: string,\n\t\t\tpublic dataStoreFactory: IFluidDataStoreFactory,\n\t\t\tpublic runtimeOptions: IContainerRuntimeOptionsInternal = {\n\t\t\t\tsummaryOptions: {\n\t\t\t\t\tsummaryConfigOverrides: {\n\t\t\t\t\t\t...DefaultSummaryConfiguration,\n\t\t\t\t\t\t...{\n\t\t\t\t\t\t\tinitialSummarizerDelayMs: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tpublic minVersionForCollab: MinimumVersionForCollab | undefined = undefined,\n\t\t\t// eslint-disable-next-line import-x/no-deprecated\n\t\t\tpublic requestHandlers: RuntimeRequestHandler[] = [],\n\t\t) {\n\t\t\tsuper();\n\t\t}\n\n\t\tpublic async instantiateFirstTime(runtime: ContainerRuntime): Promise<void> {\n\t\t\t// Back-compat - old code does not return IDataStore for rootContext.attachRuntime() call!\n\t\t\t// Thus need to leverage old API createDetachedRootDataStore() that is gone in latest releases.\n\t\t\tconst rootContext =\n\t\t\t\t\"createDetachedRootDataStore\" in runtime\n\t\t\t\t\t? (runtime as any).createDetachedRootDataStore([this.type], \"default\")\n\t\t\t\t\t: runtime.createDetachedDataStore([this.type]);\n\n\t\t\tconst rootRuntime = await this.dataStoreFactory.instantiateDataStore(\n\t\t\t\trootContext,\n\t\t\t\t/* existing */ false,\n\t\t\t);\n\t\t\tconst dataStore = await rootContext.attachRuntime(this.dataStoreFactory, rootRuntime);\n\n\t\t\tconst result = await dataStore?.trySetAlias(\"default\");\n\t\t\tassert(result === \"Success\" || result === undefined, \"success\");\n\t\t}\n\n\t\tpublic async instantiateFromExisting(runtime: ContainerRuntime): Promise<void> {\n\t\t\t// Validate we can load root data stores.\n\t\t\t// We should be able to load any data store that was created in initializeFirstTime!\n\t\t\t// Note: We use the deprecated `getRootDataStore` from v1.X here to allow for cross-major version compat\n\t\t\t// testing. Can be removed when we no longer support v1.X.\n\t\t\tawait (runtime.getAliasedDataStoreEntryPoint?.(\"default\") ??\n\t\t\t\t(\n\t\t\t\t\truntime as any as {\n\t\t\t\t\t\tgetRootDataStore(id: string, wait?: boolean): Promise<backCompat_IFluidRouter>;\n\t\t\t\t\t}\n\t\t\t\t).getRootDataStore(\"default\"));\n\t\t}\n\n\t\tasync preInitialize(\n\t\t\tcontext: IContainerContext,\n\t\t\texisting: boolean,\n\t\t): Promise<IRuntime & IContainerRuntime> {\n\t\t\tif (containerRuntimeCtor.loadRuntime === undefined) {\n\t\t\t\t// Note: We use the deprecated `load` from v1.X here to allow for cross-major version compat testing.\n\t\t\t\t// Can be removed when we no longer support v1.X.\n\t\t\t\treturn (containerRuntimeCtor as any as backCompat_ContainerRuntime).load(\n\t\t\t\t\tcontext,\n\t\t\t\t\t[\n\t\t\t\t\t\t[\"default\", Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t\t\t[this.type, Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t\t],\n\t\t\t\t\t// eslint-disable-next-line import-x/no-deprecated\n\t\t\t\t\tbuildRuntimeRequestHandler(\n\t\t\t\t\t\tbackCompat_DefaultRouteRequestHandler(\"default\"),\n\t\t\t\t\t\t...this.requestHandlers,\n\t\t\t\t\t),\n\t\t\t\t\tthis.runtimeOptions,\n\t\t\t\t\tcontext.scope,\n\t\t\t\t\texisting,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst provideEntryPoint = async (runtime: IContainerRuntime) => {\n\t\t\t\tconst entryPoint = await runtime.getAliasedDataStoreEntryPoint(\"default\");\n\t\t\t\tif (entryPoint === undefined) {\n\t\t\t\t\tthrow new Error(\"default dataStore must exist\");\n\t\t\t\t}\n\t\t\t\treturn entryPoint.get();\n\t\t\t};\n\t\t\tconst getDefaultObject = async (request: IRequest, runtime: IContainerRuntime) => {\n\t\t\t\tconst parser = RequestParser.create(request);\n\t\t\t\tif (parser.pathParts.length === 0) {\n\t\t\t\t\t// This cast is safe as loadContainerRuntime is called below\n\t\t\t\t\t// eslint-disable-next-line import-x/no-deprecated\n\t\t\t\t\treturn (runtime as IContainerRuntimeWithResolveHandle_Deprecated).resolveHandle({\n\t\t\t\t\t\turl: `/default${parser.query}`,\n\t\t\t\t\t\theaders: request.headers,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn undefined; // continue search\n\t\t\t};\n\n\t\t\t// This usage of `containerRuntimeCtor.loadRuntime`, an `@internal` API, called on past versions of this package,\n\t\t\t// adds an extra constraint that makes changing that API more difficult than it otherwise would be.\n\t\t\t// Actual customers / apps should not be dependent on stability of this API, but this code is, at least for now.\n\t\t\treturn containerRuntimeCtor.loadRuntime({\n\t\t\t\tcontext,\n\t\t\t\tregistryEntries: [\n\t\t\t\t\t[\"default\", Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t\t[this.type, Promise.resolve(this.dataStoreFactory)],\n\t\t\t\t],\n\t\t\t\t// eslint-disable-next-line import-x/no-deprecated\n\t\t\t\trequestHandler: buildRuntimeRequestHandler(getDefaultObject, ...this.requestHandlers),\n\t\t\t\tprovideEntryPoint,\n\t\t\t\truntimeOptions: this.runtimeOptions,\n\t\t\t\tcontainerScope: context.scope,\n\t\t\t\texisting,\n\t\t\t\tminVersionForCollab: this.minVersionForCollab,\n\t\t\t});\n\t\t}\n\t};\n};\n\n/**\n * A container runtime factory that allows you to set runtime options\n * @internal\n */\nexport const TestContainerRuntimeFactory = createTestContainerRuntimeFactory(ContainerRuntime);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"testContainerRuntimeFactoryWithDefaultDataStore.js","sourceRoot":"","sources":["../src/testContainerRuntimeFactoryWithDefaultDataStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAA0B,EAAE,EAAE;IAClE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC,CAAC;AA+CF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAG,CAChE,IAA4D,EAC5D,SAA2D,EACzC,EAAE;IACpB,IAAI,CAAC;QACJ,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,sJAAsJ;QACtJ,MAAM,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,GACjB,GAAG,SAAS,CAAC;QACd,+DAA+D;QAC/D,OAAO,IAAK,IAAY,CACvB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,IAAI,qBAAqB,CAC1C,CAAC;IACH,CAAC;AACF,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IRuntimeFactory } from \"@fluidframework/container-definitions/internal\";\nimport { IContainerRuntimeOptions } from \"@fluidframework/container-runtime/internal\";\nimport { IContainerRuntime } from \"@fluidframework/container-runtime-definitions/internal\";\nimport { FluidObject } from \"@fluidframework/core-interfaces\";\n// eslint-disable-next-line import/no-deprecated\nimport { RuntimeRequestHandler } from \"@fluidframework/request-handler/internal\";\nimport {\n\tIFluidDataStoreFactory,\n\tNamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions/internal\";\n\nconst getDefaultFluidObject = async (runtime: IContainerRuntime) => {\n\tconst entryPoint = await runtime.getAliasedDataStoreEntryPoint(\"default\");\n\tif (entryPoint === undefined) {\n\t\tthrow new Error(\"default dataStore must exist\");\n\t}\n\treturn entryPoint.get();\n};\n\n/**\n * {@link ContainerRuntimeFactoryWithDefaultDataStoreConstructor} input properties.\n *\n * @internal\n */\nexport interface ContainerRuntimeFactoryWithDefaultDataStoreProps {\n\treadonly defaultFactory: IFluidDataStoreFactory;\n\t/**\n\t * The data store registry for containers produced.\n\t */\n\treadonly registryEntries: NamedFluidDataStoreRegistryEntries;\n\n\t/**\n\t * @deprecated Do not use. This strictly exists for backwards compatibility.\n\t */\n\treadonly dependencyContainer?: never;\n\n\t/**\n\t * Request handlers for containers produced.\n\t * @deprecated Will be removed once Loader LTS version is \"2.0.0-internal.7.0.0\". Migrate all usage of IFluidRouter to the \"entryPoint\" pattern. Refer to Removing-IFluidRouter.md\n\t */\n\t// eslint-disable-next-line import/no-deprecated\n\treadonly requestHandlers?: RuntimeRequestHandler[];\n\n\t/**\n\t * The runtime options passed to the IContainerRuntime when instantiating it\n\t */\n\treadonly runtimeOptions?: IContainerRuntimeOptions;\n\n\t/**\n\t * Function that will initialize the entryPoint of the IContainerRuntime instances\n\t * created with this factory\n\t */\n\treadonly provideEntryPoint?: (runtime: IContainerRuntime) => Promise<FluidObject>;\n}\n\n/**\n * {@link @fluidframework/container-definitions#IRuntimeFactory} construct signature.\n *\n * @internal\n */\nexport type ContainerRuntimeFactoryWithDefaultDataStoreConstructor = new (\n\tprops: ContainerRuntimeFactoryWithDefaultDataStoreProps,\n) => IRuntimeFactory;\n\n/**\n * @remarks\n * This function is purely needed for back-compat as the constructor argument structure of\n * `ContainerRuntimeFactoryWithDefaultDataStore` was changed.\n *\n * @internal\n */\nexport const createContainerRuntimeFactoryWithDefaultDataStore = (\n\tctor: ContainerRuntimeFactoryWithDefaultDataStoreConstructor,\n\tctorProps: ContainerRuntimeFactoryWithDefaultDataStoreProps,\n): IRuntimeFactory => {\n\ttry {\n\t\treturn new ctor(ctorProps);\n\t} catch (err) {\n\t\t// IMPORTANT: The constructor argument structure changed, so this is needed for dynamically using older `ContainerRuntimeFactoryWithDefaultDataStore`s\n\t\tconst {\n\t\t\tdefaultFactory,\n\t\t\tregistryEntries,\n\t\t\tdependencyContainer,\n\t\t\trequestHandlers,\n\t\t\truntimeOptions,\n\t\t\tprovideEntryPoint,\n\t\t} = ctorProps;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-return\n\t\treturn new (ctor as any)(\n\t\t\tdefaultFactory,\n\t\t\tregistryEntries,\n\t\t\tdependencyContainer,\n\t\t\trequestHandlers,\n\t\t\truntimeOptions,\n\t\t\tprovideEntryPoint ?? getDefaultFluidObject,\n\t\t);\n\t}\n};\n"]}
1
+ {"version":3,"file":"testContainerRuntimeFactoryWithDefaultDataStore.js","sourceRoot":"","sources":["../src/testContainerRuntimeFactoryWithDefaultDataStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAA0B,EAAE,EAAE;IAClE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC,CAAC;AA+CF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAG,CAChE,IAA4D,EAC5D,SAA2D,EACzC,EAAE;IACpB,IAAI,CAAC;QACJ,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,sJAAsJ;QACtJ,MAAM,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,GACjB,GAAG,SAAS,CAAC;QACd,+DAA+D;QAC/D,OAAO,IAAK,IAAY,CACvB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,IAAI,qBAAqB,CAC1C,CAAC;IACH,CAAC;AACF,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IRuntimeFactory } from \"@fluidframework/container-definitions/internal\";\nimport { IContainerRuntimeOptions } from \"@fluidframework/container-runtime/internal\";\nimport { IContainerRuntime } from \"@fluidframework/container-runtime-definitions/internal\";\nimport { FluidObject } from \"@fluidframework/core-interfaces\";\n// eslint-disable-next-line import-x/no-deprecated\nimport { RuntimeRequestHandler } from \"@fluidframework/request-handler/internal\";\nimport {\n\tIFluidDataStoreFactory,\n\tNamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions/internal\";\n\nconst getDefaultFluidObject = async (runtime: IContainerRuntime) => {\n\tconst entryPoint = await runtime.getAliasedDataStoreEntryPoint(\"default\");\n\tif (entryPoint === undefined) {\n\t\tthrow new Error(\"default dataStore must exist\");\n\t}\n\treturn entryPoint.get();\n};\n\n/**\n * {@link ContainerRuntimeFactoryWithDefaultDataStoreConstructor} input properties.\n *\n * @internal\n */\nexport interface ContainerRuntimeFactoryWithDefaultDataStoreProps {\n\treadonly defaultFactory: IFluidDataStoreFactory;\n\t/**\n\t * The data store registry for containers produced.\n\t */\n\treadonly registryEntries: NamedFluidDataStoreRegistryEntries;\n\n\t/**\n\t * @deprecated Do not use. This strictly exists for backwards compatibility.\n\t */\n\treadonly dependencyContainer?: never;\n\n\t/**\n\t * Request handlers for containers produced.\n\t * @deprecated Will be removed once Loader LTS version is \"2.0.0-internal.7.0.0\". Migrate all usage of IFluidRouter to the \"entryPoint\" pattern. Refer to Removing-IFluidRouter.md\n\t */\n\t// eslint-disable-next-line import-x/no-deprecated\n\treadonly requestHandlers?: RuntimeRequestHandler[];\n\n\t/**\n\t * The runtime options passed to the IContainerRuntime when instantiating it\n\t */\n\treadonly runtimeOptions?: IContainerRuntimeOptions;\n\n\t/**\n\t * Function that will initialize the entryPoint of the IContainerRuntime instances\n\t * created with this factory\n\t */\n\treadonly provideEntryPoint?: (runtime: IContainerRuntime) => Promise<FluidObject>;\n}\n\n/**\n * {@link @fluidframework/container-definitions#IRuntimeFactory} construct signature.\n *\n * @internal\n */\nexport type ContainerRuntimeFactoryWithDefaultDataStoreConstructor = new (\n\tprops: ContainerRuntimeFactoryWithDefaultDataStoreProps,\n) => IRuntimeFactory;\n\n/**\n * @remarks\n * This function is purely needed for back-compat as the constructor argument structure of\n * `ContainerRuntimeFactoryWithDefaultDataStore` was changed.\n *\n * @internal\n */\nexport const createContainerRuntimeFactoryWithDefaultDataStore = (\n\tctor: ContainerRuntimeFactoryWithDefaultDataStoreConstructor,\n\tctorProps: ContainerRuntimeFactoryWithDefaultDataStoreProps,\n): IRuntimeFactory => {\n\ttry {\n\t\treturn new ctor(ctorProps);\n\t} catch (err) {\n\t\t// IMPORTANT: The constructor argument structure changed, so this is needed for dynamically using older `ContainerRuntimeFactoryWithDefaultDataStore`s\n\t\tconst {\n\t\t\tdefaultFactory,\n\t\t\tregistryEntries,\n\t\t\tdependencyContainer,\n\t\t\trequestHandlers,\n\t\t\truntimeOptions,\n\t\t\tprovideEntryPoint,\n\t\t} = ctorProps;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-return\n\t\treturn new (ctor as any)(\n\t\t\tdefaultFactory,\n\t\t\tregistryEntries,\n\t\t\tdependencyContainer,\n\t\t\trequestHandlers,\n\t\t\truntimeOptions,\n\t\t\tprovideEntryPoint ?? getDefaultFluidObject,\n\t\t);\n\t}\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/test-utils",
3
- "version": "2.71.0",
3
+ "version": "2.73.0",
4
4
  "description": "Utilities for Fluid tests",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -67,26 +67,26 @@
67
67
  "temp-directory": "nyc/.nyc_output"
68
68
  },
69
69
  "dependencies": {
70
- "@fluid-internal/test-driver-definitions": "~2.71.0",
71
- "@fluidframework/container-definitions": "~2.71.0",
72
- "@fluidframework/container-loader": "~2.71.0",
73
- "@fluidframework/container-runtime": "~2.71.0",
74
- "@fluidframework/container-runtime-definitions": "~2.71.0",
75
- "@fluidframework/core-interfaces": "~2.71.0",
76
- "@fluidframework/core-utils": "~2.71.0",
77
- "@fluidframework/datastore": "~2.71.0",
78
- "@fluidframework/datastore-definitions": "~2.71.0",
79
- "@fluidframework/driver-definitions": "~2.71.0",
80
- "@fluidframework/driver-utils": "~2.71.0",
81
- "@fluidframework/local-driver": "~2.71.0",
82
- "@fluidframework/map": "~2.71.0",
83
- "@fluidframework/odsp-driver": "~2.71.0",
84
- "@fluidframework/request-handler": "~2.71.0",
85
- "@fluidframework/routerlicious-driver": "~2.71.0",
86
- "@fluidframework/runtime-definitions": "~2.71.0",
87
- "@fluidframework/runtime-utils": "~2.71.0",
88
- "@fluidframework/shared-object-base": "~2.71.0",
89
- "@fluidframework/telemetry-utils": "~2.71.0",
70
+ "@fluid-internal/test-driver-definitions": "~2.73.0",
71
+ "@fluidframework/container-definitions": "~2.73.0",
72
+ "@fluidframework/container-loader": "~2.73.0",
73
+ "@fluidframework/container-runtime": "~2.73.0",
74
+ "@fluidframework/container-runtime-definitions": "~2.73.0",
75
+ "@fluidframework/core-interfaces": "~2.73.0",
76
+ "@fluidframework/core-utils": "~2.73.0",
77
+ "@fluidframework/datastore": "~2.73.0",
78
+ "@fluidframework/datastore-definitions": "~2.73.0",
79
+ "@fluidframework/driver-definitions": "~2.73.0",
80
+ "@fluidframework/driver-utils": "~2.73.0",
81
+ "@fluidframework/local-driver": "~2.73.0",
82
+ "@fluidframework/map": "~2.73.0",
83
+ "@fluidframework/odsp-driver": "~2.73.0",
84
+ "@fluidframework/request-handler": "~2.73.0",
85
+ "@fluidframework/routerlicious-driver": "~2.73.0",
86
+ "@fluidframework/runtime-definitions": "~2.73.0",
87
+ "@fluidframework/runtime-utils": "~2.73.0",
88
+ "@fluidframework/shared-object-base": "~2.73.0",
89
+ "@fluidframework/telemetry-utils": "~2.73.0",
90
90
  "best-random": "^1.0.0",
91
91
  "debug": "^4.3.4",
92
92
  "mocha": "^10.8.2",
@@ -95,12 +95,12 @@
95
95
  "devDependencies": {
96
96
  "@arethetypeswrong/cli": "^0.17.1",
97
97
  "@biomejs/biome": "~1.9.3",
98
- "@fluid-internal/mocha-test-setup": "~2.71.0",
99
- "@fluid-tools/build-cli": "^0.58.3",
98
+ "@fluid-internal/mocha-test-setup": "~2.73.0",
99
+ "@fluid-tools/build-cli": "^0.60.0",
100
100
  "@fluidframework/build-common": "^2.0.3",
101
- "@fluidframework/build-tools": "^0.58.3",
102
- "@fluidframework/eslint-config-fluid": "^7.0.0",
103
- "@fluidframework/test-utils-previous": "npm:@fluidframework/test-utils@2.70.0",
101
+ "@fluidframework/build-tools": "^0.60.0",
102
+ "@fluidframework/eslint-config-fluid": "~2.73.0",
103
+ "@fluidframework/test-utils-previous": "npm:@fluidframework/test-utils@2.71.0",
104
104
  "@microsoft/api-extractor": "7.52.11",
105
105
  "@types/debug": "^4.1.5",
106
106
  "@types/diff": "^3.5.1",
@@ -9,7 +9,7 @@ import {
9
9
  LoaderHeader,
10
10
  } from "@fluidframework/container-definitions/internal";
11
11
  import {
12
- // eslint-disable-next-line import/no-deprecated
12
+ // eslint-disable-next-line import-x/no-deprecated
13
13
  IOnDemandSummarizeOptions,
14
14
  ISummarizer,
15
15
  ISummaryRuntimeOptions,
@@ -29,7 +29,7 @@ import {
29
29
  } from "@fluidframework/runtime-definitions/internal";
30
30
 
31
31
  import { createTestConfigProvider } from "./TestConfigs.js";
32
- // eslint-disable-next-line import/no-deprecated
32
+ // eslint-disable-next-line import-x/no-deprecated
33
33
  import { ContainerRuntimeFactoryWithDefaultDataStore } from "./containerRuntimeFactories.js";
34
34
  import { waitForContainerConnection } from "./containerUtils.js";
35
35
  import {
@@ -128,7 +128,7 @@ export async function createSummarizerFromFactory(
128
128
  configProvider: IConfigProviderBase = createTestConfigProvider(),
129
129
  ): Promise<{ container: IContainer; summarizer: ISummarizer }> {
130
130
  const runtimeFactory = createContainerRuntimeFactoryWithDefaultDataStore(
131
- // eslint-disable-next-line import/no-deprecated
131
+ // eslint-disable-next-line import-x/no-deprecated
132
132
  containerRuntimeFactoryType ?? ContainerRuntimeFactoryWithDefaultDataStore,
133
133
  {
134
134
  defaultFactory: dataStoreFactory,
@@ -14,14 +14,14 @@ import {
14
14
  } from "@fluidframework/container-runtime/internal";
15
15
  import type {
16
16
  IContainerRuntime,
17
- // eslint-disable-next-line import/no-deprecated
17
+ // eslint-disable-next-line import-x/no-deprecated
18
18
  IContainerRuntimeWithResolveHandle_Deprecated,
19
19
  } from "@fluidframework/container-runtime-definitions/internal";
20
20
  import type { FluidObject, IRequest, IResponse } from "@fluidframework/core-interfaces";
21
21
  import {
22
- // eslint-disable-next-line import/no-deprecated
22
+ // eslint-disable-next-line import-x/no-deprecated
23
23
  type RuntimeRequestHandler,
24
- // eslint-disable-next-line import/no-deprecated
24
+ // eslint-disable-next-line import-x/no-deprecated
25
25
  buildRuntimeRequestHandler,
26
26
  } from "@fluidframework/request-handler/internal";
27
27
  import type {
@@ -109,7 +109,7 @@ export class ContainerRuntimeFactoryWithDefaultDataStore
109
109
  */
110
110
  private readonly runtimeOptions?: IContainerRuntimeOptions;
111
111
 
112
- // eslint-disable-next-line import/no-deprecated
112
+ // eslint-disable-next-line import-x/no-deprecated
113
113
  private readonly requestHandlers: readonly RuntimeRequestHandler[];
114
114
 
115
115
  /**
@@ -132,7 +132,7 @@ export class ContainerRuntimeFactoryWithDefaultDataStore
132
132
  const parser = RequestParser.create(request);
133
133
  if (parser.pathParts.length === 0) {
134
134
  // This cast is safe as loadContainerRuntime is called in the base class
135
- // eslint-disable-next-line import/no-deprecated
135
+ // eslint-disable-next-line import-x/no-deprecated
136
136
  return (runtime as IContainerRuntimeWithResolveHandle_Deprecated).resolveHandle({
137
137
  url: `/${defaultDataStoreId}${parser.query}`,
138
138
  headers: request.headers,
@@ -169,7 +169,7 @@ export class ContainerRuntimeFactoryWithDefaultDataStore
169
169
  runtimeOptions: this.runtimeOptions,
170
170
  registryEntries: this.registryEntries,
171
171
  containerScope: context.scope,
172
- // eslint-disable-next-line import/no-deprecated
172
+ // eslint-disable-next-line import-x/no-deprecated
173
173
  requestHandler: buildRuntimeRequestHandler(...this.requestHandlers),
174
174
  provideEntryPoint: this.provideEntryPoint,
175
175
  minVersionForCollab: this.minVersionForCollab,
@@ -12,7 +12,7 @@ import { ConnectionState } from "@fluidframework/container-loader";
12
12
  import {
13
13
  IContainerCreateProps,
14
14
  IContainerLoadProps,
15
- // eslint-disable-next-line import/no-internal-modules
15
+ // eslint-disable-next-line import-x/no-internal-modules
16
16
  } from "@fluidframework/container-loader/internal/test/container";
17
17
  import { assert } from "@fluidframework/core-utils/internal";
18
18
  import {
@@ -21,7 +21,7 @@ import {
21
21
  type IFluidDataStoreRegistry,
22
22
  } from "@fluidframework/runtime-definitions/internal";
23
23
 
24
- // eslint-disable-next-line import/no-deprecated
24
+ // eslint-disable-next-line import-x/no-deprecated
25
25
  import { ContainerRuntimeFactoryWithDefaultDataStore } from "./containerRuntimeFactories.js";
26
26
 
27
27
  /**
@@ -102,7 +102,7 @@ export class LocalCodeLoader implements ICodeDetailsLoader {
102
102
  fluidModule = {
103
103
  fluidExport: {
104
104
  ...maybeExport,
105
- // eslint-disable-next-line import/no-deprecated
105
+ // eslint-disable-next-line import-x/no-deprecated
106
106
  IRuntimeFactory: new ContainerRuntimeFactoryWithDefaultDataStore({
107
107
  defaultFactory,
108
108
  registryEntries: [[defaultFactory.type, Promise.resolve(defaultFactory)]],
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/test-utils";
9
- export const pkgVersion = "2.71.0";
9
+ export const pkgVersion = "2.73.0";
@@ -11,16 +11,16 @@ import {
11
11
  } from "@fluidframework/container-runtime/internal";
12
12
  import {
13
13
  IContainerRuntime,
14
- // eslint-disable-next-line import/no-deprecated
14
+ // eslint-disable-next-line import-x/no-deprecated
15
15
  IContainerRuntimeWithResolveHandle_Deprecated,
16
16
  } from "@fluidframework/container-runtime-definitions/internal";
17
17
  import { FluidObject, IRequest, IResponse } from "@fluidframework/core-interfaces";
18
18
  import { IFluidHandleContext } from "@fluidframework/core-interfaces/internal";
19
19
  import { assert } from "@fluidframework/core-utils/internal";
20
20
  import {
21
- // eslint-disable-next-line import/no-deprecated
21
+ // eslint-disable-next-line import-x/no-deprecated
22
22
  RuntimeRequestHandler,
23
- // eslint-disable-next-line import/no-deprecated
23
+ // eslint-disable-next-line import-x/no-deprecated
24
24
  buildRuntimeRequestHandler,
25
25
  } from "@fluidframework/request-handler/internal";
26
26
  import {
@@ -84,7 +84,7 @@ export const createTestContainerRuntimeFactory = (
84
84
  },
85
85
  },
86
86
  public minVersionForCollab: MinimumVersionForCollab | undefined = undefined,
87
- // eslint-disable-next-line import/no-deprecated
87
+ // eslint-disable-next-line import-x/no-deprecated
88
88
  public requestHandlers: RuntimeRequestHandler[] = [],
89
89
  ) {
90
90
  super();
@@ -134,7 +134,7 @@ export const createTestContainerRuntimeFactory = (
134
134
  ["default", Promise.resolve(this.dataStoreFactory)],
135
135
  [this.type, Promise.resolve(this.dataStoreFactory)],
136
136
  ],
137
- // eslint-disable-next-line import/no-deprecated
137
+ // eslint-disable-next-line import-x/no-deprecated
138
138
  buildRuntimeRequestHandler(
139
139
  backCompat_DefaultRouteRequestHandler("default"),
140
140
  ...this.requestHandlers,
@@ -155,7 +155,7 @@ export const createTestContainerRuntimeFactory = (
155
155
  const parser = RequestParser.create(request);
156
156
  if (parser.pathParts.length === 0) {
157
157
  // This cast is safe as loadContainerRuntime is called below
158
- // eslint-disable-next-line import/no-deprecated
158
+ // eslint-disable-next-line import-x/no-deprecated
159
159
  return (runtime as IContainerRuntimeWithResolveHandle_Deprecated).resolveHandle({
160
160
  url: `/default${parser.query}`,
161
161
  headers: request.headers,
@@ -173,7 +173,7 @@ export const createTestContainerRuntimeFactory = (
173
173
  ["default", Promise.resolve(this.dataStoreFactory)],
174
174
  [this.type, Promise.resolve(this.dataStoreFactory)],
175
175
  ],
176
- // eslint-disable-next-line import/no-deprecated
176
+ // eslint-disable-next-line import-x/no-deprecated
177
177
  requestHandler: buildRuntimeRequestHandler(getDefaultObject, ...this.requestHandlers),
178
178
  provideEntryPoint,
179
179
  runtimeOptions: this.runtimeOptions,
@@ -7,7 +7,7 @@ import type { IRuntimeFactory } from "@fluidframework/container-definitions/inte
7
7
  import { IContainerRuntimeOptions } from "@fluidframework/container-runtime/internal";
8
8
  import { IContainerRuntime } from "@fluidframework/container-runtime-definitions/internal";
9
9
  import { FluidObject } from "@fluidframework/core-interfaces";
10
- // eslint-disable-next-line import/no-deprecated
10
+ // eslint-disable-next-line import-x/no-deprecated
11
11
  import { RuntimeRequestHandler } from "@fluidframework/request-handler/internal";
12
12
  import {
13
13
  IFluidDataStoreFactory,
@@ -43,7 +43,7 @@ export interface ContainerRuntimeFactoryWithDefaultDataStoreProps {
43
43
  * Request handlers for containers produced.
44
44
  * @deprecated Will be removed once Loader LTS version is "2.0.0-internal.7.0.0". Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
45
45
  */
46
- // eslint-disable-next-line import/no-deprecated
46
+ // eslint-disable-next-line import-x/no-deprecated
47
47
  readonly requestHandlers?: RuntimeRequestHandler[];
48
48
 
49
49
  /**