@framers/sql-storage-adapter 0.7.2 → 0.7.4
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/README.md +41 -0
- package/dist/adapters/electron/preload.cjs +289 -0
- package/dist/adapters/electron/renderer.d.ts +9 -0
- package/dist/adapters/electron/renderer.d.ts.map +1 -0
- package/dist/adapters/electron/renderer.js +8 -0
- package/dist/adapters/electron/renderer.js.map +1 -0
- package/dist/cjs/adapters/__tests__/indexedDbAdapter.spec.d.ts +2 -0
- package/dist/cjs/adapters/__tests__/indexedDbAdapter.spec.js +133 -0
- package/dist/cjs/adapters/baseStorageAdapter.d.ts +368 -0
- package/dist/cjs/adapters/baseStorageAdapter.js +744 -0
- package/dist/cjs/adapters/betterSqliteAdapter.d.ts +124 -0
- package/dist/cjs/adapters/betterSqliteAdapter.js +334 -0
- package/dist/cjs/adapters/capacitorSqliteAdapter.d.ts +83 -0
- package/dist/cjs/adapters/capacitorSqliteAdapter.js +250 -0
- package/dist/cjs/adapters/electron/electronMainAdapter.d.ts +251 -0
- package/dist/cjs/adapters/electron/electronMainAdapter.js +392 -0
- package/dist/cjs/adapters/electron/electronRendererAdapter.d.ts +177 -0
- package/dist/cjs/adapters/electron/electronRendererAdapter.js +283 -0
- package/dist/cjs/adapters/electron/index.d.ts +74 -0
- package/dist/cjs/adapters/electron/index.js +86 -0
- package/dist/cjs/adapters/electron/ipc/channels.d.ts +196 -0
- package/dist/cjs/adapters/electron/ipc/channels.js +127 -0
- package/dist/cjs/adapters/electron/ipc/index.d.ts +11 -0
- package/dist/cjs/adapters/electron/ipc/index.js +38 -0
- package/dist/cjs/adapters/electron/ipc/protocol.d.ts +78 -0
- package/dist/cjs/adapters/electron/ipc/protocol.js +341 -0
- package/dist/cjs/adapters/electron/ipc/types.d.ts +248 -0
- package/dist/cjs/adapters/electron/ipc/types.js +15 -0
- package/dist/cjs/adapters/electron/migration/autoMigrator.d.ts +184 -0
- package/dist/cjs/adapters/electron/migration/autoMigrator.js +441 -0
- package/dist/cjs/adapters/electron/migration/index.d.ts +9 -0
- package/dist/cjs/adapters/electron/migration/index.js +29 -0
- package/dist/cjs/adapters/electron/preload.d.ts +126 -0
- package/dist/cjs/adapters/electron/preload.js +233 -0
- package/dist/cjs/adapters/electron/recovery/corruptionDetector.d.ts +214 -0
- package/dist/cjs/adapters/electron/recovery/corruptionDetector.js +359 -0
- package/dist/cjs/adapters/electron/recovery/index.d.ts +11 -0
- package/dist/cjs/adapters/electron/recovery/index.js +34 -0
- package/dist/cjs/adapters/electron/recovery/walCheckpoint.d.ts +186 -0
- package/dist/cjs/adapters/electron/recovery/walCheckpoint.js +263 -0
- package/dist/cjs/adapters/electron/renderer.d.ts +9 -0
- package/dist/cjs/adapters/electron/renderer.js +33 -0
- package/dist/cjs/adapters/electron/window/index.d.ts +9 -0
- package/dist/cjs/adapters/electron/window/index.js +29 -0
- package/dist/cjs/adapters/electron/window/windowManager.d.ts +190 -0
- package/dist/cjs/adapters/electron/window/windowManager.js +321 -0
- package/dist/cjs/adapters/indexedDbAdapter.d.ts +490 -0
- package/dist/cjs/adapters/indexedDbAdapter.js +993 -0
- package/dist/cjs/adapters/postgresAdapter.d.ts +424 -0
- package/dist/cjs/adapters/postgresAdapter.js +889 -0
- package/dist/cjs/adapters/sqlJsAdapter.d.ts +64 -0
- package/dist/cjs/adapters/sqlJsAdapter.js +268 -0
- package/dist/cjs/adapters/supabase.d.ts +58 -0
- package/dist/cjs/adapters/supabase.js +401 -0
- package/dist/cjs/codecs/BrowserBlobCodec.d.ts +14 -0
- package/dist/cjs/codecs/BrowserBlobCodec.js +57 -0
- package/dist/cjs/codecs/NodeBlobCodec.d.ts +14 -0
- package/dist/cjs/codecs/NodeBlobCodec.js +59 -0
- package/dist/cjs/core/contracts/blobCodec.d.ts +15 -0
- package/dist/cjs/core/contracts/blobCodec.js +15 -0
- package/dist/cjs/core/contracts/context.d.ts +221 -0
- package/dist/cjs/core/contracts/context.js +15 -0
- package/dist/cjs/core/contracts/dialect.d.ts +154 -0
- package/dist/cjs/core/contracts/dialect.js +15 -0
- package/dist/cjs/core/contracts/events.d.ts +225 -0
- package/dist/cjs/core/contracts/events.js +15 -0
- package/dist/cjs/core/contracts/exporter.d.ts +13 -0
- package/dist/cjs/core/contracts/exporter.js +15 -0
- package/dist/cjs/core/contracts/extensions.d.ts +73 -0
- package/dist/cjs/core/contracts/extensions.js +15 -0
- package/dist/cjs/core/contracts/features.d.ts +25 -0
- package/dist/cjs/core/contracts/features.js +61 -0
- package/dist/cjs/core/contracts/fts.d.ts +66 -0
- package/dist/cjs/core/contracts/fts.js +15 -0
- package/dist/cjs/core/contracts/hooks.d.ts +481 -0
- package/dist/cjs/core/contracts/hooks.js +140 -0
- package/dist/cjs/core/contracts/index.d.ts +260 -0
- package/dist/cjs/core/contracts/index.js +41 -0
- package/dist/cjs/core/contracts/limitations.d.ts +46 -0
- package/dist/cjs/core/contracts/limitations.js +218 -0
- package/dist/cjs/core/contracts/performance.d.ts +308 -0
- package/dist/cjs/core/contracts/performance.js +144 -0
- package/dist/cjs/core/database.d.ts +220 -0
- package/dist/cjs/core/database.js +136 -0
- package/dist/cjs/core/portable.d.ts +24 -0
- package/dist/cjs/core/portable.js +68 -0
- package/dist/cjs/core/resolver.d.ts +77 -0
- package/dist/cjs/core/resolver.js +235 -0
- package/dist/cjs/dialects/PostgresDialect.d.ts +35 -0
- package/dist/cjs/dialects/PostgresDialect.js +143 -0
- package/dist/cjs/dialects/SqliteDialect.d.ts +35 -0
- package/dist/cjs/dialects/SqliteDialect.js +142 -0
- package/dist/cjs/dialects/shared.d.ts +17 -0
- package/dist/cjs/dialects/shared.js +90 -0
- package/dist/cjs/exporters/PostgresExporter.d.ts +14 -0
- package/dist/cjs/exporters/PostgresExporter.js +61 -0
- package/dist/cjs/exporters/SqliteFileExporter.d.ts +16 -0
- package/dist/cjs/exporters/SqliteFileExporter.js +43 -0
- package/dist/cjs/features/auth/authJsAdapter.d.ts +110 -0
- package/dist/cjs/features/auth/authJsAdapter.js +251 -0
- package/dist/cjs/features/backup/cloudBackup.d.ts +219 -0
- package/dist/cjs/features/backup/cloudBackup.js +209 -0
- package/dist/cjs/features/kv/idb.d.ts +79 -0
- package/dist/cjs/features/kv/idb.js +32 -0
- package/dist/cjs/features/kv/index.d.ts +14 -0
- package/dist/cjs/features/kv/index.js +40 -0
- package/dist/cjs/features/kv/indexedDbKeyValueStore.d.ts +77 -0
- package/dist/cjs/features/kv/indexedDbKeyValueStore.js +116 -0
- package/dist/cjs/features/kv/keyValueStore.d.ts +48 -0
- package/dist/cjs/features/kv/keyValueStore.js +67 -0
- package/dist/cjs/features/kv/sqlKeyValueStore.d.ts +34 -0
- package/dist/cjs/features/kv/sqlKeyValueStore.js +81 -0
- package/dist/cjs/features/kv/valueCodec.d.ts +35 -0
- package/dist/cjs/features/kv/valueCodec.js +426 -0
- package/dist/cjs/features/migrations/dataExport.d.ts +77 -0
- package/dist/cjs/features/migrations/dataExport.js +194 -0
- package/dist/cjs/features/migrations/dataImport.d.ts +54 -0
- package/dist/cjs/features/migrations/dataImport.js +300 -0
- package/dist/cjs/features/migrations/migration.d.ts +89 -0
- package/dist/cjs/features/migrations/migration.js +187 -0
- package/dist/cjs/features/migrations/schemaMigrations.d.ts +93 -0
- package/dist/cjs/features/migrations/schemaMigrations.js +220 -0
- package/dist/cjs/features/sync/conflicts/conflictResolver.d.ts +222 -0
- package/dist/cjs/features/sync/conflicts/conflictResolver.js +366 -0
- package/dist/cjs/features/sync/conflicts/index.d.ts +9 -0
- package/dist/cjs/features/sync/conflicts/index.js +21 -0
- package/dist/cjs/features/sync/crossPlatformSync.d.ts +281 -0
- package/dist/cjs/features/sync/crossPlatformSync.js +551 -0
- package/dist/cjs/features/sync/devices/deviceManager.d.ts +243 -0
- package/dist/cjs/features/sync/devices/deviceManager.js +450 -0
- package/dist/cjs/features/sync/devices/index.d.ts +10 -0
- package/dist/cjs/features/sync/devices/index.js +21 -0
- package/dist/cjs/features/sync/index.d.ts +37 -0
- package/dist/cjs/features/sync/index.js +111 -0
- package/dist/cjs/features/sync/protocol/index.d.ts +11 -0
- package/dist/cjs/features/sync/protocol/index.js +23 -0
- package/dist/cjs/features/sync/protocol/messages.d.ts +348 -0
- package/dist/cjs/features/sync/protocol/messages.js +215 -0
- package/dist/cjs/features/sync/protocol/vectorClock.d.ts +164 -0
- package/dist/cjs/features/sync/protocol/vectorClock.js +256 -0
- package/dist/cjs/features/sync/syncManager.d.ts +348 -0
- package/dist/cjs/features/sync/syncManager.js +455 -0
- package/dist/cjs/features/sync/tables/index.d.ts +10 -0
- package/dist/cjs/features/sync/tables/index.js +21 -0
- package/dist/cjs/features/sync/tables/syncLogManager.d.ts +216 -0
- package/dist/cjs/features/sync/tables/syncLogManager.js +423 -0
- package/dist/cjs/features/sync/transport/httpTransport.d.ts +123 -0
- package/dist/cjs/features/sync/transport/httpTransport.js +346 -0
- package/dist/cjs/features/sync/transport/index.d.ts +12 -0
- package/dist/cjs/features/sync/transport/index.js +25 -0
- package/dist/cjs/features/sync/transport/transport.d.ts +259 -0
- package/dist/cjs/features/sync/transport/transport.js +163 -0
- package/dist/cjs/features/sync/transport/websocketTransport.d.ts +126 -0
- package/dist/cjs/features/sync/transport/websocketTransport.js +342 -0
- package/dist/cjs/fts/PostgresFts.d.ts +29 -0
- package/dist/cjs/fts/PostgresFts.js +77 -0
- package/dist/cjs/fts/SqliteFts5.d.ts +22 -0
- package/dist/cjs/fts/SqliteFts5.js +58 -0
- package/dist/cjs/index.d.ts +31 -0
- package/dist/cjs/index.js +103 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/shared/connectionGate.d.ts +94 -0
- package/dist/cjs/shared/connectionGate.js +77 -0
- package/dist/cjs/shared/errors.d.ts +23 -0
- package/dist/cjs/shared/errors.js +45 -0
- package/dist/cjs/shared/logger.d.ts +26 -0
- package/dist/cjs/shared/logger.js +40 -0
- package/dist/cjs/shared/parameterUtils.d.ts +16 -0
- package/dist/cjs/shared/parameterUtils.js +59 -0
- package/dist/cjs/shared/postgresTarget.d.ts +11 -0
- package/dist/cjs/shared/postgresTarget.js +30 -0
- package/dist/cjs/shared/segment.d.ts +43 -0
- package/dist/cjs/shared/segment.js +63 -0
- package/dist/cjs/shared/serializedTransaction.d.ts +14 -0
- package/dist/cjs/shared/serializedTransaction.js +74 -0
- package/dist/cjs/shared/splitSqlStatements.d.ts +27 -0
- package/dist/cjs/shared/splitSqlStatements.js +163 -0
- package/dist/cjs/shared/sqlPlaceholders.d.ts +48 -0
- package/dist/cjs/shared/sqlPlaceholders.js +263 -0
- package/dist/cjs/types/index.d.ts +29 -0
- package/dist/cjs/types/index.js +33 -0
- package/dist/core/portable.d.ts +24 -0
- package/dist/core/portable.d.ts.map +1 -0
- package/dist/core/portable.js +24 -0
- package/dist/core/portable.js.map +1 -0
- package/dist/features/auth/authJsAdapter.d.ts +110 -0
- package/dist/features/auth/authJsAdapter.d.ts.map +1 -0
- package/dist/features/auth/authJsAdapter.js +248 -0
- package/dist/features/auth/authJsAdapter.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +149 -24
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { createStorageFeatures } from '../../core/contracts/features.js';
|
|
2
|
+
const PREFIX = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
3
|
+
const tablesFor = (options) => {
|
|
4
|
+
const prefix = options.tablePrefix ?? 'auth_';
|
|
5
|
+
if (!PREFIX.test(prefix)) {
|
|
6
|
+
throw new Error(`tablePrefix must be letters, digits and underscores, starting with a letter or an underscore; got ${JSON.stringify(prefix)}.`);
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
users: `${prefix}users`,
|
|
10
|
+
accounts: `${prefix}accounts`,
|
|
11
|
+
sessions: `${prefix}sessions`,
|
|
12
|
+
verificationTokens: `${prefix}verification_tokens`,
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* The statements that create the adapter's tables and indexes on `db`'s
|
|
17
|
+
* engine, each `IF NOT EXISTS`, for a migration file or for
|
|
18
|
+
* ensureAuthJsTables.
|
|
19
|
+
*/
|
|
20
|
+
export function authJsTablesSql(db, options = {}) {
|
|
21
|
+
const t = tablesFor(options);
|
|
22
|
+
const d = createStorageFeatures(db).dialect;
|
|
23
|
+
const timestamp = d.columnType('timestamp');
|
|
24
|
+
return [
|
|
25
|
+
`CREATE TABLE IF NOT EXISTS ${t.users} (id TEXT PRIMARY KEY, name TEXT, email TEXT UNIQUE, email_verified ${timestamp}, image TEXT)`,
|
|
26
|
+
`CREATE TABLE IF NOT EXISTS ${t.accounts} (
|
|
27
|
+
id TEXT PRIMARY KEY,
|
|
28
|
+
user_id TEXT NOT NULL REFERENCES ${t.users} (id) ON DELETE CASCADE,
|
|
29
|
+
type TEXT NOT NULL,
|
|
30
|
+
provider TEXT NOT NULL,
|
|
31
|
+
provider_account_id TEXT NOT NULL,
|
|
32
|
+
refresh_token TEXT,
|
|
33
|
+
access_token TEXT,
|
|
34
|
+
expires_at ${d.columnType('bigint')},
|
|
35
|
+
token_type TEXT,
|
|
36
|
+
scope TEXT,
|
|
37
|
+
id_token TEXT,
|
|
38
|
+
session_state TEXT,
|
|
39
|
+
UNIQUE (provider, provider_account_id)
|
|
40
|
+
)`,
|
|
41
|
+
`CREATE TABLE IF NOT EXISTS ${t.sessions} (session_token TEXT PRIMARY KEY, user_id TEXT NOT NULL REFERENCES ${t.users} (id) ON DELETE CASCADE, expires ${timestamp} NOT NULL)`,
|
|
42
|
+
`CREATE TABLE IF NOT EXISTS ${t.verificationTokens} (identifier TEXT NOT NULL, token TEXT NOT NULL, expires ${timestamp} NOT NULL, PRIMARY KEY (identifier, token))`,
|
|
43
|
+
`CREATE INDEX IF NOT EXISTS ${t.accounts}_user_id ON ${t.accounts} (user_id)`,
|
|
44
|
+
`CREATE INDEX IF NOT EXISTS ${t.sessions}_user_id ON ${t.sessions} (user_id)`,
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
/** Creates the adapter's tables and indexes on `db` when they are missing. */
|
|
48
|
+
export async function ensureAuthJsTables(db, options = {}) {
|
|
49
|
+
for (const statement of authJsTablesSql(db, options)) {
|
|
50
|
+
await db.exec(statement);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** A stored time as a Date: PostgreSQL returns one, SQLite ISO 8601 text. */
|
|
54
|
+
const toDate = (value) => value == null ? null : value instanceof Date ? value : new Date(String(value));
|
|
55
|
+
const toUser = (row) => ({
|
|
56
|
+
id: String(row.id),
|
|
57
|
+
name: row.name ?? null,
|
|
58
|
+
email: row.email,
|
|
59
|
+
emailVerified: toDate(row.email_verified),
|
|
60
|
+
image: row.image ?? null,
|
|
61
|
+
});
|
|
62
|
+
const toAccount = (row) => {
|
|
63
|
+
const account = {
|
|
64
|
+
userId: String(row.user_id),
|
|
65
|
+
type: row.type,
|
|
66
|
+
provider: row.provider,
|
|
67
|
+
providerAccountId: row.provider_account_id,
|
|
68
|
+
};
|
|
69
|
+
for (const field of ['refresh_token', 'access_token', 'token_type', 'scope', 'id_token', 'session_state']) {
|
|
70
|
+
if (row[field] != null)
|
|
71
|
+
account[field] = String(row[field]);
|
|
72
|
+
}
|
|
73
|
+
// PostgreSQL returns a BIGINT as text.
|
|
74
|
+
if (row.expires_at != null)
|
|
75
|
+
account.expires_at = Number(row.expires_at);
|
|
76
|
+
return account;
|
|
77
|
+
};
|
|
78
|
+
const toSession = (row) => ({
|
|
79
|
+
sessionToken: row.session_token,
|
|
80
|
+
userId: String(row.user_id),
|
|
81
|
+
expires: toDate(row.expires),
|
|
82
|
+
});
|
|
83
|
+
const toVerificationToken = (row) => ({
|
|
84
|
+
identifier: row.identifier,
|
|
85
|
+
token: row.token,
|
|
86
|
+
expires: toDate(row.expires),
|
|
87
|
+
});
|
|
88
|
+
const defaultId = () => {
|
|
89
|
+
const random = globalThis.crypto?.randomUUID;
|
|
90
|
+
if (!random)
|
|
91
|
+
throw new Error('crypto.randomUUID() is not available; pass generateId.');
|
|
92
|
+
return random.call(globalThis.crypto);
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* An Auth.js database adapter that keeps users, accounts, sessions and
|
|
96
|
+
* verification tokens in `db`, on PostgreSQL or SQLite. Create the tables
|
|
97
|
+
* first with ensureAuthJsTables (or authJsTablesSql in a migration).
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* import NextAuth from 'next-auth';
|
|
102
|
+
* import { createDatabase } from '@framers/sql-storage-adapter';
|
|
103
|
+
* import { createAuthJsAdapter, ensureAuthJsTables } from '@framers/sql-storage-adapter/authjs';
|
|
104
|
+
*
|
|
105
|
+
* const db = await createDatabase({ url: process.env.DATABASE_URL, strict: true });
|
|
106
|
+
* await ensureAuthJsTables(db);
|
|
107
|
+
* export const { handlers, auth } = NextAuth({ adapter: createAuthJsAdapter(db), providers: [] });
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export function createAuthJsAdapter(db, options = {}) {
|
|
111
|
+
const t = tablesFor(options);
|
|
112
|
+
const generateId = options.generateId ?? defaultId;
|
|
113
|
+
const getUser = async (id) => {
|
|
114
|
+
const row = await db.get(`SELECT * FROM ${t.users} WHERE id = ?`, [id]);
|
|
115
|
+
return row ? toUser(row) : null;
|
|
116
|
+
};
|
|
117
|
+
const getSession = async (sessionToken) => {
|
|
118
|
+
const row = await db.get(`SELECT * FROM ${t.sessions} WHERE session_token = ?`, [sessionToken]);
|
|
119
|
+
return row ? toSession(row) : null;
|
|
120
|
+
};
|
|
121
|
+
return {
|
|
122
|
+
async createUser(user) {
|
|
123
|
+
const id = user.id ?? generateId();
|
|
124
|
+
await db.run(`INSERT INTO ${t.users} (id, name, email, email_verified, image) VALUES (?, ?, ?, ?, ?)`, [
|
|
125
|
+
id,
|
|
126
|
+
user.name ?? null,
|
|
127
|
+
user.email,
|
|
128
|
+
user.emailVerified ?? null,
|
|
129
|
+
user.image ?? null,
|
|
130
|
+
]);
|
|
131
|
+
return (await getUser(id));
|
|
132
|
+
},
|
|
133
|
+
getUser,
|
|
134
|
+
async getUserByEmail(email) {
|
|
135
|
+
const row = await db.get(`SELECT * FROM ${t.users} WHERE email = ?`, [email]);
|
|
136
|
+
return row ? toUser(row) : null;
|
|
137
|
+
},
|
|
138
|
+
async getUserByAccount({ provider, providerAccountId }) {
|
|
139
|
+
const row = await db.get(`SELECT u.* FROM ${t.users} u JOIN ${t.accounts} a ON a.user_id = u.id WHERE a.provider = ? AND a.provider_account_id = ?`, [provider, providerAccountId]);
|
|
140
|
+
return row ? toUser(row) : null;
|
|
141
|
+
},
|
|
142
|
+
async updateUser(user) {
|
|
143
|
+
const fields = [];
|
|
144
|
+
if ('name' in user)
|
|
145
|
+
fields.push(['name', user.name ?? null]);
|
|
146
|
+
if ('email' in user)
|
|
147
|
+
fields.push(['email', user.email]);
|
|
148
|
+
if ('emailVerified' in user)
|
|
149
|
+
fields.push(['email_verified', user.emailVerified ?? null]);
|
|
150
|
+
if ('image' in user)
|
|
151
|
+
fields.push(['image', user.image ?? null]);
|
|
152
|
+
if (fields.length) {
|
|
153
|
+
await db.run(`UPDATE ${t.users} SET ${fields.map(([column]) => `${column} = ?`).join(', ')} WHERE id = ?`, [
|
|
154
|
+
...fields.map(([, value]) => value),
|
|
155
|
+
user.id,
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
158
|
+
const updated = await getUser(user.id);
|
|
159
|
+
if (!updated)
|
|
160
|
+
throw new Error(`No user with id ${JSON.stringify(user.id)} to update.`);
|
|
161
|
+
return updated;
|
|
162
|
+
},
|
|
163
|
+
async deleteUser(userId) {
|
|
164
|
+
// Explicit deletes: sql.js and IndexedDB leave foreign keys off, so ON DELETE CASCADE would not run there.
|
|
165
|
+
return db.transaction(async (trx) => {
|
|
166
|
+
const row = await trx.get(`SELECT * FROM ${t.users} WHERE id = ?`, [userId]);
|
|
167
|
+
await trx.run(`DELETE FROM ${t.sessions} WHERE user_id = ?`, [userId]);
|
|
168
|
+
await trx.run(`DELETE FROM ${t.accounts} WHERE user_id = ?`, [userId]);
|
|
169
|
+
await trx.run(`DELETE FROM ${t.users} WHERE id = ?`, [userId]);
|
|
170
|
+
return row ? toUser(row) : null;
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
async linkAccount(account) {
|
|
174
|
+
await db.run(`INSERT INTO ${t.accounts} (id, user_id, type, provider, provider_account_id, refresh_token, access_token, expires_at, token_type, scope, id_token, session_state)
|
|
175
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
176
|
+
generateId(),
|
|
177
|
+
account.userId,
|
|
178
|
+
account.type,
|
|
179
|
+
account.provider,
|
|
180
|
+
account.providerAccountId,
|
|
181
|
+
account.refresh_token ?? null,
|
|
182
|
+
account.access_token ?? null,
|
|
183
|
+
account.expires_at ?? null,
|
|
184
|
+
account.token_type ?? null,
|
|
185
|
+
account.scope ?? null,
|
|
186
|
+
account.id_token ?? null,
|
|
187
|
+
account.session_state ?? null,
|
|
188
|
+
]);
|
|
189
|
+
return account;
|
|
190
|
+
},
|
|
191
|
+
async unlinkAccount({ provider, providerAccountId }) {
|
|
192
|
+
await db.run(`DELETE FROM ${t.accounts} WHERE provider = ? AND provider_account_id = ?`, [provider, providerAccountId]);
|
|
193
|
+
},
|
|
194
|
+
async getAccount(providerAccountId, provider) {
|
|
195
|
+
const row = await db.get(`SELECT * FROM ${t.accounts} WHERE provider = ? AND provider_account_id = ?`, [
|
|
196
|
+
provider,
|
|
197
|
+
providerAccountId,
|
|
198
|
+
]);
|
|
199
|
+
return row ? toAccount(row) : null;
|
|
200
|
+
},
|
|
201
|
+
async createSession(session) {
|
|
202
|
+
await db.run(`INSERT INTO ${t.sessions} (session_token, user_id, expires) VALUES (?, ?, ?)`, [
|
|
203
|
+
session.sessionToken,
|
|
204
|
+
session.userId,
|
|
205
|
+
session.expires,
|
|
206
|
+
]);
|
|
207
|
+
return { sessionToken: session.sessionToken, userId: session.userId, expires: session.expires };
|
|
208
|
+
},
|
|
209
|
+
async getSessionAndUser(sessionToken) {
|
|
210
|
+
const session = await getSession(sessionToken);
|
|
211
|
+
if (!session)
|
|
212
|
+
return null;
|
|
213
|
+
const user = await getUser(session.userId);
|
|
214
|
+
return user ? { session, user } : null;
|
|
215
|
+
},
|
|
216
|
+
async updateSession(session) {
|
|
217
|
+
const fields = [];
|
|
218
|
+
if (session.expires !== undefined)
|
|
219
|
+
fields.push(['expires', session.expires]);
|
|
220
|
+
if (session.userId !== undefined)
|
|
221
|
+
fields.push(['user_id', session.userId]);
|
|
222
|
+
if (fields.length) {
|
|
223
|
+
await db.run(`UPDATE ${t.sessions} SET ${fields.map(([column]) => `${column} = ?`).join(', ')} WHERE session_token = ?`, [
|
|
224
|
+
...fields.map(([, value]) => value),
|
|
225
|
+
session.sessionToken,
|
|
226
|
+
]);
|
|
227
|
+
}
|
|
228
|
+
return getSession(session.sessionToken);
|
|
229
|
+
},
|
|
230
|
+
async deleteSession(sessionToken) {
|
|
231
|
+
await db.run(`DELETE FROM ${t.sessions} WHERE session_token = ?`, [sessionToken]);
|
|
232
|
+
},
|
|
233
|
+
async createVerificationToken(token) {
|
|
234
|
+
await db.run(`INSERT INTO ${t.verificationTokens} (identifier, token, expires) VALUES (?, ?, ?)`, [
|
|
235
|
+
token.identifier,
|
|
236
|
+
token.token,
|
|
237
|
+
token.expires,
|
|
238
|
+
]);
|
|
239
|
+
return { identifier: token.identifier, token: token.token, expires: token.expires };
|
|
240
|
+
},
|
|
241
|
+
async useVerificationToken({ identifier, token }) {
|
|
242
|
+
// One statement: a token is used once, however many requests race for it.
|
|
243
|
+
const row = await db.get(`DELETE FROM ${t.verificationTokens} WHERE identifier = ? AND token = ? RETURNING identifier, token, expires`, [identifier, token]);
|
|
244
|
+
return row ? toVerificationToken(row) : null;
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=authJsAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authJsAdapter.js","sourceRoot":"","sources":["../../../src/features/auth/authJsAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * from './features/migrations/dataExport.js';
|
|
|
13
13
|
export * from './features/migrations/dataImport.js';
|
|
14
14
|
export * from './features/migrations/migration.js';
|
|
15
15
|
export * from './features/migrations/schemaMigrations.js';
|
|
16
|
+
export * from './features/auth/authJsAdapter.js';
|
|
16
17
|
export * from './features/sync/syncManager.js';
|
|
17
18
|
export * from './shared/parameterUtils.js';
|
|
18
19
|
export { segmentFilePath, segmentName, validateSegment } from './shared/segment.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAQ9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAM5C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAQ9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAM5C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export * from './features/migrations/dataExport.js';
|
|
|
21
21
|
export * from './features/migrations/dataImport.js';
|
|
22
22
|
export * from './features/migrations/migration.js';
|
|
23
23
|
export * from './features/migrations/schemaMigrations.js';
|
|
24
|
+
export * from './features/auth/authJsAdapter.js';
|
|
24
25
|
export * from './features/sync/syncManager.js';
|
|
25
26
|
// Note: Cross-platform sync is available via separate entry point for cleaner imports.
|
|
26
27
|
// Usage: import { createCrossPlatformSync } from '@framers/sql-storage-adapter/sync';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,SAAS,CAAC;AAExB,8EAA8E;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,+EAA+E;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAE9C,wEAAwE;AACxE,yDAAyD;AACzD,2HAA2H;AAC3H,mEAAmE;AAEnE,+EAA+E;AAC/E,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAE5C,uFAAuF;AACvF,sFAAsF;AAEtF,+EAA+E;AAC/E,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjF,6FAA6F;AAC7F,uGAAuG;AAEvG,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,SAAS,CAAC;AAExB,8EAA8E;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,+EAA+E;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAE9C,wEAAwE;AACxE,yDAAyD;AACzD,2HAA2H;AAC3H,mEAAmE;AAEnE,+EAA+E;AAC/E,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,uFAAuF;AACvF,sFAAsF;AAEtF,+EAA+E;AAC/E,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjF,6FAA6F;AAC7F,uGAAuG;AAEvG,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,41 +1,161 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/sql-storage-adapter",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "Robust cross-platform SQL storage abstraction with automatic fallbacks and runtime detection",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
6
|
+
"main": "dist/cjs/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/cjs/index.d.ts",
|
|
17
|
+
"default": "./dist/cjs/index.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"./core": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/core/portable.d.ts",
|
|
23
|
+
"default": "./dist/core/portable.js"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/cjs/core/portable.d.ts",
|
|
27
|
+
"default": "./dist/cjs/core/portable.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"./postgres": {
|
|
31
|
+
"import": {
|
|
32
|
+
"types": "./dist/adapters/postgresAdapter.d.ts",
|
|
33
|
+
"default": "./dist/adapters/postgresAdapter.js"
|
|
34
|
+
},
|
|
35
|
+
"require": {
|
|
36
|
+
"types": "./dist/cjs/adapters/postgresAdapter.d.ts",
|
|
37
|
+
"default": "./dist/cjs/adapters/postgresAdapter.js"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"./better-sqlite3": {
|
|
41
|
+
"import": {
|
|
42
|
+
"types": "./dist/adapters/betterSqliteAdapter.d.ts",
|
|
43
|
+
"default": "./dist/adapters/betterSqliteAdapter.js"
|
|
44
|
+
},
|
|
45
|
+
"require": {
|
|
46
|
+
"types": "./dist/cjs/adapters/betterSqliteAdapter.d.ts",
|
|
47
|
+
"default": "./dist/cjs/adapters/betterSqliteAdapter.js"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"./sqljs": {
|
|
51
|
+
"import": {
|
|
52
|
+
"types": "./dist/adapters/sqlJsAdapter.d.ts",
|
|
53
|
+
"default": "./dist/adapters/sqlJsAdapter.js"
|
|
54
|
+
},
|
|
55
|
+
"require": {
|
|
56
|
+
"types": "./dist/cjs/adapters/sqlJsAdapter.d.ts",
|
|
57
|
+
"default": "./dist/cjs/adapters/sqlJsAdapter.js"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"./indexeddb": {
|
|
61
|
+
"import": {
|
|
62
|
+
"types": "./dist/adapters/indexedDbAdapter.d.ts",
|
|
63
|
+
"default": "./dist/adapters/indexedDbAdapter.js"
|
|
64
|
+
},
|
|
65
|
+
"require": {
|
|
66
|
+
"types": "./dist/cjs/adapters/indexedDbAdapter.d.ts",
|
|
67
|
+
"default": "./dist/cjs/adapters/indexedDbAdapter.js"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"./capacitor": {
|
|
71
|
+
"import": {
|
|
72
|
+
"types": "./dist/adapters/capacitorSqliteAdapter.d.ts",
|
|
73
|
+
"default": "./dist/adapters/capacitorSqliteAdapter.js"
|
|
74
|
+
},
|
|
75
|
+
"require": {
|
|
76
|
+
"types": "./dist/cjs/adapters/capacitorSqliteAdapter.d.ts",
|
|
77
|
+
"default": "./dist/cjs/adapters/capacitorSqliteAdapter.js"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"./backup": {
|
|
81
|
+
"import": {
|
|
82
|
+
"types": "./dist/features/backup/cloudBackup.d.ts",
|
|
83
|
+
"default": "./dist/features/backup/cloudBackup.js"
|
|
84
|
+
},
|
|
85
|
+
"require": {
|
|
86
|
+
"types": "./dist/cjs/features/backup/cloudBackup.d.ts",
|
|
87
|
+
"default": "./dist/cjs/features/backup/cloudBackup.js"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"./authjs": {
|
|
91
|
+
"import": {
|
|
92
|
+
"types": "./dist/features/auth/authJsAdapter.d.ts",
|
|
93
|
+
"default": "./dist/features/auth/authJsAdapter.js"
|
|
94
|
+
},
|
|
95
|
+
"require": {
|
|
96
|
+
"types": "./dist/cjs/features/auth/authJsAdapter.d.ts",
|
|
97
|
+
"default": "./dist/cjs/features/auth/authJsAdapter.js"
|
|
98
|
+
}
|
|
14
99
|
},
|
|
15
100
|
"./types": {
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
101
|
+
"import": {
|
|
102
|
+
"types": "./dist/types/index.d.ts",
|
|
103
|
+
"default": "./dist/types/index.js"
|
|
104
|
+
},
|
|
105
|
+
"require": {
|
|
106
|
+
"types": "./dist/cjs/types/index.d.ts",
|
|
107
|
+
"default": "./dist/cjs/types/index.js"
|
|
108
|
+
}
|
|
19
109
|
},
|
|
20
110
|
"./electron": {
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
111
|
+
"import": {
|
|
112
|
+
"types": "./dist/adapters/electron/index.d.ts",
|
|
113
|
+
"default": "./dist/adapters/electron/index.js"
|
|
114
|
+
},
|
|
115
|
+
"require": {
|
|
116
|
+
"types": "./dist/cjs/adapters/electron/index.d.ts",
|
|
117
|
+
"default": "./dist/cjs/adapters/electron/index.js"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"./electron/renderer": {
|
|
121
|
+
"import": {
|
|
122
|
+
"types": "./dist/adapters/electron/renderer.d.ts",
|
|
123
|
+
"default": "./dist/adapters/electron/renderer.js"
|
|
124
|
+
},
|
|
125
|
+
"require": {
|
|
126
|
+
"types": "./dist/cjs/adapters/electron/renderer.d.ts",
|
|
127
|
+
"default": "./dist/cjs/adapters/electron/renderer.js"
|
|
128
|
+
}
|
|
24
129
|
},
|
|
25
130
|
"./electron/preload": {
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
131
|
+
"import": {
|
|
132
|
+
"types": "./dist/adapters/electron/preload.d.ts",
|
|
133
|
+
"default": "./dist/adapters/electron/preload.js"
|
|
134
|
+
},
|
|
135
|
+
"require": {
|
|
136
|
+
"types": "./dist/cjs/adapters/electron/preload.d.ts",
|
|
137
|
+
"default": "./dist/adapters/electron/preload.cjs"
|
|
138
|
+
}
|
|
29
139
|
},
|
|
30
140
|
"./sync": {
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
141
|
+
"import": {
|
|
142
|
+
"types": "./dist/features/sync/index.d.ts",
|
|
143
|
+
"default": "./dist/features/sync/index.js"
|
|
144
|
+
},
|
|
145
|
+
"require": {
|
|
146
|
+
"types": "./dist/cjs/features/sync/index.d.ts",
|
|
147
|
+
"default": "./dist/cjs/features/sync/index.js"
|
|
148
|
+
}
|
|
34
149
|
},
|
|
35
150
|
"./kv": {
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
151
|
+
"import": {
|
|
152
|
+
"types": "./dist/features/kv/index.d.ts",
|
|
153
|
+
"default": "./dist/features/kv/index.js"
|
|
154
|
+
},
|
|
155
|
+
"require": {
|
|
156
|
+
"types": "./dist/cjs/features/kv/index.d.ts",
|
|
157
|
+
"default": "./dist/cjs/features/kv/index.js"
|
|
158
|
+
}
|
|
39
159
|
},
|
|
40
160
|
"./package.json": "./package.json"
|
|
41
161
|
},
|
|
@@ -44,7 +164,7 @@
|
|
|
44
164
|
],
|
|
45
165
|
"scripts": {
|
|
46
166
|
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
47
|
-
"build": "npm run clean && npx tsc -p tsconfig.build.json && node scripts/fix-esm-imports.mjs",
|
|
167
|
+
"build": "npm run clean && npx tsc -p tsconfig.build.json && node scripts/fix-esm-imports.mjs && node scripts/build-cjs.mjs",
|
|
48
168
|
"prepare": "test -d dist || npm run build",
|
|
49
169
|
"prepublishOnly": "npm run build && npm run test",
|
|
50
170
|
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
@@ -99,7 +219,11 @@
|
|
|
99
219
|
"email": "team@frame.dev"
|
|
100
220
|
},
|
|
101
221
|
"homepage": "https://framerslab.github.io/sql-storage-adapter/",
|
|
102
|
-
"sideEffects":
|
|
222
|
+
"sideEffects": [
|
|
223
|
+
"./dist/adapters/electron/preload.js",
|
|
224
|
+
"./dist/adapters/electron/preload.cjs",
|
|
225
|
+
"./dist/cjs/adapters/electron/preload.js"
|
|
226
|
+
],
|
|
103
227
|
"devDependencies": {
|
|
104
228
|
"@aws-sdk/client-s3": "^3.709.0",
|
|
105
229
|
"better-sqlite3": "^13.0.3",
|
|
@@ -129,7 +253,8 @@
|
|
|
129
253
|
"typescript-eslint": "^8.46.2",
|
|
130
254
|
"vitest": "^3.2.7",
|
|
131
255
|
"@vitest/browser": "^3.2.7",
|
|
132
|
-
"playwright": "~1.63.0"
|
|
256
|
+
"playwright": "~1.63.0",
|
|
257
|
+
"esbuild": "^0.28.2"
|
|
133
258
|
},
|
|
134
259
|
"dependencies": {
|
|
135
260
|
"pg": "^8.13.1",
|
|
@@ -137,7 +262,7 @@
|
|
|
137
262
|
},
|
|
138
263
|
"peerDependencies": {
|
|
139
264
|
"@aws-sdk/client-s3": "^3.0.0",
|
|
140
|
-
"@capacitor-community/sqlite": "^6.0.0",
|
|
265
|
+
"@capacitor-community/sqlite": "^6.0.0 || ^7.0.0 || ^8.0.0",
|
|
141
266
|
"better-sqlite3": "^12.0.0 || ^13.0.0",
|
|
142
267
|
"electron": ">=20.0.0",
|
|
143
268
|
"pg": "^8.13.1"
|