@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,144 +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.start = start;
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
- /**
54
- * Start production server
55
- * Loads configuration from objectql.config.ts/js if available
56
- */
57
- async function start(options) {
58
- var _a, _b;
59
- console.log(chalk_1.default.blue('Starting ObjectQL Production Server...'));
60
- const rootDir = path.resolve(process.cwd(), options.dir);
61
- console.log(chalk_1.default.gray(`Loading schema from: ${rootDir}`));
62
- // Try to load configuration
63
- let config = null;
64
- const configPath = options.config || path.join(process.cwd(), 'objectql.config.ts');
65
- if (fs.existsSync(configPath)) {
66
- try {
67
- console.log(chalk_1.default.gray(`Loading config from: ${configPath}`));
68
- // Use require for .js files or ts-node for .ts files
69
- if (configPath.endsWith('.ts')) {
70
- require('ts-node/register');
71
- }
72
- const loadedModule = require(configPath);
73
- // Handle both default export and direct export
74
- config = loadedModule.default || loadedModule;
75
- }
76
- catch (e) {
77
- console.warn(chalk_1.default.yellow(`⚠️ Failed to load config: ${e.message}`));
78
- }
79
- }
80
- // Process modules override
81
- if (options.modules) {
82
- const moduleList = options.modules.split(',').map(p => p.trim());
83
- if (!config)
84
- config = {};
85
- config.modules = moduleList;
86
- console.log(chalk_1.default.yellow(`⚠️ Overriding modules: ${moduleList.join(', ')}`));
87
- }
88
- // Initialize datasource from config or use default SQLite
89
- // Note: Config files may use 'datasource' (singular) while ObjectQLConfig uses 'datasources' (plural)
90
- const datasourceConfig = ((_a = config === null || config === void 0 ? void 0 : config.datasources) === null || _a === void 0 ? void 0 : _a.default) || ((_b = config === null || config === void 0 ? void 0 : config.datasource) === null || _b === void 0 ? void 0 : _b.default) || {
91
- client: 'sqlite3',
92
- connection: {
93
- filename: process.env.DATABASE_FILE || './objectql.db'
94
- },
95
- useNullAsDefault: true
96
- };
97
- const driver = new driver_sql_1.SqlDriver(datasourceConfig);
98
- const app = new core_1.ObjectQL({
99
- datasources: { default: driver }
100
- });
101
- // Load Schema
102
- try {
103
- const loader = new platform_node_1.ObjectLoader(app.metadata);
104
- // Load modules first (if any)
105
- // Backwards compatibility for presets
106
- const modulesToLoad = (config === null || config === void 0 ? void 0 : config.modules) || (config === null || config === void 0 ? void 0 : config.presets);
107
- if (modulesToLoad) {
108
- await (0, platform_node_1.loadModules)(loader, modulesToLoad);
109
- }
110
- // Load project source
111
- loader.load(rootDir);
112
- await app.init();
113
- console.log(chalk_1.default.green('✅ Schema loaded successfully.'));
114
- }
115
- catch (e) {
116
- console.error(chalk_1.default.red('❌ Failed to load schema:'), e.message);
117
- process.exit(1);
118
- }
119
- // Create Handler
120
- // const handler = createNodeHandler(app);
121
- throw new Error('This command is deprecated. Please use "objectstack serve" instead.');
122
- /*
123
- // Start Server
124
- const server = createServer(async (req, res) => {
125
- await handler(req, res);
126
- });
127
-
128
- server.listen(options.port, () => {
129
- console.log(chalk.green(`\n✅ Server started in production mode`));
130
- console.log(chalk.green(`🚀 API endpoint: http://localhost:${options.port}`));
131
- console.log(chalk.blue(`📖 OpenAPI Spec: http://localhost:${options.port}/openapi.json`));
132
-
133
- // Handle graceful shutdown
134
- process.on('SIGTERM', () => {
135
- console.log(chalk.yellow('\n⚠️ SIGTERM received, shutting down gracefully...'));
136
- server.close(() => {
137
- console.log(chalk.green('✅ Server closed'));
138
- process.exit(0);
139
- });
140
- });
141
- });
142
- */
143
- }
144
- //# sourceMappingURL=start.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1,33 +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
-
9
- module.exports = {
10
- preset: 'ts-jest',
11
- testEnvironment: 'node',
12
- testMatch: ['**/__tests__/**/*.test.ts'],
13
- moduleNameMapper: {
14
- },
15
- transform: {
16
- '^.+\\.(t|j)sx?$': ['ts-jest', {
17
- isolatedModules: true,
18
- tsconfig: {
19
- esModuleInterop: true,
20
- allowSyntheticDefaultImports: true,
21
- allowJs: true,
22
- }
23
- }],
24
- },
25
- transformIgnorePatterns: [
26
- "/node_modules/(?!(@objectstack|.pnpm))"
27
- ],
28
- setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
29
- collectCoverageFrom: [
30
- 'src/**/*.ts',
31
- '!src/**/*.d.ts',
32
- ],
33
- };