@luzzle/web.tools 0.0.85 → 0.0.87
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/src/commands/assets/command.d.ts +0 -1
- package/dist/src/commands/assets/command.js +3 -3
- package/dist/src/commands/assets/command.js.map +1 -1
- package/dist/src/commands/assets/index.d.ts +2 -2
- package/dist/src/commands/assets/index.js +4 -7
- package/dist/src/commands/assets/index.js.map +1 -1
- package/dist/src/commands/assets/index.test.js +40 -51
- package/dist/src/commands/assets/index.test.js.map +1 -1
- package/dist/src/commands/config/command.js +8 -6
- package/dist/src/commands/config/command.js.map +1 -1
- package/dist/src/commands/config/index.d.ts +3 -3
- package/dist/src/commands/config/index.js +10 -8
- package/dist/src/commands/config/index.js.map +1 -1
- package/dist/src/commands/config/index.test.js +16 -14
- package/dist/src/commands/config/index.test.js.map +1 -1
- package/dist/src/commands/opengraph/command.d.ts +0 -1
- package/dist/src/commands/opengraph/command.js +3 -3
- package/dist/src/commands/opengraph/command.js.map +1 -1
- package/dist/src/commands/opengraph/command.test.js +6 -3
- package/dist/src/commands/opengraph/command.test.js.map +1 -1
- package/dist/src/commands/opengraph/index.d.ts +2 -2
- package/dist/src/commands/opengraph/index.js +3 -7
- package/dist/src/commands/opengraph/index.js.map +1 -1
- package/dist/src/commands/opengraph/index.test.js +32 -34
- package/dist/src/commands/opengraph/index.test.js.map +1 -1
- package/dist/src/commands/sqlite/command.d.ts +0 -1
- package/dist/src/commands/sqlite/command.js +3 -2
- package/dist/src/commands/sqlite/command.js.map +1 -1
- package/dist/src/commands/sqlite/command.test.js +6 -2
- package/dist/src/commands/sqlite/command.test.js.map +1 -1
- package/dist/src/commands/sqlite/index.d.ts +2 -1
- package/dist/src/commands/sqlite/index.js +3 -7
- package/dist/src/commands/sqlite/index.js.map +1 -1
- package/dist/src/commands/sqlite/index.test.js +11 -11
- package/dist/src/commands/sqlite/index.test.js.map +1 -1
- package/dist/src/commands/sync/command.js +3 -2
- package/dist/src/commands/sync/command.js.map +1 -1
- package/dist/src/commands/sync/command.test.js +6 -2
- package/dist/src/commands/sync/command.test.js.map +1 -1
- package/dist/src/commands/sync/index.d.ts +2 -2
- package/dist/src/commands/sync/index.js +4 -7
- package/dist/src/commands/sync/index.js.map +1 -1
- package/dist/src/commands/sync/index.test.js +17 -20
- package/dist/src/commands/sync/index.test.js.map +1 -1
- package/dist/src/commands/theme/command.d.ts +0 -1
- package/dist/src/commands/theme/command.js +3 -2
- package/dist/src/commands/theme/command.js.map +1 -1
- package/dist/src/commands/theme/command.test.js +6 -4
- package/dist/src/commands/theme/command.test.js.map +1 -1
- package/dist/src/commands/theme/index.d.ts +2 -1
- package/dist/src/commands/theme/index.js +1 -3
- package/dist/src/commands/theme/index.js.map +1 -1
- package/dist/src/commands/theme/index.test.js +9 -8
- package/dist/src/commands/theme/index.test.js.map +1 -1
- package/dist/src/lib/config.d.ts +2 -0
- package/dist/src/lib/config.js +13 -0
- package/dist/src/lib/config.js.map +1 -0
- package/dist/src/lib/config.test.d.ts +1 -0
- package/dist/src/lib/config.test.js +42 -0
- package/dist/src/lib/config.test.js.map +1 -0
- package/dist/src/lib/database.d.ts +2 -0
- package/dist/src/lib/database.js +10 -0
- package/dist/src/lib/database.js.map +1 -0
- package/dist/src/lib/database.test.d.ts +1 -0
- package/dist/src/lib/database.test.js +36 -0
- package/dist/src/lib/database.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { describe, test, vi, afterEach, expect } from 'vitest';
|
|
2
2
|
import { getHandler, setHandler, validateHandler } from './index.js';
|
|
3
|
-
import { getConfigValue, setConfigValue
|
|
3
|
+
import { getConfigValue, setConfigValue } from '@luzzle/web.utils/server';
|
|
4
|
+
import { getConfig } from '../../lib/config.js';
|
|
4
5
|
import { writeFileSync } from 'fs';
|
|
5
6
|
import yaml from 'yaml';
|
|
6
7
|
vi.mock('@luzzle/web.utils/server');
|
|
8
|
+
vi.mock('../../lib/config.js');
|
|
7
9
|
vi.mock('fs');
|
|
8
10
|
vi.mock('yaml');
|
|
9
11
|
const mocks = {
|
|
10
12
|
getConfigValue: vi.mocked(getConfigValue),
|
|
11
13
|
setConfigValue: vi.mocked(setConfigValue),
|
|
12
|
-
|
|
14
|
+
getConfig: vi.mocked(getConfig),
|
|
13
15
|
writeFileSync: vi.mocked(writeFileSync),
|
|
14
16
|
yamlStringify: vi.spyOn(yaml, 'stringify')
|
|
15
17
|
};
|
|
@@ -20,45 +22,45 @@ describe('src/commands/config', () => {
|
|
|
20
22
|
});
|
|
21
23
|
describe('validateHandler', () => {
|
|
22
24
|
test('should log success when config is valid', () => {
|
|
23
|
-
mocks.
|
|
25
|
+
mocks.getConfig.mockReturnValue({});
|
|
24
26
|
spies.consoleLog = vi.spyOn(console, 'log').mockImplementation(() => { });
|
|
25
27
|
spies.processExit = vi.spyOn(process, 'exit').mockReturnValue(0);
|
|
26
28
|
validateHandler('test');
|
|
27
|
-
expect(mocks.
|
|
29
|
+
expect(mocks.getConfig).toHaveBeenCalledOnce();
|
|
28
30
|
expect(spies.consoleLog).toHaveBeenCalledOnce();
|
|
29
31
|
expect(spies.processExit).not.toHaveBeenCalled();
|
|
30
32
|
});
|
|
31
33
|
test('should log error and exit when config is invalid', () => {
|
|
32
|
-
mocks.
|
|
34
|
+
mocks.getConfig.mockImplementation(() => {
|
|
33
35
|
throw new Error('Invalid config');
|
|
34
36
|
});
|
|
35
37
|
spies.consoleError = vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
36
38
|
spies.processExit = vi.spyOn(process, 'exit').mockReturnValue(0);
|
|
37
39
|
validateHandler('test');
|
|
38
|
-
expect(mocks.
|
|
40
|
+
expect(mocks.getConfig).toHaveBeenCalledOnce();
|
|
39
41
|
expect(spies.consoleError).toHaveBeenCalledOnce();
|
|
40
42
|
expect(spies.processExit).toHaveBeenCalledWith(1);
|
|
41
43
|
});
|
|
42
44
|
});
|
|
43
45
|
describe('getHandler', () => {
|
|
44
46
|
test('should log the value when the path is valid', () => {
|
|
45
|
-
mocks.
|
|
47
|
+
mocks.getConfig.mockReturnValue({});
|
|
46
48
|
mocks.getConfigValue.mockReturnValue('test-value');
|
|
47
49
|
spies.consoleLog = vi.spyOn(console, 'log').mockImplementation(() => { });
|
|
48
50
|
getHandler('test', 'test.path');
|
|
49
|
-
expect(mocks.
|
|
51
|
+
expect(mocks.getConfig).toHaveBeenCalledOnce();
|
|
50
52
|
expect(mocks.getConfigValue).toHaveBeenCalledOnce();
|
|
51
53
|
expect(spies.consoleLog).toHaveBeenCalledOnce();
|
|
52
54
|
});
|
|
53
55
|
test('should log error and exit when the path is invalid', () => {
|
|
54
|
-
mocks.
|
|
56
|
+
mocks.getConfig.mockReturnValue({});
|
|
55
57
|
mocks.getConfigValue.mockImplementation(() => {
|
|
56
58
|
throw new Error('Invalid path');
|
|
57
59
|
});
|
|
58
60
|
spies.consoleError = vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
59
61
|
spies.processExit = vi.spyOn(process, 'exit').mockReturnValue(0);
|
|
60
62
|
getHandler('test', 'test.path');
|
|
61
|
-
expect(mocks.
|
|
63
|
+
expect(mocks.getConfig).toHaveBeenCalledOnce();
|
|
62
64
|
expect(mocks.getConfigValue).toHaveBeenCalledOnce();
|
|
63
65
|
expect(spies.consoleError).toHaveBeenCalledOnce();
|
|
64
66
|
expect(spies.processExit).toHaveBeenCalledWith(1);
|
|
@@ -66,24 +68,24 @@ describe('src/commands/config', () => {
|
|
|
66
68
|
});
|
|
67
69
|
describe('setHandler', () => {
|
|
68
70
|
test('should write the updated config to the file', () => {
|
|
69
|
-
mocks.
|
|
71
|
+
mocks.getConfig.mockReturnValue({ paths: { config: 'test' } });
|
|
70
72
|
mocks.yamlStringify.mockReturnValue('test-config');
|
|
71
73
|
spies.consoleLog = vi.spyOn(console, 'log').mockImplementation(() => { });
|
|
72
74
|
setHandler('test', 'test.path', 'test-value');
|
|
73
|
-
expect(mocks.
|
|
75
|
+
expect(mocks.getConfig).toHaveBeenCalledOnce();
|
|
74
76
|
expect(mocks.setConfigValue).toHaveBeenCalledOnce();
|
|
75
77
|
expect(mocks.writeFileSync).toHaveBeenCalledOnce();
|
|
76
78
|
expect(spies.consoleLog).toHaveBeenCalledOnce();
|
|
77
79
|
});
|
|
78
80
|
test('should log error and exit when the value cannot be set', () => {
|
|
79
|
-
mocks.
|
|
81
|
+
mocks.getConfig.mockReturnValue({ paths: { config: 'test' } });
|
|
80
82
|
mocks.setConfigValue.mockImplementation(() => {
|
|
81
83
|
throw new Error('Invalid value');
|
|
82
84
|
});
|
|
83
85
|
spies.consoleError = vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
84
86
|
spies.processExit = vi.spyOn(process, 'exit').mockReturnValue(0);
|
|
85
87
|
setHandler('test', 'test.path', 'test-value');
|
|
86
|
-
expect(mocks.
|
|
88
|
+
expect(mocks.getConfig).toHaveBeenCalledOnce();
|
|
87
89
|
expect(mocks.setConfigValue).toHaveBeenCalledOnce();
|
|
88
90
|
expect(spies.consoleError).toHaveBeenCalledOnce();
|
|
89
91
|
expect(spies.processExit).toHaveBeenCalledWith(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/commands/config/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/commands/config/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import generateOpenGraphs from './index.js';
|
|
2
|
+
import { getConfig } from '../../lib/config.js';
|
|
2
3
|
export default function command(cli) {
|
|
3
4
|
return cli.command('opengraph', 'generate open graph images', function (yargs) {
|
|
4
5
|
const options = yargs.options({
|
|
5
6
|
config: {
|
|
6
7
|
type: 'string',
|
|
7
8
|
description: 'path to config.yaml',
|
|
8
|
-
demandOption: true,
|
|
9
9
|
},
|
|
10
10
|
out: {
|
|
11
11
|
type: 'string',
|
|
@@ -30,13 +30,13 @@ export default function command(cli) {
|
|
|
30
30
|
});
|
|
31
31
|
return options;
|
|
32
32
|
}, async function (argv) {
|
|
33
|
+
const config = getConfig(argv.config);
|
|
33
34
|
await generateOpenGraphs({
|
|
34
|
-
configPath: argv.config,
|
|
35
35
|
outputDir: argv.out,
|
|
36
36
|
host: argv.host,
|
|
37
37
|
id: argv.id,
|
|
38
38
|
force: argv.force,
|
|
39
|
-
});
|
|
39
|
+
}, config);
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/command.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/command.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,GAAS;IACxC,OAAO,GAAG,CAAC,OAAO,CACjB,WAAW,EACX,4BAA4B,EAC5B,UAAS,KAAK;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;aAClC;YACD,GAAG,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;gBAC1C,KAAK,EAAE,GAAG;gBACV,YAAY,EAAE,IAAI;aAClB;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC3D;YACD,EAAE,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gCAAgC;aAC7C;YACD,KAAK,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,oEAAoE;gBACjF,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG;aACV;SACD,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IACf,CAAC,EACD,KAAK,WAAU,IAAI;QAClB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAA4B,CAAC,CAAA;QAC3D,MAAM,kBAAkB,CACvB;YACC,SAAS,EAAE,IAAI,CAAC,GAAa;YAC7B,IAAI,EAAE,IAAI,CAAC,IAA0B;YACrC,EAAE,EAAE,IAAI,CAAC,EAAwB;YACjC,KAAK,EAAE,IAAI,CAAC,KAAgB;SAC5B,EACD,MAAM,CACN,CAAA;IACF,CAAC,CACD,CAAA;AACF,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { describe, test, expect, vi, afterEach } from 'vitest';
|
|
2
2
|
import command from './command.js';
|
|
3
3
|
import generateOpenGraphs from './index.js';
|
|
4
|
+
import { getConfig } from '../../lib/config.js';
|
|
4
5
|
vi.mock('./index.js');
|
|
6
|
+
vi.mock('../../lib/config.js');
|
|
5
7
|
const mocks = {
|
|
6
8
|
generateOpenGraphs: vi.mocked(generateOpenGraphs),
|
|
9
|
+
getConfig: vi.mocked(getConfig),
|
|
7
10
|
};
|
|
8
11
|
describe('opengraph command', () => {
|
|
9
12
|
afterEach(() => {
|
|
@@ -27,7 +30,6 @@ describe('opengraph command', () => {
|
|
|
27
30
|
config: {
|
|
28
31
|
type: 'string',
|
|
29
32
|
description: 'path to config.yaml',
|
|
30
|
-
demandOption: true,
|
|
31
33
|
},
|
|
32
34
|
out: {
|
|
33
35
|
type: 'string',
|
|
@@ -50,6 +52,8 @@ describe('opengraph command', () => {
|
|
|
50
52
|
alias: 'f',
|
|
51
53
|
},
|
|
52
54
|
});
|
|
55
|
+
const config = { url: { app: 'test-host' } };
|
|
56
|
+
mocks.getConfig.mockReturnValue(config);
|
|
53
57
|
await handler({
|
|
54
58
|
config: 'test',
|
|
55
59
|
out: 'test',
|
|
@@ -58,12 +62,11 @@ describe('opengraph command', () => {
|
|
|
58
62
|
force: true,
|
|
59
63
|
});
|
|
60
64
|
expect(mocks.generateOpenGraphs).toHaveBeenCalledWith({
|
|
61
|
-
configPath: 'test',
|
|
62
65
|
outputDir: 'test',
|
|
63
66
|
host: 'test-host',
|
|
64
67
|
id: 'test-id',
|
|
65
68
|
force: true,
|
|
66
|
-
});
|
|
69
|
+
}, config);
|
|
67
70
|
});
|
|
68
71
|
});
|
|
69
72
|
//# sourceMappingURL=command.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.test.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/command.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,kBAAkB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"command.test.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/command.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { type Config } from '@luzzle/web.utils';
|
|
1
2
|
type GenerateOpenGraphsOptions = {
|
|
2
|
-
configPath: string;
|
|
3
3
|
outputDir: string;
|
|
4
4
|
force?: boolean;
|
|
5
5
|
host?: string;
|
|
6
6
|
id?: string;
|
|
7
7
|
};
|
|
8
|
-
export default function generateOpenGraphs(options: GenerateOpenGraphsOptions): Promise<void>;
|
|
8
|
+
export default function generateOpenGraphs(options: GenerateOpenGraphsOptions, config: Config): Promise<void>;
|
|
9
9
|
export {};
|
|
@@ -2,14 +2,10 @@ import { getLastRunFor, setLastRunFor } from '../../lib/lastRun.js';
|
|
|
2
2
|
import { generatePngFromUrl } from './png.js';
|
|
3
3
|
import { getBrowser } from './browser.js';
|
|
4
4
|
import path from 'path';
|
|
5
|
-
import { getDatabaseClient } from '@luzzle/core';
|
|
6
|
-
import { loadConfig } from '@luzzle/web.utils/server';
|
|
7
5
|
import { getOpenGraphPath } from '@luzzle/web.utils';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const dbPath = path.join(configDir, config.paths.database);
|
|
12
|
-
const db = getDatabaseClient(dbPath);
|
|
6
|
+
import { getDatabase } from '../../lib/database.js';
|
|
7
|
+
export default async function generateOpenGraphs(options, config) {
|
|
8
|
+
const db = getDatabase(config);
|
|
13
9
|
const host = options.host || config.url.app;
|
|
14
10
|
const items = await db
|
|
15
11
|
.withTables()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAkB,gBAAgB,EAAe,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AASnD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAC/C,OAAkC,EAClC,MAAc;IAEd,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,EAAE;SACpB,UAAU,EAA6B;SACvC,UAAU,CAAC,YAAY,CAAC;SACxB,SAAS,EAAE;SACX,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;SAC/B,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;SACtB,OAAO,EAAE,CAAA;IAEX,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAA;IACpC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAA;IAC7B,MAAM,SAAS,GAAG,qBAAqB,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAEvF,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAA;IAClC,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAE3E,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,iBAAiB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,CAAA;QAExE,IAAI,iBAAiB,GAAG,OAAO,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBACvD,MAAM,GAAG,GAAG,GAAG,IAAI,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,uBAAuB,CAAA;gBAC/E,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;gBAElD,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YACtE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;YACjF,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;AACtB,CAAC"}
|
|
@@ -3,22 +3,24 @@ import generateOpenGraphs from './index.js';
|
|
|
3
3
|
import { getLastRunFor, setLastRunFor } from '../../lib/lastRun.js';
|
|
4
4
|
import { generatePngFromUrl } from './png.js';
|
|
5
5
|
import { getBrowser } from './browser.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { Pieces, StorageFileSystem } from '@luzzle/core';
|
|
7
|
+
import { getConfig } from '../../lib/config.js';
|
|
8
|
+
import { getDatabase } from '../../lib/database.js';
|
|
8
9
|
import { mockKysely } from '../sqlite/database.mock.js';
|
|
9
10
|
vi.mock('../../lib/lastRun.js');
|
|
10
11
|
vi.mock('./html.js');
|
|
11
12
|
vi.mock('./png.js');
|
|
12
13
|
vi.mock('./browser.js');
|
|
13
14
|
vi.mock('@luzzle/core');
|
|
14
|
-
vi.mock('
|
|
15
|
+
vi.mock('../../lib/config.js');
|
|
16
|
+
vi.mock('../../lib/database.js');
|
|
15
17
|
const mocks = {
|
|
16
18
|
getLastRunFor: vi.mocked(getLastRunFor),
|
|
17
19
|
setLastRunFor: vi.mocked(setLastRunFor),
|
|
18
20
|
generatePngFromUrl: vi.mocked(generatePngFromUrl),
|
|
19
21
|
getBrowser: vi.mocked(getBrowser),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
getDatabase: vi.mocked(getDatabase),
|
|
23
|
+
getConfig: vi.mocked(getConfig),
|
|
22
24
|
StorageFileSystem: vi.mocked(StorageFileSystem),
|
|
23
25
|
Pieces: vi.mocked(Pieces),
|
|
24
26
|
};
|
|
@@ -33,8 +35,9 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
33
35
|
const { db, queries } = mockKysely();
|
|
34
36
|
const browser = { close: vi.fn() };
|
|
35
37
|
const url = 'http://localhost';
|
|
36
|
-
|
|
37
|
-
mocks.
|
|
38
|
+
const config = { paths: { database: 'test' }, url: { app: url } };
|
|
39
|
+
mocks.getConfig.mockReturnValue(config);
|
|
40
|
+
mocks.getDatabase.mockReturnValue(db);
|
|
38
41
|
vi.spyOn(queries, 'execute').mockResolvedValue([
|
|
39
42
|
{
|
|
40
43
|
id: '1',
|
|
@@ -47,12 +50,10 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
47
50
|
mocks.getBrowser.mockResolvedValue(browser);
|
|
48
51
|
mocks.generatePngFromUrl.mockResolvedValue(Buffer.from('test'));
|
|
49
52
|
await generateOpenGraphs({
|
|
50
|
-
configPath: 'test',
|
|
51
53
|
outputDir: 'test',
|
|
52
54
|
host: 'test',
|
|
53
|
-
});
|
|
54
|
-
expect(mocks.
|
|
55
|
-
expect(mocks.getDatabaseClient).toHaveBeenCalledOnce();
|
|
55
|
+
}, config);
|
|
56
|
+
expect(mocks.getDatabase).toHaveBeenCalledOnce();
|
|
56
57
|
expect(mocks.getLastRunFor).toHaveBeenCalledOnce();
|
|
57
58
|
expect(mocks.getBrowser).toHaveBeenCalledOnce();
|
|
58
59
|
expect(mocks.generatePngFromUrl).toHaveBeenCalledWith(expect.any(String), browser, 'test/test/1/opengraph.png');
|
|
@@ -63,8 +64,9 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
63
64
|
const { db, queries } = mockKysely();
|
|
64
65
|
const browser = { close: vi.fn() };
|
|
65
66
|
const url = 'http://localhost';
|
|
66
|
-
|
|
67
|
-
mocks.
|
|
67
|
+
const config = { paths: { database: 'test' }, url: { app: url } };
|
|
68
|
+
mocks.getConfig.mockReturnValue(config);
|
|
69
|
+
mocks.getDatabase.mockReturnValue(db);
|
|
68
70
|
vi.spyOn(queries, 'execute').mockResolvedValue([
|
|
69
71
|
{
|
|
70
72
|
id: '1',
|
|
@@ -76,10 +78,9 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
76
78
|
mocks.getLastRunFor.mockResolvedValue(new Date());
|
|
77
79
|
mocks.getBrowser.mockResolvedValue(browser);
|
|
78
80
|
await generateOpenGraphs({
|
|
79
|
-
configPath: 'test',
|
|
80
81
|
outputDir: 'test',
|
|
81
82
|
host: 'test',
|
|
82
|
-
});
|
|
83
|
+
}, config);
|
|
83
84
|
expect(mocks.generatePngFromUrl).not.toHaveBeenCalled();
|
|
84
85
|
expect(mocks.setLastRunFor).toHaveBeenCalledOnce();
|
|
85
86
|
});
|
|
@@ -87,11 +88,9 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
87
88
|
const { db, queries } = mockKysely();
|
|
88
89
|
const browser = { close: vi.fn() };
|
|
89
90
|
const url = 'http://localhost';
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
});
|
|
94
|
-
mocks.getDatabaseClient.mockReturnValue(db);
|
|
91
|
+
const config = { paths: { database: 'test' }, url: { app: url } };
|
|
92
|
+
mocks.getConfig.mockReturnValue(config);
|
|
93
|
+
mocks.getDatabase.mockReturnValue(db);
|
|
95
94
|
vi.spyOn(queries, 'execute').mockResolvedValue([
|
|
96
95
|
{
|
|
97
96
|
id: '1',
|
|
@@ -103,11 +102,10 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
103
102
|
mocks.getLastRunFor.mockResolvedValue(new Date());
|
|
104
103
|
mocks.getBrowser.mockResolvedValue(browser);
|
|
105
104
|
await generateOpenGraphs({
|
|
106
|
-
configPath: 'test',
|
|
107
105
|
outputDir: 'test',
|
|
108
106
|
host: 'test',
|
|
109
107
|
force: true,
|
|
110
|
-
});
|
|
108
|
+
}, config);
|
|
111
109
|
expect(mocks.generatePngFromUrl).toHaveBeenCalledOnce();
|
|
112
110
|
expect(mocks.setLastRunFor).toHaveBeenCalledOnce();
|
|
113
111
|
});
|
|
@@ -116,8 +114,9 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
116
114
|
const { db, queries } = mockKysely();
|
|
117
115
|
const browser = { close: vi.fn() };
|
|
118
116
|
const url = 'http://localhost';
|
|
119
|
-
|
|
120
|
-
mocks.
|
|
117
|
+
const config = { paths: { database: 'test' }, url: { app: url } };
|
|
118
|
+
mocks.getConfig.mockReturnValue(config);
|
|
119
|
+
mocks.getDatabase.mockReturnValue(db);
|
|
121
120
|
vi.spyOn(queries, 'execute').mockResolvedValue([
|
|
122
121
|
{
|
|
123
122
|
id: '1',
|
|
@@ -130,10 +129,9 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
130
129
|
mocks.getBrowser.mockResolvedValue(browser);
|
|
131
130
|
mocks.generatePngFromUrl.mockRejectedValue(new Error('Test error'));
|
|
132
131
|
await generateOpenGraphs({
|
|
133
|
-
configPath: 'test',
|
|
134
132
|
outputDir: 'test',
|
|
135
133
|
host: 'test',
|
|
136
|
-
});
|
|
134
|
+
}, config);
|
|
137
135
|
expect(consoleErrorSpy).toHaveBeenCalledOnce();
|
|
138
136
|
expect(browser.close).toHaveBeenCalledOnce();
|
|
139
137
|
});
|
|
@@ -141,8 +139,9 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
141
139
|
const { db, queries } = mockKysely();
|
|
142
140
|
const browser = { close: vi.fn() };
|
|
143
141
|
const url = 'http://localhost';
|
|
144
|
-
|
|
145
|
-
mocks.
|
|
142
|
+
const config = { paths: { database: 'test' }, url: { app: url } };
|
|
143
|
+
mocks.getConfig.mockReturnValue(config);
|
|
144
|
+
mocks.getDatabase.mockReturnValue(db);
|
|
146
145
|
vi.spyOn(queries, 'execute').mockResolvedValue([
|
|
147
146
|
{
|
|
148
147
|
id: '1',
|
|
@@ -155,17 +154,17 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
155
154
|
mocks.getLastRunFor.mockResolvedValue(new Date(0));
|
|
156
155
|
mocks.getBrowser.mockResolvedValue(browser);
|
|
157
156
|
await generateOpenGraphs({
|
|
158
|
-
configPath: 'test',
|
|
159
157
|
outputDir: 'test',
|
|
160
|
-
});
|
|
158
|
+
}, config);
|
|
161
159
|
expect(mocks.generatePngFromUrl).toHaveBeenCalledWith('http://localhost/api/pieces/test/slug/opengraph?mode=local', browser, expect.any(String));
|
|
162
160
|
});
|
|
163
161
|
test('should not call setLastRunFor when id is provided', async () => {
|
|
164
162
|
const { db, queries } = mockKysely();
|
|
165
163
|
const browser = { close: vi.fn() };
|
|
166
164
|
const url = 'http://localhost';
|
|
167
|
-
|
|
168
|
-
mocks.
|
|
165
|
+
const config = { paths: { database: 'test' }, url: { app: url } };
|
|
166
|
+
mocks.getConfig.mockReturnValue(config);
|
|
167
|
+
mocks.getDatabase.mockReturnValue(db);
|
|
169
168
|
vi.spyOn(queries, 'execute').mockResolvedValue([
|
|
170
169
|
{
|
|
171
170
|
id: '1',
|
|
@@ -177,11 +176,10 @@ describe('commands/opengraph/index.ts', () => {
|
|
|
177
176
|
mocks.getLastRunFor.mockResolvedValue(new Date());
|
|
178
177
|
mocks.getBrowser.mockResolvedValue(browser);
|
|
179
178
|
await generateOpenGraphs({
|
|
180
|
-
configPath: 'test',
|
|
181
179
|
outputDir: 'test',
|
|
182
180
|
host: 'test',
|
|
183
181
|
id: '1',
|
|
184
|
-
});
|
|
182
|
+
}, config);
|
|
185
183
|
expect(mocks.setLastRunFor).not.toHaveBeenCalled();
|
|
186
184
|
});
|
|
187
185
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,kBAAkB,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/commands/opengraph/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import generateSqlite from './index.js';
|
|
2
|
+
import { getConfig } from '../../lib/config.js';
|
|
2
3
|
export default function command(cli) {
|
|
3
4
|
return cli.command('sqlite', 'generate sqlite database for web', function (yargs) {
|
|
4
5
|
const options = yargs.options({
|
|
5
6
|
config: {
|
|
6
7
|
type: 'string',
|
|
7
8
|
description: 'path to config.yaml',
|
|
8
|
-
demandOption: true,
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
return options;
|
|
12
12
|
}, async function (argv) {
|
|
13
|
-
|
|
13
|
+
const config = getConfig(argv.config);
|
|
14
|
+
await generateSqlite(config);
|
|
14
15
|
});
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/commands/sqlite/command.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/commands/sqlite/command.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,GAAS;IACxC,OAAO,GAAG,CAAC,OAAO,CACjB,QAAQ,EACR,kCAAkC,EAClC,UAAS,KAAK;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;aAClC;SACD,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IACf,CAAC,EACD,KAAK,WAAU,IAAI;QAClB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAA4B,CAAC,CAAA;QAC3D,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC,CACD,CAAA;AACF,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { describe, test, expect, vi, afterEach } from 'vitest';
|
|
2
2
|
import command from './command.js';
|
|
3
3
|
import generateSqlite from './index.js';
|
|
4
|
+
import { getConfig } from '../../lib/config.js';
|
|
4
5
|
vi.mock('./index.js');
|
|
6
|
+
vi.mock('../../lib/config.js');
|
|
5
7
|
const mocks = {
|
|
6
8
|
generateSqlite: vi.mocked(generateSqlite),
|
|
9
|
+
getConfig: vi.mocked(getConfig),
|
|
7
10
|
};
|
|
8
11
|
describe('sqlite command', () => {
|
|
9
12
|
afterEach(() => {
|
|
@@ -27,16 +30,17 @@ describe('sqlite command', () => {
|
|
|
27
30
|
config: {
|
|
28
31
|
type: 'string',
|
|
29
32
|
description: 'path to config.yaml',
|
|
30
|
-
demandOption: true,
|
|
31
33
|
},
|
|
32
34
|
});
|
|
35
|
+
const config = { paths: { database: 'test' } };
|
|
36
|
+
mocks.getConfig.mockReturnValue(config);
|
|
33
37
|
const argv = {
|
|
34
38
|
config: '/path/to/config.yaml',
|
|
35
39
|
$0: '',
|
|
36
40
|
_: [],
|
|
37
41
|
};
|
|
38
42
|
await handler(argv);
|
|
39
|
-
expect(mocks.generateSqlite).toHaveBeenCalledWith(
|
|
43
|
+
expect(mocks.generateSqlite).toHaveBeenCalledWith(config);
|
|
40
44
|
});
|
|
41
45
|
});
|
|
42
46
|
//# sourceMappingURL=command.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.test.js","sourceRoot":"","sources":["../../../../src/commands/sqlite/command.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,cAAc,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"command.test.js","sourceRoot":"","sources":["../../../../src/commands/sqlite/command.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,cAAc,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AACrB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;AAE9B,MAAM,KAAK,GAAG;IACb,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;IACzC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,SAAS,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QACvB,MAAM,GAAG,GAAG;YACX,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;gBAC7B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;gBAC7B,OAAO,GAAG,CAAA;YACX,CAAC,CAAC;SACF,CAAA;QAED,OAAO,CAAC,GAAsB,CAAC,CAAA;QAE/B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,oBAAoB,CACvC,QAAQ,EACR,kCAAkC,EAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CACpB,CAAA;QAED,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;QACtC,OAAO,CAAC,SAAS,CAAC,CAAA;QAClB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;YAC9C,MAAM,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;aAClC;SACD,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAY,CAAA;QACxD,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAEvC,MAAM,IAAI,GAAG;YACZ,MAAM,EAAE,sBAAsB;YAC9B,EAAE,EAAE,EAAE;YACN,CAAC,EAAE,EAAE;SACL,CAAA;QACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;QAEnB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Config } from '@luzzle/web.utils';
|
|
2
|
+
export default function generateWebSqlite(config: Config): Promise<void>;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { getDatabaseClient } from '@luzzle/core';
|
|
2
1
|
import { dropWebTables, createWebTables, populateWebPieceTags, populateWebPieceItems, populateWebPieceSearch, } from './database.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const config = loadConfig(configPath);
|
|
7
|
-
const dbPath = path.join(path.dirname(configPath), config.paths.database);
|
|
8
|
-
const db = getDatabaseClient(dbPath);
|
|
2
|
+
import { getDatabase } from '../../lib/database.js';
|
|
3
|
+
export default async function generateWebSqlite(config) {
|
|
4
|
+
const db = getDatabase(config);
|
|
9
5
|
await dropWebTables(db);
|
|
10
6
|
await createWebTables(db);
|
|
11
7
|
await populateWebPieceItems(db, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc;IAC7D,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC9B,MAAM,aAAa,CAAC,EAAE,CAAC,CAAA;IACvB,MAAM,eAAe,CAAC,EAAE,CAAC,CAAA;IAEzB,MAAM,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACvC,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAA;IAEhC,MAAM,MAAM,GAAG,MAAM,EAAE;SACrB,UAAU,EAA6B;SACvC,UAAU,CAAC,YAAY,CAAC;SACxB,SAAS,EAAE;SACX,OAAO,EAAE,CAAA;IAEX,MAAM,IAAI,GAAG,MAAM,EAAE;SACnB,UAAU,EAAkC;SAC5C,UAAU,CAAC,iBAAiB,CAAC;SAC7B,SAAS,EAAE;SACX,OAAO,EAAE,CAAA;IAEX,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,QAAQ,MAAM,CAAC,MAAM,eAAe,IAAI,CAAC,MAAM,OAAO,CAAC,CAAA;AAC5F,CAAC"}
|