@objectql/cli 4.1.0 → 4.2.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.
Files changed (42) hide show
  1. package/README.md +47 -249
  2. package/dist/commands/doctor.d.ts +5 -1
  3. package/dist/commands/doctor.js +6 -13
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/migrate.js +3 -16
  6. package/dist/commands/migrate.js.map +1 -1
  7. package/dist/commands/repl.js +3 -18
  8. package/dist/commands/repl.js.map +1 -1
  9. package/dist/commands/sync.js +2 -19
  10. package/dist/commands/sync.js.map +1 -1
  11. package/dist/index.js +6 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/register/database.js +2 -2
  14. package/dist/register/database.js.map +1 -1
  15. package/dist/register/lifecycle.js +14 -26
  16. package/dist/register/lifecycle.js.map +1 -1
  17. package/dist/register/tools.js +4 -3
  18. package/dist/register/tools.js.map +1 -1
  19. package/dist/utils/config-loader.d.ts +22 -0
  20. package/dist/utils/config-loader.js +98 -0
  21. package/dist/utils/config-loader.js.map +1 -0
  22. package/dist/{commands/serve.d.ts → utils/objectstack-cli.d.ts} +2 -7
  23. package/dist/utils/objectstack-cli.js +42 -0
  24. package/dist/utils/objectstack-cli.js.map +1 -0
  25. package/package.json +9 -12
  26. package/templates/hello-world/CHANGELOG.md +8 -0
  27. package/templates/hello-world/package.json +1 -1
  28. package/templates/starter/CHANGELOG.md +10 -0
  29. package/templates/starter/package.json +2 -5
  30. package/templates/starter/tsconfig.json +1 -1
  31. package/dist/commands/dev.d.ts +0 -18
  32. package/dist/commands/dev.js +0 -118
  33. package/dist/commands/dev.js.map +0 -1
  34. package/dist/commands/init.d.ts +0 -16
  35. package/dist/commands/init.js +0 -210
  36. package/dist/commands/init.js.map +0 -1
  37. package/dist/commands/serve.js +0 -218
  38. package/dist/commands/serve.js.map +0 -1
  39. package/dist/commands/start.d.ts +0 -19
  40. package/dist/commands/start.js +0 -144
  41. package/dist/commands/start.js.map +0 -1
  42. package/templates/starter/jest.config.js +0 -33
