@lenne.tech/cli 1.6.7 → 1.6.8

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.
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const path_1 = require("path");
13
+ /**
14
+ * Remove a Directus Docker instance
15
+ */
16
+ const NewCommand = {
17
+ alias: ['rm'],
18
+ description: 'Remove Directus instance',
19
+ hidden: false,
20
+ name: 'remove',
21
+ run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
22
+ var _a, _b, _c;
23
+ const { config, filesystem, parameters, print: { error, info, spin, success, warning }, prompt, system, } = toolbox;
24
+ // Load configuration
25
+ const ltConfig = config.loadConfig();
26
+ // Determine noConfirm
27
+ const noConfirm = config.getNoConfirm({
28
+ cliValue: parameters.options.noConfirm,
29
+ commandConfig: (_b = (_a = ltConfig === null || ltConfig === void 0 ? void 0 : ltConfig.commands) === null || _a === void 0 ? void 0 : _a.directus) === null || _b === void 0 ? void 0 : _b.remove,
30
+ config: ltConfig,
31
+ });
32
+ // Get instance name from argument or prompt
33
+ const cliName = parameters.first;
34
+ let instanceName;
35
+ const directusBaseDir = (0, path_1.join)(filesystem.homedir(), '.lt', 'directus');
36
+ // Check if directus directory exists
37
+ if (!filesystem.exists(directusBaseDir)) {
38
+ error('No Directus instances found.');
39
+ return;
40
+ }
41
+ // Get list of existing instances
42
+ const instances = ((_c = filesystem
43
+ .list(directusBaseDir)) === null || _c === void 0 ? void 0 : _c.filter((item) => filesystem.isDirectory((0, path_1.join)(directusBaseDir, item)))) || [];
44
+ if (instances.length === 0) {
45
+ error('No Directus instances found.');
46
+ return;
47
+ }
48
+ if (cliName) {
49
+ instanceName = cliName;
50
+ }
51
+ else if (noConfirm) {
52
+ error('Instance name is required (provide as first argument)');
53
+ return;
54
+ }
55
+ else {
56
+ // Show available instances for selection
57
+ info('Available instances:');
58
+ instances.forEach((instance) => {
59
+ info(` - ${instance}`);
60
+ });
61
+ info('');
62
+ const nameResponse = yield prompt.ask({
63
+ message: 'Enter instance name to remove:',
64
+ name: 'name',
65
+ type: 'input',
66
+ });
67
+ instanceName = nameResponse.name;
68
+ }
69
+ if (!instanceName) {
70
+ error('Instance name is required!');
71
+ return;
72
+ }
73
+ const instanceDir = (0, path_1.join)(directusBaseDir, instanceName);
74
+ // Check if instance exists
75
+ if (!filesystem.exists(instanceDir)) {
76
+ error(`Instance "${instanceName}" not found.`);
77
+ info('Available instances:');
78
+ instances.forEach((instance) => {
79
+ info(` - ${instance}`);
80
+ });
81
+ return;
82
+ }
83
+ // Confirm deletion
84
+ if (!noConfirm) {
85
+ warning(`This will permanently delete instance "${instanceName}" and all its data!`);
86
+ const shouldDelete = yield prompt.confirm('Are you sure you want to continue?');
87
+ if (!shouldDelete) {
88
+ info('Operation cancelled.');
89
+ return;
90
+ }
91
+ }
92
+ // Stop and remove containers
93
+ const composePath = (0, path_1.join)(instanceDir, 'docker-compose.yml');
94
+ if (filesystem.exists(composePath)) {
95
+ const stopSpin = spin('Stopping and removing containers');
96
+ try {
97
+ yield system.run(`cd ${instanceDir} && docker-compose down -v`);
98
+ stopSpin.succeed();
99
+ }
100
+ catch (stopError) {
101
+ stopSpin.fail('Failed to stop containers');
102
+ if (stopError instanceof Error) {
103
+ warning(stopError.message);
104
+ }
105
+ warning('Continuing with directory removal...');
106
+ }
107
+ }
108
+ // Remove instance directory
109
+ const removeSpin = spin('Removing instance directory');
110
+ try {
111
+ filesystem.remove(instanceDir);
112
+ removeSpin.succeed();
113
+ }
114
+ catch (removeError) {
115
+ removeSpin.fail('Failed to remove instance directory');
116
+ if (removeError instanceof Error) {
117
+ error(removeError.message);
118
+ }
119
+ return;
120
+ }
121
+ success(`Instance "${instanceName}" removed successfully!`);
122
+ // Exit if not running from menu
123
+ if (!toolbox.parameters.options.fromGluegunMenu) {
124
+ process.exit();
125
+ }
126
+ // For tests
127
+ return `removed directus instance ${instanceName}`;
128
+ }),
129
+ };
130
+ exports.default = NewCommand;
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2RpcmVjdHVzL3JlbW92ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBLCtCQUE0QjtBQUk1Qjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFtQjtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDYixXQUFXLEVBQUUsMEJBQTBCO0lBQ3ZDLE1BQU0sRUFBRSxLQUFLO0lBQ2IsSUFBSSxFQUFFLFFBQVE7SUFDZCxHQUFHLEVBQUUsQ0FBTyxPQUErQixFQUFFLEVBQUU7O1FBQzdDLE1BQU0sRUFDSixNQUFNLEVBQ04sVUFBVSxFQUNWLFVBQVUsRUFDVixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQzlDLE1BQU0sRUFDTixNQUFNLEdBQ1AsR0FBRyxPQUFPLENBQUM7UUFFWixxQkFBcUI7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXJDLHNCQUFzQjtRQUN0QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDdEMsYUFBYSxFQUFFLE1BQUEsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsUUFBUSwwQ0FBRSxRQUFRLDBDQUFFLE1BQU07WUFDbkQsTUFBTSxFQUFFLFFBQVE7U0FDakIsQ0FBQyxDQUFDO1FBRUgsNENBQTRDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxZQUFvQixDQUFDO1FBRXpCLE1BQU0sZUFBZSxHQUFHLElBQUEsV0FBSSxFQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFdEUscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDeEMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFFRCxpQ0FBaUM7UUFDakMsTUFBTSxTQUFTLEdBQUcsQ0FBQSxNQUFBLFVBQVU7YUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQ0FDcEIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUEsV0FBSSxFQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBRWhGLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztZQUN0QyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUM7YUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1lBQy9ELE9BQU87UUFDVCxDQUFDO2FBQU0sQ0FBQztZQUNOLHlDQUF5QztZQUN6QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM3QixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFVCxNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQW1CO2dCQUN0RCxPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsT0FBTzthQUNkLENBQUMsQ0FBQztZQUNILFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ25DLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDcEMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLFdBQUksRUFBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFeEQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDcEMsS0FBSyxDQUFDLGFBQWEsWUFBWSxjQUFjLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM3QixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELG1CQUFtQjtRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsMENBQTBDLFlBQVkscUJBQXFCLENBQUMsQ0FBQztZQUNyRixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUM3QixPQUFPO1lBQ1QsQ0FBQztRQUNILENBQUM7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBQSxXQUFJLEVBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDNUQsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDO2dCQUNILE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLFdBQVcsNEJBQTRCLENBQUMsQ0FBQztnQkFDaEUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLENBQUM7WUFBQyxPQUFPLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixRQUFRLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7Z0JBQzNDLElBQUksU0FBUyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUMvQixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM3QixDQUFDO2dCQUNELE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO1FBRUQsNEJBQTRCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQztZQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFBQyxPQUFPLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLFVBQVUsQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQztZQUN2RCxJQUFJLFdBQVcsWUFBWSxLQUFLLEVBQUUsQ0FBQztnQkFDakMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsYUFBYSxZQUFZLHlCQUF5QixDQUFDLENBQUM7UUFFNUQsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNoRCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztRQUVELFlBQVk7UUFDWixPQUFPLDZCQUE2QixZQUFZLEVBQUUsQ0FBQztJQUNyRCxDQUFDLENBQUE7Q0FDRixDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIn0=
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * Generate TypeScript types from Directus collections
14
+ */
15
+ const NewCommand = {
16
+ alias: ['t'],
17
+ description: 'Generate TypeScript types',
18
+ hidden: false,
19
+ name: 'typegen',
20
+ run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
21
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
22
+ // Retrieve the tools we need
23
+ const { config, parameters, print: { error, info, spin, success }, prompt, system, } = toolbox;
24
+ // Load configuration
25
+ const ltConfig = config.loadConfig();
26
+ // Parse CLI arguments
27
+ const cliUrl = parameters.options.url || parameters.options.u;
28
+ const cliToken = parameters.options.token || parameters.options.t;
29
+ const cliOutput = parameters.options.output || parameters.options.o;
30
+ // Determine noConfirm with priority: CLI > command > global > default
31
+ const noConfirm = config.getNoConfirm({
32
+ cliValue: parameters.options.noConfirm,
33
+ commandConfig: (_b = (_a = ltConfig === null || ltConfig === void 0 ? void 0 : ltConfig.commands) === null || _a === void 0 ? void 0 : _a.directus) === null || _b === void 0 ? void 0 : _b.typegen,
34
+ config: ltConfig,
35
+ });
36
+ // Get configuration values
37
+ const configUrl = (_e = (_d = (_c = ltConfig === null || ltConfig === void 0 ? void 0 : ltConfig.commands) === null || _c === void 0 ? void 0 : _c.directus) === null || _d === void 0 ? void 0 : _d.typegen) === null || _e === void 0 ? void 0 : _e.url;
38
+ const configToken = (_h = (_g = (_f = ltConfig === null || ltConfig === void 0 ? void 0 : ltConfig.commands) === null || _f === void 0 ? void 0 : _f.directus) === null || _g === void 0 ? void 0 : _g.typegen) === null || _h === void 0 ? void 0 : _h.token;
39
+ const configOutput = (_l = (_k = (_j = ltConfig === null || ltConfig === void 0 ? void 0 : ltConfig.commands) === null || _j === void 0 ? void 0 : _j.directus) === null || _k === void 0 ? void 0 : _k.typegen) === null || _l === void 0 ? void 0 : _l.output;
40
+ // Determine values with priority: CLI > config > default/interactive
41
+ let url;
42
+ let token;
43
+ let output;
44
+ if (cliUrl) {
45
+ url = cliUrl;
46
+ }
47
+ else if (configUrl) {
48
+ url = configUrl;
49
+ info(`Using Directus URL from lt.config: ${url}`);
50
+ }
51
+ else if (noConfirm) {
52
+ url = 'http://localhost:8055';
53
+ info(`Using default Directus URL: ${url}`);
54
+ }
55
+ else {
56
+ const urlResponse = yield prompt.ask({
57
+ initial: 'http://localhost:8055',
58
+ message: 'Enter Directus API URL:',
59
+ name: 'url',
60
+ type: 'input',
61
+ });
62
+ url = urlResponse.url;
63
+ }
64
+ if (!url) {
65
+ error('Directus URL is required!');
66
+ return;
67
+ }
68
+ if (cliToken) {
69
+ token = cliToken;
70
+ }
71
+ else if (configToken) {
72
+ token = configToken;
73
+ info('Using Directus token from lt.config');
74
+ }
75
+ else if (noConfirm) {
76
+ error('Directus token is required (use --token or configure in lt.config)!');
77
+ return;
78
+ }
79
+ else {
80
+ const tokenResponse = yield prompt.ask({
81
+ message: 'Enter Directus API token (needs Administrator permissions):',
82
+ name: 'token',
83
+ type: 'password',
84
+ });
85
+ token = tokenResponse.token;
86
+ }
87
+ if (!token) {
88
+ error('Directus token is required!');
89
+ return;
90
+ }
91
+ if (cliOutput) {
92
+ output = cliOutput;
93
+ }
94
+ else if (configOutput) {
95
+ output = configOutput;
96
+ info(`Using output path from lt.config: ${output}`);
97
+ }
98
+ else if (noConfirm) {
99
+ output = './directus-schema.ts';
100
+ info(`Using default output path: ${output}`);
101
+ }
102
+ else {
103
+ const outputResponse = yield prompt.ask({
104
+ initial: './directus-schema.ts',
105
+ message: 'Enter output file path:',
106
+ name: 'output',
107
+ type: 'input',
108
+ });
109
+ output = outputResponse.output;
110
+ }
111
+ if (!output) {
112
+ error('Output path is required!');
113
+ return;
114
+ }
115
+ // Check if directus-sdk-typegen is installed globally
116
+ const hasTypegen = system.which('directus-sdk-typegen');
117
+ let useGlobalTypegen = Boolean(hasTypegen);
118
+ if (!hasTypegen) {
119
+ info('directus-sdk-typegen is not installed globally.');
120
+ if (noConfirm) {
121
+ info('Installing directus-sdk-typegen globally...');
122
+ }
123
+ else {
124
+ const shouldInstall = yield prompt.confirm('Would you like to install directus-sdk-typegen globally?');
125
+ if (!shouldInstall) {
126
+ info('Using npx instead...');
127
+ useGlobalTypegen = false;
128
+ }
129
+ else {
130
+ const installSpin = spin('Installing directus-sdk-typegen');
131
+ yield system.run('npm install -g directus-sdk-typegen');
132
+ installSpin.succeed();
133
+ useGlobalTypegen = true;
134
+ }
135
+ }
136
+ }
137
+ // Generate types
138
+ const generateSpin = spin('Generating TypeScript types from Directus');
139
+ const command = useGlobalTypegen
140
+ ? `directus-sdk-typegen -u "${url}" -t "${token}" -o "${output}"`
141
+ : `npx directus-sdk-typegen -u "${url}" -t "${token}" -o "${output}"`;
142
+ try {
143
+ yield system.run(command);
144
+ generateSpin.succeed();
145
+ success(`TypeScript types generated successfully at ${output}`);
146
+ }
147
+ catch (err) {
148
+ generateSpin.fail();
149
+ error('Failed to generate types. Please check your URL and token.');
150
+ if (err instanceof Error) {
151
+ error(err.message);
152
+ }
153
+ return;
154
+ }
155
+ // Exit if not running from menu
156
+ if (!toolbox.parameters.options.fromGluegunMenu) {
157
+ process.exit();
158
+ }
159
+ // For tests
160
+ return `generated directus types at ${output}`;
161
+ }),
162
+ };
163
+ exports.default = NewCommand;
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWdlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9kaXJlY3R1cy90eXBlZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBSUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBbUI7SUFDakMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ1osV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxTQUFTO0lBQ2YsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFOztRQUM3Qyw2QkFBNkI7UUFDN0IsTUFBTSxFQUNKLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQ3JDLE1BQU0sRUFDTixNQUFNLEdBQ1AsR0FBRyxPQUFPLENBQUM7UUFFWixxQkFBcUI7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXJDLHNCQUFzQjtRQUN0QixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVwRSxzRUFBc0U7UUFDdEUsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUNwQyxRQUFRLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQ3RDLGFBQWEsRUFBRSxNQUFBLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJB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
@@ -77,7 +77,7 @@ const NewCommand = {
77
77
  const timer = startTimer();
78
78
  // Update
79
79
  const updateSpin = spin(`Update branch ${branch}`);
80
- yield run('git fetch && git pull');
80
+ yield run('git fetch && git pull --rebase');
81
81
  updateSpin.succeed();
82
82
  // Install npm packages (unless skipped)
83
83
  if (!skipInstall) {
@@ -95,4 +95,4 @@ const NewCommand = {
95
95
  }),
96
96
  };
