wn-turso 0.1.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/LICENSE +21 -0
- package/dist/adapters/adapter.d.ts +53 -0
- package/dist/adapters/adapter.d.ts.map +1 -0
- package/dist/adapters/adapter.js +4 -0
- package/dist/adapters/embedded-adapter.d.ts +24 -0
- package/dist/adapters/embedded-adapter.d.ts.map +1 -0
- package/dist/adapters/embedded-adapter.js +78 -0
- package/dist/adapters/index.d.ts +7 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +5 -0
- package/dist/adapters/remote-adapter.d.ts +21 -0
- package/dist/adapters/remote-adapter.d.ts.map +1 -0
- package/dist/adapters/remote-adapter.js +49 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +61 -0
- package/dist/config.d.ts +77 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +37 -0
- package/dist/database/index.d.ts +10 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +8 -0
- package/dist/database/kysely-query-service.d.ts +32 -0
- package/dist/database/kysely-query-service.d.ts.map +1 -0
- package/dist/database/kysely-query-service.js +39 -0
- package/dist/database/turso-connection.d.ts +15 -0
- package/dist/database/turso-connection.d.ts.map +1 -0
- package/dist/database/turso-connection.js +29 -0
- package/dist/database/turso-database.d.ts +49 -0
- package/dist/database/turso-database.d.ts.map +1 -0
- package/dist/database/turso-database.js +124 -0
- package/dist/database/turso-dialect.d.ts +16 -0
- package/dist/database/turso-dialect.d.ts.map +1 -0
- package/dist/database/turso-dialect.js +25 -0
- package/dist/database/turso-driver.d.ts +25 -0
- package/dist/database/turso-driver.d.ts.map +1 -0
- package/dist/database/turso-driver.js +43 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/pipeline/index.d.ts +10 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +13 -0
- package/dist/pipeline/operators.d.ts +65 -0
- package/dist/pipeline/operators.d.ts.map +1 -0
- package/dist/pipeline/operators.js +174 -0
- package/dist/pipeline/pipeline-builder.d.ts +107 -0
- package/dist/pipeline/pipeline-builder.d.ts.map +1 -0
- package/dist/pipeline/pipeline-builder.js +181 -0
- package/dist/pipeline/sink.d.ts +22 -0
- package/dist/pipeline/sink.d.ts.map +1 -0
- package/dist/pipeline/sink.js +63 -0
- package/dist/pipeline/source.d.ts +20 -0
- package/dist/pipeline/source.d.ts.map +1 -0
- package/dist/pipeline/source.js +66 -0
- package/dist/pipeline/streams.d.ts +18 -0
- package/dist/pipeline/streams.d.ts.map +1 -0
- package/dist/pipeline/streams.js +115 -0
- package/dist/pipeline/types.d.ts +86 -0
- package/dist/pipeline/types.d.ts.map +1 -0
- package/dist/pipeline/types.js +4 -0
- package/dist/wordnet/index.d.ts +5 -0
- package/dist/wordnet/index.d.ts.map +1 -0
- package/dist/wordnet/index.js +4 -0
- package/dist/wordnet/turso-wordnet.d.ts +85 -0
- package/dist/wordnet/turso-wordnet.d.ts.map +1 -0
- package/dist/wordnet/turso-wordnet.js +107 -0
- package/package.json +80 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pipeline types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Pipeline result after transfer
|
|
6
|
+
*/
|
|
7
|
+
export interface PipelineResult {
|
|
8
|
+
/** Total rows processed */
|
|
9
|
+
processed: number;
|
|
10
|
+
/** Rows successfully inserted */
|
|
11
|
+
inserted: number;
|
|
12
|
+
/** Rows skipped (filtered out or null from transform) */
|
|
13
|
+
skipped: number;
|
|
14
|
+
/** Rows that failed */
|
|
15
|
+
errors: number;
|
|
16
|
+
/** Duration in milliseconds */
|
|
17
|
+
duration: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Progress callback for pipeline operations
|
|
21
|
+
*/
|
|
22
|
+
export interface PipelineProgress {
|
|
23
|
+
/** Current row number */
|
|
24
|
+
current: number;
|
|
25
|
+
/** Total rows (if known) */
|
|
26
|
+
total?: number;
|
|
27
|
+
/** Rows processed so far */
|
|
28
|
+
processed: number;
|
|
29
|
+
/** Rows skipped so far */
|
|
30
|
+
skipped: number;
|
|
31
|
+
/** Rows with errors so far */
|
|
32
|
+
errors: number;
|
|
33
|
+
}
|
|
34
|
+
export type ProgressCallback = (progress: PipelineProgress) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Pipeline source - reads data from a database
|
|
37
|
+
*/
|
|
38
|
+
export interface PipelineSource<T> {
|
|
39
|
+
/** Read rows as async iterable */
|
|
40
|
+
read(): AsyncIterable<T>;
|
|
41
|
+
/** Get total count (optional) */
|
|
42
|
+
count?(): Promise<number>;
|
|
43
|
+
/** Get source name for logging */
|
|
44
|
+
name?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Pipeline sink - writes data to a database
|
|
48
|
+
*/
|
|
49
|
+
export interface PipelineSink<T> {
|
|
50
|
+
/** Write rows from async iterable */
|
|
51
|
+
write(data: AsyncIterable<T>): Promise<PipelineResult>;
|
|
52
|
+
/** Get sink name for logging */
|
|
53
|
+
name?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Options for creating a source
|
|
57
|
+
*/
|
|
58
|
+
export interface SourceOptions<T> {
|
|
59
|
+
/** Batch size for reading */
|
|
60
|
+
batchSize?: number;
|
|
61
|
+
/** Where clause modifier */
|
|
62
|
+
where?: (qb: any) => any;
|
|
63
|
+
/** Order by clause */
|
|
64
|
+
orderBy?: string;
|
|
65
|
+
/** Limit rows */
|
|
66
|
+
limit?: number;
|
|
67
|
+
/** Skip rows */
|
|
68
|
+
offset?: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Options for creating a sink
|
|
72
|
+
*/
|
|
73
|
+
export interface SinkOptions {
|
|
74
|
+
/** Batch size for writing */
|
|
75
|
+
batchSize?: number;
|
|
76
|
+
/** Conflict resolution strategy */
|
|
77
|
+
onConflict?: 'ignore' | 'replace' | 'error';
|
|
78
|
+
/** Progress callback */
|
|
79
|
+
onProgress?: ProgressCallback;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Operator function type
|
|
83
|
+
* Transforms an async iterable into another async iterable
|
|
84
|
+
*/
|
|
85
|
+
export type Operator<In, Out> = (input: AsyncIterable<In>) => AsyncIterable<Out>;
|
|
86
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,kCAAkC;IAClC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,iCAAiC;IACjC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,qCAAqC;IACrC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC;IACzB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,wBAAwB;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI,CAC9B,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,KACrB,aAAa,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wordnet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TursoWordnet - Main user-facing class for WordNet queries via Turso
|
|
3
|
+
*/
|
|
4
|
+
import type { Synset, Word, Sense, Lexicon, PartOfSpeech } from 'wn-ts-core';
|
|
5
|
+
import { TursoDatabase } from '../database/turso-database.js';
|
|
6
|
+
import type { TursoDatabaseConfig } from '../config.js';
|
|
7
|
+
export interface TursoWordnetOptions {
|
|
8
|
+
/** Enable verbose logging */
|
|
9
|
+
verbose?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* TursoWordnet provides a high-level interface for WordNet queries
|
|
13
|
+
* using Turso as the database backend.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const wn = new TursoWordnet({
|
|
18
|
+
* url: 'libsql://db-org.turso.io',
|
|
19
|
+
* authToken: process.env.TURSO_AUTH_TOKEN,
|
|
20
|
+
* mode: 'remote',
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* await wn.initialize();
|
|
24
|
+
* const synsets = await wn.synsets({ form: 'computer', language: 'en' });
|
|
25
|
+
* await wn.close();
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class TursoWordnet {
|
|
29
|
+
private database?;
|
|
30
|
+
private config;
|
|
31
|
+
private options;
|
|
32
|
+
constructor(config: TursoDatabaseConfig, options?: TursoWordnetOptions);
|
|
33
|
+
/**
|
|
34
|
+
* Initialize the WordNet connection
|
|
35
|
+
*/
|
|
36
|
+
initialize(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Query synsets
|
|
39
|
+
*/
|
|
40
|
+
synsets(options?: {
|
|
41
|
+
form?: string;
|
|
42
|
+
pos?: PartOfSpeech;
|
|
43
|
+
language?: string;
|
|
44
|
+
}): Promise<Synset[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Query words
|
|
47
|
+
*/
|
|
48
|
+
words(options?: {
|
|
49
|
+
form?: string;
|
|
50
|
+
pos?: PartOfSpeech;
|
|
51
|
+
language?: string;
|
|
52
|
+
}): Promise<Word[]>;
|
|
53
|
+
/**
|
|
54
|
+
* Query senses
|
|
55
|
+
*/
|
|
56
|
+
senses(options?: {
|
|
57
|
+
wordIdOrForm?: string;
|
|
58
|
+
}): Promise<Sense[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Get all lexicons
|
|
61
|
+
*/
|
|
62
|
+
lexicons(): Promise<Lexicon[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Get lemmas for a synset
|
|
65
|
+
*/
|
|
66
|
+
getSynsetLemmas(synsetId: string): Promise<string[]>;
|
|
67
|
+
/**
|
|
68
|
+
* Sync embedded replica with remote (only for embedded mode)
|
|
69
|
+
*/
|
|
70
|
+
sync(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Check if initialized
|
|
73
|
+
*/
|
|
74
|
+
isInitialized(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Close the connection
|
|
77
|
+
*/
|
|
78
|
+
close(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Get the underlying database instance
|
|
81
|
+
*/
|
|
82
|
+
getDatabase(): TursoDatabase;
|
|
83
|
+
private getQueryService;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=turso-wordnet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turso-wordnet.d.ts","sourceRoot":"","sources":["../../src/wordnet/turso-wordnet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAsB;gBAEzB,MAAM,EAAE,mBAAmB,EAAE,OAAO,GAAE,mBAAwB;IAK1E;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACG,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,YAAY,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrB;;OAEG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,YAAY,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAInB;;OAEG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIpB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIpC;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO1D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACH,WAAW,IAAI,aAAa;IAO5B,OAAO,CAAC,eAAe;CAMxB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TursoWordnet - Main user-facing class for WordNet queries via Turso
|
|
3
|
+
*/
|
|
4
|
+
import { TursoDatabase } from '../database/turso-database.js';
|
|
5
|
+
/**
|
|
6
|
+
* TursoWordnet provides a high-level interface for WordNet queries
|
|
7
|
+
* using Turso as the database backend.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const wn = new TursoWordnet({
|
|
12
|
+
* url: 'libsql://db-org.turso.io',
|
|
13
|
+
* authToken: process.env.TURSO_AUTH_TOKEN,
|
|
14
|
+
* mode: 'remote',
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* await wn.initialize();
|
|
18
|
+
* const synsets = await wn.synsets({ form: 'computer', language: 'en' });
|
|
19
|
+
* await wn.close();
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class TursoWordnet {
|
|
23
|
+
database;
|
|
24
|
+
config;
|
|
25
|
+
options;
|
|
26
|
+
constructor(config, options = {}) {
|
|
27
|
+
this.config = config;
|
|
28
|
+
this.options = options;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Initialize the WordNet connection
|
|
32
|
+
*/
|
|
33
|
+
async initialize() {
|
|
34
|
+
this.database = new TursoDatabase(this.config);
|
|
35
|
+
await this.database.initialize();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Query synsets
|
|
39
|
+
*/
|
|
40
|
+
async synsets(options) {
|
|
41
|
+
return this.getQueryService().getSynsets(options);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Query words
|
|
45
|
+
*/
|
|
46
|
+
async words(options) {
|
|
47
|
+
return this.getQueryService().getWords(options);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Query senses
|
|
51
|
+
*/
|
|
52
|
+
async senses(options) {
|
|
53
|
+
return this.getQueryService().getSenses(options);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get all lexicons
|
|
57
|
+
*/
|
|
58
|
+
async lexicons() {
|
|
59
|
+
return this.getQueryService().getLexicons();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get lemmas for a synset
|
|
63
|
+
*/
|
|
64
|
+
async getSynsetLemmas(synsetId) {
|
|
65
|
+
const words = await this.getQueryService().getWordsBySynsetAndLanguage(synsetId);
|
|
66
|
+
return words.map((w) => w.lemma);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Sync embedded replica with remote (only for embedded mode)
|
|
70
|
+
*/
|
|
71
|
+
async sync() {
|
|
72
|
+
if (!this.database) {
|
|
73
|
+
throw new Error('Not initialized');
|
|
74
|
+
}
|
|
75
|
+
await this.database.sync();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Check if initialized
|
|
79
|
+
*/
|
|
80
|
+
isInitialized() {
|
|
81
|
+
return this.database?.isInitialized() ?? false;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Close the connection
|
|
85
|
+
*/
|
|
86
|
+
async close() {
|
|
87
|
+
if (this.database) {
|
|
88
|
+
await this.database.close();
|
|
89
|
+
this.database = undefined;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the underlying database instance
|
|
94
|
+
*/
|
|
95
|
+
getDatabase() {
|
|
96
|
+
if (!this.database) {
|
|
97
|
+
throw new Error('Not initialized');
|
|
98
|
+
}
|
|
99
|
+
return this.database;
|
|
100
|
+
}
|
|
101
|
+
getQueryService() {
|
|
102
|
+
if (!this.database) {
|
|
103
|
+
throw new Error('Not initialized');
|
|
104
|
+
}
|
|
105
|
+
return this.database.getQueryService();
|
|
106
|
+
}
|
|
107
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "wn-turso",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Turso/libsql database backend and data pipeline utilities for WordNet",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./database": {
|
|
15
|
+
"types": "./dist/database/index.d.ts",
|
|
16
|
+
"import": "./dist/database/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./adapters": {
|
|
19
|
+
"types": "./dist/adapters/index.d.ts",
|
|
20
|
+
"import": "./dist/adapters/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./pipeline": {
|
|
23
|
+
"types": "./dist/pipeline/index.d.ts",
|
|
24
|
+
"import": "./dist/pipeline/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./config": {
|
|
27
|
+
"types": "./dist/config.d.ts",
|
|
28
|
+
"import": "./dist/config.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"bin": {
|
|
32
|
+
"wn-turso": "./dist/cli/index.js"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist",
|
|
36
|
+
"README.md"
|
|
37
|
+
],
|
|
38
|
+
"keywords": [
|
|
39
|
+
"wordnet",
|
|
40
|
+
"turso",
|
|
41
|
+
"libsql",
|
|
42
|
+
"sqlite",
|
|
43
|
+
"serverless",
|
|
44
|
+
"edge",
|
|
45
|
+
"database",
|
|
46
|
+
"pipeline",
|
|
47
|
+
"etl"
|
|
48
|
+
],
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@libsql/client": "^0.14.0",
|
|
51
|
+
"kysely": "^0.28.3",
|
|
52
|
+
"wn-ts-core": "0.6.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/node": "^20.10.0",
|
|
56
|
+
"rimraf": "^5.0.0",
|
|
57
|
+
"typescript": "5.8.3",
|
|
58
|
+
"vitest": "3.2.4"
|
|
59
|
+
},
|
|
60
|
+
"engines": {
|
|
61
|
+
"node": ">=18"
|
|
62
|
+
},
|
|
63
|
+
"repository": {
|
|
64
|
+
"type": "git",
|
|
65
|
+
"url": "https://github.com/fustilio/wordnet-playground.git",
|
|
66
|
+
"directory": "packages/wn-turso"
|
|
67
|
+
},
|
|
68
|
+
"license": "MIT",
|
|
69
|
+
"scripts": {
|
|
70
|
+
"build": "tsc",
|
|
71
|
+
"dev": "tsc --watch",
|
|
72
|
+
"clean": "rimraf dist",
|
|
73
|
+
"prebuild": "pnpm run clean",
|
|
74
|
+
"postbuild": "node scripts/make-executable.cjs",
|
|
75
|
+
"typecheck": "tsc --noEmit",
|
|
76
|
+
"test": "vitest run",
|
|
77
|
+
"test:watch": "vitest",
|
|
78
|
+
"test:e2e": "vitest run tests/e2e"
|
|
79
|
+
}
|
|
80
|
+
}
|