@openrewrite/rewrite 8.78.4 → 8.78.6
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/dist/reference.d.ts +2 -0
- package/dist/reference.d.ts.map +1 -1
- package/dist/reference.js +13 -0
- package/dist/reference.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/rpc/request/get-object.d.ts.map +1 -1
- package/dist/rpc/request/get-object.js +15 -4
- package/dist/rpc/request/get-object.js.map +1 -1
- package/package.json +1 -1
- package/src/reference.ts +16 -1
- package/src/rpc/request/get-object.ts +14 -5
package/dist/reference.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare class ReferenceMap {
|
|
|
15
15
|
clear(): void;
|
|
16
16
|
deleteByRefId(refId: number): void;
|
|
17
17
|
set(ref: Reference, refId: number): void;
|
|
18
|
+
snapshot(): number;
|
|
19
|
+
rollbackTo(savedRefCount: number): void;
|
|
18
20
|
}
|
|
19
21
|
export {};
|
|
20
22
|
//# sourceMappingURL=reference.d.ts.map
|
package/dist/reference.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,aAAa,eAA8C,CAAC;AAElE,MAAM,WAAW,SAAS;IACtB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;CACzB;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAiBvG;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,CAEhD;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,IAAI,CAAoC;IAChD,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,QAAQ,CAAK;IAErB,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO;IAI5B,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAIvC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIhD,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;IAO9B,KAAK;IAML,aAAa,CAAC,KAAK,EAAE,MAAM;IAQ3B,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,aAAa,eAA8C,CAAC;AAElE,MAAM,WAAW,SAAS;IACtB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;CACzB;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAiBvG;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,CAEhD;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,IAAI,CAAoC;IAChD,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,QAAQ,CAAK;IAErB,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO;IAI5B,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAIvC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIhD,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;IAO9B,KAAK;IAML,aAAa,CAAC,KAAK,EAAE,MAAM;IAQ3B,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAKjC,QAAQ,IAAI,MAAM;IAIlB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;CAU1C"}
|
package/dist/reference.js
CHANGED
|
@@ -79,6 +79,19 @@ class ReferenceMap {
|
|
|
79
79
|
this.refs.set(ref, refId);
|
|
80
80
|
this.refsById.set(refId, ref);
|
|
81
81
|
}
|
|
82
|
+
snapshot() {
|
|
83
|
+
return this.refCount;
|
|
84
|
+
}
|
|
85
|
+
rollbackTo(savedRefCount) {
|
|
86
|
+
for (let i = savedRefCount; i < this.refCount; i++) {
|
|
87
|
+
const obj = this.refsById.get(i);
|
|
88
|
+
if (obj) {
|
|
89
|
+
this.refs.delete(obj);
|
|
90
|
+
this.refsById.delete(i);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
this.refCount = savedRefCount;
|
|
94
|
+
}
|
|
82
95
|
}
|
|
83
96
|
exports.ReferenceMap = ReferenceMap;
|
|
84
97
|
//# sourceMappingURL=reference.js.map
|
package/dist/reference.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":";;;AAqBA,sBAiBC;AAED,sBAEC;AA1CD;;;;;;;;;;;;;;GAcG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAMlE,SAAgB,KAAK,CAA2B,GAAM;IAClD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,SAAgB,CAAC;IAC5B,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,GAAU,CAAC;IACtB,CAAC;IACD,IAAI,CAAC;QACD,2EAA2E;QAC3E,8CAA8C;QAC7C,GAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QACnC,OAAO,GAAU,CAAC;IACtB,CAAC;IAAC,WAAM,CAAC;QACL,qEAAqE;QACrE,MAAM,MAAM,qBAAO,GAAU,CAAC,CAAC;QAC/B,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QAC7B,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED,SAAgB,KAAK,CAAC,GAAQ;IAC1B,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;AAC5E,CAAC;AAED,MAAa,YAAY;IAAzB;QACY,SAAI,GAAG,IAAI,OAAO,EAAqB,CAAC;QACxC,aAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;QACxC,aAAQ,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
8.78.
|
|
1
|
+
8.78.6
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/get-object.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,qBAAa,SAAS;IACN,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBADf,EAAE,EAAE,MAAM,EACV,cAAc,CAAC,EAAE,MAAM,YAAA;IAGpD,MAAM,CAAC,MAAM,CACT,UAAU,EAAE,GAAG,CAAC,iBAAiB,EACjC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,EACzD,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,GACpB,IAAI;
|
|
1
|
+
{"version":3,"file":"get-object.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/get-object.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,qBAAa,SAAS;IACN,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBADf,EAAE,EAAE,MAAM,EACV,cAAc,CAAC,EAAE,MAAM,YAAA;IAGpD,MAAM,CAAC,MAAM,CACT,UAAU,EAAE,GAAG,CAAC,iBAAiB,EACjC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,EACzD,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,GACpB,IAAI;CA4DV"}
|
|
@@ -79,10 +79,21 @@ class GetObject {
|
|
|
79
79
|
if (!allData) {
|
|
80
80
|
const after = obj;
|
|
81
81
|
const before = remoteObjects.get(objId);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
// Snapshot ref count so we can roll back on failure.
|
|
83
|
+
// Ref IDs are assigned sequentially, so any ref >= savedRefCount
|
|
84
|
+
// was added during this exchange.
|
|
85
|
+
const savedRefCount = localRefs.snapshot();
|
|
86
|
+
try {
|
|
87
|
+
allData = await new queue_1.RpcSendQueue(localRefs, request.sourceFileType, trace())
|
|
88
|
+
.generate(after, before);
|
|
89
|
+
pendingData.set(objId, allData);
|
|
90
|
+
remoteObjects.set(objId, after);
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
remoteObjects.delete(objId);
|
|
94
|
+
localRefs.rollbackTo(savedRefCount);
|
|
95
|
+
throw e;
|
|
96
|
+
}
|
|
86
97
|
}
|
|
87
98
|
const batch = allData.splice(0, batchSize);
|
|
88
99
|
// If we've sent all data, remove from pending
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object.js","sourceRoot":"","sources":["../../../src/rpc/request/get-object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,oCAAqE;AAErE,uCAAyD;AAEzD,MAAa,SAAS;IAClB,YAA6B,EAAU,EACV,cAAuB;QADvB,OAAE,GAAF,EAAE,CAAQ;QACV,mBAAc,GAAd,cAAc,CAAS;IACpD,CAAC;IAED,MAAM,CAAC,MAAM,CACT,UAAiC,EACjC,aAA+B,EAC/B,YAAyD,EACzD,SAAuB,EACvB,SAAiB,EACjB,KAAoB,EACpB,UAAmB;QAEnB,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;QAEvD,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAwB,WAAW,CAAC,EACvD,IAAA,qBAAW,EACP,WAAW,EACX,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;gBACpB,OAAO;oBACH,EAAC,KAAK,EAAE,sBAAc,CAAC,MAAM,EAAC;oBAC9B,EAAC,KAAK,EAAE,sBAAc,CAAC,aAAa,EAAC;iBACxC,CAAC;YACN,CAAC;YAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;YACnD,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3C,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,CAAC,MAAM,GAAG,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC;YAExC,IAAI,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,GAAG,CAAC;gBAClB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAExC,OAAO,GAAG,MAAM,IAAI,oBAAY,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"get-object.js","sourceRoot":"","sources":["../../../src/rpc/request/get-object.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/reference.ts
CHANGED
|
@@ -84,4 +84,19 @@ export class ReferenceMap {
|
|
|
84
84
|
this.refs.set(ref, refId);
|
|
85
85
|
this.refsById.set(refId, ref);
|
|
86
86
|
}
|
|
87
|
-
|
|
87
|
+
|
|
88
|
+
snapshot(): number {
|
|
89
|
+
return this.refCount;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
rollbackTo(savedRefCount: number): void {
|
|
93
|
+
for (let i = savedRefCount; i < this.refCount; i++) {
|
|
94
|
+
const obj = this.refsById.get(i);
|
|
95
|
+
if (obj) {
|
|
96
|
+
this.refs.delete(obj);
|
|
97
|
+
this.refsById.delete(i);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
this.refCount = savedRefCount;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -63,11 +63,20 @@ export class GetObject {
|
|
|
63
63
|
const after = obj;
|
|
64
64
|
const before = remoteObjects.get(objId);
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
// Snapshot ref count so we can roll back on failure.
|
|
67
|
+
// Ref IDs are assigned sequentially, so any ref >= savedRefCount
|
|
68
|
+
// was added during this exchange.
|
|
69
|
+
const savedRefCount = localRefs.snapshot();
|
|
70
|
+
try {
|
|
71
|
+
allData = await new RpcSendQueue(localRefs, request.sourceFileType, trace())
|
|
72
|
+
.generate(after, before);
|
|
73
|
+
pendingData.set(objId, allData);
|
|
74
|
+
remoteObjects.set(objId, after);
|
|
75
|
+
} catch (e) {
|
|
76
|
+
remoteObjects.delete(objId);
|
|
77
|
+
localRefs.rollbackTo(savedRefCount);
|
|
78
|
+
throw e;
|
|
79
|
+
}
|
|
71
80
|
}
|
|
72
81
|
|
|
73
82
|
const batch = allData.splice(0, batchSize);
|