@pluv/crdt-loro 5.0.0 → 5.0.1
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 +7 -0
- package/package.json +11 -11
- package/src/counter.ts +1 -1
- package/src/doc/CrdtLoroDoc.ts +2 -2
- package/src/doc/CrdtLoroDocFactory.ts +1 -1
- package/src/doc/builder.ts +2 -2
- package/src/list.ts +2 -2
- package/src/map.ts +2 -2
- package/src/movableList.ts +2 -2
- package/src/object.ts +2 -2
- package/src/text.ts +1 -1
- package/src/tree.ts +1 -1
- package/tsconfig.bundler.build.json +1 -6
- package/tsconfig.json +2 -5
- package/tsconfig.node.build.json +1 -6
- package/tsdown.browser.config.ts +0 -3
- package/tsdown.bundler.config.ts +14 -3
- package/tsdown.node.config.ts +14 -3
- package/.turbo/turbo-build.log +0 -39
- package/dist/browser.d.mts +0 -95
- package/dist/browser.d.mts.map +0 -1
- package/dist/browser.mjs +0 -311
- package/dist/browser.mjs.map +0 -1
- package/dist/bundler.mjs +0 -336
- package/dist/bundler.mjs.map +0 -1
- package/dist/node.mjs +0 -336
- package/dist/node.mjs.map +0 -1
- package/dist/rolldown-runtime-BBjsoOtd.mjs +0 -27
- package/src/loro-runtime.browser.ts +0 -1
- package/src/loro-runtime.bundler.ts +0 -1
- package/src/loro-runtime.node.ts +0 -1
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pluv/crdt-loro",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "loro for @pluv/io",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "david@pluv.io",
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@
|
|
24
|
-
"
|
|
25
|
-
"@
|
|
26
|
-
"
|
|
23
|
+
"@pluv/crdt": "^5.0.1",
|
|
24
|
+
"@pluv/types": "^5.0.1",
|
|
25
|
+
"@types/node": "^26.2.0",
|
|
26
|
+
"js-base64": "^3.9.3"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"loro-crdt": "^1.0.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
32
|
+
"@pluv/tsconfig": "^5.0.1",
|
|
33
|
+
"eslint": "^10.9.0",
|
|
34
|
+
"eslint-config-pluv": "^5.0.1",
|
|
35
|
+
"loro-crdt": "^1.14.1",
|
|
36
|
+
"tsdown": "0.22.14",
|
|
37
|
+
"typescript": "^5.9.3"
|
|
38
38
|
},
|
|
39
39
|
"exports": {
|
|
40
40
|
".": {
|
package/src/counter.ts
CHANGED
package/src/doc/CrdtLoroDoc.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type {
|
|
|
6
6
|
} from "@pluv/crdt";
|
|
7
7
|
import type { CrdtDocLike } from "@pluv/types";
|
|
8
8
|
import { fromUint8Array, toUint8Array } from "js-base64";
|
|
9
|
-
import type { Container } from "
|
|
9
|
+
import type { Container } from "loro-crdt";
|
|
10
10
|
import {
|
|
11
11
|
LoroCounter,
|
|
12
12
|
LoroDoc,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
LoroText,
|
|
18
18
|
LoroTree,
|
|
19
19
|
UndoManager,
|
|
20
|
-
} from "
|
|
20
|
+
} from "loro-crdt";
|
|
21
21
|
import type { LoroType } from "../types";
|
|
22
22
|
import type { LoroBuilder } from "./builder";
|
|
23
23
|
import { builder } from "./builder";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbstractCrdtDocFactory } from "@pluv/crdt";
|
|
2
|
-
import type { LoroDoc } from "
|
|
2
|
+
import type { LoroDoc } from "loro-crdt";
|
|
3
3
|
import type { LoroType } from "../types";
|
|
4
4
|
import { CrdtLoroDoc } from "./CrdtLoroDoc";
|
|
5
5
|
import type { LoroBuilder } from "./builder";
|
package/src/doc/builder.ts
CHANGED
|
@@ -6,8 +6,8 @@ import type {
|
|
|
6
6
|
LoroMap,
|
|
7
7
|
LoroMovableList,
|
|
8
8
|
LoroText,
|
|
9
|
-
} from "
|
|
10
|
-
import { isContainer } from "
|
|
9
|
+
} from "loro-crdt";
|
|
10
|
+
import { isContainer } from "loro-crdt";
|
|
11
11
|
import type { LoroType } from "../types";
|
|
12
12
|
|
|
13
13
|
export type LoroBuilder = ReturnType<typeof builder>;
|
package/src/list.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Container } from "
|
|
2
|
-
import { LoroList, isContainer } from "
|
|
1
|
+
import type { Container } from "loro-crdt";
|
|
2
|
+
import { LoroList, isContainer } from "loro-crdt";
|
|
3
3
|
import type { LoroType } from "./types";
|
|
4
4
|
|
|
5
5
|
export const list = <T extends unknown>(
|
package/src/map.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Container } from "
|
|
2
|
-
import { LoroMap, isContainer } from "
|
|
1
|
+
import type { Container } from "loro-crdt";
|
|
2
|
+
import { LoroMap, isContainer } from "loro-crdt";
|
|
3
3
|
import type { LoroType } from "./types";
|
|
4
4
|
|
|
5
5
|
export const map = <T extends unknown>(
|
package/src/movableList.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Container } from "
|
|
2
|
-
import { isContainer, LoroMovableList } from "
|
|
1
|
+
import type { Container } from "loro-crdt";
|
|
2
|
+
import { isContainer, LoroMovableList } from "loro-crdt";
|
|
3
3
|
import type { LoroType } from "./types";
|
|
4
4
|
|
|
5
5
|
export const movableList = <T extends unknown>(value: T[] | readonly T[] = []) => {
|
package/src/object.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Container } from "
|
|
2
|
-
import { LoroMap, isContainer } from "
|
|
1
|
+
import type { Container } from "loro-crdt";
|
|
2
|
+
import { LoroMap, isContainer } from "loro-crdt";
|
|
3
3
|
import type { LoroType } from "./types";
|
|
4
4
|
|
|
5
5
|
export const object = <T extends Record<string, any>>(value: T): LoroType<LoroMap<T>, T> => {
|
package/src/text.ts
CHANGED
package/src/tree.ts
CHANGED
package/tsconfig.json
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "@pluv/tsconfig/library.json",
|
|
3
3
|
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
|
|
4
|
-
"exclude": ["node_modules"],
|
|
4
|
+
"exclude": ["node_modules", "dist", "tsdown*.ts"],
|
|
5
5
|
"compilerOptions": {
|
|
6
|
-
"lib": ["dom", "esnext"]
|
|
7
|
-
"paths": {
|
|
8
|
-
"@loro-runtime": ["./src/loro-runtime.browser.ts"]
|
|
9
|
-
}
|
|
6
|
+
"lib": ["dom", "esnext"]
|
|
10
7
|
}
|
|
11
8
|
}
|
package/tsconfig.node.build.json
CHANGED
package/tsdown.browser.config.ts
CHANGED
package/tsdown.bundler.config.ts
CHANGED
|
@@ -2,9 +2,20 @@ import { defineConfig } from "tsdown";
|
|
|
2
2
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
entry: { bundler: "src/index.ts" },
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
plugins: [
|
|
6
|
+
{
|
|
7
|
+
name: "rewrite-loro-import",
|
|
8
|
+
renderChunk(code) {
|
|
9
|
+
return {
|
|
10
|
+
code: code.replaceAll(
|
|
11
|
+
/from\s*["']loro-crdt["']/g,
|
|
12
|
+
'from "loro-crdt/bundler"',
|
|
13
|
+
),
|
|
14
|
+
map: null,
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
],
|
|
8
19
|
format: ["esm"],
|
|
9
20
|
target: "esnext",
|
|
10
21
|
sourcemap: true,
|
package/tsdown.node.config.ts
CHANGED
|
@@ -2,9 +2,20 @@ import { defineConfig } from "tsdown";
|
|
|
2
2
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
entry: { node: "src/index.ts" },
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
plugins: [
|
|
6
|
+
{
|
|
7
|
+
name: "rewrite-loro-import",
|
|
8
|
+
renderChunk(code) {
|
|
9
|
+
return {
|
|
10
|
+
code: code.replaceAll(
|
|
11
|
+
/from\s*["']loro-crdt["']/g,
|
|
12
|
+
'from "loro-crdt/nodejs"',
|
|
13
|
+
),
|
|
14
|
+
map: null,
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
],
|
|
8
19
|
format: ["esm"],
|
|
9
20
|
target: "esnext",
|
|
10
21
|
sourcemap: true,
|
package/.turbo/turbo-build.log
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
$ tsdown --config tsdown.browser.config.ts && tsdown --config tsdown.bundler.config.ts && tsdown --config tsdown.node.config.ts
|
|
2
|
-
[34mℹ[39m [34mtsdown v0.22.3[39m powered by [38;2;255;126;23mrolldown v1.1.2[39m
|
|
3
|
-
[34mℹ[39m config file: [4m/home/runner/work/pluv/pluv/packages/crdt-loro/tsdown.browser.config.ts[24m
|
|
4
|
-
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
5
|
-
[34mℹ[39m target: [34mesnext[39m
|
|
6
|
-
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
7
|
-
[34mℹ[39m Build start
|
|
8
|
-
[34mℹ[39m [2mdist/[22m[1mbrowser.mjs[22m [2m 8.99 kB[22m [2m│ gzip: 2.27 kB[22m
|
|
9
|
-
[34mℹ[39m [2mdist/[22mbrowser.mjs.map [2m21.63 kB[22m [2m│ gzip: 4.93 kB[22m
|
|
10
|
-
[34mℹ[39m [2mdist/[22mbrowser.d.mts.map [2m 2.70 kB[22m [2m│ gzip: 0.91 kB[22m
|
|
11
|
-
[34mℹ[39m [2mdist/[22mrolldown-runtime-BBjsoOtd.mjs [2m 1.11 kB[22m [2m│ gzip: 0.54 kB[22m
|
|
12
|
-
[34mℹ[39m [2mdist/[22m[32m[1mbrowser.d.mts[22m[39m [2m 4.88 kB[22m [2m│ gzip: 1.30 kB[22m
|
|
13
|
-
[34mℹ[39m 5 files, total: 39.31 kB
|
|
14
|
-
[33m[PLUGIN_TIMINGS] [0mYour build spent significant time in plugins. Here is a breakdown:
|
|
15
|
-
- rolldown-plugin-dts:generate (55%)
|
|
16
|
-
- tsdown:deps (25%)
|
|
17
|
-
See https://rolldown.rs/reference/InputOptions.checks#plugintimings for more details.
|
|
18
|
-
|
|
19
|
-
[32m✔[39m Build complete in [32m3294ms[39m
|
|
20
|
-
[34mℹ[39m [34mtsdown v0.22.3[39m powered by [38;2;255;126;23mrolldown v1.1.2[39m
|
|
21
|
-
[34mℹ[39m config file: [4m/home/runner/work/pluv/pluv/packages/crdt-loro/tsdown.bundler.config.ts[24m
|
|
22
|
-
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
23
|
-
[34mℹ[39m target: [34mesnext[39m
|
|
24
|
-
[34mℹ[39m tsconfig: [34mtsconfig.bundler.build.json[39m
|
|
25
|
-
[34mℹ[39m Build start
|
|
26
|
-
[34mℹ[39m [2mdist/[22m[1mbundler.mjs[22m [2m10.00 kB[22m [2m│ gzip: 2.65 kB[22m
|
|
27
|
-
[34mℹ[39m [2mdist/[22mbundler.mjs.map [2m21.66 kB[22m [2m│ gzip: 4.93 kB[22m
|
|
28
|
-
[34mℹ[39m 2 files, total: 31.66 kB
|
|
29
|
-
[32m✔[39m Build complete in [32m127ms[39m
|
|
30
|
-
[34mℹ[39m [34mtsdown v0.22.3[39m powered by [38;2;255;126;23mrolldown v1.1.2[39m
|
|
31
|
-
[34mℹ[39m config file: [4m/home/runner/work/pluv/pluv/packages/crdt-loro/tsdown.node.config.ts[24m
|
|
32
|
-
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
33
|
-
[34mℹ[39m target: [34mesnext[39m
|
|
34
|
-
[34mℹ[39m tsconfig: [34mtsconfig.node.build.json[39m
|
|
35
|
-
[34mℹ[39m Build start
|
|
36
|
-
[34mℹ[39m [2mdist/[22m[1mnode.mjs[22m [2m 9.91 kB[22m [2m│ gzip: 2.65 kB[22m
|
|
37
|
-
[34mℹ[39m [2mdist/[22mnode.mjs.map [2m21.66 kB[22m [2m│ gzip: 4.93 kB[22m
|
|
38
|
-
[34mℹ[39m 2 files, total: 31.56 kB
|
|
39
|
-
[32m✔[39m Build complete in [32m73ms[39m
|
package/dist/browser.d.mts
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { AbstractCrdtDocFactory, CrdtType, DocApplyEncodedStateParams, DocBatchApplyEncodedStateParams, DocSubscribeCallbackParams, InferCrdtJson } from "@pluv/crdt";
|
|
2
|
-
import { CrdtDocLike } from "@pluv/types";
|
|
3
|
-
|
|
4
|
-
//#region src/loro-runtime.browser.d.ts
|
|
5
|
-
|
|
6
|
-
import * as import_loro_crdt from "loro-crdt";
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region src/counter.d.ts
|
|
9
|
-
declare const counter: () => loro_runtime_browser_d_exports.LoroCounter;
|
|
10
|
-
//#endregion
|
|
11
|
-
//#region src/types.d.ts
|
|
12
|
-
type LoroType<TValue extends unknown, TJson extends unknown = any> = TValue & CrdtType<TValue, TJson> & {
|
|
13
|
-
toJSON?: () => any;
|
|
14
|
-
toString?: () => string;
|
|
15
|
-
};
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/doc/builder.d.ts
|
|
18
|
-
type LoroBuilder = ReturnType<typeof builder>;
|
|
19
|
-
declare const builder: (doc: loro_runtime_browser_d_exports.LoroDoc) => {
|
|
20
|
-
counter(name: string): loro_runtime_browser_d_exports.LoroCounter;
|
|
21
|
-
list<T extends unknown>(name: string, value?: T[] | readonly T[]): LoroType<loro_runtime_browser_d_exports.LoroList<T>, T[]>;
|
|
22
|
-
map<T extends Record<string, unknown>>(name: string, value?: T): LoroType<loro_runtime_browser_d_exports.LoroMap<T>, T>;
|
|
23
|
-
moveableList<T extends unknown>(name: string, value?: T[] | readonly T[]): LoroType<loro_runtime_browser_d_exports.LoroMovableList<T>, T[]>;
|
|
24
|
-
text(name: string, value?: string): LoroType<loro_runtime_browser_d_exports.LoroText, string>;
|
|
25
|
-
tree(name: string): import("loro-crdt").LoroTree<Record<string, unknown>>;
|
|
26
|
-
};
|
|
27
|
-
//#endregion
|
|
28
|
-
//#region src/doc/CrdtLoroDoc.d.ts
|
|
29
|
-
type CrdtLoroDocParams<TStorage extends Record<string, LoroType<any, any>>> = (builder: LoroBuilder) => TStorage;
|
|
30
|
-
declare class CrdtLoroDoc<TStorage extends Record<string, LoroType<any, any>>> implements CrdtDocLike<loro_runtime_browser_d_exports.LoroDoc, TStorage> {
|
|
31
|
-
#private;
|
|
32
|
-
value: loro_runtime_browser_d_exports.LoroDoc;
|
|
33
|
-
constructor(params?: CrdtLoroDocParams<TStorage>);
|
|
34
|
-
applyEncodedState(params: DocApplyEncodedStateParams): this;
|
|
35
|
-
batchApplyEncodedState(params: DocBatchApplyEncodedStateParams): this;
|
|
36
|
-
canRedo(): boolean;
|
|
37
|
-
canUndo(): boolean;
|
|
38
|
-
destroy(): void;
|
|
39
|
-
get(key?: undefined): TStorage;
|
|
40
|
-
get<TKey extends keyof TStorage>(key: TKey): TStorage[TKey];
|
|
41
|
-
getEncodedState(): string;
|
|
42
|
-
toJson(): InferCrdtJson<TStorage>;
|
|
43
|
-
toJson<TKey extends keyof TStorage>(type: TKey): InferCrdtJson<TStorage[TKey]>;
|
|
44
|
-
isEmpty(): boolean;
|
|
45
|
-
rebuildStorage(reference: TStorage): this;
|
|
46
|
-
redo(): this;
|
|
47
|
-
subscribe(listener: (params: DocSubscribeCallbackParams<loro_runtime_browser_d_exports.LoroDoc, TStorage>) => void): () => void;
|
|
48
|
-
track(): this;
|
|
49
|
-
/**
|
|
50
|
-
* @description Unlike Yjs, this method is required to be called after each loro operation.
|
|
51
|
-
* @date January 12, 2025
|
|
52
|
-
*/
|
|
53
|
-
transact(fn: () => void): this;
|
|
54
|
-
undo(): this;
|
|
55
|
-
}
|
|
56
|
-
//#endregion
|
|
57
|
-
//#region src/doc/CrdtLoroDocFactory.d.ts
|
|
58
|
-
declare class CrdtLoroDocFactory<TStorage extends Record<string, LoroType<any, any>>> extends AbstractCrdtDocFactory<loro_runtime_browser_d_exports.LoroDoc, TStorage> {
|
|
59
|
-
readonly _initialStorage: (builder: LoroBuilder) => TStorage;
|
|
60
|
-
constructor(initialStorage?: (builder: LoroBuilder) => TStorage);
|
|
61
|
-
getEmpty(): CrdtLoroDoc<TStorage>;
|
|
62
|
-
getFactory(initialStorage?: ((builder: LoroBuilder) => TStorage) | undefined): CrdtLoroDocFactory<TStorage>;
|
|
63
|
-
getInitialized(initialStorage?: (builder: LoroBuilder) => TStorage): CrdtLoroDoc<TStorage>;
|
|
64
|
-
}
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region src/doc/doc.d.ts
|
|
67
|
-
declare const doc: <TStorage extends Record<string, LoroType<any, any>>>(value?: (builder: LoroBuilder) => TStorage) => CrdtLoroDocFactory<TStorage>;
|
|
68
|
-
//#endregion
|
|
69
|
-
//#region src/list.d.ts
|
|
70
|
-
declare const list: <T extends unknown>(value?: T[] | readonly T[]) => LoroType<loro_runtime_browser_d_exports.LoroList<T>, T[]>;
|
|
71
|
-
//#endregion
|
|
72
|
-
//#region src/map.d.ts
|
|
73
|
-
declare const map: <T extends unknown>(value?: readonly (readonly [key: string, value: T])[]) => LoroType<loro_runtime_browser_d_exports.LoroMap<Record<string, T>>, Record<string, T>>;
|
|
74
|
-
//#endregion
|
|
75
|
-
//#region src/movableList.d.ts
|
|
76
|
-
declare const movableList: <T extends unknown>(value?: T[] | readonly T[]) => LoroType<loro_runtime_browser_d_exports.LoroMovableList<T>, T[]>;
|
|
77
|
-
//#endregion
|
|
78
|
-
//#region src/object.d.ts
|
|
79
|
-
declare const object: <T extends Record<string, any>>(value: T) => LoroType<loro_runtime_browser_d_exports.LoroMap<T>, T>;
|
|
80
|
-
//#endregion
|
|
81
|
-
//#region src/text.d.ts
|
|
82
|
-
declare const text: (value?: string) => LoroType<loro_runtime_browser_d_exports.LoroText, string>;
|
|
83
|
-
//#endregion
|
|
84
|
-
//#region src/tree.d.ts
|
|
85
|
-
declare const tree: <T extends Record<string, unknown>>() => loro_runtime_browser_d_exports.LoroTree<T>;
|
|
86
|
-
declare namespace loro_d_exports {
|
|
87
|
-
export { CrdtLoroDoc, LoroBuilder, LoroType, counter, doc, kind, list, map, movableList, object, text, tree };
|
|
88
|
-
}
|
|
89
|
-
declare const kind: "loro";
|
|
90
|
-
//#endregion
|
|
91
|
-
//#region src/index.d.ts
|
|
92
|
-
type LoroLibraryType = typeof loro_d_exports;
|
|
93
|
-
//#endregion
|
|
94
|
-
export { LoroLibraryType, loro_d_exports as loro };
|
|
95
|
-
//# sourceMappingURL=browser.d.mts.map
|
package/dist/browser.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.mts","names":[],"sources":["../src/loro-runtime.browser.ts","../src/counter.ts","../src/types.ts","../src/doc/builder.ts","../src/doc/CrdtLoroDoc.ts","../src/doc/CrdtLoroDocFactory.ts","../src/doc/doc.ts","../src/list.ts","../src/map.ts","../src/movableList.ts","../src/object.ts","../src/text.ts","../src/tree.ts","../src/loro.ts","../src/index.ts"],"mappings":"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"}
|