@@ -1,118 +0,0 @@
1
- "use strict";
2
- /**
3
- * ObjectQL
4
- * Copyright (c) 2026-present ObjectStack Inc.
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.dev = dev;
47
- const serve_1 = require("./serve");
48
- const generate_1 = require("./generate");
49
- const chalk_1 = __importDefault(require("chalk"));
50
- const fs = __importStar(require("fs"));
51
- const path = __importStar(require("path"));
52
- /**
53
- * Start development server with hot reload
54
- * This is an enhanced version of the serve command for development workflow
55
- */
56
- async function dev(options) {
57
- console.log(chalk_1.default.cyan('šŸš€ Starting ObjectQL Development Server...'));
58
- const sourceDir = path.resolve(process.cwd(), options.dir || '.');
59
- // Output types to the source directory under 'generated' folder
60
- const typeOutputDir = path.join(sourceDir, 'generated');
61
- // 1. Initial Type Generation
62
- try {
63
- await (0, generate_1.generateTypes)(sourceDir, typeOutputDir);
64
- }
65
- catch (e) {
66
- console.error(chalk_1.default.red('Initial type generation failed:'), e);
67
- // Continue anyway, maybe it's just a starting project
68
- }
69
- // 2. Setup Watcher (Before serve, in case serve blocks)
70
- if (options.watch !== false) {
71
- startWatcher(sourceDir, typeOutputDir);
72
- }
73
- console.log(chalk_1.default.blue(`\n🌐 Server context: ${sourceDir}`));
74
- console.log(chalk_1.default.blue(`šŸ“ Type output: ${typeOutputDir}`));
75
- // 3. Start Server
76
- await (0, serve_1.serve)({
77
- port: options.port,
78
- dir: options.dir,
79
- config: options.config,
80
- modules: options.modules
81
- });
82
- }
83
- let debounceTimer = null;
84
- function startWatcher(sourceDir, outputDir) {
85
- console.log(chalk_1.default.yellow('šŸ‘€ Watching for metadata changes...'));
86
- try {
87
- // Recursive watch
88
- const watcher = fs.watch(sourceDir, { recursive: true }, (eventType, filename) => {
89
- if (!filename)
90
- return;
91
- // Ignore generated directory to prevent loops if output is inside source
92
- if (filename.includes('generated') || filename.includes('node_modules') || filename.includes('.git')) {
93
- return;
94
- }
95
- // Only care about YAML
96
- if (filename.endsWith('.yml') || filename.endsWith('.yaml')) {
97
- // Debounce
98
- if (debounceTimer)
99
- clearTimeout(debounceTimer);
100
- debounceTimer = setTimeout(async () => {
101
- console.log(chalk_1.default.gray(`\nšŸ“ Change detected: ${filename}`));
102
- try {
103
- console.log(chalk_1.default.blue('āš”ļø Regenerating types...'));
104
- await (0, generate_1.generateTypes)(sourceDir, outputDir);
105
- }
106
- catch (e) {
107
- console.error(chalk_1.default.red('Type generation failed:'), e);
108
- }
109
- }, 500);
110
- }
111
- });
112
- watcher.on('error', (e) => console.error(chalk_1.default.red('Watcher error:'), e));
113
- }
114
- catch (e) {
115
- console.warn(chalk_1.default.yellow('Native recursive watch not supported or failed. Watching root only.'));
116
- }
117
- }
118
- //# sourceMappingURL=dev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * ObjectQL
3
- * Copyright (c) 2026-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- interface InitOptions {
9
- template?: string;
10
- name?: string;
11
- dir?: string;
12
- skipInstall?: boolean;
13
- skipGit?: boolean;
14
- }
15
- export declare function initProject(options: InitOptions): Promise<void>;
16
- export {};
@@ -1,210 +0,0 @@
1
- "use strict";
2
- /**
3
- * ObjectQL
4
- * Copyright (c) 2026-present ObjectStack Inc.
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.initProject = initProject;
47
- const fs = __importStar(require("fs"));
48
- const path = __importStar(require("path"));
49
- const child_process_1 = require("child_process");
50
- const util_1 = require("util");
51
- const chalk_1 = __importDefault(require("chalk"));
52
- const execAsync = (0, util_1.promisify)(child_process_1.exec);
53
- const TEMPLATES = {
54
- 'hello-world': 'hello-world',
55
- 'starter': 'project-tracker'
56
- };
57
- async function initProject(options) {
58
- const projectName = options.name || 'my-objectql-project';
59
- const targetDir = options.dir || path.join(process.cwd(), projectName);
60
- const template = (options.template || 'starter');
61
- if (!TEMPLATES[template]) {
62
- console.error(chalk_1.default.red(`āŒ Unknown template: ${template}`));
63
- console.log(chalk_1.default.gray(`Available templates: ${Object.keys(TEMPLATES).join(', ')}`));
64
- process.exit(1);
65
- }
66
- console.log(chalk_1.default.blue(`\nšŸš€ Initializing ObjectQL project: ${chalk_1.default.bold(projectName)}`));
67
- console.log(chalk_1.default.gray(`Template: ${template}`));
68
- console.log(chalk_1.default.gray(`Directory: ${targetDir}\n`));
69
- // Check if directory exists
70
- if (fs.existsSync(targetDir)) {
71
- console.error(chalk_1.default.red(`āŒ Directory already exists: ${targetDir}`));
72
- process.exit(1);
73
- }
74
- // Create project directory
75
- fs.mkdirSync(targetDir, { recursive: true });
76
- try {
77
- // Copy embedded template
78
- const templateName = TEMPLATES[template];
79
- // Must resolve relative to the dist/commands folder structure
80
- const sourcePath = path.resolve(__dirname, '../../templates', templateName);
81
- if (!fs.existsSync(sourcePath)) {
82
- // Fallback for development (running directly from src)
83
- // If running via ts-node in dev, structure might be different
84
- throw new Error(`Template not found at ${sourcePath}. Please check your CLI installation.`);
85
- }
86
- console.log(chalk_1.default.cyan(`ā¬‡ļø Creating project from embedded template...`));
87
- await copyDirectory(sourcePath, targetDir, ['node_modules', 'dist', '.git']);
88
- console.log(chalk_1.default.green('āœ… Template created successfully.'));
89
- // Update package.json with project name
90
- const pkgPath = path.join(targetDir, 'package.json');
91
- if (fs.existsSync(pkgPath)) {
92
- const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
93
- pkg.name = projectName;
94
- pkg.version = '0.1.0';
95
- // Note: Since we are using examples from the monorepo,
96
- // they might have "workspace:*" protocols.
97
- // We should replace them with "latest" or a specific version for end users.
98
- const replaceWorkspaceVersion = (deps) => {
99
- for (const dep of Object.keys(deps)) {
100
- if (deps[dep] === 'workspace:*') {
101
- // For public release, this should match the current CLI version or latest
102
- deps[dep] = 'latest';
103
- }
104
- }
105
- };
106
- if (pkg.dependencies)
107
- replaceWorkspaceVersion(pkg.dependencies);
108
- if (pkg.devDependencies)
109
- replaceWorkspaceVersion(pkg.devDependencies); // Often peerDeps in examples
110
- // Make public for the user's new project
111
- delete pkg.private;
112
- // Reset repository field as it will be a new repo
113
- delete pkg.repository;
114
- fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));
115
- }
116
- // Initialize git repository
117
- if (!options.skipGit) {
118
- try {
119
- console.log(chalk_1.default.gray('\nInitializing git repository...'));
120
- await execAsync('git init', { cwd: targetDir });
121
- // Create .gitignore if it doesn't exist
122
- const gitignorePath = path.join(targetDir, '.gitignore');
123
- if (!fs.existsSync(gitignorePath)) {
124
- const gitignore = `node_modules/
125
- dist/
126
- *.log
127
- .DS_Store
128
- *.sqlite3
129
- .env
130
- .env.local
131
- `;
132
- fs.writeFileSync(gitignorePath, gitignore);
133
- }
134
- console.log(chalk_1.default.green('āœ“ Git repository initialized'));
135
- }
136
- catch (err) {
137
- console.log(chalk_1.default.yellow('⚠ Git initialization skipped (git not available)'));
138
- }
139
- }
140
- // Install dependencies
141
- if (!options.skipInstall) {
142
- console.log(chalk_1.default.gray('\nInstalling dependencies...'));
143
- console.log(chalk_1.default.gray('This might take a few minutes...\n'));
144
- try {
145
- // Try pnpm first, fall back to npm
146
- const hasNpm = await checkCommand('pnpm');
147
- const packageManager = hasNpm ? 'pnpm' : 'npm';
148
- await execAsync(`${packageManager} install`, {
149
- cwd: targetDir,
150
- // Show output in real-time would be better, but this is simpler
151
- });
152
- console.log(chalk_1.default.green(`āœ“ Dependencies installed with ${packageManager}`));
153
- }
154
- catch (err) {
155
- console.log(chalk_1.default.yellow(`⚠ Failed to install dependencies: ${err.message}`));
156
- console.log(chalk_1.default.gray(`You can install them manually by running:`));
157
- console.log(chalk_1.default.gray(` cd ${projectName} && npm install`));
158
- }
159
- }
160
- // Success message
161
- console.log(chalk_1.default.green('\nāœ… Project created successfully!\n'));
162
- console.log(chalk_1.default.bold('Next steps:'));
163
- console.log(chalk_1.default.gray(` cd ${projectName}`));
164
- if (options.skipInstall) {
165
- console.log(chalk_1.default.gray(' pnpm install # or npm install'));
166
- }
167
- console.log(chalk_1.default.gray(' pnpm run build'));
168
- console.log(chalk_1.default.gray(' pnpm run repl\n'));
169
- console.log(chalk_1.default.blue('šŸ“š Documentation: https://github.com/objectql/objectql'));
170
- }
171
- catch (error) {
172
- console.error(chalk_1.default.red(`\nāŒ Failed to create project: ${error.message}`));
173
- // Clean up
174
- if (fs.existsSync(targetDir)) {
175
- fs.rmSync(targetDir, { recursive: true, force: true });
176
- }
177
- process.exit(1);
178
- }
179
- }
180
- async function copyDirectory(src, dest, ignore = []) {
181
- // Create destination directory
182
- if (!fs.existsSync(dest)) {
183
- fs.mkdirSync(dest, { recursive: true });
184
- }
185
- const entries = fs.readdirSync(src, { withFileTypes: true });
186
- for (const entry of entries) {
187
- const srcPath = path.join(src, entry.name);
188
- const destPath = path.join(dest, entry.name);
189
- // Skip ignored directories
190
- if (ignore.includes(entry.name)) {
191
- continue;
192
- }
193
- if (entry.isDirectory()) {
194
- await copyDirectory(srcPath, destPath, ignore);
195
- }
196
- else {
197
- fs.copyFileSync(srcPath, destPath);
198
- }
199
- }
200
- }
201
- async function checkCommand(cmd) {
202
- try {
203
- await execAsync(`${cmd} --version`);
204
- return true;
205
- }
206
- catch {
207
- return false;
208
- }
209
- }
210
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,218 +0,0 @@
1
- "use strict";
2
- /**
3
- * ObjectQL
4
- * Copyright (c) 2026-present ObjectStack Inc.
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.serve = serve;
47
- const core_1 = require("@objectql/core");
48
- const driver_sql_1 = require("@objectql/driver-sql");
49
- const platform_node_1 = require("@objectql/platform-node");
50
- const path = __importStar(require("path"));
51
- const fs = __importStar(require("fs"));
52
- const chalk_1 = __importDefault(require("chalk"));
53
- const SCALAR_HTML = `
54
- <!DOCTYPE html>
55
- <html>
56
- <head>
57
- <title>ObjectQL API Reference</title>
58
- <meta charset="utf-8" />
59
- <meta name="viewport" content="width=device-width, initial-scale=1" />
60
- <style>
61
- body { margin: 0; }
62
- </style>
63
- </head>
64
- <body>
65
- <script
66
- id="api-reference"
67
- data-url="/openapi.json"
68
- data-proxy-url="https://proxy.scalar.com"
69
- data-configuration='{"theme": "deepSpace"}'
70
- ></script>
71
- <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
72
- </body>
73
- </html>
74
- `;
75
- async function serve(options) {
76
- var _a, _b;
77
- console.log(chalk_1.default.blue('Starting ObjectQL Dev Server...'));
78
- const rootDir = path.resolve(process.cwd(), options.dir);
79
- console.log(chalk_1.default.gray(`Loading schema from: ${rootDir}`));
80
- // Try to load configuration
81
- let config = null;
82
- const configPath = options.config || path.join(process.cwd(), 'objectql.config.ts');
83
- if (fs.existsSync(configPath)) {
84
- try {
85
- console.log(chalk_1.default.gray(`Loading config from: ${configPath}`));
86
- if (configPath.endsWith('.ts')) {
87
- require('ts-node/register');
88
- }
89
- const loaded = require(configPath);
90
- config = loaded.default || loaded;
91
- }
92
- catch (e) {
93
- console.warn(chalk_1.default.yellow(`āš ļø Failed to load config: ${e.message}`));
94
- }
95
- }
96
- else if (options.config) {
97
- console.error(chalk_1.default.red(`āŒ Config file not found: ${options.config}`));
98
- process.exit(1);
99
- }
100
- // Process modules override
101
- if (options.modules) {
102
- const moduleList = options.modules.split(',').map(p => p.trim());
103
- if (!config)
104
- config = {};
105
- config.modules = moduleList;
106
- console.log(chalk_1.default.yellow(`āš ļø Overriding modules: ${moduleList.join(', ')}`));
107
- }
108
- const loadedConfig = ((_a = config === null || config === void 0 ? void 0 : config.datasource) === null || _a === void 0 ? void 0 : _a.default) || ((_b = config === null || config === void 0 ? void 0 : config.datasources) === null || _b === void 0 ? void 0 : _b.default);
109
- let datasourceValue = loadedConfig;
110
- // Normalize config if it uses simplified format (type: 'sqlite')
111
- if (loadedConfig && !loadedConfig.client && loadedConfig.type === 'sqlite') {
112
- datasourceValue = {
113
- client: 'sqlite3',
114
- connection: {
115
- filename: loadedConfig.filename || ':memory:'
116
- },
117
- useNullAsDefault: true
118
- };
119
- }
120
- const datasource = datasourceValue || {
121
- client: 'sqlite3',
122
- connection: {
123
- filename: ':memory:'
124
- },
125
- useNullAsDefault: true
126
- };
127
- // 1. Init ObjectQL
128
- const app = new core_1.ObjectQL({
129
- datasources: {
130
- default: new driver_sql_1.SqlDriver(datasource)
131
- },
132
- ...config
133
- });
134
- // 2. Load Schema
135
- try {
136
- const loader = new platform_node_1.ObjectLoader(app.metadata);
137
- // Load modules first (if any)
138
- // Backwards compatibility for presets
139
- const modulesToLoad = (config === null || config === void 0 ? void 0 : config.modules) || (config === null || config === void 0 ? void 0 : config.presets);
140
- if (modulesToLoad) {
141
- await (0, platform_node_1.loadModules)(loader, modulesToLoad);
142
- }
143
- // Load project source
144
- loader.load(rootDir);
145
- await app.init();
146
- console.log(chalk_1.default.green('āœ… Schema loaded successfully.'));
147
- }
148
- catch (e) {
149
- console.error(chalk_1.default.red('āŒ Failed to load schema:'), e.message);
150
- process.exit(1);
151
- }
152
- // 3. Create Handler
153
- // const internalHandler = createNodeHandler(app);
154
- // const graphqlHandler = createGraphQLHandler(app);
155
- throw new Error('This command is deprecated. Please use "objectstack serve" instead.');
156
- // 4. Start Server
157
- /*
158
- const server = createServer(async (req, res) => {
159
- // Serve API Docs at Root (Default)
160
- if (req.method === 'GET' && (req.url === '/' || req.url === '/docs' || req.url === '/docs/')) {
161
- res.writeHead(200, { 'Content-Type': 'text/html' });
162
- res.end(SCALAR_HTML);
163
- return;
164
- }
165
-
166
- // GraphQL Endpoint & Playground (Keep for compatibility)
167
- if (req.url === '/graphql' || req.url === '/graphql/') {
168
- await graphqlHandler(req, res);
169
- return;
170
- }
171
-
172
- // Keep /api/graphql as alias for compatibility
173
- if (req.url?.startsWith('/api/graphql')) {
174
- await graphqlHandler(req, res);
175
- return;
176
- }
177
-
178
- // Delegate to API Handler
179
- await internalHandler(req, res);
180
- });
181
-
182
- // Auto-port detection logic
183
- const startPort = options.port;
184
- const tryListen = (port: number, attempt = 0) => {
185
- if (attempt > 10) {
186
- console.error(chalk.red(`āŒ Unable to find a free port after 10 attempts.`));
187
- process.exit(1);
188
- }
189
-
190
- const onError = (e: any) => {
191
- if (e.code === 'EADDRINUSE') {
192
- console.log(chalk.yellow(`āš ļø Port ${port} is in use, trying ${port + 1}...`));
193
- // Wait a tick before retrying to let the socket cleanup if needed, though usually not needed for EADDRINUSE on listen
194
- setTimeout(() => {
195
- server.close(); // Ensure previous attempt is closed
196
- tryListen(port + 1, attempt + 1);
197
- }, 100);
198
- } else {
199
- console.error(chalk.red('āŒ Server error:'), e);
200
- }
201
- };
202
-
203
- server.once('error', onError);
204
-
205
- server.listen(port, () => {
206
- server.removeListener('error', onError);
207
- console.log(chalk.green(`\nšŸš€ Server ready at http://localhost:${port}`));
208
- console.log(chalk.blue(`šŸ“– API Docs (Scalar): http://localhost:${port}/`));
209
-
210
- console.log(chalk.gray('\nTry a curl command:'));
211
- console.log(`curl -X POST http://localhost:${port} -H "Content-Type: application/json" -d '{"op": "find", "object": "tasks", "args": {}}'`);
212
- });
213
- };
214
-
215
- tryListen(startPort);
216
- */
217
- }
218
- //# sourceMappingURL=serve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * ObjectQL
3
- * Copyright (c) 2026-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- interface StartOptions {
9
- port: number;
10
- dir: string;
11
- config?: string;
12
- modules?: string;
13
- }
14
- /**
15
- * Start production server
16
- * Loads configuration from objectql.config.ts/js if available
17
- */
18
- export declare function start(options: StartOptions): Promise<void>;
19
- export {};