97
97
  exports.default = NewCommand;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2dpdC91cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFJQTs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFtQjtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDYixXQUFXLEVBQUUsZUFBZTtJQUM1QixNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxRQUFRO0lBQ2QsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFOztRQUM3Qyw2QkFBNkI7UUFDN0IsTUFBTSxFQUNKLE1BQU0sRUFDTixHQUFHLEVBQ0gsTUFBTSxFQUNOLEdBQUcsRUFDSCxVQUFVLEVBQ1YsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQ3ZDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FDNUIsR0FBRyxPQUFPLENBQUM7UUFFWiwyQkFBMkI7UUFDM0IsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxRSxZQUFZO1FBQ1osSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBRUQscUJBQXFCO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGlCQUFpQixHQUFHLE1BQUEsTUFBQSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxRQUFRLDBDQUFFLEdBQUcsMENBQUUsTUFBTSwwQ0FBRSxXQUFXLENBQUM7UUFDdkUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQVUsUUFBUSxF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
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2dpdC91cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFJQTs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFtQjtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDYixXQUFXLEVBQUUsZUFBZTtJQUM1QixNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxRQUFRO0lBQ2QsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFOztRQUM3Qyw2QkFBNkI7UUFDN0IsTUFBTSxFQUNKLE1BQU0sRUFDTixHQUFHLEVBQ0gsTUFBTSxFQUNOLEdBQUcsRUFDSCxVQUFVLEVBQ1YsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQ3ZDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FDNUIsR0FBRyxPQUFPLENBQUM7UUFFWiwyQkFBMkI7UUFDM0IsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxRSxZQUFZO1FBQ1osSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBRUQscUJBQXFCO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGlCQUFpQixHQUFHLE1BQUEsTUFBQSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxRQUFRLDBDQUFFLEdBQUcsMENBQUUsTUFBTSwwQ0FBRSxXQUFXLENBQUM7UUFDdkUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQVUsUUFBUSxF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
@@ -19,6 +19,7 @@ const command = {
19
19
  const qdrantApi = http.create({
20
20
  baseURL: 'http://localhost:6333',
21
21
  headers: { 'Content-Type': 'application/json' },
22
+ timeout: 5000,
22
23
  });
23
24
  // 1. Fetch all collections
24
25
  const collectionsResponse = yield qdrantApi.get('/collections');
@@ -74,4 +75,4 @@ const command = {
74
75
  }),
