@fatagnus/dink-convex 1.0.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 (49) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +282 -0
  3. package/convex/convex.config.ts +23 -0
  4. package/convex/crons.ts +37 -0
  5. package/convex/http.ts +421 -0
  6. package/convex/index.ts +20 -0
  7. package/convex/install.ts +172 -0
  8. package/convex/outbox.ts +198 -0
  9. package/convex/outboxProcessor.ts +240 -0
  10. package/convex/schema.ts +97 -0
  11. package/convex/sync.ts +327 -0
  12. package/dist/component.d.ts +34 -0
  13. package/dist/component.d.ts.map +1 -0
  14. package/dist/component.js +35 -0
  15. package/dist/component.js.map +1 -0
  16. package/dist/crdt.d.ts +82 -0
  17. package/dist/crdt.d.ts.map +1 -0
  18. package/dist/crdt.js +134 -0
  19. package/dist/crdt.js.map +1 -0
  20. package/dist/factories.d.ts +80 -0
  21. package/dist/factories.d.ts.map +1 -0
  22. package/dist/factories.js +159 -0
  23. package/dist/factories.js.map +1 -0
  24. package/dist/http.d.ts +238 -0
  25. package/dist/http.d.ts.map +1 -0
  26. package/dist/http.js +222 -0
  27. package/dist/http.js.map +1 -0
  28. package/dist/httpFactory.d.ts +39 -0
  29. package/dist/httpFactory.d.ts.map +1 -0
  30. package/dist/httpFactory.js +128 -0
  31. package/dist/httpFactory.js.map +1 -0
  32. package/dist/index.d.ts +68 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +73 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/schema.d.ts +217 -0
  37. package/dist/schema.d.ts.map +1 -0
  38. package/dist/schema.js +195 -0
  39. package/dist/schema.js.map +1 -0
  40. package/dist/syncFactories.d.ts +240 -0
  41. package/dist/syncFactories.d.ts.map +1 -0
  42. package/dist/syncFactories.js +623 -0
  43. package/dist/syncFactories.js.map +1 -0
  44. package/dist/triggers.d.ts +442 -0
  45. package/dist/triggers.d.ts.map +1 -0
  46. package/dist/triggers.js +705 -0
  47. package/dist/triggers.js.map +1 -0
  48. package/package.json +108 -0
  49. package/scripts/check-peer-deps.cjs +132 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,108 @@
