@fluid-internal/client-utils 2.81.1 → 2.83.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 +8 -0
- package/dist/indexBrowser.d.ts +1 -1
- package/dist/indexBrowser.d.ts.map +1 -1
- package/dist/indexBrowser.js +2 -1
- package/dist/indexBrowser.js.map +1 -1
- package/dist/indexNode.d.ts +1 -1
- package/dist/indexNode.d.ts.map +1 -1
- package/dist/indexNode.js +2 -1
- package/dist/indexNode.js.map +1 -1
- package/dist/layerCompat.d.ts +38 -0
- package/dist/layerCompat.d.ts.map +1 -1
- package/dist/layerCompat.js +39 -1
- package/dist/layerCompat.js.map +1 -1
- package/eslint.config.mts +3 -0
- package/lib/indexBrowser.d.ts +1 -1
- package/lib/indexBrowser.d.ts.map +1 -1
- package/lib/indexBrowser.js +1 -1
- package/lib/indexBrowser.js.map +1 -1
- package/lib/indexNode.d.ts +1 -1
- package/lib/indexNode.d.ts.map +1 -1
- package/lib/indexNode.js +1 -1
- package/lib/indexNode.js.map +1 -1
- package/lib/layerCompat.d.ts +38 -0
- package/lib/layerCompat.d.ts.map +1 -1
- package/lib/layerCompat.js +38 -0
- package/lib/layerCompat.js.map +1 -1
- package/package.json +8 -8
- package/src/indexBrowser.ts +1 -0
- package/src/indexNode.ts +1 -0
- package/src/layerCompat.ts +39 -0
- package/biome.jsonc +0 -4
package/CHANGELOG.md
CHANGED
package/dist/indexBrowser.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export { performanceNow } from "./performanceIsomorphic.js";
|
|
|
11
11
|
export { type ITraceEvent, Trace } from "./trace.js";
|
|
12
12
|
export { type EventEmitterEventType, TypedEventEmitter, type TypedEventTransform, } from "./typedEventEmitter.js";
|
|
13
13
|
export { createEmitter } from "./events/index.js";
|
|
14
|
-
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, } from "./layerCompat.js";
|
|
14
|
+
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, LayerCompatibilityPolicyWindowMonths, } from "./layerCompat.js";
|
|
15
15
|
export { generation } from "./layerGenerationState.js";
|
|
16
16
|
//# sourceMappingURL=indexBrowser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACN,cAAc,EACd,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACN,cAAc,EACd,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,oCAAoC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/indexBrowser.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.generation = exports.checkLayerCompatibility = exports.createEmitter = exports.TypedEventEmitter = exports.Trace = exports.performanceNow = exports.EventEmitter = exports.Uint8ArrayToArrayBuffer = exports.toUtf8 = exports.fromUtf8ToBase64 = exports.fromBase64ToUtf8 = exports.hashFile = exports.gitHashFile = exports.Uint8ArrayToString = exports.stringToBuffer = exports.IsoBuffer = exports.isArrayBuffer = exports.bufferToString = void 0;
|
|
7
|
+
exports.generation = exports.LayerCompatibilityPolicyWindowMonths = exports.checkLayerCompatibility = exports.createEmitter = exports.TypedEventEmitter = exports.Trace = exports.performanceNow = exports.EventEmitter = exports.Uint8ArrayToArrayBuffer = exports.toUtf8 = exports.fromUtf8ToBase64 = exports.fromBase64ToUtf8 = exports.hashFile = exports.gitHashFile = exports.Uint8ArrayToString = exports.stringToBuffer = exports.IsoBuffer = exports.isArrayBuffer = exports.bufferToString = void 0;
|
|
8
8
|
// Entrypoint for browser-specific code in the package.
|
|
9
9
|
// (See 'Isomorphic Code' section in the package README.md.)
|
|
10
10
|
var bufferBrowser_js_1 = require("./bufferBrowser.js");
|
|
@@ -34,6 +34,7 @@ var index_js_1 = require("./events/index.js");
|
|
|
34
34
|
Object.defineProperty(exports, "createEmitter", { enumerable: true, get: function () { return index_js_1.createEmitter; } });
|
|
35
35
|
var layerCompat_js_1 = require("./layerCompat.js");
|
|
36
36
|
Object.defineProperty(exports, "checkLayerCompatibility", { enumerable: true, get: function () { return layerCompat_js_1.checkLayerCompatibility; } });
|
|
37
|
+
Object.defineProperty(exports, "LayerCompatibilityPolicyWindowMonths", { enumerable: true, get: function () { return layerCompat_js_1.LayerCompatibilityPolicyWindowMonths; } });
|
|
37
38
|
var layerGenerationState_js_1 = require("./layerGenerationState.js");
|
|
38
39
|
Object.defineProperty(exports, "generation", { enumerable: true, get: function () { return layerGenerationState_js_1.generation; } });
|
|
39
40
|
//# sourceMappingURL=indexBrowser.js.map
|
package/dist/indexBrowser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexBrowser.js","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uDAAuD;AACvD,4DAA4D;AAE5D,uDAM4B;AAL3B,kHAAA,cAAc,OAAA;AACd,iHAAA,aAAa,OAAA;AACb,6GAAA,SAAS,OAAA;AACT,kHAAA,cAAc,OAAA;AACd,sHAAA,kBAAkB,OAAA;AAEnB,2DAA6D;AAApD,iHAAA,WAAW,OAAA;AAAE,8GAAA,QAAQ,OAAA;AAE9B,uEAAwF;AAA/E,4HAAA,gBAAgB,OAAA;AAAE,4HAAA,gBAAgB,OAAA;AAAE,kHAAA,MAAM,OAAA;AACnD,qDAA4D;AAAnD,0HAAA,uBAAuB,OAAA;AAChC,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AACrB,uEAA4D;AAAnD,0HAAA,cAAc,OAAA;AACvB,uCAAqD;AAA1B,iGAAA,KAAK,OAAA;AAChC,+DAIgC;AAF/B,yHAAA,iBAAiB,OAAA;AAIlB,8CAAkD;AAAzC,yGAAA,aAAa,OAAA;AAEtB,
|
|
1
|
+
{"version":3,"file":"indexBrowser.js","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uDAAuD;AACvD,4DAA4D;AAE5D,uDAM4B;AAL3B,kHAAA,cAAc,OAAA;AACd,iHAAA,aAAa,OAAA;AACb,6GAAA,SAAS,OAAA;AACT,kHAAA,cAAc,OAAA;AACd,sHAAA,kBAAkB,OAAA;AAEnB,2DAA6D;AAApD,iHAAA,WAAW,OAAA;AAAE,8GAAA,QAAQ,OAAA;AAE9B,uEAAwF;AAA/E,4HAAA,gBAAgB,OAAA;AAAE,4HAAA,gBAAgB,OAAA;AAAE,kHAAA,MAAM,OAAA;AACnD,qDAA4D;AAAnD,0HAAA,uBAAuB,OAAA;AAChC,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AACrB,uEAA4D;AAAnD,0HAAA,cAAc,OAAA;AACvB,uCAAqD;AAA1B,iGAAA,KAAK,OAAA;AAChC,+DAIgC;AAF/B,yHAAA,iBAAiB,OAAA;AAIlB,8CAAkD;AAAzC,yGAAA,aAAa,OAAA;AAEtB,mDAQ0B;AANzB,yHAAA,uBAAuB,OAAA;AAKvB,sIAAA,oCAAoC,OAAA;AAErC,qEAAuD;AAA9C,qHAAA,UAAU,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// Entrypoint for browser-specific code in the package.\n// (See 'Isomorphic Code' section in the package README.md.)\n\nexport {\n\tbufferToString,\n\tisArrayBuffer,\n\tIsoBuffer,\n\tstringToBuffer,\n\tUint8ArrayToString,\n} from \"./bufferBrowser.js\";\nexport { gitHashFile, hashFile } from \"./hashFileBrowser.js\";\n\nexport { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from \"./base64EncodingBrowser.js\";\nexport { Uint8ArrayToArrayBuffer } from \"./bufferShared.js\";\nexport { EventEmitter } from \"./eventEmitter.cjs\";\nexport { performanceNow } from \"./performanceIsomorphic.js\";\nexport { type ITraceEvent, Trace } from \"./trace.js\";\nexport {\n\ttype EventEmitterEventType,\n\tTypedEventEmitter,\n\ttype TypedEventTransform,\n} from \"./typedEventEmitter.js\";\n\nexport { createEmitter } from \"./events/index.js\";\n\nexport {\n\ttype FluidLayer,\n\tcheckLayerCompatibility,\n\ttype LayerCompatCheckResult,\n\ttype ILayerCompatDetails,\n\ttype IProvideLayerCompatDetails,\n\ttype ILayerCompatSupportRequirements,\n\tLayerCompatibilityPolicyWindowMonths,\n} from \"./layerCompat.js\";\nexport { generation } from \"./layerGenerationState.js\";\n"]}
|
package/dist/indexNode.d.ts
CHANGED
|
@@ -12,6 +12,6 @@ export { performanceNow } from "./performanceIsomorphic.js";
|
|
|
12
12
|
export { type ITraceEvent, Trace } from "./trace.js";
|
|
13
13
|
export { type EventEmitterEventType, TypedEventEmitter, type TypedEventTransform, } from "./typedEventEmitter.js";
|
|
14
14
|
export { createEmitter } from "./events/index.js";
|
|
15
|
-
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, } from "./layerCompat.js";
|
|
15
|
+
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, LayerCompatibilityPolicyWindowMonths, } from "./layerCompat.js";
|
|
16
16
|
export { generation } from "./layerGenerationState.js";
|
|
17
17
|
//# sourceMappingURL=indexNode.d.ts.map
|
package/dist/indexNode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,oCAAoC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/indexNode.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.generation = exports.checkLayerCompatibility = exports.createEmitter = exports.TypedEventEmitter = exports.Trace = exports.performanceNow = exports.EventEmitter = exports.Uint8ArrayToArrayBuffer = exports.toUtf8 = exports.fromUtf8ToBase64 = exports.fromBase64ToUtf8 = exports.hashFile = exports.gitHashFile = exports.Uint8ArrayToString = exports.stringToBuffer = exports.IsoBuffer = exports.bufferToString = void 0;
|
|
7
|
+
exports.generation = exports.LayerCompatibilityPolicyWindowMonths = exports.checkLayerCompatibility = exports.createEmitter = exports.TypedEventEmitter = exports.Trace = exports.performanceNow = exports.EventEmitter = exports.Uint8ArrayToArrayBuffer = exports.toUtf8 = exports.fromUtf8ToBase64 = exports.fromBase64ToUtf8 = exports.hashFile = exports.gitHashFile = exports.Uint8ArrayToString = exports.stringToBuffer = exports.IsoBuffer = exports.bufferToString = void 0;
|
|
8
8
|
var bufferNode_js_1 = require("./bufferNode.js");
|
|
9
9
|
Object.defineProperty(exports, "bufferToString", { enumerable: true, get: function () { return bufferNode_js_1.bufferToString; } });
|
|
10
10
|
Object.defineProperty(exports, "IsoBuffer", { enumerable: true, get: function () { return bufferNode_js_1.IsoBuffer; } });
|
|
@@ -31,6 +31,7 @@ var index_js_1 = require("./events/index.js");
|
|
|
31
31
|
Object.defineProperty(exports, "createEmitter", { enumerable: true, get: function () { return index_js_1.createEmitter; } });
|
|
32
32
|
var layerCompat_js_1 = require("./layerCompat.js");
|
|
33
33
|
Object.defineProperty(exports, "checkLayerCompatibility", { enumerable: true, get: function () { return layerCompat_js_1.checkLayerCompatibility; } });
|
|
34
|
+
Object.defineProperty(exports, "LayerCompatibilityPolicyWindowMonths", { enumerable: true, get: function () { return layerCompat_js_1.LayerCompatibilityPolicyWindowMonths; } });
|
|
34
35
|
var layerGenerationState_js_1 = require("./layerGenerationState.js");
|
|
35
36
|
Object.defineProperty(exports, "generation", { enumerable: true, get: function () { return layerGenerationState_js_1.generation; } });
|
|
36
37
|
//# sourceMappingURL=indexNode.js.map
|
package/dist/indexNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexNode.js","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,iDAKyB;AAJxB,+GAAA,cAAc,OAAA;AACd,0GAAA,SAAS,OAAA;AACT,+GAAA,cAAc,OAAA;AACd,mHAAA,kBAAkB,OAAA;AAEnB,qDAA0D;AAAjD,8GAAA,WAAW,OAAA;AAAE,2GAAA,QAAQ,OAAA;AAE9B,iEAAqF;AAA5E,yHAAA,gBAAgB,OAAA;AAAE,yHAAA,gBAAgB,OAAA;AAAE,+GAAA,MAAM,OAAA;AACnD,qDAA4D;AAAnD,0HAAA,uBAAuB,OAAA;AAChC,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AACrB,uEAA4D;AAAnD,0HAAA,cAAc,OAAA;AACvB,uCAAqD;AAA1B,iGAAA,KAAK,OAAA;AAChC,+DAIgC;AAF/B,yHAAA,iBAAiB,OAAA;AAIlB,8CAAkD;AAAzC,yGAAA,aAAa,OAAA;AAEtB,
|
|
1
|
+
{"version":3,"file":"indexNode.js","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,iDAKyB;AAJxB,+GAAA,cAAc,OAAA;AACd,0GAAA,SAAS,OAAA;AACT,+GAAA,cAAc,OAAA;AACd,mHAAA,kBAAkB,OAAA;AAEnB,qDAA0D;AAAjD,8GAAA,WAAW,OAAA;AAAE,2GAAA,QAAQ,OAAA;AAE9B,iEAAqF;AAA5E,yHAAA,gBAAgB,OAAA;AAAE,yHAAA,gBAAgB,OAAA;AAAE,+GAAA,MAAM,OAAA;AACnD,qDAA4D;AAAnD,0HAAA,uBAAuB,OAAA;AAChC,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AACrB,uEAA4D;AAAnD,0HAAA,cAAc,OAAA;AACvB,uCAAqD;AAA1B,iGAAA,KAAK,OAAA;AAChC,+DAIgC;AAF/B,yHAAA,iBAAiB,OAAA;AAIlB,8CAAkD;AAAzC,yGAAA,aAAa,OAAA;AAEtB,mDAQ0B;AANzB,yHAAA,uBAAuB,OAAA;AAKvB,sIAAA,oCAAoC,OAAA;AAErC,qEAAuD;AAA9C,qHAAA,UAAU,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// Entrypoint for Node.js-specific code in the package.\n// (See 'Isomorphic Code' section in the package README.md.)\n\nexport { type Buffer } from \"./bufferNode.js\";\nexport {\n\tbufferToString,\n\tIsoBuffer,\n\tstringToBuffer,\n\tUint8ArrayToString,\n} from \"./bufferNode.js\";\nexport { gitHashFile, hashFile } from \"./hashFileNode.js\";\n\nexport { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from \"./base64EncodingNode.js\";\nexport { Uint8ArrayToArrayBuffer } from \"./bufferShared.js\";\nexport { EventEmitter } from \"./eventEmitter.cjs\";\nexport { performanceNow } from \"./performanceIsomorphic.js\";\nexport { type ITraceEvent, Trace } from \"./trace.js\";\nexport {\n\ttype EventEmitterEventType,\n\tTypedEventEmitter,\n\ttype TypedEventTransform,\n} from \"./typedEventEmitter.js\";\n\nexport { createEmitter } from \"./events/index.js\";\n\nexport {\n\ttype FluidLayer,\n\tcheckLayerCompatibility,\n\ttype LayerCompatCheckResult,\n\ttype ILayerCompatDetails,\n\ttype IProvideLayerCompatDetails,\n\ttype ILayerCompatSupportRequirements,\n\tLayerCompatibilityPolicyWindowMonths,\n} from \"./layerCompat.js\";\nexport { generation } from \"./layerGenerationState.js\";\n"]}
|
package/dist/layerCompat.d.ts
CHANGED
|
@@ -7,6 +7,44 @@
|
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|
|
9
9
|
export type FluidLayer = "loader" | "driver" | "runtime" | "dataStore";
|
|
10
|
+
/**
|
|
11
|
+
* The policy for compatibility windows that a layer uses to validate compatibility with another layer.
|
|
12
|
+
* The other layer must be within this window relative to the layer to be compatible.
|
|
13
|
+
* Note that the policy is defined in terms of months, but the actual compatibility check is done using generations.
|
|
14
|
+
* Generations are updated every 1+ months depending on the release cadence so they are mostly 1-to-1 with months,
|
|
15
|
+
* but they are always higher than months since releases are not exactly every month.
|
|
16
|
+
*
|
|
17
|
+
* IMPORTANT: When changing these policy values, update the documentation in "Layer Compatibility Policy" section of
|
|
18
|
+
* LayerCompatibility.md at the root of the repository.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare const LayerCompatibilityPolicyWindowMonths: {
|
|
23
|
+
/**
|
|
24
|
+
* Driver is compatible with Loader versions up to 12 months (or generations) older.
|
|
25
|
+
*/
|
|
26
|
+
readonly DriverLoader: 12;
|
|
27
|
+
/**
|
|
28
|
+
* Loader is compatible with Driver versions up to 3 months (or generations) older.
|
|
29
|
+
*/
|
|
30
|
+
readonly LoaderDriver: 3;
|
|
31
|
+
/**
|
|
32
|
+
* Runtime is compatible with Loader versions up to 12 months (or generations) older.
|
|
33
|
+
*/
|
|
34
|
+
readonly RuntimeLoader: 12;
|
|
35
|
+
/**
|
|
36
|
+
* Loader is compatible with Runtime versions up to 3 months (or generations) older.
|
|
37
|
+
*/
|
|
38
|
+
readonly LoaderRuntime: 3;
|
|
39
|
+
/**
|
|
40
|
+
* Runtime is compatible with DataStore versions up to 3 months (or generations) older.
|
|
41
|
+
*/
|
|
42
|
+
readonly RuntimeDataStore: 3;
|
|
43
|
+
/**
|
|
44
|
+
* DataStore is compatible with Runtime versions up to 3 months (or generations) older.
|
|
45
|
+
*/
|
|
46
|
+
readonly DataStoreRuntime: 3;
|
|
47
|
+
};
|
|
10
48
|
/**
|
|
11
49
|
* Result of a layer compatibility check - whether a layer is compatible with another layer.
|
|
12
50
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layerCompat.d.ts","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAC/B;IACA,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,0BAAkD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,0BAA0B,CAAC;IAC/E;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAIvC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,+BAA+B,EAAE,+BAA+B,EAChE,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,GAClD,sBAAsB,CA4BxB"}
|
|
1
|
+
{"version":3,"file":"layerCompat.d.ts","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oCAAoC;IAChD;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEM,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAC/B;IACA,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,0BAAkD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,0BAA0B,CAAC;IAC/E;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAIvC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,+BAA+B,EAAE,+BAA+B,EAChE,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,GAClD,sBAAsB,CA4BxB"}
|
package/dist/layerCompat.js
CHANGED
|
@@ -4,7 +4,45 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.checkLayerCompatibility = exports.defaultLayerCompatDetails = exports.ILayerCompatDetails = void 0;
|
|
7
|
+
exports.checkLayerCompatibility = exports.defaultLayerCompatDetails = exports.ILayerCompatDetails = exports.LayerCompatibilityPolicyWindowMonths = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* The policy for compatibility windows that a layer uses to validate compatibility with another layer.
|
|
10
|
+
* The other layer must be within this window relative to the layer to be compatible.
|
|
11
|
+
* Note that the policy is defined in terms of months, but the actual compatibility check is done using generations.
|
|
12
|
+
* Generations are updated every 1+ months depending on the release cadence so they are mostly 1-to-1 with months,
|
|
13
|
+
* but they are always higher than months since releases are not exactly every month.
|
|
14
|
+
*
|
|
15
|
+
* IMPORTANT: When changing these policy values, update the documentation in "Layer Compatibility Policy" section of
|
|
16
|
+
* LayerCompatibility.md at the root of the repository.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
exports.LayerCompatibilityPolicyWindowMonths = {
|
|
21
|
+
/**
|
|
22
|
+
* Driver is compatible with Loader versions up to 12 months (or generations) older.
|
|
23
|
+
*/
|
|
24
|
+
DriverLoader: 12,
|
|
25
|
+
/**
|
|
26
|
+
* Loader is compatible with Driver versions up to 3 months (or generations) older.
|
|
27
|
+
*/
|
|
28
|
+
LoaderDriver: 3,
|
|
29
|
+
/**
|
|
30
|
+
* Runtime is compatible with Loader versions up to 12 months (or generations) older.
|
|
31
|
+
*/
|
|
32
|
+
RuntimeLoader: 12,
|
|
33
|
+
/**
|
|
34
|
+
* Loader is compatible with Runtime versions up to 3 months (or generations) older.
|
|
35
|
+
*/
|
|
36
|
+
LoaderRuntime: 3,
|
|
37
|
+
/**
|
|
38
|
+
* Runtime is compatible with DataStore versions up to 3 months (or generations) older.
|
|
39
|
+
*/
|
|
40
|
+
RuntimeDataStore: 3,
|
|
41
|
+
/**
|
|
42
|
+
* DataStore is compatible with Runtime versions up to 3 months (or generations) older.
|
|
43
|
+
*/
|
|
44
|
+
DataStoreRuntime: 3,
|
|
45
|
+
};
|
|
8
46
|
/**
|
|
9
47
|
* @internal
|
|
10
48
|
*/
|
package/dist/layerCompat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layerCompat.js","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"layerCompat.js","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAQH;;;;;;;;;;;GAWG;AACU,QAAA,oCAAoC,GAAG;IACnD;;OAEG;IACH,YAAY,EAAE,EAAE;IAChB;;OAEG;IACH,YAAY,EAAE,CAAC;IACf;;OAEG;IACH,aAAa,EAAE,EAAE;IACjB;;OAEG;IACH,aAAa,EAAE,CAAC;IAChB;;OAEG;IACH,gBAAgB,EAAE,CAAC;IACnB;;OAEG;IACH,gBAAgB,EAAE,CAAC;CACV,CAAC;AAqBX;;GAEG;AACU,QAAA,mBAAmB,GAAqC,qBAAqB,CAAC;AAsC3F;;;;GAIG;AACU,QAAA,yBAAyB,GAAwB;IAC7D,iBAAiB,EAAE,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,CAAC,EAAE,4EAA4E;IAC3F,UAAU,EAAE,SAAS;CACrB,CAAC;AAiBF;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CACtC,+BAAgE,EAChE,mBAAoD;IAEpD,MAAM,wBAAwB,GAAG,mBAAmB,IAAI,iCAAyB,CAAC;IAClF,IAAI,sBAAsB,GAAG,IAAI,CAAC;IAClC,MAAM,mBAAmB,GAAa,EAAE,CAAC;IAEzC,2FAA2F;IAC3F,6BAA6B;IAC7B,IACC,wBAAwB,CAAC,UAAU;QACnC,+BAA+B,CAAC,sBAAsB,EACrD,CAAC;QACF,sBAAsB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,gFAAgF;IAChF,KAAK,MAAM,OAAO,IAAI,+BAA+B,CAAC,gBAAgB,EAAE,CAAC;QACxE,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,OAAO,sBAAsB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAChE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;QACxB,CAAC,CAAC;YACA,YAAY,EAAE,KAAK;YACnB,sBAAsB;YACtB,mBAAmB,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;SACrF,CAAC;AACL,CAAC;AA/BD,0DA+BC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * The different Fluid layers in a client.\n * @internal\n */\nexport type FluidLayer = \"loader\" | \"driver\" | \"runtime\" | \"dataStore\";\n\n/**\n * The policy for compatibility windows that a layer uses to validate compatibility with another layer.\n * The other layer must be within this window relative to the layer to be compatible.\n * Note that the policy is defined in terms of months, but the actual compatibility check is done using generations.\n * Generations are updated every 1+ months depending on the release cadence so they are mostly 1-to-1 with months,\n * but they are always higher than months since releases are not exactly every month.\n *\n * IMPORTANT: When changing these policy values, update the documentation in \"Layer Compatibility Policy\" section of\n * LayerCompatibility.md at the root of the repository.\n *\n * @internal\n */\nexport const LayerCompatibilityPolicyWindowMonths = {\n\t/**\n\t * Driver is compatible with Loader versions up to 12 months (or generations) older.\n\t */\n\tDriverLoader: 12,\n\t/**\n\t * Loader is compatible with Driver versions up to 3 months (or generations) older.\n\t */\n\tLoaderDriver: 3,\n\t/**\n\t * Runtime is compatible with Loader versions up to 12 months (or generations) older.\n\t */\n\tRuntimeLoader: 12,\n\t/**\n\t * Loader is compatible with Runtime versions up to 3 months (or generations) older.\n\t */\n\tLoaderRuntime: 3,\n\t/**\n\t * Runtime is compatible with DataStore versions up to 3 months (or generations) older.\n\t */\n\tRuntimeDataStore: 3,\n\t/**\n\t * DataStore is compatible with Runtime versions up to 3 months (or generations) older.\n\t */\n\tDataStoreRuntime: 3,\n} as const;\n\n/**\n * Result of a layer compatibility check - whether a layer is compatible with another layer.\n * @internal\n */\nexport type LayerCompatCheckResult =\n\t| { readonly isCompatible: true }\n\t| {\n\t\t\treadonly isCompatible: false;\n\t\t\t/**\n\t\t\t * Whether the generation of the layer is compatible with the other layer.\n\t\t\t */\n\t\t\treadonly isGenerationCompatible: boolean;\n\t\t\t/**\n\t\t\t * The features that are required by the layer but are not supported by the other layer. This will only\n\t\t\t * be set if there are unsupported features.\n\t\t\t */\n\t\t\treadonly unsupportedFeatures: readonly string[] | undefined;\n\t };\n\n/**\n * @internal\n */\nexport const ILayerCompatDetails: keyof IProvideLayerCompatDetails = \"ILayerCompatDetails\";\n\n/**\n * @internal\n */\nexport interface IProvideLayerCompatDetails {\n\treadonly ILayerCompatDetails: ILayerCompatDetails;\n}\n\n/**\n * This interface is used to communicate the compatibility details of a layer to another layer.\n * @internal\n */\nexport interface ILayerCompatDetails extends Partial<IProvideLayerCompatDetails> {\n\t/**\n\t * A list of features supported by the layer at a particular layer boundary. This is used to check if these\n\t * set of features satisfy the requirements of another layer.\n\t */\n\treadonly supportedFeatures: ReadonlySet<string>;\n\t/**\n\t * The generation of the layer. The other layer at the layer boundary uses this to check if this satisfies\n\t * the minimum generation it requires to be compatible.\n\t *\n\t * @remarks Generation is updated on a regular cadence, say, monthly. This will allow us to determine how\n\t * far apart two layers are in terms of time and whether they are compatible.\n\t * For example, say generation is updated every month and the compatibility window between layer1 and layer2 is\n\t * 6 months. Now, if layer1 is at generation 1 and layer2 is at generation 5, then they are 4 months apart and are\n\t * compatible. But if layer1 is at generation 1 and layer2 is at generation 8, then they are 7 months apart and\n\t * are not compatible.\n\t */\n\treadonly generation: number;\n\t/**\n\t * The package version of the layer. When an incompatibility is detected, this is used to provide more context\n\t * on what the versions of the incompatible layers are.\n\t */\n\treadonly pkgVersion: string;\n}\n\n/**\n * This is the default compat details for a layer when it doesn't provide any compat details. This is used for\n * backwards compatibility to allow older layers to work before compatibility enforcement was introduced.\n * @internal\n */\nexport const defaultLayerCompatDetails: ILayerCompatDetails = {\n\tsupportedFeatures: new Set(),\n\tgeneration: 0, // 0 is reserved for layers before compatibility enforcement was introduced.\n\tpkgVersion: \"unknown\",\n};\n\n/**\n * The requirements that a layer needs another layer to support for them to be compatible.\n * @internal\n */\nexport interface ILayerCompatSupportRequirements {\n\t/**\n\t * The minimum supported generation the other layer needs to be at.\n\t */\n\treadonly minSupportedGeneration: number;\n\t/**\n\t * The features that the other layer needs to support.\n\t */\n\treadonly requiredFeatures: readonly string[];\n}\n\n/**\n * Checks compatibility of a layer (layer1) with another layer (layer2).\n * @param compatSupportRequirementsLayer1 - The requirements from layer1 that layer2 needs to meet.\n * @param compatDetailsLayer2 - The compatibility details of the layer2. If this is undefined, then the\n * default compatibility details are used for backwards compatibility.\n * @returns The result of the compatibility check indicating whether layer2 is compatible with layer1.\n *\n * @internal\n */\nexport function checkLayerCompatibility(\n\tcompatSupportRequirementsLayer1: ILayerCompatSupportRequirements,\n\tcompatDetailsLayer2: ILayerCompatDetails | undefined,\n): LayerCompatCheckResult {\n\tconst compatDetailsLayer2ToUse = compatDetailsLayer2 ?? defaultLayerCompatDetails;\n\tlet isGenerationCompatible = true;\n\tconst unsupportedFeatures: string[] = [];\n\n\t// If layer2's generation is less than the required minimum supported generation of layer1,\n\t// then it is not compatible.\n\tif (\n\t\tcompatDetailsLayer2ToUse.generation <\n\t\tcompatSupportRequirementsLayer1.minSupportedGeneration\n\t) {\n\t\tisGenerationCompatible = false;\n\t}\n\n\t// All features required by layer1 must be supported by layer2 to be compatible.\n\tfor (const feature of compatSupportRequirementsLayer1.requiredFeatures) {\n\t\tif (!compatDetailsLayer2ToUse.supportedFeatures.has(feature)) {\n\t\t\tunsupportedFeatures.push(feature);\n\t\t}\n\t}\n\n\treturn isGenerationCompatible && unsupportedFeatures.length === 0\n\t\t? { isCompatible: true }\n\t\t: {\n\t\t\t\tisCompatible: false,\n\t\t\t\tisGenerationCompatible,\n\t\t\t\tunsupportedFeatures: unsupportedFeatures.length > 0 ? unsupportedFeatures : undefined,\n\t\t\t};\n}\n"]}
|
package/eslint.config.mts
CHANGED
|
@@ -9,6 +9,9 @@ import { strict } from "../../../common/build/eslint-config-fluid/flat.mts";
|
|
|
9
9
|
const config: Linter.Config[] = [
|
|
10
10
|
...strict,
|
|
11
11
|
{
|
|
12
|
+
// Override @typescript-eslint/parser to use explicit project list instead of projectService.
|
|
13
|
+
// This package has non-standard test directories (mocha/, jest/, types/) that
|
|
14
|
+
// typescript-eslint's projectService can't auto-discover.
|
|
12
15
|
files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
|
|
13
16
|
languageOptions: {
|
|
14
17
|
parserOptions: {
|
package/lib/indexBrowser.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export { performanceNow } from "./performanceIsomorphic.js";
|
|
|
11
11
|
export { type ITraceEvent, Trace } from "./trace.js";
|
|
12
12
|
export { type EventEmitterEventType, TypedEventEmitter, type TypedEventTransform, } from "./typedEventEmitter.js";
|
|
13
13
|
export { createEmitter } from "./events/index.js";
|
|
14
|
-
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, } from "./layerCompat.js";
|
|
14
|
+
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, LayerCompatibilityPolicyWindowMonths, } from "./layerCompat.js";
|
|
15
15
|
export { generation } from "./layerGenerationState.js";
|
|
16
16
|
//# sourceMappingURL=indexBrowser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACN,cAAc,EACd,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACN,cAAc,EACd,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,oCAAoC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/lib/indexBrowser.js
CHANGED
|
@@ -13,6 +13,6 @@ export { performanceNow } from "./performanceIsomorphic.js";
|
|
|
13
13
|
export { Trace } from "./trace.js";
|
|
14
14
|
export { TypedEventEmitter, } from "./typedEventEmitter.js";
|
|
15
15
|
export { createEmitter } from "./events/index.js";
|
|
16
|
-
export { checkLayerCompatibility, } from "./layerCompat.js";
|
|
16
|
+
export { checkLayerCompatibility, LayerCompatibilityPolicyWindowMonths, } from "./layerCompat.js";
|
|
17
17
|
export { generation } from "./layerGenerationState.js";
|
|
18
18
|
//# sourceMappingURL=indexBrowser.js.map
|
package/lib/indexBrowser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexBrowser.js","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uDAAuD;AACvD,4DAA4D;AAE5D,OAAO,EACN,cAAc,EACd,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEN,iBAAiB,GAEjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAEN,uBAAuB,
|
|
1
|
+
{"version":3,"file":"indexBrowser.js","sourceRoot":"","sources":["../src/indexBrowser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uDAAuD;AACvD,4DAA4D;AAE5D,OAAO,EACN,cAAc,EACd,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEN,iBAAiB,GAEjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAEN,uBAAuB,EAKvB,oCAAoC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// Entrypoint for browser-specific code in the package.\n// (See 'Isomorphic Code' section in the package README.md.)\n\nexport {\n\tbufferToString,\n\tisArrayBuffer,\n\tIsoBuffer,\n\tstringToBuffer,\n\tUint8ArrayToString,\n} from \"./bufferBrowser.js\";\nexport { gitHashFile, hashFile } from \"./hashFileBrowser.js\";\n\nexport { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from \"./base64EncodingBrowser.js\";\nexport { Uint8ArrayToArrayBuffer } from \"./bufferShared.js\";\nexport { EventEmitter } from \"./eventEmitter.cjs\";\nexport { performanceNow } from \"./performanceIsomorphic.js\";\nexport { type ITraceEvent, Trace } from \"./trace.js\";\nexport {\n\ttype EventEmitterEventType,\n\tTypedEventEmitter,\n\ttype TypedEventTransform,\n} from \"./typedEventEmitter.js\";\n\nexport { createEmitter } from \"./events/index.js\";\n\nexport {\n\ttype FluidLayer,\n\tcheckLayerCompatibility,\n\ttype LayerCompatCheckResult,\n\ttype ILayerCompatDetails,\n\ttype IProvideLayerCompatDetails,\n\ttype ILayerCompatSupportRequirements,\n\tLayerCompatibilityPolicyWindowMonths,\n} from \"./layerCompat.js\";\nexport { generation } from \"./layerGenerationState.js\";\n"]}
|
package/lib/indexNode.d.ts
CHANGED
|
@@ -12,6 +12,6 @@ export { performanceNow } from "./performanceIsomorphic.js";
|
|
|
12
12
|
export { type ITraceEvent, Trace } from "./trace.js";
|
|
13
13
|
export { type EventEmitterEventType, TypedEventEmitter, type TypedEventTransform, } from "./typedEventEmitter.js";
|
|
14
14
|
export { createEmitter } from "./events/index.js";
|
|
15
|
-
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, } from "./layerCompat.js";
|
|
15
|
+
export { type FluidLayer, checkLayerCompatibility, type LayerCompatCheckResult, type ILayerCompatDetails, type IProvideLayerCompatDetails, type ILayerCompatSupportRequirements, LayerCompatibilityPolicyWindowMonths, } from "./layerCompat.js";
|
|
16
16
|
export { generation } from "./layerGenerationState.js";
|
|
17
17
|
//# sourceMappingURL=indexNode.d.ts.map
|
package/lib/indexNode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACN,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,mBAAmB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACN,KAAK,UAAU,EACf,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,oCAAoC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/lib/indexNode.js
CHANGED
|
@@ -11,6 +11,6 @@ export { performanceNow } from "./performanceIsomorphic.js";
|
|
|
11
11
|
export { Trace } from "./trace.js";
|
|
12
12
|
export { TypedEventEmitter, } from "./typedEventEmitter.js";
|
|
13
13
|
export { createEmitter } from "./events/index.js";
|
|
14
|
-
export { checkLayerCompatibility, } from "./layerCompat.js";
|
|
14
|
+
export { checkLayerCompatibility, LayerCompatibilityPolicyWindowMonths, } from "./layerCompat.js";
|
|
15
15
|
export { generation } from "./layerGenerationState.js";
|
|
16
16
|
//# sourceMappingURL=indexNode.js.map
|
package/lib/indexNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexNode.js","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEN,iBAAiB,GAEjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAEN,uBAAuB,
|
|
1
|
+
{"version":3,"file":"indexNode.js","sourceRoot":"","sources":["../src/indexNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEN,iBAAiB,GAEjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAEN,uBAAuB,EAKvB,oCAAoC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// Entrypoint for Node.js-specific code in the package.\n// (See 'Isomorphic Code' section in the package README.md.)\n\nexport { type Buffer } from \"./bufferNode.js\";\nexport {\n\tbufferToString,\n\tIsoBuffer,\n\tstringToBuffer,\n\tUint8ArrayToString,\n} from \"./bufferNode.js\";\nexport { gitHashFile, hashFile } from \"./hashFileNode.js\";\n\nexport { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from \"./base64EncodingNode.js\";\nexport { Uint8ArrayToArrayBuffer } from \"./bufferShared.js\";\nexport { EventEmitter } from \"./eventEmitter.cjs\";\nexport { performanceNow } from \"./performanceIsomorphic.js\";\nexport { type ITraceEvent, Trace } from \"./trace.js\";\nexport {\n\ttype EventEmitterEventType,\n\tTypedEventEmitter,\n\ttype TypedEventTransform,\n} from \"./typedEventEmitter.js\";\n\nexport { createEmitter } from \"./events/index.js\";\n\nexport {\n\ttype FluidLayer,\n\tcheckLayerCompatibility,\n\ttype LayerCompatCheckResult,\n\ttype ILayerCompatDetails,\n\ttype IProvideLayerCompatDetails,\n\ttype ILayerCompatSupportRequirements,\n\tLayerCompatibilityPolicyWindowMonths,\n} from \"./layerCompat.js\";\nexport { generation } from \"./layerGenerationState.js\";\n"]}
|
package/lib/layerCompat.d.ts
CHANGED
|
@@ -7,6 +7,44 @@
|
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|
|
9
9
|
export type FluidLayer = "loader" | "driver" | "runtime" | "dataStore";
|
|
10
|
+
/**
|
|
11
|
+
* The policy for compatibility windows that a layer uses to validate compatibility with another layer.
|
|
12
|
+
* The other layer must be within this window relative to the layer to be compatible.
|
|
13
|
+
* Note that the policy is defined in terms of months, but the actual compatibility check is done using generations.
|
|
14
|
+
* Generations are updated every 1+ months depending on the release cadence so they are mostly 1-to-1 with months,
|
|
15
|
+
* but they are always higher than months since releases are not exactly every month.
|
|
16
|
+
*
|
|
17
|
+
* IMPORTANT: When changing these policy values, update the documentation in "Layer Compatibility Policy" section of
|
|
18
|
+
* LayerCompatibility.md at the root of the repository.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare const LayerCompatibilityPolicyWindowMonths: {
|
|
23
|
+
/**
|
|
24
|
+
* Driver is compatible with Loader versions up to 12 months (or generations) older.
|
|
25
|
+
*/
|
|
26
|
+
readonly DriverLoader: 12;
|
|
27
|
+
/**
|
|
28
|
+
* Loader is compatible with Driver versions up to 3 months (or generations) older.
|
|
29
|
+
*/
|
|
30
|
+
readonly LoaderDriver: 3;
|
|
31
|
+
/**
|
|
32
|
+
* Runtime is compatible with Loader versions up to 12 months (or generations) older.
|
|
33
|
+
*/
|
|
34
|
+
readonly RuntimeLoader: 12;
|
|
35
|
+
/**
|
|
36
|
+
* Loader is compatible with Runtime versions up to 3 months (or generations) older.
|
|
37
|
+
*/
|
|
38
|
+
readonly LoaderRuntime: 3;
|
|
39
|
+
/**
|
|
40
|
+
* Runtime is compatible with DataStore versions up to 3 months (or generations) older.
|
|
41
|
+
*/
|
|
42
|
+
readonly RuntimeDataStore: 3;
|
|
43
|
+
/**
|
|
44
|
+
* DataStore is compatible with Runtime versions up to 3 months (or generations) older.
|
|
45
|
+
*/
|
|
46
|
+
readonly DataStoreRuntime: 3;
|
|
47
|
+
};
|
|
10
48
|
/**
|
|
11
49
|
* Result of a layer compatibility check - whether a layer is compatible with another layer.
|
|
12
50
|
* @internal
|
package/lib/layerCompat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layerCompat.d.ts","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAC/B;IACA,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,0BAAkD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,0BAA0B,CAAC;IAC/E;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAIvC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,+BAA+B,EAAE,+BAA+B,EAChE,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,GAClD,sBAAsB,CA4BxB"}
|
|
1
|
+
{"version":3,"file":"layerCompat.d.ts","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oCAAoC;IAChD;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEM,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAC/B;IACA,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,0BAAkD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,0BAA0B,CAAC;IAC/E;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAIvC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,+BAA+B,EAAE,+BAA+B,EAChE,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,GAClD,sBAAsB,CA4BxB"}
|
package/lib/layerCompat.js
CHANGED
|
@@ -2,6 +2,44 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* The policy for compatibility windows that a layer uses to validate compatibility with another layer.
|
|
7
|
+
* The other layer must be within this window relative to the layer to be compatible.
|
|
8
|
+
* Note that the policy is defined in terms of months, but the actual compatibility check is done using generations.
|
|
9
|
+
* Generations are updated every 1+ months depending on the release cadence so they are mostly 1-to-1 with months,
|
|
10
|
+
* but they are always higher than months since releases are not exactly every month.
|
|
11
|
+
*
|
|
12
|
+
* IMPORTANT: When changing these policy values, update the documentation in "Layer Compatibility Policy" section of
|
|
13
|
+
* LayerCompatibility.md at the root of the repository.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export const LayerCompatibilityPolicyWindowMonths = {
|
|
18
|
+
/**
|
|
19
|
+
* Driver is compatible with Loader versions up to 12 months (or generations) older.
|
|
20
|
+
*/
|
|
21
|
+
DriverLoader: 12,
|
|
22
|
+
/**
|
|
23
|
+
* Loader is compatible with Driver versions up to 3 months (or generations) older.
|
|
24
|
+
*/
|
|
25
|
+
LoaderDriver: 3,
|
|
26
|
+
/**
|
|
27
|
+
* Runtime is compatible with Loader versions up to 12 months (or generations) older.
|
|
28
|
+
*/
|
|
29
|
+
RuntimeLoader: 12,
|
|
30
|
+
/**
|
|
31
|
+
* Loader is compatible with Runtime versions up to 3 months (or generations) older.
|
|
32
|
+
*/
|
|
33
|
+
LoaderRuntime: 3,
|
|
34
|
+
/**
|
|
35
|
+
* Runtime is compatible with DataStore versions up to 3 months (or generations) older.
|
|
36
|
+
*/
|
|
37
|
+
RuntimeDataStore: 3,
|
|
38
|
+
/**
|
|
39
|
+
* DataStore is compatible with Runtime versions up to 3 months (or generations) older.
|
|
40
|
+
*/
|
|
41
|
+
DataStoreRuntime: 3,
|
|
42
|
+
};
|
|
5
43
|
/**
|
|
6
44
|
* @internal
|
|
7
45
|
*/
|
package/lib/layerCompat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layerCompat.js","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"layerCompat.js","sourceRoot":"","sources":["../src/layerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;IACnD;;OAEG;IACH,YAAY,EAAE,EAAE;IAChB;;OAEG;IACH,YAAY,EAAE,CAAC;IACf;;OAEG;IACH,aAAa,EAAE,EAAE;IACjB;;OAEG;IACH,aAAa,EAAE,CAAC;IAChB;;OAEG;IACH,gBAAgB,EAAE,CAAC;IACnB;;OAEG;IACH,gBAAgB,EAAE,CAAC;CACV,CAAC;AAqBX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqC,qBAAqB,CAAC;AAsC3F;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC7D,iBAAiB,EAAE,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,CAAC,EAAE,4EAA4E;IAC3F,UAAU,EAAE,SAAS;CACrB,CAAC;AAiBF;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACtC,+BAAgE,EAChE,mBAAoD;IAEpD,MAAM,wBAAwB,GAAG,mBAAmB,IAAI,yBAAyB,CAAC;IAClF,IAAI,sBAAsB,GAAG,IAAI,CAAC;IAClC,MAAM,mBAAmB,GAAa,EAAE,CAAC;IAEzC,2FAA2F;IAC3F,6BAA6B;IAC7B,IACC,wBAAwB,CAAC,UAAU;QACnC,+BAA+B,CAAC,sBAAsB,EACrD,CAAC;QACF,sBAAsB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,gFAAgF;IAChF,KAAK,MAAM,OAAO,IAAI,+BAA+B,CAAC,gBAAgB,EAAE,CAAC;QACxE,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,OAAO,sBAAsB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAChE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;QACxB,CAAC,CAAC;YACA,YAAY,EAAE,KAAK;YACnB,sBAAsB;YACtB,mBAAmB,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;SACrF,CAAC;AACL,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * The different Fluid layers in a client.\n * @internal\n */\nexport type FluidLayer = \"loader\" | \"driver\" | \"runtime\" | \"dataStore\";\n\n/**\n * The policy for compatibility windows that a layer uses to validate compatibility with another layer.\n * The other layer must be within this window relative to the layer to be compatible.\n * Note that the policy is defined in terms of months, but the actual compatibility check is done using generations.\n * Generations are updated every 1+ months depending on the release cadence so they are mostly 1-to-1 with months,\n * but they are always higher than months since releases are not exactly every month.\n *\n * IMPORTANT: When changing these policy values, update the documentation in \"Layer Compatibility Policy\" section of\n * LayerCompatibility.md at the root of the repository.\n *\n * @internal\n */\nexport const LayerCompatibilityPolicyWindowMonths = {\n\t/**\n\t * Driver is compatible with Loader versions up to 12 months (or generations) older.\n\t */\n\tDriverLoader: 12,\n\t/**\n\t * Loader is compatible with Driver versions up to 3 months (or generations) older.\n\t */\n\tLoaderDriver: 3,\n\t/**\n\t * Runtime is compatible with Loader versions up to 12 months (or generations) older.\n\t */\n\tRuntimeLoader: 12,\n\t/**\n\t * Loader is compatible with Runtime versions up to 3 months (or generations) older.\n\t */\n\tLoaderRuntime: 3,\n\t/**\n\t * Runtime is compatible with DataStore versions up to 3 months (or generations) older.\n\t */\n\tRuntimeDataStore: 3,\n\t/**\n\t * DataStore is compatible with Runtime versions up to 3 months (or generations) older.\n\t */\n\tDataStoreRuntime: 3,\n} as const;\n\n/**\n * Result of a layer compatibility check - whether a layer is compatible with another layer.\n * @internal\n */\nexport type LayerCompatCheckResult =\n\t| { readonly isCompatible: true }\n\t| {\n\t\t\treadonly isCompatible: false;\n\t\t\t/**\n\t\t\t * Whether the generation of the layer is compatible with the other layer.\n\t\t\t */\n\t\t\treadonly isGenerationCompatible: boolean;\n\t\t\t/**\n\t\t\t * The features that are required by the layer but are not supported by the other layer. This will only\n\t\t\t * be set if there are unsupported features.\n\t\t\t */\n\t\t\treadonly unsupportedFeatures: readonly string[] | undefined;\n\t };\n\n/**\n * @internal\n */\nexport const ILayerCompatDetails: keyof IProvideLayerCompatDetails = \"ILayerCompatDetails\";\n\n/**\n * @internal\n */\nexport interface IProvideLayerCompatDetails {\n\treadonly ILayerCompatDetails: ILayerCompatDetails;\n}\n\n/**\n * This interface is used to communicate the compatibility details of a layer to another layer.\n * @internal\n */\nexport interface ILayerCompatDetails extends Partial<IProvideLayerCompatDetails> {\n\t/**\n\t * A list of features supported by the layer at a particular layer boundary. This is used to check if these\n\t * set of features satisfy the requirements of another layer.\n\t */\n\treadonly supportedFeatures: ReadonlySet<string>;\n\t/**\n\t * The generation of the layer. The other layer at the layer boundary uses this to check if this satisfies\n\t * the minimum generation it requires to be compatible.\n\t *\n\t * @remarks Generation is updated on a regular cadence, say, monthly. This will allow us to determine how\n\t * far apart two layers are in terms of time and whether they are compatible.\n\t * For example, say generation is updated every month and the compatibility window between layer1 and layer2 is\n\t * 6 months. Now, if layer1 is at generation 1 and layer2 is at generation 5, then they are 4 months apart and are\n\t * compatible. But if layer1 is at generation 1 and layer2 is at generation 8, then they are 7 months apart and\n\t * are not compatible.\n\t */\n\treadonly generation: number;\n\t/**\n\t * The package version of the layer. When an incompatibility is detected, this is used to provide more context\n\t * on what the versions of the incompatible layers are.\n\t */\n\treadonly pkgVersion: string;\n}\n\n/**\n * This is the default compat details for a layer when it doesn't provide any compat details. This is used for\n * backwards compatibility to allow older layers to work before compatibility enforcement was introduced.\n * @internal\n */\nexport const defaultLayerCompatDetails: ILayerCompatDetails = {\n\tsupportedFeatures: new Set(),\n\tgeneration: 0, // 0 is reserved for layers before compatibility enforcement was introduced.\n\tpkgVersion: \"unknown\",\n};\n\n/**\n * The requirements that a layer needs another layer to support for them to be compatible.\n * @internal\n */\nexport interface ILayerCompatSupportRequirements {\n\t/**\n\t * The minimum supported generation the other layer needs to be at.\n\t */\n\treadonly minSupportedGeneration: number;\n\t/**\n\t * The features that the other layer needs to support.\n\t */\n\treadonly requiredFeatures: readonly string[];\n}\n\n/**\n * Checks compatibility of a layer (layer1) with another layer (layer2).\n * @param compatSupportRequirementsLayer1 - The requirements from layer1 that layer2 needs to meet.\n * @param compatDetailsLayer2 - The compatibility details of the layer2. If this is undefined, then the\n * default compatibility details are used for backwards compatibility.\n * @returns The result of the compatibility check indicating whether layer2 is compatible with layer1.\n *\n * @internal\n */\nexport function checkLayerCompatibility(\n\tcompatSupportRequirementsLayer1: ILayerCompatSupportRequirements,\n\tcompatDetailsLayer2: ILayerCompatDetails | undefined,\n): LayerCompatCheckResult {\n\tconst compatDetailsLayer2ToUse = compatDetailsLayer2 ?? defaultLayerCompatDetails;\n\tlet isGenerationCompatible = true;\n\tconst unsupportedFeatures: string[] = [];\n\n\t// If layer2's generation is less than the required minimum supported generation of layer1,\n\t// then it is not compatible.\n\tif (\n\t\tcompatDetailsLayer2ToUse.generation <\n\t\tcompatSupportRequirementsLayer1.minSupportedGeneration\n\t) {\n\t\tisGenerationCompatible = false;\n\t}\n\n\t// All features required by layer1 must be supported by layer2 to be compatible.\n\tfor (const feature of compatSupportRequirementsLayer1.requiredFeatures) {\n\t\tif (!compatDetailsLayer2ToUse.supportedFeatures.has(feature)) {\n\t\t\tunsupportedFeatures.push(feature);\n\t\t}\n\t}\n\n\treturn isGenerationCompatible && unsupportedFeatures.length === 0\n\t\t? { isCompatible: true }\n\t\t: {\n\t\t\t\tisCompatible: false,\n\t\t\t\tisGenerationCompatible,\n\t\t\t\tunsupportedFeatures: unsupportedFeatures.length > 0 ? unsupportedFeatures : undefined,\n\t\t\t};\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-internal/client-utils",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.83.0",
|
|
4
4
|
"description": "Not intended for use outside the Fluid Framework.",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -77,8 +77,8 @@
|
|
|
77
77
|
"temp-directory": "nyc/.nyc_output"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@fluidframework/core-interfaces": "~2.
|
|
81
|
-
"@fluidframework/core-utils": "~2.
|
|
80
|
+
"@fluidframework/core-interfaces": "~2.83.0",
|
|
81
|
+
"@fluidframework/core-utils": "~2.83.0",
|
|
82
82
|
"@types/events_pkg": "npm:@types/events@^3.0.0",
|
|
83
83
|
"base64-js": "^1.5.1",
|
|
84
84
|
"buffer": "^6.0.3",
|
|
@@ -88,18 +88,18 @@
|
|
|
88
88
|
"devDependencies": {
|
|
89
89
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
90
90
|
"@biomejs/biome": "~1.9.3",
|
|
91
|
-
"@fluid-internal/client-utils-previous": "npm:@fluid-internal/client-utils@2.
|
|
92
|
-
"@fluid-internal/mocha-test-setup": "~2.
|
|
91
|
+
"@fluid-internal/client-utils-previous": "npm:@fluid-internal/client-utils@2.82.0",
|
|
92
|
+
"@fluid-internal/mocha-test-setup": "~2.83.0",
|
|
93
93
|
"@fluid-tools/build-cli": "^0.63.0",
|
|
94
94
|
"@fluidframework/build-common": "^2.0.3",
|
|
95
95
|
"@fluidframework/build-tools": "^0.63.0",
|
|
96
|
-
"@fluidframework/eslint-config-fluid": "~2.
|
|
96
|
+
"@fluidframework/eslint-config-fluid": "~2.83.0",
|
|
97
97
|
"@microsoft/api-extractor": "7.52.11",
|
|
98
98
|
"@types/base64-js": "^1.3.2",
|
|
99
99
|
"@types/jest": "29.5.3",
|
|
100
|
-
"@types/jest-environment-puppeteer": "~2.
|
|
100
|
+
"@types/jest-environment-puppeteer": "~2.83.0",
|
|
101
101
|
"@types/mocha": "^10.0.10",
|
|
102
|
-
"@types/node": "
|
|
102
|
+
"@types/node": "~20.19.30",
|
|
103
103
|
"@types/rewire": "^2.5.30",
|
|
104
104
|
"@types/sha.js": "^2.4.4",
|
|
105
105
|
"@types/sinon": "^17.0.3",
|
package/src/indexBrowser.ts
CHANGED
package/src/indexNode.ts
CHANGED
package/src/layerCompat.ts
CHANGED
|
@@ -9,6 +9,45 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export type FluidLayer = "loader" | "driver" | "runtime" | "dataStore";
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* The policy for compatibility windows that a layer uses to validate compatibility with another layer.
|
|
14
|
+
* The other layer must be within this window relative to the layer to be compatible.
|
|
15
|
+
* Note that the policy is defined in terms of months, but the actual compatibility check is done using generations.
|
|
16
|
+
* Generations are updated every 1+ months depending on the release cadence so they are mostly 1-to-1 with months,
|
|
17
|
+
* but they are always higher than months since releases are not exactly every month.
|
|
18
|
+
*
|
|
19
|
+
* IMPORTANT: When changing these policy values, update the documentation in "Layer Compatibility Policy" section of
|
|
20
|
+
* LayerCompatibility.md at the root of the repository.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export const LayerCompatibilityPolicyWindowMonths = {
|
|
25
|
+
/**
|
|
26
|
+
* Driver is compatible with Loader versions up to 12 months (or generations) older.
|
|
27
|
+
*/
|
|
28
|
+
DriverLoader: 12,
|
|
29
|
+
/**
|
|
30
|
+
* Loader is compatible with Driver versions up to 3 months (or generations) older.
|
|
31
|
+
*/
|
|
32
|
+
LoaderDriver: 3,
|
|
33
|
+
/**
|
|
34
|
+
* Runtime is compatible with Loader versions up to 12 months (or generations) older.
|
|
35
|
+
*/
|
|
36
|
+
RuntimeLoader: 12,
|
|
37
|
+
/**
|
|
38
|
+
* Loader is compatible with Runtime versions up to 3 months (or generations) older.
|
|
39
|
+
*/
|
|
40
|
+
LoaderRuntime: 3,
|
|
41
|
+
/**
|
|
42
|
+
* Runtime is compatible with DataStore versions up to 3 months (or generations) older.
|
|
43
|
+
*/
|
|
44
|
+
RuntimeDataStore: 3,
|
|
45
|
+
/**
|
|
46
|
+
* DataStore is compatible with Runtime versions up to 3 months (or generations) older.
|
|
47
|
+
*/
|
|
48
|
+
DataStoreRuntime: 3,
|
|
49
|
+
} as const;
|
|
50
|
+
|
|
12
51
|
/**
|
|
13
52
|
* Result of a layer compatibility check - whether a layer is compatible with another layer.
|
|
14
53
|
* @internal
|
package/biome.jsonc
DELETED