75
76
  };
76
77
  exports.default = command;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3FkcmFudC9kZWxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFjQSxNQUFNLE9BQU8sR0FBbUI7SUFDOUIsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ1osV0FBVyxFQUFFLDZCQUE2QjtJQUMxQyxJQUFJLEVBQUUsUUFBUTtJQUNkLEdBQUcsRUFBRSxDQUFPLE9BQStCLEVBQUUsRUFBRTs7UUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXhDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUIsT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCO1FBQzNCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUM3QyxjQUFjLENBQ2YsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7WUFDdkQsS0FBSyxDQUFDLElBQUksQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsTUFBQSxNQUFBLG1CQUFtQixDQUFDLElBQUksMENBQUUsTUFBTSwwQ0FBRSxXQUFXLENBQUM7UUFDbEUsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUNqRCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQscUNBQXFDO1FBQ3JDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM5QyxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUseUNBQXlDO1lBQ2xELElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDaEQsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFbEQsd0JBQXdCO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDbkMsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsK0NBQStDLGtCQUFrQixrQ0FBa0M7WUFDNUcsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNoQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyx3QkFBd0Isa0JBQWtCLE1BQU0sQ0FBQyxDQUFDO1FBRTdFLDJCQUEyQjtRQUMzQixNQUFNLGNBQWMsR0FBRyxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQzNDLGdCQUFnQixrQkFBa0IsRUFBRSxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLDhCQUE4QixrQkFBa0IsSUFBSSxDQUFDLENBQUM7WUFDbkUsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7UUFFNUUsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNoRCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztRQUVELFlBQVk7UUFDWixPQUFPLGtCQUFrQixrQkFBa0IsRUFBRSxDQUFDO0lBQ2hELENBQUMsQ0FBQTtDQUNGLENBQUM7QUFFRixrQkFBZSxPQUFPLENBQUMifQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3FkcmFudC9kZWxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFjQSxNQUFNLE9BQU8sR0FBbUI7SUFDOUIsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ1osV0FBVyxFQUFFLDZCQUE2QjtJQUMxQyxJQUFJLEVBQUUsUUFBUTtJQUNkLEdBQUcsRUFBRSxDQUFPLE9BQStCLEVBQUUsRUFBRTs7UUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXhDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUIsT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7WUFDL0MsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCwyQkFBMkI7UUFDM0IsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQzdDLGNBQWMsQ0FDZixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVCLEtBQUssQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUN2RCxLQUFLLENBQUMsSUFBSSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7WUFDdkUsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFBLE1BQUEsbUJBQW1CLENBQUMsSUFBSSwwQ0FBRSxNQUFNLDBDQUFFLFdBQVcsQ0FBQztRQUNsRSxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQ2pELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRCxxQ0FBcUM7UUFDckMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQzlDLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLE9BQU8sRUFBRSx5Q0FBeUM7WUFDbEQsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUNoRCxPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUVsRCx3QkFBd0I7UUFDeEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUNuQyxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSwrQ0FBK0Msa0JBQWtCLGtDQUFrQztZQUM1RyxJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixrQkFBa0IsTUFBTSxDQUFDLENBQUM7UUFFN0UsMkJBQTJCO1FBQzNCLE1BQU0sY0FBYyxHQUFHLE1BQU0sU0FBUyxDQUFDLE1BQU0sQ0FDM0MsZ0JBQWdCLGtCQUFrQixFQUFFLENBQ3JDLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLGtCQUFrQixJQUFJLENBQUMsQ0FBQztZQUNuRSxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxPQUFPO1FBQ1QsQ0FBQztRQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsb0NBQW9DLGtCQUFrQixJQUFJLENBQUMsQ0FBQztRQUU1RSxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixDQUFDO1FBRUQsWUFBWTtRQUNaLE9BQU8sa0JBQWtCLGtCQUFrQixFQUFFLENBQUM7SUFDaEQsQ0FBQyxDQUFBO0NBQ0YsQ0FBQztBQUVGLGtCQUFlLE9BQU8sQ0FBQyJ9
