@objectql/cli 1.6.1 → 1.7.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.
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.initProject = initProject;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const child_process_1 = require("child_process");
43
+ const util_1 = require("util");
44
+ const chalk_1 = __importDefault(require("chalk"));
45
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
46
+ const TEMPLATES = {
47
+ basic: '@objectql/starter-basic',
48
+ 'express-api': '@objectql/starter-express-api',
49
+ enterprise: '@objectql/starter-enterprise'
50
+ };
51
+ async function initProject(options) {
52
+ const projectName = options.name || 'my-objectql-project';
53
+ const targetDir = options.dir || path.join(process.cwd(), projectName);
54
+ const template = (options.template || 'basic');
55
+ if (!TEMPLATES[template]) {
56
+ console.error(chalk_1.default.red(`āŒ Unknown template: ${template}`));
57
+ console.log(chalk_1.default.gray(`Available templates: ${Object.keys(TEMPLATES).join(', ')}`));
58
+ process.exit(1);
59
+ }
60
+ console.log(chalk_1.default.blue(`\nšŸš€ Initializing ObjectQL project: ${chalk_1.default.bold(projectName)}`));
61
+ console.log(chalk_1.default.gray(`Template: ${template}`));
62
+ console.log(chalk_1.default.gray(`Directory: ${targetDir}\n`));
63
+ // Check if directory exists
64
+ if (fs.existsSync(targetDir)) {
65
+ console.error(chalk_1.default.red(`āŒ Directory already exists: ${targetDir}`));
66
+ process.exit(1);
67
+ }
68
+ // Create project directory
69
+ fs.mkdirSync(targetDir, { recursive: true });
70
+ try {
71
+ // Copy template files from starters
72
+ const templatePath = path.join(__dirname, '../../../../starters', template);
73
+ // Check if we're in the monorepo (for development)
74
+ if (fs.existsSync(templatePath)) {
75
+ console.log(chalk_1.default.gray('Copying template files...'));
76
+ await copyDirectory(templatePath, targetDir, ['node_modules', 'dist', '.git']);
77
+ }
78
+ else {
79
+ // Try to use the published package
80
+ console.log(chalk_1.default.gray(`Installing template from npm: ${TEMPLATES[template]}...`));
81
+ await execAsync(`npm create ${TEMPLATES[template]} ${targetDir}`, {
82
+ cwd: process.cwd()
83
+ });
84
+ }
85
+ // Update package.json with project name
86
+ const pkgPath = path.join(targetDir, 'package.json');
87
+ if (fs.existsSync(pkgPath)) {
88
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
89
+ pkg.name = projectName;
90
+ pkg.version = '0.1.0';
91
+ // Convert workspace dependencies to actual versions for standalone project
92
+ if (pkg.dependencies) {
93
+ for (const dep of Object.keys(pkg.dependencies)) {
94
+ if (pkg.dependencies[dep] === 'workspace:*') {
95
+ pkg.dependencies[dep] = '^1.0.0'; // Use latest published version
96
+ }
97
+ }
98
+ }
99
+ if (pkg.devDependencies) {
100
+ for (const dep of Object.keys(pkg.devDependencies)) {
101
+ if (pkg.devDependencies[dep] === 'workspace:*') {
102
+ pkg.devDependencies[dep] = '^1.0.0';
103
+ }
104
+ }
105
+ }
106
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));
107
+ }
108
+ // Initialize git repository
109
+ if (!options.skipGit) {
110
+ try {
111
+ console.log(chalk_1.default.gray('\nInitializing git repository...'));
112
+ await execAsync('git init', { cwd: targetDir });
113
+ // Create .gitignore if it doesn't exist
114
+ const gitignorePath = path.join(targetDir, '.gitignore');
115
+ if (!fs.existsSync(gitignorePath)) {
116
+ const gitignore = `node_modules/
117
+ dist/
118
+ *.log
119
+ .DS_Store
120
+ *.sqlite3
121
+ .env
122
+ .env.local
123
+ `;
124
+ fs.writeFileSync(gitignorePath, gitignore);
125
+ }
126
+ console.log(chalk_1.default.green('āœ“ Git repository initialized'));
127
+ }
128
+ catch (err) {
129
+ console.log(chalk_1.default.yellow('⚠ Git initialization skipped (git not available)'));
130
+ }
131
+ }
132
+ // Install dependencies
133
+ if (!options.skipInstall) {
134
+ console.log(chalk_1.default.gray('\nInstalling dependencies...'));
135
+ console.log(chalk_1.default.gray('This might take a few minutes...\n'));
136
+ try {
137
+ // Try pnpm first, fall back to npm
138
+ const hasNpm = await checkCommand('pnpm');
139
+ const packageManager = hasNpm ? 'pnpm' : 'npm';
140
+ await execAsync(`${packageManager} install`, {
141
+ cwd: targetDir,
142
+ // Show output in real-time would be better, but this is simpler
143
+ });
144
+ console.log(chalk_1.default.green(`āœ“ Dependencies installed with ${packageManager}`));
145
+ }
146
+ catch (err) {
147
+ console.log(chalk_1.default.yellow(`⚠ Failed to install dependencies: ${err.message}`));
148
+ console.log(chalk_1.default.gray(`You can install them manually by running:`));
149
+ console.log(chalk_1.default.gray(` cd ${projectName} && npm install`));
150
+ }
151
+ }
152
+ // Success message
153
+ console.log(chalk_1.default.green('\nāœ… Project created successfully!\n'));
154
+ console.log(chalk_1.default.bold('Next steps:'));
155
+ console.log(chalk_1.default.gray(` cd ${projectName}`));
156
+ if (options.skipInstall) {
157
+ console.log(chalk_1.default.gray(' pnpm install # or npm install'));
158
+ }
159
+ console.log(chalk_1.default.gray(' pnpm run build'));
160
+ console.log(chalk_1.default.gray(' pnpm run repl\n'));
161
+ console.log(chalk_1.default.blue('šŸ“š Documentation: https://github.com/objectql/objectql'));
162
+ }
163
+ catch (error) {
164
+ console.error(chalk_1.default.red(`\nāŒ Failed to create project: ${error.message}`));
165
+ // Clean up
166
+ if (fs.existsSync(targetDir)) {
167
+ fs.rmSync(targetDir, { recursive: true, force: true });
168
+ }
169
+ process.exit(1);
170
+ }
171
+ }
172
+ async function copyDirectory(src, dest, ignore = []) {
173
+ // Create destination directory
174
+ if (!fs.existsSync(dest)) {
175
+ fs.mkdirSync(dest, { recursive: true });
176
+ }
177
+ const entries = fs.readdirSync(src, { withFileTypes: true });
178
+ for (const entry of entries) {
179
+ const srcPath = path.join(src, entry.name);
180
+ const destPath = path.join(dest, entry.name);
181
+ // Skip ignored directories
182
+ if (ignore.includes(entry.name)) {
183
+ continue;
184
+ }
185
+ if (entry.isDirectory()) {
186
+ await copyDirectory(srcPath, destPath, ignore);
187
+ }
188
+ else {
189
+ fs.copyFileSync(srcPath, destPath);
190
+ }
191
+ }
192
+ }
193
+ async function checkCommand(cmd) {
194
+ try {
195
+ await execAsync(`${cmd} --version`);
196
+ return true;
197
+ }
198
+ catch {
199
+ return false;
200
+ }
201
+ }
202
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ interface MigrateOptions {
2
+ config?: string;
3
+ dir?: string;
4
+ }
5
+ interface MigrateCreateOptions {
6
+ name: string;
7
+ dir?: string;
8
+ }
9
+ interface MigrateStatusOptions {
10
+ config?: string;
11
+ dir?: string;
12
+ }
13
+ /**
14
+ * Run pending migrations
15
+ */
16
+ export declare function migrate(options: MigrateOptions): Promise<void>;
17
+ /**
18
+ * Create a new migration file with boilerplate code
19
+ */
20
+ export declare function migrateCreate(options: MigrateCreateOptions): Promise<void>;
21
+ /**
22
+ * Show migration status - displays pending and completed migrations
23
+ * @param options - Configuration options including config path and migrations directory
24
+ */
25
+ export declare function migrateStatus(options: MigrateStatusOptions): Promise<void>;
26
+ export {};
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.migrate = migrate;
40
+ exports.migrateCreate = migrateCreate;
41
+ exports.migrateStatus = migrateStatus;
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const chalk_1 = __importDefault(require("chalk"));
45
+ const MIGRATION_TEMPLATE = `import { ObjectQL } from '@objectql/core';
46
+
47
+ /**
48
+ * Migration: {{name}}
49
+ * Created: {{timestamp}}
50
+ */
51
+ export async function up(app: ObjectQL) {
52
+ // TODO: Implement migration logic
53
+ console.log('Running migration: {{name}}');
54
+
55
+ // Example: Add a new field to an object
56
+ // const tasks = app.getObject('tasks');
57
+ // await tasks.updateSchema({
58
+ // fields: {
59
+ // new_field: { type: 'text', label: 'New Field' }
60
+ // }
61
+ // });
62
+ }
63
+
64
+ export async function down(app: ObjectQL) {
65
+ // TODO: Implement rollback logic
66
+ console.log('Rolling back migration: {{name}}');
67
+
68
+ // Example: Remove the field
69
+ // const tasks = app.getObject('tasks');
70
+ // await tasks.updateSchema({
71
+ // fields: {
72
+ // new_field: undefined
73
+ // }
74
+ // });
75
+ }
76
+ `;
77
+ /**
78
+ * Run pending migrations
79
+ */
80
+ async function migrate(options) {
81
+ const migrationsDir = path.resolve(process.cwd(), options.dir || './migrations');
82
+ console.log(chalk_1.default.blue('šŸ”„ Running migrations...'));
83
+ console.log(chalk_1.default.gray(`Migrations directory: ${migrationsDir}\n`));
84
+ if (!fs.existsSync(migrationsDir)) {
85
+ console.log(chalk_1.default.yellow('⚠ No migrations directory found'));
86
+ console.log(chalk_1.default.gray('Create one with: objectql migrate:create --name init'));
87
+ return;
88
+ }
89
+ try {
90
+ // Load ObjectQL instance from config
91
+ const app = await loadObjectQLInstance(options.config);
92
+ // Get list of migration files
93
+ const files = fs.readdirSync(migrationsDir)
94
+ .filter(f => f.endsWith('.ts') || f.endsWith('.js'))
95
+ .sort();
96
+ if (files.length === 0) {
97
+ console.log(chalk_1.default.yellow('⚠ No migration files found'));
98
+ return;
99
+ }
100
+ // Get already run migrations
101
+ const migrations = app.getObject('_migrations');
102
+ let runMigrations = [];
103
+ try {
104
+ const result = await migrations.find({
105
+ fields: ['name'],
106
+ sort: [['created_at', 'asc']]
107
+ });
108
+ runMigrations = result.records.map((r) => r.name);
109
+ }
110
+ catch (err) {
111
+ // Migrations table doesn't exist yet, create it
112
+ console.log(chalk_1.default.gray('Creating migrations tracking table...'));
113
+ await createMigrationsTable(app);
114
+ }
115
+ // Run pending migrations
116
+ let ranCount = 0;
117
+ for (const file of files) {
118
+ const migrationName = file.replace(/\.(ts|js)$/, '');
119
+ if (runMigrations.includes(migrationName)) {
120
+ console.log(chalk_1.default.gray(`⊘ ${migrationName} (already run)`));
121
+ continue;
122
+ }
123
+ console.log(chalk_1.default.blue(`ā–¶ ${migrationName}`));
124
+ const migrationPath = path.join(migrationsDir, file);
125
+ const migration = require(migrationPath);
126
+ if (!migration.up) {
127
+ console.log(chalk_1.default.red(` āœ— No 'up' function found`));
128
+ continue;
129
+ }
130
+ try {
131
+ await migration.up(app);
132
+ // Record migration
133
+ await migrations.insert({
134
+ name: migrationName,
135
+ run_at: new Date()
136
+ });
137
+ console.log(chalk_1.default.green(` āœ“ Complete`));
138
+ ranCount++;
139
+ }
140
+ catch (error) {
141
+ console.log(chalk_1.default.red(` āœ— Failed: ${error.message}`));
142
+ throw error;
143
+ }
144
+ }
145
+ console.log(chalk_1.default.green(`\nāœ… Ran ${ranCount} migration(s)`));
146
+ }
147
+ catch (error) {
148
+ console.error(chalk_1.default.red(`āŒ Migration failed: ${error.message}`));
149
+ process.exit(1);
150
+ }
151
+ }
152
+ /**
153
+ * Create a new migration file with boilerplate code
154
+ */
155
+ async function migrateCreate(options) {
156
+ const { name } = options;
157
+ const migrationsDir = path.resolve(process.cwd(), options.dir || './migrations');
158
+ // Validate name
159
+ if (!name || !/^[a-z][a-z0-9_]*$/.test(name)) {
160
+ console.error(chalk_1.default.red('āŒ Invalid migration name. Use lowercase with underscores (e.g., add_status_field)'));
161
+ process.exit(1);
162
+ }
163
+ // Create migrations directory if it doesn't exist
164
+ if (!fs.existsSync(migrationsDir)) {
165
+ fs.mkdirSync(migrationsDir, { recursive: true });
166
+ console.log(chalk_1.default.gray(`Created directory: ${migrationsDir}`));
167
+ }
168
+ // Generate filename with timestamp
169
+ const timestamp = new Date().toISOString().replace(/[:\-T.]/g, '').slice(0, 14);
170
+ const filename = `${timestamp}_${name}.ts`;
171
+ const filePath = path.join(migrationsDir, filename);
172
+ // Create migration file from template
173
+ const content = MIGRATION_TEMPLATE
174
+ .replace(/\{\{name\}\}/g, name)
175
+ .replace(/\{\{timestamp\}\}/g, new Date().toISOString());
176
+ fs.writeFileSync(filePath, content, 'utf-8');
177
+ console.log(chalk_1.default.green(`āœ… Created migration: ${filename}`));
178
+ console.log(chalk_1.default.gray(`Path: ${filePath}`));
179
+ console.log(chalk_1.default.gray(`\nNext steps:`));
180
+ console.log(chalk_1.default.gray(` 1. Edit the migration file to add your changes`));
181
+ console.log(chalk_1.default.gray(` 2. Run: objectql migrate`));
182
+ }
183
+ /**
184
+ * Show migration status - displays pending and completed migrations
185
+ * @param options - Configuration options including config path and migrations directory
186
+ */
187
+ async function migrateStatus(options) {
188
+ const migrationsDir = path.resolve(process.cwd(), options.dir || './migrations');
189
+ console.log(chalk_1.default.blue('šŸ“Š Migration Status\n'));
190
+ if (!fs.existsSync(migrationsDir)) {
191
+ console.log(chalk_1.default.yellow('⚠ No migrations directory found'));
192
+ return;
193
+ }
194
+ try {
195
+ // Load ObjectQL instance
196
+ const app = await loadObjectQLInstance(options.config);
197
+ // Get list of migration files
198
+ const files = fs.readdirSync(migrationsDir)
199
+ .filter(f => f.endsWith('.ts') || f.endsWith('.js'))
200
+ .sort();
201
+ if (files.length === 0) {
202
+ console.log(chalk_1.default.gray('No migration files found'));
203
+ return;
204
+ }
205
+ // Get run migrations
206
+ const migrations = app.getObject('_migrations');
207
+ let runMigrations = [];
208
+ try {
209
+ const result = await migrations.find({
210
+ fields: ['name', 'run_at'],
211
+ sort: [['run_at', 'asc']]
212
+ });
213
+ runMigrations = result.records.map((r) => r.name);
214
+ }
215
+ catch (err) {
216
+ // Migrations table doesn't exist
217
+ runMigrations = [];
218
+ }
219
+ // Display status
220
+ let pendingCount = 0;
221
+ for (const file of files) {
222
+ const migrationName = file.replace(/\.(ts|js)$/, '');
223
+ const isRun = runMigrations.includes(migrationName);
224
+ if (isRun) {
225
+ console.log(chalk_1.default.green(`āœ“ ${migrationName}`));
226
+ }
227
+ else {
228
+ console.log(chalk_1.default.yellow(`ā—‹ ${migrationName} (pending)`));
229
+ pendingCount++;
230
+ }
231
+ }
232
+ console.log(chalk_1.default.blue(`\nšŸ“Š Summary:`));
233
+ console.log(chalk_1.default.gray(`Total migrations: ${files.length}`));
234
+ console.log(chalk_1.default.gray(`Run: ${files.length - pendingCount}`));
235
+ console.log(chalk_1.default.gray(`Pending: ${pendingCount}`));
236
+ }
237
+ catch (error) {
238
+ console.error(chalk_1.default.red(`āŒ Failed to get status: ${error.message}`));
239
+ process.exit(1);
240
+ }
241
+ }
242
+ async function loadObjectQLInstance(configPath) {
243
+ const cwd = process.cwd();
244
+ // Try to load from config file
245
+ let configFile = configPath;
246
+ if (!configFile) {
247
+ const potentialFiles = ['objectql.config.ts', 'objectql.config.js'];
248
+ for (const file of potentialFiles) {
249
+ if (fs.existsSync(path.join(cwd, file))) {
250
+ configFile = file;
251
+ break;
252
+ }
253
+ }
254
+ }
255
+ if (!configFile) {
256
+ throw new Error('No configuration file found (objectql.config.ts/js)');
257
+ }
258
+ // Register ts-node for TypeScript support
259
+ try {
260
+ require('ts-node').register({
261
+ transpileOnly: true,
262
+ compilerOptions: {
263
+ module: 'commonjs'
264
+ }
265
+ });
266
+ }
267
+ catch (err) {
268
+ // ts-node not available, try to load JS directly
269
+ }
270
+ const configModule = require(path.join(cwd, configFile));
271
+ const app = configModule.default || configModule.app || configModule.objectql || configModule.db;
272
+ if (!app) {
273
+ throw new Error('Config file must export an ObjectQL instance');
274
+ }
275
+ await app.init();
276
+ return app;
277
+ }
278
+ async function createMigrationsTable(app) {
279
+ // Create a system object to track migrations
280
+ app.metadata.register('object', {
281
+ name: '_migrations',
282
+ label: 'Migrations',
283
+ system: true,
284
+ fields: {
285
+ name: {
286
+ type: 'text',
287
+ label: 'Migration Name',
288
+ required: true,
289
+ unique: true
290
+ },
291
+ run_at: {
292
+ type: 'datetime',
293
+ label: 'Run At',
294
+ required: true
295
+ }
296
+ }
297
+ });
298
+ // Sync to database
299
+ await app.getObject('_migrations').sync();
300
+ }
301
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface NewOptions {
2
+ type: string;
3
+ name: string;
4
+ dir?: string;
5
+ }
6
+ export declare function newMetadata(options: NewOptions): Promise<void>;
7
+ export {};