1
+ {
2
+ "name": "@fatagnus/dink-convex",
3
+ "version": "1.0.0",
4
+ "description": "Dink Convex sync component - bidirectional sync between Convex and edge devices",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./component": {
14
+ "types": "./dist/component.d.ts",
15
+ "import": "./dist/component.js"
16
+ },
17
+ "./convex": {
18
+ "types": "./convex/index.ts",
19
+ "import": "./convex/index.ts"
20
+ },
21
+ "./convex/*": {
22
+ "types": "./convex/*.ts",
23
+ "import": "./convex/*.ts"
24
+ },
25
+ "./sync": {
26
+ "types": "./convex/sync.ts",
27
+ "import": "./convex/sync.ts"
28
+ },
29
+ "./outbox": {
30
+ "types": "./convex/outboxProcessor.ts",
31
+ "import": "./convex/outboxProcessor.ts"
32
+ },
33
+ "./crons": {
34
+ "types": "./convex/crons.ts",
35
+ "import": "./convex/crons.ts"
36
+ },
37
+ "./package.json": "./package.json"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc",
41
+ "clean": "rm -rf dist",
42
+ "prebuild": "npm run clean",
43
+ "prepublishOnly": "npm run build",
44
+ "postinstall": "node scripts/check-peer-deps.cjs",
45
+ "test": "vitest run",
46
+ "test:watch": "vitest",
47
+ "test:e2e": "cd e2e && npm install && npm test",
48
+ "test:e2e:cleanup": "cd e2e && npm install && npm run test:cleanup",
49
+ "test:e2e:smoke": "cd e2e && npm install && npm run smoke",
50
+ "e2e:setup": "cd e2e/docker && bash setup.sh",
51
+ "e2e:teardown": "cd e2e/docker && bash teardown.sh",
52
+ "typecheck": "tsc --noEmit"
53
+ },
54
+ "keywords": [
55
+ "dink",
56
+ "convex",
57
+ "sync",
58
+ "crdt",
59
+ "yjs",
60
+ "offline-first",
61
+ "edge-computing"
62
+ ],
63
+ "author": "Ozan Turksever",
64
+ "license": "Apache-2.0",
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/ozanturksever/dink.git",
68
+ "directory": "packages/convex-component"
69
+ },
70
+ "homepage": "https://github.com/ozanturksever/dink#readme",
71
+ "bugs": {
72
+ "url": "https://github.com/ozanturksever/dink/issues"
73
+ },
74
+ "publishConfig": {
75
+ "access": "public"
76
+ },
77
+ "sideEffects": false,
78
+ "dependencies": {
79
+ "convex": "^1.17.0",
80
+ "yjs": "^13.6.0"
81
+ },
82
+ "devDependencies": {
83
+ "@types/node": "^20.10.0",
84
+ "@vitest/coverage-v8": "^1.6.0",
85
+ "convex-helpers": "^0.1.0",
86
+ "typescript": "^5.3.0",
87
+ "vitest": "^1.0.0"
88
+ },
89
+ "peerDependencies": {
90
+ "convex": "^1.17.0",
91
+ "convex-helpers": "^0.1.0"
92
+ },
93
+ "peerDependenciesMeta": {
94
+ "convex-helpers": {
95
+ "optional": true
96
+ }
97
+ },
98
+ "engines": {
99
+ "node": ">=18.0.0"
100
+ },
101
+ "files": [
102
+ "dist",
103
+ "convex",
104
+ "scripts",
105
+ "README.md",
106
+ "LICENSE"
107
+ ]
108
+ }
@@ -0,0 +1,132 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Postinstall script to check for required peer dependencies.
5
+ * Warns users if convex-helpers is not installed.
6
+ */
7
+
8
+ const fs = require('fs');
9
+ const path = require('path');
10
+
11
+ const PEER_DEPS = {
12
+ 'convex-helpers': {
13
+ minVersion: '0.1.0',
14
+ description: 'Required for Triggers support to enable automatic sync'
15
+ }
16
+ };
17
+
18
+ /**
19
+ * Check if a package is installed in the project.
20
+ * @param {string} packageName - Name of the package to check
21
+ * @returns {{ installed: boolean, version?: string }}
22
+ */
23
+ function checkPackageInstalled(packageName) {
24
+ // Try to find the package in node_modules
25
+ const possiblePaths = [
26
+ // Direct dependency
27
+ path.join(process.cwd(), 'node_modules', packageName, 'package.json'),
28
+ // Hoisted in parent
29
+ path.join(process.cwd(), '..', 'node_modules', packageName, 'package.json'),
30
+ // Monorepo root
31
+ path.join(process.cwd(), '..', '..', 'node_modules', packageName, 'package.json'),
32
+ ];
33
+
34
+ for (const pkgPath of possiblePaths) {
35
+ try {
36
+ if (fs.existsSync(pkgPath)) {
37
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
38
+ return { installed: true, version: pkg.version };
39
+ }
40
+ } catch {
41
+ // Continue to next path
42
+ }
43
+ }
44
+
45
+ return { installed: false };
46
+ }
47
+
48
+ /**
49
+ * Parse a semver version string.
50
+ * @param {string} version - Version string like "1.2.3"
51
+ * @returns {{ major: number, minor: number, patch: number } | null}
52
+ */
53
+ function parseVersion(version) {
54
+ const match = version.match(/^(\d+)\.(\d+)\.(\d+)/);
55
+ if (!match) return null;
56
+ return {
57
+ major: parseInt(match[1], 10),
58
+ minor: parseInt(match[2], 10),
59
+ patch: parseInt(match[3], 10)
60
+ };
61
+ }
62
+
63
+ /**
64
+ * Check if installed version meets minimum requirement.
65
+ * @param {string} installed - Installed version
66
+ * @param {string} minimum - Minimum required version
67
+ * @returns {boolean}
68
+ */
69
+ function meetsMinimumVersion(installed, minimum) {
70
+ const inst = parseVersion(installed);
71
+ const min = parseVersion(minimum);
72
+
73
+ if (!inst || !min) return true; // Be lenient if we can't parse
74
+
75
+ if (inst.major !== min.major) return inst.major > min.major;
76
+ if (inst.minor !== min.minor) return inst.minor > min.minor;
77
+ return inst.patch >= min.patch;
78
+ }
79
+
80
+ /**
81
+ * Main function to check peer dependencies.
82
+ */
83
+ function checkPeerDependencies() {
84
+ const warnings = [];
85
+
86
+ for (const [packageName, config] of Object.entries(PEER_DEPS)) {
87
+ const result = checkPackageInstalled(packageName);
88
+
89
+ if (!result.installed) {
90
+ warnings.push({
91
+ package: packageName,
92
+ type: 'missing',
93
+ message: `⚠️ @dink/convex requires "${packageName}" as a peer dependency.\n ${config.description}\n Install it with: npm install ${packageName}`
94
+ });
95
+ } else if (!meetsMinimumVersion(result.version, config.minVersion)) {
96
+ warnings.push({
97
+ package: packageName,
98
+ type: 'outdated',
99
+ message: `⚠️ @dink/convex requires "${packageName}" version ${config.minVersion} or higher.\n You have version ${result.version} installed.\n Update with: npm install ${packageName}@latest`
100
+ });
101
+ }
102
+ }
103
+
104
+ if (warnings.length > 0) {
105
+ console.log('\n' + '='.repeat(60));
106
+ console.log('@dink/convex - Peer Dependency Warning');
107
+ console.log('='.repeat(60) + '\n');
108
+
109
+ for (const warning of warnings) {
110
+ console.log(warning.message);
111
+ console.log('');
112
+ }
113
+
114
+ console.log('='.repeat(60) + '\n');
115
+ }
116
+
117
+ return warnings;
118
+ }
119
+
120
+ // Export for testing
121
+ module.exports = {
122
+ checkPackageInstalled,
123
+ parseVersion,
124
+ meetsMinimumVersion,
125
+ checkPeerDependencies,
126
+ PEER_DEPS
127
+ };
128
+
129
+ // Run if executed directly
130
+ if (require.main === module) {
131
+ checkPeerDependencies();
132
+ }