@@ -19,6 +19,7 @@ const command = {
19
19
  const qdrantApi = http.create({
20
20
  baseURL: 'http://localhost:6333',
21
21
  headers: { 'Content-Type': 'application/json' },
22
+ timeout: 5000,
22
23
  });
23
24
  const spinner = print.spin('Fetching Qdrant statistics...');
24
25
  // 1. Fetch all collections
@@ -72,4 +73,4 @@ const command = {
72
73
  }),
73
74
  };
74
75
  exports.default = command;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvcWRyYW50L3N0YXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBMEJBLE1BQU0sT0FBTyxHQUFtQjtJQUM5QixLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDWixXQUFXLEVBQUUsNEJBQTRCO0lBQ3pDLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFOztRQUM3QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVCLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1NBQ2hELENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUU1RCwyQkFBMkI7UUFDM0IsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQzdDLGNBQWMsQ0FDZixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUN4RCxLQUFLLENBQUMsSUFBSSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7WUFDdkUsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFBLE1BQUEsbUJBQW1CLENBQUMsSUFBSSwwQ0FBRSxNQUFNLDBDQUFFLFdBQVcsQ0FBQztRQUNsRSxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQ25ELE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRWxELE1BQU0sU0FBUyxHQUFHO1lBQ2hCO2dCQUNFLFlBQVk7Z0JBQ1osUUFBUTtnQkFDUixTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsZUFBZTtnQkFDZixnQkFBZ0I7YUFDakI7U0FDRixDQUFDO1FBRUYsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFlBQVksR0FDZCxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQ25CLGdCQUFnQixVQUFVLENBQUMsSUFBSSxFQUFFLENBQ2xDLENBQUM7WUFFSixJQUFJLFlBQVksQ0FBQyxFQUFFLEtBQUksTUFBQSxZQUFZLENBQUMsSUFBSSwwQ0FBRSxNQUFNLENBQUEsRUFBRSxDQUFDO2dCQUNqRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDeEMsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDYixVQUFVLENBQUMsSUFBSTtvQkFDZixNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtvQkFDOUIsTUFBQSxNQUFNLENBQUMsYUFBYSwwQ0FBRSxRQUFRLEVBQUU7b0JBQ2hDLE1BQUEsTUFBTSxDQUFDLGNBQWMsMENBQUUsUUFBUSxFQUFFO29CQUNqQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQzFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDNUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pGLENBQUM7UUFDSCxDQUFDO1FBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDckIsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDaEQsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLENBQUM7UUFFRCxZQUFZO1FBQ1osT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFBO0NBQ0YsQ0FBQztBQUVGLGtCQUFlLE9BQU8sQ0FBQyJ9
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvcWRyYW50L3N0YXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBMEJBLE1BQU0sT0FBTyxHQUFtQjtJQUM5QixLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDWixXQUFXLEVBQUUsNEJBQTRCO0lBQ3pDLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFOztRQUM3QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVCLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1lBQy9DLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRTVELDJCQUEyQjtRQUMzQixNQUFNLG1CQUFtQixHQUFHLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FDN0MsY0FBYyxDQUNmLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxJQUFJLENBQUMsMERBQTBELENBQUMsQ0FBQztZQUN2RSxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLE1BQUEsTUFBQSxtQkFBbUIsQ0FBQyxJQUFJLDBDQUFFLE1BQU0sMENBQUUsV0FBVyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLENBQUMsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFDbkQsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFbEQsTUFBTSxTQUFTLEdBQUc7WUFDaEI7Z0JBQ0UsWUFBWTtnQkFDWixRQUFRO2dCQUNSLFNBQVM7Z0JBQ1QsVUFBVTtnQkFDVixlQUFlO2dCQUNmLGdCQUFnQjthQUNqQjtTQUNGLENBQUM7UUFFRixLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sWUFBWSxHQUNkLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FDbkIsZ0JBQWdCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FDbEMsQ0FBQztZQUVKLElBQUksWUFBWSxDQUFDLEVBQUUsS0FBSSxNQUFBLFlBQVksQ0FBQyxJQUFJLDBDQUFFLE1BQU0sQ0FBQSxFQUFFLENBQUM7Z0JBQ2pELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUN4QyxTQUFTLENBQUMsSUFBSSxDQUFDO29CQUNiLFVBQVUsQ0FBQyxJQUFJO29CQUNmLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO29CQUM5QixNQUFBLE1BQU0sQ0FBQyxhQUFhLDBDQUFFLFFBQVEsRUFBRTtvQkFDaEMsTUFBQSxNQUFNLENBQUMsY0FBYywwQ0FBRSxRQUFRLEVBQUU7b0JBQ2pDLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDMUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUM1QyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakYsQ0FBQztRQUNILENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNyQixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNoRCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztRQUVELFlBQVk7UUFDWixPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDLENBQUE7Q0FDRixDQUFDO0FBRUYsa0JBQWUsT0FBTyxDQUFDIn0=
@@ -0,0 +1,26 @@
1
+ # Directus Configuration
2
+ # Generated by lenne.tech CLI
3
+ # DO NOT COMMIT THIS FILE TO VERSION CONTROL
4
+
5
+ # Directus Version
6
+ DIRECTUS_VERSION='<%=props.version%>'
7
+
8
+ # Directus Port
9
+ DIRECTUS_PORT='<%=props.port%>'
10
+
11
+ # Directus Security Keys (KEEP THESE SECRET)
12
+ KEY='<%=props.keySecret%>'
13
+ SECRET='<%=props.adminSecret%>'
14
+
15
+ # Admin Credentials (CHANGE AFTER FIRST LOGIN)
16
+ ADMIN_EMAIL='<%=props.adminEmail%>'
17
+ ADMIN_PASSWORD='<%=props.adminPassword%>'
18
+
19
+ # Database Configuration
20
+ DB_FILENAME='<%=props.dbType === "sqlite" ? props.dbConfig.database : ""%>'
21
+ DB_DATABASE='<%=props.dbType !== "sqlite" ? props.dbConfig.database : ""%>'
22
+ DB_USER='<%=props.dbType !== "sqlite" ? props.dbConfig.user : ""%>'
23
+ DB_PASSWORD='<%=props.dbType !== "sqlite" ? props.dbConfig.password : ""%>'
24
+
25
+ # MySQL Root Password
26
+ MYSQL_ROOT_PASSWORD='<%=props.dbType === "mysql" ? props.dbConfig.adminPassword : ""%>'
@@ -0,0 +1,159 @@
1
+ # Directus Instance: <%= props.instanceName %>
2
+
3
+ Generated by [lenne.tech CLI](https://github.com/lenneTech/cli)
4
+
5
+ ## Quick Start
6
+
7
+ Start the Directus instance:
8
+ ```bash
9
+ docker-compose up -d
10
+ ```
11
+
12
+ Stop the instance:
13
+ ```bash
14
+ docker-compose down
15
+ ```
16
+
17
+ Restart the instance:
18
+ ```bash
19
+ docker-compose restart
20
+ ```
21
+
22
+ View logs:
23
+ ```bash
24
+ docker-compose logs -f
25
+ ```
26
+
27
+ View only Directus logs:
28
+ ```bash
29
+ docker-compose logs -f directus
30
+ ```
31
+
32
+ ## Access
33
+
34
+ - **URL**: http://localhost:<%= props.port %>
35
+ - **Admin Email**: admin@example.com
36
+ - **Admin Password**: admin
37
+
38
+ **⚠️ IMPORTANT**: Change the admin password after first login!
39
+
40
+ ## Configuration
41
+
42
+ All configuration is stored in the `.env` file. You can modify:
43
+ - Directus version (`DIRECTUS_VERSION`)
44
+ - Admin credentials
45
+ - Database settings
46
+
47
+ After modifying `.env`, restart the instance:
48
+ ```bash
49
+ docker-compose down
50
+ docker-compose up -d
51
+ ```
52
+
53
+ ## Security
54
+
55
+ The `.env` file contains sensitive information:
56
+ - Security keys (KEY, SECRET)
57
+ - Admin credentials
58
+ - Database passwords
59
+
60
+ **Never commit the `.env` file to version control!**
61
+
62
+ ## Volumes
63
+
64
+ The following Docker volumes are created for persistent data:
65
+ - `uploads` - User uploaded files
66
+ - `extensions` - Directus extensions
67
+ <% if (props.dbType === 'sqlite') { -%>
68
+ - `database` - SQLite database file
69
+ <% } else { -%>
70
+ - `db-data` - Database data
71
+ <% } -%>
72
+
73
+ ## Backup
74
+
75
+ To backup your Directus instance:
76
+
77
+ 1. **Backup volumes**:
78
+ ```bash
79
+ docker-compose down
80
+ docker run --rm -v <%= props.instanceName %>-uploads:/data -v $(pwd):/backup alpine tar czf /backup/uploads-backup.tar.gz /data
81
+ docker run --rm -v <%= props.instanceName %>-extensions:/data -v $(pwd):/backup alpine tar czf /backup/extensions-backup.tar.gz /data
82
+ <% if (props.dbType === 'sqlite') { -%>
83
+ docker run --rm -v <%= props.instanceName %>-database:/data -v $(pwd):/backup alpine tar czf /backup/database-backup.tar.gz /data
84
+ <% } else if (props.dbType === 'postgres') { -%>
85
+ docker run --rm -v <%= props.instanceName %>-db-data:/data -v $(pwd):/backup alpine tar czf /backup/db-backup.tar.gz /data
86
+ <% } else if (props.dbType === 'mysql') { -%>
87
+ docker run --rm -v <%= props.instanceName %>-db-data:/data -v $(pwd):/backup alpine tar czf /backup/db-backup.tar.gz /data
88
+ <% } -%>
89
+ ```
90
+
91
+ 2. **Backup `.env` file**:
92
+ ```bash
93
+ cp .env .env.backup
94
+ ```
95
+
96
+ ## Troubleshooting
97
+
98
+ ### Port already in use
99
+ If the port is already in use, update `DIRECTUS_PORT` in `.env`, then restart:
100
+ ```bash
101
+ docker-compose down
102
+ docker-compose up -d
103
+ ```
104
+
105
+ ### Database connection issues
106
+ Check if the database container is healthy:
107
+ ```bash
108
+ docker-compose ps
109
+ ```
110
+
111
+ View database logs:
112
+ ```bash
113
+ docker-compose logs <%= props.dbType %>
114
+ ```
115
+
116
+ ### Reset instance
117
+ To completely reset the instance (⚠️ DELETES ALL DATA):
118
+ ```bash
119
+ docker-compose down -v
120
+ docker-compose up -d
121
+ ```
122
+
123
+ ## Update Directus Version
124
+
125
+ **⚠️ WARNING**: Changing Directus versions may require database migrations. Major version changes often need a fresh database.
126
+
127
+ ### For minor/patch updates (e.g., 10.0.0 → 10.0.1):
128
+ 1. Edit `.env` and change `DIRECTUS_VERSION`
129
+ 2. Pull the new image and restart:
130
+ ```bash
131
+ docker-compose pull
132
+ docker-compose down
133
+ docker-compose up -d
134
+ ```
135
+
136
+ ### For major updates (e.g., 10.x → 11.x):
137
+ **Recommended**: Create a backup first, then recreate with fresh volumes:
138
+ ```bash
139
+ # Backup (see Backup section above)
140
+ docker-compose down -v
141
+ # Edit .env with new version
142
+ docker-compose up -d
143
+ ```
144
+
145
+ **Note**: This will delete all data. Always backup before major version changes!
146
+
147
+ ## Remove Instance
148
+
149
+ To completely remove this instance:
150
+ ```bash
151
+ docker-compose down -v
152
+ cd ..
153
+ rm -rf <%= props.instanceName %>
154
+ ```
155
+
156
+ ## More Information
157
+
158
+ - [Directus Documentation](https://docs.directus.io/)
159
+ - [Docker Compose Documentation](https://docs.docker.com/compose/)
@@ -0,0 +1,81 @@
1
+ version: "3.8"
2
+
3
+ services:
4
+ <% if (props.dbType !== 'sqlite') { -%>
5
+ <%= props.dbType %>:
6
+ image: <%= props.dbConfig.image %>
7
+ container_name: <%= props.instanceName %>-<%= props.dbType %>
8
+ environment:
9
+ <% if (props.dbType === 'postgres') { -%>
10
+ POSTGRES_USER: ${DB_USER}
11
+ POSTGRES_PASSWORD: ${DB_PASSWORD}
12
+ POSTGRES_DB: ${DB_DATABASE}
13
+ <% } else if (props.dbType === 'mysql') { -%>
14
+ MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
15
+ MYSQL_DATABASE: ${DB_DATABASE}
16
+ MYSQL_USER: ${DB_USER}
17
+ MYSQL_PASSWORD: ${DB_PASSWORD}
18
+ <% } -%>
19
+ volumes:
20
+ - db-data:<%= props.dbType === 'postgres' ? '/var/lib/postgresql/data' : '/var/lib/mysql' %>
21
+ networks:
22
+ - directus-net
23
+ restart: unless-stopped
24
+ healthcheck:
25
+ <% if (props.dbType === 'postgres') { -%>
26
+ test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"]
27
+ <% } else if (props.dbType === 'mysql') { -%>
28
+ test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
29
+ <% } -%>
30
+ interval: 10s
31
+ timeout: 5s
32
+ retries: 5
33
+
34
+ <% } -%>
35
+ directus:
36
+ image: directus/directus:${DIRECTUS_VERSION}
37
+ container_name: <%= props.instanceName %>
38
+ ports:
39
+ - "${DIRECTUS_PORT}:8055"
40
+ environment:
41
+ KEY: ${KEY}
42
+ SECRET: ${SECRET}
43
+ ADMIN_EMAIL: ${ADMIN_EMAIL}
44
+ ADMIN_PASSWORD: ${ADMIN_PASSWORD}
45
+ DB_CLIENT: <%= props.dbConfig.client %>
46
+ <% if (props.dbType === 'sqlite') { -%>
47
+ DB_FILENAME: ${DB_FILENAME}
48
+ <% } else { -%>
49
+ DB_HOST: <%= props.dbType %>
50
+ DB_PORT: <%= props.dbConfig.port %>
51
+ DB_DATABASE: ${DB_DATABASE}
52
+ DB_USER: ${DB_USER}
53
+ DB_PASSWORD: ${DB_PASSWORD}
54
+ <% } -%>
55
+ WEBSOCKETS_ENABLED: true
56
+ volumes:
57
+ - uploads:/directus/uploads
58
+ - extensions:/directus/extensions
59
+ <% if (props.dbType === 'sqlite') { -%>
60
+ - database:/directus/database
61
+ <% } -%>
62
+ networks:
63
+ - directus-net
64
+ <% if (props.dbType !== 'sqlite') { -%>
65
+ depends_on:
66
+ <%= props.dbType %>:
67
+ condition: service_healthy
68
+ <% } -%>
69
+ restart: unless-stopped
70
+
71
+ volumes:
72
+ <% if (props.dbType !== 'sqlite') { -%>
73
+ db-data:
74
+ <% } else { -%>
75
+ database:
76
+ <% } -%>
77
+ uploads:
78
+ extensions:
79
+
80
+ networks:
81
+ directus-net: